Use id from existing views instead of "hard-coded" values

And improve our extension
This commit is contained in:
Benoit Marty 2021-12-07 16:56:09 +01:00
parent 147935db97
commit d3a1746475
41 changed files with 196 additions and 233 deletions

1
changelog.d/4650.misc Normal file
View file

@ -0,0 +1 @@
Cleanup id ref. Use type views instead

View file

@ -35,9 +35,9 @@ class ${activityClass} : VectorBaseActivity(), ToolbarConfigurable {
<#if createFragmentArgs> <#if createFragmentArgs>
val fragmentArgs: ${fragmentArgsClass} = intent?.extras?.getParcelable(EXTRA_FRAGMENT_ARGS) val fragmentArgs: ${fragmentArgsClass} = intent?.extras?.getParcelable(EXTRA_FRAGMENT_ARGS)
?: return ?: return
addFragment(R.id.simpleFragmentContainer, ${fragmentClass}::class.java, fragmentArgs) addFragment(views.simpleFragmentContainer.id, ${fragmentClass}::class.java, fragmentArgs)
<#else> <#else>
addFragment(R.id.simpleFragmentContainer, ${fragmentClass}::class.java) addFragment(views.simpleFragmentContainer.id, ${fragmentClass}::class.java)
</#if> </#if>
} }
} }

View file

@ -17,7 +17,6 @@
package im.vector.app.features.debug.settings package im.vector.app.features.debug.settings
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleBinding import im.vector.app.databinding.ActivitySimpleBinding
@ -30,7 +29,7 @@ class DebugPrivateSettingsActivity : VectorBaseActivity<ActivitySimpleBinding>()
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
DebugPrivateSettingsFragment::class.java DebugPrivateSettingsFragment::class.java
) )
} }

View file

@ -19,6 +19,9 @@ package im.vector.app.core.extensions
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import android.os.Parcelable import android.os.Parcelable
import android.view.View
import android.view.ViewGroup
import android.view.ViewParent
import android.view.WindowManager import android.view.WindowManager
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResult
@ -33,57 +36,56 @@ fun ComponentActivity.registerStartForActivityResult(onResult: (ActivityResult)
} }
fun AppCompatActivity.addFragment( fun AppCompatActivity.addFragment(
frameId: Int, container: ViewGroup,
fragment: Fragment, fragment: Fragment,
allowStateLoss: Boolean = false allowStateLoss: Boolean = false) {
) { supportFragmentManager.commitTransaction(allowStateLoss) { add(container.id, fragment) }
supportFragmentManager.commitTransaction(allowStateLoss) { add(frameId, fragment) }
} }
fun <T : Fragment> AppCompatActivity.addFragment( fun <T : Fragment> AppCompatActivity.addFragment(
frameId: Int, container: ViewGroup,
fragmentClass: Class<T>, fragmentClass: Class<T>,
params: Parcelable? = null, params: Parcelable? = null,
tag: String? = null, tag: String? = null,
allowStateLoss: Boolean = false allowStateLoss: Boolean = false) {
) {
supportFragmentManager.commitTransaction(allowStateLoss) { supportFragmentManager.commitTransaction(allowStateLoss) {
add(frameId, fragmentClass, params.toMvRxBundle(), tag) add(container.id, fragmentClass, params.toMvRxBundle(), tag)
} }
} }
fun AppCompatActivity.replaceFragment( fun AppCompatActivity.replaceFragment(
frameId: Int, container: ViewGroup,
fragment: Fragment, fragment: Fragment,
tag: String? = null, tag: String? = null,
allowStateLoss: Boolean = false allowStateLoss: Boolean = false) {
) { supportFragmentManager.commitTransaction(allowStateLoss) {
supportFragmentManager.commitTransaction(allowStateLoss) { replace(frameId, fragment, tag) } replace(container.id, fragment, tag)
}
} }
fun <T : Fragment> AppCompatActivity.replaceFragment( fun <T : Fragment> AppCompatActivity.replaceFragment(
frameId: Int, container: ViewGroup,
fragmentClass: Class<T>, fragmentClass: Class<T>,
params: Parcelable? = null, params: Parcelable? = null,
tag: String? = null, tag: String? = null,
allowStateLoss: Boolean = false allowStateLoss: Boolean = false) {
) {
supportFragmentManager.commitTransaction(allowStateLoss) { supportFragmentManager.commitTransaction(allowStateLoss) {
replace(frameId, fragmentClass, params.toMvRxBundle(), tag) replace(container.id, fragmentClass, params.toMvRxBundle(), tag)
} }
} }
fun AppCompatActivity.addFragmentToBackstack( fun AppCompatActivity.addFragmentToBackstack(
frameId: Int, container: ViewGroup,
fragment: Fragment, fragment: Fragment,
tag: String? = null, tag: String? = null,
allowStateLoss: Boolean = false allowStateLoss: Boolean = false) {
) { supportFragmentManager.commitTransaction(allowStateLoss) {
supportFragmentManager.commitTransaction(allowStateLoss) { replace(frameId, fragment).addToBackStack(tag) } replace(container.id, fragment).addToBackStack(tag)
}
} }
fun <T : Fragment> AppCompatActivity.addFragmentToBackstack( fun <T : Fragment> AppCompatActivity.addFragmentToBackstack(
frameId: Int, container: ViewGroup,
fragmentClass: Class<T>, fragmentClass: Class<T>,
params: Parcelable? = null, params: Parcelable? = null,
tag: String? = null, tag: String? = null,
@ -91,7 +93,7 @@ fun <T : Fragment> AppCompatActivity.addFragmentToBackstack(
option: ((FragmentTransaction) -> Unit)? = null) { option: ((FragmentTransaction) -> Unit)? = null) {
supportFragmentManager.commitTransaction(allowStateLoss) { supportFragmentManager.commitTransaction(allowStateLoss) {
option?.invoke(this) option?.invoke(this)
replace(frameId, fragmentClass, params.toMvRxBundle(), tag).addToBackStack(tag) replace(container.id, fragmentClass, params.toMvRxBundle(), tag).addToBackStack(tag)
} }
} }

View file

@ -21,7 +21,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -61,7 +60,7 @@ class AttachmentsPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(),
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
val fragmentArgs: AttachmentsPreviewArgs = intent?.extras?.getParcelable(EXTRA_FRAGMENT_ARGS) ?: return val fragmentArgs: AttachmentsPreviewArgs = intent?.extras?.getParcelable(EXTRA_FRAGMENT_ARGS) ?: return
addFragment(R.id.simpleFragmentContainer, AttachmentsPreviewFragment::class.java, fragmentArgs) addFragment(views.simpleFragmentContainer, AttachmentsPreviewFragment::class.java, fragmentArgs)
} }
} }

View file

@ -79,7 +79,7 @@ class ReAuthActivity : SimpleFragmentActivity() {
// so we assume that after the user close the tab we return success and let caller retry the UIA flow :/ // so we assume that after the user close the tab we return success and let caller retry the UIA flow :/
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.container, views.container,
PromptFragment::class.java PromptFragment::class.java
) )
} }

View file

