From 8411afd95fd3275715977af920013bdb6fbe2de4 Mon Sep 17 00:00:00 2001 From: Changyeop Lee Date: Wed, 14 Aug 2024 23:18:14 +0900 Subject: [PATCH 1/4] Fix logout navigation issue. --- .../goalpanzi/mission_mate/feature/login/LoginNavigation.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt index 4653bdfd..7aea62d9 100644 --- a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt +++ b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt @@ -6,7 +6,11 @@ import androidx.navigation.compose.composable import com.goalpanzi.mission_mate.core.navigation.RouteModel fun NavController.navigateToLogin() { - this.navigate(RouteModel.Login) + this.navigate(RouteModel.Login) { + popUpTo(this@navigateToLogin.graph.id){ + inclusive = true + } + } } fun NavGraphBuilder.loginNavGraph( From 5263970db50209d4f0ee52e16919d61885ba19e4 Mon Sep 17 00:00:00 2001 From: eshc123 <> Date: Thu, 15 Aug 2024 00:57:56 +0900 Subject: [PATCH 2/4] fix navigation --- .../core/designsystem/component/Dialog.kt | 8 ++++++-- .../feature/board/BoardNavigation.kt | 15 ++++++++++----- .../feature/board/screen/BoardScreen.kt | 9 ++++----- .../feature/board/screen/BoardViewModel.kt | 14 +++++++++----- .../feature/login/LoginNavigation.kt | 4 ++-- .../mission_mate/feature/login/LoginViewModel.kt | 2 +- .../mission_mate/core/main/MainActivity.kt | 6 +++--- .../mission_mate/core/main/MainScreen.kt | 4 ++-- .../core/main/component/MainNavHost.kt | 2 +- .../feature/onboarding/OnboardingNavigation.kt | 16 ++++++++-------- .../screen/boardsetup/BoardSetupScreen.kt | 8 +++++++- .../feature/profile/ProfileNavigation.kt | 8 ++++---- .../setting/navigation/SettingNavigation.kt | 16 ++++++++-------- gradle/libs.versions.toml | 8 ++++---- 14 files changed, 69 insertions(+), 51 deletions(-) diff --git a/core/designsystem/src/main/java/com/goalpanzi/mission_mate/core/designsystem/component/Dialog.kt b/core/designsystem/src/main/java/com/goalpanzi/mission_mate/core/designsystem/component/Dialog.kt index 14a00da5..da7ded9c 100644 --- a/core/designsystem/src/main/java/com/goalpanzi/mission_mate/core/designsystem/component/Dialog.kt +++ b/core/designsystem/src/main/java/com/goalpanzi/mission_mate/core/designsystem/component/Dialog.kt @@ -1,9 +1,11 @@ package com.goalpanzi.mission_mate.core.designsystem.component +import android.annotation.SuppressLint import androidx.annotation.StringRes import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope @@ -35,6 +37,7 @@ import com.goalpanzi.mission_mate.core.designsystem.theme.ColorGray3_FF727484 import com.goalpanzi.mission_mate.core.designsystem.theme.ColorWhite_FFFFFFFF import com.goalpanzi.mission_mate.core.designsystem.theme.MissionMateTypography +@SuppressLint("UnrememberedMutableInteractionSource") @Composable fun MissionMateDialog( @StringRes titleId: Int, @@ -102,7 +105,7 @@ fun MissionMateDialog( modifier = Modifier .padding(top = 20.dp) .clickable( - interactionSource = null, + interactionSource = MutableInteractionSource(), indication = null, onClick = onDismissRequest ), @@ -117,6 +120,7 @@ fun MissionMateDialog( } +@SuppressLint("UnrememberedMutableInteractionSource") @Composable fun MissionMateDialog( onDismissRequest: () -> Unit, @@ -170,7 +174,7 @@ fun MissionMateDialog( modifier = Modifier .padding(top = 20.dp) .clickable( - interactionSource = null, + interactionSource = MutableInteractionSource(), indication = null, onClick = onDismissRequest ), diff --git a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/BoardNavigation.kt b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/BoardNavigation.kt index 2de04e51..67eb7b97 100644 --- a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/BoardNavigation.kt +++ b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/BoardNavigation.kt @@ -3,12 +3,15 @@ package com.goalpanzi.mission_mate.feature.board import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions +import androidx.navigation.NavType import androidx.navigation.compose.composable -import androidx.navigation.toRoute +import androidx.navigation.navArgument import com.goalpanzi.mission_mate.core.navigation.RouteModel import com.goalpanzi.mission_mate.feature.board.screen.BoardRoute import com.goalpanzi.mission_mate.feature.onboarding.navigateToOnboarding +internal const val missionIdArg = "missionId" + fun NavController.navigateToBoard( missionId: Long, @@ -18,17 +21,19 @@ fun NavController.navigateToBoard( } } ) { - this.navigate(RouteModel.Board(missionId = missionId),navOptions = navOptions) + this.navigate("RouteModel.Board" + "/${missionId}",navOptions = navOptions) } fun NavGraphBuilder.boardNavGraph( onNavigateOnboarding: () -> Unit, onClickSetting : () -> Unit ) { - composable { navBackStackEntry -> - val missionId = navBackStackEntry.toRoute().missionId + composable( + "RouteModel.Board/{$missionIdArg}", + arguments = listOf(navArgument(missionIdArg) { type = NavType.LongType }) + ) { navBackStackEntry -> + // val missionId = navBackStackEntry.toRoute().missionId BoardRoute( - missionId = missionId, onNavigateOnboarding = onNavigateOnboarding, onClickSetting = onClickSetting ) diff --git a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardScreen.kt b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardScreen.kt index 8a486ad7..543eb290 100644 --- a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardScreen.kt +++ b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardScreen.kt @@ -63,7 +63,6 @@ import kotlinx.coroutines.launch @Composable fun BoardRoute( - missionId : Long, onNavigateOnboarding : () -> Unit, onClickSetting : () -> Unit, modifier: Modifier = Modifier, @@ -77,9 +76,9 @@ fun BoardRoute( } LaunchedEffect(key1 = Unit) { - viewModel.getMissionBoards(missionId) - viewModel.getMission(missionId) - viewModel.getMissionVerification(missionId) + viewModel.getMissionBoards() + viewModel.getMission() + viewModel.getMissionVerification() launch { viewModel.deleteMissionResultEvent.collect { @@ -106,7 +105,7 @@ fun BoardRoute( isShownDeleteMissionDialog = false }, onClickOk = { - viewModel.deleteMission(missionId) + viewModel.deleteMission() } ) } diff --git a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardViewModel.kt b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardViewModel.kt index bc82d108..ce3b7ca7 100644 --- a/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardViewModel.kt +++ b/feature/board/src/main/java/com/goalpanzi/mission_mate/feature/board/screen/BoardViewModel.kt @@ -1,5 +1,6 @@ package com.goalpanzi.mission_mate.feature.board.screen +import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.goalpanzi.mission_mate.core.domain.usecase.DeleteMissionUseCase @@ -26,9 +27,12 @@ class BoardViewModel @Inject constructor( private val getMissionUseCase: GetMissionUseCase, private val getMissionBoardsUseCase: GetMissionBoardsUseCase, private val getMissionVerificationsUseCase: GetMissionVerificationsUseCase, - private val deleteMissionUseCase: DeleteMissionUseCase + private val deleteMissionUseCase: DeleteMissionUseCase, + savedStateHandle: SavedStateHandle ) : ViewModel() { + private val missionId : Long = savedStateHandle.get("missionId")!! + private val _deleteMissionResultEvent = MutableSharedFlow() val deleteMissionResultEvent: SharedFlow = _deleteMissionResultEvent.asSharedFlow() @@ -45,7 +49,7 @@ class BoardViewModel @Inject constructor( val missionVerificationUiModel: StateFlow = _missionVerificationUiModel.asStateFlow() - fun getMissionBoards(missionId: Long) { + fun getMissionBoards() { viewModelScope.launch { _missionBoardUiModel.emit(MissionBoardUiModel.Loading) @@ -67,7 +71,7 @@ class BoardViewModel @Inject constructor( } } - fun getMission(missionId: Long) { + fun getMission() { viewModelScope.launch { getMissionUseCase(missionId).catch { _missionUiModel.emit(MissionUiModel.Error) @@ -85,7 +89,7 @@ class BoardViewModel @Inject constructor( } } - fun getMissionVerification(missionId: Long) { + fun getMissionVerification() { viewModelScope.launch { getMissionVerificationsUseCase(missionId).catch { _missionVerificationUiModel.emit(MissionVerificationUiModel.Error) @@ -103,7 +107,7 @@ class BoardViewModel @Inject constructor( } } - fun deleteMission(missionId: Long) { + fun deleteMission() { viewModelScope.launch { deleteMissionUseCase(missionId) .catch { diff --git a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt index 7aea62d9..0cc67b6a 100644 --- a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt +++ b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginNavigation.kt @@ -6,7 +6,7 @@ import androidx.navigation.compose.composable import com.goalpanzi.mission_mate.core.navigation.RouteModel fun NavController.navigateToLogin() { - this.navigate(RouteModel.Login) { + this.navigate("RouteModel.Login") { popUpTo(this@navigateToLogin.graph.id){ inclusive = true } @@ -16,7 +16,7 @@ fun NavController.navigateToLogin() { fun NavGraphBuilder.loginNavGraph( onLoginSuccess: (isProfileSet: Boolean) -> Unit ) { - composable { + composable("RouteModel.Login") { LoginRoute( onLoginSuccess = onLoginSuccess ) diff --git a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginViewModel.kt b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginViewModel.kt index 015bc689..a2fecf6e 100644 --- a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginViewModel.kt +++ b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginViewModel.kt @@ -19,7 +19,7 @@ import javax.inject.Inject @HiltViewModel class LoginViewModel @Inject constructor( - private val loginUseCase: LoginUseCase + private val loginUseCase: LoginUseCase, ) : ViewModel() { private val _eventFlow = MutableSharedFlow() diff --git a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainActivity.kt b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainActivity.kt index fdc79fda..c3315c2e 100644 --- a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainActivity.kt +++ b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainActivity.kt @@ -34,12 +34,12 @@ class MainActivity : ComponentActivity() { MainScreen( navigator = navigator, startDestination = if (isNewUser) { - RouteModel.Login + "RouteModel.Login" } else { if (user == null) { - RouteModel.Profile.Create + "RouteModel.Profile.Create" } else { - RouteModel.Onboarding + "RouteModel.Onboarding" } } ) diff --git a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainScreen.kt b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainScreen.kt index 6eb85be5..b79ffa7e 100644 --- a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainScreen.kt +++ b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/MainScreen.kt @@ -11,7 +11,7 @@ import com.goalpanzi.mission_mate.core.navigation.RouteModel @Composable internal fun MainScreen( navigator: MainNavigator = rememberMainNavigator(), - startDestination: RouteModel + startDestination: String ) { MainScreenContent( navigator = navigator, @@ -22,7 +22,7 @@ internal fun MainScreen( @Composable private fun MainScreenContent( navigator: MainNavigator, - startDestination: RouteModel, + startDestination: String, modifier: Modifier = Modifier ) { Scaffold( diff --git a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/component/MainNavHost.kt b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/component/MainNavHost.kt index 44c3aeb1..ad85409f 100644 --- a/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/component/MainNavHost.kt +++ b/feature/main/src/main/java/com/goalpanzi/mission_mate/core/main/component/MainNavHost.kt @@ -25,7 +25,7 @@ import com.luckyoct.feature.setting.navigation.settingNavGraph internal fun MainNavHost( modifier: Modifier = Modifier, navigator: MainNavigator, - startDestination: RouteModel, + startDestination: String, padding: PaddingValues ) { Box( diff --git a/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/OnboardingNavigation.kt b/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/OnboardingNavigation.kt index f13d4119..47330af8 100644 --- a/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/OnboardingNavigation.kt +++ b/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/OnboardingNavigation.kt @@ -18,11 +18,11 @@ fun NavController.navigateToOnboarding( } } ) { - this.navigate(RouteModel.Onboarding,navOptions = navOptions) + this.navigate("RouteModel.Onboarding",navOptions = navOptions) } fun NavController.navigateToBoardSetup() { - this.navigate(OnboardingRouteModel.BoardSetup) + this.navigate("OnboardingRouteModel.BoardSetup") } fun NavController.navigateToBoardSetupSuccess( @@ -32,11 +32,11 @@ fun NavController.navigateToBoardSetupSuccess( } } ) { - this.navigate(OnboardingRouteModel.BoardSetupSuccess,navOptions = navOptions) + this.navigate("OnboardingRouteModel.BoardSetupSuccess",navOptions = navOptions) } fun NavController.navigateToInvitationCode() { - this.navigate(OnboardingRouteModel.InvitationCode) + this.navigate("OnboardingRouteModel.InvitationCode") } fun NavGraphBuilder.onboardingNavGraph( @@ -45,7 +45,7 @@ fun NavGraphBuilder.onboardingNavGraph( onClickSetting: () -> Unit, onNavigateMissionBoard : (Long) -> Unit ) { - composable { + composable("RouteModel.Onboarding") { OnboardingRoute( onClickBoardSetup = onClickBoardSetup, onClickInvitationCode = onClickInvitationCode, @@ -59,7 +59,7 @@ fun NavGraphBuilder.boardSetupNavGraph( onSuccess: () -> Unit, onBackClick: () -> Unit ) { - composable { + composable("OnboardingRouteModel.BoardSetup") { BoardSetupRoute( onSuccess = onSuccess, onBackClick = onBackClick @@ -70,7 +70,7 @@ fun NavGraphBuilder.boardSetupNavGraph( fun NavGraphBuilder.boardSetupSuccessNavGraph( onClickStart: () -> Unit ) { - composable { + composable("OnboardingRouteModel.BoardSetupSuccess") { BoardSetupSuccessScreen( onClickStart = onClickStart ) @@ -81,7 +81,7 @@ fun NavGraphBuilder.invitationCodeNavGraph( onBackClick: () -> Unit, onNavigateMissionBoard: (Long) -> Unit, ) { - composable { + composable("OnboardingRouteModel.InvitationCode") { InvitationCodeRoute( onBackClick = onBackClick, onNavigateMissionBoard = onNavigateMissionBoard diff --git a/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/screen/boardsetup/BoardSetupScreen.kt b/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/screen/boardsetup/BoardSetupScreen.kt index 1ef8f63d..ee15da9a 100644 --- a/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/screen/boardsetup/BoardSetupScreen.kt +++ b/feature/onboarding/src/main/java/com/goalpanzi/mission_mate/feature/onboarding/screen/boardsetup/BoardSetupScreen.kt @@ -1,8 +1,11 @@ package com.goalpanzi.mission_mate.feature.onboarding.screen.boardsetup +import android.annotation.SuppressLint import android.widget.Toast +import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.fillMaxSize @@ -49,6 +52,8 @@ import com.goalpanzi.mission_mate.feature.onboarding.util.styledTextWithHighligh import java.time.DayOfWeek import java.time.LocalDate +@SuppressLint("UnrememberedMutableInteractionSource") +@OptIn(ExperimentalFoundationApi::class) @Composable fun BoardSetupRoute( onSuccess : () -> Unit, @@ -125,7 +130,7 @@ fun BoardSetupRoute( BoardSetupScreen( modifier = Modifier.clickable( - null, + MutableInteractionSource(), null, onClick = { keyboardController?.hide() @@ -168,6 +173,7 @@ fun BoardSetupRoute( ) } +@OptIn(ExperimentalFoundationApi::class) @Composable fun BoardSetupScreen( currentStep: BoardSetupStep, diff --git a/feature/profile/src/main/java/com/luckyoct/feature/profile/ProfileNavigation.kt b/feature/profile/src/main/java/com/luckyoct/feature/profile/ProfileNavigation.kt index 0741d032..fb690fc0 100644 --- a/feature/profile/src/main/java/com/luckyoct/feature/profile/ProfileNavigation.kt +++ b/feature/profile/src/main/java/com/luckyoct/feature/profile/ProfileNavigation.kt @@ -10,24 +10,24 @@ enum class ProfileSettingType { } fun NavController.navigateToProfileCreate() { - this.navigate(RouteModel.Profile.Create) + this.navigate("RouteModel.Profile.Create") } fun NavController.navigateToProfileSetting() { - this.navigate(RouteModel.Profile.Setting) + this.navigate("RouteModel.Profile.Setting") } fun NavGraphBuilder.profileNavGraph( onSaveSuccess: () -> Unit, onBackClick: () -> Unit ) { - composable { + composable("RouteModel.Profile.Create") { ProfileRoute( profileSettingType = ProfileSettingType.CREATE, onSaveSuccess = onSaveSuccess ) } - composable { + composable("RouteModel.Profile.Setting") { ProfileRoute( profileSettingType = ProfileSettingType.SETTING, onSaveSuccess = onBackClick, diff --git a/feature/setting/src/main/java/com/luckyoct/feature/setting/navigation/SettingNavigation.kt b/feature/setting/src/main/java/com/luckyoct/feature/setting/navigation/SettingNavigation.kt index e454eaf8..398baede 100644 --- a/feature/setting/src/main/java/com/luckyoct/feature/setting/navigation/SettingNavigation.kt +++ b/feature/setting/src/main/java/com/luckyoct/feature/setting/navigation/SettingNavigation.kt @@ -9,19 +9,19 @@ import com.luckyoct.feature.setting.screen.SettingRoute import com.luckyoct.feature.setting.screen.WebViewScreen fun NavController.navigateToSetting() { - this.navigate(RouteModel.Setting) + this.navigate("RouteModel.Setting") } fun NavController.navigateToInquiry() { - this.navigate(SettingRouteModel.Inquiry) + this.navigate("SettingRouteModel.Inquiry") } fun NavController.navigateToServicePolicy() { - this.navigate(SettingRouteModel.ServicePolicy) + this.navigate("SettingRouteModel.ServicePolicy") } fun NavController.navigateToPrivacyPolicy() { - this.navigate(SettingRouteModel.PrivacyPolicy) + this.navigate("SettingRouteModel.PrivacyPolicy") } fun NavGraphBuilder.settingNavGraph( @@ -31,7 +31,7 @@ fun NavGraphBuilder.settingNavGraph( onClickPrivacyPolicy: () -> Unit, onClickLogout: () -> Unit ) { - composable { + composable("RouteModel.Setting") { SettingRoute( onBackClick = onBackClick, onClickProfileSetting = onClickProfileSetting, @@ -45,7 +45,7 @@ fun NavGraphBuilder.settingNavGraph( fun NavGraphBuilder.inquiryNavGraph( onBackClick: () -> Unit ) { - composable { + composable("SettingRouteModel.Inquiry") { WebViewScreen( onBackClick = onBackClick, url = "https://www.google.com/" @@ -56,7 +56,7 @@ fun NavGraphBuilder.inquiryNavGraph( fun NavGraphBuilder.servicePolicyNavGraph( onBackClick: () -> Unit ) { - composable { + composable("SettingRouteModel.ServicePolicy") { WebViewScreen( onBackClick = onBackClick, url = "https://missionmate.notion.site/f638866edeaf45b58ef63d1000f30c15?pvs=73" @@ -67,7 +67,7 @@ fun NavGraphBuilder.servicePolicyNavGraph( fun NavGraphBuilder.privacyPolicyNavGraph( onBackClick: () -> Unit ) { - composable { + composable("SettingRouteModel.PrivacyPolicy") { WebViewScreen( onBackClick = onBackClick, url = "https://missionmate.notion.site/c79e9e6990de466490c584f351b364b7?pvs=4" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9d72df63..827a5759 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] ## Android gradle plugin -agp = "8.4.0" +agp = "8.4.2" ## Kotlin kotlin = "2.0.0" @@ -11,13 +11,13 @@ coroutine = "1.9.0-RC" ## AndroidX androidxCoreKtx = "1.13.1" -androidxLifecycleKtx = "2.8.3" +androidxLifecycleKtx = "2.8.4" androidxAppcompat = "1.7.0" -androidxActivity = "1.9.0" +androidxActivity = "1.9.1" ## Compose composeBom = "2024.06.00" -navigation-compose = "2.8.0-beta02" +navigation-compose = "2.7.7" ## Kotlin Symbol Processing (KSP) ksp = "2.0.0-1.0.23" From f07239191ade031e14e3c15520525353c4511e02 Mon Sep 17 00:00:00 2001 From: eshc123 <> Date: Thu, 15 Aug 2024 01:10:16 +0900 Subject: [PATCH 3/4] add isMinifyEnabled, isShrinkResources --- app/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 15fe7123..81d83937 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -37,6 +37,8 @@ android { buildTypes { release { signingConfig = signingConfigs.getByName("release") + isMinifyEnabled = true + isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" From 790a90dde528b7fea52a4e47e88877df9bb5c12b Mon Sep 17 00:00:00 2001 From: eshc123 <> Date: Thu, 15 Aug 2024 01:14:17 +0900 Subject: [PATCH 4/4] =?UTF-8?q?mod=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/goalpanzi/mission_mate/feature/login/LoginScreen.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginScreen.kt b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginScreen.kt index 81429df4..c7f9c1fe 100644 --- a/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginScreen.kt +++ b/feature/login/src/main/java/com/goalpanzi/mission_mate/feature/login/LoginScreen.kt @@ -110,9 +110,9 @@ fun LoginScreen( .wrapContentHeight() .padding(top = 175.dp) .background(color = Color.White, shape = RoundedCornerShape(30.dp)) - .padding(horizontal = 12.dp, vertical = 6.dp) .clip(RoundedCornerShape(30.dp)) - .clickable(onClick = onGoogleLoginClick), + .clickable(onClick = onGoogleLoginClick) + .padding(horizontal = 12.dp, vertical = 6.dp), contentAlignment = Alignment.CenterStart ) { Image(