mirror of
https://github.com/bitwarden/android.git
synced 2024-11-23 09:56:11 +03:00
Ensure hasPremium value is set on profile (#534)
This commit is contained in:
parent
ab5ea4ebaa
commit
0ee25a3dd5
3 changed files with 8 additions and 4 deletions
|
@ -17,14 +17,16 @@ import com.x8bit.bitwarden.ui.platform.base.util.toHexColorRepresentation
|
|||
fun UserStateJson.toUpdatedUserStateJson(
|
||||
syncResponse: SyncResponseJson,
|
||||
): UserStateJson {
|
||||
val userId = syncResponse.profile.id
|
||||
val syncProfile = syncResponse.profile
|
||||
val userId = syncProfile.id
|
||||
val account = this.accounts[userId] ?: return this
|
||||
val profile = account.profile
|
||||
// TODO: Update additional missing UserStateJson properties (BIT-916)
|
||||
val updatedProfile = profile
|
||||
.copy(
|
||||
avatarColorHex = syncResponse.profile.avatarColor,
|
||||
stamp = syncResponse.profile.securityStamp,
|
||||
avatarColorHex = syncProfile.avatarColor,
|
||||
stamp = syncProfile.securityStamp,
|
||||
hasPremium = syncProfile.isPremium || syncProfile.isPremiumFromOrganization,
|
||||
)
|
||||
val updatedAccount = account.copy(profile = updatedProfile)
|
||||
return this
|
||||
|
|
|
@ -83,6 +83,8 @@ class UserStateJsonExtensionsTest {
|
|||
every { id } returns "activeUserId"
|
||||
every { avatarColor } returns "avatarColor"
|
||||
every { securityStamp } returns "securityStamp"
|
||||
every { isPremium } returns true
|
||||
every { isPremiumFromOrganization } returns true
|
||||
}
|
||||
},
|
||||
),
|
||||
|
|
|
@ -2121,7 +2121,7 @@ private val MOCK_PROFILE = AccountJson.Profile(
|
|||
stamp = null,
|
||||
organizationId = null,
|
||||
avatarColorHex = null,
|
||||
hasPremium = true,
|
||||
hasPremium = false,
|
||||
forcePasswordResetReason = null,
|
||||
kdfType = null,
|
||||
kdfIterations = null,
|
||||
|
|
Loading…
Reference in a new issue