user -> account
This commit is contained in:
parent
be16d57958
commit
6a849aa343
|
|
@ -1,9 +1,9 @@
|
||||||
package com.gamedog.vididin.beans
|
package com.gamedog.vididin.beans
|
||||||
|
|
||||||
|
|
||||||
data class User(
|
data class Account(
|
||||||
val accountId: String,
|
val accountId: String,
|
||||||
val deviceUUId: String,
|
val deviceUUId: String,
|
||||||
val token: String,
|
val token: String="",
|
||||||
val createdAt: Long,
|
val createdAt: Long,
|
||||||
)
|
)
|
||||||
|
|
@ -2,7 +2,7 @@ package com.gamedog.vididin.beans
|
||||||
|
|
||||||
|
|
||||||
data class UserData(
|
data class UserData(
|
||||||
val user: User,
|
val user: Account,
|
||||||
val mainTabs: List<Int>,
|
val mainTabs: List<Int>,
|
||||||
val homeTabs: List<Int>,
|
val homeTabs: List<Int>,
|
||||||
val useDynamicColor: Boolean,
|
val useDynamicColor: Boolean,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.gamedog.vididin.login
|
package com.gamedog.vididin.login
|
||||||
|
|
||||||
import com.gamedog.vididin.beans.User
|
import com.gamedog.vididin.beans.Account
|
||||||
|
|
||||||
class LoginInfoSave {
|
class LoginInfoSave {
|
||||||
|
|
||||||
fun putUser(user: User?) {
|
fun putUser(user: Account?) {
|
||||||
UserLocalRepository.saveUser2Sp(user)
|
UserLocalRepository.saveUser2Sp(user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,32 @@
|
||||||
package com.gamedog.vididin.core.login.login
|
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.AsyncUtil
|
||||||
|
import com.ama.core.architecture.util.DateUtil
|
||||||
|
import com.ama.core.architecture.util.DeviceUtil
|
||||||
import com.ama.core.architecture.util.SpUtil
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import com.gamedog.vididin.beans.OnLoginStateEvent
|
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.LoginInfoSave
|
||||||
import com.gamedog.vididin.login.OnLoginEvent
|
import com.gamedog.vididin.login.OnLoginEvent
|
||||||
import com.gamedog.vididin.router.Router
|
import com.gamedog.vididin.router.Router
|
||||||
import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents
|
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 {
|
object LoginManager {
|
||||||
|
|
||||||
private var mAccount: User? = null
|
private var mAccount: Account? = null
|
||||||
|
|
||||||
fun initAccount() {
|
fun initAccount() {
|
||||||
AsyncUtil.doGlobalAsync({
|
AsyncUtil.doGlobalAsync({
|
||||||
SpUtil.instance().getObject<User>(SpUtil.KEY_ACCOUNT)
|
SpUtil.instance().getObject<Account>(SpUtil.KEY_ACCOUNT)
|
||||||
}, onComplete = { item->
|
}, onComplete = { item->
|
||||||
mAccount = item
|
mAccount = item
|
||||||
if (mAccount == null) {
|
if (mAccount == null) {
|
||||||
|
val deviceUUId = DeviceUtil.generateDeviceId()
|
||||||
} else {
|
mAccount = Account(accountId = "user_$deviceUUId", deviceUUId=deviceUUId, createdAt = DateUtil.getCurTimeMs())
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*val loginEntryPoint = EntryPointAccessors.fromApplication(BaseApp.appContext(), LoginEntryPoint::class.java)
|
/*val loginEntryPoint = EntryPointAccessors.fromApplication(BaseApp.appContext(), LoginEntryPoint::class.java)
|
||||||
|
|
||||||
|
|
@ -49,6 +41,11 @@ object LoginManager {
|
||||||
isCurrentLogged = it
|
isCurrentLogged = it
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fun getAccount() : Account? {
|
||||||
|
return mAccount
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -58,11 +55,6 @@ object LoginManager {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// old ---------------------------------
|
// old ---------------------------------
|
||||||
|
|
||||||
private val loginInfoSave by lazy {
|
private val loginInfoSave by lazy {
|
||||||
|
|
@ -71,7 +63,7 @@ object LoginManager {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var user: User? = null
|
var user: Account? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
loginInfoSave.putUser(value)
|
loginInfoSave.putUser(value)
|
||||||
field = value
|
field = value
|
||||||
|
|
@ -108,7 +100,7 @@ object LoginManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun putUser(user: User?) {
|
fun putUser(user: Account?) {
|
||||||
this.user = user
|
this.user = user
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package com.gamedog.vididin.login
|
package com.gamedog.vididin.login
|
||||||
|
|
||||||
import com.ama.core.architecture.util.SpUtil
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import com.gamedog.vididin.beans.User
|
import com.gamedog.vididin.beans.Account
|
||||||
|
|
||||||
object UserLocalRepository {
|
object UserLocalRepository {
|
||||||
|
|
||||||
fun getUserFromSp(): User? {
|
fun getUserFromSp(): Account? {
|
||||||
return SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT)
|
return SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun saveUser2Sp(account: User?) {
|
fun saveUser2Sp(account: Account?) {
|
||||||
SpUtil.instance().putObject(SpUtil.KEY_ACCOUNT, account)
|
SpUtil.instance().putObject(SpUtil.KEY_ACCOUNT, account)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,10 @@ object DateUtil {
|
||||||
return TimeUnit.MILLISECONDS.toDays(diffMillis)
|
return TimeUnit.MILLISECONDS.toDays(diffMillis)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getCurTimeMs(): Long {
|
||||||
|
return System.currentTimeMillis()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 两个时间点之间的天数差
|
* 两个时间点之间的天数差
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ama.core.architecture.util
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
|
import com.ama.core.architecture.BaseApp
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,20 +14,20 @@ class DeviceUtil private constructor() {
|
||||||
/**
|
/**
|
||||||
* public method
|
* public method
|
||||||
*/
|
*/
|
||||||
fun generateDeviceId(context: Context): String {
|
fun generateDeviceId(): String {
|
||||||
val hardwareUUID = getHardwareUUID()
|
val hardwareUUID = getHardwareUUID()
|
||||||
if (hardwareUUID.isNotBlank()) {
|
if (hardwareUUID.isNotBlank()) {
|
||||||
return hardwareUUID
|
return hardwareUUID
|
||||||
}
|
}
|
||||||
|
|
||||||
// way2
|
// way2
|
||||||
val androidId = getAndroidId(context)
|
val androidId = getAndroidId(BaseApp.appContext())
|
||||||
if (androidId != null && isValidAndroidId(androidId)) {
|
if (androidId != null && isValidAndroidId(androidId)) {
|
||||||
return UUID.nameUUIDFromBytes(androidId.toByteArray()).toString()
|
return UUID.nameUUIDFromBytes(androidId.toByteArray()).toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
// final:there's no other better way
|
// final:there's no other better way
|
||||||
return generateAndSaveRandomUUID(context)
|
return generateAndSaveRandomUUID(BaseApp.appContext())
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue