diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index a1b6369e..05352f40 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -43,7 +43,7 @@ jobs: id: sign_mobile uses: r0adkll/sign-android-release@v1 with: - releaseDirectory: mobile/build/outputs/apk/release + releaseDirectory: app/mobile/build/outputs/apk/release signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} @@ -53,7 +53,7 @@ jobs: id: sign_tv uses: r0adkll/sign-android-release@v1 with: - releaseDirectory: tv/build/outputs/apk/release + releaseDirectory: app/tv/build/outputs/apk/release signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} @@ -63,13 +63,13 @@ jobs: uses: actions/upload-artifact@v3.0.0 with: name: mobile-release.apk - path: mobile/build/outputs/apk/release/mobile-release-unsigned-signed.apk + path: app/mobile/build/outputs/apk/release/mobile-release-unsigned-signed.apk - name: Upload TV APK uses: actions/upload-artifact@v3.0.0 with: name: tv-release.apk - path: tv/build/outputs/apk/release/tv-release-unsigned-signed.apk + path: app/tv/build/outputs/apk/release/tv-release-unsigned-signed.apk - name: Get Version & Tag id: tag_version @@ -92,7 +92,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: mobile/build/outputs/apk/release/mobile-release-unsigned-signed.apk + asset_path: app/mobile/build/outputs/apk/release/mobile-release-unsigned-signed.apk asset_name: mobile-release.apk asset_content_type: application/zip @@ -103,6 +103,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: tv/build/outputs/apk/release/tv-release-unsigned-signed.apk + asset_path: app/tv/build/outputs/apk/release/tv-release-unsigned-signed.apk asset_name: tv-release.apk asset_content_type: application/zip \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ee5b011..5052507e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,8 +36,5 @@ jobs: - name: Grant execute permission for gradlew run: chmod +x gradlew - - name: Run ktlint - run: ./gradlew ktlintCheck - - name: Build with Gradle run: ./gradlew clean assembleDebug \ No newline at end of file diff --git a/.idea/.name b/.idea/.name index 4e9f9785..5f0a2288 100644 --- a/.idea/.name +++ b/.idea/.name @@ -1 +1 @@ -ExoPlayer.kt \ No newline at end of file +AndroidManifest.xml \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 754fadd2..a32e804c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -7,16 +7,35 @@ diff --git a/data/.gitignore b/app/mobile/.gitignore similarity index 100% rename from data/.gitignore rename to app/mobile/.gitignore diff --git a/app/mobile/build.gradle.kts b/app/mobile/build.gradle.kts new file mode 100644 index 00000000..95193be2 --- /dev/null +++ b/app/mobile/build.gradle.kts @@ -0,0 +1,22 @@ +plugins { + id("indistraw-app") +} + +android { + namespace = "com.danbam.indistraw.app.mobile" + defaultConfig { + applicationId = "com.danbam.indi_straw.mobile" + versionCode = libs.versions.versionCode.get().toInt() + versionName = libs.versions.versionName.get() + } +} + +dependencies { + implementation(project(":feature:mobile:auth")) + implementation(project(":feature:mobile:funding")) + implementation(project(":feature:mobile:main")) + implementation(project(":feature:mobile:movie")) + implementation(project(":feature:mobile:navigation")) + implementation(project(":feature:mobile:profile")) + implementation(project(":feature:mobile:search")) +} \ No newline at end of file diff --git a/mobile/proguard-rules.pro b/app/mobile/proguard-rules.pro similarity index 100% rename from mobile/proguard-rules.pro rename to app/mobile/proguard-rules.pro diff --git a/mobile/src/main/AndroidManifest.xml b/app/mobile/src/main/AndroidManifest.xml similarity index 91% rename from mobile/src/main/AndroidManifest.xml rename to app/mobile/src/main/AndroidManifest.xml index e70d9fd5..bc163d7e 100644 --- a/mobile/src/main/AndroidManifest.xml +++ b/app/mobile/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ android:required="false" /> () +val libs = versionCatalog.named("libs") + +plugins { + id("com.android.application") + id("kotlin-android") + id("kotlin-kapt") + id("dagger.hilt.android.plugin") +} + +android { + compileSdk = libs.findVersion("compileSdk").get().requiredVersion.toInt() + + defaultConfig { + minSdk = libs.findVersion("minSdk").get().requiredVersion.toInt() + targetSdk = libs.findVersion("targetSdk").get().requiredVersion.toInt() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = libs.findVersion("compose").get().requiredVersion + } + hilt { + enableAggregatingTask = true + } + buildTypes { + getByName("release") { + isMinifyEnabled = true + isShrinkResources = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + packagingOptions.resources.excludes += setOf( + "META-INF/DEPENDENCIES", + "META-INF/LICENSE", + "META-INF/LICENSE.txt", + "META-INF/license.txt", + "META-INF/NOTICE", + "META-INF/NOTICE.txt", + "META-INF/INDEX.LIST", + "META-INF/notice.txt", + "META-INF/ASL2.0", + "META-INF/gradle/incremental.annotation.processors" + ) +} + +dependencies { + implementation(project(":core:di")) + implementation(project(":core:domain")) + implementation(project(":core:design-system")) + implementation(libs.findLibrary("androidx.core").get()) + implementation(libs.findLibrary("androidx.lifecycle").get()) + implementation(libs.findBundle("coroutine").get()) + implementation(libs.findBundle("compose").get()) + implementation(libs.findLibrary("accompanist.nav").get()) + implementation(libs.findLibrary("hilt").get()) + kapt(libs.findLibrary("hilt.compiler").get()) + implementation(libs.findBundle("orbit").get()) + implementation(libs.findLibrary("coil").get()) + debugImplementation(libs.findBundle("compose.debug").get()) + androidTestImplementation(libs.findLibrary("compose.test").get()) +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/indistraw-core.gradle.kts b/buildSrc/src/main/kotlin/indistraw-core.gradle.kts new file mode 100644 index 00000000..85b4b147 --- /dev/null +++ b/buildSrc/src/main/kotlin/indistraw-core.gradle.kts @@ -0,0 +1,24 @@ +val versionCatalog = project.extensions.getByType() +val libs = versionCatalog.named("libs") + +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") + id("kotlin-kapt") +} + +android { + compileSdk = libs.findVersion("compileSdk").get().requiredVersion.toInt() + + defaultConfig { + minSdk = libs.findVersion("minSdk").get().requiredVersion.toInt() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/indistraw-feature.gradle.kts b/buildSrc/src/main/kotlin/indistraw-feature.gradle.kts new file mode 100644 index 00000000..60ec1b91 --- /dev/null +++ b/buildSrc/src/main/kotlin/indistraw-feature.gradle.kts @@ -0,0 +1,50 @@ +val versionCatalog = project.extensions.getByType() +val libs = versionCatalog.named("libs") + +plugins { + id("com.android.library") + id("kotlin-kapt") + id("kotlin-android") + id("dagger.hilt.android.plugin") +} + +android { + compileSdk = libs.findVersion("compileSdk").get().requiredVersion.toInt() + + defaultConfig { + minSdk = libs.findVersion("minSdk").get().requiredVersion.toInt() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = libs.findVersion("compose").get().requiredVersion + } + hilt { + enableAggregatingTask = true + } +} + +dependencies { + implementation(project(":core:domain")) + implementation(project(":core:design-system")) + implementation(libs.findLibrary("androidx.core").get()) + implementation(libs.findLibrary("androidx.lifecycle").get()) + implementation(libs.findBundle("coroutine").get()) + implementation(libs.findBundle("compose").get()) + implementation(libs.findLibrary("accompanist.nav").get()) + implementation(libs.findLibrary("hilt").get()) + kapt(libs.findLibrary("hilt.compiler").get()) + implementation(libs.findBundle("orbit").get()) + implementation(libs.findLibrary("coil").get()) + debugImplementation(libs.findBundle("compose.debug").get()) + androidTestImplementation(libs.findLibrary("compose.test").get()) +} \ No newline at end of file diff --git a/di/.gitignore b/core/data/.gitignore similarity index 100% rename from di/.gitignore rename to core/data/.gitignore diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts new file mode 100644 index 00000000..99216ab7 --- /dev/null +++ b/core/data/build.gradle.kts @@ -0,0 +1,55 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties + +plugins { + id("indistraw-core") +} + +android { + namespace = "com.danbam.indistraw.core.data" + defaultConfig { + buildConfigField( + "String", + "BASE_URL", + gradleLocalProperties(rootDir).getProperty("BASE_URL") + ) + buildConfigField( + "String", + "ALL_IGNORE_PATH", + gradleLocalProperties(rootDir).getProperty("ALL_IGNORE_PATH") + ) + buildConfigField( + "String", + "POST_IGNORE_PATH", + gradleLocalProperties(rootDir).getProperty("POST_IGNORE_PATH") + ) + buildConfigField( + "String", + "GET_IGNORE_PATH", + gradleLocalProperties(rootDir).getProperty("GET_IGNORE_PATH") + ) + buildConfigField( + "String", + "PATCH_IGNORE_PATH", + gradleLocalProperties(rootDir).getProperty("PATCH_IGNORE_PATH") + ) + buildConfigField( + "String", + "JUSO_KEY", + gradleLocalProperties(rootDir).getProperty("JUSO_KEY") + ) + } +} + +dependencies { + implementation(project(":core:domain")) + implementation(libs.inject) + implementation(libs.room) + kapt(libs.room.compiler) + implementation(libs.bundles.retrofit) + implementation(libs.bundles.okhttp) + testImplementation(libs.okhttp.sse) + implementation(libs.paging) + testImplementation(libs.test.junit) + testImplementation(libs.test.mockito.kotlin) + testImplementation(libs.test.mockito.inline) +} \ No newline at end of file diff --git a/data/src/main/AndroidManifest.xml b/core/data/src/main/AndroidManifest.xml similarity index 100% rename from data/src/main/AndroidManifest.xml rename to core/data/src/main/AndroidManifest.xml diff --git a/data/src/main/java/com/danbam/data/local/dao/RecentSearchDAO.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/dao/RecentSearchDAO.kt similarity index 81% rename from data/src/main/java/com/danbam/data/local/dao/RecentSearchDAO.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/dao/RecentSearchDAO.kt index af474add..7f3048b5 100644 --- a/data/src/main/java/com/danbam/data/local/dao/RecentSearchDAO.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/dao/RecentSearchDAO.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.dao +package com.danbam.indistraw.core.data.local.dao import androidx.room.Dao import androidx.room.Delete @@ -6,7 +6,7 @@ import androidx.room.Insert import androidx.room.OnConflictStrategy.REPLACE import androidx.room.Query import androidx.room.Transaction -import com.danbam.data.local.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.data.local.entity.search.RecentSearchEntity @Dao interface RecentSearchDao { diff --git a/data/src/main/java/com/danbam/data/local/database/IndiStrawDataBase.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/database/IndiStrawDataBase.kt similarity index 54% rename from data/src/main/java/com/danbam/data/local/database/IndiStrawDataBase.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/database/IndiStrawDataBase.kt index 8da1b02c..05ccce0a 100644 --- a/data/src/main/java/com/danbam/data/local/database/IndiStrawDataBase.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/database/IndiStrawDataBase.kt @@ -1,9 +1,9 @@ -package com.danbam.data.local.database +package com.danbam.indistraw.core.data.local.database import androidx.room.Database import androidx.room.RoomDatabase -import com.danbam.data.local.dao.RecentSearchDao -import com.danbam.data.local.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.data.local.dao.RecentSearchDao +import com.danbam.indistraw.core.data.local.entity.search.RecentSearchEntity @Database(entities = [RecentSearchEntity::class], version = 1) abstract class IndiStrawDataBase : RoomDatabase() { diff --git a/data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSource.kt similarity index 90% rename from data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSource.kt index 07ba5ec4..fd356539 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSource.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource import java.time.LocalDateTime diff --git a/data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSourceImpl.kt similarity index 93% rename from data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSourceImpl.kt index 897add3f..61a683e4 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/AuthLocalDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/AuthLocalDataSourceImpl.kt @@ -1,6 +1,6 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource -import com.danbam.data.local.preference.AuthPreference +import com.danbam.indistraw.core.data.local.preference.AuthPreference import java.time.LocalDateTime import java.time.format.DateTimeFormatter import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSource.kt similarity index 63% rename from data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSource.kt index 3275dca9..a6867130 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSource.kt @@ -1,6 +1,7 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource + +import com.danbam.indistraw.core.data.local.entity.search.RecentSearchEntity -import com.danbam.data.local.entity.search.RecentSearchEntity interface SearchLocalDataSource { suspend fun search(recentSearchEntity: RecentSearchEntity) diff --git a/data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSourceImpl.kt similarity index 74% rename from data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSourceImpl.kt index 68235ec1..3efb68a9 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/SearchLocalDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SearchLocalDataSourceImpl.kt @@ -1,7 +1,7 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource -import com.danbam.data.local.dao.RecentSearchDao -import com.danbam.data.local.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.data.local.dao.RecentSearchDao +import com.danbam.indistraw.core.data.local.entity.search.RecentSearchEntity import javax.inject.Inject class SearchLocalDataSourceImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSource.kt similarity index 68% rename from data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSource.kt index 7cce2195..d7dcdbf4 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSource.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource interface SystemLocalDataSource { suspend fun saveLanguage(language: String) diff --git a/data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSourceImpl.kt similarity index 73% rename from data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSourceImpl.kt index eb9ecd0f..caa81d8c 100644 --- a/data/src/main/java/com/danbam/data/local/datasource/SystemLocalDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/datasource/SystemLocalDataSourceImpl.kt @@ -1,6 +1,6 @@ -package com.danbam.data.local.datasource +package com.danbam.indistraw.core.data.local.datasource -import com.danbam.data.local.preference.SystemPreference +import com.danbam.indistraw.core.data.local.preference.SystemPreference import javax.inject.Inject class SystemLocalDataSourceImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/local/entity/search/RecentSearchEntity.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/entity/search/RecentSearchEntity.kt similarity index 68% rename from data/src/main/java/com/danbam/data/local/entity/search/RecentSearchEntity.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/entity/search/RecentSearchEntity.kt index 9d6cd998..e2a9c956 100644 --- a/data/src/main/java/com/danbam/data/local/entity/search/RecentSearchEntity.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/entity/search/RecentSearchEntity.kt @@ -1,8 +1,8 @@ -package com.danbam.data.local.entity.search +package com.danbam.indistraw.core.data.local.entity.search import androidx.room.Entity import androidx.room.PrimaryKey -import com.danbam.domain.entity.search.RecentSearchEntity as RecentSearchDomainEntity +import com.danbam.indistraw.core.entity.search.RecentSearchEntity as RecentSearchDomainEntity @Entity(tableName = "recent_search") data class RecentSearchEntity( diff --git a/data/src/main/java/com/danbam/data/local/preference/AuthPreference.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreference.kt similarity index 90% rename from data/src/main/java/com/danbam/data/local/preference/AuthPreference.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreference.kt index 311d69d4..47c1db84 100644 --- a/data/src/main/java/com/danbam/data/local/preference/AuthPreference.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreference.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.preference +package com.danbam.indistraw.core.data.local.preference interface AuthPreference { fun saveAccessToken(accessToken: String) diff --git a/data/src/main/java/com/danbam/data/local/preference/AuthPreferenceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreferenceImpl.kt similarity index 88% rename from data/src/main/java/com/danbam/data/local/preference/AuthPreferenceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreferenceImpl.kt index d1a6db6d..55a28144 100644 --- a/data/src/main/java/com/danbam/data/local/preference/AuthPreferenceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/AuthPreferenceImpl.kt @@ -1,9 +1,9 @@ -package com.danbam.data.local.preference +package com.danbam.indistraw.core.data.local.preference import android.content.SharedPreferences -import com.danbam.data.local.util.clearString -import com.danbam.data.local.util.fetchString -import com.danbam.data.local.util.saveString +import com.danbam.indistraw.core.local.util.clearString +import com.danbam.indistraw.core.local.util.fetchString +import com.danbam.indistraw.core.local.util.saveString import javax.inject.Inject class AuthPreferenceImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/local/preference/SystemPreference.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreference.kt similarity index 68% rename from data/src/main/java/com/danbam/data/local/preference/SystemPreference.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreference.kt index 5c1b841e..de31b4f0 100644 --- a/data/src/main/java/com/danbam/data/local/preference/SystemPreference.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreference.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.preference +package com.danbam.indistraw.core.data.local.preference interface SystemPreference { suspend fun saveLanguage(language: String) diff --git a/data/src/main/java/com/danbam/data/local/preference/SystemPreferenceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreferenceImpl.kt similarity index 93% rename from data/src/main/java/com/danbam/data/local/preference/SystemPreferenceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreferenceImpl.kt index a7fe74ce..eb779107 100644 --- a/data/src/main/java/com/danbam/data/local/preference/SystemPreferenceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/preference/SystemPreferenceImpl.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.preference +package com.danbam.indistraw.core.data.local.preference import android.content.SharedPreferences import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/local/util/PreferenceUtil.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/util/PreferenceUtil.kt similarity index 91% rename from data/src/main/java/com/danbam/data/local/util/PreferenceUtil.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/util/PreferenceUtil.kt index ddf1749f..4018c3ea 100644 --- a/data/src/main/java/com/danbam/data/local/util/PreferenceUtil.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/local/util/PreferenceUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.data.local.util +package com.danbam.indistraw.core.local.util import android.content.SharedPreferences diff --git a/data/src/main/java/com/danbam/data/remote/api/AccountAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AccountAPI.kt similarity index 69% rename from data/src/main/java/com/danbam/data/remote/api/AccountAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AccountAPI.kt index 9150e974..c09e62dd 100644 --- a/data/src/main/java/com/danbam/data/remote/api/AccountAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AccountAPI.kt @@ -1,11 +1,11 @@ -package com.danbam.data.remote.api - -import com.danbam.data.remote.request.auth.ChangeAddressRequest -import com.danbam.data.remote.request.auth.ChangePasswordRequest -import com.danbam.data.remote.request.auth.EditProfileRequest -import com.danbam.data.remote.response.funding.FindIdResponse -import com.danbam.data.remote.response.auth.ProfileResponse -import com.danbam.data.remote.util.EndPoint +package com.danbam.indistraw.core.data.remote.api + +import com.danbam.indistraw.core.data.remote.request.auth.ChangeAddressRequest +import com.danbam.indistraw.core.data.remote.request.auth.ChangePasswordRequest +import com.danbam.indistraw.core.data.remote.request.auth.EditProfileRequest +import com.danbam.indistraw.core.data.remote.response.auth.ProfileResponse +import com.danbam.indistraw.core.data.remote.response.funding.FindIdResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.DELETE diff --git a/data/src/main/java/com/danbam/data/remote/api/AddressAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AddressAPI.kt similarity index 72% rename from data/src/main/java/com/danbam/data/remote/api/AddressAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AddressAPI.kt index 205c89d9..fb57ccd3 100644 --- a/data/src/main/java/com/danbam/data/remote/api/AddressAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AddressAPI.kt @@ -1,7 +1,7 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.BuildConfig -import com.danbam.data.remote.response.auth.AddressResponse +import com.danbam.indistraw.core.data.BuildConfig +import com.danbam.indistraw.core.data.remote.response.auth.AddressResponse import retrofit2.http.GET import retrofit2.http.Query import retrofit2.http.Url diff --git a/data/src/main/java/com/danbam/data/remote/api/AuthAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AuthAPI.kt similarity index 82% rename from data/src/main/java/com/danbam/data/remote/api/AuthAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AuthAPI.kt index 25c04490..5237d788 100644 --- a/data/src/main/java/com/danbam/data/remote/api/AuthAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/AuthAPI.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.request.auth.LoginRequest -import com.danbam.data.remote.request.auth.SignUpRequest -import com.danbam.data.remote.response.auth.LoginResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.request.auth.LoginRequest +import com.danbam.indistraw.core.data.remote.request.auth.SignUpRequest +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.DELETE diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/BannerAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/BannerAPI.kt new file mode 100644 index 00000000..fdbdebea --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/BannerAPI.kt @@ -0,0 +1,10 @@ +package com.danbam.indistraw.core.data.remote.api + +import com.danbam.indistraw.core.data.remote.response.banner.BannerResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint +import retrofit2.http.GET + +interface BannerAPI { + @GET("${EndPoint.BANNER}/") + suspend fun getBanner(): List +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/api/CrowdFundingAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/CrowdFundingAPI.kt similarity index 66% rename from data/src/main/java/com/danbam/data/remote/api/CrowdFundingAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/CrowdFundingAPI.kt index bd870692..e19f8a3f 100644 --- a/data/src/main/java/com/danbam/data/remote/api/CrowdFundingAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/CrowdFundingAPI.kt @@ -1,11 +1,11 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.request.funding.FundingCreateRequest -import com.danbam.data.remote.response.funding.FundingPageResponse -import com.danbam.data.remote.response.funding.FundingDetailResponse -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.MyFundingResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.request.funding.FundingCreateRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingDetailResponse +import com.danbam.indistraw.core.data.remote.response.funding.FundingPageResponse +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.MyFundingResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET diff --git a/data/src/main/java/com/danbam/data/remote/api/FileAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FileAPI.kt similarity index 59% rename from data/src/main/java/com/danbam/data/remote/api/FileAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FileAPI.kt index 177e1178..d0311d70 100644 --- a/data/src/main/java/com/danbam/data/remote/api/FileAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FileAPI.kt @@ -1,7 +1,7 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.response.file.FileResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.response.file.FileResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import okhttp3.MultipartBody import retrofit2.http.Multipart import retrofit2.http.POST diff --git a/data/src/main/java/com/danbam/data/remote/api/FundingAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FundingAPI.kt similarity index 64% rename from data/src/main/java/com/danbam/data/remote/api/FundingAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FundingAPI.kt index ceb7694c..057949a8 100644 --- a/data/src/main/java/com/danbam/data/remote/api/FundingAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/FundingAPI.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.request.funding.FundingRequest -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.ReceiptResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.request.funding.FundingRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.ReceiptResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET diff --git a/data/src/main/java/com/danbam/data/remote/api/MovieAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/MovieAPI.kt similarity index 65% rename from data/src/main/java/com/danbam/data/remote/api/MovieAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/MovieAPI.kt index c566f13e..34f79cf4 100644 --- a/data/src/main/java/com/danbam/data/remote/api/MovieAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/MovieAPI.kt @@ -1,17 +1,17 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.request.movie.MovieHistoryRequest -import com.danbam.data.remote.request.movie.MovieCreateRequest -import com.danbam.data.remote.request.movie.MoviePeopleRequest -import com.danbam.data.remote.response.movie.AddMoviePeopleResponse -import com.danbam.data.remote.response.movie.DetailMovieHistoryResponse -import com.danbam.data.remote.response.movie.MovieDetailResponse -import com.danbam.data.remote.response.movie.MovieHistoryResponse -import com.danbam.data.remote.response.movie.MoviePageResponse -import com.danbam.data.remote.response.movie.MoviePeopleDetailResponse -import com.danbam.data.remote.response.movie.MoviePeopleResponse -import com.danbam.data.remote.response.movie.MovieResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.request.movie.MovieCreateRequest +import com.danbam.indistraw.core.data.remote.request.movie.MovieHistoryRequest +import com.danbam.indistraw.core.data.remote.request.movie.MoviePeopleRequest +import com.danbam.indistraw.core.data.remote.response.movie.AddMoviePeopleResponse +import com.danbam.indistraw.core.data.remote.response.movie.DetailMovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePageResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET diff --git a/data/src/main/java/com/danbam/data/remote/api/QRCodeAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/QRCodeAPI.kt similarity index 55% rename from data/src/main/java/com/danbam/data/remote/api/QRCodeAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/QRCodeAPI.kt index e057da1f..a552b277 100644 --- a/data/src/main/java/com/danbam/data/remote/api/QRCodeAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/QRCodeAPI.kt @@ -1,8 +1,8 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.request.auth.CheckQRCodeRequest -import com.danbam.data.remote.response.auth.GetQRCodeResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.request.auth.CheckQRCodeRequest +import com.danbam.indistraw.core.data.remote.response.auth.GetQRCodeResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.Response import retrofit2.http.Body import retrofit2.http.POST diff --git a/data/src/main/java/com/danbam/data/remote/api/SearchAPI.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/SearchAPI.kt similarity index 65% rename from data/src/main/java/com/danbam/data/remote/api/SearchAPI.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/SearchAPI.kt index ffa20ef1..70d83705 100644 --- a/data/src/main/java/com/danbam/data/remote/api/SearchAPI.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/api/SearchAPI.kt @@ -1,10 +1,9 @@ -package com.danbam.data.remote.api +package com.danbam.indistraw.core.data.remote.api -import com.danbam.data.remote.response.funding.FundingPageResponse -import com.danbam.data.remote.response.movie.MoviePageResponse -import com.danbam.data.remote.response.search.PopularTagResponse -import com.danbam.data.remote.response.search.RelatedSearchResponse -import com.danbam.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.response.funding.FundingPageResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePageResponse +import com.danbam.indistraw.core.data.remote.response.search.PopularTagResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint import retrofit2.http.GET import retrofit2.http.Query @@ -12,7 +11,7 @@ interface SearchAPI { @GET("${EndPoint.SEARCH}/") suspend fun gerRelatedSearch( @Query("keyword") keyword: String - ): List + ): List @GET("${EndPoint.SEARCH}/movie/") suspend fun searchMovie( diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSource.kt similarity index 50% rename from data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSource.kt index 3f85ad3c..c434e109 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSource.kt @@ -1,10 +1,10 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.request.auth.ChangeAddressRequest -import com.danbam.data.remote.request.auth.ChangePasswordRequest -import com.danbam.data.remote.request.auth.EditProfileRequest -import com.danbam.data.remote.response.funding.FindIdResponse -import com.danbam.data.remote.response.auth.ProfileResponse +import com.danbam.indistraw.core.data.remote.request.auth.ChangeAddressRequest +import com.danbam.indistraw.core.data.remote.request.auth.ChangePasswordRequest +import com.danbam.indistraw.core.data.remote.request.auth.EditProfileRequest +import com.danbam.indistraw.core.data.remote.response.auth.ProfileResponse +import com.danbam.indistraw.core.data.remote.response.funding.FindIdResponse interface AccountRemoteDataSource { suspend fun findId(phoneNumber: String): FindIdResponse diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSourceImpl.kt similarity index 64% rename from data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSourceImpl.kt index 00cd5f42..c0a9a808 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AccountRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AccountRemoteDataSourceImpl.kt @@ -1,18 +1,18 @@ -package com.danbam.data.remote.datasource - -import com.danbam.data.remote.api.AccountAPI -import com.danbam.data.remote.request.auth.ChangeAddressRequest -import com.danbam.data.remote.request.auth.ChangePasswordRequest -import com.danbam.data.remote.request.auth.EditProfileRequest -import com.danbam.data.remote.response.funding.FindIdResponse -import com.danbam.data.remote.response.auth.ProfileResponse -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +package com.danbam.indistraw.core.data.remote.datasource + +import com.danbam.indistraw.core.data.remote.api.AccountAPI +import com.danbam.indistraw.core.data.remote.request.auth.ChangeAddressRequest +import com.danbam.indistraw.core.data.remote.request.auth.ChangePasswordRequest +import com.danbam.indistraw.core.data.remote.request.auth.EditProfileRequest +import com.danbam.indistraw.core.data.remote.response.auth.ProfileResponse +import com.danbam.indistraw.core.data.remote.response.funding.FindIdResponse +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import javax.inject.Inject class AccountRemoteDataSourceImpl @Inject constructor( private val accountAPI: AccountAPI, -) : AccountRemoteDataSource { +) : com.danbam.indistraw.core.data.remote.datasource.AccountRemoteDataSource { override suspend fun findId(phoneNumber: String): FindIdResponse = indiStrawApiCall { accountAPI.findId(phoneNumber = phoneNumber) } diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSource.kt similarity index 60% rename from data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSource.kt index 5d4e4c63..c1b8c175 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSource.kt @@ -1,7 +1,7 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.PagingData -import com.danbam.data.remote.response.auth.AddressResponse +import com.danbam.indistraw.core.data.remote.response.auth.AddressResponse import kotlinx.coroutines.flow.Flow interface AddressRemoteDataSource { diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSourceImpl.kt similarity index 70% rename from data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSourceImpl.kt index 7b4667c2..5e376db9 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AddressRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AddressRemoteDataSourceImpl.kt @@ -1,11 +1,11 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData -import com.danbam.data.remote.api.AddressAPI -import com.danbam.data.remote.pagingsource.AddressPagingSource -import com.danbam.data.remote.response.auth.AddressResponse +import com.danbam.indistraw.core.data.remote.api.AddressAPI +import com.danbam.indistraw.core.data.remote.pagingsource.AddressPagingSource +import com.danbam.indistraw.core.data.remote.response.auth.AddressResponse import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSource.kt similarity index 64% rename from data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSource.kt index 1ea96257..e231959c 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSource.kt @@ -1,8 +1,8 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.request.auth.LoginRequest -import com.danbam.data.remote.request.auth.SignUpRequest -import com.danbam.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.remote.request.auth.LoginRequest +import com.danbam.indistraw.core.data.remote.request.auth.SignUpRequest +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse interface AuthRemoteDataSource { suspend fun signup(signUpRequest: SignUpRequest) diff --git a/data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSourceImpl.kt similarity index 73% rename from data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSourceImpl.kt index 74f45362..996809ac 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/AuthRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/AuthRemoteDataSourceImpl.kt @@ -1,16 +1,16 @@ -package com.danbam.data.remote.datasource - -import com.danbam.data.remote.api.AuthAPI -import com.danbam.data.remote.request.auth.LoginRequest -import com.danbam.data.remote.request.auth.SignUpRequest -import com.danbam.data.remote.response.auth.LoginResponse -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +package com.danbam.indistraw.core.data.remote.datasource + +import com.danbam.indistraw.core.data.remote.api.AuthAPI +import com.danbam.indistraw.core.data.remote.request.auth.LoginRequest +import com.danbam.indistraw.core.data.remote.request.auth.SignUpRequest +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import javax.inject.Inject class AuthRemoteDataSourceImpl @Inject constructor( private val authAPI: AuthAPI, -) : AuthRemoteDataSource { +) : com.danbam.indistraw.core.data.remote.datasource.AuthRemoteDataSource { override suspend fun signup(signUpRequest: SignUpRequest) = indiStrawApiCall { authAPI.signup(signUpRequest = signUpRequest) } diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSource.kt new file mode 100644 index 00000000..fb6ff449 --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSource.kt @@ -0,0 +1,7 @@ +package com.danbam.indistraw.core.data.remote.datasource + +import com.danbam.indistraw.core.data.remote.response.banner.BannerResponse + +interface BannerRemoteDataSource { + suspend fun getBanner(): List +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSourceImpl.kt similarity index 50% rename from data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSourceImpl.kt index 9e108e20..4d61515b 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/BannerRemoteDataSourceImpl.kt @@ -1,8 +1,8 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.api.BannerAPI -import com.danbam.data.remote.response.banner.BannerResponse -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.BannerAPI +import com.danbam.indistraw.core.data.remote.response.banner.BannerResponse +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import javax.inject.Inject class BannerRemoteDataSourceImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSource.kt similarity index 56% rename from data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSource.kt index dbcbc199..eaeaec46 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSource.kt @@ -1,10 +1,10 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.PagingData -import com.danbam.data.remote.request.funding.FundingCreateRequest -import com.danbam.data.remote.response.funding.FundingDetailResponse -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.MyFundingResponse +import com.danbam.indistraw.core.data.remote.request.funding.FundingCreateRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingDetailResponse +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.MyFundingResponse import kotlinx.coroutines.flow.Flow interface CrowdFundingRemoteDataSource { diff --git a/data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt similarity index 69% rename from data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt index 52f3a985..76391214 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/CrowdFundingRemoteDataSourceImpl.kt @@ -1,16 +1,16 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData -import com.danbam.data.remote.api.CrowdFundingAPI -import com.danbam.data.remote.pagingsource.FundingPagingSource -import com.danbam.data.remote.request.funding.FundingCreateRequest -import com.danbam.data.remote.response.funding.FundingDetailResponse -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.MyFundingResponse -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.CrowdFundingAPI +import com.danbam.indistraw.core.data.remote.pagingsource.FundingPagingSource +import com.danbam.indistraw.core.data.remote.request.funding.FundingCreateRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingDetailResponse +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.MyFundingResponse +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSource.kt similarity index 50% rename from data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSource.kt index 724a70fd..3a5867cc 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSource.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.response.file.FileResponse +import com.danbam.indistraw.core.data.remote.response.file.FileResponse import okhttp3.MultipartBody interface FileRemoteDataSource { diff --git a/data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSourceImpl.kt similarity index 55% rename from data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSourceImpl.kt index f95fb411..c3f75e44 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/FileRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FileRemoteDataSourceImpl.kt @@ -1,8 +1,8 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.api.FileAPI -import com.danbam.data.remote.response.file.FileResponse -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.FileAPI +import com.danbam.indistraw.core.data.remote.response.file.FileResponse +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import okhttp3.MultipartBody import javax.inject.Inject diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSource.kt new file mode 100644 index 00000000..7ca78028 --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSource.kt @@ -0,0 +1,11 @@ +package com.danbam.indistraw.core.data.remote.datasource + +import com.danbam.indistraw.core.data.remote.request.funding.FundingRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.ReceiptResponse + +interface FundingRemoteDataSource { + suspend fun getReceipt(): ReceiptResponse + suspend fun funding(fundingIdx: Long, rewardIdx: Long, fundingRequest: FundingRequest) + suspend fun fundingList(): List +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSourceImpl.kt similarity index 59% rename from data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSourceImpl.kt index 10ce7e4f..4363c095 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/FundingRemoteDataSourceImpl.kt @@ -1,11 +1,11 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.api.FundingAPI -import com.danbam.data.remote.request.funding.FundingRequest -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.ReceiptResponse -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.FundingAPI +import com.danbam.indistraw.core.data.remote.request.funding.FundingRequest +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.funding.ReceiptResponse +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import javax.inject.Inject class FundingRemoteDataSourceImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSource.kt similarity index 54% rename from data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSource.kt index 2722c7e0..e49ea978 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSource.kt @@ -1,16 +1,16 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.PagingData -import com.danbam.data.remote.request.movie.MovieCreateRequest -import com.danbam.data.remote.request.movie.MovieHistoryRequest -import com.danbam.data.remote.request.movie.MoviePeopleRequest -import com.danbam.data.remote.response.movie.AddMoviePeopleResponse -import com.danbam.data.remote.response.movie.DetailMovieHistoryResponse -import com.danbam.data.remote.response.movie.MovieDetailResponse -import com.danbam.data.remote.response.movie.MovieHistoryResponse -import com.danbam.data.remote.response.movie.MoviePeopleDetailResponse -import com.danbam.data.remote.response.movie.MoviePeopleResponse -import com.danbam.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.request.movie.MovieCreateRequest +import com.danbam.indistraw.core.data.remote.request.movie.MovieHistoryRequest +import com.danbam.indistraw.core.data.remote.request.movie.MoviePeopleRequest +import com.danbam.indistraw.core.data.remote.response.movie.AddMoviePeopleResponse +import com.danbam.indistraw.core.data.remote.response.movie.DetailMovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse import kotlinx.coroutines.flow.Flow interface MovieRemoteDataSource { diff --git a/data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSourceImpl.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSourceImpl.kt index cf8ec3d0..8077ce03 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/MovieRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/MovieRemoteDataSourceImpl.kt @@ -1,21 +1,21 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData -import com.danbam.data.remote.api.MovieAPI -import com.danbam.data.remote.pagingsource.MoviePagingSource -import com.danbam.data.remote.request.movie.MovieCreateRequest -import com.danbam.data.remote.request.movie.MovieHistoryRequest -import com.danbam.data.remote.request.movie.MoviePeopleRequest -import com.danbam.data.remote.response.movie.DetailMovieHistoryResponse -import com.danbam.data.remote.response.movie.MoviePeopleDetailResponse -import com.danbam.data.remote.response.movie.MovieDetailResponse -import com.danbam.data.remote.response.movie.MovieHistoryResponse -import com.danbam.data.remote.response.movie.MoviePeopleResponse -import com.danbam.data.remote.response.movie.MovieResponse -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.MovieAPI +import com.danbam.indistraw.core.data.remote.pagingsource.MoviePagingSource +import com.danbam.indistraw.core.data.remote.request.movie.MovieCreateRequest +import com.danbam.indistraw.core.data.remote.request.movie.MovieHistoryRequest +import com.danbam.indistraw.core.data.remote.request.movie.MoviePeopleRequest +import com.danbam.indistraw.core.data.remote.response.movie.DetailMovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieHistoryResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleDetailResponse +import com.danbam.indistraw.core.data.remote.response.movie.MoviePeopleResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSource.kt similarity index 52% rename from data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSource.kt index 55606d20..dc936021 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSource.kt @@ -1,7 +1,7 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.remote.response.auth.GetQRCodeResponse -import com.danbam.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.remote.response.auth.GetQRCodeResponse +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse import java.util.UUID interface QRCodeRemoteDataSource { diff --git a/data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt similarity index 76% rename from data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt index 978333e9..b9e76b81 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/QRCodeRemoteDataSourceImpl.kt @@ -1,13 +1,13 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource -import com.danbam.data.BuildConfig -import com.danbam.data.remote.api.QRCodeAPI -import com.danbam.data.remote.request.auth.CheckQRCodeRequest -import com.danbam.data.remote.response.auth.GetQRCodeResponse -import com.danbam.data.remote.response.auth.LoginResponse -import com.danbam.data.remote.util.EndPoint -import com.danbam.data.remote.util.errorHandling -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.BuildConfig +import com.danbam.indistraw.core.data.remote.api.QRCodeAPI +import com.danbam.indistraw.core.data.remote.request.auth.CheckQRCodeRequest +import com.danbam.indistraw.core.data.remote.response.auth.GetQRCodeResponse +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.remote.util.EndPoint +import com.danbam.indistraw.core.data.remote.util.errorHandling +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import com.google.gson.Gson import okhttp3.CacheControl import okhttp3.OkHttpClient diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSource.kt new file mode 100644 index 00000000..2a95fb3c --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSource.kt @@ -0,0 +1,14 @@ +package com.danbam.indistraw.core.data.remote.datasource + +import androidx.paging.PagingData +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.response.search.PopularTagResponse +import kotlinx.coroutines.flow.Flow + +interface SearchRemoteDataSource { + suspend fun getRelatedSearch(keyword: String): List + suspend fun searchMovie(keyword: String): Flow> + suspend fun searchFunding(keyword: String): Flow> + suspend fun popularTag(): PopularTagResponse +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSourceImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSourceImpl.kt similarity index 67% rename from data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSourceImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSourceImpl.kt index 8049b8da..b6c0ba0b 100644 --- a/data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSourceImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/datasource/SearchRemoteDataSourceImpl.kt @@ -1,23 +1,22 @@ -package com.danbam.data.remote.datasource +package com.danbam.indistraw.core.data.remote.datasource import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData -import com.danbam.data.remote.api.SearchAPI -import com.danbam.data.remote.pagingsource.SearchFundingPagingSource -import com.danbam.data.remote.pagingsource.SearchMoviePagingSource -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.movie.MovieResponse -import com.danbam.data.remote.response.search.PopularTagResponse -import com.danbam.data.remote.response.search.RelatedSearchResponse -import com.danbam.data.remote.util.indiStrawApiCall +import com.danbam.indistraw.core.data.remote.api.SearchAPI +import com.danbam.indistraw.core.data.remote.pagingsource.SearchFundingPagingSource +import com.danbam.indistraw.core.data.remote.pagingsource.SearchMoviePagingSource +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.response.search.PopularTagResponse +import com.danbam.indistraw.core.data.remote.util.indiStrawApiCall import kotlinx.coroutines.flow.Flow import javax.inject.Inject class SearchRemoteDataSourceImpl @Inject constructor( private val searchAPI: SearchAPI ) : SearchRemoteDataSource { - override suspend fun getRelatedSearch(keyword: String): List = + override suspend fun getRelatedSearch(keyword: String): List = indiStrawApiCall { searchAPI.gerRelatedSearch(keyword) } diff --git a/data/src/main/java/com/danbam/data/remote/interceptor/IndiStrawInterceptor.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/interceptor/IndiStrawInterceptor.kt similarity index 91% rename from data/src/main/java/com/danbam/data/remote/interceptor/IndiStrawInterceptor.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/interceptor/IndiStrawInterceptor.kt index ca00ac13..ef2a5e6c 100644 --- a/data/src/main/java/com/danbam/data/remote/interceptor/IndiStrawInterceptor.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/interceptor/IndiStrawInterceptor.kt @@ -1,13 +1,13 @@ -package com.danbam.data.remote.interceptor +package com.danbam.indistraw.core.data.remote.interceptor import android.content.Context import android.net.ConnectivityManager import android.net.NetworkInfo -import com.danbam.data.BuildConfig -import com.danbam.data.local.datasource.AuthLocalDataSource -import com.danbam.data.remote.response.auth.LoginResponse -import com.danbam.data.util.default -import com.danbam.domain.exception.ExpiredTokenException +import com.danbam.indistraw.core.data.BuildConfig +import com.danbam.indistraw.core.data.local.datasource.AuthLocalDataSource +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.util.default +import com.danbam.indistraw.core.domain.exception.ExpiredTokenException import com.google.gson.Gson import okhttp3.Interceptor import okhttp3.MediaType.Companion.toMediaTypeOrNull @@ -24,6 +24,7 @@ class IndiStrawInterceptor @Inject constructor( companion object { lateinit var context: Context } + override fun intercept(chain: Interceptor.Chain): Response { val request = chain.request() val method = request.method.lowercase() diff --git a/data/src/main/java/com/danbam/data/remote/pagingsource/AddressPagingSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/AddressPagingSource.kt similarity index 85% rename from data/src/main/java/com/danbam/data/remote/pagingsource/AddressPagingSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/AddressPagingSource.kt index 0c0bb40a..469716ac 100644 --- a/data/src/main/java/com/danbam/data/remote/pagingsource/AddressPagingSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/AddressPagingSource.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.pagingsource +package com.danbam.indistraw.core.data.remote.pagingsource import androidx.paging.PagingSource import androidx.paging.PagingState -import com.danbam.data.remote.api.AddressAPI -import com.danbam.data.remote.response.auth.AddressResponse +import com.danbam.indistraw.core.data.remote.api.AddressAPI +import com.danbam.indistraw.core.data.remote.response.auth.AddressResponse import javax.inject.Inject class AddressPagingSource( diff --git a/data/src/main/java/com/danbam/data/remote/pagingsource/FundingPagingSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/FundingPagingSource.kt similarity index 83% rename from data/src/main/java/com/danbam/data/remote/pagingsource/FundingPagingSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/FundingPagingSource.kt index 2c213c2e..298cae5f 100644 --- a/data/src/main/java/com/danbam/data/remote/pagingsource/FundingPagingSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/FundingPagingSource.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.pagingsource +package com.danbam.indistraw.core.data.remote.pagingsource import androidx.paging.PagingSource import androidx.paging.PagingState -import com.danbam.data.remote.api.CrowdFundingAPI -import com.danbam.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.api.CrowdFundingAPI +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse import javax.inject.Inject class FundingPagingSource( diff --git a/data/src/main/java/com/danbam/data/remote/pagingsource/MoviePagingSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/MoviePagingSource.kt similarity index 84% rename from data/src/main/java/com/danbam/data/remote/pagingsource/MoviePagingSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/MoviePagingSource.kt index 486ccadc..4cd0ea20 100644 --- a/data/src/main/java/com/danbam/data/remote/pagingsource/MoviePagingSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/MoviePagingSource.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.pagingsource +package com.danbam.indistraw.core.data.remote.pagingsource import androidx.paging.PagingSource import androidx.paging.PagingState -import com.danbam.data.remote.api.MovieAPI -import com.danbam.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.api.MovieAPI +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse import javax.inject.Inject class MoviePagingSource( diff --git a/data/src/main/java/com/danbam/data/remote/pagingsource/SearchFundingPagingSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchFundingPagingSource.kt similarity index 84% rename from data/src/main/java/com/danbam/data/remote/pagingsource/SearchFundingPagingSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchFundingPagingSource.kt index fab073de..b6967701 100644 --- a/data/src/main/java/com/danbam/data/remote/pagingsource/SearchFundingPagingSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchFundingPagingSource.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.pagingsource +package com.danbam.indistraw.core.data.remote.pagingsource import androidx.paging.PagingSource import androidx.paging.PagingState -import com.danbam.data.remote.api.SearchAPI -import com.danbam.data.remote.response.funding.FundingResponse +import com.danbam.indistraw.core.data.remote.api.SearchAPI +import com.danbam.indistraw.core.data.remote.response.funding.FundingResponse import javax.inject.Inject class SearchFundingPagingSource( diff --git a/data/src/main/java/com/danbam/data/remote/pagingsource/SearchMoviePagingSource.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchMoviePagingSource.kt similarity index 84% rename from data/src/main/java/com/danbam/data/remote/pagingsource/SearchMoviePagingSource.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchMoviePagingSource.kt index a594f230..0ccf55a0 100644 --- a/data/src/main/java/com/danbam/data/remote/pagingsource/SearchMoviePagingSource.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/pagingsource/SearchMoviePagingSource.kt @@ -1,9 +1,9 @@ -package com.danbam.data.remote.pagingsource +package com.danbam.indistraw.core.data.remote.pagingsource import androidx.paging.PagingSource import androidx.paging.PagingState -import com.danbam.data.remote.api.SearchAPI -import com.danbam.data.remote.response.movie.MovieResponse +import com.danbam.indistraw.core.data.remote.api.SearchAPI +import com.danbam.indistraw.core.data.remote.response.movie.MovieResponse import javax.inject.Inject class SearchMoviePagingSource( diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/ChangeAddressRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangeAddressRequest.kt similarity index 77% rename from data/src/main/java/com/danbam/data/remote/request/auth/ChangeAddressRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangeAddressRequest.kt index c15a03d3..11358a1a 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/ChangeAddressRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangeAddressRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth -import com.danbam.domain.param.auth.ChangeAddressParam +import com.danbam.indistraw.core.param.auth.ChangeAddressParam import com.google.gson.annotations.SerializedName data class ChangeAddressRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/ChangePasswordRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangePasswordRequest.kt similarity index 72% rename from data/src/main/java/com/danbam/data/remote/request/auth/ChangePasswordRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangePasswordRequest.kt index af4abea1..99be37f1 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/ChangePasswordRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/ChangePasswordRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth -import com.danbam.domain.param.auth.ChangePasswordParam +import com.danbam.indistraw.core.param.auth.ChangePasswordParam import com.google.gson.annotations.SerializedName data class ChangePasswordRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/CheckQRCodeRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/CheckQRCodeRequest.kt similarity index 72% rename from data/src/main/java/com/danbam/data/remote/request/auth/CheckQRCodeRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/CheckQRCodeRequest.kt index 3845df2e..cfb7d007 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/CheckQRCodeRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/CheckQRCodeRequest.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth import com.google.gson.annotations.SerializedName import java.util.UUID diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/EditProfileRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/EditProfileRequest.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/request/auth/EditProfileRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/EditProfileRequest.kt index baa5c6c7..059792cf 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/EditProfileRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/EditProfileRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth -import com.danbam.domain.param.auth.EditProfileParam +import com.danbam.indistraw.core.param.auth.EditProfileParam import com.google.gson.annotations.SerializedName data class EditProfileRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/LoginRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/LoginRequest.kt similarity index 67% rename from data/src/main/java/com/danbam/data/remote/request/auth/LoginRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/LoginRequest.kt index 8e02d51b..e8a153a9 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/LoginRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/LoginRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth -import com.danbam.domain.param.auth.LoginParam +import com.danbam.indistraw.core.param.auth.LoginParam import com.google.gson.annotations.SerializedName data class LoginRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/auth/SignUpRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/SignUpRequest.kt similarity index 81% rename from data/src/main/java/com/danbam/data/remote/request/auth/SignUpRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/SignUpRequest.kt index 4fedc4f0..6900f4f8 100644 --- a/data/src/main/java/com/danbam/data/remote/request/auth/SignUpRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/auth/SignUpRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.auth +package com.danbam.indistraw.core.data.remote.request.auth -import com.danbam.domain.param.auth.SignUpParam +import com.danbam.indistraw.core.param.auth.SignUpParam import com.google.gson.annotations.SerializedName data class SignUpRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/funding/FundingCreateRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingCreateRequest.kt similarity index 94% rename from data/src/main/java/com/danbam/data/remote/request/funding/FundingCreateRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingCreateRequest.kt index 2ce90f9a..4fa9ba9d 100644 --- a/data/src/main/java/com/danbam/data/remote/request/funding/FundingCreateRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingCreateRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.funding +package com.danbam.indistraw.core.data.remote.request.funding -import com.danbam.domain.param.funding.FundingCreateParam +import com.danbam.indistraw.core.param.funding.FundingCreateParam import com.google.gson.annotations.SerializedName data class FundingCreateRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/funding/FundingRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingRequest.kt similarity index 75% rename from data/src/main/java/com/danbam/data/remote/request/funding/FundingRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingRequest.kt index 07ad70f6..3fdae0cd 100644 --- a/data/src/main/java/com/danbam/data/remote/request/funding/FundingRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/funding/FundingRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.funding +package com.danbam.indistraw.core.data.remote.request.funding -import com.danbam.domain.param.funding.FundingParam +import com.danbam.indistraw.core.param.funding.FundingParam import com.google.gson.annotations.SerializedName data class FundingRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/movie/MovieCreateRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieCreateRequest.kt similarity index 87% rename from data/src/main/java/com/danbam/data/remote/request/movie/MovieCreateRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieCreateRequest.kt index 704ea0cc..c078cdd0 100644 --- a/data/src/main/java/com/danbam/data/remote/request/movie/MovieCreateRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieCreateRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.movie +package com.danbam.indistraw.core.data.remote.request.movie -import com.danbam.domain.param.movie.MovieCreateParam +import com.danbam.indistraw.core.param.movie.MovieCreateParam import com.google.gson.annotations.SerializedName data class MovieCreateRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/movie/MovieHistoryRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieHistoryRequest.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/request/movie/MovieHistoryRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieHistoryRequest.kt index 085ed71a..bb364e0d 100644 --- a/data/src/main/java/com/danbam/data/remote/request/movie/MovieHistoryRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MovieHistoryRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.movie +package com.danbam.indistraw.core.data.remote.request.movie -import com.danbam.domain.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.param.movie.MovieHistoryParam import com.google.gson.annotations.SerializedName data class MovieHistoryRequest( diff --git a/data/src/main/java/com/danbam/data/remote/request/movie/MoviePeopleRequest.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MoviePeopleRequest.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/request/movie/MoviePeopleRequest.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MoviePeopleRequest.kt index b0506ceb..329fdd9a 100644 --- a/data/src/main/java/com/danbam/data/remote/request/movie/MoviePeopleRequest.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/request/movie/MoviePeopleRequest.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.request.movie +package com.danbam.indistraw.core.data.remote.request.movie -import com.danbam.domain.param.movie.MoviePeopleParam +import com.danbam.indistraw.core.param.movie.MoviePeopleParam import com.google.gson.annotations.SerializedName data class MoviePeopleRequest( diff --git a/data/src/main/java/com/danbam/data/remote/response/auth/AddressResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/AddressResponse.kt similarity index 54% rename from data/src/main/java/com/danbam/data/remote/response/auth/AddressResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/AddressResponse.kt index 9511fd83..a601cf88 100644 --- a/data/src/main/java/com/danbam/data/remote/response/auth/AddressResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/AddressResponse.kt @@ -1,15 +1,15 @@ -package com.danbam.data.remote.response.auth +package com.danbam.indistraw.core.data.remote.response.auth -import com.danbam.domain.entity.auth.AddressEntity +import com.danbam.indistraw.core.domain.entity.auth.AddressEntity import com.google.gson.annotations.SerializedName data class AddressResponse( @SerializedName("results") - val results: Results, + val results: com.danbam.indistraw.core.data.remote.response.auth.AddressResponse.Results, ) { data class Results( @SerializedName("juso") - val juso: List, + val juso: List, ) { data class Juso( @SerializedName("zipNo") @@ -22,7 +22,7 @@ data class AddressResponse( } } -fun AddressResponse.Results.Juso.toEntity() = AddressEntity( +fun com.danbam.indistraw.core.data.remote.response.auth.AddressResponse.Results.Juso.toEntity() = AddressEntity( zipcode = zipNo, streetAddress = roadAddr, buildName = buildName diff --git a/data/src/main/java/com/danbam/data/remote/response/auth/GetQRCodeResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/GetQRCodeResponse.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/response/auth/GetQRCodeResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/GetQRCodeResponse.kt index 3317172e..8c997d69 100644 --- a/data/src/main/java/com/danbam/data/remote/response/auth/GetQRCodeResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/GetQRCodeResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.auth +package com.danbam.indistraw.core.data.remote.response.auth import com.google.gson.annotations.SerializedName import java.util.UUID diff --git a/data/src/main/java/com/danbam/data/remote/response/auth/LoginResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/LoginResponse.kt similarity index 81% rename from data/src/main/java/com/danbam/data/remote/response/auth/LoginResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/LoginResponse.kt index eac5e349..9544f22a 100644 --- a/data/src/main/java/com/danbam/data/remote/response/auth/LoginResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/LoginResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.auth +package com.danbam.indistraw.core.data.remote.response.auth -import com.danbam.domain.entity.auth.LoginEntity +import com.danbam.indistraw.core.domain.entity.auth.LoginEntity import com.google.gson.annotations.SerializedName data class LoginResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/auth/ProfileResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/ProfileResponse.kt similarity index 82% rename from data/src/main/java/com/danbam/data/remote/response/auth/ProfileResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/ProfileResponse.kt index 01295588..4e81936c 100644 --- a/data/src/main/java/com/danbam/data/remote/response/auth/ProfileResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/auth/ProfileResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.auth +package com.danbam.indistraw.core.data.remote.response.auth -import com.danbam.domain.entity.auth.ProfileEntity +import com.danbam.indistraw.core.domain.entity.auth.ProfileEntity import com.google.gson.annotations.SerializedName data class ProfileResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/banner/BannerResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/banner/BannerResponse.kt similarity index 65% rename from data/src/main/java/com/danbam/data/remote/response/banner/BannerResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/banner/BannerResponse.kt index a9481608..9104a757 100644 --- a/data/src/main/java/com/danbam/data/remote/response/banner/BannerResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/banner/BannerResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.banner +package com.danbam.indistraw.core.data.remote.response.banner -import com.danbam.domain.entity.banner.BannerEntity +import com.danbam.indistraw.core.entity.banner.BannerEntity import com.google.gson.annotations.SerializedName data class BannerResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/file/FileResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/file/FileResponse.kt similarity index 68% rename from data/src/main/java/com/danbam/data/remote/response/file/FileResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/file/FileResponse.kt index 4c87e992..8c93b423 100644 --- a/data/src/main/java/com/danbam/data/remote/response/file/FileResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/file/FileResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.file +package com.danbam.indistraw.core.data.remote.response.file -import com.danbam.domain.entity.file.FileEntity +import com.danbam.indistraw.core.entity.file.FileEntity import com.google.gson.annotations.SerializedName data class FileResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/FindIdResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FindIdResponse.kt similarity index 59% rename from data/src/main/java/com/danbam/data/remote/response/funding/FindIdResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FindIdResponse.kt index eb4cd4fb..4382abf8 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/FindIdResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FindIdResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding -import com.danbam.domain.entity.auth.FindIdEntity +import com.danbam.indistraw.core.domain.entity.auth.FindIdEntity import com.google.gson.annotations.SerializedName data class FindIdResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/FundingDetailResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingDetailResponse.kt similarity index 95% rename from data/src/main/java/com/danbam/data/remote/response/funding/FundingDetailResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingDetailResponse.kt index 6ac57284..67167f3b 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/FundingDetailResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingDetailResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding -import com.danbam.domain.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity import com.google.gson.annotations.SerializedName import java.util.UUID diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/FundingPageResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingPageResponse.kt similarity index 76% rename from data/src/main/java/com/danbam/data/remote/response/funding/FundingPageResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingPageResponse.kt index 043daa40..de0ab910 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/FundingPageResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingPageResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding import com.google.gson.annotations.SerializedName diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/FundingResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingResponse.kt similarity index 83% rename from data/src/main/java/com/danbam/data/remote/response/funding/FundingResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingResponse.kt index a98cb387..c389d8ad 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/FundingResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/FundingResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding -import com.danbam.domain.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity import com.google.gson.annotations.SerializedName data class FundingResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/MyFundingResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/MyFundingResponse.kt similarity index 95% rename from data/src/main/java/com/danbam/data/remote/response/funding/MyFundingResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/MyFundingResponse.kt index 367279f2..e4827968 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/MyFundingResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/MyFundingResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding -import com.danbam.domain.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.entity.funding.MyFundingEntity import com.google.gson.annotations.SerializedName import java.util.UUID diff --git a/data/src/main/java/com/danbam/data/remote/response/funding/ReceiptResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/ReceiptResponse.kt similarity index 69% rename from data/src/main/java/com/danbam/data/remote/response/funding/ReceiptResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/ReceiptResponse.kt index a3741905..dd63c5ad 100644 --- a/data/src/main/java/com/danbam/data/remote/response/funding/ReceiptResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/funding/ReceiptResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.funding +package com.danbam.indistraw.core.data.remote.response.funding import com.google.gson.annotations.SerializedName diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/AddMoviePeopleResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/AddMoviePeopleResponse.kt similarity index 69% rename from data/src/main/java/com/danbam/data/remote/response/movie/AddMoviePeopleResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/AddMoviePeopleResponse.kt index d5f9476d..31c2b42a 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/AddMoviePeopleResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/AddMoviePeopleResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie import com.google.gson.annotations.SerializedName diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/DetailMovieHistoryResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/DetailMovieHistoryResponse.kt similarity index 66% rename from data/src/main/java/com/danbam/data/remote/response/movie/DetailMovieHistoryResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/DetailMovieHistoryResponse.kt index 1969dbd1..92ffa50a 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/DetailMovieHistoryResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/DetailMovieHistoryResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.DetailMovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.DetailMovieHistoryEntity import com.google.gson.annotations.SerializedName data class DetailMovieHistoryResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MovieDetailResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieDetailResponse.kt similarity index 88% rename from data/src/main/java/com/danbam/data/remote/response/movie/MovieDetailResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieDetailResponse.kt index 77f05b37..50b9b6f0 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MovieDetailResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieDetailResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.MovieDetailEntity +import com.danbam.indistraw.core.entity.movie.MovieDetailEntity import com.google.gson.annotations.SerializedName data class MovieDetailResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MovieHistoryResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieHistoryResponse.kt similarity index 79% rename from data/src/main/java/com/danbam/data/remote/response/movie/MovieHistoryResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieHistoryResponse.kt index 73fb4b45..c154acf4 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MovieHistoryResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieHistoryResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.MovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.MovieHistoryEntity import com.google.gson.annotations.SerializedName data class MovieHistoryResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePageResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePageResponse.kt similarity index 76% rename from data/src/main/java/com/danbam/data/remote/response/movie/MoviePageResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePageResponse.kt index 34272b5c..1b559e28 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePageResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePageResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie import com.google.gson.annotations.SerializedName diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleDetailResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleDetailResponse.kt similarity index 79% rename from data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleDetailResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleDetailResponse.kt index b9d73883..cb037010 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleDetailResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleDetailResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.MoviePeopleDetailEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleDetailEntity import com.google.gson.annotations.SerializedName data class MoviePeopleDetailResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleResponse.kt similarity index 75% rename from data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleResponse.kt index 5b68674d..2456fb69 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MoviePeopleResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MoviePeopleResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity import com.google.gson.annotations.SerializedName data class MoviePeopleResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/movie/MovieResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieResponse.kt similarity index 71% rename from data/src/main/java/com/danbam/data/remote/response/movie/MovieResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieResponse.kt index e7a76a54..5c2141d4 100644 --- a/data/src/main/java/com/danbam/data/remote/response/movie/MovieResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/movie/MovieResponse.kt @@ -1,6 +1,6 @@ -package com.danbam.data.remote.response.movie +package com.danbam.indistraw.core.data.remote.response.movie -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import com.google.gson.annotations.SerializedName data class MovieResponse( diff --git a/data/src/main/java/com/danbam/data/remote/response/search/PopularTagResponse.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/search/PopularTagResponse.kt similarity index 70% rename from data/src/main/java/com/danbam/data/remote/response/search/PopularTagResponse.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/search/PopularTagResponse.kt index ca4c3fa0..fa1b947f 100644 --- a/data/src/main/java/com/danbam/data/remote/response/search/PopularTagResponse.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/response/search/PopularTagResponse.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.response.search +package com.danbam.indistraw.core.data.remote.response.search import com.google.gson.annotations.SerializedName diff --git a/data/src/main/java/com/danbam/data/remote/util/EndPoint.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/EndPoint.kt similarity index 88% rename from data/src/main/java/com/danbam/data/remote/util/EndPoint.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/EndPoint.kt index c237f40d..71d3eff1 100644 --- a/data/src/main/java/com/danbam/data/remote/util/EndPoint.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/EndPoint.kt @@ -1,4 +1,4 @@ -package com.danbam.data.remote.util +package com.danbam.indistraw.core.data.remote.util class EndPoint { companion object { diff --git a/data/src/main/java/com/danbam/data/remote/util/IndiStrawApiCall.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/IndiStrawApiCall.kt similarity index 73% rename from data/src/main/java/com/danbam/data/remote/util/IndiStrawApiCall.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/IndiStrawApiCall.kt index 70edcb6a..fe52c167 100644 --- a/data/src/main/java/com/danbam/data/remote/util/IndiStrawApiCall.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/remote/util/IndiStrawApiCall.kt @@ -1,13 +1,13 @@ -package com.danbam.data.remote.util +package com.danbam.indistraw.core.data.remote.util -import com.danbam.domain.exception.ConflictDataException -import com.danbam.domain.exception.ExpiredTokenException -import com.danbam.domain.exception.InvalidTokenException -import com.danbam.domain.exception.NotFoundException -import com.danbam.domain.exception.ServerErrorException -import com.danbam.domain.exception.TooManyRequestException -import com.danbam.domain.exception.UnKnownHttpException -import com.danbam.domain.exception.WrongDataException +import com.danbam.indistraw.core.domain.exception.ConflictDataException +import com.danbam.indistraw.core.domain.exception.ExpiredTokenException +import com.danbam.indistraw.core.domain.exception.InvalidTokenException +import com.danbam.indistraw.core.domain.exception.NotFoundException +import com.danbam.indistraw.core.domain.exception.ServerErrorException +import com.danbam.indistraw.core.domain.exception.TooManyRequestException +import com.danbam.indistraw.core.domain.exception.UnKnownHttpException +import com.danbam.indistraw.core.domain.exception.WrongDataException import com.google.gson.Gson import com.google.gson.annotations.SerializedName import kotlinx.coroutines.Dispatchers diff --git a/data/src/main/java/com/danbam/data/repository/AccountRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AccountRepositoryImpl.kt similarity index 62% rename from data/src/main/java/com/danbam/data/repository/AccountRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AccountRepositoryImpl.kt index 566a8fb0..c336c443 100644 --- a/data/src/main/java/com/danbam/data/repository/AccountRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AccountRepositoryImpl.kt @@ -1,15 +1,15 @@ -package com.danbam.data.repository - -import com.danbam.data.remote.datasource.AccountRemoteDataSource -import com.danbam.data.remote.request.auth.toRequest -import com.danbam.data.remote.response.auth.toEntity -import com.danbam.data.remote.response.funding.toEntity -import com.danbam.domain.entity.auth.FindIdEntity -import com.danbam.domain.entity.auth.ProfileEntity -import com.danbam.domain.param.auth.ChangeAddressParam -import com.danbam.domain.param.auth.ChangePasswordParam -import com.danbam.domain.param.auth.EditProfileParam -import com.danbam.domain.repository.AccountRepository +package com.danbam.indistraw.core.data.repository + +import com.danbam.indistraw.core.data.remote.datasource.AccountRemoteDataSource +import com.danbam.indistraw.core.data.remote.request.auth.toRequest +import com.danbam.indistraw.core.data.remote.response.auth.toEntity +import com.danbam.indistraw.core.data.remote.response.funding.toEntity +import com.danbam.indistraw.core.domain.entity.auth.FindIdEntity +import com.danbam.indistraw.core.domain.entity.auth.ProfileEntity +import com.danbam.indistraw.core.param.auth.ChangeAddressParam +import com.danbam.indistraw.core.param.auth.ChangePasswordParam +import com.danbam.indistraw.core.param.auth.EditProfileParam +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class AccountRepositoryImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/repository/AddressRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AddressRepositoryImpl.kt similarity index 60% rename from data/src/main/java/com/danbam/data/repository/AddressRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AddressRepositoryImpl.kt index 4f577f9e..1ef67959 100644 --- a/data/src/main/java/com/danbam/data/repository/AddressRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AddressRepositoryImpl.kt @@ -1,11 +1,11 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository import androidx.paging.PagingData import androidx.paging.map -import com.danbam.data.remote.datasource.AddressRemoteDataSource -import com.danbam.data.remote.response.auth.toEntity -import com.danbam.domain.entity.auth.AddressEntity -import com.danbam.domain.repository.AddressRepository +import com.danbam.indistraw.core.data.remote.datasource.AddressRemoteDataSource +import com.danbam.indistraw.core.data.remote.response.auth.toEntity +import com.danbam.indistraw.core.domain.entity.auth.AddressEntity +import com.danbam.indistraw.core.domain.repository.AddressRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/repository/AuthRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AuthRepositoryImpl.kt similarity index 80% rename from data/src/main/java/com/danbam/data/repository/AuthRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AuthRepositoryImpl.kt index 4f2543d1..a5436613 100644 --- a/data/src/main/java/com/danbam/data/repository/AuthRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/AuthRepositoryImpl.kt @@ -1,14 +1,14 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository -import com.danbam.data.local.datasource.AuthLocalDataSource -import com.danbam.data.remote.datasource.AuthRemoteDataSource -import com.danbam.data.remote.request.auth.toRequest -import com.danbam.data.remote.response.auth.LoginResponse -import com.danbam.data.util.default -import com.danbam.domain.exception.ExpiredTokenException -import com.danbam.domain.param.auth.LoginParam -import com.danbam.domain.param.auth.SignUpParam -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.data.local.datasource.AuthLocalDataSource +import com.danbam.indistraw.core.data.remote.datasource.AuthRemoteDataSource +import com.danbam.indistraw.core.data.remote.request.auth.toRequest +import com.danbam.indistraw.core.data.remote.response.auth.LoginResponse +import com.danbam.indistraw.core.data.util.default +import com.danbam.indistraw.core.domain.exception.ExpiredTokenException +import com.danbam.indistraw.core.param.auth.LoginParam +import com.danbam.indistraw.core.param.auth.SignUpParam +import com.danbam.indistraw.core.domain.repository.AuthRepository import java.time.LocalDateTime import javax.inject.Inject diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/BannerRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/BannerRepositoryImpl.kt new file mode 100644 index 00000000..306d3cc7 --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/BannerRepositoryImpl.kt @@ -0,0 +1,14 @@ +package com.danbam.indistraw.core.data.repository + +import com.danbam.indistraw.core.data.remote.datasource.BannerRemoteDataSource +import com.danbam.indistraw.core.data.remote.response.banner.toEntity +import com.danbam.indistraw.core.entity.banner.BannerEntity +import com.danbam.indistraw.core.domain.repository.BannerRepository +import javax.inject.Inject + +class BannerRepositoryImpl @Inject constructor( + private val bannerRemoteDataSource: BannerRemoteDataSource +) : BannerRepository { + override suspend fun getBanner(): List = + bannerRemoteDataSource.getBanner().map { it.toEntity() } +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/repository/CrowdFundingRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/CrowdFundingRepositoryImpl.kt similarity index 67% rename from data/src/main/java/com/danbam/data/repository/CrowdFundingRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/CrowdFundingRepositoryImpl.kt index 9a781822..6f736675 100644 --- a/data/src/main/java/com/danbam/data/repository/CrowdFundingRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/CrowdFundingRepositoryImpl.kt @@ -1,15 +1,15 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository import androidx.paging.PagingData import androidx.paging.map -import com.danbam.data.remote.datasource.CrowdFundingRemoteDataSource -import com.danbam.data.remote.request.funding.toRequest -import com.danbam.data.remote.response.funding.toEntity -import com.danbam.domain.entity.funding.FundingDetailEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.funding.MyFundingEntity -import com.danbam.domain.param.funding.FundingCreateParam -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.data.remote.datasource.CrowdFundingRemoteDataSource +import com.danbam.indistraw.core.data.remote.request.funding.toRequest +import com.danbam.indistraw.core.data.remote.response.funding.toEntity +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.param.funding.FundingCreateParam +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import javax.inject.Inject diff --git a/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FileRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FileRepositoryImpl.kt new file mode 100644 index 00000000..34c17b54 --- /dev/null +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FileRepositoryImpl.kt @@ -0,0 +1,16 @@ +package com.danbam.indistraw.core.data.repository + +import com.danbam.indistraw.core.data.remote.datasource.FileRemoteDataSource +import com.danbam.indistraw.core.data.remote.response.file.toEntity +import com.danbam.indistraw.core.data.util.toMultipartBody +import com.danbam.indistraw.core.entity.file.FileEntity +import com.danbam.indistraw.core.domain.repository.FileRepository +import java.io.File +import javax.inject.Inject + +class FileRepositoryImpl @Inject constructor( + private val fileRemoteDataSource: FileRemoteDataSource, +) : FileRepository { + override suspend fun sendFile(file: File): FileEntity = + fileRemoteDataSource.sendFile(file = file.toMultipartBody()).toEntity() +} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/repository/FundingRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FundingRepositoryImpl.kt similarity index 59% rename from data/src/main/java/com/danbam/data/repository/FundingRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FundingRepositoryImpl.kt index 799b55d3..c13e5490 100644 --- a/data/src/main/java/com/danbam/data/repository/FundingRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/FundingRepositoryImpl.kt @@ -1,11 +1,11 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository -import com.danbam.data.remote.datasource.FundingRemoteDataSource -import com.danbam.data.remote.request.funding.toRequest -import com.danbam.data.remote.response.funding.toEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.param.funding.FundingParam -import com.danbam.domain.repository.FundingRepository +import com.danbam.indistraw.core.data.remote.datasource.FundingRemoteDataSource +import com.danbam.indistraw.core.data.remote.request.funding.toRequest +import com.danbam.indistraw.core.data.remote.response.funding.toEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.param.funding.FundingParam +import com.danbam.indistraw.core.domain.repository.FundingRepository import javax.inject.Inject class FundingRepositoryImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/repository/MovieRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/MovieRepositoryImpl.kt similarity index 72% rename from data/src/main/java/com/danbam/data/repository/MovieRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/MovieRepositoryImpl.kt index de41479a..6c8719e1 100644 --- a/data/src/main/java/com/danbam/data/repository/MovieRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/MovieRepositoryImpl.kt @@ -1,20 +1,20 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository import androidx.paging.PagingData import androidx.paging.map -import com.danbam.data.remote.datasource.MovieRemoteDataSource -import com.danbam.data.remote.request.movie.toRequest -import com.danbam.data.remote.response.movie.toEntity -import com.danbam.domain.entity.movie.DetailMovieHistoryEntity -import com.danbam.domain.entity.movie.MovieDetailEntity -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.entity.movie.MovieHistoryEntity -import com.danbam.domain.entity.movie.MoviePeopleDetailEntity -import com.danbam.domain.entity.movie.MoviePeopleEntity -import com.danbam.domain.param.movie.MovieCreateParam -import com.danbam.domain.param.movie.MovieHistoryParam -import com.danbam.domain.param.movie.MoviePeopleParam -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.data.remote.datasource.MovieRemoteDataSource +import com.danbam.indistraw.core.data.remote.request.movie.toRequest +import com.danbam.indistraw.core.data.remote.response.movie.toEntity +import com.danbam.indistraw.core.entity.movie.DetailMovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.MovieDetailEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleDetailEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.param.movie.MovieCreateParam +import com.danbam.indistraw.core.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.param.movie.MoviePeopleParam +import com.danbam.indistraw.core.domain.repository.MovieRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/repository/QRCodeRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/QRCodeRepositoryImpl.kt similarity index 77% rename from data/src/main/java/com/danbam/data/repository/QRCodeRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/QRCodeRepositoryImpl.kt index 99ea8f97..9078e36d 100644 --- a/data/src/main/java/com/danbam/data/repository/QRCodeRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/QRCodeRepositoryImpl.kt @@ -1,10 +1,8 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository -import com.danbam.data.local.datasource.AuthLocalDataSource -import com.danbam.data.remote.datasource.QRCodeRemoteDataSource -import com.danbam.domain.repository.QRCodeRepository -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext +import com.danbam.indistraw.core.data.local.datasource.AuthLocalDataSource +import com.danbam.indistraw.core.data.remote.datasource.QRCodeRemoteDataSource +import com.danbam.indistraw.core.domain.repository.QRCodeRepository import java.util.UUID import javax.inject.Inject diff --git a/data/src/main/java/com/danbam/data/repository/SearchRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SearchRepositoryImpl.kt similarity index 70% rename from data/src/main/java/com/danbam/data/repository/SearchRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SearchRepositoryImpl.kt index 5e2bbb22..f9309a53 100644 --- a/data/src/main/java/com/danbam/data/repository/SearchRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SearchRepositoryImpl.kt @@ -1,19 +1,17 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository import androidx.paging.PagingData import androidx.paging.map -import com.danbam.data.local.datasource.SearchLocalDataSource -import com.danbam.data.local.entity.search.toDB -import com.danbam.data.local.entity.search.toDomain -import com.danbam.data.remote.datasource.SearchRemoteDataSource -import com.danbam.data.remote.response.funding.toEntity -import com.danbam.data.remote.response.movie.toEntity -import com.danbam.data.remote.response.search.toEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.entity.search.RelatedSearchEntity -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.data.local.datasource.SearchLocalDataSource +import com.danbam.indistraw.core.data.local.entity.search.toDB +import com.danbam.indistraw.core.data.local.entity.search.toDomain +import com.danbam.indistraw.core.data.remote.datasource.SearchRemoteDataSource +import com.danbam.indistraw.core.data.remote.response.funding.toEntity +import com.danbam.indistraw.core.data.remote.response.movie.toEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.domain.repository.SearchRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import javax.inject.Inject @@ -22,8 +20,8 @@ class SearchRepositoryImpl @Inject constructor( private val searchLocalDataSource: SearchLocalDataSource, private val searchRemoteDataSource: SearchRemoteDataSource ) : SearchRepository { - override suspend fun getRelatedSearch(keyword: String): List = - searchRemoteDataSource.getRelatedSearch(keyword = keyword).map { it.toEntity() } + override suspend fun getRelatedSearch(keyword: String): List = + searchRemoteDataSource.getRelatedSearch(keyword = keyword) override suspend fun searchMovie(recentSearchEntity: RecentSearchEntity): Flow> { saveRecentSearch(recentSearchEntity = recentSearchEntity) diff --git a/data/src/main/java/com/danbam/data/repository/SystemRepositoryImpl.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SystemRepositoryImpl.kt similarity index 65% rename from data/src/main/java/com/danbam/data/repository/SystemRepositoryImpl.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SystemRepositoryImpl.kt index 02c99edd..411941cd 100644 --- a/data/src/main/java/com/danbam/data/repository/SystemRepositoryImpl.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/repository/SystemRepositoryImpl.kt @@ -1,7 +1,7 @@ -package com.danbam.data.repository +package com.danbam.indistraw.core.data.repository -import com.danbam.data.local.datasource.SystemLocalDataSource -import com.danbam.domain.repository.SystemRepository +import com.danbam.indistraw.core.data.local.datasource.SystemLocalDataSource +import com.danbam.indistraw.core.domain.repository.SystemRepository import javax.inject.Inject class SystemRepositoryImpl @Inject constructor( diff --git a/data/src/main/java/com/danbam/data/util/FileUtil.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/FileUtil.kt similarity index 89% rename from data/src/main/java/com/danbam/data/util/FileUtil.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/FileUtil.kt index b2f03c81..9aa305e5 100644 --- a/data/src/main/java/com/danbam/data/util/FileUtil.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/FileUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.data.util +package com.danbam.indistraw.core.data.util import okhttp3.MediaType.Companion.toMediaType import okhttp3.MultipartBody diff --git a/data/src/main/java/com/danbam/data/util/TimeUtil.kt b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/TimeUtil.kt similarity index 76% rename from data/src/main/java/com/danbam/data/util/TimeUtil.kt rename to core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/TimeUtil.kt index 28d67885..36d73a33 100644 --- a/data/src/main/java/com/danbam/data/util/TimeUtil.kt +++ b/core/data/src/main/kotlin/com/danbam/indistraw/core/data/util/TimeUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.data.util +package com.danbam.indistraw.core.data.util import java.time.LocalDateTime import java.time.ZoneId diff --git a/domain/.gitignore b/core/design-system/.gitignore similarity index 100% rename from domain/.gitignore rename to core/design-system/.gitignore diff --git a/core/design-system/build.gradle.kts b/core/design-system/build.gradle.kts new file mode 100644 index 00000000..5cdd356d --- /dev/null +++ b/core/design-system/build.gradle.kts @@ -0,0 +1,39 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties + +plugins { + id("indistraw-core") +} + +android { + namespace = "com.danbam.indistraw.core.design_system" + defaultConfig { + buildConfigField( + "String", + "VIDEO_PRE_PATH", + gradleLocalProperties(rootDir).getProperty("VIDEO_PRE_PATH") + ) + buildConfigField( + "String", + "PAY_KEY", + gradleLocalProperties(rootDir).getProperty("PAY_KEY") + ) + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = libs.versions.compose.get() + } +} + +dependencies { + implementation(project(":core:domain")) + implementation(libs.bundles.compose) + implementation(libs.coil) + implementation(libs.bundles.exoplayer) + implementation(libs.bundles.camera) + implementation(libs.bundles.barcode) + implementation(libs.bundles.tv) + implementation(libs.bundles.retrofit) + implementation(libs.bootpay) +} \ No newline at end of file diff --git a/design-system/src/main/AndroidManifest.xml b/core/design-system/src/main/AndroidManifest.xml similarity index 100% rename from design-system/src/main/AndroidManifest.xml rename to core/design-system/src/main/AndroidManifest.xml diff --git a/design-system/src/main/java/com/danbam/design_system/Theme.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/Theme.kt similarity index 63% rename from design-system/src/main/java/com/danbam/design_system/Theme.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/Theme.kt index 6689d954..2cef8ee6 100644 --- a/design-system/src/main/java/com/danbam/design_system/Theme.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/Theme.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system +package com.danbam.indistraw.core.design_system import androidx.compose.foundation.background import androidx.compose.foundation.isSystemInDarkTheme @@ -8,7 +8,16 @@ import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import com.danbam.design_system.attribute.* +import com.danbam.indistraw.core.design_system.attribute.IndiStrawColor +import com.danbam.indistraw.core.design_system.attribute.IndiStrawShape +import com.danbam.indistraw.core.design_system.attribute.IndiStrawTypography +import com.danbam.indistraw.core.design_system.attribute.LocalIndiStrawColors +import com.danbam.indistraw.core.design_system.attribute.LocalIndiStrawShapes +import com.danbam.indistraw.core.design_system.attribute.LocalIndiStrawTypography +import com.danbam.indistraw.core.design_system.attribute.darkColor +import com.danbam.indistraw.core.design_system.attribute.defaultShape +import com.danbam.indistraw.core.design_system.attribute.defaultTypography +import com.danbam.indistraw.core.design_system.attribute.lightColor @Composable fun IndiStrawTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit) { diff --git a/design-system/src/main/java/com/danbam/design_system/attribute/Color.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Color.kt similarity index 97% rename from design-system/src/main/java/com/danbam/design_system/attribute/Color.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Color.kt index b158dc64..39b33ee3 100644 --- a/design-system/src/main/java/com/danbam/design_system/attribute/Color.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Color.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.attribute +package com.danbam.indistraw.core.design_system.attribute import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.graphics.Color diff --git a/design-system/src/main/java/com/danbam/design_system/attribute/Icon.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Icon.kt similarity index 98% rename from design-system/src/main/java/com/danbam/design_system/attribute/Icon.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Icon.kt index b289480d..4ab0950f 100644 --- a/design-system/src/main/java/com/danbam/design_system/attribute/Icon.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Icon.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.attribute +package com.danbam.indistraw.core.design_system.attribute import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -10,7 +10,7 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.DefaultAlpha import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource -import com.danbam.design_system.R +import com.danbam.indistraw.core.design_system.R import javax.annotation.concurrent.Immutable @Composable diff --git a/design-system/src/main/java/com/danbam/design_system/attribute/Shape.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Shape.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/attribute/Shape.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Shape.kt index 40fb41a2..7f9afe7f 100644 --- a/design-system/src/main/java/com/danbam/design_system/attribute/Shape.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Shape.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.attribute +package com.danbam.indistraw.core.design_system.attribute import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.ZeroCornerSize diff --git a/design-system/src/main/java/com/danbam/design_system/attribute/Typegraphy.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Typegraphy.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/attribute/Typegraphy.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Typegraphy.kt index e9e91d22..64bc463c 100644 --- a/design-system/src/main/java/com/danbam/design_system/attribute/Typegraphy.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/attribute/Typegraphy.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.attribute +package com.danbam.indistraw.core.design_system.attribute import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf @@ -6,8 +6,7 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.sp -import com.danbam.design_system.R +import com.danbam.indistraw.core.design_system.R internal val suit = FontFamily( Font(R.font.suit_bold, FontWeight.Bold), diff --git a/design-system/src/main/java/com/danbam/design_system/component/Background.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Background.kt similarity index 89% rename from design-system/src/main/java/com/danbam/design_system/component/Background.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Background.kt index 3efec526..e2255ae7 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Background.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Background.kt @@ -1,23 +1,20 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.LocalOverscrollConfiguration import androidx.compose.foundation.background -import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/design-system/src/main/java/com/danbam/design_system/component/BottomSheetLayout.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/BottomSheetLayout.kt similarity index 95% rename from design-system/src/main/java/com/danbam/design_system/component/BottomSheetLayout.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/BottomSheetLayout.kt index 2e24c570..260258a6 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/BottomSheetLayout.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/BottomSheetLayout.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.activity.compose.BackHandler import androidx.compose.foundation.background @@ -19,7 +19,7 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.IndiStrawTheme import kotlinx.coroutines.launch @OptIn(ExperimentalMaterialApi::class) diff --git a/design-system/src/main/java/com/danbam/design_system/component/Button.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Button.kt similarity index 93% rename from design-system/src/main/java/com/danbam/design_system/component/Button.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Button.kt index afc6cbd4..b8c1b25f 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Button.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Button.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import android.Manifest import android.graphics.Bitmap @@ -42,15 +42,15 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.LaunchType -import com.danbam.design_system.util.checkAndRequestPermissions -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.rememberLauncher -import com.danbam.design_system.util.typedLaunch +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.LaunchType +import com.danbam.indistraw.core.design_system.util.android.checkAndRequestPermissions +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.rememberLauncher +import com.danbam.indistraw.core.design_system.util.androidx.typedLaunch sealed class Shape { object None : Shape() diff --git a/design-system/src/main/java/com/danbam/design_system/component/CheckBox.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/CheckBox.kt similarity index 73% rename from design-system/src/main/java/com/danbam/design_system/component/CheckBox.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/CheckBox.kt index d7685874..9d63b632 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/CheckBox.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/CheckBox.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.border import androidx.compose.foundation.layout.Box @@ -6,10 +6,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun IndiStrawCheckBox( diff --git a/design-system/src/main/java/com/danbam/design_system/component/Chip.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Chip.kt similarity index 91% rename from design-system/src/main/java/com/danbam/design_system/component/Chip.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Chip.kt index a6c5ed9f..778c628c 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Chip.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Chip.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -9,10 +9,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.util.RemoveOverScrollLazyRow -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable sealed class MovieGenre(val stringId: Int, val genre: String?) { companion object { diff --git a/design-system/src/main/java/com/danbam/design_system/component/DatePicker.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/DatePicker.kt similarity index 94% rename from design-system/src/main/java/com/danbam/design_system/component/DatePicker.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/DatePicker.kt index a8ae7172..9b35e9ee 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/DatePicker.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/DatePicker.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -17,8 +17,8 @@ import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.util.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.filter import java.time.LocalDate diff --git a/design-system/src/main/java/com/danbam/design_system/component/Dialog.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Dialog.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/component/Dialog.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Dialog.kt index 77bf8bdc..bf302e00 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Dialog.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Dialog.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -11,11 +11,8 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment.Companion.End import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusRequester -import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog @@ -23,9 +20,9 @@ import androidx.compose.ui.window.DialogProperties import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun IndiStrawDialog( diff --git a/design-system/src/main/java/com/danbam/design_system/component/Drawer.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Drawer.kt similarity index 94% rename from design-system/src/main/java/com/danbam/design_system/component/Drawer.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Drawer.kt index 7b1ca9ac..94679e0f 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Drawer.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Drawer.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background @@ -30,10 +30,10 @@ import androidx.tv.material3.DrawerValue import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.ModalNavigationDrawer import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList sealed class TvNavigationItem(val route: String, val icon: IndiStrawIconList, val titleId: Int) { object Search : TvNavigationItem("search", IndiStrawIconList.NavSearch, R.string.search) diff --git a/design-system/src/main/java/com/danbam/design_system/component/ExoPlayer.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ExoPlayer.kt similarity index 82% rename from design-system/src/main/java/com/danbam/design_system/component/ExoPlayer.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ExoPlayer.kt index f470d5ac..8f9b026c 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/ExoPlayer.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ExoPlayer.kt @@ -1,5 +1,6 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component +import android.content.pm.ActivityInfo import android.view.ViewGroup import android.widget.FrameLayout import androidx.activity.compose.BackHandler @@ -40,22 +41,30 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.input.key.onKeyEvent import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView -import com.danbam.design_system.BuildConfig -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.formatMinSec -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.BuildConfig +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.HideSystemUI +import com.danbam.indistraw.core.design_system.util.androidx.LockScreenOrientation +import com.danbam.indistraw.core.design_system.util.google.detectKeyEvent +import com.danbam.indistraw.core.design_system.util.internal.formatMinSec +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable import com.google.android.exoplayer2.C import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.MediaItem import com.google.android.exoplayer2.Player import com.google.android.exoplayer2.Player.STATE_ENDED +import com.google.android.exoplayer2.source.ProgressiveMediaSource +import com.google.android.exoplayer2.source.hls.HlsMediaSource import com.google.android.exoplayer2.ui.StyledPlayerView +import com.google.android.exoplayer2.upstream.DefaultHttpDataSource +import com.google.android.exoplayer2.util.Util import kotlinx.coroutines.MainScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -66,9 +75,12 @@ fun IndiStrawPlayer( movieUrl: String, movieName: String, position: Float, + isMobile: Boolean, + isVertical: Boolean, onPIP: () -> Unit, onDispose: (Long) -> Unit ) { + HideSystemUI() val context = LocalContext.current val exoPlayer = remember { ExoPlayer.Builder(context) @@ -79,8 +91,15 @@ fun IndiStrawPlayer( val mediaItem = MediaItem.Builder() .setUri("${BuildConfig.VIDEO_PRE_PATH}$movieUrl") .build() + val userAgent = Util.getUserAgent(context, context.applicationInfo.name) + val factory = DefaultHttpDataSource.Factory().apply { + setUserAgent(userAgent) + } + val hlsMediaSource = HlsMediaSource.Factory(factory).createMediaSource(mediaItem) + val progressiveMediaSource = + ProgressiveMediaSource.Factory(factory).createMediaSource(mediaItem) + setMediaSource(progressiveMediaSource) videoScalingMode = C.VIDEO_SCALING_MODE_SCALE_TO_FIT - setMediaItem(mediaItem) prepare() playWhenReady = true seekTo((position * 1000).toLong()) @@ -90,13 +109,17 @@ fun IndiStrawPlayer( var isPlaying by remember { mutableStateOf(exoPlayer.isPlaying) } var isLock by remember { mutableStateOf(false) } + if (!isVertical && isMobile) { + LockScreenOrientation(orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) + } + BackHandler { onDispose(exoPlayer.currentPosition) } LaunchedEffect(isVisible) { if (isVisible && exoPlayer.playbackState != STATE_ENDED) { - delay(2000L) + delay(1500L) isVisible = false } } @@ -105,6 +128,9 @@ fun IndiStrawPlayer( Box( modifier = modifier .fillMaxSize() + .onKeyEvent { + exoPlayer.detectKeyEvent(it.nativeKeyEvent) + } .indiStrawClickable { isVisible = !isVisible } @@ -135,39 +161,49 @@ fun IndiStrawPlayer( } } - IndiStrawController( - exoPlayer = exoPlayer, - movieName = movieName, - isVisible = isVisible, - isLock = isLock, - isPlaying = isPlaying, - onBack = { exoPlayer.seekBack() }, - onForward = { exoPlayer.seekForward() }, - onPause = { - when { - isPlaying -> { - exoPlayer.pause() - } + if (isMobile) { + IndiStrawMobileController( + exoPlayer = exoPlayer, + movieName = movieName, + isVisible = isVisible, + isLock = isLock, + isPlaying = isPlaying, + onBack = { exoPlayer.seekBack() }, + onForward = { exoPlayer.seekForward() }, + onPause = { + when { + isPlaying -> { + exoPlayer.pause() + } - !isPlaying -> { - exoPlayer.play() + !isPlaying -> { + exoPlayer.play() + } } - } - }, - onFinish = { onDispose(exoPlayer.currentPosition) }, - onLock = { isLock = !isLock }, - onPIP = { - isVisible = false - onPIP() - }, - onTouchPlayer = { isVisible = !isVisible }, - onSeekChanged = { exoPlayer.seekTo(it.toLong()) } - ) + }, + onFinish = { onDispose(exoPlayer.currentPosition) }, + onLock = { isLock = !isLock }, + onPIP = { + isVisible = false + onPIP() + }, + onTouchPlayer = { isVisible = !isVisible }, + onSeekChanged = { exoPlayer.seekTo(it.toLong()) } + ) + } else { + + } +} + +fun IndiStrawTvController( + +) { + } @OptIn(ExperimentalAnimationApi::class) @Composable -fun IndiStrawController( +fun IndiStrawMobileController( exoPlayer: ExoPlayer, movieName: String, isVisible: Boolean, diff --git a/design-system/src/main/java/com/danbam/design_system/component/Header.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Header.kt similarity index 86% rename from design-system/src/main/java/com/danbam/design_system/component/Header.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Header.kt index b2fa3580..9d3b4159 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Header.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Header.kt @@ -1,9 +1,8 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -15,10 +14,10 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun IndiStrawHeader( diff --git a/design-system/src/main/java/com/danbam/design_system/component/Item.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Item.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/component/Item.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Item.kt index d503071a..6f124021 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Item.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Item.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.ExperimentalFoundationApi @@ -30,16 +30,16 @@ import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.toCommaString -import com.danbam.domain.entity.funding.FundingDetailEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.internal.toCommaString +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity sealed class RewardType { object Default : RewardType() diff --git a/design-system/src/main/java/com/danbam/design_system/component/List.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/List.kt similarity index 89% rename from design-system/src/main/java/com/danbam/design_system/component/List.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/List.kt index bc9ed3fd..5646aab1 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/List.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/List.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import android.net.Uri import androidx.compose.foundation.BorderStroke @@ -21,16 +21,16 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.LaunchType -import com.danbam.design_system.util.RemoveOverScrollLazyRow -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.rememberLauncher -import com.danbam.design_system.util.typedLaunch -import com.danbam.domain.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.LaunchType +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.rememberLauncher +import com.danbam.indistraw.core.design_system.util.androidx.typedLaunch +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity @Composable fun AddImageList( diff --git a/design-system/src/main/java/com/danbam/design_system/component/ProgressBar.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ProgressBar.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/component/ProgressBar.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ProgressBar.kt index 7be2e8fa..e2c36255 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/ProgressBar.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ProgressBar.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.background @@ -19,7 +19,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.IndiStrawTheme sealed class MakeFundingProgress(val progress: Int) { object WriteIntroduce : MakeFundingProgress(0) diff --git a/design-system/src/main/java/com/danbam/design_system/component/QRPainter.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRPainter.kt similarity index 90% rename from design-system/src/main/java/com/danbam/design_system/component/QRPainter.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRPainter.kt index 536f5f00..0a6ceae6 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/QRPainter.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRPainter.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable diff --git a/design-system/src/main/java/com/danbam/design_system/component/QRScanner.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRScanner.kt similarity index 98% rename from design-system/src/main/java/com/danbam/design_system/component/QRScanner.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRScanner.kt index 094ea84f..62cf96b8 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/QRScanner.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/QRScanner.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import android.annotation.SuppressLint import androidx.activity.ComponentActivity diff --git a/design-system/src/main/java/com/danbam/design_system/component/TabLayout.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TabLayout.kt similarity index 93% rename from design-system/src/main/java/com/danbam/design_system/component/TabLayout.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TabLayout.kt index 66c39c6b..e7c2c2a3 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/TabLayout.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TabLayout.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -31,13 +31,13 @@ import androidx.compose.ui.unit.dp import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.util.RemoveOverScrollLazyRow -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.toDp -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.internal.toDp +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.withContext diff --git a/design-system/src/main/java/com/danbam/design_system/component/TextField.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextField.kt similarity index 94% rename from design-system/src/main/java/com/danbam/design_system/component/TextField.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextField.kt index e3506d97..d1c52e2f 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/TextField.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextField.kt @@ -1,20 +1,17 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component -import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -30,11 +27,10 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.indiStrawClickable -import kotlinx.coroutines.delay +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun IndiStrawTextField( diff --git a/design-system/src/main/java/com/danbam/design_system/component/TextView.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextView.kt similarity index 99% rename from design-system/src/main/java/com/danbam/design_system/component/TextView.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextView.kt index 4a4153fc..5144b8c2 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/TextView.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/TextView.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -10,7 +10,7 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.sp -import com.danbam.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.IndiStrawTheme @Composable fun HeadLineBold( diff --git a/design-system/src/main/java/com/danbam/design_system/component/Toggle.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Toggle.kt similarity index 85% rename from design-system/src/main/java/com/danbam/design_system/component/Toggle.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Toggle.kt index 5f855c8b..9f85b06c 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/Toggle.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/Toggle.kt @@ -1,7 +1,6 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding @@ -10,8 +9,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun IndiStrawToggle( diff --git a/design-system/src/main/java/com/danbam/design_system/component/ViewPager.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ViewPager.kt similarity index 97% rename from design-system/src/main/java/com/danbam/design_system/component/ViewPager.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ViewPager.kt index 24d701c0..732bcc41 100644 --- a/design-system/src/main/java/com/danbam/design_system/component/ViewPager.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/component/ViewPager.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.component +package com.danbam.indistraw.core.design_system.component import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background @@ -19,8 +19,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.util.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.delay import kotlinx.coroutines.withContext diff --git a/mobile/src/main/java/com/danbam/mobile/util/android/ContextUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/ContextUtil.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/util/android/ContextUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/ContextUtil.kt index 9bb36ae2..d5c8ba6c 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/android/ContextUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/ContextUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.util.android +package com.danbam.indistraw.core.design_system.util.android import android.app.Activity import android.content.Context diff --git a/mobile/src/main/java/com/danbam/mobile/util/parser/FileUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/FileUtil.kt similarity index 91% rename from mobile/src/main/java/com/danbam/mobile/util/parser/FileUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/FileUtil.kt index dc7a6142..0492ce50 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/parser/FileUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/FileUtil.kt @@ -1,17 +1,14 @@ -package com.danbam.mobile.util.parser +package com.danbam.indistraw.core.design_system.util.android import android.annotation.SuppressLint import android.content.Context import android.graphics.Bitmap import android.net.Uri import android.os.Environment -import android.provider.OpenableColumns -import androidx.core.net.toFile import java.io.File import java.io.FileOutputStream import java.io.OutputStream import java.lang.RuntimeException -import java.net.URLDecoder import java.time.LocalDateTime @SuppressLint("Range") diff --git a/design-system/src/main/java/com/danbam/design_system/util/PermissionUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/PermissionUtil.kt similarity index 85% rename from design-system/src/main/java/com/danbam/design_system/util/PermissionUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/PermissionUtil.kt index 30384ff8..6eab0b2f 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/PermissionUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/PermissionUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.android import android.content.Context import android.content.pm.PackageManager diff --git a/design-system/src/main/java/com/danbam/design_system/util/SystemUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/SystemUtil.kt similarity index 87% rename from design-system/src/main/java/com/danbam/design_system/util/SystemUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/SystemUtil.kt index d9d9b911..cefbdd6b 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/SystemUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/android/SystemUtil.kt @@ -1,8 +1,8 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.android import android.content.Context import android.content.res.Configuration -import com.danbam.design_system.R +import com.danbam.indistraw.core.design_system.R import java.util.Locale sealed class Language(val type: String, val stringId: Int) { diff --git a/design-system/src/main/java/com/danbam/design_system/util/Clickable.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/Clickable.kt similarity index 95% rename from design-system/src/main/java/com/danbam/design_system/util/Clickable.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/Clickable.kt index e7bdf5de..477aab88 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/Clickable.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/Clickable.kt @@ -1,7 +1,6 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.androidx import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.material.ripple.rememberRipple diff --git a/mobile/src/main/java/com/danbam/mobile/util/view/FocusUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/FocusUtil.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/util/view/FocusUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/FocusUtil.kt index 904c5940..f453142c 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/view/FocusUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/FocusUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.util.view +package com.danbam.indistraw.core.design_system.util.androidx import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.focus.FocusRequester diff --git a/design-system/src/main/java/com/danbam/design_system/util/LauncherUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LauncherUtil.kt similarity index 96% rename from design-system/src/main/java/com/danbam/design_system/util/LauncherUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LauncherUtil.kt index 8d55ef8e..c572c7ca 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/LauncherUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LauncherUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.androidx import android.app.Activity import android.content.Intent diff --git a/design-system/src/main/java/com/danbam/design_system/util/LazyList.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LazyList.kt similarity index 98% rename from design-system/src/main/java/com/danbam/design_system/util/LazyList.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LazyList.kt index 34ccfd7a..1012a815 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/LazyList.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LazyList.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.androidx import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.LocalOverscrollConfiguration diff --git a/mobile/src/main/java/com/danbam/mobile/util/android/LifeCycleUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LifeCycleUtil.kt similarity index 94% rename from mobile/src/main/java/com/danbam/mobile/util/android/LifeCycleUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LifeCycleUtil.kt index a313efc3..50d891ff 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/android/LifeCycleUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/LifeCycleUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.util.android +package com.danbam.indistraw.core.design_system.util.androidx import androidx.activity.ComponentActivity import androidx.compose.runtime.Composable diff --git a/mobile/src/main/java/com/danbam/mobile/util/view/NavigationUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/NavigationUtil.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/util/view/NavigationUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/NavigationUtil.kt index 0e41cd06..935fb851 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/view/NavigationUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/NavigationUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.util.view +package com.danbam.indistraw.core.design_system.util.androidx import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.platform.SoftwareKeyboardController diff --git a/mobile/src/main/java/com/danbam/mobile/util/view/OrientationUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/OrientationUtil.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/util/view/OrientationUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/OrientationUtil.kt index 86e3ba9f..a48bcefd 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/view/OrientationUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/OrientationUtil.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.util.view +package com.danbam.indistraw.core.design_system.util.androidx import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.ui.platform.LocalContext -import com.danbam.mobile.util.android.findActivity +import com.danbam.indistraw.core.design_system.util.android.findActivity @Composable fun LockScreenOrientation(orientation: Int) { diff --git a/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/ViewUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/ViewUtil.kt new file mode 100644 index 00000000..dabc325b --- /dev/null +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/androidx/ViewUtil.kt @@ -0,0 +1,26 @@ +package com.danbam.indistraw.core.design_system.util.androidx + +import android.view.View +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.ui.platform.LocalContext +import com.danbam.indistraw.core.design_system.util.android.findActivity + +@Composable +fun HideSystemUI() { + val context = LocalContext.current + DisposableEffect(Unit) { + val activity = context.findActivity() ?: return@DisposableEffect onDispose { } + val originalSystemUI = activity.window.decorView.systemUiVisibility + activity.window.decorView.systemUiVisibility = + View.SYSTEM_UI_FLAG_LAYOUT_STABLE or + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or + View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_FULLSCREEN or + View.SYSTEM_UI_FLAG_IMMERSIVE + onDispose { + activity.window.decorView.systemUiVisibility = originalSystemUI + } + } +} \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/util/pay/BootPay.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/bootpay/BootPay.kt similarity index 94% rename from mobile/src/main/java/com/danbam/mobile/util/pay/BootPay.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/bootpay/BootPay.kt index 67d09057..e2362369 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/pay/BootPay.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/bootpay/BootPay.kt @@ -1,9 +1,8 @@ -package com.danbam.mobile.util.pay +package com.danbam.indistraw.core.design_system.util.bootpay import android.app.Activity import android.content.Context -import androidx.fragment.app.FragmentManager -import com.danbam.mobile.BuildConfig +import com.danbam.indistraw.core.design_system.BuildConfig import com.google.gson.Gson import com.google.gson.annotations.SerializedName import kr.co.bootpay.android.Bootpay diff --git a/mobile/src/main/java/com/danbam/mobile/util/android/ErrorHandlingUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/danbam/ErrorHandlingUtil.kt similarity index 75% rename from mobile/src/main/java/com/danbam/mobile/util/android/ErrorHandlingUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/danbam/ErrorHandlingUtil.kt index 48264654..c2275d61 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/android/ErrorHandlingUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/danbam/ErrorHandlingUtil.kt @@ -1,13 +1,13 @@ -package com.danbam.mobile.util.android +package com.danbam.indistraw.core.design_system.util.danbam import android.util.Log -import com.danbam.domain.exception.ConflictDataException -import com.danbam.domain.exception.ExpiredTokenException -import com.danbam.domain.exception.InvalidTokenException -import com.danbam.domain.exception.NotFoundException -import com.danbam.domain.exception.ServerErrorException -import com.danbam.domain.exception.TooManyRequestException -import com.danbam.domain.exception.WrongDataException +import com.danbam.indistraw.core.domain.exception.ConflictDataException +import com.danbam.indistraw.core.domain.exception.ExpiredTokenException +import com.danbam.indistraw.core.domain.exception.InvalidTokenException +import com.danbam.indistraw.core.domain.exception.NotFoundException +import com.danbam.indistraw.core.domain.exception.ServerErrorException +import com.danbam.indistraw.core.domain.exception.TooManyRequestException +import com.danbam.indistraw.core.domain.exception.WrongDataException suspend fun Throwable.errorHandling( unknownAction: suspend () -> Unit, diff --git a/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/google/ExoPlayerUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/google/ExoPlayerUtil.kt new file mode 100644 index 00000000..8c85c53f --- /dev/null +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/google/ExoPlayerUtil.kt @@ -0,0 +1,48 @@ +package com.danbam.indistraw.core.design_system.util.google + +import android.view.KeyEvent +import com.google.android.exoplayer2.C +import com.google.android.exoplayer2.ExoPlayer +import com.google.android.exoplayer2.Player + +fun ExoPlayer.detectKeyEvent(event: KeyEvent): Boolean { + val keyCode: Int = event.keyCode + if (event.action == KeyEvent.ACTION_DOWN) { + if (keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD) { + if (playbackState != Player.STATE_ENDED) { + seekForward() + } + } else if (keyCode == KeyEvent.KEYCODE_MEDIA_REWIND) { + seekBack() + } else if (event.repeatCount == 0) { + when (keyCode) { + KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, KeyEvent.KEYCODE_HEADSETHOOK -> dispatchPlayPause() + KeyEvent.KEYCODE_MEDIA_PLAY -> dispatchPlay() + KeyEvent.KEYCODE_MEDIA_PAUSE -> pause() + KeyEvent.KEYCODE_MEDIA_NEXT -> seekToNext() + KeyEvent.KEYCODE_MEDIA_PREVIOUS -> seekToPrevious() + else -> {} + } + } + } + return true +} + +private fun ExoPlayer.dispatchPlayPause() { + val state = playbackState + if (state == Player.STATE_IDLE || state == Player.STATE_ENDED || !playWhenReady) { + dispatchPlay() + } else { + pause() + } +} + +private fun ExoPlayer.dispatchPlay() { + val state = playbackState + if (state == Player.STATE_IDLE) { + prepare() + } else if (state == Player.STATE_ENDED) { + seekTo(currentMediaItemIndex, C.TIME_UNSET) + } + play() +} \ No newline at end of file diff --git a/design-system/src/main/java/com/danbam/design_system/util/GraphicUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/GraphicUtil.kt similarity index 71% rename from design-system/src/main/java/com/danbam/design_system/util/GraphicUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/GraphicUtil.kt index 509b798d..0ad61cbe 100644 --- a/design-system/src/main/java/com/danbam/design_system/util/GraphicUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/GraphicUtil.kt @@ -1,4 +1,4 @@ -package com.danbam.design_system.util +package com.danbam.indistraw.core.design_system.util.internal import android.content.Context import kotlin.math.roundToInt diff --git a/mobile/src/main/java/com/danbam/mobile/util/parser/StringUtil.kt b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/StringUtil.kt similarity index 54% rename from mobile/src/main/java/com/danbam/mobile/util/parser/StringUtil.kt rename to core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/StringUtil.kt index 32dbcc55..b92adf8d 100644 --- a/mobile/src/main/java/com/danbam/mobile/util/parser/StringUtil.kt +++ b/core/design-system/src/main/kotlin/com/danbam/indistraw/core/design_system/util/internal/StringUtil.kt @@ -1,6 +1,17 @@ -package com.danbam.mobile.util.parser +package com.danbam.indistraw.core.design_system.util.internal import java.text.DecimalFormat +import java.util.concurrent.TimeUnit + +fun Long.toCommaString(): String = DecimalFormat("#,###").format(this) + +fun Long.formatMinSec(): String = String.format( + "%02d : %02d", + TimeUnit.MILLISECONDS.toMinutes(this), + TimeUnit.MILLISECONDS.toSeconds(this) - TimeUnit.MINUTES.toSeconds( + TimeUnit.MILLISECONDS.toMinutes(this) + ) +) fun String.isPassword(): Boolean = "^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#\$%^&*?~])[0-9a-zA-Z!@#\$%^&*?~]+\$".toRegex() diff --git a/design-system/src/main/res/drawable/ic_attaced.xml b/core/design-system/src/main/res/drawable/ic_attaced.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_attaced.xml rename to core/design-system/src/main/res/drawable/ic_attaced.xml diff --git a/design-system/src/main/res/drawable/ic_back.xml b/core/design-system/src/main/res/drawable/ic_back.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_back.xml rename to core/design-system/src/main/res/drawable/ic_back.xml diff --git a/design-system/src/main/res/drawable/ic_bank_gwang.xml b/core/design-system/src/main/res/drawable/ic_bank_gwang.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_gwang.xml rename to core/design-system/src/main/res/drawable/ic_bank_gwang.xml diff --git a/design-system/src/main/res/drawable/ic_bank_hana.xml b/core/design-system/src/main/res/drawable/ic_bank_hana.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_hana.xml rename to core/design-system/src/main/res/drawable/ic_bank_hana.xml diff --git a/design-system/src/main/res/drawable/ic_bank_kakao.xml b/core/design-system/src/main/res/drawable/ic_bank_kakao.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_kakao.xml rename to core/design-system/src/main/res/drawable/ic_bank_kakao.xml diff --git a/design-system/src/main/res/drawable/ic_bank_nh.xml b/core/design-system/src/main/res/drawable/ic_bank_nh.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_nh.xml rename to core/design-system/src/main/res/drawable/ic_bank_nh.xml diff --git a/design-system/src/main/res/drawable/ic_bank_post.xml b/core/design-system/src/main/res/drawable/ic_bank_post.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_post.xml rename to core/design-system/src/main/res/drawable/ic_bank_post.xml diff --git a/design-system/src/main/res/drawable/ic_bank_shinhan.xml b/core/design-system/src/main/res/drawable/ic_bank_shinhan.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_shinhan.xml rename to core/design-system/src/main/res/drawable/ic_bank_shinhan.xml diff --git a/design-system/src/main/res/drawable/ic_bank_shinhyeop.xml b/core/design-system/src/main/res/drawable/ic_bank_shinhyeop.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_shinhyeop.xml rename to core/design-system/src/main/res/drawable/ic_bank_shinhyeop.xml diff --git a/design-system/src/main/res/drawable/ic_bank_toss.xml b/core/design-system/src/main/res/drawable/ic_bank_toss.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_toss.xml rename to core/design-system/src/main/res/drawable/ic_bank_toss.xml diff --git a/design-system/src/main/res/drawable/ic_bank_woori.xml b/core/design-system/src/main/res/drawable/ic_bank_woori.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_bank_woori.xml rename to core/design-system/src/main/res/drawable/ic_bank_woori.xml diff --git a/design-system/src/main/res/drawable/ic_camera.xml b/core/design-system/src/main/res/drawable/ic_camera.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_camera.xml rename to core/design-system/src/main/res/drawable/ic_camera.xml diff --git a/design-system/src/main/res/drawable/ic_check.xml b/core/design-system/src/main/res/drawable/ic_check.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_check.xml rename to core/design-system/src/main/res/drawable/ic_check.xml diff --git a/design-system/src/main/res/drawable/ic_delete.xml b/core/design-system/src/main/res/drawable/ic_delete.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_delete.xml rename to core/design-system/src/main/res/drawable/ic_delete.xml diff --git a/design-system/src/main/res/drawable/ic_down.xml b/core/design-system/src/main/res/drawable/ic_down.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_down.xml rename to core/design-system/src/main/res/drawable/ic_down.xml diff --git a/design-system/src/main/res/drawable/ic_down_arrow.xml b/core/design-system/src/main/res/drawable/ic_down_arrow.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_down_arrow.xml rename to core/design-system/src/main/res/drawable/ic_down_arrow.xml diff --git a/design-system/src/main/res/drawable/ic_earth.xml b/core/design-system/src/main/res/drawable/ic_earth.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_earth.xml rename to core/design-system/src/main/res/drawable/ic_earth.xml diff --git a/design-system/src/main/res/drawable/ic_fast_play.xml b/core/design-system/src/main/res/drawable/ic_fast_play.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_fast_play.xml rename to core/design-system/src/main/res/drawable/ic_fast_play.xml diff --git a/design-system/src/main/res/drawable/ic_fast_search.xml b/core/design-system/src/main/res/drawable/ic_fast_search.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_fast_search.xml rename to core/design-system/src/main/res/drawable/ic_fast_search.xml diff --git a/design-system/src/main/res/drawable/ic_gallery.xml b/core/design-system/src/main/res/drawable/ic_gallery.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_gallery.xml rename to core/design-system/src/main/res/drawable/ic_gallery.xml diff --git a/design-system/src/main/res/drawable/ic_logo.xml b/core/design-system/src/main/res/drawable/ic_logo.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_logo.xml rename to core/design-system/src/main/res/drawable/ic_logo.xml diff --git a/design-system/src/main/res/drawable/ic_minus.xml b/core/design-system/src/main/res/drawable/ic_minus.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_minus.xml rename to core/design-system/src/main/res/drawable/ic_minus.xml diff --git a/design-system/src/main/res/drawable/ic_movie.xml b/core/design-system/src/main/res/drawable/ic_movie.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_movie.xml rename to core/design-system/src/main/res/drawable/ic_movie.xml diff --git a/design-system/src/main/res/drawable/ic_nav_home.xml b/core/design-system/src/main/res/drawable/ic_nav_home.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_nav_home.xml rename to core/design-system/src/main/res/drawable/ic_nav_home.xml diff --git a/design-system/src/main/res/drawable/ic_nav_movie.xml b/core/design-system/src/main/res/drawable/ic_nav_movie.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_nav_movie.xml rename to core/design-system/src/main/res/drawable/ic_nav_movie.xml diff --git a/design-system/src/main/res/drawable/ic_nav_search.xml b/core/design-system/src/main/res/drawable/ic_nav_search.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_nav_search.xml rename to core/design-system/src/main/res/drawable/ic_nav_search.xml diff --git a/design-system/src/main/res/drawable/ic_nav_setting.xml b/core/design-system/src/main/res/drawable/ic_nav_setting.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_nav_setting.xml rename to core/design-system/src/main/res/drawable/ic_nav_setting.xml diff --git a/design-system/src/main/res/drawable/ic_no_img.xml b/core/design-system/src/main/res/drawable/ic_no_img.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_no_img.xml rename to core/design-system/src/main/res/drawable/ic_no_img.xml diff --git a/design-system/src/main/res/drawable/ic_open_eyes.xml b/core/design-system/src/main/res/drawable/ic_open_eyes.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_open_eyes.xml rename to core/design-system/src/main/res/drawable/ic_open_eyes.xml diff --git a/design-system/src/main/res/drawable/ic_people.xml b/core/design-system/src/main/res/drawable/ic_people.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_people.xml rename to core/design-system/src/main/res/drawable/ic_people.xml diff --git a/design-system/src/main/res/drawable/ic_play.xml b/core/design-system/src/main/res/drawable/ic_play.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_play.xml rename to core/design-system/src/main/res/drawable/ic_play.xml diff --git a/design-system/src/main/res/drawable/ic_play_first.xml b/core/design-system/src/main/res/drawable/ic_play_first.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_play_first.xml rename to core/design-system/src/main/res/drawable/ic_play_first.xml diff --git a/design-system/src/main/res/drawable/ic_player_back.xml b/core/design-system/src/main/res/drawable/ic_player_back.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_back.xml rename to core/design-system/src/main/res/drawable/ic_player_back.xml diff --git a/design-system/src/main/res/drawable/ic_player_finish.xml b/core/design-system/src/main/res/drawable/ic_player_finish.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_finish.xml rename to core/design-system/src/main/res/drawable/ic_player_finish.xml diff --git a/design-system/src/main/res/drawable/ic_player_forward.xml b/core/design-system/src/main/res/drawable/ic_player_forward.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_forward.xml rename to core/design-system/src/main/res/drawable/ic_player_forward.xml diff --git a/design-system/src/main/res/drawable/ic_player_lock_close.xml b/core/design-system/src/main/res/drawable/ic_player_lock_close.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_lock_close.xml rename to core/design-system/src/main/res/drawable/ic_player_lock_close.xml diff --git a/design-system/src/main/res/drawable/ic_player_lock_open.xml b/core/design-system/src/main/res/drawable/ic_player_lock_open.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_lock_open.xml rename to core/design-system/src/main/res/drawable/ic_player_lock_open.xml diff --git a/design-system/src/main/res/drawable/ic_player_pip.xml b/core/design-system/src/main/res/drawable/ic_player_pip.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_pip.xml rename to core/design-system/src/main/res/drawable/ic_player_pip.xml diff --git a/design-system/src/main/res/drawable/ic_player_play.xml b/core/design-system/src/main/res/drawable/ic_player_play.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_play.xml rename to core/design-system/src/main/res/drawable/ic_player_play.xml diff --git a/design-system/src/main/res/drawable/ic_player_stop.xml b/core/design-system/src/main/res/drawable/ic_player_stop.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_player_stop.xml rename to core/design-system/src/main/res/drawable/ic_player_stop.xml diff --git a/design-system/src/main/res/drawable/ic_plus.xml b/core/design-system/src/main/res/drawable/ic_plus.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_plus.xml rename to core/design-system/src/main/res/drawable/ic_plus.xml diff --git a/design-system/src/main/res/drawable/ic_plus_circle.xml b/core/design-system/src/main/res/drawable/ic_plus_circle.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_plus_circle.xml rename to core/design-system/src/main/res/drawable/ic_plus_circle.xml diff --git a/design-system/src/main/res/drawable/ic_profile.xml b/core/design-system/src/main/res/drawable/ic_profile.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_profile.xml rename to core/design-system/src/main/res/drawable/ic_profile.xml diff --git a/design-system/src/main/res/drawable/ic_qr.xml b/core/design-system/src/main/res/drawable/ic_qr.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_qr.xml rename to core/design-system/src/main/res/drawable/ic_qr.xml diff --git a/design-system/src/main/res/drawable/ic_qr_grid.xml b/core/design-system/src/main/res/drawable/ic_qr_grid.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_qr_grid.xml rename to core/design-system/src/main/res/drawable/ic_qr_grid.xml diff --git a/design-system/src/main/res/drawable/ic_search.xml b/core/design-system/src/main/res/drawable/ic_search.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_search.xml rename to core/design-system/src/main/res/drawable/ic_search.xml diff --git a/design-system/src/main/res/drawable/ic_setting.xml b/core/design-system/src/main/res/drawable/ic_setting.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_setting.xml rename to core/design-system/src/main/res/drawable/ic_setting.xml diff --git a/design-system/src/main/res/drawable/ic_shield.xml b/core/design-system/src/main/res/drawable/ic_shield.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_shield.xml rename to core/design-system/src/main/res/drawable/ic_shield.xml diff --git a/design-system/src/main/res/drawable/ic_uncheck.xml b/core/design-system/src/main/res/drawable/ic_uncheck.xml similarity index 100% rename from design-system/src/main/res/drawable/ic_uncheck.xml rename to core/design-system/src/main/res/drawable/ic_uncheck.xml diff --git a/design-system/src/main/res/font/suit_bold.ttf b/core/design-system/src/main/res/font/suit_bold.ttf similarity index 100% rename from design-system/src/main/res/font/suit_bold.ttf rename to core/design-system/src/main/res/font/suit_bold.ttf diff --git a/design-system/src/main/res/font/suit_medium.ttf b/core/design-system/src/main/res/font/suit_medium.ttf similarity index 100% rename from design-system/src/main/res/font/suit_medium.ttf rename to core/design-system/src/main/res/font/suit_medium.ttf diff --git a/design-system/src/main/res/font/suit_regular.ttf b/core/design-system/src/main/res/font/suit_regular.ttf similarity index 100% rename from design-system/src/main/res/font/suit_regular.ttf rename to core/design-system/src/main/res/font/suit_regular.ttf diff --git a/design-system/src/main/res/font/suit_semibold.ttf b/core/design-system/src/main/res/font/suit_semibold.ttf similarity index 100% rename from design-system/src/main/res/font/suit_semibold.ttf rename to core/design-system/src/main/res/font/suit_semibold.ttf diff --git a/design-system/src/main/res/values-en/strings.xml b/core/design-system/src/main/res/values-en/strings.xml similarity index 100% rename from design-system/src/main/res/values-en/strings.xml rename to core/design-system/src/main/res/values-en/strings.xml diff --git a/design-system/src/main/res/values-es/strings.xml b/core/design-system/src/main/res/values-es/strings.xml similarity index 100% rename from design-system/src/main/res/values-es/strings.xml rename to core/design-system/src/main/res/values-es/strings.xml diff --git a/design-system/src/main/res/values-ja/strings.xml b/core/design-system/src/main/res/values-ja/strings.xml similarity index 100% rename from design-system/src/main/res/values-ja/strings.xml rename to core/design-system/src/main/res/values-ja/strings.xml diff --git a/design-system/src/main/res/values-ko-rKR/strings.xml b/core/design-system/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from design-system/src/main/res/values-ko-rKR/strings.xml rename to core/design-system/src/main/res/values-ko-rKR/strings.xml diff --git a/design-system/src/main/res/values-zh/strings.xml b/core/design-system/src/main/res/values-zh/strings.xml similarity index 100% rename from design-system/src/main/res/values-zh/strings.xml rename to core/design-system/src/main/res/values-zh/strings.xml diff --git a/design-system/src/main/res/values/string.xml b/core/design-system/src/main/res/values/string.xml similarity index 100% rename from design-system/src/main/res/values/string.xml rename to core/design-system/src/main/res/values/string.xml diff --git a/mobile/.gitignore b/core/di/.gitignore similarity index 100% rename from mobile/.gitignore rename to core/di/.gitignore diff --git a/core/di/build.gradle.kts b/core/di/build.gradle.kts new file mode 100644 index 00000000..5ff6e72b --- /dev/null +++ b/core/di/build.gradle.kts @@ -0,0 +1,31 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties + +plugins { + id("indistraw-core") + id("kotlin-android") +} + +android { + namespace = "com.danbam.indistraw.core.di" + defaultConfig { + buildConfigField( + "String", + "BASE_URL", + gradleLocalProperties(rootDir).getProperty("BASE_URL") + ) + } +} + +dependencies { + implementation(project(":core:data")) + implementation(project(":core:domain")) + implementation(libs.androidx.core) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.preference) + implementation(libs.hilt) + kapt(libs.hilt.compiler) + implementation(libs.room) + kapt(libs.room.compiler) + implementation(libs.bundles.retrofit) + implementation(libs.bundles.okhttp) +} \ No newline at end of file diff --git a/di/src/main/AndroidManifest.xml b/core/di/src/main/AndroidManifest.xml similarity index 100% rename from di/src/main/AndroidManifest.xml rename to core/di/src/main/AndroidManifest.xml diff --git a/di/src/main/java/com/danbam/di/LocalDataSourceModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalDataSourceModule.kt similarity index 55% rename from di/src/main/java/com/danbam/di/LocalDataSourceModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalDataSourceModule.kt index b96a05a0..dc4f2e89 100644 --- a/di/src/main/java/com/danbam/di/LocalDataSourceModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalDataSourceModule.kt @@ -1,11 +1,11 @@ -package com.danbam.di +package com.danbam.indistraw.core.di -import com.danbam.data.local.datasource.AuthLocalDataSource -import com.danbam.data.local.datasource.AuthLocalDataSourceImpl -import com.danbam.data.local.datasource.SearchLocalDataSource -import com.danbam.data.local.datasource.SearchLocalDataSourceImpl -import com.danbam.data.local.datasource.SystemLocalDataSource -import com.danbam.data.local.datasource.SystemLocalDataSourceImpl +import com.danbam.indistraw.core.data.local.datasource.AuthLocalDataSource +import com.danbam.indistraw.core.data.local.datasource.AuthLocalDataSourceImpl +import com.danbam.indistraw.core.data.local.datasource.SearchLocalDataSource +import com.danbam.indistraw.core.data.local.datasource.SearchLocalDataSourceImpl +import com.danbam.indistraw.core.data.local.datasource.SystemLocalDataSource +import com.danbam.indistraw.core.data.local.datasource.SystemLocalDataSourceImpl import dagger.Binds import dagger.Module import dagger.hilt.InstallIn diff --git a/di/src/main/java/com/danbam/di/LocalModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalModule.kt similarity index 93% rename from di/src/main/java/com/danbam/di/LocalModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalModule.kt index 66a610fc..81b06397 100644 --- a/di/src/main/java/com/danbam/di/LocalModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/LocalModule.kt @@ -1,4 +1,4 @@ -package com.danbam.di +package com.danbam.indistraw.core.di import android.content.Context import android.content.SharedPreferences diff --git a/di/src/main/java/com/danbam/di/NetworkModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/NetworkModule.kt similarity index 75% rename from di/src/main/java/com/danbam/di/NetworkModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/NetworkModule.kt index fa463aaa..fd0b60f3 100644 --- a/di/src/main/java/com/danbam/di/NetworkModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/NetworkModule.kt @@ -1,18 +1,17 @@ -package com.danbam.di +package com.danbam.indistraw.core.di import android.content.Context -import android.util.Log -import com.danbam.data.remote.api.AccountAPI -import com.danbam.data.remote.api.AddressAPI -import com.danbam.data.remote.api.AuthAPI -import com.danbam.data.remote.api.BannerAPI -import com.danbam.data.remote.api.FileAPI -import com.danbam.data.remote.api.SearchAPI -import com.danbam.data.remote.api.CrowdFundingAPI -import com.danbam.data.remote.api.MovieAPI -import com.danbam.data.remote.api.FundingAPI -import com.danbam.data.remote.api.QRCodeAPI -import com.danbam.data.remote.interceptor.IndiStrawInterceptor +import com.danbam.indistraw.core.data.remote.api.AccountAPI +import com.danbam.indistraw.core.data.remote.api.AddressAPI +import com.danbam.indistraw.core.data.remote.api.AuthAPI +import com.danbam.indistraw.core.data.remote.api.BannerAPI +import com.danbam.indistraw.core.data.remote.api.CrowdFundingAPI +import com.danbam.indistraw.core.data.remote.api.FileAPI +import com.danbam.indistraw.core.data.remote.api.FundingAPI +import com.danbam.indistraw.core.data.remote.api.MovieAPI +import com.danbam.indistraw.core.data.remote.api.QRCodeAPI +import com.danbam.indistraw.core.data.remote.api.SearchAPI +import com.danbam.indistraw.core.data.remote.interceptor.IndiStrawInterceptor import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -20,7 +19,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent import okhttp3.Cache import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory diff --git a/di/src/main/java/com/danbam/di/PreferenceModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/PreferenceModule.kt similarity index 57% rename from di/src/main/java/com/danbam/di/PreferenceModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/PreferenceModule.kt index f8d98a7b..b4c16c09 100644 --- a/di/src/main/java/com/danbam/di/PreferenceModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/PreferenceModule.kt @@ -1,9 +1,9 @@ -package com.danbam.di +package com.danbam.indistraw.core.di -import com.danbam.data.local.preference.AuthPreference -import com.danbam.data.local.preference.AuthPreferenceImpl -import com.danbam.data.local.preference.SystemPreference -import com.danbam.data.local.preference.SystemPreferenceImpl +import com.danbam.indistraw.core.data.local.preference.AuthPreference +import com.danbam.indistraw.core.data.local.preference.AuthPreferenceImpl +import com.danbam.indistraw.core.data.local.preference.SystemPreference +import com.danbam.indistraw.core.data.local.preference.SystemPreferenceImpl import dagger.Binds import dagger.Module import dagger.hilt.InstallIn diff --git a/di/src/main/java/com/danbam/di/RemoteDataSourceModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RemoteDataSourceModule.kt similarity index 50% rename from di/src/main/java/com/danbam/di/RemoteDataSourceModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/RemoteDataSourceModule.kt index 661cfa2a..a3ea396f 100644 --- a/di/src/main/java/com/danbam/di/RemoteDataSourceModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RemoteDataSourceModule.kt @@ -1,25 +1,25 @@ -package com.danbam.di +package com.danbam.indistraw.core.di -import com.danbam.data.remote.datasource.AccountRemoteDataSource -import com.danbam.data.remote.datasource.AccountRemoteDataSourceImpl -import com.danbam.data.remote.datasource.AddressRemoteDataSource -import com.danbam.data.remote.datasource.AddressRemoteDataSourceImpl -import com.danbam.data.remote.datasource.AuthRemoteDataSource -import com.danbam.data.remote.datasource.AuthRemoteDataSourceImpl -import com.danbam.data.remote.datasource.BannerRemoteDataSource -import com.danbam.data.remote.datasource.BannerRemoteDataSourceImpl -import com.danbam.data.remote.datasource.FileRemoteDataSource -import com.danbam.data.remote.datasource.FileRemoteDataSourceImpl -import com.danbam.data.remote.datasource.SearchRemoteDataSource -import com.danbam.data.remote.datasource.SearchRemoteDataSourceImpl -import com.danbam.data.remote.datasource.CrowdFundingRemoteDataSource -import com.danbam.data.remote.datasource.CrowdFundingRemoteDataSourceImpl -import com.danbam.data.remote.datasource.MovieRemoteDataSource -import com.danbam.data.remote.datasource.MovieRemoteDataSourceImpl -import com.danbam.data.remote.datasource.FundingRemoteDataSource -import com.danbam.data.remote.datasource.FundingRemoteDataSourceImpl -import com.danbam.data.remote.datasource.QRCodeRemoteDataSource -import com.danbam.data.remote.datasource.QRCodeRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.AccountRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.AccountRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.AddressRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.AddressRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.AuthRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.AuthRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.BannerRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.BannerRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.CrowdFundingRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.CrowdFundingRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.FileRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.FileRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.FundingRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.FundingRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.MovieRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.MovieRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.QRCodeRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.QRCodeRemoteDataSourceImpl +import com.danbam.indistraw.core.data.remote.datasource.SearchRemoteDataSource +import com.danbam.indistraw.core.data.remote.datasource.SearchRemoteDataSourceImpl import dagger.Binds import dagger.Module import dagger.hilt.InstallIn diff --git a/di/src/main/java/com/danbam/di/RepositoryModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RepositoryModule.kt similarity index 50% rename from di/src/main/java/com/danbam/di/RepositoryModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/RepositoryModule.kt index 30e30684..61b5d1f1 100644 --- a/di/src/main/java/com/danbam/di/RepositoryModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RepositoryModule.kt @@ -1,27 +1,27 @@ -package com.danbam.di +package com.danbam.indistraw.core.di -import com.danbam.data.repository.AccountRepositoryImpl -import com.danbam.data.repository.AddressRepositoryImpl -import com.danbam.data.repository.AuthRepositoryImpl -import com.danbam.data.repository.BannerRepositoryImpl -import com.danbam.data.repository.FileRepositoryImpl -import com.danbam.data.repository.CrowdFundingRepositoryImpl -import com.danbam.data.repository.MovieRepositoryImpl -import com.danbam.data.repository.FundingRepositoryImpl -import com.danbam.data.repository.QRCodeRepositoryImpl -import com.danbam.data.repository.SearchRepositoryImpl -import com.danbam.data.repository.SystemRepositoryImpl -import com.danbam.domain.repository.AccountRepository -import com.danbam.domain.repository.AddressRepository -import com.danbam.domain.repository.AuthRepository -import com.danbam.domain.repository.BannerRepository -import com.danbam.domain.repository.FileRepository -import com.danbam.domain.repository.CrowdFundingRepository -import com.danbam.domain.repository.MovieRepository -import com.danbam.domain.repository.FundingRepository -import com.danbam.domain.repository.QRCodeRepository -import com.danbam.domain.repository.SearchRepository -import com.danbam.domain.repository.SystemRepository +import com.danbam.indistraw.core.data.repository.AccountRepositoryImpl +import com.danbam.indistraw.core.data.repository.AddressRepositoryImpl +import com.danbam.indistraw.core.data.repository.AuthRepositoryImpl +import com.danbam.indistraw.core.data.repository.BannerRepositoryImpl +import com.danbam.indistraw.core.data.repository.CrowdFundingRepositoryImpl +import com.danbam.indistraw.core.data.repository.FileRepositoryImpl +import com.danbam.indistraw.core.data.repository.FundingRepositoryImpl +import com.danbam.indistraw.core.data.repository.MovieRepositoryImpl +import com.danbam.indistraw.core.data.repository.QRCodeRepositoryImpl +import com.danbam.indistraw.core.data.repository.SearchRepositoryImpl +import com.danbam.indistraw.core.data.repository.SystemRepositoryImpl +import com.danbam.indistraw.core.domain.repository.AccountRepository +import com.danbam.indistraw.core.domain.repository.AddressRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.BannerRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.FileRepository +import com.danbam.indistraw.core.domain.repository.FundingRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.QRCodeRepository +import com.danbam.indistraw.core.domain.repository.SearchRepository +import com.danbam.indistraw.core.domain.repository.SystemRepository import dagger.Binds import dagger.Module import dagger.hilt.InstallIn diff --git a/di/src/main/java/com/danbam/di/RoomModule.kt b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RoomModule.kt similarity index 80% rename from di/src/main/java/com/danbam/di/RoomModule.kt rename to core/di/src/main/kotlin/com/danbam/indistraw/core/di/RoomModule.kt index dc9d4b61..839cbaf5 100644 --- a/di/src/main/java/com/danbam/di/RoomModule.kt +++ b/core/di/src/main/kotlin/com/danbam/indistraw/core/di/RoomModule.kt @@ -1,9 +1,9 @@ -package com.danbam.di +package com.danbam.indistraw.core.di import android.content.Context import androidx.room.Room -import com.danbam.data.local.dao.RecentSearchDao -import com.danbam.data.local.database.IndiStrawDataBase +import com.danbam.indistraw.core.data.local.dao.RecentSearchDao +import com.danbam.indistraw.core.data.local.database.IndiStrawDataBase import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/tv/.gitignore b/core/domain/.gitignore similarity index 100% rename from tv/.gitignore rename to core/domain/.gitignore diff --git a/core/domain/build.gradle.kts b/core/domain/build.gradle.kts new file mode 100644 index 00000000..37372f67 --- /dev/null +++ b/core/domain/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + id("indistraw-core") +} + +android { + namespace = "com.danbam.indistraw.core.domain" +} + +dependencies { + implementation(libs.inject) + implementation(libs.coroutines.core) + implementation(libs.paging) + testImplementation(libs.test.junit) + testImplementation(libs.test.mockito.kotlin) + testImplementation(libs.test.mockito.inline) +} \ No newline at end of file diff --git a/domain/src/main/AndroidManifest.xml b/core/domain/src/main/AndroidManifest.xml similarity index 100% rename from domain/src/main/AndroidManifest.xml rename to core/domain/src/main/AndroidManifest.xml diff --git a/domain/src/main/java/com/danbam/domain/entity/auth/AddressEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/AddressEntity.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/entity/auth/AddressEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/AddressEntity.kt index 26e62fa7..bb3a3aee 100644 --- a/domain/src/main/java/com/danbam/domain/entity/auth/AddressEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/AddressEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.auth +package com.danbam.indistraw.core.domain.entity.auth data class AddressEntity( val zipcode: String, diff --git a/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/FindIdEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/FindIdEntity.kt new file mode 100644 index 00000000..c7cbe3e6 --- /dev/null +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/FindIdEntity.kt @@ -0,0 +1,5 @@ +package com.danbam.indistraw.core.domain.entity.auth + +data class FindIdEntity( + val id: String, +) \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/entity/auth/LoginEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/LoginEntity.kt similarity index 74% rename from domain/src/main/java/com/danbam/domain/entity/auth/LoginEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/LoginEntity.kt index 21064e6e..b76f4307 100644 --- a/domain/src/main/java/com/danbam/domain/entity/auth/LoginEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/LoginEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.auth +package com.danbam.indistraw.core.domain.entity.auth data class LoginEntity( val accessToken: String, diff --git a/domain/src/main/java/com/danbam/domain/entity/auth/ProfileEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/ProfileEntity.kt similarity index 77% rename from domain/src/main/java/com/danbam/domain/entity/auth/ProfileEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/ProfileEntity.kt index ec9d1098..8ea41a93 100644 --- a/domain/src/main/java/com/danbam/domain/entity/auth/ProfileEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/auth/ProfileEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.auth +package com.danbam.indistraw.core.domain.entity.auth data class ProfileEntity( val id: String, diff --git a/domain/src/main/java/com/danbam/domain/entity/banner/BannerEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/banner/BannerEntity.kt similarity index 54% rename from domain/src/main/java/com/danbam/domain/entity/banner/BannerEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/banner/BannerEntity.kt index 20abe25d..525101ee 100644 --- a/domain/src/main/java/com/danbam/domain/entity/banner/BannerEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/banner/BannerEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.banner +package com.danbam.indistraw.core.entity.banner data class BannerEntity( val thumbnailUrl: String, diff --git a/domain/src/main/java/com/danbam/domain/entity/file/FileEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/file/FileEntity.kt similarity index 50% rename from domain/src/main/java/com/danbam/domain/entity/file/FileEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/file/FileEntity.kt index 134e09a8..0346c27b 100644 --- a/domain/src/main/java/com/danbam/domain/entity/file/FileEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/file/FileEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.file +package com.danbam.indistraw.core.entity.file data class FileEntity( val file: String, diff --git a/domain/src/main/java/com/danbam/domain/entity/funding/FundingDetailEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingDetailEntity.kt similarity index 94% rename from domain/src/main/java/com/danbam/domain/entity/funding/FundingDetailEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingDetailEntity.kt index ba055b3a..937f4bb5 100644 --- a/domain/src/main/java/com/danbam/domain/entity/funding/FundingDetailEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingDetailEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.funding +package com.danbam.indistraw.core.entity.funding import java.util.UUID diff --git a/domain/src/main/java/com/danbam/domain/entity/funding/FundingEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingEntity.kt similarity index 78% rename from domain/src/main/java/com/danbam/domain/entity/funding/FundingEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingEntity.kt index f058241c..44ce8faa 100644 --- a/domain/src/main/java/com/danbam/domain/entity/funding/FundingEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/FundingEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.funding +package com.danbam.indistraw.core.entity.funding data class FundingEntity( val idx: Long, diff --git a/domain/src/main/java/com/danbam/domain/entity/funding/MyFundingEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/MyFundingEntity.kt similarity index 94% rename from domain/src/main/java/com/danbam/domain/entity/funding/MyFundingEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/MyFundingEntity.kt index 3a6bf655..36042ca6 100644 --- a/domain/src/main/java/com/danbam/domain/entity/funding/MyFundingEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/funding/MyFundingEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.funding +package com.danbam.indistraw.core.entity.funding import java.util.UUID diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/DetailMovieHistoryEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/DetailMovieHistoryEntity.kt similarity index 58% rename from domain/src/main/java/com/danbam/domain/entity/movie/DetailMovieHistoryEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/DetailMovieHistoryEntity.kt index bb61d732..ad4faaa5 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/DetailMovieHistoryEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/DetailMovieHistoryEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class DetailMovieHistoryEntity( val historyTime: Float, diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/MovieDetailEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieDetailEntity.kt similarity index 87% rename from domain/src/main/java/com/danbam/domain/entity/movie/MovieDetailEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieDetailEntity.kt index dac93ce0..86efd84f 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/MovieDetailEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieDetailEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class MovieDetailEntity( val title: String, diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/MovieEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieEntity.kt similarity index 62% rename from domain/src/main/java/com/danbam/domain/entity/movie/MovieEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieEntity.kt index 42cc689f..d446dc41 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/MovieEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class MovieEntity( val movieIdx: Long, diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/MovieHistoryEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieHistoryEntity.kt similarity index 74% rename from domain/src/main/java/com/danbam/domain/entity/movie/MovieHistoryEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieHistoryEntity.kt index 5a856c68..e707e513 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/MovieHistoryEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MovieHistoryEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class MovieHistoryEntity( val movieIdx: Long, diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleDetailEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleDetailEntity.kt similarity index 76% rename from domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleDetailEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleDetailEntity.kt index a362330a..cea169e6 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleDetailEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleDetailEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class MoviePeopleDetailEntity( val actorIdx: Long, diff --git a/domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleEntity.kt similarity index 69% rename from domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleEntity.kt index b338a73d..a581737a 100644 --- a/domain/src/main/java/com/danbam/domain/entity/movie/MoviePeopleEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/movie/MoviePeopleEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.movie +package com.danbam.indistraw.core.entity.movie data class MoviePeopleEntity( val actorIdx: Long, diff --git a/domain/src/main/java/com/danbam/domain/entity/search/RecentSearchEntity.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/search/RecentSearchEntity.kt similarity index 54% rename from domain/src/main/java/com/danbam/domain/entity/search/RecentSearchEntity.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/search/RecentSearchEntity.kt index 03fb2a57..7691473b 100644 --- a/domain/src/main/java/com/danbam/domain/entity/search/RecentSearchEntity.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/entity/search/RecentSearchEntity.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.entity.search +package com.danbam.indistraw.core.entity.search data class RecentSearchEntity( val search: String, diff --git a/domain/src/main/java/com/danbam/domain/exception/HttpException.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/HttpException.kt similarity index 92% rename from domain/src/main/java/com/danbam/domain/exception/HttpException.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/HttpException.kt index 40707700..1272e5ad 100644 --- a/domain/src/main/java/com/danbam/domain/exception/HttpException.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/HttpException.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.exception +package com.danbam.indistraw.core.domain.exception class WrongDataException( override val message: String?, diff --git a/domain/src/main/java/com/danbam/domain/exception/IOException.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/IOException.kt similarity index 59% rename from domain/src/main/java/com/danbam/domain/exception/IOException.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/IOException.kt index ba27db9e..8cd37469 100644 --- a/domain/src/main/java/com/danbam/domain/exception/IOException.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/exception/IOException.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.exception +package com.danbam.indistraw.core.domain.exception import java.io.IOException diff --git a/domain/src/main/java/com/danbam/domain/param/auth/ChangeAddressParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangeAddressParam.kt similarity index 72% rename from domain/src/main/java/com/danbam/domain/param/auth/ChangeAddressParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangeAddressParam.kt index 85188909..073bfded 100644 --- a/domain/src/main/java/com/danbam/domain/param/auth/ChangeAddressParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangeAddressParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.auth +package com.danbam.indistraw.core.param.auth data class ChangeAddressParam( val zipCode: String, diff --git a/domain/src/main/java/com/danbam/domain/param/auth/ChangePasswordParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangePasswordParam.kt similarity index 66% rename from domain/src/main/java/com/danbam/domain/param/auth/ChangePasswordParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangePasswordParam.kt index abdb553a..3b86f876 100644 --- a/domain/src/main/java/com/danbam/domain/param/auth/ChangePasswordParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/ChangePasswordParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.auth +package com.danbam.indistraw.core.param.auth data class ChangePasswordParam( val phoneNumber: String, diff --git a/domain/src/main/java/com/danbam/domain/param/auth/EditProfileParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/EditProfileParam.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/param/auth/EditProfileParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/EditProfileParam.kt index eab4f67d..fd78a1c2 100644 --- a/domain/src/main/java/com/danbam/domain/param/auth/EditProfileParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/EditProfileParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.auth +package com.danbam.indistraw.core.param.auth data class EditProfileParam( val name: String, diff --git a/domain/src/main/java/com/danbam/domain/param/auth/LoginParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/LoginParam.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/param/auth/LoginParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/LoginParam.kt index 2af67cc2..20222e8d 100644 --- a/domain/src/main/java/com/danbam/domain/param/auth/LoginParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/LoginParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.auth +package com.danbam.indistraw.core.param.auth data class LoginParam( val id: String, diff --git a/domain/src/main/java/com/danbam/domain/param/auth/SignUpParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/SignUpParam.kt similarity index 77% rename from domain/src/main/java/com/danbam/domain/param/auth/SignUpParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/SignUpParam.kt index 4c738409..3672f89c 100644 --- a/domain/src/main/java/com/danbam/domain/param/auth/SignUpParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/auth/SignUpParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.auth +package com.danbam.indistraw.core.param.auth data class SignUpParam( val id: String, diff --git a/domain/src/main/java/com/danbam/domain/param/funding/FundingCreateParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingCreateParam.kt similarity index 92% rename from domain/src/main/java/com/danbam/domain/param/funding/FundingCreateParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingCreateParam.kt index 42fbcb2d..0cb061a3 100644 --- a/domain/src/main/java/com/danbam/domain/param/funding/FundingCreateParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingCreateParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.funding +package com.danbam.indistraw.core.param.funding data class FundingCreateParam( val title: String, diff --git a/domain/src/main/java/com/danbam/domain/param/funding/FundingParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingParam.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/param/funding/FundingParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingParam.kt index 81f90015..9be72d3b 100644 --- a/domain/src/main/java/com/danbam/domain/param/funding/FundingParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/funding/FundingParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.funding +package com.danbam.indistraw.core.param.funding data class FundingParam( val receiptId: String, diff --git a/domain/src/main/java/com/danbam/domain/param/movie/MovieCreateParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieCreateParam.kt similarity index 85% rename from domain/src/main/java/com/danbam/domain/param/movie/MovieCreateParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieCreateParam.kt index deeaaf25..221d7cd6 100644 --- a/domain/src/main/java/com/danbam/domain/param/movie/MovieCreateParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieCreateParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.movie +package com.danbam.indistraw.core.param.movie data class MovieCreateParam( val title: String, diff --git a/domain/src/main/java/com/danbam/domain/param/movie/MovieHistoryParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieHistoryParam.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/param/movie/MovieHistoryParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieHistoryParam.kt index 85ef304f..775777d6 100644 --- a/domain/src/main/java/com/danbam/domain/param/movie/MovieHistoryParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MovieHistoryParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.movie +package com.danbam.indistraw.core.param.movie data class MovieHistoryParam( val movieIdx: Long, diff --git a/domain/src/main/java/com/danbam/domain/param/movie/MoviePeopleParam.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MoviePeopleParam.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/param/movie/MoviePeopleParam.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MoviePeopleParam.kt index 64c2b88b..e8d56610 100644 --- a/domain/src/main/java/com/danbam/domain/param/movie/MoviePeopleParam.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/param/movie/MoviePeopleParam.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.param.movie +package com.danbam.indistraw.core.param.movie data class MoviePeopleParam( val name: String, diff --git a/domain/src/main/java/com/danbam/domain/repository/AccountRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AccountRepository.kt similarity index 53% rename from domain/src/main/java/com/danbam/domain/repository/AccountRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AccountRepository.kt index bd56816f..723848e5 100644 --- a/domain/src/main/java/com/danbam/domain/repository/AccountRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AccountRepository.kt @@ -1,10 +1,10 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository -import com.danbam.domain.entity.auth.FindIdEntity -import com.danbam.domain.entity.auth.ProfileEntity -import com.danbam.domain.param.auth.ChangeAddressParam -import com.danbam.domain.param.auth.ChangePasswordParam -import com.danbam.domain.param.auth.EditProfileParam +import com.danbam.indistraw.core.domain.entity.auth.FindIdEntity +import com.danbam.indistraw.core.domain.entity.auth.ProfileEntity +import com.danbam.indistraw.core.param.auth.ChangeAddressParam +import com.danbam.indistraw.core.param.auth.ChangePasswordParam +import com.danbam.indistraw.core.param.auth.EditProfileParam interface AccountRepository { suspend fun findId(phoneNumber: String): FindIdEntity diff --git a/domain/src/main/java/com/danbam/domain/repository/AddressRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AddressRepository.kt similarity index 60% rename from domain/src/main/java/com/danbam/domain/repository/AddressRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AddressRepository.kt index 2b64e3e1..d9c0b24b 100644 --- a/domain/src/main/java/com/danbam/domain/repository/AddressRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AddressRepository.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository import androidx.paging.PagingData -import com.danbam.domain.entity.auth.AddressEntity +import com.danbam.indistraw.core.domain.entity.auth.AddressEntity import kotlinx.coroutines.flow.Flow interface AddressRepository { diff --git a/domain/src/main/java/com/danbam/domain/repository/AuthRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AuthRepository.kt similarity index 73% rename from domain/src/main/java/com/danbam/domain/repository/AuthRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AuthRepository.kt index b92f0f49..21a128c5 100644 --- a/domain/src/main/java/com/danbam/domain/repository/AuthRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/AuthRepository.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository -import com.danbam.domain.param.auth.LoginParam -import com.danbam.domain.param.auth.SignUpParam +import com.danbam.indistraw.core.param.auth.LoginParam +import com.danbam.indistraw.core.param.auth.SignUpParam interface AuthRepository { suspend fun signup(signUpParam: SignUpParam) diff --git a/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/BannerRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/BannerRepository.kt new file mode 100644 index 00000000..3a9b7275 --- /dev/null +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/BannerRepository.kt @@ -0,0 +1,7 @@ +package com.danbam.indistraw.core.domain.repository + +import com.danbam.indistraw.core.entity.banner.BannerEntity + +interface BannerRepository { + suspend fun getBanner(): List +} \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/repository/CrowdFundingRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/CrowdFundingRepository.kt similarity index 60% rename from domain/src/main/java/com/danbam/domain/repository/CrowdFundingRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/CrowdFundingRepository.kt index 6ec940b0..562213b2 100644 --- a/domain/src/main/java/com/danbam/domain/repository/CrowdFundingRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/CrowdFundingRepository.kt @@ -1,10 +1,10 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository import androidx.paging.PagingData -import com.danbam.domain.entity.funding.FundingDetailEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.funding.MyFundingEntity -import com.danbam.domain.param.funding.FundingCreateParam +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.param.funding.FundingCreateParam import kotlinx.coroutines.flow.Flow interface CrowdFundingRepository { diff --git a/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FileRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FileRepository.kt new file mode 100644 index 00000000..9cdfa455 --- /dev/null +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FileRepository.kt @@ -0,0 +1,8 @@ +package com.danbam.indistraw.core.domain.repository + +import com.danbam.indistraw.core.entity.file.FileEntity +import java.io.File + +interface FileRepository { + suspend fun sendFile(file: File): FileEntity +} \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/repository/FundingRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FundingRepository.kt similarity index 54% rename from domain/src/main/java/com/danbam/domain/repository/FundingRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FundingRepository.kt index 0d33a5c9..44f7e5a1 100644 --- a/domain/src/main/java/com/danbam/domain/repository/FundingRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/FundingRepository.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.param.funding.FundingParam +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.param.funding.FundingParam interface FundingRepository { suspend fun getReceipt(): String diff --git a/domain/src/main/java/com/danbam/domain/repository/MovieRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/MovieRepository.kt similarity index 60% rename from domain/src/main/java/com/danbam/domain/repository/MovieRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/MovieRepository.kt index 34d6ccda..73a5c058 100644 --- a/domain/src/main/java/com/danbam/domain/repository/MovieRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/MovieRepository.kt @@ -1,15 +1,15 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository import androidx.paging.PagingData -import com.danbam.domain.entity.movie.DetailMovieHistoryEntity -import com.danbam.domain.entity.movie.MovieDetailEntity -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.entity.movie.MovieHistoryEntity -import com.danbam.domain.entity.movie.MoviePeopleDetailEntity -import com.danbam.domain.entity.movie.MoviePeopleEntity -import com.danbam.domain.param.movie.MovieCreateParam -import com.danbam.domain.param.movie.MovieHistoryParam -import com.danbam.domain.param.movie.MoviePeopleParam +import com.danbam.indistraw.core.entity.movie.DetailMovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.MovieDetailEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieHistoryEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleDetailEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.param.movie.MovieCreateParam +import com.danbam.indistraw.core.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.param.movie.MoviePeopleParam import kotlinx.coroutines.flow.Flow interface MovieRepository { diff --git a/domain/src/main/java/com/danbam/domain/repository/QRCodeRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/QRCodeRepository.kt similarity index 78% rename from domain/src/main/java/com/danbam/domain/repository/QRCodeRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/QRCodeRepository.kt index 217be83b..edc8f24a 100644 --- a/domain/src/main/java/com/danbam/domain/repository/QRCodeRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/QRCodeRepository.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository import java.util.UUID diff --git a/domain/src/main/java/com/danbam/domain/repository/SearchRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SearchRepository.kt similarity index 54% rename from domain/src/main/java/com/danbam/domain/repository/SearchRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SearchRepository.kt index 0f37c676..70ccaa56 100644 --- a/domain/src/main/java/com/danbam/domain/repository/SearchRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SearchRepository.kt @@ -1,14 +1,13 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository import androidx.paging.PagingData -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.entity.search.RelatedSearchEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.search.RecentSearchEntity import kotlinx.coroutines.flow.Flow interface SearchRepository { - suspend fun getRelatedSearch(keyword: String): List + suspend fun getRelatedSearch(keyword: String): List suspend fun searchMovie(recentSearchEntity: RecentSearchEntity): Flow> suspend fun searchFunding(recentSearchEntity: RecentSearchEntity): Flow> suspend fun getRecentSearch(): List diff --git a/domain/src/main/java/com/danbam/domain/repository/SystemRepository.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SystemRepository.kt similarity index 69% rename from domain/src/main/java/com/danbam/domain/repository/SystemRepository.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SystemRepository.kt index 9d7fb151..7f3b8330 100644 --- a/domain/src/main/java/com/danbam/domain/repository/SystemRepository.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/repository/SystemRepository.kt @@ -1,4 +1,4 @@ -package com.danbam.domain.repository +package com.danbam.indistraw.core.domain.repository interface SystemRepository { suspend fun saveLanguage(language: String) diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/ChangeAddressUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangeAddressUseCase.kt similarity index 62% rename from domain/src/main/java/com/danbam/domain/usecase/account/ChangeAddressUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangeAddressUseCase.kt index 0d909bbf..f421f3e6 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/ChangeAddressUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangeAddressUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.param.auth.ChangeAddressParam -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.param.auth.ChangeAddressParam +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class ChangeAddressUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/ChangePasswordUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePasswordUseCase.kt similarity index 62% rename from domain/src/main/java/com/danbam/domain/usecase/account/ChangePasswordUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePasswordUseCase.kt index 6907a1fb..1418cf8c 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/ChangePasswordUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePasswordUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.param.auth.ChangePasswordParam -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.param.auth.ChangePasswordParam +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class ChangePasswordUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/ChangePhoneNumberUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePhoneNumberUseCase.kt similarity index 69% rename from domain/src/main/java/com/danbam/domain/usecase/account/ChangePhoneNumberUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePhoneNumberUseCase.kt index 75eadde9..259e6300 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/ChangePhoneNumberUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/ChangePhoneNumberUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class ChangePhoneNumberUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/EditProfileUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/EditProfileUseCase.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/usecase/account/EditProfileUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/EditProfileUseCase.kt index e167a97b..714ae870 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/EditProfileUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/EditProfileUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.param.auth.EditProfileParam -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.param.auth.EditProfileParam +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class EditProfileUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/FindIdUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/FindIdUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/account/FindIdUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/FindIdUseCase.kt index f18e4270..c9ffb470 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/FindIdUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/FindIdUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class FindIdUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/GetProfileUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/GetProfileUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/account/GetProfileUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/GetProfileUseCase.kt index fa460854..b051bc12 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/GetProfileUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/GetProfileUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class GetProfileUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/account/WithdrawUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/WithdrawUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/account/WithdrawUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/WithdrawUseCase.kt index f41d10f3..88efbb74 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/account/WithdrawUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/account/WithdrawUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.account +package com.danbam.indistraw.core.domain.usecase.account -import com.danbam.domain.repository.AccountRepository +import com.danbam.indistraw.core.domain.repository.AccountRepository import javax.inject.Inject class WithdrawUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/address/GetAddressUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/address/GetAddressUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/address/GetAddressUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/address/GetAddressUseCase.kt index 209bf17b..aca0a9db 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/address/GetAddressUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/address/GetAddressUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.address +package com.danbam.indistraw.core.domain.usecase.address -import com.danbam.domain.repository.AddressRepository +import com.danbam.indistraw.core.domain.repository.AddressRepository import javax.inject.Inject class GetAddressUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckCertificateNumberUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckCertificateNumberUseCase.kt similarity index 72% rename from domain/src/main/java/com/danbam/domain/usecase/auth/CheckCertificateNumberUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckCertificateNumberUseCase.kt index 14c14a52..940dbb46 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckCertificateNumberUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckCertificateNumberUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class CheckCertificateNumberUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckIdUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckIdUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/auth/CheckIdUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckIdUseCase.kt index 2404db46..6941a5b4 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckIdUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckIdUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class CheckIdUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckPhoneNumberUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckPhoneNumberUseCase.kt similarity index 71% rename from domain/src/main/java/com/danbam/domain/usecase/auth/CheckPhoneNumberUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckPhoneNumberUseCase.kt index 46c78128..5a4932a2 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/CheckPhoneNumberUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/CheckPhoneNumberUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class CheckPhoneNumberUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/ClearTokenUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/ClearTokenUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/auth/ClearTokenUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/ClearTokenUseCase.kt index 7adcf71c..bbc9f12b 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/ClearTokenUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/ClearTokenUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class ClearTokenUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/IsLoginUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/IsLoginUseCase.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/usecase/auth/IsLoginUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/IsLoginUseCase.kt index 055133e5..3ca54607 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/IsLoginUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/IsLoginUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class IsLoginUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/LoginUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LoginUseCase.kt similarity index 59% rename from domain/src/main/java/com/danbam/domain/usecase/auth/LoginUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LoginUseCase.kt index 05d2badc..18ca5a90 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/LoginUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LoginUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.param.auth.LoginParam -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.param.auth.LoginParam +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class LoginUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/LogoutUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LogoutUseCase.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/usecase/auth/LogoutUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LogoutUseCase.kt index 78323a88..eb4ee4ef 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/LogoutUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/LogoutUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class LogoutUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/SendCertificateNumberUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SendCertificateNumberUseCase.kt similarity index 70% rename from domain/src/main/java/com/danbam/domain/usecase/auth/SendCertificateNumberUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SendCertificateNumberUseCase.kt index 6117a6ad..4de2e07f 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/SendCertificateNumberUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SendCertificateNumberUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class SendCertificateNumberUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/auth/SignUpUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SignUpUseCase.kt similarity index 59% rename from domain/src/main/java/com/danbam/domain/usecase/auth/SignUpUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SignUpUseCase.kt index 3f2587b4..7e40741c 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/auth/SignUpUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/auth/SignUpUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.auth +package com.danbam.indistraw.core.domain.usecase.auth -import com.danbam.domain.param.auth.SignUpParam -import com.danbam.domain.repository.AuthRepository +import com.danbam.indistraw.core.param.auth.SignUpParam +import com.danbam.indistraw.core.domain.repository.AuthRepository import javax.inject.Inject class SignUpUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/banner/GetBannerUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/banner/GetBannerUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/banner/GetBannerUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/banner/GetBannerUseCase.kt index 7bcc85aa..32566161 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/banner/GetBannerUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/banner/GetBannerUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.banner +package com.danbam.indistraw.core.domain.usecase.banner -import com.danbam.domain.repository.BannerRepository +import com.danbam.indistraw.core.domain.repository.BannerRepository import javax.inject.Inject class GetBannerUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingAllUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingAllUseCase.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingAllUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingAllUseCase.kt index e7d638e2..3464f768 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingAllUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingAllUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingAllUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingCreateUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingCreateUseCase.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingCreateUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingCreateUseCase.kt index 2833b9c6..ddfc03d8 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingCreateUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingCreateUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.param.funding.FundingCreateParam -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.param.funding.FundingCreateParam +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingCreateUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingDetailUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingDetailUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingDetailUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingDetailUseCase.kt index b446023f..897b67b6 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingDetailUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingDetailUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingDetailUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt index d52963ff..44f1003a 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyDetailUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingMyDetailUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyUseCase.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyUseCase.kt index 431a9639..059d3fb9 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingMyUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingMyUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingMyUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingPopularListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingPopularListUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingPopularListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingPopularListUseCase.kt index b970f9f1..5b07e5fc 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/crowd_funding/FundingPopularListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/crowd_funding/FundingPopularListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.crowd_funding +package com.danbam.indistraw.core.domain.usecase.crowd_funding -import com.danbam.domain.repository.CrowdFundingRepository +import com.danbam.indistraw.core.domain.repository.CrowdFundingRepository import javax.inject.Inject class FundingPopularListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/file/SendFileUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/file/SendFileUseCase.kt similarity index 68% rename from domain/src/main/java/com/danbam/domain/usecase/file/SendFileUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/file/SendFileUseCase.kt index 552c8ff3..9412dda0 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/file/SendFileUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/file/SendFileUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.file +package com.danbam.indistraw.core.domain.usecase.file -import com.danbam.domain.repository.FileRepository +import com.danbam.indistraw.core.domain.repository.FileRepository import java.io.File import javax.inject.Inject diff --git a/domain/src/main/java/com/danbam/domain/usecase/funding/FundingListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingListUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/funding/FundingListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingListUseCase.kt index eafcda6a..09746a73 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/funding/FundingListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.funding +package com.danbam.indistraw.core.domain.usecase.funding -import com.danbam.domain.repository.FundingRepository +import com.danbam.indistraw.core.domain.repository.FundingRepository import javax.inject.Inject class FundingListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/funding/FundingUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/funding/FundingUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingUseCase.kt index d786cb08..529a5eba 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/funding/FundingUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/FundingUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.funding +package com.danbam.indistraw.core.domain.usecase.funding -import com.danbam.domain.param.funding.FundingParam -import com.danbam.domain.repository.FundingRepository +import com.danbam.indistraw.core.param.funding.FundingParam +import com.danbam.indistraw.core.domain.repository.FundingRepository import javax.inject.Inject class FundingUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/funding/GetReceiptUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/GetReceiptUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/funding/GetReceiptUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/GetReceiptUseCase.kt index c6496932..3bfc20a4 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/funding/GetReceiptUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/funding/GetReceiptUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.funding +package com.danbam.indistraw.core.domain.usecase.funding -import com.danbam.domain.repository.FundingRepository +import com.danbam.indistraw.core.domain.repository.FundingRepository import javax.inject.Inject class GetReceiptUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/AddMovieHistoryUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMovieHistoryUseCase.kt similarity index 62% rename from domain/src/main/java/com/danbam/domain/usecase/movie/AddMovieHistoryUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMovieHistoryUseCase.kt index 6534548b..18755fd9 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/AddMovieHistoryUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMovieHistoryUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.param.movie.MovieHistoryParam -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class AddMovieHistoryUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/AddMoviePeopleUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMoviePeopleUseCase.kt similarity index 68% rename from domain/src/main/java/com/danbam/domain/usecase/movie/AddMoviePeopleUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMoviePeopleUseCase.kt index 3f2940d9..de0c7ea7 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/AddMoviePeopleUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/AddMoviePeopleUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.param.movie.MoviePeopleParam -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.param.movie.MoviePeopleParam +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class AddMoviePeopleUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieCreateUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieCreateUseCase.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieCreateUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieCreateUseCase.kt index 1db8a5c1..16275d5b 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieCreateUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieCreateUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.param.movie.MovieCreateParam -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.param.movie.MovieCreateParam +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieCreateUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieDetailUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieDetailUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieDetailUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieDetailUseCase.kt index c2496833..bfcb3e44 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieDetailUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieDetailUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieDetailUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryListUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryListUseCase.kt index a2df389a..3f187c86 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieHistoryListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryUseCase.kt index 562c7c8b..d034a58f 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieHistoryUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieHistoryUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieHistoryUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieListUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieListUseCase.kt index 36c858a1..57c70bee 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MoviePeopleDetailUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePeopleDetailUseCase.kt similarity index 71% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MoviePeopleDetailUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePeopleDetailUseCase.kt index 94b9a2ed..747f6f5d 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MoviePeopleDetailUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePeopleDetailUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MoviePeopleDetailUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MoviePopularListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePopularListUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MoviePopularListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePopularListUseCase.kt index 6bc4d34f..67632c1c 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MoviePopularListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MoviePopularListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MoviePopularListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecentListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecentListUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecentListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecentListUseCase.kt index 48fe7c16..adb49ee9 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecentListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecentListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieRecentListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecommendListUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecommendListUseCase.kt similarity index 66% rename from domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecommendListUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecommendListUseCase.kt index e0a2267c..2bf56918 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/MovieRecommendListUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/MovieRecommendListUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class MovieRecommendListUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/movie/SearchMoviePeopleUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/SearchMoviePeopleUseCase.kt similarity index 71% rename from domain/src/main/java/com/danbam/domain/usecase/movie/SearchMoviePeopleUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/SearchMoviePeopleUseCase.kt index f81343b4..b8bfa346 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/movie/SearchMoviePeopleUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/movie/SearchMoviePeopleUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.movie +package com.danbam.indistraw.core.domain.usecase.movie -import com.danbam.domain.repository.MovieRepository +import com.danbam.indistraw.core.domain.repository.MovieRepository import javax.inject.Inject class SearchMoviePeopleUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/qr_code/CheckQRCodeUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/CheckQRCodeUseCase.kt similarity index 68% rename from domain/src/main/java/com/danbam/domain/usecase/qr_code/CheckQRCodeUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/CheckQRCodeUseCase.kt index 246166da..e988c86b 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/qr_code/CheckQRCodeUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/CheckQRCodeUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.qr_code +package com.danbam.indistraw.core.domain.usecase.qr_code -import com.danbam.domain.repository.QRCodeRepository +import com.danbam.indistraw.core.domain.repository.QRCodeRepository import java.util.UUID import javax.inject.Inject diff --git a/domain/src/main/java/com/danbam/domain/usecase/qr_code/ConnectQRCodeUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/ConnectQRCodeUseCase.kt similarity index 71% rename from domain/src/main/java/com/danbam/domain/usecase/qr_code/ConnectQRCodeUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/ConnectQRCodeUseCase.kt index a64707d4..db352adf 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/qr_code/ConnectQRCodeUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/ConnectQRCodeUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.qr_code +package com.danbam.indistraw.core.domain.usecase.qr_code -import com.danbam.domain.repository.QRCodeRepository +import com.danbam.indistraw.core.domain.repository.QRCodeRepository import java.util.UUID import javax.inject.Inject diff --git a/domain/src/main/java/com/danbam/domain/usecase/qr_code/GetQRCodeUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/GetQRCodeUseCase.kt similarity index 63% rename from domain/src/main/java/com/danbam/domain/usecase/qr_code/GetQRCodeUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/GetQRCodeUseCase.kt index a3937554..2610fc32 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/qr_code/GetQRCodeUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/qr_code/GetQRCodeUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.qr_code +package com.danbam.indistraw.core.domain.usecase.qr_code -import com.danbam.domain.repository.QRCodeRepository +import com.danbam.indistraw.core.domain.repository.QRCodeRepository import javax.inject.Inject class GetQRCodeUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/search/GetRecentSearchUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRecentSearchUseCase.kt similarity index 65% rename from domain/src/main/java/com/danbam/domain/usecase/search/GetRecentSearchUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRecentSearchUseCase.kt index d4d0b8aa..dab462f8 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/search/GetRecentSearchUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRecentSearchUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.search +package com.danbam.indistraw.core.domain.usecase.search -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.domain.repository.SearchRepository import javax.inject.Inject class GetRecentSearchUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/search/GetRelatedSearchUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRelatedSearchUseCase.kt similarity index 68% rename from domain/src/main/java/com/danbam/domain/usecase/search/GetRelatedSearchUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRelatedSearchUseCase.kt index d9935225..aaa97c71 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/search/GetRelatedSearchUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/GetRelatedSearchUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.search +package com.danbam.indistraw.core.domain.usecase.search -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.domain.repository.SearchRepository import javax.inject.Inject class GetRelatedSearchUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/search/PopularTagUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/PopularTagUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/search/PopularTagUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/PopularTagUseCase.kt index 1de3825d..f1f02da7 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/search/PopularTagUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/PopularTagUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.search +package com.danbam.indistraw.core.domain.usecase.search -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.domain.repository.SearchRepository import javax.inject.Inject class PopularTagUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/search/SearchFundingUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchFundingUseCase.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/usecase/search/SearchFundingUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchFundingUseCase.kt index 10fa5d36..a9639286 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/search/SearchFundingUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchFundingUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.search +package com.danbam.indistraw.core.domain.usecase.search -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.domain.repository.SearchRepository import javax.inject.Inject class SearchFundingUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/search/SearchMovieUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchMovieUseCase.kt similarity index 61% rename from domain/src/main/java/com/danbam/domain/usecase/search/SearchMovieUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchMovieUseCase.kt index 3fe4c298..a89003e4 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/search/SearchMovieUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/search/SearchMovieUseCase.kt @@ -1,7 +1,7 @@ -package com.danbam.domain.usecase.search +package com.danbam.indistraw.core.domain.usecase.search -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.repository.SearchRepository +import com.danbam.indistraw.core.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.domain.repository.SearchRepository import javax.inject.Inject class SearchMovieUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/system/FetchLanguageUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/FetchLanguageUseCase.kt similarity index 64% rename from domain/src/main/java/com/danbam/domain/usecase/system/FetchLanguageUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/FetchLanguageUseCase.kt index 0c34fd10..327fede9 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/system/FetchLanguageUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/FetchLanguageUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.system +package com.danbam.indistraw.core.domain.usecase.system -import com.danbam.domain.repository.SystemRepository +import com.danbam.indistraw.core.domain.repository.SystemRepository import javax.inject.Inject class FetchLanguageUseCase @Inject constructor( diff --git a/domain/src/main/java/com/danbam/domain/usecase/system/SaveLanguageUseCase.kt b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/SaveLanguageUseCase.kt similarity index 67% rename from domain/src/main/java/com/danbam/domain/usecase/system/SaveLanguageUseCase.kt rename to core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/SaveLanguageUseCase.kt index c92864f4..e19da67f 100644 --- a/domain/src/main/java/com/danbam/domain/usecase/system/SaveLanguageUseCase.kt +++ b/core/domain/src/main/kotlin/com/danbam/indistraw/core/domain/usecase/system/SaveLanguageUseCase.kt @@ -1,6 +1,6 @@ -package com.danbam.domain.usecase.system +package com.danbam.indistraw.core.domain.usecase.system -import com.danbam.domain.repository.SystemRepository +import com.danbam.indistraw.core.domain.repository.SystemRepository import javax.inject.Inject class SaveLanguageUseCase @Inject constructor( diff --git a/data/build.gradle.kts b/data/build.gradle.kts deleted file mode 100644 index f8706468..00000000 --- a/data/build.gradle.kts +++ /dev/null @@ -1,88 +0,0 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties - -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") - id("kotlin-kapt") -} - -android { - namespace = "com.danbam.data" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - buildConfigField( - "String", - "BASE_URL", - gradleLocalProperties(rootDir).getProperty("BASE_URL") - ) - buildConfigField( - "String", - "ALL_IGNORE_PATH", - gradleLocalProperties(rootDir).getProperty("ALL_IGNORE_PATH") - ) - buildConfigField( - "String", - "POST_IGNORE_PATH", - gradleLocalProperties(rootDir).getProperty("POST_IGNORE_PATH") - ) - buildConfigField( - "String", - "GET_IGNORE_PATH", - gradleLocalProperties(rootDir).getProperty("GET_IGNORE_PATH") - ) - buildConfigField( - "String", - "PATCH_IGNORE_PATH", - gradleLocalProperties(rootDir).getProperty("PATCH_IGNORE_PATH") - ) - buildConfigField( - "String", - "JUSO_KEY", - gradleLocalProperties(rootDir).getProperty("JUSO_KEY") - ) - } - - buildTypes { - getByName("release") { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } -} - -dependencies { - implementation(project(":domain")) - - implementation(Dependency.JavaX.INJECT) - - implementation(Dependency.Room.ROOM) - kapt(Dependency.Room.ROOM_COMPILER) - - implementation(Dependency.Retrofit.RETROFIT) - implementation(Dependency.Retrofit.RETROFIT_CONVERTER_GSON) - implementation(Dependency.Retrofit.OKHTTP) - implementation(Dependency.Retrofit.OKHTTP_LOGGING_INTERCEPTOR) - implementation(Dependency.Retrofit.SSE) - testImplementation(Dependency.Retrofit.SSE) - - implementation(Dependency.AndroidX.PAGING) - - testImplementation(Dependency.UnitTest.JUNIT) - testImplementation(Dependency.UnitTest.MOCKITO_KOTLIN) - testImplementation(Dependency.UnitTest.MOCKITO_INLINE) -} \ No newline at end of file diff --git a/data/consumer-rules.pro b/data/consumer-rules.pro deleted file mode 100644 index e69de29b..00000000 diff --git a/data/src/main/java/com/danbam/data/remote/api/BannerAPI.kt b/data/src/main/java/com/danbam/data/remote/api/BannerAPI.kt deleted file mode 100644 index b14ec7cd..00000000 --- a/data/src/main/java/com/danbam/data/remote/api/BannerAPI.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.danbam.data.remote.api - -import com.danbam.data.remote.response.banner.BannerResponse -import com.danbam.data.remote.util.EndPoint -import retrofit2.http.GET - -interface BannerAPI { - @GET("${EndPoint.BANNER}/") - suspend fun getBanner(): List -} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSource.kt b/data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSource.kt deleted file mode 100644 index cfbaa595..00000000 --- a/data/src/main/java/com/danbam/data/remote/datasource/BannerRemoteDataSource.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.danbam.data.remote.datasource - -import com.danbam.data.remote.response.banner.BannerResponse - -interface BannerRemoteDataSource { - suspend fun getBanner(): List -} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSource.kt b/data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSource.kt deleted file mode 100644 index 17d95216..00000000 --- a/data/src/main/java/com/danbam/data/remote/datasource/FundingRemoteDataSource.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.danbam.data.remote.datasource - -import com.danbam.data.remote.request.funding.FundingRequest -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.funding.ReceiptResponse - -interface FundingRemoteDataSource { - suspend fun getReceipt(): ReceiptResponse - suspend fun funding(fundingIdx: Long, rewardIdx: Long, fundingRequest: FundingRequest) - suspend fun fundingList(): List -} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSource.kt b/data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSource.kt deleted file mode 100644 index b0441b7d..00000000 --- a/data/src/main/java/com/danbam/data/remote/datasource/SearchRemoteDataSource.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.danbam.data.remote.datasource - -import androidx.paging.PagingData -import com.danbam.data.remote.response.funding.FundingResponse -import com.danbam.data.remote.response.movie.MovieResponse -import com.danbam.data.remote.response.search.PopularTagResponse -import com.danbam.data.remote.response.search.RelatedSearchResponse -import kotlinx.coroutines.flow.Flow - -interface SearchRemoteDataSource { - suspend fun getRelatedSearch(keyword: String): List - suspend fun searchMovie(keyword: String): Flow> - suspend fun searchFunding(keyword: String): Flow> - suspend fun popularTag(): PopularTagResponse -} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/remote/response/search/RelatedSearchResponse.kt b/data/src/main/java/com/danbam/data/remote/response/search/RelatedSearchResponse.kt deleted file mode 100644 index 2170bc32..00000000 --- a/data/src/main/java/com/danbam/data/remote/response/search/RelatedSearchResponse.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.danbam.data.remote.response.search - -import com.danbam.domain.entity.search.RelatedSearchEntity -import com.google.gson.annotations.SerializedName - -data class RelatedSearchResponse( - @SerializedName("id") - val id: Int, - @SerializedName("title") - val title: String, -) - -fun RelatedSearchResponse.toEntity() = RelatedSearchEntity( - id = id, - title = title -) diff --git a/data/src/main/java/com/danbam/data/repository/BannerRepositoryImpl.kt b/data/src/main/java/com/danbam/data/repository/BannerRepositoryImpl.kt deleted file mode 100644 index 9d3725cc..00000000 --- a/data/src/main/java/com/danbam/data/repository/BannerRepositoryImpl.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.danbam.data.repository - -import com.danbam.data.remote.datasource.BannerRemoteDataSource -import com.danbam.data.remote.response.banner.toEntity -import com.danbam.domain.entity.banner.BannerEntity -import com.danbam.domain.repository.BannerRepository -import javax.inject.Inject - -class BannerRepositoryImpl @Inject constructor( - private val bannerRemoteDataSource: BannerRemoteDataSource -) : BannerRepository { - override suspend fun getBanner(): List = - bannerRemoteDataSource.getBanner().map { it.toEntity() } -} \ No newline at end of file diff --git a/data/src/main/java/com/danbam/data/repository/FileRepositoryImpl.kt b/data/src/main/java/com/danbam/data/repository/FileRepositoryImpl.kt deleted file mode 100644 index 803505e7..00000000 --- a/data/src/main/java/com/danbam/data/repository/FileRepositoryImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.danbam.data.repository - -import com.danbam.data.remote.datasource.FileRemoteDataSource -import com.danbam.data.remote.response.file.toEntity -import com.danbam.data.util.toMultipartBody -import com.danbam.domain.entity.file.FileEntity -import com.danbam.domain.repository.FileRepository -import java.io.File -import javax.inject.Inject - -class FileRepositoryImpl @Inject constructor( - private val fileRemoteDataSource: FileRemoteDataSource, -) : FileRepository { - override suspend fun sendFile(file: File): FileEntity = - fileRemoteDataSource.sendFile(file = file.toMultipartBody()).toEntity() -} \ No newline at end of file diff --git a/data/src/test/java/com/danbam/data/ExampleUnitTest.kt b/data/src/test/java/com/danbam/data/ExampleUnitTest.kt deleted file mode 100644 index cedf9ea7..00000000 --- a/data/src/test/java/com/danbam/data/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.danbam.data - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} \ No newline at end of file diff --git a/design-system/build.gradle.kts b/design-system/build.gradle.kts deleted file mode 100644 index 9c269f66..00000000 --- a/design-system/build.gradle.kts +++ /dev/null @@ -1,74 +0,0 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties - -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") -} - -android { - namespace = "com.danbam.design_system" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - buildConfigField( - "String", - "VIDEO_PRE_PATH", - gradleLocalProperties(rootDir).getProperty("VIDEO_PRE_PATH") - ) - } - - buildTypes { - getByName("release") { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } - buildFeatures { - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = Version.COMPOSE - } -} - -dependencies { - implementation(project(":domain")) - - implementation(Dependency.Compose.ACTIVITY) - implementation(Dependency.Compose.UI) - implementation(Dependency.Compose.PREVIEW) - implementation(Dependency.Compose.MATERIAL) - implementation(Dependency.Compose.MATERIAL3) - implementation(Dependency.Compose.COMPOSE_HILT_NAV) - implementation(Dependency.Compose.FOUNDATION) - - implementation(Dependency.Coil.COIL) - - implementation(Dependency.ExoPlayer.EXO_PLAYER_CORE) - implementation(Dependency.ExoPlayer.EXO_PLAYER_UI) - - implementation(Dependency.Camera.CAMERA) - implementation(Dependency.Camera.LIFECYCLE) - implementation(Dependency.Camera.VIEW) - - implementation(Dependency.Barcode.SCANNING) - implementation(Dependency.Barcode.DRAWING) - - implementation(Dependency.Tv.MATERIAL) - implementation(Dependency.Tv.FOUNDATION) - - implementation(Dependency.AndroidX.CONSTRAINT_LAYOUT) -} \ No newline at end of file diff --git a/design-system/consumer-rules.pro b/design-system/consumer-rules.pro deleted file mode 100644 index e69de29b..00000000 diff --git a/design-system/proguard-rules.pro b/design-system/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/design-system/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/design-system/src/main/java/com/danbam/design_system/util/StringUtil.kt b/design-system/src/main/java/com/danbam/design_system/util/StringUtil.kt deleted file mode 100644 index 35ae50cb..00000000 --- a/design-system/src/main/java/com/danbam/design_system/util/StringUtil.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.danbam.design_system.util - -import java.text.DecimalFormat -import java.util.concurrent.TimeUnit - -fun Long.toCommaString(): String = DecimalFormat("#,###").format(this) - -fun Long.formatMinSec(): String = String.format( - "%02d : %02d", - TimeUnit.MILLISECONDS.toMinutes(this), - TimeUnit.MILLISECONDS.toSeconds(this) - TimeUnit.MINUTES.toSeconds( - TimeUnit.MILLISECONDS.toMinutes(this) - ) -) \ No newline at end of file diff --git a/di/build.gradle.kts b/di/build.gradle.kts deleted file mode 100644 index b8c1fbec..00000000 --- a/di/build.gradle.kts +++ /dev/null @@ -1,62 +0,0 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties - -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") - id("kotlin-android") - id("kotlin-kapt") -} - -android { - namespace = "com.danbam.di" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - buildConfigField( - "String", - "BASE_URL", - gradleLocalProperties(rootDir).getProperty("BASE_URL") - ) - } - - buildTypes { - getByName("release") { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } -} - -dependencies { - implementation(project(":data")) - implementation(project(":domain")) - - implementation(Dependency.AndroidX.CORE_KTX) - implementation(Dependency.AndroidX.APP_COMPAT) - implementation(Dependency.AndroidX.PREFERENCE_KTX) - - implementation(Dependency.Hilt.HILT_ANDROID) - kapt(Dependency.Hilt.HILT_ANDROID_COMPILER) - - implementation(Dependency.Room.ROOM) - kapt(Dependency.Room.ROOM_COMPILER) - - implementation(Dependency.Retrofit.RETROFIT) - implementation(Dependency.Retrofit.RETROFIT_CONVERTER_GSON) - implementation(Dependency.Retrofit.OKHTTP) - implementation(Dependency.Retrofit.OKHTTP_LOGGING_INTERCEPTOR) -} \ No newline at end of file diff --git a/di/consumer-rules.pro b/di/consumer-rules.pro deleted file mode 100644 index e69de29b..00000000 diff --git a/di/proguard-rules.pro b/di/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/di/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts deleted file mode 100644 index 7ed2bd39..00000000 --- a/domain/build.gradle.kts +++ /dev/null @@ -1,46 +0,0 @@ -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") - id("kotlin-kapt") -} - -android { - namespace = "com.danbam.domain" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - getByName("release") { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } -} - -dependencies { - implementation(Dependency.JavaX.INJECT) - - implementation(Dependency.Kotlin.COROUTINES_CORE) - - implementation(Dependency.AndroidX.PAGING) - - testImplementation(Dependency.UnitTest.JUNIT) - testImplementation(Dependency.UnitTest.MOCKITO_KOTLIN) - testImplementation(Dependency.UnitTest.MOCKITO_INLINE) -} \ No newline at end of file diff --git a/domain/consumer-rules.pro b/domain/consumer-rules.pro deleted file mode 100644 index e69de29b..00000000 diff --git a/domain/proguard-rules.pro b/domain/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/domain/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/entity/auth/FindIdEntity.kt b/domain/src/main/java/com/danbam/domain/entity/auth/FindIdEntity.kt deleted file mode 100644 index 1e79b9ec..00000000 --- a/domain/src/main/java/com/danbam/domain/entity/auth/FindIdEntity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.danbam.domain.entity.auth - -data class FindIdEntity( - val id: String, -) \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/entity/search/RelatedSearchEntity.kt b/domain/src/main/java/com/danbam/domain/entity/search/RelatedSearchEntity.kt deleted file mode 100644 index cdd27fe6..00000000 --- a/domain/src/main/java/com/danbam/domain/entity/search/RelatedSearchEntity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.danbam.domain.entity.search - -data class RelatedSearchEntity( - val id: Int, - val title: String, -) \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/repository/BannerRepository.kt b/domain/src/main/java/com/danbam/domain/repository/BannerRepository.kt deleted file mode 100644 index cb250f73..00000000 --- a/domain/src/main/java/com/danbam/domain/repository/BannerRepository.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.danbam.domain.repository - -import com.danbam.domain.entity.banner.BannerEntity - -interface BannerRepository { - suspend fun getBanner(): List -} \ No newline at end of file diff --git a/domain/src/main/java/com/danbam/domain/repository/FileRepository.kt b/domain/src/main/java/com/danbam/domain/repository/FileRepository.kt deleted file mode 100644 index cd09fc6e..00000000 --- a/domain/src/main/java/com/danbam/domain/repository/FileRepository.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.danbam.domain.repository - -import com.danbam.domain.entity.file.FileEntity -import java.io.File - -interface FileRepository { - suspend fun sendFile(file: File): FileEntity -} \ No newline at end of file diff --git a/domain/src/test/java/com/danbam/domain/ExampleUnitTest.kt b/domain/src/test/java/com/danbam/domain/ExampleUnitTest.kt deleted file mode 100644 index cf6ae6b9..00000000 --- a/domain/src/test/java/com/danbam/domain/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.danbam.domain - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} \ No newline at end of file diff --git a/feature/mobile/auth/.gitignore b/feature/mobile/auth/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/auth/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/auth/build.gradle.kts b/feature/mobile/auth/build.gradle.kts new file mode 100644 index 00000000..a494496a --- /dev/null +++ b/feature/mobile/auth/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.auth" +} + +dependencies { + implementation(project(":feature:mobile:navigation")) +} \ No newline at end of file diff --git a/feature/mobile/auth/src/main/AndroidManifest.xml b/feature/mobile/auth/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/auth/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateContract.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateContract.kt similarity index 93% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateContract.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateContract.kt index 2b3ae990..81c60521 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateContract.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.certificate +package com.danbam.indistraw.feature.mobile.auth.certificate data class CertificateState( val phoneNumber: String = "", diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateScreen.kt similarity index 87% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateScreen.kt index 033e2a70..9d7b8837 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.certificate +package com.danbam.indistraw.feature.mobile.auth.certificate import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -24,24 +24,24 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.mobile.ui.auth.navigation.AuthDeepLinkKey -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.auth.navigation.CertificateType -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus -import com.danbam.mobile.util.parser.toPhoneNumber +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.core.design_system.util.internal.toPhoneNumber +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType import kotlinx.coroutines.InternalCoroutinesApi import kotlinx.coroutines.delay diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateViewModel.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateViewModel.kt similarity index 87% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateViewModel.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateViewModel.kt index 8d2c0fde..8917da90 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/certificate/CertificateViewModel.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/certificate/CertificateViewModel.kt @@ -1,13 +1,13 @@ -package com.danbam.mobile.ui.auth.certificate +package com.danbam.indistraw.feature.mobile.auth.certificate import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.account.ChangePhoneNumberUseCase -import com.danbam.domain.usecase.auth.CheckCertificateNumberUseCase -import com.danbam.domain.usecase.auth.CheckPhoneNumberUseCase -import com.danbam.domain.usecase.auth.SendCertificateNumberUseCase -import com.danbam.mobile.util.android.errorHandling -import com.danbam.mobile.util.parser.isPhoneNumber +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.design_system.util.internal.isPhoneNumber +import com.danbam.indistraw.core.domain.usecase.account.ChangePhoneNumberUseCase +import com.danbam.indistraw.core.domain.usecase.auth.CheckCertificateNumberUseCase +import com.danbam.indistraw.core.domain.usecase.auth.CheckPhoneNumberUseCase +import com.danbam.indistraw.core.domain.usecase.auth.SendCertificateNumberUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdContract.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdContract.kt new file mode 100644 index 00000000..a9eb66cc --- /dev/null +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdContract.kt @@ -0,0 +1,5 @@ +package com.danbam.indistraw.feature.mobile.auth.find.find_id + +data class FindIdState( + val id: String = "", +) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdScreen.kt similarity index 71% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdScreen.kt index 8fb48c83..6edae078 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.find.find_id +package com.danbam.indistraw.feature.mobile.auth.find.find_id import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable @@ -9,14 +9,14 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.R -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.main.navigation.MainNavigationItem +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem @Composable fun FindIdScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdViewModel.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdViewModel.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdViewModel.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdViewModel.kt index c4dfde9a..3dadfc08 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdViewModel.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_id/FindIdViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.ui.auth.find.find_id +package com.danbam.indistraw.feature.mobile.auth.find.find_id import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.account.FindIdUseCase -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.domain.usecase.account.FindIdUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordContract.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordContract.kt similarity index 87% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordContract.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordContract.kt index 1b704655..2544a0e5 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordContract.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.find.find_password +package com.danbam.indistraw.feature.mobile.auth.find.find_password sealed class FindPasswordSideEffect { object EmptyPasswordException : FindPasswordSideEffect() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordScreen.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordScreen.kt index e5930760..4777a0ef 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.find.find_password +package com.danbam.indistraw.feature.mobile.auth.find.find_password import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding @@ -19,23 +19,23 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class, ExperimentalComposeUiApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordViewModel.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordViewModel.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordViewModel.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordViewModel.kt index 41830e59..30ed54aa 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_password/FindPasswordViewModel.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/find/find_password/FindPasswordViewModel.kt @@ -1,11 +1,11 @@ -package com.danbam.mobile.ui.auth.find.find_password +package com.danbam.indistraw.feature.mobile.auth.find.find_password import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.ChangePasswordParam -import com.danbam.domain.usecase.account.ChangePasswordUseCase -import com.danbam.mobile.util.android.errorHandling -import com.danbam.mobile.util.parser.isPassword +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.design_system.util.internal.isPassword +import com.danbam.indistraw.core.param.auth.ChangePasswordParam +import com.danbam.indistraw.core.domain.usecase.account.ChangePasswordUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginContract.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginContract.kt similarity index 85% rename from tv/src/main/java/com/danbam/tv/ui/main/login/LoginContract.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginContract.kt index 8df244c0..dadf2a49 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginContract.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginContract.kt @@ -1,4 +1,5 @@ -package com.danbam.tv.ui.main.login +package com.danbam.indistraw.feature.mobile.auth.login + sealed class LoginSideEffect { object LoginSuccess : LoginSideEffect() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginScreen.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginScreen.kt index 034daa88..34511f39 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.login +package com.danbam.indistraw.feature.mobile.auth.login import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -26,25 +26,25 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.ExampleTextRegular -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.mobile.ui.auth.navigation.AuthDeepLinkKey -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.auth.navigation.CertificateType -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.ExampleTextRegular +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class, ExperimentalComposeUiApi::class) @@ -161,7 +161,7 @@ fun LoginScreen( .indiStrawClickable(onClick = { navController.navigate( route = AuthNavigationItem.Certificate.route - + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.FIND_ID + + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.FIND_ID ) }), text = stringResource(id = R.string.find_id), @@ -181,7 +181,7 @@ fun LoginScreen( .indiStrawClickable(onClick = { navController.navigate( route = AuthNavigationItem.Certificate.route - + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.FIND_PASSWORD + + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.FIND_PASSWORD ) }), text = stringResource(id = R.string.find_password), diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginViewModel.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginViewModel.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginViewModel.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginViewModel.kt index 290c7beb..a73fbc15 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginViewModel.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/login/LoginViewModel.kt @@ -1,12 +1,12 @@ -package com.danbam.mobile.ui.auth.login +package com.danbam.indistraw.feature.mobile.auth.login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.LoginParam -import com.danbam.domain.usecase.auth.LoginUseCase -import com.danbam.mobile.util.android.errorHandling -import com.danbam.mobile.util.parser.isId -import com.danbam.mobile.util.parser.isPassword +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.design_system.util.internal.isId +import com.danbam.indistraw.core.design_system.util.internal.isPassword +import com.danbam.indistraw.core.param.auth.LoginParam +import com.danbam.indistraw.core.domain.usecase.auth.LoginUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/navigation/AuthGraph.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/navigation/AuthGraph.kt similarity index 69% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/navigation/AuthGraph.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/navigation/AuthGraph.kt index 8d4f6ac2..fccb30ca 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/navigation/AuthGraph.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/navigation/AuthGraph.kt @@ -1,46 +1,23 @@ -package com.danbam.mobile.ui.auth.navigation +package com.danbam.indistraw.feature.mobile.auth.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.navArgument -import com.danbam.mobile.ui.auth.certificate.CertificateScreen -import com.danbam.mobile.ui.auth.find.find_id.FindIdScreen -import com.danbam.mobile.ui.auth.find.find_password.FindPasswordScreen -import com.danbam.mobile.ui.auth.login.LoginScreen -import com.danbam.mobile.ui.auth.signup.SetIdScreen -import com.danbam.mobile.ui.auth.signup.SetNameScreen -import com.danbam.mobile.ui.auth.signup.SetPasswordScreen -import com.danbam.mobile.ui.auth.signup.SetProfileScreen -import com.danbam.mobile.ui.auth.signup.SignUpViewModel +import com.danbam.indistraw.feature.mobile.auth.certificate.CertificateScreen +import com.danbam.indistraw.feature.mobile.auth.find.find_id.FindIdScreen +import com.danbam.indistraw.feature.mobile.auth.find.find_password.FindPasswordScreen +import com.danbam.indistraw.feature.mobile.auth.login.LoginScreen +import com.danbam.indistraw.feature.mobile.auth.signup.SetIdScreen +import com.danbam.indistraw.feature.mobile.auth.signup.SetNameScreen +import com.danbam.indistraw.feature.mobile.auth.signup.SetPasswordScreen +import com.danbam.indistraw.feature.mobile.auth.signup.SetProfileScreen +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType import com.google.accompanist.navigation.animation.composable -sealed class AuthNavigationItem(val route: String) { - object Login : AuthNavigationItem("login") - object Certificate : AuthNavigationItem("certificate") - object FindId : AuthNavigationItem("findId") - object FindPassword : AuthNavigationItem("findPassword") - object SetName : AuthNavigationItem("setName") - object SetProfile : AuthNavigationItem("setProfile") - object SetId : AuthNavigationItem("setId") - object SetPassword : AuthNavigationItem("setPassword") -} - -object AuthDeepLinkKey { - const val CERTIFICATE_TYPE = "certificateType" - const val IS_FIND_PASSWORD = "isFindPassword" - const val PHONE_NUMBER = "phoneNumber" -} - -object CertificateType { - const val SIGN_UP = "signUp" - const val FIND_ID = "findId" - const val FIND_PASSWORD = "findPassword" - const val CHANGE_PASSWORD = "changePassword" - const val CHANGE_PHONE_NUMBER = "changePhoneNumber" -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.authGraph(navController: NavHostController) { composable(route = AuthNavigationItem.Login.route) { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetIdScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetIdScreen.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetIdScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetIdScreen.kt index 7ac356e5..6f6bb520 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetIdScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetIdScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable @@ -17,19 +17,19 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class, ExperimentalComposeUiApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetNameScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetNameScreen.kt similarity index 74% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetNameScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetNameScreen.kt index d3b216cc..cc58ad57 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetNameScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetNameScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable @@ -17,21 +17,21 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.mobile.ui.auth.navigation.AuthDeepLinkKey -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.auth.navigation.CertificateType -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class, ExperimentalComposeUiApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetPasswordScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetPasswordScreen.kt similarity index 87% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetPasswordScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetPasswordScreen.kt index 6b41dc8f..67f3d4e1 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetPasswordScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetPasswordScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -34,28 +34,28 @@ import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawCheckBox -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack -import com.danbam.mobile.util.view.requestFocus -import com.danbam.mobile.util.parser.toDp +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawCheckBox +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.core.design_system.util.androidx.requestFocus +import com.danbam.indistraw.core.design_system.util.internal.toDp +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetProfileScreen.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetProfileScreen.kt similarity index 76% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetProfileScreen.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetProfileScreen.kt index 2331d1b7..61447614 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SetProfileScreen.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SetProfileScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding @@ -16,16 +16,16 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.SelectProfileButton -import com.danbam.design_system.R -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.parser.toFile +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.SelectProfileButton +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.android.toFile +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpContract.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpContract.kt similarity index 94% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpContract.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpContract.kt index 0285f402..a1d97264 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpContract.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup data class SignUpState( val id: String = "", diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpViewModel.kt b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpViewModel.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpViewModel.kt rename to feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpViewModel.kt index 83dc2c56..56ba309a 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/signup/SignUpViewModel.kt +++ b/feature/mobile/auth/src/main/kotlin/com/danbam/indistraw/feature/mobile/auth/signup/SignUpViewModel.kt @@ -1,14 +1,14 @@ -package com.danbam.mobile.ui.auth.signup +package com.danbam.indistraw.feature.mobile.auth.signup import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.SignUpParam -import com.danbam.domain.usecase.auth.CheckIdUseCase -import com.danbam.domain.usecase.auth.SignUpUseCase -import com.danbam.domain.usecase.file.SendFileUseCase -import com.danbam.mobile.util.android.errorHandling -import com.danbam.mobile.util.parser.isId -import com.danbam.mobile.util.parser.isPassword +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.design_system.util.internal.isId +import com.danbam.indistraw.core.design_system.util.internal.isPassword +import com.danbam.indistraw.core.param.auth.SignUpParam +import com.danbam.indistraw.core.domain.usecase.auth.CheckIdUseCase +import com.danbam.indistraw.core.domain.usecase.auth.SignUpUseCase +import com.danbam.indistraw.core.domain.usecase.file.SendFileUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/funding/.gitignore b/feature/mobile/funding/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/funding/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/funding/build.gradle.kts b/feature/mobile/funding/build.gradle.kts new file mode 100644 index 00000000..ff3ba5aa --- /dev/null +++ b/feature/mobile/funding/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.funding" +} + +dependencies { + implementation(project(":feature:mobile:navigation")) + implementation(libs.bootpay) +} \ No newline at end of file diff --git a/feature/mobile/funding/src/main/AndroidManifest.xml b/feature/mobile/funding/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/funding/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllContract.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllContract.kt similarity index 57% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllContract.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllContract.kt index 97620b40..025c69dd 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllContract.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllContract.kt @@ -1,7 +1,7 @@ -package com.danbam.mobile.ui.funding.all +package com.danbam.indistraw.feature.mobile.funding.all import androidx.paging.PagingData -import com.danbam.domain.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity import kotlinx.coroutines.flow.Flow data class FundingAllState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllScreen.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllScreen.kt index ab20b4c7..d8aee5ac 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.all +package com.danbam.indistraw.feature.mobile.funding.all import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -12,12 +12,12 @@ import androidx.navigation.NavController import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.items -import com.danbam.design_system.component.FundingItem -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.mobile.ui.funding.navigation.FundingDeepLinkKey -import com.danbam.mobile.ui.funding.navigation.FundingNavigationItem +import com.danbam.indistraw.core.design_system.component.FundingItem +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem @Composable fun FundingAllScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllViewModel.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllViewModel.kt similarity index 63% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllViewModel.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllViewModel.kt index 0c650204..6ac05c40 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/all/FundingAllViewModel.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/all/FundingAllViewModel.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.funding.all +package com.danbam.indistraw.feature.mobile.funding.all import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.crowd_funding.FundingAllUseCase +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingAllUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost @@ -14,8 +14,10 @@ import javax.inject.Inject @HiltViewModel class FundingAllViewModel @Inject constructor( private val fundingAllUseCase: FundingAllUseCase -) : ContainerHost, ViewModel() { - override val container = container(FundingAllState()) +) : ContainerHost, ViewModel() { + override val container = container( + com.danbam.indistraw.feature.mobile.funding.all.FundingAllState() + ) fun fundingList() = intent { viewModelScope.launch { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailContract.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailContract.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailContract.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailContract.kt index 9bf67430..1adda982 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailContract.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailContract.kt @@ -1,6 +1,6 @@ -package com.danbam.mobile.ui.funding.detail +package com.danbam.indistraw.feature.mobile.funding.detail -import com.danbam.domain.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity import java.util.UUID data class FundingDetailState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailScreen.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailScreen.kt index a82266b8..137c2f97 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.detail +package com.danbam.indistraw.feature.mobile.funding.detail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Row @@ -26,29 +26,29 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.DialogMedium -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.ExampleTextRegular -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawProgress -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawSlider -import com.danbam.design_system.component.RewardItem -import com.danbam.design_system.component.RewardType -import com.danbam.design_system.util.toCommaString -import com.danbam.domain.entity.funding.FundingDetailEntity -import com.danbam.mobile.ui.funding.navigation.FundingDeepLinkKey -import com.danbam.mobile.ui.funding.navigation.FundingNavigationItem +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.DialogMedium +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.ExampleTextRegular +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawProgress +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawSlider +import com.danbam.indistraw.core.design_system.component.RewardItem +import com.danbam.indistraw.core.design_system.component.RewardType +import com.danbam.indistraw.core.design_system.util.internal.toCommaString +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailViewModel.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailViewModel.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailViewModel.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailViewModel.kt index f4ca824e..ae715924 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/detail/FundingDetailViewModel.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/detail/FundingDetailViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.ui.funding.detail +package com.danbam.indistraw.feature.mobile.funding.detail import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.crowd_funding.FundingDetailUseCase -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingDetailUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/AddRewardScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/AddRewardScreen.kt similarity index 76% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/AddRewardScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/AddRewardScreen.kt index 02f75c14..7fa40b20 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/AddRewardScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/AddRewardScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement @@ -15,19 +15,19 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.RewardItem -import com.danbam.design_system.component.RewardType -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.domain.entity.funding.FundingDetailEntity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.RewardItem +import com.danbam.indistraw.core.design_system.component.RewardType +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.entity.funding.FundingDetailEntity @Composable fun AddRewardScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingContract.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingContract.kt similarity index 76% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingContract.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingContract.kt index a7286e95..f414eb8a 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingContract.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingContract.kt @@ -1,6 +1,6 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make -import com.danbam.domain.param.funding.FundingCreateParam +import com.danbam.indistraw.core.param.funding.FundingCreateParam import java.time.LocalDate data class MakeFundingState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingScreen.kt similarity index 90% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingScreen.kt index e00c7fbe..440e7cc8 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Spacer @@ -12,10 +12,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawMakeProgress -import com.danbam.design_system.component.MakeFundingProgress +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawMakeProgress +import com.danbam.indistraw.core.design_system.component.MakeFundingProgress @Composable fun MakeFundingScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingViewModel.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingViewModel.kt similarity index 94% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingViewModel.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingViewModel.kt index 4ba850fe..e7cf66ac 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/MakeFundingViewModel.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/MakeFundingViewModel.kt @@ -1,10 +1,10 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.funding.FundingCreateParam -import com.danbam.domain.usecase.file.SendFileUseCase -import com.danbam.domain.usecase.crowd_funding.FundingCreateUseCase +import com.danbam.indistraw.core.param.funding.FundingCreateParam +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingCreateUseCase +import com.danbam.indistraw.core.domain.usecase.file.SendFileUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteAccountScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteAccountScreen.kt similarity index 85% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteAccountScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteAccountScreen.kt index 9b1f5676..6aaa5dbc 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteAccountScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteAccountScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -22,19 +22,19 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable sealed class Bank(val stringId: Int, val BankIcon: IndiStrawIconList, val name: String) { object NhBank : Bank(R.string.nh_bank, IndiStrawIconList.BankNh, "NH") diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteIntroduceScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteIntroduceScreen.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteIntroduceScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteIntroduceScreen.kt index 0389bc33..d3e099ea 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteIntroduceScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteIntroduceScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -14,14 +14,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.design_system.component.AddImageList -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.SelectImageButton -import com.danbam.mobile.util.parser.toFile +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.AddImageList +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.SelectImageButton +import com.danbam.indistraw.core.design_system.util.android.toFile @Composable fun WriteIntroduceScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteRewardScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteRewardScreen.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteRewardScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteRewardScreen.kt index 4db0354b..081cce54 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteRewardScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteRewardScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -18,16 +18,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.R -import com.danbam.design_system.component.AddImageList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.IndiStrawToggle -import com.danbam.design_system.component.TitleRegular -import com.danbam.mobile.util.parser.toFile +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.AddImageList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.IndiStrawToggle +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.android.toFile import okhttp3.internal.toLongOrDefault @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteTargetScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteTargetScreen.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteTargetScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteTargetScreen.kt index cdc9f181..fc299417 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/make/WriteTargetScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/make/WriteTargetScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.make +package com.danbam.indistraw.feature.mobile.funding.make import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -19,20 +19,20 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.AddFileList -import com.danbam.design_system.component.DatePicker -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.util.parser.toFile +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.AddFileList +import com.danbam.indistraw.core.design_system.component.DatePicker +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.android.toFile +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable import okhttp3.internal.toLongOrDefault import java.time.LocalDate diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingContract.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingContract.kt similarity index 72% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingContract.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingContract.kt index 8bb89caf..c68cfd17 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingContract.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingContract.kt @@ -1,6 +1,7 @@ -package com.danbam.mobile.ui.funding.my +package com.danbam.indistraw.feature.mobile.funding.my + +import com.danbam.indistraw.core.entity.funding.MyFundingEntity -import com.danbam.domain.entity.funding.MyFundingEntity data class MyFundingState( val myFundingEntity: MyFundingEntity = MyFundingEntity( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingScreen.kt similarity index 90% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingScreen.kt index 2ef9fc97..01efda14 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.my +package com.danbam.indistraw.feature.mobile.funding.my import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -30,26 +30,26 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.DialogMedium -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.MyRewardItem -import com.danbam.design_system.component.PriceRegular -import com.danbam.design_system.component.RewardType -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.RemoveOverScrollLazyRow -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.toCommaString -import com.danbam.domain.entity.funding.MyFundingEntity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.DialogMedium +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.MyRewardItem +import com.danbam.indistraw.core.design_system.component.PriceRegular +import com.danbam.indistraw.core.design_system.component.RewardType +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.internal.toCommaString +import com.danbam.indistraw.core.entity.funding.MyFundingEntity @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingViewModel.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingViewModel.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingViewModel.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingViewModel.kt index ea729b7f..07183033 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/my/MyFundingViewModel.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/my/MyFundingViewModel.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.funding.my +package com.danbam.indistraw.feature.mobile.funding.my import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.crowd_funding.FundingMyDetailUseCase +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingMyDetailUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/navigation/FundingGraph.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/navigation/FundingGraph.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/navigation/FundingGraph.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/navigation/FundingGraph.kt index 3ebdfade..72cdd534 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/navigation/FundingGraph.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/navigation/FundingGraph.kt @@ -1,33 +1,19 @@ -package com.danbam.mobile.ui.funding.navigation +package com.danbam.indistraw.feature.mobile.funding.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.navArgument -import com.danbam.mobile.ui.funding.all.FundingAllScreen -import com.danbam.mobile.ui.funding.detail.FundingDetailScreen -import com.danbam.mobile.ui.funding.make.MakeFundingScreen -import com.danbam.mobile.ui.funding.my.MyFundingScreen -import com.danbam.mobile.ui.funding.pay.FundingRewardScreen +import com.danbam.indistraw.feature.mobile.funding.all.FundingAllScreen +import com.danbam.indistraw.feature.mobile.funding.detail.FundingDetailScreen +import com.danbam.indistraw.feature.mobile.funding.make.MakeFundingScreen +import com.danbam.indistraw.feature.mobile.funding.my.MyFundingScreen +import com.danbam.indistraw.feature.mobile.funding.pay.FundingRewardScreen +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem import com.google.accompanist.navigation.animation.composable -sealed class FundingNavigationItem(val route: String) { - object Make : FundingNavigationItem("fundingMake") - object Detail : FundingNavigationItem("fundingDetail") - object All : FundingNavigationItem("fundingAll") - object FundingReward : FundingNavigationItem("fundingReward") - object MyDetail : FundingNavigationItem("fundingMyDetail") -} - -object FundingDeepLinkKey { - const val FUNDING_INDEX = "fundingIndex" - const val REWARD_INDEX = "rewardIndex" - const val REWARD_TITLE = "rewardTitle" - const val REWARD_DESCRIPTION = "rewardDescription" - const val REWARD_PRICE = "rewardPrice" -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.fundingGraph(navController: NavHostController) { composable(route = FundingNavigationItem.Make.route) { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardContract.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardContract.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardContract.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardContract.kt index a20b4ee9..d515862d 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardContract.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.pay +package com.danbam.indistraw.feature.mobile.funding.pay data class FundingRewardState( val name: String = "", diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardScreen.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardScreen.kt similarity index 92% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardScreen.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardScreen.kt index dc00ac03..5d209015 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardScreen.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.funding.pay +package com.danbam.indistraw.feature.mobile.funding.pay import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background @@ -28,22 +28,21 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.toCommaString -import com.danbam.design_system.R -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.util.android.findActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.pay.bootPayCreate -import com.danbam.mobile.util.pay.bootPayPayload +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.util.internal.toCommaString +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.util.android.findActivity +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.bootpay.bootPayCreate +import com.danbam.indistraw.core.design_system.util.bootpay.bootPayPayload import kotlinx.coroutines.InternalCoroutinesApi -import java.util.UUID sealed class Payment(val stringId: Int, val method: String) { companion object { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardViewModel.kt b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardViewModel.kt similarity index 85% rename from mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardViewModel.kt rename to feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardViewModel.kt index 74aea305..d027e44d 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/funding/pay/FundingRewardViewModel.kt +++ b/feature/mobile/funding/src/main/kotlin/com/danbam/indistraw/feature/mobile/funding/pay/FundingRewardViewModel.kt @@ -1,11 +1,11 @@ -package com.danbam.mobile.ui.funding.pay +package com.danbam.indistraw.feature.mobile.funding.pay import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.funding.FundingParam -import com.danbam.domain.usecase.account.GetProfileUseCase -import com.danbam.domain.usecase.funding.FundingUseCase -import com.danbam.domain.usecase.funding.GetReceiptUseCase +import com.danbam.indistraw.core.param.funding.FundingParam +import com.danbam.indistraw.core.domain.usecase.account.GetProfileUseCase +import com.danbam.indistraw.core.domain.usecase.funding.FundingUseCase +import com.danbam.indistraw.core.domain.usecase.funding.GetReceiptUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/main/.gitignore b/feature/mobile/main/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/main/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/main/build.gradle.kts b/feature/mobile/main/build.gradle.kts new file mode 100644 index 00000000..fd295e6d --- /dev/null +++ b/feature/mobile/main/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.main" +} + +dependencies { + implementation(project(":feature:mobile:navigation")) +} \ No newline at end of file diff --git a/feature/mobile/main/src/main/AndroidManifest.xml b/feature/mobile/main/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/main/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroContract.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroContract.kt similarity index 76% rename from mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroContract.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroContract.kt index b7a7f6a7..1747d940 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroContract.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.main.intro +package com.danbam.indistraw.feature.mobile.main.intro data class IntroState( val isNeedLogin: Boolean = false, diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroScreen.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroScreen.kt similarity index 77% rename from mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroScreen.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroScreen.kt index 4a6d805a..8684b455 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroScreen.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.main.intro +package com.danbam.indistraw.feature.mobile.main.intro import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.tween @@ -18,21 +18,20 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawBoxBackground -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.JoinBold -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.util.Language -import com.danbam.design_system.util.changeLanguage -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawBoxBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.JoinBold +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.design_system.util.android.changeLanguage +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi import kotlinx.coroutines.delay diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroViewModel.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroViewModel.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroViewModel.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroViewModel.kt index bc89487b..c9bf144b 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/intro/IntroViewModel.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/intro/IntroViewModel.kt @@ -1,10 +1,10 @@ -package com.danbam.mobile.ui.main.intro +package com.danbam.indistraw.feature.mobile.main.intro import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.auth.IsLoginUseCase -import com.danbam.domain.usecase.system.FetchLanguageUseCase -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.domain.usecase.auth.IsLoginUseCase +import com.danbam.indistraw.core.domain.usecase.system.FetchLanguageUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainContract.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainContract.kt new file mode 100644 index 00000000..37d268a7 --- /dev/null +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainContract.kt @@ -0,0 +1,13 @@ +package com.danbam.indistraw.feature.mobile.main.main + +import com.danbam.indistraw.core.entity.banner.BannerEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity + + +data class MainState( + val profileUrl: String? = null, + val movieList: List = listOf(), + val fundingPopularList: List = listOf(), + val bannerList: List = listOf() +) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainScreen.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainScreen.kt similarity index 79% rename from mobile/src/main/java/com/danbam/mobile/ui/main/main/MainScreen.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainScreen.kt index 989c8a78..1d162090 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainScreen.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.main.main +package com.danbam.indistraw.feature.mobile.main.main import androidx.activity.compose.BackHandler import androidx.compose.foundation.background @@ -27,29 +27,29 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.ImageButton -import com.danbam.design_system.component.IndiStrawBanner -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawColumnTab -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawRowTab -import com.danbam.design_system.component.IndiStrawTab -import com.danbam.design_system.component.MovieTab -import com.danbam.design_system.component.Shape -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.funding.navigation.FundingDeepLinkKey -import com.danbam.mobile.ui.funding.navigation.FundingNavigationItem -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.ui.search.navigation.SearchNavigationItem -import com.danbam.mobile.util.android.findActivity +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.ImageButton +import com.danbam.indistraw.core.design_system.component.IndiStrawBanner +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnTab +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawRowTab +import com.danbam.indistraw.core.design_system.component.IndiStrawTab +import com.danbam.indistraw.core.design_system.component.MovieTab +import com.danbam.indistraw.core.design_system.component.Shape +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.util.android.findActivity +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.search.SearchNavigationItem @Composable fun MainScreen( @@ -87,9 +87,7 @@ fun MainScreen( verticalAlignment = Alignment.CenterVertically ) { IndiStrawIcon(modifier = Modifier.indiStrawClickable { - navController.navigate( - SearchNavigationItem.Search.route - ) + navController.navigate(SearchNavigationItem.Search.route) }, icon = IndiStrawIconList.Search) if (state.profileUrl != null) { ImageButton( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainViewModel.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainViewModel.kt similarity index 79% rename from mobile/src/main/java/com/danbam/mobile/ui/main/main/MainViewModel.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainViewModel.kt index 54d7de5b..8077830d 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainViewModel.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/main/MainViewModel.kt @@ -1,14 +1,14 @@ -package com.danbam.mobile.ui.main.main +package com.danbam.indistraw.feature.mobile.main.main import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.design_system.component.MovieTab -import com.danbam.domain.usecase.account.GetProfileUseCase -import com.danbam.domain.usecase.banner.GetBannerUseCase -import com.danbam.domain.usecase.crowd_funding.FundingPopularListUseCase -import com.danbam.domain.usecase.movie.MoviePopularListUseCase -import com.danbam.domain.usecase.movie.MovieRecentListUseCase -import com.danbam.domain.usecase.movie.MovieRecommendListUseCase +import com.danbam.indistraw.core.design_system.component.MovieTab +import com.danbam.indistraw.core.domain.usecase.account.GetProfileUseCase +import com.danbam.indistraw.core.domain.usecase.banner.GetBannerUseCase +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingPopularListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MoviePopularListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieRecentListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieRecommendListUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/navigation/MainGraph.kt b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/navigation/MainGraph.kt similarity index 64% rename from mobile/src/main/java/com/danbam/mobile/ui/main/navigation/MainGraph.kt rename to feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/navigation/MainGraph.kt index 9f110215..22e5df11 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/navigation/MainGraph.kt +++ b/feature/mobile/main/src/main/kotlin/com/danbam/indistraw/feature/mobile/main/navigation/MainGraph.kt @@ -1,17 +1,13 @@ -package com.danbam.mobile.ui.main.navigation +package com.danbam.indistraw.feature.mobile.main.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController -import com.danbam.mobile.ui.main.intro.IntroScreen -import com.danbam.mobile.ui.main.main.MainScreen +import com.danbam.indistraw.feature.mobile.main.intro.IntroScreen +import com.danbam.indistraw.feature.mobile.main.main.MainScreen +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem import com.google.accompanist.navigation.animation.composable -sealed class MainNavigationItem(val route: String) { - object Intro : MainNavigationItem("intro") - object Main : MainNavigationItem("main") -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.mainGraph(navController: NavHostController) { composable(route = MainNavigationItem.Intro.route) { diff --git a/feature/mobile/movie/.gitignore b/feature/mobile/movie/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/movie/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/movie/build.gradle.kts b/feature/mobile/movie/build.gradle.kts new file mode 100644 index 00000000..2a96011e --- /dev/null +++ b/feature/mobile/movie/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.movie" +} + +dependencies { + implementation(project(":feature:mobile:navigation")) +} \ No newline at end of file diff --git a/feature/mobile/movie/src/main/AndroidManifest.xml b/feature/mobile/movie/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/movie/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllContract.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllContract.kt similarity index 58% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllContract.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllContract.kt index 16756c58..bd7c96de 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllContract.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllContract.kt @@ -1,7 +1,7 @@ -package com.danbam.mobile.ui.movie.all +package com.danbam.indistraw.feature.mobile.movie.all import androidx.paging.PagingData -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import kotlinx.coroutines.flow.Flow data class MovieAllState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllScreen.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllScreen.kt index ca878b8e..3d4e9209 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.all +package com.danbam.indistraw.feature.mobile.movie.all import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Spacer @@ -20,13 +20,13 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawGenreList -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.MovieGenre -import com.danbam.design_system.component.MovieItem -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawGenreList +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.MovieGenre +import com.danbam.indistraw.core.design_system.component.MovieItem +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem @Composable fun MovieAllScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllViewModel.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllViewModel.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllViewModel.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllViewModel.kt index 40cf0052..5f7555d6 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/all/MovieAllViewModel.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/all/MovieAllViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.ui.movie.all +package com.danbam.indistraw.feature.mobile.movie.all import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.design_system.component.MovieGenre -import com.danbam.domain.usecase.movie.MovieListUseCase +import com.danbam.indistraw.core.design_system.component.MovieGenre +import com.danbam.indistraw.core.domain.usecase.movie.MovieListUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailContract.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailContract.kt similarity index 70% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailContract.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailContract.kt index 4a970f13..6e93db0f 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailContract.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailContract.kt @@ -1,7 +1,8 @@ -package com.danbam.mobile.ui.movie.detail +package com.danbam.indistraw.feature.mobile.movie.detail + +import com.danbam.indistraw.core.entity.movie.MovieDetailEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity -import com.danbam.domain.entity.movie.MovieDetailEntity -import com.danbam.domain.entity.movie.MovieEntity data class MovieDetailState( val movieDetailInfo: MovieDetailEntity = MovieDetailEntity( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailScreen.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailScreen.kt index 48e645b7..c31ef973 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.detail +package com.danbam.indistraw.feature.mobile.movie.detail import android.media.MediaMetadataRetriever import android.view.WindowManager @@ -31,26 +31,26 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import coil.compose.AsyncImage -import com.danbam.design_system.BuildConfig -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.ImageButton -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.Shape -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.RemoveOverScrollLazyRow -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.domain.entity.movie.MoviePeopleEntity -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem -import com.danbam.mobile.util.android.getActivity +import com.danbam.indistraw.core.design_system.BuildConfig +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.ImageButton +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.Shape +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyRow +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailViewModel.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailViewModel.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailViewModel.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailViewModel.kt index 6702bb9f..81a5d760 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/detail/MovieDetailViewModel.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/detail/MovieDetailViewModel.kt @@ -1,10 +1,10 @@ -package com.danbam.mobile.ui.movie.detail +package com.danbam.indistraw.feature.mobile.movie.detail import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.movie.MovieDetailUseCase -import com.danbam.domain.usecase.movie.MovieHistoryUseCase -import com.danbam.domain.usecase.movie.MoviePeopleDetailUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieDetailUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieHistoryUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MoviePeopleDetailUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/AddActorScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/AddActorScreen.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/AddActorScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/AddActorScreen.kt index 6c9020da..facd1170 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/AddActorScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/AddActorScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -18,21 +18,21 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.AddPeopleList -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.ui.movie.navigation.ActorType -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.AddPeopleList +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.movie.ActorType +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem import kotlinx.coroutines.InternalCoroutinesApi sealed class AddPeopleType { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieContract.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieContract.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieContract.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieContract.kt index 928a7f46..290be75f 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieContract.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieContract.kt @@ -1,6 +1,6 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make -import com.danbam.domain.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity data class MakeMovieState( val thumbnailUrl: String? = null, diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieViewModel.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieViewModel.kt similarity index 89% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieViewModel.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieViewModel.kt index 8c6daa2f..12c2b90b 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/MakeMovieViewModel.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/MakeMovieViewModel.kt @@ -1,16 +1,16 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.entity.movie.MoviePeopleEntity -import com.danbam.domain.param.movie.MovieCreateParam -import com.danbam.domain.param.movie.MoviePeopleParam -import com.danbam.domain.usecase.file.SendFileUseCase -import com.danbam.domain.usecase.movie.AddMoviePeopleUseCase -import com.danbam.domain.usecase.movie.MovieCreateUseCase -import com.danbam.domain.usecase.movie.SearchMoviePeopleUseCase -import com.danbam.mobile.ui.movie.navigation.ActorType -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.entity.movie.MoviePeopleEntity +import com.danbam.indistraw.core.param.movie.MovieCreateParam +import com.danbam.indistraw.core.param.movie.MoviePeopleParam +import com.danbam.indistraw.core.domain.usecase.file.SendFileUseCase +import com.danbam.indistraw.core.domain.usecase.movie.AddMoviePeopleUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieCreateUseCase +import com.danbam.indistraw.core.domain.usecase.movie.SearchMoviePeopleUseCase +import com.danbam.indistraw.feature.mobile.navigation.movie.ActorType import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/SearchActorScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/SearchActorScreen.kt similarity index 79% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/SearchActorScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/SearchActorScreen.kt index 18456628..ede46384 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/SearchActorScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/SearchActorScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -26,19 +26,19 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.DialogMedium -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawSearchTextField -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.DialogMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawSearchTextField +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack import kotlinx.coroutines.InternalCoroutinesApi @OptIn(ExperimentalComposeUiApi::class, InternalCoroutinesApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteActorScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteActorScreen.kt similarity index 79% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteActorScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteActorScreen.kt index 1f7324ec..8fa7e8d5 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteActorScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteActorScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Spacer @@ -17,16 +17,16 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.SelectProfileButton -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.parser.toFile +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.SelectProfileButton +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.util.android.toFile +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteIntroduceScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteIntroduceScreen.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteIntroduceScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteIntroduceScreen.kt index 0a9303d3..8086c5c5 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/make/WriteIntroduceScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/make/WriteIntroduceScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.make +package com.danbam.indistraw.feature.mobile.movie.make import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -22,30 +22,28 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.AddImageList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.IndiStrawToggle -import com.danbam.design_system.component.SelectImageButton -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.LaunchType -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.util.rememberLauncher -import com.danbam.design_system.util.typedLaunch -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.parser.toFile -import kotlinx.coroutines.Dispatchers +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.AddImageList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.IndiStrawToggle +import com.danbam.indistraw.core.design_system.component.SelectImageButton +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.android.toFile +import com.danbam.indistraw.core.design_system.util.androidx.LaunchType +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.rememberLauncher +import com.danbam.indistraw.core.design_system.util.androidx.typedLaunch +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem import kotlinx.coroutines.InternalCoroutinesApi -import kotlinx.coroutines.withContext @OptIn(InternalCoroutinesApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/navigation/MovieGraph.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/navigation/MovieGraph.kt similarity index 75% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/navigation/MovieGraph.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/navigation/MovieGraph.kt index debd510d..271680f2 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/navigation/MovieGraph.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/navigation/MovieGraph.kt @@ -1,44 +1,22 @@ -package com.danbam.mobile.ui.movie.navigation +package com.danbam.indistraw.feature.mobile.movie.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.navArgument -import com.danbam.mobile.ui.movie.all.MovieAllScreen -import com.danbam.mobile.ui.movie.detail.MovieDetailScreen -import com.danbam.mobile.ui.movie.make.AddActorScreen -import com.danbam.mobile.ui.movie.make.MakeMovieViewModel -import com.danbam.mobile.ui.movie.make.SearchActorScreen -import com.danbam.mobile.ui.movie.make.WriteActorScreen -import com.danbam.mobile.ui.movie.make.WriteIntroduceScreen -import com.danbam.mobile.ui.movie.play.MoviePlayScreen +import com.danbam.indistraw.feature.mobile.movie.all.MovieAllScreen +import com.danbam.indistraw.feature.mobile.movie.detail.MovieDetailScreen +import com.danbam.indistraw.feature.mobile.movie.make.AddActorScreen +import com.danbam.indistraw.feature.mobile.movie.make.SearchActorScreen +import com.danbam.indistraw.feature.mobile.movie.make.WriteActorScreen +import com.danbam.indistraw.feature.mobile.movie.make.WriteIntroduceScreen +import com.danbam.indistraw.feature.mobile.movie.play.MoviePlayScreen +import com.danbam.indistraw.feature.mobile.navigation.movie.ActorType +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem import com.google.accompanist.navigation.animation.composable -sealed class MovieNavigationItem(val route: String) { - object Detail : MovieNavigationItem("movieDetail") - object Play : MovieNavigationItem("moviePlay") - object All : MovieNavigationItem("movieAll") - object WriteIntroduce : MovieNavigationItem("movieWriteIntroduce") - object AddActor : MovieNavigationItem("movieAddActor") - object SearchActor : MovieNavigationItem("movieSearchActor") - object WriteActor : MovieNavigationItem("movieWriteActor") -} - -object MovieDeepLinkKey { - const val ADD_ACTOR_TYPE = "addActorType" - const val MOVIE_NAME = "movieName" - const val MOVIE_INDEX = "movieIndex" - const val MOVIE_URL = "movieUrl" - const val MOVIE_POSITION = "moviePosition" - const val IS_VERTICAL = "isVertical" -} - -object ActorType { - const val ACTOR = "actor" - const val DIRECTOR = "director" -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.movieGraph( navController: NavHostController, diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayContract.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayContract.kt similarity index 62% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayContract.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayContract.kt index bf044bff..a7ceb4cb 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayContract.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.play +package com.danbam.indistraw.feature.mobile.movie.play sealed class MoviePlaySideEffect { object SuccessSaveHistory: MoviePlaySideEffect() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayScreen.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayScreen.kt similarity index 72% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayScreen.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayScreen.kt index 1a0618eb..2f670485 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayScreen.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.movie.play +package com.danbam.indistraw.feature.mobile.movie.play import android.app.PictureInPictureParams import android.content.pm.ActivityInfo @@ -6,12 +6,13 @@ import android.util.Rational import android.view.WindowManager import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState +import androidx.compose.ui.platform.LocalContext import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawPlayer -import com.danbam.mobile.util.android.getActivity -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.LockScreenOrientation +import com.danbam.indistraw.core.design_system.component.IndiStrawPlayer +import com.danbam.indistraw.core.design_system.util.android.findActivity +import com.danbam.indistraw.core.design_system.util.androidx.getActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) @@ -29,6 +30,7 @@ fun MoviePlayScreen( val state = container.stateFlow.collectAsState().value val sideEffect = container.sideEffectFlow val activity = getActivity() + val context = LocalContext.current activity.window.addFlags(WindowManager.LayoutParams.FLAG_SECURE) @@ -40,13 +42,12 @@ fun MoviePlayScreen( } } - if (!isVertical) { - LockScreenOrientation(orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) - } IndiStrawPlayer( movieUrl = movieUrl, movieName = movieName, position = position, + isMobile = true, + isVertical = isVertical, onPIP = { activity.enterPictureInPictureMode( PictureInPictureParams.Builder() @@ -55,6 +56,7 @@ fun MoviePlayScreen( ) }, onDispose = { + context.findActivity()?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT moviePlayViewModel.addMovieHistory(movieIdx = movieIdx, it / 1000F) }) } \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayViewModel.kt b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayViewModel.kt similarity index 84% rename from tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayViewModel.kt rename to feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayViewModel.kt index c37aa048..18bf9fa3 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayViewModel.kt +++ b/feature/mobile/movie/src/main/kotlin/com/danbam/indistraw/feature/mobile/movie/play/MoviePlayViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.tv.ui.movie.play +package com.danbam.indistraw.feature.mobile.movie.play import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.movie.MovieHistoryParam -import com.danbam.domain.usecase.movie.AddMovieHistoryUseCase +import com.danbam.indistraw.core.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.domain.usecase.movie.AddMovieHistoryUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/navigation/.gitignore b/feature/mobile/navigation/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/navigation/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/navigation/build.gradle.kts b/feature/mobile/navigation/build.gradle.kts new file mode 100644 index 00000000..adf3fb9a --- /dev/null +++ b/feature/mobile/navigation/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + id("indistraw-core") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.navigation" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/AndroidManifest.xml b/feature/mobile/navigation/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/navigation/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthDeepLinkKey.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthDeepLinkKey.kt new file mode 100644 index 00000000..7edd7dfb --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthDeepLinkKey.kt @@ -0,0 +1,7 @@ +package com.danbam.indistraw.feature.mobile.navigation.auth + +object AuthDeepLinkKey { + const val CERTIFICATE_TYPE = "certificateType" + const val IS_FIND_PASSWORD = "isFindPassword" + const val PHONE_NUMBER = "phoneNumber" +} diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthNavigationItem.kt new file mode 100644 index 00000000..67fee973 --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthNavigationItem.kt @@ -0,0 +1,12 @@ +package com.danbam.indistraw.feature.mobile.navigation.auth + +sealed class AuthNavigationItem(val route: String) { + object Login : AuthNavigationItem("login") + object Certificate : AuthNavigationItem("certificate") + object FindId : AuthNavigationItem("findId") + object FindPassword : AuthNavigationItem("findPassword") + object SetName : AuthNavigationItem("setName") + object SetProfile : AuthNavigationItem("setProfile") + object SetId : AuthNavigationItem("setId") + object SetPassword : AuthNavigationItem("setPassword") +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthType.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthType.kt new file mode 100644 index 00000000..eefd001a --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/auth/AuthType.kt @@ -0,0 +1,9 @@ +package com.danbam.indistraw.feature.mobile.navigation.auth + +object CertificateType { + const val SIGN_UP = "signUp" + const val FIND_ID = "findId" + const val FIND_PASSWORD = "findPassword" + const val CHANGE_PASSWORD = "changePassword" + const val CHANGE_PHONE_NUMBER = "changePhoneNumber" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingDeepLinkKey.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingDeepLinkKey.kt new file mode 100644 index 00000000..47165ebf --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingDeepLinkKey.kt @@ -0,0 +1,9 @@ +package com.danbam.indistraw.feature.mobile.navigation.funding + +object FundingDeepLinkKey { + const val FUNDING_INDEX = "fundingIndex" + const val REWARD_INDEX = "rewardIndex" + const val REWARD_TITLE = "rewardTitle" + const val REWARD_DESCRIPTION = "rewardDescription" + const val REWARD_PRICE = "rewardPrice" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingNavigationItem.kt new file mode 100644 index 00000000..e5cc9c27 --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/funding/FundingNavigationItem.kt @@ -0,0 +1,9 @@ +package com.danbam.indistraw.feature.mobile.navigation.funding + +sealed class FundingNavigationItem(val route: String) { + object Make : FundingNavigationItem("fundingMake") + object Detail : FundingNavigationItem("fundingDetail") + object All : FundingNavigationItem("fundingAll") + object FundingReward : FundingNavigationItem("fundingReward") + object MyDetail : FundingNavigationItem("fundingMyDetail") +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/main/MainNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/main/MainNavigationItem.kt new file mode 100644 index 00000000..ae42b293 --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/main/MainNavigationItem.kt @@ -0,0 +1,6 @@ +package com.danbam.indistraw.feature.mobile.navigation.main + +sealed class MainNavigationItem(val route: String) { + object Intro : MainNavigationItem("intro") + object Main : MainNavigationItem("main") +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieDeepLinkKey.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieDeepLinkKey.kt new file mode 100644 index 00000000..5b5400af --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieDeepLinkKey.kt @@ -0,0 +1,10 @@ +package com.danbam.indistraw.feature.mobile.navigation.movie + +object MovieDeepLinkKey { + const val ADD_ACTOR_TYPE = "addActorType" + const val MOVIE_NAME = "movieName" + const val MOVIE_INDEX = "movieIndex" + const val MOVIE_URL = "movieUrl" + const val MOVIE_POSITION = "moviePosition" + const val IS_VERTICAL = "isVertical" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieNavigationItem.kt new file mode 100644 index 00000000..979578eb --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieNavigationItem.kt @@ -0,0 +1,11 @@ +package com.danbam.indistraw.feature.mobile.navigation.movie + +sealed class MovieNavigationItem(val route: String) { + object Detail : MovieNavigationItem("movieDetail") + object Play : MovieNavigationItem("moviePlay") + object All : MovieNavigationItem("movieAll") + object WriteIntroduce : MovieNavigationItem("movieWriteIntroduce") + object AddActor : MovieNavigationItem("movieAddActor") + object SearchActor : MovieNavigationItem("movieSearchActor") + object WriteActor : MovieNavigationItem("movieWriteActor") +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieType.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieType.kt new file mode 100644 index 00000000..aa919a3d --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/movie/MovieType.kt @@ -0,0 +1,6 @@ +package com.danbam.indistraw.feature.mobile.navigation.movie + +object ActorType { + const val ACTOR = "actor" + const val DIRECTOR = "director" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileDeepLinkKey.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileDeepLinkKey.kt new file mode 100644 index 00000000..694a32ca --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileDeepLinkKey.kt @@ -0,0 +1,6 @@ +package com.danbam.indistraw.feature.mobile.navigation.profile + +object ProfileDeepLinkKey { + const val ADDRESS = "address" + const val ZIP_CODE = "zipCode" +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileNavigationItem.kt new file mode 100644 index 00000000..f59028a6 --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/profile/ProfileNavigationItem.kt @@ -0,0 +1,10 @@ +package com.danbam.indistraw.feature.mobile.navigation.profile + +sealed class ProfileNavigationItem(val route: String) { + object Profile : ProfileNavigationItem("profile") + object Setting : ProfileNavigationItem("setting") + object EditProfile : ProfileNavigationItem("editProfile") + object FindAddress : ProfileNavigationItem("findAddress") + object DetailAddress : ProfileNavigationItem("detailAddress") + object QRLogin : ProfileNavigationItem("qrLogin") +} \ No newline at end of file diff --git a/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/search/SearchNavigationItem.kt b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/search/SearchNavigationItem.kt new file mode 100644 index 00000000..43c6adbd --- /dev/null +++ b/feature/mobile/navigation/src/main/kotlin/com/danbam/indistraw/feature/mobile/navigation/search/SearchNavigationItem.kt @@ -0,0 +1,5 @@ +package com.danbam.indistraw.feature.mobile.navigation.search + +sealed class SearchNavigationItem(val route: String) { + object Search : SearchNavigationItem("search") +} \ No newline at end of file diff --git a/feature/mobile/profile/.gitignore b/feature/mobile/profile/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/profile/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/profile/build.gradle.kts b/feature/mobile/profile/build.gradle.kts new file mode 100644 index 00000000..e4ab6db0 --- /dev/null +++ b/feature/mobile/profile/build.gradle.kts @@ -0,0 +1,20 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties + +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.profile" + defaultConfig { + buildConfigField( + "String", + "QR_URL", + gradleLocalProperties(rootDir).getProperty("QR_URL") + ) + } +} + +dependencies { + implementation(project(":feature:mobile:navigation")) +} \ No newline at end of file diff --git a/feature/mobile/profile/src/main/AndroidManifest.xml b/feature/mobile/profile/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/profile/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressContract.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressContract.kt similarity index 71% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressContract.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressContract.kt index 2f7de38d..3b52b248 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressContract.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.detail_address +package com.danbam.indistraw.feature.mobile.profile.detail_address sealed class DetailAddressSideEffect { object EmptyDetailAddressException : DetailAddressSideEffect() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressScreen.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressScreen.kt index 6b6c6e56..347d6a95 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.detail_address +package com.danbam.indistraw.feature.mobile.profile.detail_address import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -19,17 +19,17 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.R -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.view.popBackStack +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class, ExperimentalComposeUiApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressViewModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressViewModel.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressViewModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressViewModel.kt index 608d0520..0a7dfd8f 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/detail_address/DetailAddressViewModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/detail_address/DetailAddressViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.ui.profile.detail_address +package com.danbam.indistraw.feature.mobile.profile.detail_address import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.ChangeAddressParam -import com.danbam.domain.usecase.account.ChangeAddressUseCase +import com.danbam.indistraw.core.param.auth.ChangeAddressParam +import com.danbam.indistraw.core.domain.usecase.account.ChangeAddressUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileContract.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileContract.kt similarity index 85% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileContract.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileContract.kt index e1739432..9642d54d 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileContract.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.edit_profile +package com.danbam.indistraw.feature.mobile.profile.edit_profile data class EditProfileState( val profileUrl: String? = null, diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileScreen.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileScreen.kt index 3592c234..b3cd27c9 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.edit_profile +package com.danbam.indistraw.feature.mobile.profile.edit_profile import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Spacer @@ -23,23 +23,23 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.R -import com.danbam.design_system.component.FindPasswordMedium -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTextField -import com.danbam.design_system.component.SelectProfileButton -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.auth.navigation.AuthDeepLinkKey -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.auth.navigation.CertificateType -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle -import com.danbam.mobile.util.parser.toFile -import com.danbam.mobile.util.view.popBackStack +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.FindPasswordMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTextField +import com.danbam.indistraw.core.design_system.component.SelectProfileButton +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.android.toFile +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(ExperimentalComposeUiApi::class, InternalCoroutinesApi::class) @@ -119,9 +119,7 @@ fun EditProfileScreen( tailingIcon = { FindPasswordMedium( modifier = Modifier.indiStrawClickable { - navController.navigate( - AuthNavigationItem.Certificate.route + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.CHANGE_PHONE_NUMBER - ) + navController.navigate(AuthNavigationItem.Certificate.route + AuthDeepLinkKey.CERTIFICATE_TYPE + CertificateType.CHANGE_PHONE_NUMBER) }, text = stringResource(id = R.string.change), color = IndiStrawTheme.colors.skyBlue diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileVieModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileVieModel.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileVieModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileVieModel.kt index 37104459..024c9473 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/edit_profile/EditProfileVieModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/edit_profile/EditProfileVieModel.kt @@ -1,12 +1,12 @@ -package com.danbam.mobile.ui.profile.edit_profile +package com.danbam.indistraw.feature.mobile.profile.edit_profile import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.EditProfileParam -import com.danbam.domain.usecase.account.EditProfileUseCase -import com.danbam.domain.usecase.account.GetProfileUseCase -import com.danbam.domain.usecase.file.SendFileUseCase -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.param.auth.EditProfileParam +import com.danbam.indistraw.core.domain.usecase.account.EditProfileUseCase +import com.danbam.indistraw.core.domain.usecase.account.GetProfileUseCase +import com.danbam.indistraw.core.domain.usecase.file.SendFileUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressContact.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressContact.kt similarity index 61% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressContact.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressContact.kt index 72430305..f40cb2b1 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressContact.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressContact.kt @@ -1,7 +1,7 @@ -package com.danbam.mobile.ui.profile.find_address +package com.danbam.indistraw.feature.mobile.profile.find_address import androidx.paging.PagingData -import com.danbam.domain.entity.auth.AddressEntity +import com.danbam.indistraw.core.domain.entity.auth.AddressEntity import kotlinx.coroutines.flow.Flow data class FindAddressState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressScreen.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressScreen.kt index c0c2a82e..dab38524 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressScreen.kt @@ -1,6 +1,5 @@ -package com.danbam.mobile.ui.profile.find_address +package com.danbam.indistraw.feature.mobile.profile.find_address -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -27,20 +26,20 @@ import androidx.navigation.NavController import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemsIndexed -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawSearchTextField -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.DialogMedium -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.profile.navigation.ProfileDeepLinkKey -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.util.view.popBackStack +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawSearchTextField +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.DialogMedium +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem @OptIn(ExperimentalComposeUiApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressViewModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressViewModel.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressViewModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressViewModel.kt index a36bad58..657d3925 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/find_address/FindAddressViewModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/find_address/FindAddressViewModel.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.profile.find_address +package com.danbam.indistraw.feature.mobile.profile.find_address import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.address.GetAddressUseCase +import com.danbam.indistraw.core.domain.usecase.address.GetAddressUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/navigation/ProfileGraph.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/navigation/ProfileGraph.kt similarity index 65% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/navigation/ProfileGraph.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/navigation/ProfileGraph.kt index bda89659..86ab54d7 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/navigation/ProfileGraph.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/navigation/ProfileGraph.kt @@ -1,32 +1,20 @@ -package com.danbam.mobile.ui.profile.navigation +package com.danbam.indistraw.feature.mobile.profile.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.navArgument -import com.danbam.mobile.ui.profile.detail_address.DetailAddressScreen -import com.danbam.mobile.ui.profile.edit_profile.EditProfileScreen -import com.danbam.mobile.ui.profile.find_address.FindAddressScreen -import com.danbam.mobile.ui.profile.profile.ProfileScreen -import com.danbam.mobile.ui.profile.qr_login.QRLoginScreen -import com.danbam.mobile.ui.profile.setting.SettingScreen +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem +import com.danbam.indistraw.feature.mobile.profile.detail_address.DetailAddressScreen +import com.danbam.indistraw.feature.mobile.profile.edit_profile.EditProfileScreen +import com.danbam.indistraw.feature.mobile.profile.find_address.FindAddressScreen +import com.danbam.indistraw.feature.mobile.profile.profile.ProfileScreen +import com.danbam.indistraw.feature.mobile.profile.qr_login.QRLoginScreen +import com.danbam.indistraw.feature.mobile.profile.setting.SettingScreen import com.google.accompanist.navigation.animation.composable -sealed class ProfileNavigationItem(val route: String) { - object Profile : ProfileNavigationItem("profile") - object Setting : ProfileNavigationItem("setting") - object EditProfile : ProfileNavigationItem("editProfile") - object FindAddress : ProfileNavigationItem("findAddress") - object DetailAddress : ProfileNavigationItem("detailAddress") - object QRLogin : ProfileNavigationItem("qrLogin") -} - -object ProfileDeepLinkKey { - const val ADDRESS = "address" - const val ZIP_CODE = "zipCode" -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.profileGraph( navController: NavHostController, diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileContract.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileContract.kt similarity index 60% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileContract.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileContract.kt index 92dea652..45416851 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileContract.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileContract.kt @@ -1,7 +1,7 @@ -package com.danbam.mobile.ui.profile.profile +package com.danbam.indistraw.feature.mobile.profile.profile -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity data class ProfileState( val id: String = "", diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileScreen.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileScreen.kt index 3099577b..87dc47d4 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.profile +package com.danbam.indistraw.feature.mobile.profile.profile import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -24,24 +24,24 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawTab -import com.danbam.design_system.R -import com.danbam.design_system.component.FundingTab -import com.danbam.design_system.component.IndiStrawColumnTab -import com.danbam.design_system.component.IndiStrawRowTab -import com.danbam.design_system.component.MovieTab -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.mobile.ui.funding.navigation.FundingDeepLinkKey -import com.danbam.mobile.ui.funding.navigation.FundingNavigationItem -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawTab +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.FundingTab +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnTab +import com.danbam.indistraw.core.design_system.component.IndiStrawRowTab +import com.danbam.indistraw.core.design_system.component.MovieTab +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem @Composable fun ProfileScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileViewModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileViewModel.kt similarity index 81% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileViewModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileViewModel.kt index bd8a95fc..665c95b4 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/profile/ProfileViewModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/profile/ProfileViewModel.kt @@ -1,12 +1,12 @@ -package com.danbam.mobile.ui.profile.profile +package com.danbam.indistraw.feature.mobile.profile.profile import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.entity.movie.MovieEntity -import com.danbam.domain.usecase.account.GetProfileUseCase -import com.danbam.domain.usecase.crowd_funding.FundingMyUseCase -import com.danbam.domain.usecase.funding.FundingListUseCase -import com.danbam.domain.usecase.movie.MovieHistoryListUseCase +import com.danbam.indistraw.core.entity.movie.MovieEntity +import com.danbam.indistraw.core.domain.usecase.account.GetProfileUseCase +import com.danbam.indistraw.core.domain.usecase.crowd_funding.FundingMyUseCase +import com.danbam.indistraw.core.domain.usecase.funding.FundingListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieHistoryListUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginContract.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginContract.kt new file mode 100644 index 00000000..ed2a43f3 --- /dev/null +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginContract.kt @@ -0,0 +1,2 @@ +package com.danbam.indistraw.feature.mobile.profile.qr_login + diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginScreen.kt similarity index 76% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginScreen.kt index 109d51ef..d2d83e79 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.qr_login +package com.danbam.indistraw.feature.mobile.profile.qr_login import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Spacer @@ -18,16 +18,16 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.QRScanner -import com.danbam.design_system.R -import com.danbam.design_system.component.IndiStrawButton -import com.danbam.design_system.component.TitleRegular -import com.danbam.mobile.BuildConfig +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.QRScanner +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.IndiStrawButton +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.feature.mobile.profile.BuildConfig import java.util.UUID @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginViewModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginViewModel.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginViewModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginViewModel.kt index 0d03cedb..7d50a06b 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginViewModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/qr_login/QRLoginViewModel.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.profile.qr_login +package com.danbam.indistraw.feature.mobile.profile.qr_login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.qr_code.CheckQRCodeUseCase +import com.danbam.indistraw.core.domain.usecase.qr_code.CheckQRCodeUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingContract.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingContract.kt similarity index 68% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingContract.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingContract.kt index 4f2b40e3..d4d6b54b 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingContract.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.setting +package com.danbam.indistraw.feature.mobile.profile.setting sealed class SettingSideEffect { object SuccessLogout : SettingSideEffect() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingScreen.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingScreen.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingScreen.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingScreen.kt index f9685850..2b3cac07 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingScreen.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.profile.setting +package com.danbam.indistraw.feature.mobile.profile.setting import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -24,26 +24,26 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.IndiStrawBottomSheetLayout -import com.danbam.design_system.component.IndiStrawDialog -import com.danbam.design_system.util.Language -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.changeLanguage -import com.danbam.mobile.ui.auth.navigation.AuthDeepLinkKey -import com.danbam.mobile.ui.auth.navigation.AuthNavigationItem -import com.danbam.mobile.ui.auth.navigation.CertificateType -import com.danbam.mobile.ui.main.navigation.MainNavigationItem -import com.danbam.mobile.ui.profile.navigation.ProfileNavigationItem -import com.danbam.mobile.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawBottomSheetLayout +import com.danbam.indistraw.core.design_system.component.IndiStrawDialog +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.android.changeLanguage +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.auth.CertificateType +import com.danbam.indistraw.feature.mobile.navigation.main.MainNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.profile.ProfileNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(ExperimentalMaterialApi::class, InternalCoroutinesApi::class) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingViewModel.kt b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingViewModel.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingViewModel.kt rename to feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingViewModel.kt index bc4a4d50..b5c6b299 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/setting/SettingViewModel.kt +++ b/feature/mobile/profile/src/main/kotlin/com/danbam/indistraw/feature/mobile/profile/setting/SettingViewModel.kt @@ -1,19 +1,17 @@ -package com.danbam.mobile.ui.profile.setting +package com.danbam.indistraw.feature.mobile.profile.setting import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.account.WithdrawUseCase -import com.danbam.domain.usecase.auth.ClearTokenUseCase -import com.danbam.domain.usecase.auth.LogoutUseCase -import com.danbam.domain.usecase.system.FetchLanguageUseCase -import com.danbam.domain.usecase.system.SaveLanguageUseCase -import com.danbam.mobile.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.domain.usecase.account.WithdrawUseCase +import com.danbam.indistraw.core.domain.usecase.auth.ClearTokenUseCase +import com.danbam.indistraw.core.domain.usecase.auth.LogoutUseCase +import com.danbam.indistraw.core.domain.usecase.system.SaveLanguageUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost import org.orbitmvi.orbit.syntax.simple.intent import org.orbitmvi.orbit.syntax.simple.postSideEffect -import org.orbitmvi.orbit.syntax.simple.reduce import org.orbitmvi.orbit.viewmodel.container import javax.inject.Inject diff --git a/feature/mobile/search/.gitignore b/feature/mobile/search/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/mobile/search/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mobile/search/build.gradle.kts b/feature/mobile/search/build.gradle.kts new file mode 100644 index 00000000..6714b9a0 --- /dev/null +++ b/feature/mobile/search/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.mobile.search" +} + +dependencies { + implementation(project(":feature:mobile:navigation")) +} \ No newline at end of file diff --git a/feature/mobile/search/src/main/AndroidManifest.xml b/feature/mobile/search/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/mobile/search/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/navigation/SearchGraph.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/navigation/SearchGraph.kt similarity index 67% rename from mobile/src/main/java/com/danbam/mobile/ui/search/navigation/SearchGraph.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/navigation/SearchGraph.kt index f32b6c77..7640b2a4 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/navigation/SearchGraph.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/navigation/SearchGraph.kt @@ -1,15 +1,12 @@ -package com.danbam.mobile.ui.search.navigation +package com.danbam.indistraw.feature.mobile.search.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController -import com.danbam.mobile.ui.search.search.SearchScreen +import com.danbam.indistraw.feature.mobile.navigation.search.SearchNavigationItem +import com.danbam.indistraw.feature.mobile.search.search.SearchScreen import com.google.accompanist.navigation.animation.composable -sealed class SearchNavigationItem(val route: String) { - object Search : SearchNavigationItem("search") -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.searchGraph(navController: NavHostController) { composable(route = SearchNavigationItem.Search.route) { diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchContract.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchContract.kt similarity index 54% rename from mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchContract.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchContract.kt index 250360ce..56d856ec 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchContract.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchContract.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.search.result_search +package com.danbam.indistraw.feature.mobile.search.result_search import androidx.paging.PagingData -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.funding.FundingEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import kotlinx.coroutines.flow.Flow data class ResultSearchState( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchScreen.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchScreen.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchScreen.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchScreen.kt index 56216a3b..b5bbe4e6 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchScreen.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.result_search +package com.danbam.indistraw.feature.mobile.search.result_search import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -24,17 +24,17 @@ import androidx.navigation.NavController import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.items -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawTab -import com.danbam.design_system.R -import com.danbam.design_system.component.FundingItem -import com.danbam.design_system.component.MovieItem -import com.danbam.design_system.component.SearchTab -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.mobile.ui.funding.navigation.FundingDeepLinkKey -import com.danbam.mobile.ui.funding.navigation.FundingNavigationItem -import com.danbam.mobile.ui.movie.navigation.MovieDeepLinkKey -import com.danbam.mobile.ui.movie.navigation.MovieNavigationItem +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawTab +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.FundingItem +import com.danbam.indistraw.core.design_system.component.MovieItem +import com.danbam.indistraw.core.design_system.component.SearchTab +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.funding.FundingNavigationItem +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieDeepLinkKey +import com.danbam.indistraw.feature.mobile.navigation.movie.MovieNavigationItem @Composable fun ResultSearchScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchViewModel.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchViewModel.kt similarity index 82% rename from mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchViewModel.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchViewModel.kt index 2eadfcab..01a4af6e 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/result_search/ResultSearchViewModel.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/result_search/ResultSearchViewModel.kt @@ -1,10 +1,10 @@ -package com.danbam.mobile.ui.search.result_search +package com.danbam.indistraw.feature.mobile.search.result_search import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.usecase.search.SearchFundingUseCase -import com.danbam.domain.usecase.search.SearchMovieUseCase +import com.danbam.indistraw.core.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.domain.usecase.search.SearchFundingUseCase +import com.danbam.indistraw.core.domain.usecase.search.SearchMovieUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchContract.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchContract.kt similarity index 80% rename from mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchContract.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchContract.kt index 904b3d26..7ef37cbe 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchContract.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchContract.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.search +package com.danbam.indistraw.feature.mobile.search.search sealed class SearchType { object Start : SearchType() diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchScreen.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchScreen.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchScreen.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchScreen.kt index 9ff809a3..c79de195 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchScreen.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.search +package com.danbam.indistraw.feature.mobile.search.search import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -12,14 +12,14 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.IndiStrawHeader -import com.danbam.design_system.component.IndiStrawSearchTextField -import com.danbam.design_system.R -import com.danbam.mobile.ui.search.result_search.ResultSearchScreen -import com.danbam.mobile.ui.search.searching.SearchingScreen -import com.danbam.mobile.ui.search.start_search.StartSearchScreen -import com.danbam.mobile.util.view.popBackStack +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawHeader +import com.danbam.indistraw.core.design_system.component.IndiStrawSearchTextField +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.feature.mobile.search.result_search.ResultSearchScreen +import com.danbam.indistraw.feature.mobile.search.searching.SearchingScreen +import com.danbam.indistraw.feature.mobile.search.start_search.StartSearchScreen +import com.danbam.indistraw.core.design_system.util.androidx.popBackStack @OptIn(ExperimentalComposeUiApi::class) @Composable diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchViewModel.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchViewModel.kt similarity index 92% rename from mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchViewModel.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchViewModel.kt index 6e3ce438..5b0369f3 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/search/SearchViewModel.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/search/SearchViewModel.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.search +package com.danbam.indistraw.feature.mobile.search.search import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingContract.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingContract.kt new file mode 100644 index 00000000..25a227a6 --- /dev/null +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingContract.kt @@ -0,0 +1,5 @@ +package com.danbam.indistraw.feature.mobile.search.searching + +data class SearchingState( + val relatedSearchPager: List? = null +) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingScreen.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingScreen.kt similarity index 75% rename from mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingScreen.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingScreen.kt index 6952a85b..0c5b808a 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingScreen.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.searching +package com.danbam.indistraw.feature.mobile.search.searching import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -12,12 +12,12 @@ import androidx.compose.runtime.collectAsState import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun SearchingScreen( @@ -46,12 +46,12 @@ fun SearchingScreen( .padding(horizontal = 15.dp) .indiStrawClickable { onClickAction() - onSearch(item.title) + onSearch(item) } ) { IndiStrawIcon(icon = IndiStrawIconList.Search) Spacer(modifier = Modifier.width(14.dp)) - ExampleTextMedium(text = item.title) + ExampleTextMedium(text = item) Spacer(modifier = Modifier.weight(1F)) IndiStrawIcon(icon = IndiStrawIconList.FastSearch) } diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingViewModel.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingViewModel.kt similarity index 87% rename from mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingViewModel.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingViewModel.kt index a65fb610..89a245d3 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingViewModel.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/searching/SearchingViewModel.kt @@ -1,8 +1,8 @@ -package com.danbam.mobile.ui.search.searching +package com.danbam.indistraw.feature.mobile.search.searching import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.search.GetRelatedSearchUseCase +import com.danbam.indistraw.core.domain.usecase.search.GetRelatedSearchUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchContract.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchContract.kt similarity index 52% rename from mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchContract.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchContract.kt index 3b179813..463b2e1c 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchContract.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchContract.kt @@ -1,6 +1,6 @@ -package com.danbam.mobile.ui.search.start_search +package com.danbam.indistraw.feature.mobile.search.start_search -import com.danbam.domain.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.entity.search.RecentSearchEntity data class StartSearchState( val recentSearchList: List = listOf(), diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchScreen.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchScreen.kt similarity index 78% rename from mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchScreen.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchScreen.kt index 071247d9..4a21bf82 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchScreen.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.mobile.ui.search.start_search +package com.danbam.indistraw.feature.mobile.search.start_search import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -11,14 +11,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawColumnBackground -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.R -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawChipList -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.design_system.util.indiStrawClickable +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawColumnBackground +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawChipList +import com.danbam.indistraw.core.design_system.util.androidx.RemoveOverScrollLazyColumn +import com.danbam.indistraw.core.design_system.util.androidx.indiStrawClickable @Composable fun StartSearchScreen( diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchViewModel.kt b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchViewModel.kt similarity index 83% rename from mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchViewModel.kt rename to feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchViewModel.kt index 26c1e395..9a0e2855 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/start_search/StartSearchViewModel.kt +++ b/feature/mobile/search/src/main/kotlin/com/danbam/indistraw/feature/mobile/search/start_search/StartSearchViewModel.kt @@ -1,12 +1,11 @@ -package com.danbam.mobile.ui.search.start_search +package com.danbam.indistraw.feature.mobile.search.start_search import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.search.GetRecentSearchUseCase -import com.danbam.domain.usecase.search.PopularTagUseCase +import com.danbam.indistraw.core.domain.usecase.search.GetRecentSearchUseCase +import com.danbam.indistraw.core.domain.usecase.search.PopularTagUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch -import org.orbitmvi.orbit.Container import org.orbitmvi.orbit.ContainerHost import org.orbitmvi.orbit.syntax.simple.intent import org.orbitmvi.orbit.syntax.simple.reduce diff --git a/feature/tv/home/.gitignore b/feature/tv/home/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/home/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/home/build.gradle.kts b/feature/tv/home/build.gradle.kts new file mode 100644 index 00000000..9f2416eb --- /dev/null +++ b/feature/tv/home/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.home" +} + +dependencies { + implementation(project(":feature:tv:navigation")) + implementation(libs.bundles.tv) +} \ No newline at end of file diff --git a/feature/tv/home/src/main/AndroidManifest.xml b/feature/tv/home/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/home/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeContract.kt b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeContract.kt new file mode 100644 index 00000000..e1eddb32 --- /dev/null +++ b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeContract.kt @@ -0,0 +1,11 @@ +package com.danbam.indistraw.feature.tv.home + +import com.danbam.indistraw.core.entity.banner.BannerEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity + + +data class HomeState( + val currentMovieIndex: Long = 0, + val movieList: List = listOf(), + val bannerList: List = listOf() +) \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/home/HomeScreen.kt b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeScreen.kt similarity index 83% rename from tv/src/main/java/com/danbam/tv/ui/home/HomeScreen.kt rename to feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeScreen.kt index 7085c43d..06bf8c24 100644 --- a/tv/src/main/java/com/danbam/tv/ui/home/HomeScreen.kt +++ b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.home +package com.danbam.indistraw.feature.tv.home import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.PaddingValues @@ -24,16 +24,16 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController import androidx.tv.foundation.lazy.list.TvLazyRow import androidx.tv.foundation.lazy.list.items -import com.danbam.design_system.component.ImageButton -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.IndiStrawTvBanner -import com.danbam.design_system.component.IndiStrawTvTab -import com.danbam.design_system.component.Shape -import com.danbam.design_system.R -import com.danbam.design_system.component.MovieTab -import com.danbam.design_system.component.MovieTvItem -import com.danbam.tv.ui.main.navigation.MainDeepLinkKey -import com.danbam.tv.ui.main.navigation.MainNavigationItem +import com.danbam.indistraw.core.design_system.component.ImageButton +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBanner +import com.danbam.indistraw.core.design_system.component.IndiStrawTvTab +import com.danbam.indistraw.core.design_system.component.Shape +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.MovieTab +import com.danbam.indistraw.core.design_system.component.MovieTvItem +import com.danbam.indistraw.feature.tv.navigation.main.MainDeepLinkKey +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem @Composable fun HomeScreen( diff --git a/tv/src/main/java/com/danbam/tv/ui/home/HomeViewModel.kt b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeViewModel.kt similarity index 81% rename from tv/src/main/java/com/danbam/tv/ui/home/HomeViewModel.kt rename to feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeViewModel.kt index f6af8aab..1176a494 100644 --- a/tv/src/main/java/com/danbam/tv/ui/home/HomeViewModel.kt +++ b/feature/tv/home/src/main/kotlin/com/danbam/indistraw/feature/tv/home/HomeViewModel.kt @@ -1,12 +1,12 @@ -package com.danbam.tv.ui.home +package com.danbam.indistraw.feature.tv.home import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.design_system.component.MovieTab -import com.danbam.domain.usecase.banner.GetBannerUseCase -import com.danbam.domain.usecase.movie.MoviePopularListUseCase -import com.danbam.domain.usecase.movie.MovieRecentListUseCase -import com.danbam.domain.usecase.movie.MovieRecommendListUseCase +import com.danbam.indistraw.core.design_system.component.MovieTab +import com.danbam.indistraw.core.domain.usecase.banner.GetBannerUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MoviePopularListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieRecentListUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieRecommendListUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/tv/main/.gitignore b/feature/tv/main/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/main/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/main/build.gradle.kts b/feature/tv/main/build.gradle.kts new file mode 100644 index 00000000..15f2119b --- /dev/null +++ b/feature/tv/main/build.gradle.kts @@ -0,0 +1,25 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties + +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.main" + defaultConfig { + buildConfigField( + "String", + "QR_URL", + gradleLocalProperties(rootDir).getProperty("QR_URL") + ) + } +} + +dependencies { + implementation(project(":feature:tv:home")) + implementation(project(":feature:tv:movie")) + implementation(project(":feature:tv:navigation")) + implementation(project(":feature:tv:search")) + implementation(project(":feature:tv:setting")) + implementation(libs.bundles.tv) +} \ No newline at end of file diff --git a/feature/tv/main/src/main/AndroidManifest.xml b/feature/tv/main/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/main/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroContract.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroContract.kt similarity index 78% rename from tv/src/main/java/com/danbam/tv/ui/main/intro/IntroContract.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroContract.kt index 8c853e33..7cd4a6aa 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroContract.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroContract.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.intro +package com.danbam.indistraw.feature.tv.main.intro data class IntroState( val currentLanguage: String? = null diff --git a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroScreen.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroScreen.kt similarity index 75% rename from tv/src/main/java/com/danbam/tv/ui/main/intro/IntroScreen.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroScreen.kt index 1b6060e5..f3ae88fe 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroScreen.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.intro +package com.danbam.indistraw.feature.tv.main.intro import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect @@ -6,11 +6,11 @@ import androidx.compose.runtime.collectAsState import androidx.compose.ui.platform.LocalContext import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.util.Language -import com.danbam.design_system.util.changeLanguage -import com.danbam.tv.ui.main.navigation.MainNavigationItem -import com.danbam.tv.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.design_system.util.android.changeLanguage +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) diff --git a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroViewModel.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroViewModel.kt similarity index 87% rename from tv/src/main/java/com/danbam/tv/ui/main/intro/IntroViewModel.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroViewModel.kt index 2d2d5de3..737a7fdd 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/intro/IntroViewModel.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/intro/IntroViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.tv.ui.main.intro +package com.danbam.indistraw.feature.tv.main.intro import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.auth.IsLoginUseCase -import com.danbam.domain.usecase.system.FetchLanguageUseCase +import com.danbam.indistraw.core.domain.usecase.auth.IsLoginUseCase +import com.danbam.indistraw.core.domain.usecase.system.FetchLanguageUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginContract.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginContract.kt similarity index 86% rename from mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginContract.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginContract.kt index f1bf5e4e..b95d1513 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/login/LoginContract.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginContract.kt @@ -1,5 +1,4 @@ -package com.danbam.mobile.ui.auth.login - +package com.danbam.indistraw.feature.tv.main.login sealed class LoginSideEffect { object LoginSuccess : LoginSideEffect() diff --git a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginScreen.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginScreen.kt similarity index 83% rename from tv/src/main/java/com/danbam/tv/ui/main/login/LoginScreen.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginScreen.kt index e2129b79..70bdbd06 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginScreen.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.login +package com.danbam.indistraw.feature.tv.main.login import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Column @@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -18,18 +17,16 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.R -import com.danbam.design_system.component.ExampleTextRegular -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.IndiStrawTvButton -import com.danbam.design_system.component.IndiStrawTvDialog -import com.danbam.design_system.component.IndiStrawTvTextField -import com.danbam.design_system.util.Language -import com.danbam.design_system.util.changeLanguage -import com.danbam.tv.ui.main.navigation.MainNavigationItem -import com.danbam.tv.util.android.findActivity -import com.danbam.tv.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.ExampleTextRegular +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawTvButton +import com.danbam.indistraw.core.design_system.component.IndiStrawTvDialog +import com.danbam.indistraw.core.design_system.component.IndiStrawTvTextField +import com.danbam.indistraw.core.design_system.util.android.findActivity +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) diff --git a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginViewModel.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginViewModel.kt similarity index 80% rename from tv/src/main/java/com/danbam/tv/ui/main/login/LoginViewModel.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginViewModel.kt index 9111b3b8..2fe53046 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/login/LoginViewModel.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/login/LoginViewModel.kt @@ -1,12 +1,12 @@ -package com.danbam.tv.ui.main.login +package com.danbam.indistraw.feature.tv.main.login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.auth.LoginParam -import com.danbam.domain.usecase.auth.LoginUseCase -import com.danbam.tv.util.android.errorHandling -import com.danbam.tv.util.parser.isId -import com.danbam.tv.util.parser.isPassword +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.design_system.util.internal.isId +import com.danbam.indistraw.core.design_system.util.internal.isPassword +import com.danbam.indistraw.core.param.auth.LoginParam +import com.danbam.indistraw.core.domain.usecase.auth.LoginUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/tv/src/main/java/com/danbam/tv/ui/main/main/MainScreen.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/main/MainScreen.kt similarity index 83% rename from tv/src/main/java/com/danbam/tv/ui/main/main/MainScreen.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/main/MainScreen.kt index dad76beb..93ed1021 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/main/MainScreen.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/main/MainScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.main +package com.danbam.indistraw.feature.tv.main.main import androidx.activity.compose.BackHandler import androidx.compose.animation.ExperimentalAnimationApi @@ -17,14 +17,13 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalContext import androidx.navigation.NavController import androidx.navigation.NavHostController -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.IndiStrawTvNavigationDrawer -import com.danbam.design_system.component.TvNavigationItem -import com.danbam.tv.ui.home.HomeScreen -import com.danbam.tv.ui.movie.movie.MovieScreen -import com.danbam.tv.ui.search.SearchScreen -import com.danbam.tv.ui.setting.SettingScreen -import com.danbam.tv.util.android.findActivity +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawTvNavigationDrawer +import com.danbam.indistraw.core.design_system.component.TvNavigationItem +import com.danbam.indistraw.core.design_system.util.android.findActivity +import com.danbam.indistraw.feature.tv.movie.movie.MovieScreen +import com.danbam.indistraw.feature.tv.search.SearchScreen +import com.danbam.indistraw.feature.tv.setting.SettingScreen import com.google.accompanist.navigation.animation.AnimatedNavHost import com.google.accompanist.navigation.animation.composable import com.google.accompanist.navigation.animation.rememberAnimatedNavController @@ -95,7 +94,10 @@ fun HomeApp( SearchScreen(navController = navController) } composable(route = TvNavigationItem.Home.route) { - HomeScreen(navController = navController, isOpenDrawer = isOpenDrawer) + com.danbam.indistraw.feature.tv.home.HomeScreen( + navController = navController, + isOpenDrawer = isOpenDrawer + ) } composable(route = TvNavigationItem.Movie.route) { MovieScreen(navController = navController, isOpenDrawer = isOpenDrawer) diff --git a/tv/src/main/java/com/danbam/tv/ui/main/navigation/MainGraph.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/navigation/MainGraph.kt similarity index 74% rename from tv/src/main/java/com/danbam/tv/ui/main/navigation/MainGraph.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/navigation/MainGraph.kt index 766a7974..eba4988d 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/navigation/MainGraph.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/navigation/MainGraph.kt @@ -1,34 +1,20 @@ -package com.danbam.tv.ui.main.navigation +package com.danbam.indistraw.feature.tv.main.navigation import androidx.compose.animation.ExperimentalAnimationApi import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.navArgument -import com.danbam.tv.ui.main.intro.IntroScreen -import com.danbam.tv.ui.main.login.LoginScreen -import com.danbam.tv.ui.main.main.MainScreen -import com.danbam.tv.ui.main.qr_login.QRLoginScreen -import com.danbam.tv.ui.movie.detail.MovieDetailScreen -import com.danbam.tv.ui.movie.play.MoviePlayScreen +import com.danbam.indistraw.feature.tv.main.intro.IntroScreen +import com.danbam.indistraw.feature.tv.main.login.LoginScreen +import com.danbam.indistraw.feature.tv.main.main.MainScreen +import com.danbam.indistraw.feature.tv.main.qr_login.QRLoginScreen +import com.danbam.indistraw.feature.tv.movie.detail.MovieDetailScreen +import com.danbam.indistraw.feature.tv.movie.play.MoviePlayScreen +import com.danbam.indistraw.feature.tv.navigation.main.MainDeepLinkKey +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem import com.google.accompanist.navigation.animation.composable -sealed class MainNavigationItem(val route: String) { - object Intro : MainNavigationItem("intro") - object Login : MainNavigationItem("login") - object QRLogin : MainNavigationItem("QRLogin") - object Main : MainNavigationItem("main") - object MovieDetail : MainNavigationItem("movieDetail") - object MoviePlay : MainNavigationItem("moviePlay") -} - -object MainDeepLinkKey { - const val MOVIE_NAME = "movieName" - const val MOVIE_INDEX = "movieIndex" - const val MOVIE_URL = "movieUrl" - const val MOVIE_POSITION = "moviePosition" -} - @OptIn(ExperimentalAnimationApi::class) fun NavGraphBuilder.mainGraph(navController: NavHostController) { composable(route = MainNavigationItem.Intro.route) { @@ -74,7 +60,7 @@ fun NavGraphBuilder.mainGraph(navController: NavHostController) { )) { val movieName = it.arguments?.getString(MainDeepLinkKey.MOVIE_NAME) ?: "" val movieUrl = it.arguments?.getString(MainDeepLinkKey.MOVIE_URL) ?: "" - val movieIdx = it.arguments?.getLong(MainDeepLinkKey.MOVIE_URL) ?: 0 + val movieIdx = it.arguments?.getLong(MainDeepLinkKey.MOVIE_INDEX) ?: 0 val moviePosition = it.arguments?.getFloat(MainDeepLinkKey.MOVIE_POSITION) ?: 0F MoviePlayScreen( movieName = movieName, diff --git a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginContract.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginContract.kt similarity index 74% rename from tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginContract.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginContract.kt index 0a0a6265..dbbbfdb1 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginContract.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginContract.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.qr_login +package com.danbam.indistraw.feature.tv.main.qr_login import java.util.UUID diff --git a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginScreen.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginScreen.kt similarity index 76% rename from tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginScreen.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginScreen.kt index 2c760924..244fdb48 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginScreen.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.main.qr_login +package com.danbam.indistraw.feature.tv.main.qr_login import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -16,17 +16,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.tv.BuildConfig -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.R -import com.danbam.design_system.component.QRPainter -import com.danbam.tv.ui.main.navigation.MainNavigationItem -import com.danbam.tv.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.QRPainter +import com.danbam.indistraw.feature.tv.main.BuildConfig +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi import kotlinx.coroutines.delay diff --git a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginViewModel.kt b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginViewModel.kt similarity index 84% rename from tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginViewModel.kt rename to feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginViewModel.kt index 9b4e2239..56aefe32 100644 --- a/tv/src/main/java/com/danbam/tv/ui/main/qr_login/QRLoginViewModel.kt +++ b/feature/tv/main/src/main/kotlin/com/danbam/indistraw/feature/tv/main/qr_login/QRLoginViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.tv.ui.main.qr_login +package com.danbam.indistraw.feature.tv.main.qr_login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.qr_code.ConnectQRCodeUseCase -import com.danbam.domain.usecase.qr_code.GetQRCodeUseCase +import com.danbam.indistraw.core.domain.usecase.qr_code.ConnectQRCodeUseCase +import com.danbam.indistraw.core.domain.usecase.qr_code.GetQRCodeUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/tv/movie/.gitignore b/feature/tv/movie/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/movie/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/movie/build.gradle.kts b/feature/tv/movie/build.gradle.kts new file mode 100644 index 00000000..c4109d64 --- /dev/null +++ b/feature/tv/movie/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.movie" +} + +dependencies { + implementation(project(":feature:tv:navigation")) + implementation(libs.bundles.tv) +} \ No newline at end of file diff --git a/feature/tv/movie/src/main/AndroidManifest.xml b/feature/tv/movie/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/movie/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailContract.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailContract.kt similarity index 76% rename from tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailContract.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailContract.kt index f9562ed1..bad0b335 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailContract.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailContract.kt @@ -1,6 +1,6 @@ -package com.danbam.tv.ui.movie.detail +package com.danbam.indistraw.feature.tv.movie.detail -import com.danbam.domain.entity.movie.MovieDetailEntity +import com.danbam.indistraw.core.entity.movie.MovieDetailEntity data class MovieDetailState( val movieDetailInfo: MovieDetailEntity = MovieDetailEntity( diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailScreen.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailScreen.kt similarity index 86% rename from tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailScreen.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailScreen.kt index e32c9e6e..ea3e776e 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailScreen.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.movie.detail +package com.danbam.indistraw.feature.tv.movie.detail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -24,9 +24,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.blur import androidx.compose.ui.draw.clip -import androidx.compose.ui.draw.shadow import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale @@ -40,18 +38,17 @@ import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ButtonMedium -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.R -import com.danbam.design_system.component.JoinBold -import com.danbam.design_system.component.TitleRegular -import com.danbam.tv.ui.main.navigation.MainDeepLinkKey -import com.danbam.tv.ui.main.navigation.MainNavigationItem +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ButtonMedium +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.feature.tv.navigation.main.MainDeepLinkKey +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem sealed class MovieTabItem(val stringId: Int) { object Highlight : MovieTabItem(R.string.highlight) @@ -114,22 +111,14 @@ fun MovieDetailScreen( icon = IndiStrawIconList.FastPlay, title = stringResource(id = R.string.watch_going) ) { - navController.navigate( - MainNavigationItem.MoviePlay.route + MainDeepLinkKey.MOVIE_NAME + state.movieDetailInfo.title + MainDeepLinkKey.MOVIE_INDEX + movieIdx + MainDeepLinkKey.MOVIE_URL + state.movieDetailInfo.movieUrl.split( - "/" - ).last() + MainDeepLinkKey.MOVIE_POSITION + state.moviePosition - ) + navController.navigate(MainNavigationItem.MoviePlay.route + MainDeepLinkKey.MOVIE_NAME + state.movieDetailInfo.title + MainDeepLinkKey.MOVIE_INDEX + movieIdx + MainDeepLinkKey.MOVIE_URL + state.movieDetailInfo.movieUrl + MainDeepLinkKey.MOVIE_POSITION + state.moviePosition) } Spacer(modifier = Modifier.width(10.dp)) MoviePlayButton( icon = IndiStrawIconList.PlayFirst, title = stringResource(id = R.string.watch_first) ) { - navController.navigate( - MainNavigationItem.MoviePlay.route + MainDeepLinkKey.MOVIE_INDEX + movieIdx + MainDeepLinkKey.MOVIE_URL + state.movieDetailInfo.movieUrl.split( - "/" - ).last() + MainDeepLinkKey.MOVIE_POSITION + 0F - ) + navController.navigate(MainNavigationItem.MoviePlay.route + MainDeepLinkKey.MOVIE_NAME + state.movieDetailInfo.title + MainDeepLinkKey.MOVIE_INDEX + movieIdx + MainDeepLinkKey.MOVIE_URL + state.movieDetailInfo.movieUrl + MainDeepLinkKey.MOVIE_POSITION + 0F) } } } diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailViewModel.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailViewModel.kt similarity index 85% rename from tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailViewModel.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailViewModel.kt index 26b59b3e..0ca50a4c 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/detail/MovieDetailViewModel.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/detail/MovieDetailViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.tv.ui.movie.detail +package com.danbam.indistraw.feature.tv.movie.detail import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.usecase.movie.MovieDetailUseCase -import com.danbam.domain.usecase.movie.MovieHistoryUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieDetailUseCase +import com.danbam.indistraw.core.domain.usecase.movie.MovieHistoryUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieContract.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieContract.kt similarity index 63% rename from tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieContract.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieContract.kt index afdebc88..07da16af 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieContract.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieContract.kt @@ -1,7 +1,7 @@ -package com.danbam.tv.ui.movie.movie +package com.danbam.indistraw.feature.tv.movie.movie import androidx.paging.PagingData -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import kotlinx.coroutines.flow.Flow data class MovieState( diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieScreen.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieScreen.kt similarity index 91% rename from tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieScreen.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieScreen.kt index 66167e3a..09a8ab63 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieScreen.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.movie.movie +package com.danbam.indistraw.feature.tv.movie.movie import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Arrangement @@ -26,22 +26,20 @@ import androidx.paging.compose.collectAsLazyPagingItems import androidx.tv.foundation.lazy.grid.TvGridCells import androidx.tv.foundation.lazy.grid.TvLazyVerticalGrid import androidx.tv.foundation.lazy.grid.items -import androidx.tv.foundation.lazy.list.TvLazyColumn import androidx.tv.foundation.lazy.list.TvLazyRow import androidx.tv.foundation.lazy.list.items import androidx.tv.material3.Border import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.MovieGenre -import com.danbam.design_system.component.MovieTvItem -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.component.TitleSemiBold -import com.danbam.design_system.util.RemoveOverScrollLazyColumn -import com.danbam.tv.ui.main.navigation.MainDeepLinkKey -import com.danbam.tv.ui.main.navigation.MainNavigationItem +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.MovieGenre +import com.danbam.indistraw.core.design_system.component.MovieTvItem +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.component.TitleSemiBold +import com.danbam.indistraw.feature.tv.navigation.main.MainDeepLinkKey +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem @OptIn(ExperimentalTvMaterial3Api::class) @Composable diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieViewModel.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieViewModel.kt similarity index 83% rename from tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieViewModel.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieViewModel.kt index 5311d42d..38f70c12 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/movie/MovieViewModel.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/movie/MovieViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.tv.ui.movie.movie +package com.danbam.indistraw.feature.tv.movie.movie import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.design_system.component.MovieGenre -import com.danbam.domain.usecase.movie.MovieListUseCase +import com.danbam.indistraw.core.design_system.component.MovieGenre +import com.danbam.indistraw.core.domain.usecase.movie.MovieListUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayContract.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayContract.kt similarity index 63% rename from tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayContract.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayContract.kt index f587cf0b..56da9a14 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayContract.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayContract.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.movie.play +package com.danbam.indistraw.feature.tv.movie.play sealed class MoviePlaySideEffect { object SuccessSaveHistory: MoviePlaySideEffect() diff --git a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayScreen.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayScreen.kt similarity index 76% rename from tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayScreen.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayScreen.kt index ed4742aa..8345314a 100644 --- a/tv/src/main/java/com/danbam/tv/ui/movie/play/MoviePlayScreen.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayScreen.kt @@ -1,12 +1,12 @@ -package com.danbam.tv.ui.movie.play +package com.danbam.indistraw.feature.tv.movie.play import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.danbam.design_system.component.IndiStrawPlayer -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.tv.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.component.IndiStrawPlayer +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle import kotlinx.coroutines.InternalCoroutinesApi @OptIn(InternalCoroutinesApi::class) @@ -36,6 +36,8 @@ fun MoviePlayScreen( movieUrl = movieUrl, movieName = movieName, position = position, + isMobile = false, + isVertical = false, onPIP = {}, onDispose = { moviePlayViewModel.addMovieHistory(movieIdx = movieIdx, it / 1000F) diff --git a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayViewModel.kt b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayViewModel.kt similarity index 84% rename from mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayViewModel.kt rename to feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayViewModel.kt index b75a3352..1fd632a0 100644 --- a/mobile/src/main/java/com/danbam/mobile/ui/movie/play/MoviePlayViewModel.kt +++ b/feature/tv/movie/src/main/kotlin/com/danbam/indistraw/feature/tv/movie/play/MoviePlayViewModel.kt @@ -1,9 +1,9 @@ -package com.danbam.mobile.ui.movie.play +package com.danbam.indistraw.feature.tv.movie.play import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.param.movie.MovieHistoryParam -import com.danbam.domain.usecase.movie.AddMovieHistoryUseCase +import com.danbam.indistraw.core.param.movie.MovieHistoryParam +import com.danbam.indistraw.core.domain.usecase.movie.AddMovieHistoryUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/feature/tv/navigation/.gitignore b/feature/tv/navigation/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/navigation/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/navigation/build.gradle.kts b/feature/tv/navigation/build.gradle.kts new file mode 100644 index 00000000..3e66a9d7 --- /dev/null +++ b/feature/tv/navigation/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + id("indistraw-core") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.navigation" +} \ No newline at end of file diff --git a/feature/tv/navigation/src/main/AndroidManifest.xml b/feature/tv/navigation/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/navigation/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainDeepLinkKey.kt b/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainDeepLinkKey.kt new file mode 100644 index 00000000..46e8846b --- /dev/null +++ b/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainDeepLinkKey.kt @@ -0,0 +1,8 @@ +package com.danbam.indistraw.feature.tv.navigation.main + +object MainDeepLinkKey { + const val MOVIE_NAME = "movieName" + const val MOVIE_INDEX = "movieIndex" + const val MOVIE_URL = "movieUrl" + const val MOVIE_POSITION = "moviePosition" +} \ No newline at end of file diff --git a/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainNavigationItem.kt b/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainNavigationItem.kt new file mode 100644 index 00000000..fdd51c9e --- /dev/null +++ b/feature/tv/navigation/src/main/kotlin/com/danbam/indistraw/feature/tv/navigation/main/MainNavigationItem.kt @@ -0,0 +1,10 @@ +package com.danbam.indistraw.feature.tv.navigation.main + +sealed class MainNavigationItem(val route: String) { + object Intro : MainNavigationItem("intro") + object Login : MainNavigationItem("login") + object QRLogin : MainNavigationItem("QRLogin") + object Main : MainNavigationItem("main") + object MovieDetail : MainNavigationItem("movieDetail") + object MoviePlay : MainNavigationItem("moviePlay") +} \ No newline at end of file diff --git a/feature/tv/search/.gitignore b/feature/tv/search/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/search/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/search/build.gradle.kts b/feature/tv/search/build.gradle.kts new file mode 100644 index 00000000..2ee20313 --- /dev/null +++ b/feature/tv/search/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.search" +} + +dependencies { + implementation(project(":feature:tv:navigation")) + implementation(libs.bundles.tv) +} \ No newline at end of file diff --git a/feature/tv/search/src/main/AndroidManifest.xml b/feature/tv/search/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/search/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/search/SearchContract.kt b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchContract.kt similarity index 71% rename from tv/src/main/java/com/danbam/tv/ui/search/SearchContract.kt rename to feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchContract.kt index 4eeeb8ef..27970642 100644 --- a/tv/src/main/java/com/danbam/tv/ui/search/SearchContract.kt +++ b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchContract.kt @@ -1,7 +1,7 @@ -package com.danbam.tv.ui.search +package com.danbam.indistraw.feature.tv.search import androidx.paging.PagingData -import com.danbam.domain.entity.movie.MovieEntity +import com.danbam.indistraw.core.entity.movie.MovieEntity import kotlinx.coroutines.flow.Flow data class SearchState( diff --git a/tv/src/main/java/com/danbam/tv/ui/search/SearchScreen.kt b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchScreen.kt similarity index 90% rename from tv/src/main/java/com/danbam/tv/ui/search/SearchScreen.kt rename to feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchScreen.kt index c883d6f8..84578c4c 100644 --- a/tv/src/main/java/com/danbam/tv/ui/search/SearchScreen.kt +++ b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.search +package com.danbam.indistraw.feature.tv.search import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Arrangement @@ -36,16 +36,16 @@ import androidx.tv.material3.Border import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.component.IndiStrawTvTextField -import com.danbam.design_system.R -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.component.MovieTvItem -import com.danbam.design_system.component.TitleRegular -import com.danbam.tv.ui.main.navigation.MainDeepLinkKey -import com.danbam.tv.ui.main.navigation.MainNavigationItem +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.component.IndiStrawTvTextField +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.component.MovieTvItem +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.feature.tv.navigation.main.MainDeepLinkKey +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem @OptIn(ExperimentalTvMaterial3Api::class) @Composable diff --git a/tv/src/main/java/com/danbam/tv/ui/search/SearchViewModel.kt b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchViewModel.kt similarity index 77% rename from tv/src/main/java/com/danbam/tv/ui/search/SearchViewModel.kt rename to feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchViewModel.kt index f07f0a30..a383e8f4 100644 --- a/tv/src/main/java/com/danbam/tv/ui/search/SearchViewModel.kt +++ b/feature/tv/search/src/main/kotlin/com/danbam/indistraw/feature/tv/search/SearchViewModel.kt @@ -1,12 +1,12 @@ -package com.danbam.tv.ui.search +package com.danbam.indistraw.feature.tv.search import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.domain.entity.search.RecentSearchEntity -import com.danbam.domain.usecase.movie.MoviePopularListUseCase -import com.danbam.domain.usecase.search.GetRecentSearchUseCase -import com.danbam.domain.usecase.search.GetRelatedSearchUseCase -import com.danbam.domain.usecase.search.SearchMovieUseCase +import com.danbam.indistraw.core.entity.search.RecentSearchEntity +import com.danbam.indistraw.core.domain.usecase.movie.MoviePopularListUseCase +import com.danbam.indistraw.core.domain.usecase.search.GetRecentSearchUseCase +import com.danbam.indistraw.core.domain.usecase.search.GetRelatedSearchUseCase +import com.danbam.indistraw.core.domain.usecase.search.SearchMovieUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost @@ -35,7 +35,7 @@ class SearchViewModel @Inject constructor( fun getRelatedSearch(keyword: String) = intent { viewModelScope.launch { getRelatedSearchUseCase(keyword = keyword).onSuccess { - reduce { state.copy(relatedSearchList = it.map { it.title }) } + reduce { state.copy(relatedSearchList = it) } } } } diff --git a/feature/tv/setting/.gitignore b/feature/tv/setting/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/tv/setting/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/tv/setting/build.gradle.kts b/feature/tv/setting/build.gradle.kts new file mode 100644 index 00000000..31e935dc --- /dev/null +++ b/feature/tv/setting/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("indistraw-feature") +} + +android { + namespace = "com.danbam.indistraw.feature.tv.setting" +} + +dependencies { + implementation(project(":feature:tv:navigation")) + implementation(libs.bundles.tv) +} \ No newline at end of file diff --git a/feature/tv/setting/src/main/AndroidManifest.xml b/feature/tv/setting/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/tv/setting/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingAccountScreen.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingAccountScreen.kt similarity index 81% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingAccountScreen.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingAccountScreen.kt index 70a60ec4..5050dcd6 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingAccountScreen.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingAccountScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -12,9 +12,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.HeadLineBold -import com.danbam.design_system.R +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.HeadLineBold +import com.danbam.indistraw.core.design_system.R @Composable fun SettingAccountScreen( diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingContract.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingContract.kt similarity index 69% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingContract.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingContract.kt index f8304c89..7735c31d 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingContract.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingContract.kt @@ -1,7 +1,7 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting -import com.danbam.design_system.util.Language -import com.danbam.domain.entity.auth.ProfileEntity +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.domain.entity.auth.ProfileEntity data class SettingState( val currentLanguage: Language = Language.Korean, diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingLanguageScreen.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingLanguageScreen.kt similarity index 91% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingLanguageScreen.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingLanguageScreen.kt index e5742364..0bc9bcb4 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingLanguageScreen.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingLanguageScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting import androidx.activity.compose.BackHandler import androidx.compose.foundation.background @@ -27,10 +27,10 @@ import androidx.tv.foundation.lazy.list.items import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.util.Language -import com.danbam.design_system.util.changeLanguage +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.design_system.util.android.changeLanguage @OptIn(ExperimentalTvMaterial3Api::class) @Composable diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingScreen.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingScreen.kt similarity index 91% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingScreen.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingScreen.kt index 448255da..a2a496e1 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingScreen.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting import androidx.activity.compose.BackHandler import androidx.compose.foundation.BorderStroke @@ -40,18 +40,17 @@ import androidx.tv.material3.ClickableSurfaceDefaults import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Surface import coil.compose.AsyncImage -import com.danbam.design_system.IndiStrawTheme -import com.danbam.design_system.component.DialogMedium -import com.danbam.design_system.component.IndiStrawTvBackground -import com.danbam.design_system.R -import com.danbam.design_system.attribute.IndiStrawIcon -import com.danbam.design_system.attribute.IndiStrawIconList -import com.danbam.design_system.component.ExampleTextMedium -import com.danbam.design_system.component.IndiStrawTvTitleDialog -import com.danbam.design_system.component.TitleRegular -import com.danbam.design_system.util.indiStrawClickable -import com.danbam.tv.ui.main.navigation.MainNavigationItem -import com.danbam.tv.util.android.observeWithLifecycle +import com.danbam.indistraw.core.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.component.DialogMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawTvBackground +import com.danbam.indistraw.core.design_system.R +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIcon +import com.danbam.indistraw.core.design_system.attribute.IndiStrawIconList +import com.danbam.indistraw.core.design_system.component.ExampleTextMedium +import com.danbam.indistraw.core.design_system.component.IndiStrawTvTitleDialog +import com.danbam.indistraw.core.design_system.component.TitleRegular +import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle +import com.danbam.indistraw.feature.tv.navigation.main.MainNavigationItem import kotlinx.coroutines.InternalCoroutinesApi sealed class SettingNavigation(val stringId: Int) { diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingTermScreen.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingTermScreen.kt similarity index 89% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingTermScreen.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingTermScreen.kt index 5ab0a6c4..5410452a 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingTermScreen.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingTermScreen.kt @@ -1,4 +1,4 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -11,7 +11,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.danbam.design_system.IndiStrawTheme +import com.danbam.indistraw.core.design_system.IndiStrawTheme @Composable fun SettingTermScreen( diff --git a/tv/src/main/java/com/danbam/tv/ui/setting/SettingViewModel.kt b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingViewModel.kt similarity index 78% rename from tv/src/main/java/com/danbam/tv/ui/setting/SettingViewModel.kt rename to feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingViewModel.kt index 984f1f25..319ebed4 100644 --- a/tv/src/main/java/com/danbam/tv/ui/setting/SettingViewModel.kt +++ b/feature/tv/setting/src/main/kotlin/com/danbam/indistraw/feature/tv/setting/SettingViewModel.kt @@ -1,15 +1,15 @@ -package com.danbam.tv.ui.setting +package com.danbam.indistraw.feature.tv.setting import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.danbam.design_system.util.Language -import com.danbam.domain.usecase.account.GetProfileUseCase -import com.danbam.domain.usecase.account.WithdrawUseCase -import com.danbam.domain.usecase.auth.ClearTokenUseCase -import com.danbam.domain.usecase.auth.LogoutUseCase -import com.danbam.domain.usecase.system.FetchLanguageUseCase -import com.danbam.domain.usecase.system.SaveLanguageUseCase -import com.danbam.tv.util.android.errorHandling +import com.danbam.indistraw.core.design_system.util.android.Language +import com.danbam.indistraw.core.design_system.util.danbam.errorHandling +import com.danbam.indistraw.core.domain.usecase.account.GetProfileUseCase +import com.danbam.indistraw.core.domain.usecase.account.WithdrawUseCase +import com.danbam.indistraw.core.domain.usecase.auth.ClearTokenUseCase +import com.danbam.indistraw.core.domain.usecase.auth.LogoutUseCase +import com.danbam.indistraw.core.domain.usecase.system.FetchLanguageUseCase +import com.danbam.indistraw.core.domain.usecase.system.SaveLanguageUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.orbitmvi.orbit.ContainerHost diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..fe809487 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,109 @@ +[versions] +versionCode = "1" +versionName = "1.0.0" +compileSdk = "33" +targetSdk = "33" +minSdk = "28" +gradleAndroid = "7.4.2" +gradleKotlin = "1.8.10" +gradleKtLint = "11.1.0" +coroutines = "1.6.4" +core = "1.9.0" +lifecycle = "2.5.1" +appcompat = "1.6.0" +preference = "1.2.0" +paging = "3.1.1" +pagingCompose = "1.0.0-alpha16" +leanback = "1.0.0" +composeActivity = "1.6.1" +compose = "1.4.3" +composeMaterial = "1.3.1" +composeMaterial3 = "1.0.1" +hiltNav = "1.0.0" +accomanist = "0.31.0-alpha" +hilt = "2.44" +room = "2.4.3" +orbit = "4.5.0" +retrofit = "2.9.0" +okhttp = "4.10.0" +junit = "4.13.2" +mockitoKotlin = "4.1.0" +mockitoInline = "5.1.1" +androidJunit = "1.1.2" +espressoCore = "3.3.0" +coil = "2.2.2" +exoplayer = "2.18.1" +camera = "1.2.2" +barcodeScannig = "17.1.0" +barcodeDrawing = "1.1.1" +tv = "1.0.0-alpha06" +bootPay = "4.0.8" +inject = "1" + +[libraries] +plugin-android = { module = "com.android.tools.build:gradle", version.ref = "gradleAndroid" } +plugin-hilt = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" } +plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "gradleKotlin" } +androidx-core = { module = "androidx.core:core-ktx", version.ref = "core" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "preference" } +androidx-lifecycle = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" } +androix-leanback = { module = "androidx.leanback:leanback", version.ref = "leanback" } +coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" } +paging = { module = "androidx.paging:paging-runtime", version.ref = "paging" } +compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" } +compose-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" } +compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" } +compose-activity = { module = "androidx.activity:activity-compose", version.ref = "composeActivity" } +compose-paging = { module = "androidx.paging:paging-compose", version.ref = "pagingCompose" } +compose-nav = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNav" } +compose-material = { module = "androidx.compose.material:material", version.ref = "composeMaterial" } +compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial3" } +compose-tool = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } +compose-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "compose" } +compose-test = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose" } +accompanist-nav = { module = "com.google.accompanist:accompanist-navigation-animation", version.ref = "accomanist" } +accompanist-view-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accomanist" } +hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } +hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" } +room = { module = "androidx.room:room-ktx", version.ref = "room" } +room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } +orbit-core = { module = "org.orbit-mvi:orbit-core", version.ref = "orbit" } +orbit-viewmodel = { module = "org.orbit-mvi:orbit-viewmodel", version.ref = "orbit" } +orbit-test = { module = "org.orbit-mvi:orbit-test", version.ref = "orbit" } +retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } +retrofit-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" } +okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } +okhttp-sse = { module = "com.squareup.okhttp3:okhttp-sse", version.ref = "okhttp" } +okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" } +coil = { module = "io.coil-kt:coil-compose", version.ref = "coil" } +exoplayer-core = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayer" } +exoplayer-hls = { module = "com.google.android.exoplayer:exoplayer-hls", version.ref = "exoplayer" } +exoplayer-ui = { module = "com.google.android.exoplayer:exoplayer-ui", version.ref = "exoplayer" } +camera = { module = "androidx.camera:camera-camera2", version.ref = "camera" } +camera-view = { module = "androidx.camera:camera-view", version.ref = "camera" } +camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camera" } +barcode-scanning = { module = "com.google.mlkit:barcode-scanning", version.ref = "barcodeScannig" } +barcode-drawing = { module = "com.simonsickle:composed-barcodes", version.ref = "barcodeDrawing" } +tv-material = { module = "androidx.tv:tv-material", version.ref = "tv" } +tv-foundation = { module = "androidx.tv:tv-foundation", version.ref = "tv" } +bootpay = { module = "io.github.bootpay:android", version.ref = "bootPay" } +inject = { module = "javax.inject:javax.inject", version.ref = "inject" } +test-junit = { module = "junit:junit", version.ref = "junit" } +test-mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlin" } +test-mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockitoInline" } +test-anroid-junit = { module = "androidx.test.ext:junit", version.ref = "androidJunit" } +test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" } + +[bundles] +coroutine = ["coroutines-core", "coroutines-android"] +compose = ["compose-activity", "compose-ui", "compose-preview", "compose-material", "compose-material3", "compose-nav", "compose-paging"] +compose-debug = ["compose-tool", "compose-manifest"] +orbit = ["orbit-core", "orbit-viewmodel", "orbit-test"] +retrofit = ["retrofit", "retrofit-converter-gson"] +okhttp = ["okhttp", "okhttp-logging-interceptor", "okhttp-sse"] +exoplayer = ["exoplayer-core", "exoplayer-hls", "exoplayer-ui"] +camera = ["camera", "camera-lifecycle", "camera-view"] +barcode = ["barcode-drawing", "barcode-scanning"] +tv = ["tv-material", "tv-foundation"] \ No newline at end of file diff --git a/mobile/build.gradle.kts b/mobile/build.gradle.kts deleted file mode 100644 index 72a42be8..00000000 --- a/mobile/build.gradle.kts +++ /dev/null @@ -1,112 +0,0 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties - -plugins { - id("com.android.application") - id("kotlin-android") - id("kotlin-kapt") - id("dagger.hilt.android.plugin") -} - -android { - namespace = "com.danbam.mobile" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - applicationId = "com.danbam.indi_straw.mobile" - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - versionCode = Version.VERSION_CODE - versionName = Version.VERSION_NAME - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - buildConfigField( - "String", - "QR_URL", - gradleLocalProperties(rootDir).getProperty("QR_URL") - ) - buildConfigField( - "String", - "PAY_KEY", - gradleLocalProperties(rootDir).getProperty("PAY_KEY") - ) - } - - buildTypes { - getByName("release") { - isMinifyEnabled = true - isShrinkResources = true - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } - buildFeatures { - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = Version.COMPOSE - } - packagingOptions.resources.excludes += setOf( - "META-INF/DEPENDENCIES", - "META-INF/LICENSE", - "META-INF/LICENSE.txt", - "META-INF/license.txt", - "META-INF/NOTICE", - "META-INF/NOTICE.txt", - "META-INF/INDEX.LIST", - "META-INF/notice.txt", - "META-INF/ASL2.0", - "META-INF/gradle/incremental.annotation.processors" - ) - hilt { - enableAggregatingTask = true - } -} -dependencies { - implementation(project(":domain")) - implementation(project(":di")) - implementation(project(":design-system")) - - implementation(Dependency.AndroidX.CORE_KTX) - implementation(Dependency.AndroidX.LIFECYCLE) - implementation(Dependency.AndroidX.PAGING_COMPOSE) - - implementation(Dependency.Retrofit.RETROFIT) - implementation(Dependency.Retrofit.RETROFIT_CONVERTER_GSON) - - implementation(Dependency.Compose.ACTIVITY) - implementation(Dependency.Compose.UI) - implementation(Dependency.Compose.PREVIEW) - implementation(Dependency.Compose.MATERIAL) - implementation(Dependency.Compose.COMPOSE_HILT_NAV) - - implementation(Dependency.Accompanist.ANIMATE_NAVIGATION) - - implementation(Dependency.Kotlin.COROUTINES_CORE) - implementation(Dependency.Kotlin.COROUTINES_ANDROID) - - implementation(Dependency.Hilt.HILT_ANDROID) - kapt(Dependency.Hilt.HILT_ANDROID_COMPILER) - - implementation(Dependency.Mvi.ORBIT_CORE) - implementation(Dependency.Mvi.ORBIT_VIEW_MODEL) - implementation(Dependency.Mvi.ORBIT_TEST) - - implementation(Dependency.Coil.COIL) - - implementation(Dependency.ExoPlayer.EXO_PLAYER_CORE) - implementation(Dependency.ExoPlayer.EXO_PLAYER_UI) - - implementation(Dependency.BootPay.BOOT_PAY) - - debugImplementation(Dependency.AndroidTest.COMPOSE_TOOL) - debugImplementation(Dependency.AndroidTest.COMPOSE_MANIFEST) - androidTestImplementation(Dependency.AndroidTest.COMPOSE_TEST) -} diff --git a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdContract.kt b/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdContract.kt deleted file mode 100644 index 403f179b..00000000 --- a/mobile/src/main/java/com/danbam/mobile/ui/auth/find/find_id/FindIdContract.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.danbam.mobile.ui.auth.find.find_id - -data class FindIdState( - val id: String = "", -) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainContract.kt b/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainContract.kt deleted file mode 100644 index 8d81b158..00000000 --- a/mobile/src/main/java/com/danbam/mobile/ui/main/main/MainContract.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.danbam.mobile.ui.main.main - -import com.danbam.domain.entity.banner.BannerEntity -import com.danbam.domain.entity.funding.FundingEntity -import com.danbam.domain.entity.movie.MovieEntity - -data class MainState( - val profileUrl: String? = null, - val movieList: List = listOf(), - val fundingPopularList: List = listOf(), - val bannerList: List = listOf() -) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginContract.kt b/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginContract.kt deleted file mode 100644 index 0664cc9d..00000000 --- a/mobile/src/main/java/com/danbam/mobile/ui/profile/qr_login/QRLoginContract.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.danbam.mobile.ui.profile.qr_login - diff --git a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingContract.kt b/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingContract.kt deleted file mode 100644 index e3d2cb1b..00000000 --- a/mobile/src/main/java/com/danbam/mobile/ui/search/searching/SearchingContract.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.danbam.mobile.ui.search.searching - -import com.danbam.domain.entity.search.RelatedSearchEntity - -data class SearchingState( - val relatedSearchPager: List? = null -) \ No newline at end of file diff --git a/mobile/src/main/java/com/danbam/mobile/util/parser/GraphicUtil.kt b/mobile/src/main/java/com/danbam/mobile/util/parser/GraphicUtil.kt deleted file mode 100644 index 1d8513bd..00000000 --- a/mobile/src/main/java/com/danbam/mobile/util/parser/GraphicUtil.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.danbam.mobile.util.parser - -import android.content.Context -import kotlin.math.roundToInt - -fun Int.toDp(context: Context) = (this / context.resources.displayMetrics.density).roundToInt() \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index fd5b280d..33677dbf 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,10 +1,3 @@ -pluginManagement { - repositories { - gradlePluginPortal() - google() - mavenCentral() - } -} dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { @@ -13,9 +6,22 @@ dependencyResolutionManagement { } } rootProject.name = "indi_straw" -include(":mobile") -include(":data") -include(":domain") -include(":di") -include(":design-system") -include(":tv") +include(":app:mobile") +include(":app:tv") +include(":core:data") +include(":core:domain") +include(":core:di") +include(":core:design-system") +include(":feature:mobile:auth") +include(":feature:mobile:search") +include(":feature:mobile:funding") +include(":feature:mobile:movie") +include(":feature:mobile:profile") +include(":feature:mobile:main") +include(":feature:mobile:navigation") +include(":feature:tv:home") +include(":feature:tv:main") +include(":feature:tv:setting") +include(":feature:tv:movie") +include(":feature:tv:search") +include(":feature:tv:navigation") diff --git a/tv/build.gradle.kts b/tv/build.gradle.kts deleted file mode 100644 index f9cc5622..00000000 --- a/tv/build.gradle.kts +++ /dev/null @@ -1,108 +0,0 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties - -plugins { - id("com.android.application") - id("kotlin-android") - id("kotlin-kapt") - id("dagger.hilt.android.plugin") -} - -android { - namespace = "com.danbam.tv" - compileSdk = Version.COMPILE_SDK_VERSION - - defaultConfig { - applicationId = "com.danbam.indi_straw.tv" - minSdk = Version.MIN_SDK_VERSION - targetSdk = Version.TARGET_SDK_VERSION - versionCode = Version.VERSION_CODE - versionName = Version.VERSION_NAME - buildConfigField( - "String", - "QR_URL", - gradleLocalProperties(rootDir).getProperty("QR_URL") - ) - } - - buildTypes { - getByName("release") { - isMinifyEnabled = true - isShrinkResources = true - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Version.JAVA_VERSION - targetCompatibility = Version.JAVA_VERSION - } - kotlinOptions { - jvmTarget = Version.JAVA_VERSION.toString() - } - buildFeatures { - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = Version.COMPOSE - } - packagingOptions.resources.excludes += setOf( - "META-INF/DEPENDENCIES", - "META-INF/LICENSE", - "META-INF/LICENSE.txt", - "META-INF/license.txt", - "META-INF/NOTICE", - "META-INF/NOTICE.txt", - "META-INF/INDEX.LIST", - "META-INF/notice.txt", - "META-INF/ASL2.0", - "META-INF/gradle/incremental.annotation.processors" - ) - hilt { - enableAggregatingTask = true - } -} - -dependencies { - implementation(project(":domain")) - implementation(project(":di")) - implementation(project(":design-system")) - - - implementation(Dependency.AndroidX.CORE_KTX) - implementation(Dependency.AndroidX.LIFECYCLE) - implementation(Dependency.AndroidX.PAGING_COMPOSE) - implementation(Dependency.AndroidX.LEANBACK) - - implementation(Dependency.Compose.ACTIVITY) - implementation(Dependency.Compose.UI) - implementation(Dependency.Compose.PREVIEW) - implementation(Dependency.Compose.MATERIAL) - implementation(Dependency.Compose.MATERIAL3) - implementation(Dependency.Compose.COMPOSE_HILT_NAV) - - implementation(Dependency.Accompanist.ANIMATE_NAVIGATION) - - implementation(Dependency.Kotlin.COROUTINES_CORE) - implementation(Dependency.Kotlin.COROUTINES_ANDROID) - - implementation(Dependency.Hilt.HILT_ANDROID) - kapt(Dependency.Hilt.HILT_ANDROID_COMPILER) - - implementation(Dependency.Mvi.ORBIT_CORE) - implementation(Dependency.Mvi.ORBIT_VIEW_MODEL) - implementation(Dependency.Mvi.ORBIT_TEST) - - implementation(Dependency.Coil.COIL) - - implementation(Dependency.ExoPlayer.EXO_PLAYER_CORE) - implementation(Dependency.ExoPlayer.EXO_PLAYER_UI) - - implementation(Dependency.Tv.MATERIAL) - implementation(Dependency.Tv.FOUNDATION) - - debugImplementation(Dependency.AndroidTest.COMPOSE_TOOL) - debugImplementation(Dependency.AndroidTest.COMPOSE_MANIFEST) - androidTestImplementation(Dependency.AndroidTest.COMPOSE_TEST) -} \ No newline at end of file diff --git a/tv/proguard-rules.pro b/tv/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/tv/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/ui/home/HomeContract.kt b/tv/src/main/java/com/danbam/tv/ui/home/HomeContract.kt deleted file mode 100644 index 1129b635..00000000 --- a/tv/src/main/java/com/danbam/tv/ui/home/HomeContract.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.danbam.tv.ui.home - -import com.danbam.domain.entity.banner.BannerEntity -import com.danbam.domain.entity.movie.MovieEntity - -data class HomeState( - val currentMovieIndex: Long = 0, - val movieList: List = listOf(), - val bannerList: List = listOf() -) \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/util/android/ContextUtil.kt b/tv/src/main/java/com/danbam/tv/util/android/ContextUtil.kt deleted file mode 100644 index 8c44201b..00000000 --- a/tv/src/main/java/com/danbam/tv/util/android/ContextUtil.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.danbam.tv.util.android - -import android.app.Activity -import android.content.Context -import android.content.ContextWrapper - -fun Context.findActivity(): Activity? = when (this) { - is Activity -> this - is ContextWrapper -> baseContext.findActivity() - else -> null -} \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/util/android/ErrorHandlingUtil.kt b/tv/src/main/java/com/danbam/tv/util/android/ErrorHandlingUtil.kt deleted file mode 100644 index 47c59aa1..00000000 --- a/tv/src/main/java/com/danbam/tv/util/android/ErrorHandlingUtil.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.danbam.tv.util.android - -import android.util.Log -import com.danbam.domain.exception.ConflictDataException -import com.danbam.domain.exception.ExpiredTokenException -import com.danbam.domain.exception.InvalidTokenException -import com.danbam.domain.exception.NotFoundException -import com.danbam.domain.exception.ServerErrorException -import com.danbam.domain.exception.TooManyRequestException -import com.danbam.domain.exception.WrongDataException - -suspend fun Throwable.errorHandling( - unknownAction: suspend () -> Unit, - wrongDataException: suspend () -> Unit = unknownAction, - invalidTokenException: suspend () -> Unit = unknownAction, - notFoundException: suspend () -> Unit = unknownAction, - conflictException: suspend () -> Unit = unknownAction, - serverErrorException: suspend () -> Unit = unknownAction, - expiredTokenException: suspend () -> Unit = unknownAction, - tooManyRequestException: suspend () -> Unit = unknownAction, -) = - when (this) { - is WrongDataException -> { - errorLog("WrongDataException", message) - wrongDataException() - } - - is InvalidTokenException -> { - errorLog("InvalidTokenException", message) - invalidTokenException() - } - - is NotFoundException -> { - errorLog("NotFoundException", message) - notFoundException() - } - - is ConflictDataException -> { - errorLog("ConflictDataException", message) - conflictException() - } - - is ServerErrorException -> { - errorLog("ServerErrorException", message) - serverErrorException() - } - - is ExpiredTokenException -> { - errorLog("ExpiredTokenException", message) - expiredTokenException() - } - - is TooManyRequestException -> { - errorLog("TooManyRequestException", message) - tooManyRequestException() - } - - else -> { - errorLog("UnKnownException", message) - unknownAction() - } - } - -private fun errorLog(tag: String, msg: String?) { - Log.e(tag, msg ?: "") -} \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/util/android/LifeCycleUtil.kt b/tv/src/main/java/com/danbam/tv/util/android/LifeCycleUtil.kt deleted file mode 100644 index 43fe23fb..00000000 --- a/tv/src/main/java/com/danbam/tv/util/android/LifeCycleUtil.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.danbam.tv.util.android - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.ui.platform.LocalLifecycleOwner -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.flowWithLifecycle -import androidx.lifecycle.lifecycleScope -import kotlinx.coroutines.InternalCoroutinesApi -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.FlowCollector -import kotlinx.coroutines.launch - -@InternalCoroutinesApi -@Composable -inline fun Flow.observeWithLifecycle( - lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current, - minActiveState: Lifecycle.State = Lifecycle.State.STARTED, - noinline action: suspend (T) -> Unit -) { - LaunchedEffect(key1 = Unit) { - lifecycleOwner.lifecycleScope.launch { - flowWithLifecycle(lifecycleOwner.lifecycle, minActiveState).collect( - FlowCollector { - action(it) - } - ) - } - } -} \ No newline at end of file diff --git a/tv/src/main/java/com/danbam/tv/util/parser/StringUtil.kt b/tv/src/main/java/com/danbam/tv/util/parser/StringUtil.kt deleted file mode 100644 index 3707374d..00000000 --- a/tv/src/main/java/com/danbam/tv/util/parser/StringUtil.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.danbam.tv.util.parser - -fun String.isPassword(): Boolean = - "^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#\$%^&*?~])[0-9a-zA-Z!@#\$%^&*?~]+\$".toRegex() - .matches(this) && this.length in (5..20) - -fun String.isId(): Boolean = this.length in (6..15) \ No newline at end of file