Skip to content

Commit 3a64bce

Browse files
authored
Merge pull request #67 from MONEYMONG/release/release-2.0.2
Release/release 2.0.2
2 parents a6412c3 + c0baf4f commit 3a64bce

162 files changed

Lines changed: 927 additions & 569 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/android-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- name: Create API Certificate
2828
run: |
2929
echo "sdk.dir=$ANDROID_SDK_ROOT" > ./local.properties
30-
echo "native_app_key=\"${{ secrets.NATIVE_APP_KEY }}\"" >> ./local.properties
30+
echo "NATIVE_APP_KEY=\"${{ secrets.NATIVE_APP_KEY }}\"" >> ./local.properties
3131
echo "CLOVA_OCR_DOCUMENT_SECRET=\"${{ secrets.CLOVA_OCR_DOCUMENT_SECRET }}\"" >> ./local.properties
3232
echo "CLOVA_OCR_DOCUMENT_BASEURL=\"${{ secrets.CLOVA_OCR_DOCUMENT_BASEURL }}\"" >> ./local.properties
3333
@@ -84,7 +84,7 @@ jobs:
8484
- name: Create API Certificate
8585
run: |
8686
echo "sdk.dir=$ANDROID_SDK_ROOT" > ./local.properties
87-
echo "native_app_key=\"${{ secrets.NATIVE_APP_KEY }}\"" >> ./local.properties
87+
echo "NATIVE_APP_KEY=\"${{ secrets.NATIVE_APP_KEY }}\"" >> ./local.properties
8888
echo "CLOVA_OCR_DOCUMENT_SECRET=\"${{ secrets.CLOVA_OCR_DOCUMENT_SECRET }}\"" >> ./local.properties
8989
echo "CLOVA_OCR_DOCUMENT_BASEURL=\"${{ secrets.CLOVA_OCR_DOCUMENT_BASEURL }}\"" >> ./local.properties
9090

