IviPopOverFragment

The abstract class for fragments intended to be the content of a pop over. It has built-in mechanism to reinitialize itself with its dependencies after being recreated following a configuration change.

All dependencies which shall be retained across configuration change are stored in IviPopOverContext (or its derivations) and accessible as popOverContext after onAttach has been called on this fragment. IviPopOverContext contains basic dependencies to get IVI related information and access to its services and configuration.

If a concrete class has other dependencies than the ones available in IviPopOverContext, then define a subclass of IviPopOverContext to hold the additional dependencies.

Example of a concrete class without additional dependencies:

class ExampleViewModel(iviPopOverContext: IviPopOverContext) :
IviPopOverViewModel<IviPopOverContext>(iviPopOverContext) {
// ...
}

class ExampleFragment : IviPopOverFragment<IviPopOverContext, ExampleViewModel>(
ExampleViewModel::class
) {
// ...
}

// Usage:
val examplePopOverFragment = IviPopOverFragment.Initializer(
ExampleFragment(),
IviPopOverContext(frontendContext)
).popOverFragment

Example of a concrete class with additional dependency "extra":

class ExampleContext(frontendContext: FrontendContext, val extra: String) :
IviPopOverContext(frontendContext)

class ExampleViewModel(exampleContext: ExampleContext) :
IviPopOverViewModel<ExampleContext>(exampleContext) {
// ...
}

class ExampleFragment : IviPopOverFragment<ExampleContext, ExampleViewModel>(
ExampleViewModel::class
) {
override fun onAttach(context: Context) {
super.onAttach(context)
Log.d("ExampleFragment", "extra = ${popOverContext.extra}")
}
}

// Usage:
val examplePopOverFragment = IviPopOverFragment.Initializer(
ExampleFragment(),
ExampleContext(frontendContext, "This is an additional dependency.")
).popOverFragment

Parameters

CTX

The type of the context used to hold this fragment's dependencies.

VM

The type of the view model to be used by this fragment.

viewModelClass

The KClass information of VM.

Constructors

Link copied to clipboard
constructor(viewModelClass: KClass<VM>)

Types

Link copied to clipboard
open class Initializer<CTX : IviPopOverContext, F : IviPopOverFragment<CTX, *>>(val popOverFragment: F, iviPopOverContext: CTX)

Helper class to initialize the given popOverFragment with IviPopOverContext or its derivation.

Properties

Inherited properties

Link copied to clipboard
@get:NonNull
open override val lifecycle: Lifecycle
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:NonNull
open override val viewModelStore: ViewModelStore

Functions

Link copied to clipboard
open override fun onAttach(context: Context)

Inherited functions

Link copied to clipboard
Link copied to clipboard
operator override fun equals(@Nullable other: Any?): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getId(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getView(): View?
Link copied to clipboard
override fun hashCode(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onActivityResult(p0: Int, p1: Int, @Nullable p2: Intent?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onLowMemory()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun setArguments(@Nullable p0: Bundle?)
Link copied to clipboard
Link copied to clipboard
open fun setExitTransition(@Nullable p0: Any?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun setTargetFragment(@Nullable p0: Fragment?, p1: Int)
Link copied to clipboard
Link copied to clipboard
open fun startActivity(p0: Intent)
open fun startActivity(p0: Intent, @Nullable p1: Bundle?)
Link copied to clipboard
open fun startActivityForResult(p0: Intent, p1: Int)
open fun startActivityForResult(p0: Intent, p1: Int, @Nullable p2: Bundle?)
Link copied to clipboard
open fun startIntentSenderForResult(p0: IntentSender, p1: Int, @Nullable p2: Intent?, p3: Int, p4: Int, p5: Int, @Nullable p6: Bundle?)
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard