1
1
package com.velogm.presentation.ui
2
2
3
+ import android.app.AlertDialog
3
4
import android.content.Intent
4
5
import android.os.Bundle
5
6
import android.view.View
@@ -9,6 +10,10 @@ import androidx.lifecycle.lifecycleScope
9
10
import androidx.navigation.NavController
10
11
import androidx.navigation.fragment.findNavController
11
12
import androidx.navigation.ui.setupWithNavController
13
+ import com.google.firebase.ktx.Firebase
14
+ import com.google.firebase.remoteconfig.FirebaseRemoteConfig
15
+ import com.google.firebase.remoteconfig.ktx.remoteConfig
16
+ import com.google.firebase.remoteconfig.ktx.remoteConfigSettings
12
17
import com.velogm.core_ui.base.BindingActivity
13
18
import com.velogm.core_ui.context.longToast
14
19
import com.velogm.core_ui.view.UiState
@@ -20,16 +25,27 @@ import com.velogm.presentation.ui.signin.SignInViewModel
20
25
import dagger.hilt.android.AndroidEntryPoint
21
26
import kotlinx.coroutines.flow.launchIn
22
27
import kotlinx.coroutines.flow.onEach
28
+ import timber.log.Timber
23
29
24
30
@AndroidEntryPoint
25
31
class MainActivity : BindingActivity <ActivityMainBinding >(R .layout.activity_main) {
26
32
private val mainViewModel by viewModels<SignInViewModel >()
27
-
33
+ private lateinit var remoteConfig : FirebaseRemoteConfig
28
34
override fun onCreate (savedInstanceState : Bundle ? ) {
29
35
super .onCreate(savedInstanceState)
30
36
initView()
31
37
setupLogoutState()
32
38
setUpWithdrawalState()
39
+
40
+ remoteConfig = Firebase .remoteConfig
41
+
42
+ val configSettings = remoteConfigSettings {
43
+ minimumFetchIntervalInSeconds = 0
44
+ }
45
+
46
+ remoteConfig.setConfigSettingsAsync(configSettings)
47
+
48
+ fetchAppVersion()
33
49
}
34
50
35
51
private fun initView () {
@@ -94,4 +110,31 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
94
110
95
111
}
96
112
}
113
+ private fun fetchAppVersion () {
114
+ // val appVersion = remoteConfig[REMOTE_KEY_APP_VERSION].asString()
115
+ var appVersion= " 0.0.0"
116
+ Timber .tag(" remote config1" ).d(" $appVersion " )
117
+ appVersion= remoteConfig.getString(REMOTE_KEY_APP_VERSION )
118
+ Timber .tag(" remote config2" ).d(" $appVersion " )
119
+
120
+ AlertDialog .Builder (this )
121
+ .setTitle(" Remote Config" )
122
+ .setMessage(" App version :: $appVersion " )
123
+ .show()
124
+
125
+ remoteConfig.fetchAndActivate()
126
+ .addOnCompleteListener {
127
+ if (it.isSuccessful) {
128
+ Timber .tag(" remoteConfig" ).d(" success" )
129
+ // fetch and activate 성공
130
+ } else {
131
+ Timber .tag(" remoteConfig" ).d(" fail" )
132
+ // fetch and activate 실패
133
+ }
134
+ }
135
+ }
136
+
137
+ companion object {
138
+ private const val REMOTE_KEY_APP_VERSION = " app_version"
139
+ }
97
140
}
0 commit comments