@ -80,7 +80,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
.launchIn(lifecycleScope) .launchIn(lifecycleScope)
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.container, views.container,
UserListFragment::class.java, UserListFragment::class.java,
UserListFragmentArgs( UserListFragmentArgs(
title = getString(R.string.fab_menu_create_chat), title = getString(R.string.fab_menu_create_chat),
@ -95,20 +95,20 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
private fun openAddByQrCode() { private fun openAddByQrCode() {
if (checkPermissions(PERMISSIONS_FOR_TAKING_PHOTO, this, permissionCameraLauncher)) { if (checkPermissions(PERMISSIONS_FOR_TAKING_PHOTO, this, permissionCameraLauncher)) {
addFragment(R.id.container, CreateDirectRoomByQrCodeFragment::class.java) addFragment(views.container, CreateDirectRoomByQrCodeFragment::class.java)
} }
} }
private fun openPhoneBook() { private fun openPhoneBook() {
// Check permission first // Check permission first
if (checkPermissions(PERMISSIONS_FOR_MEMBERS_SEARCH, this, permissionReadContactLauncher)) { if (checkPermissions(PERMISSIONS_FOR_MEMBERS_SEARCH, this, permissionReadContactLauncher)) {
addFragmentToBackstack(R.id.container, ContactsBookFragment::class.java) addFragmentToBackstack(views.container, ContactsBookFragment::class.java)
} }
} }
private val permissionReadContactLauncher = registerForPermissionsResult { allGranted, deniedPermanently -> private val permissionReadContactLauncher = registerForPermissionsResult { allGranted, deniedPermanently ->
if (allGranted) { if (allGranted) {
doOnPostResume { addFragmentToBackstack(R.id.container, ContactsBookFragment::class.java) } doOnPostResume { addFragmentToBackstack(views.container, ContactsBookFragment::class.java) }
} else if (deniedPermanently) { } else if (deniedPermanently) {
onPermissionDeniedSnackbar(R.string.permissions_denied_add_contact) onPermissionDeniedSnackbar(R.string.permissions_denied_add_contact)
} }
@ -116,7 +116,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
private val permissionCameraLauncher = registerForPermissionsResult { allGranted, deniedPermanently -> private val permissionCameraLauncher = registerForPermissionsResult { allGranted, deniedPermanently ->
if (allGranted) { if (allGranted) {
addFragment(R.id.container, CreateDirectRoomByQrCodeFragment::class.java) addFragment(views.container, CreateDirectRoomByQrCodeFragment::class.java)
} else if (deniedPermanently) { } else if (deniedPermanently) {
onPermissionDeniedSnackbar(R.string.permissions_denied_qr_code) onPermissionDeniedSnackbar(R.string.permissions_denied_qr_code)
} }

View file

@ -64,9 +64,9 @@ class KeysBackupRestoreActivity : SimpleFragmentActivity() {
val isBackupCreatedFromPassphrase = val isBackupCreatedFromPassphrase =
viewModel.keyVersionResult.value?.getAuthDataAsMegolmBackupAuthData()?.privateKeySalt != null viewModel.keyVersionResult.value?.getAuthDataAsMegolmBackupAuthData()?.privateKeySalt != null
if (isBackupCreatedFromPassphrase) { if (isBackupCreatedFromPassphrase) {
replaceFragment(R.id.container, KeysBackupRestoreFromPassphraseFragment::class.java) replaceFragment(views.container, KeysBackupRestoreFromPassphraseFragment::class.java)
} else { } else {
replaceFragment(R.id.container, KeysBackupRestoreFromKeyFragment::class.java) replaceFragment(views.container, KeysBackupRestoreFromKeyFragment::class.java)
} }
} }
} }
@ -91,13 +91,13 @@ class KeysBackupRestoreActivity : SimpleFragmentActivity() {
viewModel.navigateEvent.observeEvent(this) { uxStateEvent -> viewModel.navigateEvent.observeEvent(this) { uxStateEvent ->
when (uxStateEvent) { when (uxStateEvent) {
KeysBackupRestoreSharedViewModel.NAVIGATE_TO_RECOVER_WITH_KEY -> { KeysBackupRestoreSharedViewModel.NAVIGATE_TO_RECOVER_WITH_KEY -> {
addFragmentToBackstack(R.id.container, KeysBackupRestoreFromKeyFragment::class.java, allowStateLoss = true) addFragmentToBackstack(views.container, KeysBackupRestoreFromKeyFragment::class.java, allowStateLoss = true)
} }
KeysBackupRestoreSharedViewModel.NAVIGATE_TO_SUCCESS -> { KeysBackupRestoreSharedViewModel.NAVIGATE_TO_SUCCESS -> {
viewModel.keyVersionResult.value?.version?.let { viewModel.keyVersionResult.value?.version?.let {
KeysBackupBanner.onRecoverDoneForVersion(this, it) KeysBackupBanner.onRecoverDoneForVersion(this, it)
} }
replaceFragment(R.id.container, KeysBackupRestoreSuccessFragment::class.java, allowStateLoss = true) replaceFragment(views.container, KeysBackupRestoreSuccessFragment::class.java, allowStateLoss = true)
} }
KeysBackupRestoreSharedViewModel.NAVIGATE_TO_4S -> { KeysBackupRestoreSharedViewModel.NAVIGATE_TO_4S -> {
launch4SActivity() launch4SActivity()

View file

@ -44,7 +44,7 @@ class KeysBackupManageActivity : SimpleFragmentActivity() {
override fun initUiAndData() { override fun initUiAndData() {
super.initUiAndData() super.initUiAndData()
if (supportFragmentManager.fragments.isEmpty()) { if (supportFragmentManager.fragments.isEmpty()) {
replaceFragment(R.id.container, KeysBackupSettingsFragment::class.java) replaceFragment(views.container, KeysBackupSettingsFragment::class.java)
viewModel.handle(KeyBackupSettingsAction.Init) viewModel.handle(KeyBackupSettingsAction.Init)
} }

View file

@ -54,7 +54,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
override fun initUiAndData() { override fun initUiAndData() {
super.initUiAndData() super.initUiAndData()
if (isFirstCreation()) { if (isFirstCreation()) {
replaceFragment(R.id.container, KeysBackupSetupStep1Fragment::class.java) replaceFragment(views.container, KeysBackupSetupStep1Fragment::class.java)
} }
viewModel = viewModelProvider.get(KeysBackupSetupSharedViewModel::class.java) viewModel = viewModelProvider.get(KeysBackupSetupSharedViewModel::class.java)
@ -80,11 +80,11 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
when (uxStateEvent) { when (uxStateEvent) {
KeysBackupSetupSharedViewModel.NAVIGATE_TO_STEP_2 -> { KeysBackupSetupSharedViewModel.NAVIGATE_TO_STEP_2 -> {
supportFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
replaceFragment(R.id.container, KeysBackupSetupStep2Fragment::class.java) replaceFragment(views.container, KeysBackupSetupStep2Fragment::class.java)
} }
KeysBackupSetupSharedViewModel.NAVIGATE_TO_STEP_3 -> { KeysBackupSetupSharedViewModel.NAVIGATE_TO_STEP_3 -> {
supportFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
replaceFragment(R.id.container, KeysBackupSetupStep3Fragment::class.java) replaceFragment(views.container, KeysBackupSetupStep3Fragment::class.java)
} }
KeysBackupSetupSharedViewModel.NAVIGATE_FINISH -> { KeysBackupSetupSharedViewModel.NAVIGATE_FINISH -> {
val resultIntent = Intent() val resultIntent = Intent()

View file

@ -31,7 +31,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R import im.vector.app.R
import im.vector.app.core.error.ErrorFormatter import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.extensions.commitTransaction import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.SimpleFragmentActivity import im.vector.app.core.platform.SimpleFragmentActivity
import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment
import im.vector.app.features.crypto.recover.SetupMode import im.vector.app.features.crypto.recover.SetupMode
@ -84,7 +84,7 @@ class SharedSecureStorageActivity :
SharedSecureStorageViewState.Step.ResetAll -> SharedSecuredStorageResetAllFragment::class SharedSecureStorageViewState.Step.ResetAll -> SharedSecuredStorageResetAllFragment::class
} }
showFragment(fragment, Bundle()) showFragment(fragment)
} }
private fun observeViewEvents(it: SharedSecureStorageViewEvent?) { private fun observeViewEvents(it: SharedSecureStorageViewEvent?) {
@ -131,15 +131,14 @@ class SharedSecureStorageActivity :
} }
} }
private fun showFragment(fragmentClass: KClass<out Fragment>, bundle: Bundle) { private fun showFragment(fragmentClass: KClass<out Fragment>) {
if (supportFragmentManager.findFragmentByTag(fragmentClass.simpleName) == null) { if (supportFragmentManager.findFragmentByTag(fragmentClass.simpleName) == null) {
supportFragmentManager.commitTransaction { replaceFragment(
replace(R.id.container, views.container,
fragmentClass.java, fragmentClass.java,
bundle, null,
fragmentClass.simpleName fragmentClass.simpleName
) )
}
} }
} }

View file

@ -91,7 +91,7 @@ class RoomDevToolActivity : SimpleFragmentActivity(), FragmentManager.OnBackStac
val classJava = RoomDevToolFragment::class.java val classJava = RoomDevToolFragment::class.java
val tag = classJava.name val tag = classJava.name
if (supportFragmentManager.findFragmentByTag(tag) == null) { if (supportFragmentManager.findFragmentByTag(tag) == null) {
replaceFragment(R.id.container, RoomDevToolFragment::class.java) replaceFragment(views.container, RoomDevToolFragment::class.java)
} else { } else {
supportFragmentManager.popBackStack() supportFragmentManager.popBackStack()
} }
@ -155,14 +155,14 @@ class RoomDevToolActivity : SimpleFragmentActivity(), FragmentManager.OnBackStac
if (supportFragmentManager.findFragmentByTag(tag) == null) { if (supportFragmentManager.findFragmentByTag(tag) == null) {
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) .setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
.replace(R.id.container, fragment, tag) .replace(views.container.id, fragment, tag)
.addToBackStack(tag) .addToBackStack(tag)
.commit() .commit()
} else { } else {
if (!supportFragmentManager.popBackStackImmediate(tag, 0)) { if (!supportFragmentManager.popBackStackImmediate(tag, 0)) {
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) .setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
.replace(R.id.container, fragment, tag) .replace(views.container.id, fragment, tag)
.addToBackStack(tag) .addToBackStack(tag)
.commit() .commit()
} }

View file

@ -175,8 +175,8 @@ class HomeActivity :
sharedActionViewModel = viewModelProvider.get(HomeSharedActionViewModel::class.java) sharedActionViewModel = viewModelProvider.get(HomeSharedActionViewModel::class.java)
views.drawerLayout.addDrawerListener(drawerListener) views.drawerLayout.addDrawerListener(drawerListener)
if (isFirstCreation()) { if (isFirstCreation()) {
replaceFragment(R.id.homeDetailFragmentContainer, HomeDetailFragment::class.java) replaceFragment(views.homeDetailFragmentContainer, HomeDetailFragment::class.java)
replaceFragment(R.id.homeDrawerFragmentContainer, HomeDrawerFragment::class.java) replaceFragment(views.homeDrawerFragmentContainer, HomeDrawerFragment::class.java)
} }
sharedActionViewModel sharedActionViewModel
@ -192,7 +192,7 @@ class HomeActivity :
// When switching from space to group or group to space, we need to reload the fragment // When switching from space to group or group to space, we need to reload the fragment
// To be removed when dropping legacy groups // To be removed when dropping legacy groups
if (sharedAction.clearFragment) { if (sharedAction.clearFragment) {
replaceFragment(R.id.homeDetailFragmentContainer, HomeDetailFragment::class.java, allowStateLoss = true) replaceFragment(views.homeDetailFragmentContainer, HomeDetailFragment::class.java, allowStateLoss = true)
} else { } else {
// nop // nop
} }

View file

@ -29,7 +29,6 @@ import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel import com.airbnb.mvrx.viewModel
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.endKeepScreenOn import im.vector.app.core.extensions.endKeepScreenOn
import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hideKeyboard
import im.vector.app.core.extensions.keepScreenOn import im.vector.app.core.extensions.keepScreenOn
@ -108,8 +107,8 @@ class RoomDetailActivity :
currentRoomId = roomDetailArgs.roomId currentRoomId = roomDetailArgs.roomId
if (isFirstCreation()) { if (isFirstCreation()) {
replaceFragment(R.id.roomDetailContainer, RoomDetailFragment::class.java, roomDetailArgs) replaceFragment(views.roomDetailContainer, RoomDetailFragment::class.java, roomDetailArgs)
replaceFragment(R.id.roomDetailDrawerContainer, BreadcrumbsFragment::class.java) replaceFragment(views.roomDetailDrawerContainer, BreadcrumbsFragment::class.java)
} }
sharedActionViewModel = viewModelProvider.get(RoomDetailSharedActionViewModel::class.java) sharedActionViewModel = viewModelProvider.get(RoomDetailSharedActionViewModel::class.java)
@ -146,7 +145,7 @@ class RoomDetailActivity :
if (currentRoomId != switchToRoom.roomId) { if (currentRoomId != switchToRoom.roomId) {
currentRoomId = switchToRoom.roomId currentRoomId = switchToRoom.roomId
requireActiveMembershipViewModel.handle(RequireActiveMembershipAction.ChangeRoom(switchToRoom.roomId)) requireActiveMembershipViewModel.handle(RequireActiveMembershipAction.ChangeRoom(switchToRoom.roomId))
replaceFragment(R.id.roomDetailContainer, RoomDetailFragment::class.java, RoomDetailArgs(switchToRoom.roomId)) replaceFragment(views.roomDetailContainer, RoomDetailFragment::class.java, RoomDetailArgs(switchToRoom.roomId))
} }
} }

View file

@ -22,7 +22,6 @@ import android.os.Bundle
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import com.airbnb.mvrx.Mavericks import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySearchBinding import im.vector.app.databinding.ActivitySearchBinding
@ -47,7 +46,7 @@ class SearchActivity : VectorBaseActivity<ActivitySearchBinding>() {
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
val fragmentArgs: SearchArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return val fragmentArgs: SearchArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
addFragment(R.id.searchFragmentContainer, SearchFragment::class.java, fragmentArgs, FRAGMENT_TAG) addFragment(views.searchFragmentContainer, SearchFragment::class.java, fragmentArgs, FRAGMENT_TAG)
} }
views.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { views.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean { override fun onQueryTextSubmit(query: String): Boolean {

View file

@ -21,7 +21,6 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivityFilteredRoomsBinding import im.vector.app.databinding.ActivityFilteredRoomsBinding
@ -46,7 +45,7 @@ class FilteredRoomsActivity : VectorBaseActivity<ActivityFilteredRoomsBinding>()
configureToolbar(views.filteredRoomsToolbar) configureToolbar(views.filteredRoomsToolbar)
if (isFirstCreation()) { if (isFirstCreation()) {
val params = RoomListParams(RoomListDisplayMode.FILTERED) val params = RoomListParams(RoomListDisplayMode.FILTERED)
replaceFragment(R.id.filteredRoomsFragmentContainer, RoomListFragment::class.java, params, FRAGMENT_TAG) replaceFragment(views.filteredRoomsFragmentContainer, RoomListFragment::class.java, params, FRAGMENT_TAG)
} }
views.filteredRoomsSearchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { views.filteredRoomsSearchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean { override fun onQueryTextSubmit(query: String): Boolean {

View file

@ -81,7 +81,7 @@ class InviteUsersToRoomActivity : SimpleFragmentActivity() {
.launchIn(lifecycleScope) .launchIn(lifecycleScope)
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.container, views.container,
UserListFragment::class.java, UserListFragment::class.java,
UserListFragmentArgs( UserListFragmentArgs(
title = getString(R.string.invite_users_to_room_title), title = getString(R.string.invite_users_to_room_title),
@ -104,13 +104,13 @@ class InviteUsersToRoomActivity : SimpleFragmentActivity() {
private fun openPhoneBook() { private fun openPhoneBook() {
// Check permission first // Check permission first
if (checkPermissions(PERMISSIONS_FOR_MEMBERS_SEARCH, this, permissionContactLauncher)) { if (checkPermissions(PERMISSIONS_FOR_MEMBERS_SEARCH, this, permissionContactLauncher)) {
addFragmentToBackstack(R.id.container, ContactsBookFragment::class.java) addFragmentToBackstack(views.container, ContactsBookFragment::class.java)
} }
} }
private val permissionContactLauncher = registerForPermissionsResult { allGranted, deniedPermanently -> private val permissionContactLauncher = registerForPermissionsResult { allGranted, deniedPermanently ->
if (allGranted) { if (allGranted) {
doOnPostResume { addFragmentToBackstack(R.id.container, ContactsBookFragment::class.java) } doOnPostResume { addFragmentToBackstack(views.container, ContactsBookFragment::class.java) }
} else if (deniedPermanently) { } else if (deniedPermanently) {
onPermissionDeniedSnackbar(R.string.permissions_denied_add_contact) onPermissionDeniedSnackbar(R.string.permissions_denied_add_contact)
} }

View file

@ -64,7 +64,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
private val popExitAnim = R.anim.exit_fade_out private val popExitAnim = R.anim.exit_fade_out
private val topFragment: Fragment? private val topFragment: Fragment?
get() = supportFragmentManager.findFragmentById(R.id.loginFragmentContainer) get() = supportFragmentManager.findFragmentById(views.loginFragmentContainer.id)
private val commonOption: (FragmentTransaction) -> Unit = { ft -> private val commonOption: (FragmentTransaction) -> Unit = { ft ->
// Find the loginLogo on the current Fragment, this should not return null // Find the loginLogo on the current Fragment, this should not return null
@ -100,7 +100,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
} }
protected open fun addFirstFragment() { protected open fun addFirstFragment() {
addFragment(R.id.loginFragmentContainer, LoginSplashFragment::class.java) addFragment(views.loginFragmentContainer, LoginSplashFragment::class.java)
} }
private fun handleLoginViewEvents(loginViewEvents: LoginViewEvents) { private fun handleLoginViewEvents(loginViewEvents: LoginViewEvents) {
@ -118,7 +118,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
// First ask for login and password // First ask for login and password
// I add a tag to indicate that this fragment is a registration stage. // I add a tag to indicate that this fragment is a registration stage.
// This way it will be automatically popped in when starting the next registration stage // This way it will be automatically popped in when starting the next registration stage
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragment::class.java, LoginFragment::class.java,
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption option = commonOption
@ -135,7 +135,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
Unit Unit
} }
is LoginViewEvents.OpenServerSelection -> is LoginViewEvents.OpenServerSelection ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginServerSelectionFragment::class.java, LoginServerSelectionFragment::class.java,
option = { ft -> option = { ft ->
findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") }
@ -149,23 +149,23 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
is LoginViewEvents.OnServerSelectionDone -> onServerSelectionDone(loginViewEvents) is LoginViewEvents.OnServerSelectionDone -> onServerSelectionDone(loginViewEvents)
is LoginViewEvents.OnSignModeSelected -> onSignModeSelected(loginViewEvents) is LoginViewEvents.OnSignModeSelected -> onSignModeSelected(loginViewEvents)
is LoginViewEvents.OnLoginFlowRetrieved -> is LoginViewEvents.OnLoginFlowRetrieved ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginSignUpSignInSelectionFragment::class.java, LoginSignUpSignInSelectionFragment::class.java,
option = commonOption) option = commonOption)
is LoginViewEvents.OnWebLoginError -> onWebLoginError(loginViewEvents) is LoginViewEvents.OnWebLoginError -> onWebLoginError(loginViewEvents)
is LoginViewEvents.OnForgetPasswordClicked -> is LoginViewEvents.OnForgetPasswordClicked ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordFragment::class.java, LoginResetPasswordFragment::class.java,
option = commonOption) option = commonOption)
is LoginViewEvents.OnResetPasswordSendThreePidDone -> { is LoginViewEvents.OnResetPasswordSendThreePidDone -> {
supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordMailConfirmationFragment::class.java, LoginResetPasswordMailConfirmationFragment::class.java,
option = commonOption) option = commonOption)
} }
is LoginViewEvents.OnResetPasswordMailConfirmationSuccess -> { is LoginViewEvents.OnResetPasswordMailConfirmationSuccess -> {
supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordSuccessFragment::class.java, LoginResetPasswordSuccessFragment::class.java,
option = commonOption) option = commonOption)
} }
@ -176,7 +176,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
is LoginViewEvents.OnSendEmailSuccess -> { is LoginViewEvents.OnSendEmailSuccess -> {
// Pop the enter email Fragment // Pop the enter email Fragment
supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWaitForEmailFragment::class.java, LoginWaitForEmailFragment::class.java,
LoginWaitForEmailFragmentArgument(loginViewEvents.email), LoginWaitForEmailFragmentArgument(loginViewEvents.email),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
@ -185,7 +185,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
is LoginViewEvents.OnSendMsisdnSuccess -> { is LoginViewEvents.OnSendMsisdnSuccess -> {
// Pop the enter Msisdn Fragment // Pop the enter Msisdn Fragment
supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment::class.java, LoginGenericTextInputFormFragment::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.ConfirmMsisdn, true, loginViewEvents.msisdn), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.ConfirmMsisdn, true, loginViewEvents.msisdn),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
@ -229,7 +229,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
when (loginViewEvents.serverType) { when (loginViewEvents.serverType) {
ServerType.MatrixOrg -> Unit // In this case, we wait for the login flow ServerType.MatrixOrg -> Unit // In this case, we wait for the login flow
ServerType.EMS, ServerType.EMS,
ServerType.Other -> addFragmentToBackstack(R.id.loginFragmentContainer, ServerType.Other -> addFragmentToBackstack(views.loginFragmentContainer,
LoginServerUrlFormFragment::class.java, LoginServerUrlFormFragment::class.java,
option = commonOption) option = commonOption)
ServerType.Unknown -> Unit /* Should not happen */ ServerType.Unknown -> Unit /* Should not happen */
@ -249,14 +249,14 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
LoginMode.Unknown, LoginMode.Unknown,
is LoginMode.Sso -> error("Developer error") is LoginMode.Sso -> error("Developer error")
is LoginMode.SsoAndPassword, is LoginMode.SsoAndPassword,
LoginMode.Password -> addFragmentToBackstack(R.id.loginFragmentContainer, LoginMode.Password -> addFragmentToBackstack(views.loginFragmentContainer,
LoginFragment::class.java, LoginFragment::class.java,
tag = FRAGMENT_LOGIN_TAG, tag = FRAGMENT_LOGIN_TAG,
option = commonOption) option = commonOption)
LoginMode.Unsupported -> onLoginModeNotSupported(state.loginModeSupportedTypes) LoginMode.Unsupported -> onLoginModeNotSupported(state.loginModeSupportedTypes)
}.exhaustive }.exhaustive
} }
SignMode.SignInWithMatrixId -> addFragmentToBackstack(R.id.loginFragmentContainer, SignMode.SignInWithMatrixId -> addFragmentToBackstack(views.loginFragmentContainer,
LoginFragment::class.java, LoginFragment::class.java,
tag = FRAGMENT_LOGIN_TAG, tag = FRAGMENT_LOGIN_TAG,
option = commonOption) option = commonOption)
@ -279,7 +279,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
.setTitle(R.string.app_name) .setTitle(R.string.app_name)
.setMessage(getString(R.string.login_registration_not_supported)) .setMessage(getString(R.string.login_registration_not_supported))
.setPositiveButton(R.string.yes) { _, _ -> .setPositiveButton(R.string.yes) { _, _ ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWebFragment::class.java, LoginWebFragment::class.java,
option = commonOption) option = commonOption)
} }
@ -292,7 +292,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
.setTitle(R.string.app_name) .setTitle(R.string.app_name)
.setMessage(getString(R.string.login_mode_not_supported, supportedTypes.joinToString { "'$it'" })) .setMessage(getString(R.string.login_mode_not_supported, supportedTypes.joinToString { "'$it'" }))
.setPositiveButton(R.string.yes) { _, _ -> .setPositiveButton(R.string.yes) { _, _ ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWebFragment::class.java, LoginWebFragment::class.java,
option = commonOption) option = commonOption)
} }
@ -322,22 +322,22 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE)
when (stage) { when (stage) {
is Stage.ReCaptcha -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.ReCaptcha -> addFragmentToBackstack(views.loginFragmentContainer,
LoginCaptchaFragment::class.java, LoginCaptchaFragment::class.java,
LoginCaptchaFragmentArgument(stage.publicKey), LoginCaptchaFragmentArgument(stage.publicKey),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Email -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Email -> addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment::class.java, LoginGenericTextInputFormFragment::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetEmail, stage.mandatory), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetEmail, stage.mandatory),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Msisdn -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Msisdn -> addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment::class.java, LoginGenericTextInputFormFragment::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetMsisdn, stage.mandatory), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetMsisdn, stage.mandatory),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Terms -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Terms -> addFragmentToBackstack(views.loginFragmentContainer,
LoginTermsFragment::class.java, LoginTermsFragment::class.java,
LoginTermsFragmentArgument(stage.policies.toLocalizedLoginTerms(getString(R.string.resources_language))), LoginTermsFragmentArgument(stage.policies.toLocalizedLoginTerms(getString(R.string.resources_language))),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,

View file

@ -71,7 +71,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
private val popExitAnim = R.anim.exit_fade_out private val popExitAnim = R.anim.exit_fade_out
private val topFragment: Fragment? private val topFragment: Fragment?
get() = supportFragmentManager.findFragmentById(R.id.loginFragmentContainer) get() = supportFragmentManager.findFragmentById(views.loginFragmentContainer.id)
private val commonOption: (FragmentTransaction) -> Unit = { ft -> private val commonOption: (FragmentTransaction) -> Unit = { ft ->
// Find the loginLogo on the current Fragment, this should not return null // Find the loginLogo on the current Fragment, this should not return null
@ -108,7 +108,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
} }
protected open fun addFirstFragment() { protected open fun addFirstFragment() {
addFragment(R.id.loginFragmentContainer, LoginSplashSignUpSignInSelectionFragment2::class.java) addFragment(views.loginFragmentContainer, LoginSplashSignUpSignInSelectionFragment2::class.java)
} }
private fun handleLoginViewEvents(event: LoginViewEvents2) { private fun handleLoginViewEvents(event: LoginViewEvents2) {
@ -127,7 +127,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
// First ask for login and password // First ask for login and password
// I add a tag to indicate that this fragment is a registration stage. // I add a tag to indicate that this fragment is a registration stage.
// This way it will be automatically popped in when starting the next registration stage // This way it will be automatically popped in when starting the next registration stage
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragment2::class.java, LoginFragment2::class.java,
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption option = commonOption
@ -146,7 +146,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
Unit Unit
} }
is LoginViewEvents2.OpenServerSelection -> is LoginViewEvents2.OpenServerSelection ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginServerSelectionFragment2::class.java, LoginServerSelectionFragment2::class.java,
option = { ft -> option = { ft ->
findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") }
@ -158,12 +158,12 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
// ft.setCustomAnimations(enterAnim, exitAnim, popEnterAnim, popExitAnim) // ft.setCustomAnimations(enterAnim, exitAnim, popEnterAnim, popExitAnim)
}) })
is LoginViewEvents2.OpenHomeServerUrlFormScreen -> { is LoginViewEvents2.OpenHomeServerUrlFormScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginServerUrlFormFragment2::class.java, LoginServerUrlFormFragment2::class.java,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OpenSignInEnterIdentifierScreen -> { is LoginViewEvents2.OpenSignInEnterIdentifierScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragmentSigninUsername2::class.java, LoginFragmentSigninUsername2::class.java,
option = { ft -> option = { ft ->
findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } findViewById<View?>(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") }
@ -176,24 +176,24 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
}) })
} }
is LoginViewEvents2.OpenSsoOnlyScreen -> { is LoginViewEvents2.OpenSsoOnlyScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginSsoOnlyFragment2::class.java, LoginSsoOnlyFragment2::class.java,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OnWebLoginError -> onWebLoginError(event) is LoginViewEvents2.OnWebLoginError -> onWebLoginError(event)
is LoginViewEvents2.OpenResetPasswordScreen -> is LoginViewEvents2.OpenResetPasswordScreen ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordFragment2::class.java, LoginResetPasswordFragment2::class.java,
option = commonOption) option = commonOption)
is LoginViewEvents2.OnResetPasswordSendThreePidDone -> { is LoginViewEvents2.OnResetPasswordSendThreePidDone -> {
supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordMailConfirmationFragment2::class.java, LoginResetPasswordMailConfirmationFragment2::class.java,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OnResetPasswordMailConfirmationSuccess -> { is LoginViewEvents2.OnResetPasswordMailConfirmationSuccess -> {
supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE)
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginResetPasswordSuccessFragment2::class.java, LoginResetPasswordSuccessFragment2::class.java,
option = commonOption) option = commonOption)
} }
@ -202,37 +202,37 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_LOGIN_TAG, POP_BACK_STACK_EXCLUSIVE)
} }
is LoginViewEvents2.OnSendEmailSuccess -> is LoginViewEvents2.OnSendEmailSuccess ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWaitForEmailFragment2::class.java, LoginWaitForEmailFragment2::class.java,
LoginWaitForEmailFragmentArgument(event.email), LoginWaitForEmailFragmentArgument(event.email),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is LoginViewEvents2.OpenSigninPasswordScreen -> { is LoginViewEvents2.OpenSigninPasswordScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragmentSigninPassword2::class.java, LoginFragmentSigninPassword2::class.java,
tag = FRAGMENT_LOGIN_TAG, tag = FRAGMENT_LOGIN_TAG,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OpenSignupPasswordScreen -> { is LoginViewEvents2.OpenSignupPasswordScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragmentSignupPassword2::class.java, LoginFragmentSignupPassword2::class.java,
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OpenSignUpChooseUsernameScreen -> { is LoginViewEvents2.OpenSignUpChooseUsernameScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragmentSignupUsername2::class.java, LoginFragmentSignupUsername2::class.java,
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OpenSignInWithAnythingScreen -> { is LoginViewEvents2.OpenSignInWithAnythingScreen -> {
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginFragmentToAny2::class.java, LoginFragmentToAny2::class.java,
tag = FRAGMENT_LOGIN_TAG, tag = FRAGMENT_LOGIN_TAG,
option = commonOption) option = commonOption)
} }
is LoginViewEvents2.OnSendMsisdnSuccess -> is LoginViewEvents2.OnSendMsisdnSuccess ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment2::class.java, LoginGenericTextInputFormFragment2::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.ConfirmMsisdn, true, event.msisdn), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.ConfirmMsisdn, true, event.msisdn),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
@ -257,7 +257,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
if (event.newAccount) { if (event.newAccount) {
// Propose to set avatar and display name // Propose to set avatar and display name
// Back on this Fragment will finish the Activity // Back on this Fragment will finish the Activity
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
AccountCreatedFragment::class.java, AccountCreatedFragment::class.java,
option = commonOption) option = commonOption)
} else { } else {
@ -312,7 +312,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
.setTitle(R.string.app_name) .setTitle(R.string.app_name)
.setMessage(getString(R.string.login_registration_not_supported)) .setMessage(getString(R.string.login_registration_not_supported))
.setPositiveButton(R.string.yes) { _, _ -> .setPositiveButton(R.string.yes) { _, _ ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWebFragment2::class.java, LoginWebFragment2::class.java,
option = commonOption) option = commonOption)
} }
@ -325,7 +325,7 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
.setTitle(R.string.app_name) .setTitle(R.string.app_name)
.setMessage(getString(R.string.login_mode_not_supported, supportedTypes.joinToString { "'$it'" })) .setMessage(getString(R.string.login_mode_not_supported, supportedTypes.joinToString { "'$it'" }))
.setPositiveButton(R.string.yes) { _, _ -> .setPositiveButton(R.string.yes) { _, _ ->
addFragmentToBackstack(R.id.loginFragmentContainer, addFragmentToBackstack(views.loginFragmentContainer,
LoginWebFragment2::class.java, LoginWebFragment2::class.java,
option = commonOption) option = commonOption)
} }
@ -355,22 +355,22 @@ open class LoginActivity2 : VectorBaseActivity<ActivityLoginBinding>(), ToolbarC
supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE) supportFragmentManager.popBackStack(FRAGMENT_REGISTRATION_STAGE_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE)
when (stage) { when (stage) {
is Stage.ReCaptcha -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.ReCaptcha -> addFragmentToBackstack(views.loginFragmentContainer,
LoginCaptchaFragment2::class.java, LoginCaptchaFragment2::class.java,
LoginCaptchaFragmentArgument(stage.publicKey), LoginCaptchaFragmentArgument(stage.publicKey),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Email -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Email -> addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment2::class.java, LoginGenericTextInputFormFragment2::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetEmail, stage.mandatory), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetEmail, stage.mandatory),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Msisdn -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Msisdn -> addFragmentToBackstack(views.loginFragmentContainer,
LoginGenericTextInputFormFragment2::class.java, LoginGenericTextInputFormFragment2::class.java,
LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetMsisdn, stage.mandatory), LoginGenericTextInputFormFragmentArgument(TextInputFormFragmentMode.SetMsisdn, stage.mandatory),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,
option = commonOption) option = commonOption)
is Stage.Terms -> addFragmentToBackstack(R.id.loginFragmentContainer, is Stage.Terms -> addFragmentToBackstack(views.loginFragmentContainer,
LoginTermsFragment2::class.java, LoginTermsFragment2::class.java,
LoginTermsFragmentArgument(stage.policies.toLocalizedLoginTerms(getString(R.string.resources_language))), LoginTermsFragmentArgument(stage.policies.toLocalizedLoginTerms(getString(R.string.resources_language))),
tag = FRAGMENT_REGISTRATION_STAGE_TAG, tag = FRAGMENT_REGISTRATION_STAGE_TAG,

View file

@ -21,7 +21,6 @@ import android.content.Intent
import com.airbnb.mvrx.Mavericks import com.airbnb.mvrx.Mavericks
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -45,7 +44,7 @@ class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigur
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
val fragmentArgs: PinArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return val fragmentArgs: PinArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
addFragment(R.id.simpleFragmentContainer, PinFragment::class.java, fragmentArgs) addFragment(views.simpleFragmentContainer, PinFragment::class.java, fragmentArgs)
} }
} }

