Skip to content
This repository was archived by the owner on Jun 7, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,9 @@ class LoginPresenter @Inject constructor(
icon,
logo,
username,
thumb
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,9 @@ class LoginOptionsPresenter @Inject constructor(
icon,
logo,
username,
thumb
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,9 @@ class RegisterUsernamePresenter @Inject constructor(
icon,
logo,
username,
thumb
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ class SignupPresenter @Inject constructor(
icon,
logo,
me.username!!,
thumb
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@ class TwoFAPresenter @Inject constructor(
icon,
logo,
me.username!!,
thumb
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package chat.rocket.android.main.presentation

import chat.rocket.android.authentication.domain.model.DeepLinkInfo
import chat.rocket.android.core.behaviours.AppLanguageView
import chat.rocket.android.helper.UserHelper
import chat.rocket.android.push.GroupedPush
import chat.rocket.android.server.domain.GetCurrentLanguageInteractor
import chat.rocket.android.server.domain.RefreshPermissionsInteractor
import chat.rocket.android.server.domain.RefreshSettingsInteractor
import chat.rocket.android.server.domain.*
import chat.rocket.android.server.domain.model.Account
import chat.rocket.android.server.infrastructure.ConnectionManagerFactory
import chat.rocket.android.util.extensions.avatarUrl
import chat.rocket.android.util.extensions.serverLogoUrl
import javax.inject.Inject
import javax.inject.Named

Expand All @@ -16,10 +18,16 @@ class MainPresenter @Inject constructor(
private val appLanguageView: AppLanguageView,
private val refreshSettingsInteractor: RefreshSettingsInteractor,
private val refreshPermissionsInteractor: RefreshPermissionsInteractor,
private val getSettingsInteractor: GetSettingsInteractor,
private val connectionManagerFactory: ConnectionManagerFactory,
private var getLanguageInteractor: GetCurrentLanguageInteractor,
private val groupedPush: GroupedPush
private val groupedPush: GroupedPush,
private val tokenRepository: TokenRepository,
private val userHelper: UserHelper,
private val saveAccountInteractor: SaveAccountInteractor,
private val removeAccountInteractor: RemoveAccountInteractor
) {

fun connect() = currentServer?.let {
refreshSettingsInteractor.refreshAsync(it)
refreshPermissionsInteractor.refreshAsync(it)
Expand All @@ -44,4 +52,39 @@ class MainPresenter @Inject constructor(
}
}
}

fun removeOldAccount() = currentServer?.let {
removeAccountInteractor.remove(currentServer)
}

fun saveNewAccount() {
currentServer?.let { currentServer ->
with(getSettingsInteractor.get(currentServer)) {
val icon = favicon()?.let {
currentServer.serverLogoUrl(it)
}
val logo = wideTile()?.let {
currentServer.serverLogoUrl(it)
}
val token = tokenRepository.get(currentServer)
val thumb = currentServer.avatarUrl(
userHelper.username() ?: "",
token?.userId,
token?.authToken
)

val account = Account(
siteName() ?: currentServer,
currentServer,
icon,
logo,
userHelper.username() ?: "",
thumb,
token?.userId,
token?.authToken
)
saveAccountInteractor.save(account)
}
}
}
}
2 changes: 2 additions & 0 deletions app/src/main/java/chat/rocket/android/main/ui/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class MainActivity : AppCompatActivity(), HasActivityInjector,
with(presenter) {
connect()
getAppLanguage()
removeOldAccount()
saveNewAccount()
intent.getStringExtra(INTENT_CHAT_ROOM_ID).let {
clearNotificationsForChatRoom(it)
showChatList(it, deepLinkInfo)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ import se.ansman.kotshi.JsonSerializable
data class Account(
val serverName: String?,
val serverUrl: String,
val serverLogo: String?,
val serverBg: String?,
val serverLogoUrl: String?,
val serverBackgroundImageUrl: String?,
val userName: String,
val avatar: String?
val userAvatarUrl: String?,
val authToken: String?,
val userId: String?
)
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class ServerViewHolder(itemView: View, private val currentServerUrl: String) :

fun bind(account: Account) {
with(itemView) {
Glide.with(context).load(account.serverLogo).into(image_server)
Glide.with(context).load(account.serverLogoUrl).into(image_server)
text_server_name.text = account.serverName ?: account.serverUrl
text_server_url.text = account.serverUrl
image_check.isInvisible = currentServerUrl != account.serverUrl
Expand Down