Remove the FragmentFactory reference

This commit is contained in:
Benoit Marty 2022-08-19 17:33:25 +02:00 committed by Benoit Marty
parent 22db6b4619
commit 8555758911
5 changed files with 4 additions and 16 deletions

View File

@ -16,7 +16,6 @@
package im.vector.app.core.di
import androidx.fragment.app.FragmentFactory
import androidx.lifecycle.ViewModelProvider
import dagger.hilt.EntryPoint
import dagger.hilt.InstallIn
@ -25,6 +24,5 @@ import dagger.hilt.android.components.ActivityComponent
@InstallIn(ActivityComponent::class)
@EntryPoint
interface ActivityEntryPoint {
fun fragmentFactory(): FragmentFactory
fun viewModelFactory(): ViewModelProvider.Factory
}

View File

@ -169,7 +169,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
lateinit var navigator: Navigator
private set
private lateinit var fragmentFactory: FragmentFactory
private lateinit var activeSessionHolder: ActiveSessionHolder
private lateinit var vectorPreferences: VectorPreferences
@ -210,8 +209,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
val singletonEntryPoint = singletonEntryPoint()
val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java)
ThemeUtils.setActivityTheme(this, getOtherThemes())
fragmentFactory = activityEntryPoint.fragmentFactory()
supportFragmentManager.fragmentFactory = fragmentFactory
viewModelFactory = activityEntryPoint.viewModelFactory()
super.onCreate(savedInstanceState)
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
@ -464,12 +461,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
bugReporter.inMultiWindowMode = it.isInMultiWindowMode
}
protected fun createFragment(fragmentClass: Class<out Fragment>, argsParcelable: Parcelable? = null): Fragment {
return fragmentFactory.instantiate(classLoader, fragmentClass.name).apply {
arguments = argsParcelable?.toMvRxBundle()
}
}
/* ==========================================================================================
* PRIVATE METHODS
* ========================================================================================== */

View File

@ -123,7 +123,6 @@ abstract class VectorBaseFragment<VB : ViewBinding> : Fragment(), MavericksView
analyticsTracker = singletonEntryPoint.analyticsTracker()
unrecognizedCertificateDialog = singletonEntryPoint.unrecognizedCertificateDialog()
viewModelFactory = activityEntryPoint.viewModelFactory()
childFragmentManager.fragmentFactory = activityEntryPoint.fragmentFactory()
super.onAttach(context)
}

View File

@ -109,15 +109,15 @@ class RoomDevToolActivity :
}
RoomDevToolViewState.Mode.StateEventList,
RoomDevToolViewState.Mode.StateEventListByType -> {
val frag = createFragment(RoomDevToolStateEventListFragment::class.java)
val frag = RoomDevToolStateEventListFragment()
navigateTo(frag)
}
RoomDevToolViewState.Mode.EditEventContent -> {
val frag = createFragment(RoomDevToolEditFragment::class.java)
val frag = RoomDevToolEditFragment()
navigateTo(frag)
}
is RoomDevToolViewState.Mode.SendEventForm -> {
val frag = createFragment(RoomDevToolSendFormFragment::class.java)
val frag = RoomDevToolSendFormFragment()
navigateTo(frag)
}
}

View File

@ -120,7 +120,7 @@ class SpaceCreationActivity : SimpleFragmentActivity() {
}
private fun navigateToFragment(fragmentClass: Class<out Fragment>) {
val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: createFragment(fragmentClass)
val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: fragmentClass.newInstance()
supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out)
.replace(