View file

@ -21,7 +21,6 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.SimpleFragmentActivity import im.vector.app.core.platform.SimpleFragmentActivity
@ -36,7 +35,7 @@ class CreatePollActivity : SimpleFragmentActivity() {
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.container, views.container,
CreatePollFragment::class.java, CreatePollFragment::class.java,
createPollArgs createPollArgs
) )

View file

@ -24,7 +24,6 @@ import com.google.zxing.BarcodeFormat
import com.google.zxing.Result import com.google.zxing.Result
import com.google.zxing.ResultMetadataType import com.google.zxing.ResultMetadataType
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleBinding import im.vector.app.databinding.ActivitySimpleBinding
@ -39,7 +38,7 @@ class QrCodeScannerActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
if (isFirstCreation()) { if (isFirstCreation()) {
replaceFragment(R.id.simpleFragmentContainer, QrCodeScannerFragment::class.java) replaceFragment(views.simpleFragmentContainer, QrCodeScannerFragment::class.java)
} }
} }

View file

@ -23,7 +23,6 @@ import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.viewModel import com.airbnb.mvrx.viewModel
import com.airbnb.mvrx.withState import com.airbnb.mvrx.withState
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.extensions.addFragmentToBackstack import im.vector.app.core.extensions.addFragmentToBackstack
import im.vector.app.core.extensions.popBackstack import im.vector.app.core.extensions.popBackstack
@ -66,14 +65,14 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matri
// Transmit the filter to the CreateRoomFragment // Transmit the filter to the CreateRoomFragment
withState(roomDirectoryViewModel) { withState(roomDirectoryViewModel) {
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
CreateRoomFragment::class.java, CreateRoomFragment::class.java,
CreateRoomArgs(it.currentFilter) CreateRoomArgs(it.currentFilter)
) )
} }
} }
is RoomDirectorySharedAction.ChangeProtocol -> is RoomDirectorySharedAction.ChangeProtocol ->
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomDirectoryPickerFragment::class.java) addFragmentToBackstack(views.simpleFragmentContainer, RoomDirectoryPickerFragment::class.java)
is RoomDirectorySharedAction.Close -> finish() is RoomDirectorySharedAction.Close -> finish()
} }
} }
@ -82,7 +81,7 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matri
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment(R.id.simpleFragmentContainer, PublicRoomsFragment::class.java) addFragment(views.simpleFragmentContainer, PublicRoomsFragment::class.java)
} }
} }

