diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8c8cc2c7..8f6e4d24 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -45,8 +45,7 @@ android { manifestPlaceholders["KAKAO_APP_KEY"] = kakaoKey manifestPlaceholders["APP_LINK_HOST"] = appLinkHost - isMinifyEnabled = true - isShrinkResources = true + isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb434..1e97e068 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,4 +18,36 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +# Retrofit +-keepattributes Signature, InnerClasses, EnclosingMethod +-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations +-keepattributes AnnotationDefault + +-keepclassmembers,allowshrinking,allowobfuscation interface * { + @retrofit2.http.* ; +} + +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn javax.annotation.** +-dontwarn kotlin.Unit +-dontwarn retrofit2.KotlinExtensions +-dontwarn retrofit2.KotlinExtensions$* + +# suspend 함수 반환 타입 유지 +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface <1> + +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface * extends <1> + +# Retrofit이 사용하는 제네릭 타입 +-keep,allowobfuscation,allowshrinking class retrofit2.Response +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation +-keep,allowobfuscation,allowshrinking interface retrofit2.Call +-keep,allowobfuscation,allowshrinking class retrofit2.Response +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation + +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface <1> \ No newline at end of file diff --git a/feature/onboarding/src/main/java/com/kikidan/onboarding/OnboardingRoute.kt b/feature/onboarding/src/main/java/com/kikidan/onboarding/OnboardingRoute.kt index ca622582..86c8df94 100644 --- a/feature/onboarding/src/main/java/com/kikidan/onboarding/OnboardingRoute.kt +++ b/feature/onboarding/src/main/java/com/kikidan/onboarding/OnboardingRoute.kt @@ -47,6 +47,7 @@ fun OnboardingRoute( ) { // 권한을 허락하지 않더라도 앱 진입 permissionHandled = true + onFinish() } viewModel.collectSideEffect { sideEffect -> @@ -62,6 +63,8 @@ fun OnboardingRoute( OnboardingSideEffect.PermissionRequest -> { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) + } else { + onFinish() } }