11package com.moneymong.moneymong
22
33import android.content.Intent
4+ import android.graphics.Color
45import android.net.Uri
6+ import android.os.Build
57import android.os.Bundle
68import androidx.activity.ComponentActivity
9+ import androidx.activity.SystemBarStyle
710import androidx.activity.compose.setContent
11+ import androidx.activity.enableEdgeToEdge
812import androidx.activity.viewModels
13+ import androidx.compose.runtime.CompositionLocalProvider
914import androidx.compose.runtime.LaunchedEffect
1015import androidx.compose.runtime.getValue
1116import androidx.compose.runtime.mutableStateOf
1217import androidx.compose.runtime.remember
1318import androidx.compose.runtime.setValue
1419import androidx.compose.ui.platform.LocalContext
1520import 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
1723import com.moneymong.moneymong.design_system.error.ErrorDialog
1824import com.moneymong.moneymong.design_system.theme.MMTheme
1925import 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 }
0 commit comments