View file

@ -22,7 +22,6 @@ import android.os.Bundle
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -51,7 +50,7 @@ class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarC
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
CreateRoomFragment::class.java, CreateRoomFragment::class.java,
CreateRoomArgs( CreateRoomArgs(
intent?.getStringExtra(INITIAL_NAME) ?: "", intent?.getStringExtra(INITIAL_NAME) ?: "",

View file

@ -21,7 +21,6 @@ import android.content.Intent
import android.os.Parcelable import android.os.Parcelable
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -94,9 +93,9 @@ class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(), Toolbar
// TODO Room preview: Note: M does not recommend to use /events anymore, so for now we just display the room preview // TODO Room preview: Note: M does not recommend to use /events anymore, so for now we just display the room preview
// TODO the same way if it was not world readable // TODO the same way if it was not world readable
Timber.d("just display the room preview the same way if it was not world readable") Timber.d("just display the room preview the same way if it was not world readable")
addFragment(R.id.simpleFragmentContainer, RoomPreviewNoPreviewFragment::class.java, args) addFragment(views.simpleFragmentContainer, RoomPreviewNoPreviewFragment::class.java, args)
} else { } else {
addFragment(R.id.simpleFragmentContainer, RoomPreviewNoPreviewFragment::class.java, args) addFragment(views.simpleFragmentContainer, RoomPreviewNoPreviewFragment::class.java, args)
} }
} }
} }

