Class ChallengesListFragment<A extends ChallengesAdapter,V extends ChallengesListView,P extends ChallengesListPresenter<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.uikit.widget.list.EndlessListFragmentView<A,V,P>
-
- com.cheetahdigital.challenges.ui.challenges.ChallengesListFragment<A,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
,ChallengesListView
,AnalyticsManager.AnalyticsScreen
,LceView
,MvpLceView
,MvpView
,RefreshableView
,EndlessListView
,ListView
public class ChallengesListFragment<A extends ChallengesAdapter,V extends ChallengesListView,P extends ChallengesListPresenter<V>> extends EndlessListFragmentView<A,V,P> implements ChallengesListView, AnalyticsManager.AnalyticsScreen
Class that handles displaying of list ofChallenge
Can receive the following intent extras:- CHALLENGE_PARAMETERS - instance of
ChallengeParams
used to populate the Challenges API calls
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CHALLENGE_PARAMETERS
-
Fields inherited from class com.cheetahdigital.uikit.widget.list.EndlessListFragmentView
mEndlessRecyclerOnScrollListener
-
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 ChallengesListFragment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendChallengesList(java.util.List<Challenge> challenges, int totalEntries)
Notifies the view when GET challenges API with pagination is successfulprotected void
captureSharedElementValues(android.content.Intent intent)
Captures the shared element and passes its values to intent.protected ChallengesAdapter
createChallengesAdapter(java.util.List<Challenge> challenges, ChallengeClickListener listener)
Create an instance ofChallengesAdapter
.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
onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
void
showChallengesList(java.util.List<Challenge> challenges, int totalEntries)
Notifies the view when GET challenges API is successfulvoid
showErrorMessage(java.lang.String error)
Notifies the view when GET challenges API failed-
Methods inherited from class com.cheetahdigital.uikit.widget.list.EndlessListFragmentView
onCreateView, onFinishLoadMore, onFinishRefresh, onLoadMoreFailed, setListTotalEntries
-
Methods inherited from class com.cheetahdigital.uikit.widget.list.ListFragmentView
getLayoutManager, isListAnimationEnabled, onAttach, setExitTransition, showContent, startActivity, startActivityForResult
-
Methods inherited from class com.cheetahdigital.uikit.architecture.refreshable.RefreshableFragmentView
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
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.widget.list.EndlessListView
onFinishLoadMore, onLoadMoreFailed
-
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
-
-
-
-
Field Detail
-
CHALLENGE_PARAMETERS
public static final java.lang.String CHALLENGE_PARAMETERS
- See Also:
- Constant Field Values
-
-
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 ChallengesListView,P extends ChallengesListPresenter<V>>
- Returns:
- id of the content layout
-
onViewCreated
public void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
- Overrides:
onViewCreated
in classLceFragmentView<V extends ChallengesListView,P extends ChallengesListPresenter<V>>
-
createPresenter
protected P createPresenter()
Description copied from class:MvpFragmentView
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
- Specified by:
createPresenter
in classMvpFragmentView<V extends ChallengesListView,P extends ChallengesListPresenter<V>>
- Returns:
- return the
MvpBasePresenter
-
onActivityResult
public void onActivityResult(int requestCode, int resultCode, android.content.Intent data)
- Overrides:
onActivityResult
in classandroidx.fragment.app.Fragment
-
showChallengesList
public void showChallengesList(java.util.List<Challenge> challenges, int totalEntries)
Description copied from interface:ChallengesListView
Notifies the view when GET challenges API is successful- Specified by:
showChallengesList
in interfaceChallengesListView
- Parameters:
challenges
- list ofChallenge
totalEntries
- number of challenges
-
appendChallengesList
public void appendChallengesList(java.util.List<Challenge> challenges, int totalEntries)
Description copied from interface:ChallengesListView
Notifies the view when GET challenges API with pagination is successful- Specified by:
appendChallengesList
in interfaceChallengesListView
- Parameters:
challenges
- list ofChallenge
totalEntries
- number of challenges
-
showErrorMessage
public void showErrorMessage(java.lang.String error)
Description copied from interface:ChallengesListView
Notifies the view when GET challenges API failed- Specified by:
showErrorMessage
in interfaceChallengesListView
- Parameters:
error
- message
-
createChallengesAdapter
protected ChallengesAdapter createChallengesAdapter(java.util.List<Challenge> challenges, ChallengeClickListener listener)
Create an instance ofChallengesAdapter
. Usually used ifChallengesAdapter
was subclassed.- Parameters:
challenges
- list ofChallenge
listener
- handles challenge click- Returns:
- instance of
ChallengesAdapter
-
captureSharedElementValues
protected void captureSharedElementValues(android.content.Intent intent)
Description copied from class:MvpFragmentView
Captures the shared element and passes its values to intent.- Overrides:
captureSharedElementValues
in classMvpFragmentView<V extends ChallengesListView,P extends ChallengesListPresenter<V>>
- Parameters:
intent
-Intent
to store the shared element values
-
getScreenName
public int getScreenName()
- Specified by:
getScreenName
in interfaceAnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classMvpFragmentView<V extends ChallengesListView,P extends ChallengesListPresenter<V>>
-
-