Class OffersWithResponsesListFragment<A extends OffersWithResponsesAdapter,V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<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.offers.ui.list.offerswithresponses.OffersWithResponsesListFragment<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,AnalyticsManager.AnalyticsScreen,OffersWithResponsesListView,OfferWithResponseClipListener,LceView,MvpLceView,MvpView,RefreshableView,EndlessListView,ListView
- Direct Known Subclasses:
ClippedOffersWithResponsesListFragment
public class OffersWithResponsesListFragment<A extends OffersWithResponsesAdapter,V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<V>> extends EndlessListFragmentView<A,V,P> implements OffersWithResponsesListView, OfferWithResponseClipListener
The fragment class for showing the list of offers with responses using two offer models:OfferandOfferResponse. Can receive the following intent extras:- EARNED_OFFER_CATEGORY - category of earned offers. Offers under this category
is considered as
OfferResponse OPEN_URL_DETAIL- the flag for showing offer in detail or in browser.
OFFER_RESPONSE_DETAILS_REQUEST_CODE- Request code when usingListFragmentView.startActivityForResult(Intent, int)forOfferResponseDetailsActivityandOfferDetailsActivity
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEARNED_OFFER_CATEGORYstatic intOFFER_RESPONSE_DETAILS_REQUEST_CODEstatic java.lang.StringOPEN_URL_DETAILstatic intRESULT_CODE_NEED_REFRESH-
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 OffersWithResponsesListFragment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendOffersList(java.util.List<BaseData> offersWithResponses, int totalEntries)Notifies the view to show the list ofBaseData.protected OffersWithResponsesAdaptercreateAdapter()Create the adapter used in current RecycleView present.protected VerticalSpaceItemDecorationcreateItemDecoration()Create the item decoration used in the RecyclerView.protected PcreatePresenter()InstantiateMvpFragmentView.mPresenterto be used for thisMvpActivityViewprotected intgetContentLayoutId()Provide the Content Layout ID which is of a Layout Resource Reference of AndroidOffersWithResponseListUpdateListenergetOffersWithResponseListener()intgetScreenName()protected voidnotifyListChanged()Called to notify that there are changes with the listvoidonActivityResult(int requestCode, int resultCode, android.content.Intent data)android.view.ViewonCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)voidonOfferClipped(int id, boolean isOfferResponse, boolean isClipped)Handles clipping/unclipping of an offer or offer responsevoidrefreshData()Refresh the list and show the loading view.voidrefreshItem(java.lang.String errorMessage, int id)Notifies the view to refresh the item.voidsetOffersWithResponseUpdateListener(OffersWithResponseListUpdateListener offersWithResponseListener)Set the listener when there is an update with the listvoidshowOffersList(java.util.List<BaseData> offersWithResponses, int totalEntries)Notifies the view to show the list ofBaseData.voidupdateClipState(int id)Notifies the view to update the clip status of the given id-
Methods inherited from class com.cheetahdigital.uikit.widget.list.EndlessListFragmentView
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, onViewCreated, 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.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
-
OFFER_RESPONSE_DETAILS_REQUEST_CODE
public static final int OFFER_RESPONSE_DETAILS_REQUEST_CODE
- See Also:
- Constant Field Values
-
RESULT_CODE_NEED_REFRESH
public static final int RESULT_CODE_NEED_REFRESH
- See Also:
- Constant Field Values
-
EARNED_OFFER_CATEGORY
public static final java.lang.String EARNED_OFFER_CATEGORY
- See Also:
- Constant Field Values
-
OPEN_URL_DETAIL
public static final java.lang.String OPEN_URL_DETAIL
- See Also:
- Constant Field Values
-
-
Method Detail
-
onCreateView
@Nullable public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)- Overrides:
onCreateViewin classEndlessListFragmentView<A extends OffersWithResponsesAdapter,V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<V>>
-
createAdapter
protected OffersWithResponsesAdapter createAdapter()
Create the adapter used in current RecycleView present. This is commonly used when overriding theOffersWithResponsesAdapter- Returns:
- instance of
OffersWithResponsesAdapter
-
createItemDecoration
protected VerticalSpaceItemDecoration createItemDecoration()
Create the item decoration used in the RecyclerView. This invoked when initializing the list for the first time- Returns:
- instance of
VerticalSpaceItemDecorationfor the RecyclerView
-
getContentLayoutId
protected int getContentLayoutId()
Description copied from class:MvpFragmentViewProvide the Content Layout ID which is of a Layout Resource Reference of Android- Specified by:
getContentLayoutIdin classMvpFragmentView<V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<V>>- Returns:
- id of the content layout
-
createPresenter
protected P createPresenter()
Description copied from class:MvpFragmentViewInstantiateMvpFragmentView.mPresenterto be used for thisMvpActivityView- Specified by:
createPresenterin classMvpFragmentView<V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<V>>- Returns:
- return the
MvpBasePresenter
-
showOffersList
public void showOffersList(java.util.List<BaseData> offersWithResponses, int totalEntries)
Description copied from interface:OffersWithResponsesListViewNotifies the view to show the list ofBaseData. This list contains two objects:OfferandOfferResponse. This also means that the GET offers with responses API was successful.- Specified by:
showOffersListin interfaceOffersWithResponsesListView- Parameters:
offersWithResponses- this list of offer and offer responsetotalEntries- the total number of offers
-
appendOffersList
public void appendOffersList(java.util.List<BaseData> offersWithResponses, int totalEntries)
Description copied from interface:OffersWithResponsesListViewNotifies the view to show the list ofBaseData. This list contains two objects:OfferandOfferResponse. This also means that the GET offers with responses API with pagination was successful.- Specified by:
appendOffersListin interfaceOffersWithResponsesListView- Parameters:
offersWithResponses- this list of offer and offer responsetotalEntries- the total number of offers
-
updateClipState
public void updateClipState(int id)
Description copied from interface:OffersWithResponsesListViewNotifies the view to update the clip status of the given id- Specified by:
updateClipStatein interfaceOffersWithResponsesListView- Parameters:
id- offer or offer response id
-
notifyListChanged
protected void notifyListChanged()
Called to notify that there are changes with the list
-
onActivityResult
public void onActivityResult(int requestCode, int resultCode, @Nullable android.content.Intent data)- Overrides:
onActivityResultin classandroidx.fragment.app.Fragment
-
onOfferClipped
public void onOfferClipped(int id, boolean isOfferResponse, boolean isClipped)Description copied from interface:OfferWithResponseClipListenerHandles clipping/unclipping of an offer or offer response- Specified by:
onOfferClippedin interfaceOfferWithResponseClipListener- Parameters:
id- id of offer or offer responseisOfferResponse- true if an offer is an offer responseisClipped- true - to clip an object, false - to unclip an object
-
refreshItem
public void refreshItem(java.lang.String errorMessage, int id)Description copied from interface:OffersWithResponsesListViewNotifies the view to refresh the item. This is called when clipping/unclipping fails.- Specified by:
refreshItemin interfaceOffersWithResponsesListView- Parameters:
errorMessage- error messageid- id offer or offer response id
-
getScreenName
public int getScreenName()
- Specified by:
getScreenNamein interfaceAnalyticsManager.AnalyticsScreen- Overrides:
getScreenNamein classMvpFragmentView<V extends OffersWithResponsesListView,P extends OffersWithResponsesListPresenter<V>>
-
refreshData
public void refreshData()
Refresh the list and show the loading view.
-
setOffersWithResponseUpdateListener
public void setOffersWithResponseUpdateListener(OffersWithResponseListUpdateListener offersWithResponseListener)
Set the listener when there is an update with the list- Parameters:
offersWithResponseListener- callback on updating offers with response
-
getOffersWithResponseListener
public OffersWithResponseListUpdateListener getOffersWithResponseListener()
- Returns:
- listener when there is an update with the list
-
-