View file

@ -24,7 +24,6 @@ import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel import com.airbnb.mvrx.viewModel
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -54,7 +53,7 @@ class RoomMemberProfileActivity :
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
val fragmentArgs: RoomMemberProfileArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return val fragmentArgs: RoomMemberProfileArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
addFragment(R.id.simpleFragmentContainer, RoomMemberProfileFragment::class.java, fragmentArgs) addFragment(views.simpleFragmentContainer, RoomMemberProfileFragment::class.java, fragmentArgs)
} }
requireActiveMembershipViewModel.observeViewEvents { requireActiveMembershipViewModel.observeViewEvents {

View file

@ -25,7 +25,6 @@ import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel import com.airbnb.mvrx.viewModel
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.extensions.addFragmentToBackstack import im.vector.app.core.extensions.addFragmentToBackstack
import im.vector.app.core.extensions.exhaustive import im.vector.app.core.extensions.exhaustive
@ -86,13 +85,13 @@ class RoomProfileActivity :
if (isFirstCreation()) { if (isFirstCreation()) {
when (intent?.extras?.getInt(EXTRA_DIRECT_ACCESS, EXTRA_DIRECT_ACCESS_ROOM_ROOT)) { when (intent?.extras?.getInt(EXTRA_DIRECT_ACCESS, EXTRA_DIRECT_ACCESS_ROOM_ROOT)) {
EXTRA_DIRECT_ACCESS_ROOM_SETTINGS -> { EXTRA_DIRECT_ACCESS_ROOM_SETTINGS -> {
addFragment(R.id.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs) addFragment(views.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs)
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomSettingsFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomSettingsFragment::class.java, roomProfileArgs)
} }
EXTRA_DIRECT_ACCESS_ROOM_MEMBERS -> { EXTRA_DIRECT_ACCESS_ROOM_MEMBERS -> {
addFragment(R.id.simpleFragmentContainer, RoomMemberListFragment::class.java, roomProfileArgs) addFragment(views.simpleFragmentContainer, RoomMemberListFragment::class.java, roomProfileArgs)
} }
else -> addFragment(R.id.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs) else -> addFragment(views.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs)
} }
} }
sharedActionViewModel sharedActionViewModel
@ -132,31 +131,31 @@ class RoomProfileActivity :
} }
private fun openRoomUploads() { private fun openRoomUploads() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomUploadsFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomUploadsFragment::class.java, roomProfileArgs)
} }
private fun openRoomSettings() { private fun openRoomSettings() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomSettingsFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomSettingsFragment::class.java, roomProfileArgs)
} }
private fun openRoomAlias() { private fun openRoomAlias() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomAliasFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomAliasFragment::class.java, roomProfileArgs)
} }
private fun openRoomPermissions() { private fun openRoomPermissions() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomPermissionsFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomPermissionsFragment::class.java, roomProfileArgs)
} }
private fun openRoomMembers() { private fun openRoomMembers() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomMemberListFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomMemberListFragment::class.java, roomProfileArgs)
} }
private fun openBannedRoomMembers() { private fun openBannedRoomMembers() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomBannedMemberListFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomBannedMemberListFragment::class.java, roomProfileArgs)
} }
private fun openRoomNotificationSettings() { private fun openRoomNotificationSettings() {
addFragmentToBackstack(R.id.simpleFragmentContainer, RoomNotificationSettingsFragment::class.java, roomProfileArgs) addFragmentToBackstack(views.simpleFragmentContainer, RoomNotificationSettingsFragment::class.java, roomProfileArgs)
} }
override fun configure(toolbar: MaterialToolbar) { override fun configure(toolbar: MaterialToolbar) {

View file

@ -61,7 +61,7 @@ class RoomJoinRuleActivity : VectorBaseActivity<ActivitySimpleBinding>() {
roomProfileArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return roomProfileArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment( addFragment(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
RoomJoinRuleFragment::class.java, RoomJoinRuleFragment::class.java,
roomProfileArgs roomProfileArgs
) )
@ -121,7 +121,7 @@ class RoomJoinRuleActivity : VectorBaseActivity<ActivitySimpleBinding>() {
supportFragmentManager.commitTransaction { supportFragmentManager.commitTransaction {
setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
val tag = RoomJoinRuleChooseRestrictedFragment::class.simpleName val tag = RoomJoinRuleChooseRestrictedFragment::class.simpleName
replace(R.id.simpleFragmentContainer, replace(views.simpleFragmentContainer.id,
RoomJoinRuleChooseRestrictedFragment::class.java, RoomJoinRuleChooseRestrictedFragment::class.java,
this@RoomJoinRuleActivity.roomProfileArgs.toMvRxBundle(), this@RoomJoinRuleActivity.roomProfileArgs.toMvRxBundle(),
tag tag

View file

@ -70,25 +70,25 @@ class VectorSettingsActivity : VectorBaseActivity<ActivityVectorSettingsBinding>
when (val payload = readPayload<SettingsActivityPayload>(SettingsActivityPayload.Root)) { when (val payload = readPayload<SettingsActivityPayload>(SettingsActivityPayload.Root)) {
SettingsActivityPayload.General -> SettingsActivityPayload.General ->
replaceFragment(R.id.vector_settings_page, VectorSettingsGeneralFragment::class.java, null, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, VectorSettingsGeneralFragment::class.java, null, FRAGMENT_TAG)
SettingsActivityPayload.AdvancedSettings -> SettingsActivityPayload.AdvancedSettings ->
replaceFragment(R.id.vector_settings_page, VectorSettingsAdvancedSettingsFragment::class.java, null, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, VectorSettingsAdvancedSettingsFragment::class.java, null, FRAGMENT_TAG)
SettingsActivityPayload.SecurityPrivacy -> SettingsActivityPayload.SecurityPrivacy ->
replaceFragment(R.id.vector_settings_page, VectorSettingsSecurityPrivacyFragment::class.java, null, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, VectorSettingsSecurityPrivacyFragment::class.java, null, FRAGMENT_TAG)
SettingsActivityPayload.SecurityPrivacyManageSessions -> SettingsActivityPayload.SecurityPrivacyManageSessions ->
replaceFragment(R.id.vector_settings_page, replaceFragment(views.vectorSettingsPage,
VectorSettingsDevicesFragment::class.java, VectorSettingsDevicesFragment::class.java,
null, null,
FRAGMENT_TAG) FRAGMENT_TAG)
SettingsActivityPayload.Notifications -> { SettingsActivityPayload.Notifications -> {
requestHighlightPreferenceKeyOnResume(VectorPreferences.SETTINGS_ENABLE_THIS_DEVICE_PREFERENCE_KEY) requestHighlightPreferenceKeyOnResume(VectorPreferences.SETTINGS_ENABLE_THIS_DEVICE_PREFERENCE_KEY)
replaceFragment(R.id.vector_settings_page, VectorSettingsNotificationPreferenceFragment::class.java, null, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, VectorSettingsNotificationPreferenceFragment::class.java, null, FRAGMENT_TAG)
} }
is SettingsActivityPayload.DiscoverySettings -> { is SettingsActivityPayload.DiscoverySettings -> {
replaceFragment(R.id.vector_settings_page, DiscoverySettingsFragment::class.java, payload, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, DiscoverySettingsFragment::class.java, payload, FRAGMENT_TAG)
} }
else -> else ->
replaceFragment(R.id.vector_settings_page, VectorSettingsRootFragment::class.java, null, FRAGMENT_TAG) replaceFragment(views.vectorSettingsPage, VectorSettingsRootFragment::class.java, null, FRAGMENT_TAG)
} }
} }
@ -123,7 +123,7 @@ class VectorSettingsActivity : VectorBaseActivity<ActivityVectorSettingsBinding>
// Replace the existing Fragment with the new Fragment // Replace the existing Fragment with the new Fragment
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.right_in, R.anim.fade_out, R.anim.fade_in, R.anim.right_out) .setCustomAnimations(R.anim.right_in, R.anim.fade_out, R.anim.fade_in, R.anim.right_out)
.replace(R.id.vector_settings_page, oFragment, pref.title.toString()) .replace(views.vectorSettingsPage.id, oFragment, pref.title.toString())
.addToBackStack(null) .addToBackStack(null)
.commit() .commit()
return true return true
@ -154,7 +154,7 @@ class VectorSettingsActivity : VectorBaseActivity<ActivityVectorSettingsBinding>
fun <T : Fragment> navigateTo(fragmentClass: Class<T>, arguments: Bundle? = null) { fun <T : Fragment> navigateTo(fragmentClass: Class<T>, arguments: Bundle? = null) {
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.right_in, R.anim.fade_out, R.anim.fade_in, R.anim.right_out) .setCustomAnimations(R.anim.right_in, R.anim.fade_out, R.anim.fade_in, R.anim.right_out)
.replace(R.id.vector_settings_page, fragmentClass, arguments) .replace(views.vectorSettingsPage.id, fragmentClass, arguments)
.addToBackStack(null) .addToBackStack(null)
.commit() .commit()
} }

View file

@ -18,7 +18,6 @@ package im.vector.app.features.share
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addFragment import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -33,7 +32,7 @@ class IncomingShareActivity : VectorBaseActivity<ActivitySimpleBinding>(), Toolb
override fun initUiAndData() { override fun initUiAndData() {
if (isFirstCreation()) { if (isFirstCreation()) {
addFragment(R.id.simpleFragmentContainer, IncomingShareFragment::class.java) addFragment(views.simpleFragmentContainer, IncomingShareFragment::class.java)
} }
} }

View file

@ -87,7 +87,7 @@ class SoftLogoutActivity : LoginActivity() {
} }
override fun addFirstFragment() { override fun addFirstFragment() {
replaceFragment(R.id.loginFragmentContainer, SoftLogoutFragment::class.java) replaceFragment(views.loginFragmentContainer, SoftLogoutFragment::class.java)
} }
private fun updateWithState(softLogoutViewState: SoftLogoutViewState) { private fun updateWithState(softLogoutViewState: SoftLogoutViewState) {

View file

@ -89,7 +89,7 @@ class SoftLogoutActivity2 : LoginActivity2() {
} }
override fun addFirstFragment() { override fun addFirstFragment() {
replaceFragment(R.id.loginFragmentContainer, SoftLogoutFragment::class.java) replaceFragment(views.loginFragmentContainer, SoftLogoutFragment::class.java)
} }
private fun updateWithState(softLogoutViewState: SoftLogoutViewState) { private fun updateWithState(softLogoutViewState: SoftLogoutViewState) {

View file

@ -123,7 +123,7 @@ class SpaceCreationActivity : SimpleFragmentActivity() {
val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: createFragment(fragmentClass) val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: createFragment(fragmentClass)
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) .setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
.replace(R.id.container, .replace(views.container.id,
frag, frag,
fragmentClass.name fragmentClass.name
) )

View file

@ -25,7 +25,7 @@ import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel import com.airbnb.mvrx.viewModel
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R import im.vector.app.R
import im.vector.app.core.extensions.commitTransaction import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleBinding import im.vector.app.databinding.ActivitySimpleBinding
import im.vector.app.features.matrixto.MatrixToBottomSheet import im.vector.app.features.matrixto.MatrixToBottomSheet
@ -65,17 +65,12 @@ class SpaceExploreActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matrix
supportFragmentManager.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false) supportFragmentManager.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false)
if (isFirstCreation()) { if (isFirstCreation()) {
val simpleName = SpaceDirectoryFragment::class.java.simpleName
val args = intent?.getParcelableExtra<SpaceDirectoryArgs>(Mavericks.KEY_ARG) val args = intent?.getParcelableExtra<SpaceDirectoryArgs>(Mavericks.KEY_ARG)
if (supportFragmentManager.findFragmentByTag(simpleName) == null) { replaceFragment(
supportFragmentManager.commitTransaction { views.simpleFragmentContainer,
replace(R.id.simpleFragmentContainer, SpaceDirectoryFragment::class.java,
SpaceDirectoryFragment::class.java, args
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, args) }, )
simpleName
)
}
}
} }
sharedViewModel.observeViewEvents { sharedViewModel.observeViewEvents {

View file

@ -22,8 +22,7 @@ import android.os.Bundle
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Mavericks import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.extensions.commitTransaction
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleBinding import im.vector.app.databinding.ActivitySimpleBinding
import im.vector.app.features.spaces.preview.SpacePreviewArgs import im.vector.app.features.spaces.preview.SpacePreviewArgs
@ -45,26 +44,21 @@ class SpacePreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
.stream() .stream()
.onEach { action -> .onEach { action ->
when (action) { when (action) {
SpacePreviewSharedAction.DismissAction -> finish() SpacePreviewSharedAction.DismissAction -> finish()
SpacePreviewSharedAction.ShowModalLoading -> showWaitingView() SpacePreviewSharedAction.ShowModalLoading -> showWaitingView()
SpacePreviewSharedAction.HideModalLoading -> hideWaitingView() SpacePreviewSharedAction.HideModalLoading -> hideWaitingView()
is SpacePreviewSharedAction.ShowErrorMessage -> action.error?.let { showSnackbar(it) } is SpacePreviewSharedAction.ShowErrorMessage -> action.error?.let { showSnackbar(it) }
} }
} }
.launchIn(lifecycleScope) .launchIn(lifecycleScope)
if (isFirstCreation()) { if (isFirstCreation()) {
val simpleName = SpacePreviewFragment::class.java.simpleName
val args = intent?.getParcelableExtra<SpacePreviewArgs>(Mavericks.KEY_ARG) val args = intent?.getParcelableExtra<SpacePreviewArgs>(Mavericks.KEY_ARG)
if (supportFragmentManager.findFragmentByTag(simpleName) == null) { replaceFragment(
supportFragmentManager.commitTransaction { views.simpleFragmentContainer,
replace(R.id.simpleFragmentContainer, SpacePreviewFragment::class.java,
SpacePreviewFragment::class.java, args
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, args) }, )
simpleName
)
}
}
} }
} }

View file

@ -31,8 +31,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R import im.vector.app.R
import im.vector.app.core.error.ErrorFormatter import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.extensions.commitTransaction
import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hideKeyboard
import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.extensions.setTextOrHide
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
@ -69,17 +69,11 @@ class SpaceLeaveAdvancedActivity : VectorBaseActivity<ActivitySimpleLoadingBindi
val args = intent?.getParcelableExtra<SpaceBottomSheetSettingsArgs>(Mavericks.KEY_ARG) val args = intent?.getParcelableExtra<SpaceBottomSheetSettingsArgs>(Mavericks.KEY_ARG)
if (isFirstCreation()) { if (isFirstCreation()) {
val simpleName = SpaceLeaveAdvancedFragment::class.java.simpleName replaceFragment(
if (supportFragmentManager.findFragmentByTag(simpleName) == null) { views.simpleFragmentContainer,
supportFragmentManager.commitTransaction { SpaceLeaveAdvancedFragment::class.java,
replace( args
R.id.simpleFragmentContainer, )
SpaceLeaveAdvancedFragment::class.java,
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, args) },
simpleName
)
}
}
} }
} }

View file

@ -30,8 +30,8 @@ import com.google.android.material.appbar.MaterialToolbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R import im.vector.app.R
import im.vector.app.core.extensions.addFragmentToBackstack import im.vector.app.core.extensions.addFragmentToBackstack
import im.vector.app.core.extensions.commitTransaction
import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hideKeyboard
import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.ToolbarConfigurable
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleLoadingBinding import im.vector.app.databinding.ActivitySimpleLoadingBinding
@ -100,28 +100,26 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
ManageType.AddRoomsOnlySpaces -> { ManageType.AddRoomsOnlySpaces -> {
val simpleName = SpaceAddRoomFragment::class.java.simpleName val simpleName = SpaceAddRoomFragment::class.java.simpleName
if (supportFragmentManager.findFragmentByTag(simpleName) == null) { if (supportFragmentManager.findFragmentByTag(simpleName) == null) {
supportFragmentManager.commitTransaction { replaceFragment(
replace(R.id.simpleFragmentContainer, views.simpleFragmentContainer,
SpaceAddRoomFragment::class.java, SpaceAddRoomFragment::class.java,
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, args) }, args,
simpleName simpleName
) )
}
} }
} }
ManageType.Settings -> { ManageType.Settings -> {
val simpleName = SpaceSettingsFragment::class.java.simpleName val simpleName = SpaceSettingsFragment::class.java.simpleName
if (supportFragmentManager.findFragmentByTag(simpleName) == null && args?.spaceId != null) { if (supportFragmentManager.findFragmentByTag(simpleName) == null && args?.spaceId != null) {
supportFragmentManager.commitTransaction { replaceFragment(
replace(R.id.simpleFragmentContainer, views.simpleFragmentContainer,
SpaceSettingsFragment::class.java, SpaceSettingsFragment::class.java,
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, RoomProfileArgs(args.spaceId)) }, RoomProfileArgs(args.spaceId),
simpleName simpleName
) )
}
} }
} }
ManageType.ManageRooms -> { ManageType.ManageRooms -> {
// no direct access for now // no direct access for now
} }
} }
@ -141,22 +139,22 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
} }
SpaceManagedSharedViewEvents.NavigateToCreateRoom -> { SpaceManagedSharedViewEvents.NavigateToCreateRoom -> {
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
CreateRoomFragment::class.java, CreateRoomFragment::class.java,
CreateRoomArgs("", parentSpaceId = args?.spaceId) CreateRoomArgs("", parentSpaceId = args?.spaceId)
) )
} }
SpaceManagedSharedViewEvents.NavigateToCreateSpace -> { SpaceManagedSharedViewEvents.NavigateToCreateSpace -> {
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
CreateRoomFragment::class.java, CreateRoomFragment::class.java,
CreateRoomArgs("", parentSpaceId = args?.spaceId, isSpace = true) CreateRoomArgs("", parentSpaceId = args?.spaceId, isSpace = true)
) )
} }
SpaceManagedSharedViewEvents.NavigateToManageRooms -> { SpaceManagedSharedViewEvents.NavigateToManageRooms -> {
args?.spaceId?.let { spaceId -> args?.spaceId?.let { spaceId ->
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
SpaceManageRoomsFragment::class.java, SpaceManageRoomsFragment::class.java,
SpaceManageArgs(spaceId, ManageType.ManageRooms) SpaceManageArgs(spaceId, ManageType.ManageRooms)
) )
@ -165,7 +163,7 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
SpaceManagedSharedViewEvents.NavigateToAliasSettings -> { SpaceManagedSharedViewEvents.NavigateToAliasSettings -> {
args?.spaceId?.let { spaceId -> args?.spaceId?.let { spaceId ->
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, views.simpleFragmentContainer,
RoomAliasFragment::class.java, RoomAliasFragment::class.java,
RoomProfileArgs(spaceId) RoomProfileArgs(spaceId)
) )
@ -174,7 +172,7 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
SpaceManagedSharedViewEvents.NavigateToPermissionSettings -> { SpaceManagedSharedViewEvents.NavigateToPermissionSettings -> {
args?.spaceId?.let { spaceId -> args?.spaceId?.let { spaceId ->
addFragmentToBackstack( addFragmentToBackstack(
R.id.simpleFragmentContainer, RoomPermissionsFragment::class.java, views.simpleFragmentContainer, RoomPermissionsFragment::class.java,
RoomProfileArgs(spaceId) RoomProfileArgs(spaceId)
) )
} }

View file

@ -24,9 +24,8 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Mavericks import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.commitTransaction
import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hideKeyboard
import im.vector.app.core.extensions.replaceFragment
import im.vector.app.core.platform.GenericIdArgs import im.vector.app.core.platform.GenericIdArgs
import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySimpleLoadingBinding import im.vector.app.databinding.ActivitySimpleLoadingBinding
@ -64,16 +63,11 @@ class SpacePeopleActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val args = intent?.getParcelableExtra<GenericIdArgs>(Mavericks.KEY_ARG) val args = intent?.getParcelableExtra<GenericIdArgs>(Mavericks.KEY_ARG)
if (isFirstCreation()) { if (isFirstCreation()) {
val simpleName = SpacePeopleFragment::class.java.simpleName replaceFragment(
if (supportFragmentManager.findFragmentByTag(simpleName) == null) { views.simpleFragmentContainer,
supportFragmentManager.commitTransaction { SpacePeopleFragment::class.java,
replace(R.id.simpleFragmentContainer, args
SpacePeopleFragment::class.java, )
Bundle().apply { this.putParcelable(Mavericks.KEY_ARG, args) },
simpleName
)
}
}
} }
sharedActionViewModel = viewModelProvider.get(SpacePeopleSharedActionViewModel::class.java) sharedActionViewModel = viewModelProvider.get(SpacePeopleSharedActionViewModel::class.java)

View file

@ -40,7 +40,7 @@ class ReviewTermsActivity : SimpleFragmentActivity() {
super.initUiAndData() super.initUiAndData()
if (isFirstCreation()) { if (isFirstCreation()) {
replaceFragment(R.id.container, ReviewTermsFragment::class.java) replaceFragment(views.container, ReviewTermsFragment::class.java)
} }
reviewTermsViewModel.termsArgs = intent.getParcelableExtra(EXTRA_INFO) ?: error("Missing parameter") reviewTermsViewModel.termsArgs = intent.getParcelableExtra(EXTRA_INFO) ?: error("Missing parameter")

View file

@ -117,7 +117,7 @@ class UserCodeActivity : VectorBaseActivity<ActivitySimpleBinding>(),
if (supportFragmentManager.findFragmentByTag(fragmentClass.simpleName) == null) { if (supportFragmentManager.findFragmentByTag(fragmentClass.simpleName) == null) {
supportFragmentManager.commitTransaction { supportFragmentManager.commitTransaction {
setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
replace(R.id.simpleFragmentContainer, replace(views.simpleFragmentContainer.id,
fragmentClass.java, fragmentClass.java,
bundle, bundle,
fragmentClass.simpleName fragmentClass.simpleName

View file

@ -107,7 +107,7 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>(),
} }
WidgetStatus.WIDGET_ALLOWED -> { WidgetStatus.WIDGET_ALLOWED -> {
if (supportFragmentManager.findFragmentByTag(WIDGET_FRAGMENT_TAG) == null) { if (supportFragmentManager.findFragmentByTag(WIDGET_FRAGMENT_TAG) == null) {
addFragment(R.id.fragmentContainer, WidgetFragment::class.java, widgetArgs, WIDGET_FRAGMENT_TAG) addFragment(views.fragmentContainer, WidgetFragment::class.java, widgetArgs, WIDGET_FRAGMENT_TAG)
} }
} }
} }