Skip to content

Commit 3690ca6

Browse files
committed
Before code cleanup
1 parent b9b1316 commit 3690ca6

File tree

3 files changed

+27
-3
lines changed

3 files changed

+27
-3
lines changed

app/src/main/java/com/troplo/privateuploader/MainScreen.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fun MainScreen(user: User?) {
4444
val token = SessionManager(context).getAuthToken()
4545
if (token != null) {
4646
SocketHandler.initializeSocket(token, context)
47-
UserStore.initializeUser(token)
47+
UserStore.initializeUser(context)
4848
}
4949
val navController = rememberNavController()
5050
val panelState = rememberOverlappingPanelsState()
@@ -63,8 +63,9 @@ fun MainScreen(user: User?) {
6363
topBar = {
6464
if(!SocketHandler.connected.value) {
6565
ConnectingBanner()
66+
} else {
67+
TopBarNav(navController = navController, user = user)
6668
}
67-
TopBarNav(navController = navController, user = user)
6869
},
6970
bottomBar = { BottomBarNav(navController = navController, panelState = panelState, closePanels = closePanelsFunc) },
7071
) { paddingValues ->

app/src/main/java/com/troplo/privateuploader/api/SessionManager.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package com.troplo.privateuploader.api
22

33
import android.content.Context
44
import android.content.SharedPreferences
5+
import com.google.gson.Gson
56
import com.troplo.privateuploader.R
7+
import com.troplo.privateuploader.data.model.User
68

79
class SessionManager (context: Context) {
810
private var prefs: SharedPreferences = context.getSharedPreferences(context.getString(R.string.app_name), Context.MODE_PRIVATE)
@@ -36,4 +38,19 @@ class SessionManager (context: Context) {
3638
editor.putInt("lastChatId", id)
3739
editor.apply()
3840
}
41+
42+
fun setUserCache(user: User?) {
43+
val editor = prefs.edit()
44+
editor.putString("user", Gson().toJson(user))
45+
editor.apply()
46+
}
47+
48+
fun getUserCache(): User? {
49+
val user = prefs.getString("user", null)
50+
return if(user != null) {
51+
Gson().fromJson(user, User::class.java)
52+
} else {
53+
null
54+
}
55+
}
3956
}

app/src/main/java/com/troplo/privateuploader/api/stores/UserStore.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.troplo.privateuploader.api.stores
22

3+
import android.content.Context
4+
import com.troplo.privateuploader.api.SessionManager
35
import com.troplo.privateuploader.api.TpuApi
46
import com.troplo.privateuploader.data.model.User
57
import kotlinx.coroutines.CoroutineScope
@@ -11,12 +13,16 @@ import java.net.URISyntaxException
1113
object UserStore {
1214
private var user: User? = null
1315

14-
fun initializeUser(token: String) {
16+
fun initializeUser(context: Context) {
1517
try {
1618
CoroutineScope(
1719
Dispatchers.IO
1820
).launch {
21+
if(SessionManager(context).getUserCache() != null) {
22+
user = SessionManager(context).getUserCache()
23+
}
1924
user = TpuApi.retrofitService.getUser().execute().body()
25+
SessionManager(context).setUserCache(user)
2026
}
2127
} catch (e: URISyntaxException) {
2228
e.printStackTrace()

0 commit comments

Comments
 (0)