Skip to content
This repository was archived by the owner on Jul 2, 2025. It is now read-only.

Commit db97450

Browse files
Fix login bug -- adjust postion of check-login function
1 parent 62eb7fe commit db97450

File tree

4 files changed

+36
-29
lines changed

4 files changed

+36
-29
lines changed

android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MainActivity.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,11 @@ class MainActivity : AppCompatActivity() {
6262
}
6363
}
6464

65-
override fun onCreate(savedInstanceState: Bundle?) {
66-
super.onCreate(savedInstanceState)
67-
setContentView(R.layout.activity_main)
68-
Log.d(MAIN_ACTIVITY_TAG, "onCreate")
69-
signInVM.signInVMInit(this, this)
70-
setupNavigationBar()
71-
}
72-
73-
override fun onStart() {
74-
super.onStart()
75-
65+
private fun checkLogin() {
7666
when (signInVM.isLogIn()) {
7767
true -> {
7868
Log.d(MAIN_ACTIVITY_TAG, "Already login")
69+
setupNavigationBar()
7970
// Init Profile
8071
profileVM.initAppUser(signInVM.getFirebaseAuthCurUser()!!)
8172
}
@@ -92,6 +83,14 @@ class MainActivity : AppCompatActivity() {
9283
}
9384
}
9485

86+
override fun onCreate(savedInstanceState: Bundle?) {
87+
super.onCreate(savedInstanceState)
88+
setContentView(R.layout.activity_main)
89+
Log.d(MAIN_ACTIVITY_TAG, "onCreate")
90+
signInVM.signInVMInit(this, this)
91+
checkLogin()
92+
}
93+
9594
companion object {
9695
const val MAIN_ACTIVITY_TAG = "MainActivity"
9796
}

android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileViewModel.kt

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class ProfileViewModel : ViewModel() {
3939
private lateinit var runCollectionRef : CollectionReference
4040
private lateinit var curAppUser: AppUser
4141
private var runHistoryListForView: ArrayList<SingleRun> = ArrayList()
42-
private var timeHMSString: MutableLiveData<String> = MutableLiveData(DEFAULT_TIME)
42+
// private var timeHMSString: MutableLiveData<String> = MutableLiveData(DEFAULT_TIME)
4343

4444
private fun getUid() : String {
4545
return curAppUser.uid
@@ -89,13 +89,17 @@ class ProfileViewModel : ViewModel() {
8989
)
9090
}
9191

92-
private fun setTimeHMSString() {
93-
val ms = getTotalTimeMillisecond()
94-
val hms = ms ?.let{convertMStoStringHMS(ms)} ?: run { DEFAULT_TIME }
95-
timeHMSString.value = hms
96-
Log.d(PROFILE_VM_TAG, "setTimeHMSString hms: $hms")
92+
private fun calculateCalories(millionSeconds : Long) : Long {
93+
return millionSeconds.div(4500)
9794
}
9895

96+
// private fun setTimeHMSString() {
97+
// val ms = getTotalTimeMillisecond()
98+
// val hms = ms ?.let{convertMStoStringHMS(ms)} ?: run { DEFAULT_TIME }
99+
// timeHMSString.value = hms
100+
// Log.d(PROFILE_VM_TAG, "setTimeHMSString hms: $hms")
101+
// }
102+
99103

100104
private fun syncAppUserStatistic() {
101105
runUserDocRef.get()
@@ -106,7 +110,7 @@ class ProfileViewModel : ViewModel() {
106110
setTotalTimeMillisecond(document.data!![KEY_TOTAL_TIME_MS] as Long)
107111
setRunHistoryList(document.data!![KEY_RUN_HISTORY] as ArrayList<HashMap<String, Any>>)
108112
setRunHistoryListForView()
109-
setTimeHMSString()
113+
// setTimeHMSString()
110114
}
111115
.addOnFailureListener {
112116
Log.w(PROFILE_VM_TAG, "Get doc Failed")
@@ -125,12 +129,13 @@ class ProfileViewModel : ViewModel() {
125129
return curAppUser.googleAccountProfileUrl
126130
}
127131

128-
fun getTimeHMSStringMutableLiveData() : MutableLiveData<String> {
129-
return timeHMSString
132+
fun getTimeHMSString() : String {
133+
val ms = getTotalTimeMillisecond()
134+
return ms ?.let { convertMStoStringHMS(ms) } ?: run { DEFAULT_TIME }
130135
}
131136

132-
fun getTotalEnergyCaloriesMutableLiveData() : MutableLiveData<Long> {
133-
return curAppUser.totalEnergyCalories
137+
fun getTotalEnergyCaloriesString() : String {
138+
return curAppUser.totalEnergyCalories.value.toString()
134139
}
135140

136141
fun getRunHistoryListForView(): ArrayList<SingleRun> {
@@ -151,6 +156,9 @@ class ProfileViewModel : ViewModel() {
151156
val newTotalTimeMillisecond = getTotalTimeMillisecond()?.plus(
152157
singleRunningTimeMillionSeconds
153158
)
159+
160+
val newTotalCalories = calculateCalories(newTotalTimeMillisecond ?: 0)
161+
154162
Log.d(PROFILE_VM_TAG, "newTotalTimeMillisecond $newTotalTimeMillisecond")
155163

156164
val singleRunData = hashMapOf(
@@ -160,7 +168,7 @@ class ProfileViewModel : ViewModel() {
160168

161169
val updateRunUserData = hashMapOf(
162170
KEY_TOTAL_TIME_MS to newTotalTimeMillisecond,
163-
KEY_TOTAL_EN_CAL to (newTotalTimeMillisecond?.div(10000) ?: 0),
171+
KEY_TOTAL_EN_CAL to newTotalCalories,
164172
KEY_RUN_HISTORY to FieldValue.arrayUnion(singleRunData)
165173
)
166174

android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/SignInViewModel.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class SignInViewModel : ViewModel() {
3636
}
3737

3838
private fun signInFailureHandle() {
39-
Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_LONG).show()
39+
Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_SHORT).show()
4040
signOut()
4141
}
4242

@@ -61,7 +61,7 @@ class SignInViewModel : ViewModel() {
6161
authStateListenerForSignOut = FirebaseAuth.AuthStateListener {
6262
it.currentUser ?. let {
6363
Log.w(SIGN_IN_VM_TAG, "firebaseSignOut Failed")
64-
Toast.makeText(context, context.getString(R.string.sign_out_failed), Toast.LENGTH_LONG).show()
64+
Toast.makeText(context, context.getString(R.string.sign_out_failed), Toast.LENGTH_SHORT).show()
6565
} ?: run {
6666
Log.w(SIGN_IN_VM_TAG, "firebaseSignOut Succeed")
6767
curFirebaseUser.value!!.firebaseUser.value = null
@@ -111,7 +111,7 @@ class SignInViewModel : ViewModel() {
111111
googleSignInClient.signOut()
112112
.addOnFailureListener {
113113
Log.w(SIGN_IN_VM_TAG, "googleSignOut Failed")
114-
Toast.makeText(context, context.getString(R.string.sign_out_failed), Toast.LENGTH_LONG).show()
114+
Toast.makeText(context, context.getString(R.string.sign_out_failed), Toast.LENGTH_SHORT).show()
115115
}
116116
}
117117

@@ -155,7 +155,7 @@ class SignInViewModel : ViewModel() {
155155
FIREBASE_AUTH_WITH_GOOGLE_FAIL
156156
}
157157
} else {
158-
Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_LONG).show()
158+
Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_SHORT).show()
159159
Log.w(SIGN_IN_VM_TAG, "Google sign in unsuccessful")
160160
signInFailureHandle()
161161
return GOOGLE_SIGN_IN_UNSUCCESSFUL

android/canonical/app/src/main/res/layout/fragment_profile.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
android:layout_height="wrap_content"
101101
android:layout_marginBottom="5dp"
102102
android:fontFamily="sans-serif-light"
103-
android:text="@{profileViewModel.getTimeHMSStringMutableLiveData()}"
103+
android:text="@{profileViewModel.getTimeHMSString()}"
104104
android:textColor="@android:color/white"
105105
android:textSize="30sp" />
106106

@@ -139,7 +139,7 @@
139139
android:layout_marginBottom="5dp"
140140
android:gravity="center"
141141
android:fontFamily="sans-serif-light"
142-
android:text="@{profileViewModel.getTimeHMSStringMutableLiveData()}"
142+
android:text="@{profileViewModel.getTotalEnergyCaloriesString()}"
143143
android:textColor="@android:color/white"
144144
android:textSize="30sp" />
145145

0 commit comments

Comments
 (0)