diff --git a/app/src/main/java/com/gamedog/vididin/beans/User.kt b/app/src/main/java/com/gamedog/vididin/beans/Account.kt similarity index 72% rename from app/src/main/java/com/gamedog/vididin/beans/User.kt rename to app/src/main/java/com/gamedog/vididin/beans/Account.kt index 27184d9..82a9440 100644 --- a/app/src/main/java/com/gamedog/vididin/beans/User.kt +++ b/app/src/main/java/com/gamedog/vididin/beans/Account.kt @@ -1,9 +1,9 @@ package com.gamedog.vididin.beans -data class User( +data class Account( val accountId: String, val deviceUUId: String, - val token: String, + val token: String="", val createdAt: Long, ) diff --git a/app/src/main/java/com/gamedog/vididin/beans/UserData.kt b/app/src/main/java/com/gamedog/vididin/beans/UserData.kt index 5f9840c..48e8ccc 100644 --- a/app/src/main/java/com/gamedog/vididin/beans/UserData.kt +++ b/app/src/main/java/com/gamedog/vididin/beans/UserData.kt @@ -2,7 +2,7 @@ package com.gamedog.vididin.beans data class UserData( - val user: User, + val user: Account, val mainTabs: List, val homeTabs: List, val useDynamicColor: Boolean, diff --git a/app/src/main/java/com/gamedog/vididin/login/LoginInfoSave.kt b/app/src/main/java/com/gamedog/vididin/login/LoginInfoSave.kt index 58ad7d1..7b9aa96 100644 --- a/app/src/main/java/com/gamedog/vididin/login/LoginInfoSave.kt +++ b/app/src/main/java/com/gamedog/vididin/login/LoginInfoSave.kt @@ -1,10 +1,10 @@ package com.gamedog.vididin.login -import com.gamedog.vididin.beans.User +import com.gamedog.vididin.beans.Account class LoginInfoSave { - fun putUser(user: User?) { + fun putUser(user: Account?) { UserLocalRepository.saveUser2Sp(user) } diff --git a/app/src/main/java/com/gamedog/vididin/login/LoginManager.kt b/app/src/main/java/com/gamedog/vididin/login/LoginManager.kt index ceb20c2..cb40f1f 100644 --- a/app/src/main/java/com/gamedog/vididin/login/LoginManager.kt +++ b/app/src/main/java/com/gamedog/vididin/login/LoginManager.kt @@ -1,60 +1,52 @@ package com.gamedog.vididin.core.login.login -import com.ama.core.architecture.BaseApp import com.ama.core.architecture.util.AsyncUtil +import com.ama.core.architecture.util.DateUtil +import com.ama.core.architecture.util.DeviceUtil import com.ama.core.architecture.util.SpUtil import com.gamedog.vididin.beans.OnLoginStateEvent -import com.gamedog.vididin.beans.User +import com.gamedog.vididin.beans.Account import com.gamedog.vididin.login.LoginInfoSave import com.gamedog.vididin.login.OnLoginEvent import com.gamedog.vididin.router.Router import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents -import dagger.hilt.android.EntryPointAccessors -import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.launch object LoginManager { - private var mAccount: User? = null + private var mAccount: Account? = null fun initAccount() { AsyncUtil.doGlobalAsync({ - SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT) + SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT) }, onComplete = { item-> mAccount = item if (mAccount == null) { - - } else { - + val deviceUUId = DeviceUtil.generateDeviceId() + mAccount = Account(accountId = "user_$deviceUUId", deviceUUId=deviceUUId, createdAt = DateUtil.getCurTimeMs()) } }) - - - - - - - /*val loginEntryPoint = EntryPointAccessors.fromApplication(BaseApp.appContext(), LoginEntryPoint::class.java) - - preferencesDataSource = loginEntryPoint.appPreferencesDataSource() - applicationScope = loginEntryPoint.applicationScope() - - isLoggedFlow = preferencesDataSource.userData.map { it.user }.distinctUntilChanged() - .map { it.id != 0 && it.token.isNotEmpty() } - // 启动监听 - applicationScope.launch { - isLoggedFlow.collect { - isCurrentLogged = it - } - }*/ } + /*val loginEntryPoint = EntryPointAccessors.fromApplication(BaseApp.appContext(), LoginEntryPoint::class.java) + + preferencesDataSource = loginEntryPoint.appPreferencesDataSource() + applicationScope = loginEntryPoint.applicationScope() + + isLoggedFlow = preferencesDataSource.userData.map { it.user }.distinctUntilChanged() + .map { it.id != 0 && it.token.isNotEmpty() } + // 启动监听 + applicationScope.launch { + isLoggedFlow.collect { + isCurrentLogged = it + } + }*/ - + fun getAccount() : Account? { + return mAccount + } @@ -71,7 +63,7 @@ object LoginManager { - var user: User? = null + var user: Account? = null set(value) { loginInfoSave.putUser(value) field = value @@ -108,7 +100,7 @@ object LoginManager { } } - fun putUser(user: User?) { + fun putUser(user: Account?) { this.user = user } diff --git a/app/src/main/java/com/gamedog/vididin/login/UserLocalRepository.kt b/app/src/main/java/com/gamedog/vididin/login/UserLocalRepository.kt index 25f281a..0835b62 100644 --- a/app/src/main/java/com/gamedog/vididin/login/UserLocalRepository.kt +++ b/app/src/main/java/com/gamedog/vididin/login/UserLocalRepository.kt @@ -1,15 +1,15 @@ package com.gamedog.vididin.login import com.ama.core.architecture.util.SpUtil -import com.gamedog.vididin.beans.User +import com.gamedog.vididin.beans.Account object UserLocalRepository { - fun getUserFromSp(): User? { + fun getUserFromSp(): Account? { return SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT) } - fun saveUser2Sp(account: User?) { + fun saveUser2Sp(account: Account?) { SpUtil.instance().putObject(SpUtil.KEY_ACCOUNT, account) } diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/DateUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/DateUtil.kt index d838542..7298438 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/DateUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/DateUtil.kt @@ -80,6 +80,10 @@ object DateUtil { return TimeUnit.MILLISECONDS.toDays(diffMillis) } + fun getCurTimeMs(): Long { + return System.currentTimeMillis() + } + /** * 两个时间点之间的天数差 */ diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/DeviceUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/DeviceUtil.kt index d5a6665..18771f6 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/DeviceUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/DeviceUtil.kt @@ -3,6 +3,7 @@ package com.ama.core.architecture.util import android.content.Context import android.os.Build import android.provider.Settings +import com.ama.core.architecture.BaseApp import java.util.* @@ -13,20 +14,20 @@ class DeviceUtil private constructor() { /** * public method */ - fun generateDeviceId(context: Context): String { + fun generateDeviceId(): String { val hardwareUUID = getHardwareUUID() if (hardwareUUID.isNotBlank()) { return hardwareUUID } // way2 - val androidId = getAndroidId(context) + val androidId = getAndroidId(BaseApp.appContext()) if (androidId != null && isValidAndroidId(androidId)) { return UUID.nameUUIDFromBytes(androidId.toByteArray()).toString() } // final:there's no other better way - return generateAndSaveRandomUUID(context) + return generateAndSaveRandomUUID(BaseApp.appContext()) } /**