app/build.gradle.kts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
2-
31
@Suppress("DSL_SCOPE_VIOLATION")
42
plugins {
53
alias(libs.plugins.moneymong.android.application)
@@ -13,21 +11,21 @@ plugins {
1311

1412
android {
1513
namespace = "com.moneymong.moneymong"
16-
compileSdk = 34
14+
compileSdk = 35
1715

1816
defaultConfig {
1917
applicationId = "com.moneymong.moneymong"
2018
minSdk = 24
21-
targetSdk = 34
19+
targetSdk = 35
2220
versionCode = 31
23-
versionName = "2.0.1"
21+
versionName = "2.0.2"
2422

2523
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2624
vectorDrawables {
2725
useSupportLibrary = true
2826
}
29-
buildConfigField("String", "NATIVE_APP_KEY", getApiKey("native_app_key"))
3027
}
28+
3129
buildFeatures {
3230
buildConfig = true
3331
}
@@ -50,6 +48,8 @@ android {
5048

5149
dependencies {
5250
implementation(projects.core.ui)
51+
implementation(projects.core.analytics)
52+
implementation(projects.core.android)
5353
implementation(projects.core.designSystem)
5454
implementation(projects.core.common)
5555
implementation(projects.core.model)
@@ -82,8 +82,4 @@ dependencies {
8282
testImplementation(libs.junit4)
8383
androidTestImplementation(libs.androidx.junit)
8484
androidTestImplementation(libs.androidx.test.espresso.core)
85-
}
86-
87-
fun getApiKey(propertyKey: String): String {
88-
return gradleLocalProperties(rootDir).getProperty(propertyKey)
89-
}
85+
}

app/src/main/java/com/moneymong/moneymong/MainActivity.kt

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
package com.moneymong.moneymong
22

33
import android.content.Intent
4+
import android.graphics.Color
45
import android.net.Uri
6+
import android.os.Build
57
import android.os.Bundle
68
import androidx.activity.ComponentActivity
9+
import androidx.activity.SystemBarStyle
710
import androidx.activity.compose.setContent
11+
import androidx.activity.enableEdgeToEdge
812
import androidx.activity.viewModels
13+
import androidx.compose.runtime.CompositionLocalProvider
914
import androidx.compose.runtime.LaunchedEffect
1015
import androidx.compose.runtime.getValue
1116
import androidx.compose.runtime.mutableStateOf
1217
import androidx.compose.runtime.remember
1318
import androidx.compose.runtime.setValue
1419
import androidx.compose.ui.platform.LocalContext
1520
import androidx.lifecycle.compose.LifecycleStartEffect
16-
import com.moneymong.moneymong.common.event.EventTracker
21+
import com.moneymong.moneymong.analytics.AnalyticsTracker
22+
import com.moneymong.moneymong.analytics.LocalAnalyticsTracker
1723
import com.moneymong.moneymong.design_system.error.ErrorDialog
1824
import com.moneymong.moneymong.design_system.theme.MMTheme
1925
import com.moneymong.moneymong.domain.repository.token.TokenRepository
@@ -30,11 +36,20 @@ class MainActivity : ComponentActivity() {
3036
lateinit var tokenRepository: TokenRepository
3137

3238
@Inject
33-
lateinit var eventTracker: EventTracker
39+
lateinit var analyticsTracker: AnalyticsTracker
3440

3541
override fun onCreate(savedInstanceState: Bundle?) {
3642
super.onCreate(savedInstanceState)
37-
eventTracker.initialize()
43+
enableEdgeToEdge(
44+
navigationBarStyle = SystemBarStyle.auto(
45+
Color.TRANSPARENT,
46+
Color.TRANSPARENT
47+
)
48+
).also {
49+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
50+
window.isNavigationBarContrastEnforced = false
51+
}
52+
}
3853

3954
setContent {
4055
val context = LocalContext.current
@@ -53,27 +68,29 @@ class MainActivity : ComponentActivity() {
5368
onStopOrDispose { }
5469
})
5570

56-
MMTheme {
57-
if (shouldUpdate) {
58-
ErrorDialog(
59-
message = "안정적인 머니몽 사용을 위해\n최신 버전으로 업데이트가 필요해요!",
60-
confirmText = "업데이트",
61-
onConfirm = {
62-
val playStoreUrl =
63-
"https://play.google.com/store/apps/details?id=${BuildConfig.APPLICATION_ID}"
64-
val intent = Intent(Intent.ACTION_VIEW).apply {
65-
data = Uri.parse(playStoreUrl)
66-
setPackage("com.android.vending")
71+
CompositionLocalProvider(LocalAnalyticsTracker provides analyticsTracker) {
72+
MMTheme {
73+
if (shouldUpdate) {
74+
ErrorDialog(
75+
message = "안정적인 머니몽 사용을 위해\n최신 버전으로 업데이트가 필요해요!",
76+
confirmText = "업데이트",
77+
onConfirm = {
78+
val playStoreUrl =
79+
"https://play.google.com/store/apps/details?id=${BuildConfig.APPLICATION_ID}"
80+
val intent = Intent(Intent.ACTION_VIEW).apply {
81+
data = Uri.parse(playStoreUrl)
82+
setPackage("com.android.vending")
83+
}
84+
context.startActivity(intent)
6785
}
68-
context.startActivity(intent)
69-
}
86+
)
87+
}
88+
89+
MoneyMongApp(
90+
expired = expired,
91+
onChangeExpired = { expired = false }
7092
)
7193
}
72-
73-
MoneyMongApp(
74-
expired = expired,
75-
onChangeExpired = { expired = false }
76-
)
7794
}
7895
}
7996
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.moneymong.moneymong
22

3-
import com.moneymong.moneymong.common.base.SideEffect
3+
import com.moneymong.moneymong.android.SideEffect
44

55
sealed class MainSideEffect: SideEffect {
66
}

app/src/main/java/com/moneymong/moneymong/MainState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.moneymong.moneymong
22

3-
import com.moneymong.moneymong.common.base.State
3+
import com.moneymong.moneymong.android.State
44

55
data class MainState(
66
val shouldUpdate: Boolean = false

app/src/main/java/com/moneymong/moneymong/MainViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.moneymong.moneymong
22

3-
import com.moneymong.moneymong.common.base.BaseViewModel
3+
import com.moneymong.moneymong.android.BaseViewModel
44
import com.moneymong.moneymong.domain.usecase.version.CheckVersionUpdateUseCase
55
import dagger.hilt.android.lifecycle.HiltViewModel
66
import org.orbitmvi.orbit.syntax.simple.intent

build-logic/convention/src/main/java/AndroidApplicationConventionPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
1414

1515
extensions.configure<ApplicationExtension> {
1616
configureKotlinAndroid(this)
17-
defaultConfig.targetSdk = 34
17+
defaultConfig.targetSdk = 35
1818
}
1919
}
2020
}

build-logic/convention/src/main/java/AndroidLibraryConventionPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
1515

1616
extensions.configure<LibraryExtension> {
1717
configureKotlinAndroid(this)
18-
defaultConfig.targetSdk = 34
18+
defaultConfig.targetSdk = 35
1919
configureFlavors(this)
2020
}
2121
}

build-logic/convention/src/main/java/com/moneymong/moneymong/buildlogic/convention/AndroidCompose.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import org.gradle.api.Project
55
import org.gradle.kotlin.dsl.dependencies
66

77
internal fun Project.configureAndroidCompose(
8-
commonExtension: CommonExtension<*, *, *, *, *>,
8+
commonExtension: CommonExtension<*, *, *, *, *, *>,
99
) {
1010
commonExtension.apply {
1111
buildFeatures {

build-logic/convention/src/main/java/com/moneymong/moneymong/buildlogic/convention/KotlinAndroid.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import org.gradle.kotlin.dsl.configure
88
import org.gradle.kotlin.dsl.dependencies
99

1010
internal fun Project.configureKotlinAndroid(
11-
commonExtension: CommonExtension<*, *, *, *, *>,
11+
commonExtension: CommonExtension<*, *, *, *, *, *>,
1212
) {
1313
commonExtension.apply {
14-
compileSdk = 34
14+
compileSdk = 35
1515

1616
defaultConfig {
1717
minSdk = 24

0 commit comments

Comments
 (0)