-
- All Implemented Interfaces:
-
android.content.ComponentCallbacks,android.content.DialogInterface.OnCancelListener,android.content.DialogInterface.OnDismissListener,android.view.View.OnCreateContextMenuListener,androidx.activity.result.ActivityResultCaller,androidx.lifecycle.HasDefaultViewModelProviderFactory,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner
public abstract class ViewModelDialogFragment<VM extends BaseViewModel<VS>, VS extends ViewState> extends DialogFragment
Base DialogFragment class with built-in ViewModel support
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description ViewModelDialogFragment()
-
Method Summary
Modifier and Type Method Description abstract IntegergetLayoutResId()Property which holds reference to layout identifier eg. abstract StringgetFragmentTag()Property which holds BottomSheetDialogFragment tag You should override this in your specific BottomSheetDialogFragment implementation. abstract VMgetViewModel()Reference to Fragment ViewModel LifecyclegetLifecycle()ViewModelStoregetViewModelStore()CreationExtrasgetDefaultViewModelCreationExtras()ViewModelProvider.FactorygetDefaultViewModelProviderFactory()final SavedStateRegistrygetSavedStateRegistry()ViewonCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)final Unitshow(FragmentManager fragmentManager)final <AVM extends BaseViewModel<?>> AVMgetActivityViewModel()Get reference to Activity ViewModel. final <EVENT extends Event<VS>> UnitobserveEvent(KClass<out EVENT> event, Function1<EVENT, Unit> observer)Observe event defined by event class and run observer lambda whenever event is received. -
Methods inherited from class app.futured.arkitekt.core.fragment.dialog.ViewModelDialogFragment
createFragmentContainer, dismiss, dismissAllowingStateLoss, dismissNow, getDialog, getShowsDialog, getTheme, isCancelable, onActivityCreated, onAttach, onCancel, onCreate, onCreateDialog, onDestroyView, onDetach, onDismiss, onFindViewById, onGetLayoutInflater, onHasView, onSaveInstanceState, onStart, onStop, onViewStateRestored, performCreateView, requireComponentDialog, requireDialog, setCancelable, setShowsDialog, setStyle, setupDialog, show, show, showNow -
Methods inherited from class androidx.fragment.app.DialogFragment
callStartTransitionListener, dump, equals, findFragmentByWho, generateActivityResultKey, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getAnimatingAway, getArguments, getChildFragmentManager, getContext, getEnterAnim, getEnterTransition, getEnterTransitionCallback, getExitAnim, getExitTransition, getExitTransitionCallback, getFocusedView, getFragmentManager, getHost, getId, getLayoutInflater, getLayoutInflater, getLoaderManager, getNextTransition, getParentFragment, getParentFragmentManager, getPopDirection, getPopEnterAnim, getPopExitAnim, getPostOnViewCreatedAlpha, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSharedElementEnterTransition, getSharedElementReturnTransition, getSharedElementSourceNames, getSharedElementTargetNames, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, getViewLifecycleOwner, getViewLifecycleOwnerLiveData, hasOptionsMenu, hashCode, initState, isAdded, isDetached, isHidden, isInBackStack, isInLayout, isMenuVisible, isPostponed, isRemoving, isResumed, isStateSaved, isVisible, noteStateNotSaved, onActivityResult, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroy, onDestroyOptionsMenu, onHiddenChanged, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsMenu, onPrimaryNavigationFragmentChanged, onRequestPermissionsResult, onResume, onViewCreated, performActivityCreated, performAttach, performConfigurationChanged, performContextItemSelected, performCreate, performCreateOptionsMenu, performDestroy, performDestroyView, performDetach, performGetLayoutInflater, performLowMemory, performMultiWindowModeChanged, performOptionsItemSelected, performOptionsMenuClosed, performPause, performPictureInPictureModeChanged, performPrepareOptionsMenu, performPrimaryNavigationFragmentChanged, performResume, performSaveInstanceState, performStart, performStop, performViewCreated, postponeEnterTransition, postponeEnterTransition, registerForActivityResult, registerForActivityResult, registerForContextMenu, requestPermissions, requireActivity, requireArguments, requireContext, requireFragmentManager, requireHost, requireParentFragment, requireView, restoreChildFragmentState, restoreViewState, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setAnimations, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setFocusedView, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setNextTransition, setPopDirection, setPostOnViewCreatedAlpha, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementNames, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivity, startActivityForResult, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getLayoutResId
abstract Integer getLayoutResId()
Property which holds reference to layout identifier eg. R.layout.fragment_custom_bottomsheet. You should override this in your specific BottomSheetDialogFragment implementation.
-
getFragmentTag
abstract String getFragmentTag()
Property which holds BottomSheetDialogFragment tag You should override this in your specific BottomSheetDialogFragment implementation.
-
getViewModel
abstract VM getViewModel()
Reference to Fragment ViewModel
-
getLifecycle
@NonNull() Lifecycle getLifecycle()
-
getViewModelStore
@NonNull() ViewModelStore getViewModelStore()
-
getDefaultViewModelCreationExtras
@NonNull()@CallSuper() CreationExtras getDefaultViewModelCreationExtras()
-
getDefaultViewModelProviderFactory
@NonNull() ViewModelProvider.Factory getDefaultViewModelProviderFactory()
-
getSavedStateRegistry
@NonNull() final SavedStateRegistry getSavedStateRegistry()
-
onCreateView
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
-
show
final Unit show(FragmentManager fragmentManager)
-
getActivityViewModel
final <AVM extends BaseViewModel<?>> AVM getActivityViewModel()
Get reference to Activity ViewModel. Make sure correct VM class is specified.
-
observeEvent
final <EVENT extends Event<VS>> Unit observeEvent(KClass<out EVENT> event, Function1<EVENT, Unit> observer)
Observe event defined by event class and run observer lambda whenever event is received. This event class must be associated with current BottomSheetDialogFragment ViewState.
- Parameters:
event- Observed event classobserver- Lambda called whenever event is received
-
-
-
-