diff --git a/.editorconfig b/.editorconfig index 0716e72f..a2d147cc 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,8 +10,14 @@ indent_size = 4 indent_style = space trim_trailing_whitespace = true insert_final_newline = true -tab_width = 4 ij_kotlin_allow_trailing_comma = true ij_kotlin_allow_trailing_comma_on_call_site = true -ktlint_function_naming_ignore_when_annotated_with=Composable -ktlint_standard_annotation = disabled \ No newline at end of file +ktlint_code_style = intellij_idea +ktlint_function_naming_ignore_when_annotated_with = Composable +ktlint_enum_entry_name_casing = upper_cases +ktlint_standard_class-signature = disabled +ktlint_standard_statement-wrapping = disabled +ktlint_standard_annotation = disabled +ktlint_standard_function-expression-body = disabled +ktlint_standard_function-signature = disabled +ktlint_standard_multiline-if-else = disabled diff --git a/.github/workflows/develop_branch.yml b/.github/workflows/develop_branch.yml index a1fce379..583fc4fa 100644 --- a/.github/workflows/develop_branch.yml +++ b/.github/workflows/develop_branch.yml @@ -59,4 +59,4 @@ jobs: cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - name: Build and Verify - run: ./gradlew ktlintCheck testDebugUnitTest assembleDebug + run: ./gradlew ktlintCheck :build-logic:convention:ktlintCheck testDebugUnitTest assembleDebug --continue diff --git a/app/src/main/java/com/threegap/bitnagil/navigation/home/HomeNavHost.kt b/app/src/main/java/com/threegap/bitnagil/navigation/home/HomeNavHost.kt index 922dc08f..5890fa52 100644 --- a/app/src/main/java/com/threegap/bitnagil/navigation/home/HomeNavHost.kt +++ b/app/src/main/java/com/threegap/bitnagil/navigation/home/HomeNavHost.kt @@ -105,7 +105,7 @@ fun HomeNavHost( composable { SummaryScreenContainer( - navigateToYouthPolicies = {} // todo - 청년공고 화면 구현 후 연결 필요 + navigateToYouthPolicies = {}, // todo - 청년공고 화면 구현 후 연결 필요 ) } } diff --git a/app/src/main/java/com/threegap/bitnagil/util/version/PackageManagerVersionNameProvider.kt b/app/src/main/java/com/threegap/bitnagil/util/version/PackageManagerVersionNameProvider.kt index 9989faf3..e4eb1b7e 100644 --- a/app/src/main/java/com/threegap/bitnagil/util/version/PackageManagerVersionNameProvider.kt +++ b/app/src/main/java/com/threegap/bitnagil/util/version/PackageManagerVersionNameProvider.kt @@ -10,4 +10,4 @@ class PackageManagerVersionNameProvider @Inject constructor( ) : VersionNameProvider { override fun getVersionName(): String = context.packageManager.getPackageInfo(context.packageName, 0).versionName.orEmpty() -} \ No newline at end of file +} diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts index 2b0bdb84..5386d3e3 100644 --- a/build-logic/convention/build.gradle.kts +++ b/build-logic/convention/build.gradle.kts @@ -1,5 +1,6 @@ plugins { `kotlin-dsl` + alias(libs.plugins.ktlint) } group = "com.threegap.bitnagil.convention" @@ -14,10 +15,17 @@ kotlin { jvmToolchain(17) } +ktlint { + version.set(libs.versions.ktlintEngine.get()) + verbose.set(true) + filter { exclude { element -> element.file.path.contains("generated/") } } +} + dependencies { compileOnly(libs.android.gradle.plugin) compileOnly(libs.kotlin.gradle.plugin) compileOnly(libs.compose.compiler.gradle.plugin) + compileOnly(libs.ktlint.gradle.plugin) } gradlePlugin { @@ -56,5 +64,10 @@ gradlePlugin { id = "bitnagil.kotlin.parcelize" implementationClass = "com.threegap.bitnagil.convention.KotlinParcelizePlugin" } + + register("ktlint") { + id = "bitnagil.ktlint" + implementationClass = "com.threegap.bitnagil.convention.KtlintConventionPlugin" + } } } diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidApplicationPlugin.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidApplicationPlugin.kt index 459b8efb..45d4443c 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidApplicationPlugin.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidApplicationPlugin.kt @@ -15,7 +15,7 @@ class AndroidApplicationPlugin : Plugin { pluginManager.apply { apply("com.android.application") apply("org.jetbrains.kotlin.plugin.compose") - apply("org.jlleitschuh.gradle.ktlint") + apply("bitnagil.ktlint") } extensions.configure { diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidLibraryPlugin.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidLibraryPlugin.kt index 6a3c1746..42f91e61 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidLibraryPlugin.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/AndroidLibraryPlugin.kt @@ -11,7 +11,7 @@ class AndroidLibraryPlugin : Plugin { override fun apply(target: Project): Unit = with(target) { pluginManager.apply { apply("com.android.library") - apply("org.jlleitschuh.gradle.ktlint") + apply("bitnagil.ktlint") } extensions.configure { diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KotlinJvmPlugin.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KotlinJvmPlugin.kt index d1042795..9f48a626 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KotlinJvmPlugin.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KotlinJvmPlugin.kt @@ -13,7 +13,7 @@ class KotlinJvmPlugin : Plugin { pluginManager.apply { apply("java-library") apply("org.jetbrains.kotlin.jvm") - apply("org.jlleitschuh.gradle.ktlint") + apply("bitnagil.ktlint") } } diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KtlintConventionPlugin.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KtlintConventionPlugin.kt new file mode 100644 index 00000000..ec883729 --- /dev/null +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/KtlintConventionPlugin.kt @@ -0,0 +1,19 @@ +package com.threegap.bitnagil.convention + +import com.threegap.bitnagil.convention.extension.libs +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.configure +import org.jlleitschuh.gradle.ktlint.KtlintExtension + +class KtlintConventionPlugin : Plugin { + override fun apply(target: Project): Unit = with(target) { + pluginManager.apply("org.jlleitschuh.gradle.ktlint") + + extensions.configure { + version.set(libs.findVersion("ktlintEngine").get().requiredVersion) + verbose.set(true) + filter { exclude { element -> element.file.path.contains("generated/") } } + } + } +} diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/ComposeAndroid.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/ComposeAndroid.kt index 707bc94d..5a2da646 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/ComposeAndroid.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/ComposeAndroid.kt @@ -21,5 +21,4 @@ internal fun Project.configureComposeAndroid(commonExtension: CommonExtension) { "implementation"(libs.findBundle("compose.lifecycle").get()) "debugImplementation"(libs.findBundle("compose.debug").get()) } - } diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinAndroid.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinAndroid.kt index ee26e236..6bf7a6cb 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinAndroid.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinAndroid.kt @@ -42,4 +42,3 @@ internal fun Project.configureKotlinAndroid(commonExtension: CommonExtension) { } } } - diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinCoroutine.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinCoroutine.kt index 2c2df869..12d741ee 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinCoroutine.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/KotlinCoroutine.kt @@ -4,7 +4,6 @@ import org.gradle.api.Project import org.gradle.kotlin.dsl.dependencies internal fun Project.configureKotlinCoroutine() { - dependencies { "implementation"(libs.findBundle("coroutine").get()) } diff --git a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/LocalProperties.kt b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/LocalProperties.kt index 761d5b7c..570c8059 100644 --- a/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/LocalProperties.kt +++ b/build-logic/convention/src/main/java/com/threegap/bitnagil/convention/extension/LocalProperties.kt @@ -1,8 +1,8 @@ package com.threegap.bitnagil.convention.extension -import java.util.Properties import org.gradle.api.GradleException import org.gradle.api.Project +import java.util.Properties private const val LOCAL_PROPERTIES_FILE_NAME = "local.properties" private const val LOCAL_PROPERTIES_EXTRA_KEY = "bitnagilLocalProperties" diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index 8c574c9a..d36fd6d5 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -3,6 +3,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + gradlePluginPortal() } versionCatalogs { create("libs") { diff --git a/build.gradle.kts b/build.gradle.kts index f1b950ac..0a536630 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,5 +8,11 @@ plugins { alias(libs.plugins.kotlin.parcelize) apply false alias(libs.plugins.ksp) apply false alias(libs.plugins.hilt) apply false - alias(libs.plugins.ktlint) apply false + alias(libs.plugins.ktlint) +} + +ktlint { + version.set(libs.versions.ktlintEngine.get()) + verbose.set(true) + filter { exclude { element -> element.file.path.contains("generated/") } } } diff --git a/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/component/atom/BitnagilToastMessage.kt b/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/component/atom/BitnagilToastMessage.kt index ccac2b68..8edf5ccb 100644 --- a/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/component/atom/BitnagilToastMessage.kt +++ b/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/component/atom/BitnagilToastMessage.kt @@ -96,7 +96,7 @@ class BitnagilToastState { private var _icon by mutableIntStateOf(0) private var _isVisible by mutableStateOf(false) private var _toastId by mutableIntStateOf(0) - private var _lastShowTime = 0L + private var lastShowTime = 0L val text: String get() = _text val icon: Int get() = _icon @@ -116,14 +116,14 @@ class BitnagilToastState { private fun shouldPreventDuplicateShow(text: String, icon: Int?): Boolean { val currentTime = System.currentTimeMillis() - return _text == text && _icon == icon && currentTime - _lastShowTime < 500L + return _text == text && _icon == icon && currentTime - lastShowTime < 500L } private fun showToast(text: String, icon: Int) { _text = text _icon = icon _isVisible = true - _lastShowTime = System.currentTimeMillis() + lastShowTime = System.currentTimeMillis() _toastId += 1 } } diff --git a/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/typography/Type.kt b/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/typography/Type.kt index d9305e35..95b8c38a 100644 --- a/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/typography/Type.kt +++ b/core/designsystem/src/main/java/com/threegap/bitnagil/designsystem/typography/Type.kt @@ -8,8 +8,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.dp -import com.threegap.bitnagil.designsystem.font.cafe24SsurroundAir as cafe24SsurroundAirFamily import com.threegap.bitnagil.designsystem.font.pretendard +import com.threegap.bitnagil.designsystem.font.cafe24SsurroundAir as cafe24SsurroundAirFamily @Immutable class BitnagilTypography internal constructor(private val density: Density) { diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/auth/model/UserRole.kt b/domain/src/main/java/com/threegap/bitnagil/domain/auth/model/UserRole.kt index bf41475d..63af5e2f 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/auth/model/UserRole.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/auth/model/UserRole.kt @@ -9,5 +9,4 @@ enum class UserRole { ONBOARDING, WITHDRAWN, UNKNOWN, - ; } diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendCategory.kt b/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendCategory.kt index 32e606ba..8c727707 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendCategory.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendCategory.kt @@ -12,5 +12,4 @@ enum class RecommendCategory { GROW, OUTING_REPORT, UNKNOWN, - ; } diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendLevel.kt b/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendLevel.kt index 168ba0bf..b1d6df2c 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendLevel.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/recommendroutine/model/RecommendLevel.kt @@ -7,5 +7,4 @@ enum class RecommendLevel { LEVEL1, LEVEL2, LEVEL3, - ; } diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportCategory.kt b/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportCategory.kt index 3147cbf4..3e5832e1 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportCategory.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportCategory.kt @@ -8,5 +8,4 @@ enum class ReportCategory { LIGHTING, WATERFACILITY, AMENITY, - ; } diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportStatus.kt b/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportStatus.kt index b23b3f30..a15b3adb 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportStatus.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/report/model/ReportStatus.kt @@ -7,5 +7,4 @@ enum class ReportStatus { PENDING, IN_PROGRESS, COMPLETED, - ; } diff --git a/domain/src/main/java/com/threegap/bitnagil/domain/routine/model/DayOfWeek.kt b/domain/src/main/java/com/threegap/bitnagil/domain/routine/model/DayOfWeek.kt index d6278c59..a261cf77 100644 --- a/domain/src/main/java/com/threegap/bitnagil/domain/routine/model/DayOfWeek.kt +++ b/domain/src/main/java/com/threegap/bitnagil/domain/routine/model/DayOfWeek.kt @@ -11,5 +11,4 @@ enum class DayOfWeek { FRIDAY, SATURDAY, SUNDAY, - ; } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 634a4822..afb366ee 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,8 @@ versionPatch = "0" androidGradlePlugin = "9.1.0" # Formatting Plugin -ktlint = "11.3.2" +ktlint = "14.2.0" +ktlintEngine = "1.5.0" # AndroidX androidxCore = "1.18.0" @@ -142,6 +143,7 @@ lottie-compose = { group = "com.airbnb.android", name = "lottie-compose", versio accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" } play-services-location = { group = "com.google.android.gms", name = "play-services-location", version.ref = "playServicesLocation" } facebook-core = { group = "com.facebook.android", name = "facebook-core", version.ref = "facebookSdk" } +ktlint-gradle-plugin = { group = "org.jlleitschuh.gradle", name = "ktlint-gradle", version.ref = "ktlint" } [bundles] diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionScreen.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionScreen.kt index 711282f8..88a5d144 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionScreen.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionScreen.kt @@ -38,7 +38,7 @@ fun EmotionScreenContainer( } when (state.step) { - EmotionScreenStep.Emotion -> BoxWithConstraints(modifier = Modifier.fillMaxWidth()) { + EmotionScreenStep.EMOTION -> BoxWithConstraints(modifier = Modifier.fillMaxWidth()) { val height = constraints.maxHeight.pxToDp() if (height >= 700.dp) { @@ -59,7 +59,7 @@ fun EmotionScreenContainer( ) } } - EmotionScreenStep.RecommendRoutines -> EmotionRecommendRoutineScreen( + EmotionScreenStep.RECOMMEND_ROUTINES -> EmotionRecommendRoutineScreen( state = state, onClickRoutine = viewModel::selectRecommendRoutine, onClickRegisterRecommendRoutines = viewModel::registerRecommendRoutines, diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionViewModel.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionViewModel.kt index adc85411..ce2fab64 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionViewModel.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/EmotionViewModel.kt @@ -72,7 +72,7 @@ class EmotionViewModel @Inject constructor( reduce { state.copy( recommendRoutines = recommendRoutines, - step = EmotionScreenStep.RecommendRoutines, + step = EmotionScreenStep.RECOMMEND_ROUTINES, isLoading = false, showLoadingView = false, ) @@ -101,11 +101,11 @@ class EmotionViewModel @Inject constructor( fun moveToPrev() = intent { when (state.step) { - EmotionScreenStep.Emotion -> postSideEffect(EmotionSideEffect.NavigateToBack) - EmotionScreenStep.RecommendRoutines -> reduce { + EmotionScreenStep.EMOTION -> postSideEffect(EmotionSideEffect.NavigateToBack) + EmotionScreenStep.RECOMMEND_ROUTINES -> reduce { state.copy( recommendRoutines = listOf(), - step = EmotionScreenStep.Emotion, + step = EmotionScreenStep.EMOTION, isLoading = false, ) } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/EmotionRecommendRoutineScreen.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/EmotionRecommendRoutineScreen.kt index d7b9c9f6..86a73749 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/EmotionRecommendRoutineScreen.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/EmotionRecommendRoutineScreen.kt @@ -119,7 +119,7 @@ private fun Preview() { ), ), isLoading = false, - step = EmotionScreenStep.RecommendRoutines, + step = EmotionScreenStep.RECOMMEND_ROUTINES, recommendRoutines = listOf( EmotionRecommendRoutineUiModel( id = "1", diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SimpleEmotionSelectionScreen.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SimpleEmotionSelectionScreen.kt index 1c1c8b02..652fe837 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SimpleEmotionSelectionScreen.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SimpleEmotionSelectionScreen.kt @@ -119,7 +119,7 @@ private fun Preview() { ), ), isLoading = false, - step = EmotionScreenStep.Emotion, + step = EmotionScreenStep.EMOTION, recommendRoutines = listOf(), showLoadingView = false, ), diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SwipeEmotionSelectionScreen.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SwipeEmotionSelectionScreen.kt index 9b1f905f..a3ac2f43 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SwipeEmotionSelectionScreen.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/component/template/SwipeEmotionSelectionScreen.kt @@ -457,7 +457,7 @@ private fun Preview() { ), ), isLoading = false, - step = EmotionScreenStep.Emotion, + step = EmotionScreenStep.EMOTION, recommendRoutines = listOf(), showLoadingView = false, ), diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/contract/EmotionState.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/contract/EmotionState.kt index f53ad875..171e64fb 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/contract/EmotionState.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/contract/EmotionState.kt @@ -21,7 +21,7 @@ data class EmotionState( emotionTypeUiModels = emptyList(), isLoading = true, recommendRoutines = emptyList(), - step = EmotionScreenStep.Emotion, + step = EmotionScreenStep.EMOTION, showLoadingView = false, ) } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/model/EmotionScreenStep.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/model/EmotionScreenStep.kt index d6525eb7..1b077823 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/model/EmotionScreenStep.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/emotion/model/EmotionScreenStep.kt @@ -1,6 +1,6 @@ package com.threegap.bitnagil.presentation.screen.emotion.model enum class EmotionScreenStep { - Emotion, RecommendRoutines, - ; + EMOTION, + RECOMMEND_ROUTINES, } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/home/component/template/CollapsibleHeader.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/home/component/template/CollapsibleHeader.kt index dff8a893..299b5014 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/home/component/template/CollapsibleHeader.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/home/component/template/CollapsibleHeader.kt @@ -1,5 +1,6 @@ package com.threegap.bitnagil.presentation.screen.home.component.template +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -14,7 +15,6 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.LineHeightStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.compose.foundation.Image import coil3.compose.AsyncImage import com.threegap.bitnagil.designsystem.BitnagilTheme import com.threegap.bitnagil.designsystem.R diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/onboarding/model/navarg/OnBoardingScreenArg.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/onboarding/model/navarg/OnBoardingScreenArg.kt index 31703214..3f32a104 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/onboarding/model/navarg/OnBoardingScreenArg.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/onboarding/model/navarg/OnBoardingScreenArg.kt @@ -1,6 +1,6 @@ package com.threegap.bitnagil.presentation.screen.onboarding.model.navarg enum class OnBoardingScreenArg { - NEW, RESET, - ; + NEW, + RESET, } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/RepeatType.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/RepeatType.kt index fa53f431..36673706 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/RepeatType.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/RepeatType.kt @@ -5,5 +5,6 @@ import kotlinx.parcelize.Parcelize @Parcelize enum class RepeatType : Parcelable { - DAILY, DAY + DAILY, + DAY, } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/SummaryScreen.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/SummaryScreen.kt index 1ed739de..def21afe 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/SummaryScreen.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/SummaryScreen.kt @@ -39,7 +39,7 @@ import java.time.temporal.ChronoUnit @Composable fun SummaryScreenContainer( viewModel: SummaryViewModel = hiltViewModel(), - navigateToYouthPolicies: () -> Unit + navigateToYouthPolicies: () -> Unit, ) { val state by viewModel.collectAsState() @@ -54,7 +54,7 @@ fun SummaryScreenContainer( state = state, onMonthChanged = viewModel::onMonthChanged, onClickEmotionDay = viewModel::selectEmotionDay, - onClickYouthPolicies = navigateToYouthPolicies + onClickYouthPolicies = navigateToYouthPolicies, ) } @@ -110,11 +110,11 @@ fun SummaryScreen( pagerState.animateScrollToPage(pagerState.currentPage - 1) } }, - modifier = Modifier.size(48.dp) + modifier = Modifier.size(48.dp), ) Text( "${state.currentMonth.year}년 ${state.currentMonth.monthValue}월", - style = BitnagilTheme.typography.subtitle1SemiBold + style = BitnagilTheme.typography.subtitle1SemiBold, ) BitnagilIconButton( id = R.drawable.ic_right_arrow_20, @@ -123,7 +123,7 @@ fun SummaryScreen( pagerState.animateScrollToPage(pagerState.currentPage + 1) } }, - modifier = Modifier.size(48.dp) + modifier = Modifier.size(48.dp), ) } @@ -132,7 +132,7 @@ fun SummaryScreen( HorizontalPager( state = pagerState, modifier = Modifier.fillMaxWidth(), - verticalAlignment = Alignment.Top + verticalAlignment = Alignment.Top, ) { page -> val monthOffset = page - INITIAL_PAGE val displayMonth = YearMonth.now().plusMonths(monthOffset.toLong()) @@ -147,7 +147,7 @@ fun SummaryScreen( } }, onClickEmotionDay = onClickEmotionDay, - modifier = Modifier.padding(horizontal = 20.dp) + modifier = Modifier.padding(horizontal = 20.dp), ) } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/emotiondaybottomsheet/EmotionDayBottomSheet.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/emotiondaybottomsheet/EmotionDayBottomSheet.kt index f2c4aeb1..13a8bc1f 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/emotiondaybottomsheet/EmotionDayBottomSheet.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/emotiondaybottomsheet/EmotionDayBottomSheet.kt @@ -72,12 +72,12 @@ private fun EmotionDayBottomSheetContent( Column( modifier = Modifier .fillMaxWidth() - .padding(vertical = 18.dp) + .padding(vertical = 18.dp), ) { Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically + verticalAlignment = Alignment.CenterVertically, ) { Text( text = emotionDay.dayText, @@ -103,7 +103,7 @@ private fun EmotionDayBottomSheetContent( color = BitnagilTheme.colors.coolGray40, modifier = Modifier .fillMaxWidth() - .padding(horizontal = 24.dp) + .padding(horizontal = 24.dp), ) Spacer(modifier = Modifier.height(24.dp)) @@ -121,7 +121,7 @@ private fun EmotionDayBottomSheetContent( .background( color = BitnagilTheme.colors.white, shape = RoundedCornerShape(12.dp), - ) + ), ) } } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarybadge/SummaryBadgeView.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarybadge/SummaryBadgeView.kt index c1757bd5..e7a3e819 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarybadge/SummaryBadgeView.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarybadge/SummaryBadgeView.kt @@ -43,34 +43,34 @@ import com.threegap.bitnagil.presentation.util.dimension.pxToDp @Composable fun SummaryBadgeView( summaryBadge: SummaryBadgeUiModel?, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, ) { Background( - modifier = modifier.clipToBounds() + modifier = modifier.clipToBounds(), ) { Column( verticalArrangement = Arrangement.spacedBy(12.dp), horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier .fillMaxWidth() - .align(Alignment.Center) + .align(Alignment.Center), ) { summaryBadge?.let { Text( summaryBadge.badgeDescription, style = BitnagilTheme.typography.cafe24SsurroundAir, color = BitnagilTheme.colors.white, - textAlign = TextAlign.Center + textAlign = TextAlign.Center, ) SummaryBadgeListView( - badges = summaryBadge.badges + badges = summaryBadge.badges, ) BadgeTitleView( badgeTitle = summaryBadge.badgeTitle, isBadgeReserved = summaryBadge.badges.firstOrNull()?.type?.isReserved ?: false, - modifier = Modifier + modifier = Modifier, ) } } @@ -100,7 +100,7 @@ private fun Background( .width(width * 0.55f) .aspectRatio(1f) .offset(x = (-93).dp, y = (-81).dp) - .rotate(103f) + .rotate(103f), ) StarImage( @@ -108,7 +108,7 @@ private fun Background( .width(width * 0.13f) .aspectRatio(1f) .offset(x = 24.dp, y = 188.dp) - .rotate(24f) + .rotate(24f), ) StarImage( @@ -116,7 +116,7 @@ private fun Background( .width(width * 0.06f) .aspectRatio(1f) .offset(x = 50.dp, y = 270.dp) - .rotate(330f) + .rotate(330f), ) StarImage( @@ -135,7 +135,7 @@ private fun Background( .align(Alignment.TopEnd) .offset(x = 30.dp, y = 50.dp) .rotate(342f), - color = BitnagilTheme.colors.orange500 + color = BitnagilTheme.colors.orange500, ) content() @@ -146,14 +146,14 @@ private fun Background( private fun StarImage( modifier: Modifier = Modifier, color: Color = BitnagilTheme.colors.orange400, - contentScale: ContentScale = ContentScale.Fit + contentScale: ContentScale = ContentScale.Fit, ) { Image( imageVector = ImageVector.vectorResource(id = R.drawable.ic_shine), contentDescription = null, colorFilter = ColorFilter.tint(color), contentScale = contentScale, - modifier = modifier + modifier = modifier, ) } @@ -167,18 +167,18 @@ private fun SummaryBadgeListView( Row( modifier = modifier.fillMaxWidth().padding(horizontal = 30.dp), horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically + verticalAlignment = Alignment.CenterVertically, ) { badges.forEach { badge -> if (isSingleItem) SummaryBadgeItemView( badge = badge, - modifier = Modifier.size(125.dp).aspectRatio(1f) + modifier = Modifier.size(125.dp).aspectRatio(1f), ) else SummaryBadgeItemView( badge = badge, - modifier = Modifier.widthIn(max = 100.dp).weight(1f, fill = false) + modifier = Modifier.widthIn(max = 100.dp).weight(1f, fill = false), ) } } @@ -194,14 +194,14 @@ private fun SummaryBadgeItemView( Image( imageVector = ImageVector.vectorResource(id = R.drawable.ic_badge_question), contentDescription = null, - modifier = modifier.aspectRatio(1f).padding(9.dp) + modifier = modifier.aspectRatio(1f).padding(9.dp), ) is BadgeImage.Remote -> AsyncImage( model = image.url, contentDescription = null, - modifier = modifier.aspectRatio(1f) + modifier = modifier.aspectRatio(1f), ) } } @@ -217,19 +217,19 @@ private fun BadgeTitleView( .background(color = BitnagilTheme.colors.orange700, shape = RoundedCornerShape(8.dp)) .padding(horizontal = 12.dp, vertical = 8.dp), verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(8.dp) + horizontalArrangement = Arrangement.spacedBy(8.dp), ) { Image( imageVector = ImageVector.vectorResource(id = R.drawable.ic_shine), contentDescription = null, modifier = Modifier.size(15.dp), - colorFilter = ColorFilter.tint(if (isBadgeReserved) BitnagilTheme.colors.coolGray95 else BitnagilTheme.colors.kakao) + colorFilter = ColorFilter.tint(if (isBadgeReserved) BitnagilTheme.colors.coolGray95 else BitnagilTheme.colors.kakao), ) Text( text = badgeTitle, style = BitnagilTheme.typography.caption1Medium, - color = BitnagilTheme.colors.white + color = BitnagilTheme.colors.white, ) } } @@ -248,9 +248,9 @@ private fun SummaryBadgePreview() { acquired = false, ), ), - badgeDescription = "덕분에 도시가\n개선되고 있어요!" + badgeDescription = "덕분에 도시가\n개선되고 있어요!", ), - modifier = Modifier + modifier = Modifier, ) } } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarycalendar/SummaryCalendarView.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarycalendar/SummaryCalendarView.kt index 6f12ef61..1090bdc6 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarycalendar/SummaryCalendarView.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/component/template/summarycalendar/SummaryCalendarView.kt @@ -54,7 +54,7 @@ fun SummaryCalendarView( modifier = Modifier.weight(1f), textAlign = TextAlign.Center, style = BitnagilTheme.typography.body2Medium, - color = BitnagilTheme.colors.coolGray40 + color = BitnagilTheme.colors.coolGray40, ) } } @@ -152,7 +152,7 @@ private fun SummaryCalendarPreview() { SummaryEmotionCellUiModel(currentMonth.atDay(16), SummaryEmotionType.FATIGUE, ""), SummaryEmotionCellUiModel(nextMonth.atDay(1), SummaryEmotionType.FATIGUE, ""), ), - firstDayOfWeek = DayOfWeek.SUNDAY + firstDayOfWeek = DayOfWeek.SUNDAY, ) } } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryBadgeTypeUiModel.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryBadgeTypeUiModel.kt index 0bf15fcc..9eb471bb 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryBadgeTypeUiModel.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryBadgeTypeUiModel.kt @@ -3,7 +3,7 @@ package com.threegap.bitnagil.presentation.screen.summary.model import com.threegap.bitnagil.domain.activitylog.model.BadgeType sealed class SummaryBadgeTypeUiModel( - val isReserved: Boolean = false + val isReserved: Boolean = false, ) { data object MotivationExpert : SummaryBadgeTypeUiModel() data object CheckExpert : SummaryBadgeTypeUiModel() diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionDayUiModel.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionDayUiModel.kt index 04471fb6..09fad06c 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionDayUiModel.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionDayUiModel.kt @@ -11,7 +11,7 @@ data class SummaryEmotionDayUiModel( get() = "${date.year}년 ${date.monthValue}월 ${date.dayOfMonth}일의 감정" val emotionText: String - get() = when(emotionType) { + get() = when (emotionType) { SummaryEmotionType.CALM -> "이날은 평온했나봐요! 평온함은 마음이 고요하고 편안해 균형을 이루는 상태예요." SummaryEmotionType.VITALITY -> "이날은 활기찼나봐요! 활기참은 생기가 가득 차 활발하고 적극적인 상태예요." SummaryEmotionType.LETHARGY -> "이날은 무기력했나봐요! 무기력함은 의욕이 없어 아무것도 하기 힘든 상태예요." diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionType.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionType.kt index 17c981ef..9a10f634 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionType.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/screen/summary/model/SummaryEmotionType.kt @@ -12,5 +12,5 @@ enum class SummaryEmotionType( LETHARGY(Color(0xFFEAEBEC), Color(0xFF5A5C63), "무기력함"), ANXIETY(Color(0xFFFFEEE4), Color(0xFFFE7120), "불안함"), SATISFACTION(Color(0xFFE2F3F6), Color(0xFF26A792), "만족함"), - FATIGUE(Color(0xFFFFE1E1), Color(0xFFFF5151), "피곤함") + FATIGUE(Color(0xFFFFE1E1), Color(0xFFFF5151), "피곤함"), } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/playstore/UpdateAvailableState.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/playstore/UpdateAvailableState.kt index bbe9274d..93b628f5 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/playstore/UpdateAvailableState.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/playstore/UpdateAvailableState.kt @@ -1,5 +1,7 @@ package com.threegap.bitnagil.presentation.util.playstore enum class UpdateAvailableState { - LATEST, NEED_UPDATE, NONE + LATEST, + NEED_UPDATE, + NONE, } diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/statusbar/StatusBarAppearanceManager.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/statusbar/StatusBarAppearanceManager.kt index dc8500f7..686fc2e4 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/statusbar/StatusBarAppearanceManager.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/statusbar/StatusBarAppearanceManager.kt @@ -8,9 +8,9 @@ import android.os.Looper import android.view.PixelCopy import android.view.Window import androidx.core.graphics.createBitmap +import androidx.core.graphics.get import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat -import androidx.core.graphics.get import androidx.core.view.WindowInsetsControllerCompat object StatusBarAppearanceManager { @@ -41,7 +41,7 @@ object StatusBarAppearanceManager { private fun captureStatusBarBitmap( window: Window, height: Int, - onResult: (Bitmap?) -> Unit + onResult: (Bitmap?) -> Unit, ) { val width = window.decorView.width if (width <= 0) { diff --git a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/toast/GlobalBitnagilToast.kt b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/toast/GlobalBitnagilToast.kt index 88dce0b2..849c0332 100644 --- a/presentation/src/main/java/com/threegap/bitnagil/presentation/util/toast/GlobalBitnagilToast.kt +++ b/presentation/src/main/java/com/threegap/bitnagil/presentation/util/toast/GlobalBitnagilToast.kt @@ -5,14 +5,14 @@ import com.threegap.bitnagil.designsystem.component.atom.BitnagilToastState import java.lang.ref.WeakReference object GlobalBitnagilToast { - private var _toastStateRef: WeakReference? = null + private var toastStateRef: WeakReference? = null fun initialize(toastState: BitnagilToastState) { - _toastStateRef = WeakReference(toastState) + toastStateRef = WeakReference(toastState) } fun show(text: String, icon: Int) { - _toastStateRef?.get()?.show(text, icon) + toastStateRef?.get()?.show(text, icon) } fun showCheck(text: String) = show(text, R.drawable.ic_check_circle_orange)