mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-16 03:08:58 +03:00
Use the navigator to open the LoginActivity
This commit is contained in:
parent
ab68903d7f
commit
01b0c7a036
6 changed files with 33 additions and 18 deletions
|
@ -34,7 +34,6 @@ import im.vector.app.core.utils.deleteAllFiles
|
|||
import im.vector.app.databinding.ActivityMainBinding
|
||||
import im.vector.app.features.home.HomeActivity
|
||||
import im.vector.app.features.home.ShortcutsHandler
|
||||
import im.vector.app.features.login.LoginActivity
|
||||
import im.vector.app.features.notifications.NotificationDrawerManager
|
||||
import im.vector.app.features.pin.PinCodeStore
|
||||
import im.vector.app.features.pin.PinLocker
|
||||
|
@ -222,9 +221,11 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
|
|||
val intent = when {
|
||||
args.clearCredentials
|
||||
&& !ignoreClearCredentials
|
||||
&& (!args.isUserLoggedOut || args.isAccountDeactivated) ->
|
||||
&& (!args.isUserLoggedOut || args.isAccountDeactivated) -> {
|
||||
// User has explicitly asked to log out or deactivated his account
|
||||
LoginActivity.newIntent(this, null)
|
||||
navigator.openLogin(this, null)
|
||||
null
|
||||
}
|
||||
args.isSoftLogout ->
|
||||
// The homeserver has invalidated the token, with a soft logout
|
||||
SoftLogoutActivity.newIntent(this)
|
||||
|
@ -240,11 +241,13 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
|
|||
// The token is still invalid
|
||||
SoftLogoutActivity.newIntent(this)
|
||||
}
|
||||
else ->
|
||||
else -> {
|
||||
// First start, or no active session
|
||||
LoginActivity.newIntent(this, null)
|
||||
navigator.openLogin(this, null)
|
||||
null
|
||||
}
|
||||
}
|
||||
startActivity(intent)
|
||||
intent?.let { startActivity(it) }
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ import im.vector.app.core.error.ErrorFormatter
|
|||
import im.vector.app.core.platform.VectorBaseActivity
|
||||
import im.vector.app.core.utils.toast
|
||||
import im.vector.app.databinding.ActivityProgressBinding
|
||||
import im.vector.app.features.login.LoginActivity
|
||||
import im.vector.app.features.login.LoginConfig
|
||||
import im.vector.app.features.permalink.PermalinkHandler
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
|
@ -126,9 +125,11 @@ class LinkHandlerActivity : VectorBaseActivity<ActivityProgressBinding>() {
|
|||
* Start the login screen with identity server and home server pre-filled
|
||||
*/
|
||||
private fun startLoginActivity(uri: Uri) {
|
||||
val intent = LoginActivity.newIntent(this, LoginConfig.parse(uri))
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
startActivity(intent)
|
||||
navigator.openLogin(
|
||||
context = this,
|
||||
loginConfig = LoginConfig.parse(uri),
|
||||
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
)
|
||||
finish()
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ import im.vector.app.features.home.room.detail.search.SearchActivity
|
|||
import im.vector.app.features.home.room.detail.search.SearchArgs
|
||||
import im.vector.app.features.home.room.filtered.FilteredRoomsActivity
|
||||
import im.vector.app.features.invite.InviteUsersToRoomActivity
|
||||
import im.vector.app.features.login.LoginActivity
|
||||
import im.vector.app.features.login.LoginConfig
|
||||
import im.vector.app.features.matrixto.MatrixToBottomSheet
|
||||
import im.vector.app.features.media.AttachmentData
|
||||
import im.vector.app.features.media.BigImageViewerActivity
|
||||
|
@ -96,6 +98,12 @@ class DefaultNavigator @Inject constructor(
|
|||
private val supportedVerificationMethodsProvider: SupportedVerificationMethodsProvider
|
||||
) : Navigator {
|
||||
|
||||
override fun openLogin(context: Context, loginConfig: LoginConfig?, flags: Int) {
|
||||
val intent = LoginActivity.newIntent(context, loginConfig)
|
||||
intent.addFlags(flags)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
||||
override fun openRoom(context: Context, roomId: String, eventId: String?, buildTask: Boolean) {
|
||||
if (sessionHolder.getSafeActiveSession()?.getRoom(roomId) == null) {
|
||||
fatalError("Trying to open an unknown room $roomId", vectorPreferences.failFast())
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.view.View
|
|||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.core.util.Pair
|
||||
import im.vector.app.features.crypto.recover.SetupMode
|
||||
import im.vector.app.features.login.LoginConfig
|
||||
import im.vector.app.features.media.AttachmentData
|
||||
import im.vector.app.features.pin.PinMode
|
||||
import im.vector.app.features.roomdirectory.roompreview.RoomPreviewData
|
||||
|
@ -36,6 +37,8 @@ import org.matrix.android.sdk.api.util.MatrixItem
|
|||
|
||||
interface Navigator {
|
||||
|
||||
fun openLogin(context: Context, loginConfig: LoginConfig? = null, flags: Int = 0)
|
||||
|
||||
fun openRoom(context: Context, roomId: String, eventId: String? = null, buildTask: Boolean = false)
|
||||
|
||||
fun switchToSpace(context: Context, spaceId: String, roomId: String?, openShareSheet: Boolean)
|
||||
|
|
|
@ -26,7 +26,6 @@ import im.vector.app.core.platform.VectorBaseActivity
|
|||
import im.vector.app.databinding.FragmentProgressBinding
|
||||
import im.vector.app.features.home.HomeActivity
|
||||
import im.vector.app.features.home.LoadingFragment
|
||||
import im.vector.app.features.login.LoginActivity
|
||||
import javax.inject.Inject
|
||||
|
||||
class PermalinkHandlerActivity : VectorBaseActivity<FragmentProgressBinding>() {
|
||||
|
@ -71,9 +70,10 @@ class PermalinkHandlerActivity : VectorBaseActivity<FragmentProgressBinding>() {
|
|||
}
|
||||
|
||||
private fun startLoginActivity() {
|
||||
val intent = LoginActivity.newIntent(this, null)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
startActivity(intent)
|
||||
navigator.openLogin(
|
||||
context = this,
|
||||
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,7 +41,6 @@ import im.vector.app.databinding.FragmentIncomingShareBinding
|
|||
import im.vector.app.features.attachments.AttachmentsHelper
|
||||
import im.vector.app.features.attachments.preview.AttachmentsPreviewActivity
|
||||
import im.vector.app.features.attachments.preview.AttachmentsPreviewArgs
|
||||
import im.vector.app.features.login.LoginActivity
|
||||
|
||||
import org.matrix.android.sdk.api.session.content.ContentAttachmentData
|
||||
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||
|
@ -211,9 +210,10 @@ class IncomingShareFragment @Inject constructor(
|
|||
}
|
||||
|
||||
private fun startLoginActivity() {
|
||||
val intent = LoginActivity.newIntent(requireActivity(), null)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
startActivity(intent)
|
||||
navigator.openLogin(
|
||||
context = requireActivity(),
|
||||
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
)
|
||||
requireActivity().finish()
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue