Class PreferencesFragment<V extends PreferencesView,P extends PreferencesPresenter<V>>
- java.lang.Object
-
- androidx.fragment.app.Fragment
-
- com.cheetahdigital.uikit.architecture.mvp.MvpFragmentView<V,P>
-
- com.cheetahdigital.uikit.architecture.lce.LceFragmentView<V,P>
-
- com.cheetahdigital.uikit.architecture.refreshable.RefreshableFragmentView<V,P>
-
- com.cheetahdigital.uikit.widget.list.ListFragmentView<V,P>
-
- com.cheetahdigital.preferences.ui.list.PreferencesFragment<V,P>
-
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.view.View.OnCreateContextMenuListener
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
,androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
,AnalyticsManager.AnalyticsScreen
,PreferencesView
,PreferenceClickListener
,LceView
,MvpLceView
,MvpView
,RefreshableView
,ListView
public class PreferencesFragment<V extends PreferencesView,P extends PreferencesPresenter<V>> extends ListFragmentView<V,P> implements PreferencesView, PreferenceClickListener
This fragment shows a list ofPreference
Can receive the following intent extras:- {link #PREFERENCE_NAME} - internal name of the preference
- {link #SELECTED_LIST} - list containing the selected preferences
- {link #IS_MULTI_SELECT} - the flag for checking if the list is multi select
IntentKey.PRIMARY_PARAMS
- instance ofPreferencesParams
to use
-
-
Field Summary
-
Fields inherited from class com.cheetahdigital.uikit.widget.list.ListFragmentView
mLinearLayoutManager, mListView, mSelectedPosition
-
Fields inherited from class com.cheetahdigital.uikit.architecture.refreshable.RefreshableFragmentView
mSwipeRefreshLayout
-
Fields inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView
mContentView, mErrorView, mInitialLoad, mLoadingView
-
-
Constructor Summary
Constructors Constructor Description PreferencesFragment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PreferencesAdapter
createPreferencesAdapter()
Create the adapter used in current RecycleView present.protected P
createPresenter()
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
protected int
getContentLayoutId()
Provide the Content Layout ID which is of a Layout Resource Reference of Androidint
getScreenName()
void
onActivityResult(int requestCode, int resultCode, android.content.Intent data)
void
onPreferenceClick(Preference preference)
Handles clicking of preferencevoid
onPreferenceSwitchChange(java.lang.String preferenceName, java.lang.String value)
Handles change of preferencesvoid
onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
boolean
savePreferences()
Save preferencesvoid
showPreferenceList(java.util.List<Preference> preferences)
This notifies the view when the API for getting the list of preferences returns a successful responsevoid
showPreferenceListNotAvailable(java.lang.String error)
This notifies the view when the API for getting the list of preferences returns an errorvoid
updatePreferenceList()
This notifies the view when the API for updating the list of preference is a success-
Methods inherited from class com.cheetahdigital.uikit.widget.list.ListFragmentView
getLayoutManager, isListAnimationEnabled, onAttach, onCreateView, setExitTransition, showContent, startActivity, startActivityForResult
-
Methods inherited from class com.cheetahdigital.uikit.architecture.refreshable.RefreshableFragmentView
onFinishRefresh, onRefresh, onRefreshFailed, reloadData, showError, showLoading, startRefresh
-
Methods inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView
onLoadFailed, onLoadSuccess, setErrorViewClickListener
-
Methods inherited from class com.cheetahdigital.uikit.architecture.mvp.MvpFragmentView
captureSharedElementValues, getPresenter, getSharedElementViews, initSharedElementValues, isSharedAnimationEnabled, onDestroyView
-
Methods inherited from class androidx.fragment.app.Fragment
dump, equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLayoutInflater, getLifecycle, getLoaderManager, getParentFragment, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSavedStateRegistry, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, getViewLifecycleOwner, getViewLifecycleOwnerLiveData, getViewModelStore, hashCode, hasOptionsMenu, instantiate, instantiate, isAdded, isDetached, isHidden, isInLayout, isMenuVisible, isRemoving, isResumed, isStateSaved, isVisible, onActivityCreated, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreate, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroy, onDestroyOptionsMenu, onDetach, onGetLayoutInflater, onHiddenChanged, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsMenu, onPrimaryNavigationFragmentChanged, onRequestPermissionsResult, onResume, onSaveInstanceState, onStart, onStop, onViewStateRestored, postponeEnterTransition, postponeEnterTransition, registerForContextMenu, requestPermissions, requireActivity, requireArguments, requireContext, requireFragmentManager, requireHost, requireParentFragment, requireView, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.cheetahdigital.uikit.architecture.lce.LceView
onLoadFailed, onLoadSuccess, setErrorViewClickListener
-
Methods inherited from interface com.cheetahdigital.uikit.architecture.lce.MvpLceView
showContent, showError, showLoading
-
Methods inherited from interface com.cheetahdigital.uikit.architecture.refreshable.RefreshableView
onFinishRefresh, onRefreshFailed
-
-
-
-
Method Detail
-
getContentLayoutId
protected int getContentLayoutId()
Description copied from class:MvpFragmentView
Provide the Content Layout ID which is of a Layout Resource Reference of Android- Specified by:
getContentLayoutId
in classMvpFragmentView<V extends PreferencesView,P extends PreferencesPresenter<V>>
- Returns:
- id of the content layout
-
createPresenter
protected P createPresenter()
Description copied from class:MvpFragmentView
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
- Specified by:
createPresenter
in classMvpFragmentView<V extends PreferencesView,P extends PreferencesPresenter<V>>
- Returns:
- return the
MvpBasePresenter
-
onViewCreated
@Nullable public void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
- Overrides:
onViewCreated
in classLceFragmentView<V extends PreferencesView,P extends PreferencesPresenter<V>>
-
showPreferenceList
public void showPreferenceList(java.util.List<Preference> preferences)
Description copied from interface:PreferencesView
This notifies the view when the API for getting the list of preferences returns a successful response- Specified by:
showPreferenceList
in interfacePreferencesView
- Parameters:
preferences
- list of preferences
-
showPreferenceListNotAvailable
public void showPreferenceListNotAvailable(java.lang.String error)
Description copied from interface:PreferencesView
This notifies the view when the API for getting the list of preferences returns an error- Specified by:
showPreferenceListNotAvailable
in interfacePreferencesView
- Parameters:
error
- error message
-
updatePreferenceList
public void updatePreferenceList()
Description copied from interface:PreferencesView
This notifies the view when the API for updating the list of preference is a success- Specified by:
updatePreferenceList
in interfacePreferencesView
-
onActivityResult
public void onActivityResult(int requestCode, int resultCode, android.content.Intent data)
- Overrides:
onActivityResult
in classandroidx.fragment.app.Fragment
-
onPreferenceClick
public void onPreferenceClick(Preference preference)
Description copied from interface:PreferenceClickListener
Handles clicking of preference- Specified by:
onPreferenceClick
in interfacePreferenceClickListener
- Parameters:
preference
-Preference
object
-
onPreferenceSwitchChange
public void onPreferenceSwitchChange(java.lang.String preferenceName, java.lang.String value)
Description copied from interface:PreferenceClickListener
Handles change of preferences- Specified by:
onPreferenceSwitchChange
in interfacePreferenceClickListener
- Parameters:
preferenceName
- name of the preferencevalue
- value of the preference
-
getScreenName
public int getScreenName()
- Specified by:
getScreenName
in interfaceAnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classMvpFragmentView<V extends PreferencesView,P extends PreferencesPresenter<V>>
-
savePreferences
public boolean savePreferences()
Save preferences- Returns:
true
if save preference is triggered, else false
-
createPreferencesAdapter
protected PreferencesAdapter createPreferencesAdapter()
Create the adapter used in current RecycleView present. This is commonly used when overriding thePreferencesAdapter
- Returns:
- instance of
PreferencesAdapter
-
-