Class OffersCarouselFragment<V extends OffersCarouselView,P extends OffersCarouselPresenter<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.offers.ui.carousel.OffersCarouselFragment<V,P>
-
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.view.View.OnClickListener
,android.view.View.OnCreateContextMenuListener
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
,androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
,AnalyticsManager.AnalyticsScreen
,OffersCarouselView
,LceView
,MvpLceView
,MvpView
,RefreshableView
,ListView
public class OffersCarouselFragment<V extends OffersCarouselView,P extends OffersCarouselPresenter<V>> extends RefreshableFragmentView<V,P> implements OffersCarouselView, android.view.View.OnClickListener
The fragment for theOffer
carousel Can receive the following intent extras:OPEN_URL_DETAIL
- the flagOffer
type URLs,true
will open the detail screen, otherwise an external browser will be openedIntentKey.PRIMARY_PARAMS
-OfferParams
to use on the carousel
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
OPEN_URL_DETAIL
-
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 OffersCarouselFragment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected OffersCarouselAdapter
createOfferCarouselAdapter(java.util.List<java.lang.String> imageUrlList, java.util.List<java.lang.String> offersHeadingList)
protected P
createPresenter()
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
protected SimpleCarousel
createSimpleCarousel(android.content.Context context, androidx.viewpager.widget.ViewPager mViewPager, android.widget.LinearLayout pageIndicator)
protected int
getContentLayoutId()
Provide the Content Layout ID which is of a Layout Resource Reference of Androidprotected java.util.List<Offer>
getOfferList()
int
getScreenName()
void
onClick(android.view.View view)
void
onCreate(android.os.Bundle savedInstanceState)
android.view.View
onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
void
onFinishRefresh(boolean success)
void
onRefresh()
void
showOfferCarousel(java.util.List<Offer> offers, int totalEntries)
Display the offer carousel.void
showSnackbarError(java.lang.String error)
Display a snackbar with an error message.-
Methods inherited from class com.cheetahdigital.uikit.architecture.refreshable.RefreshableFragmentView
onRefreshFailed, reloadData, showContent, 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, onAttach, onDestroyView, startActivity, startActivityForResult
-
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, onActivityResult, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, 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
onRefreshFailed
-
-
-
-
Field Detail
-
OPEN_URL_DETAIL
public static final java.lang.String OPEN_URL_DETAIL
- See Also:
- Constant Field Values
-
-
Method Detail
-
onCreateView
public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
- Overrides:
onCreateView
in classRefreshableFragmentView<V extends OffersCarouselView,P extends OffersCarouselPresenter<V>>
-
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 OffersCarouselView,P extends OffersCarouselPresenter<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 OffersCarouselView,P extends OffersCarouselPresenter<V>>
- Returns:
- return the
MvpBasePresenter
-
onCreate
public void onCreate(android.os.Bundle savedInstanceState)
- Overrides:
onCreate
in classandroidx.fragment.app.Fragment
-
showOfferCarousel
public void showOfferCarousel(java.util.List<Offer> offers, int totalEntries)
Description copied from interface:OffersCarouselView
Display the offer carousel. This also means that the GET offers API call is successful- Specified by:
showOfferCarousel
in interfaceOffersCarouselView
- Parameters:
offers
- the list ofOffer
totalEntries
- the total number of offers
-
onClick
public void onClick(android.view.View view)
- Specified by:
onClick
in interfaceandroid.view.View.OnClickListener
-
showSnackbarError
public void showSnackbarError(java.lang.String error)
Description copied from interface:OffersCarouselView
Display a snackbar with an error message. This also means that the GET offers API call failed- Specified by:
showSnackbarError
in interfaceOffersCarouselView
- Parameters:
error
- the error message
-
onRefresh
public void onRefresh()
- Specified by:
onRefresh
in interfaceandroidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
- Overrides:
onRefresh
in classRefreshableFragmentView<V extends OffersCarouselView,P extends OffersCarouselPresenter<V>>
-
onFinishRefresh
public void onFinishRefresh(boolean success)
- Specified by:
onFinishRefresh
in interfaceRefreshableView
- Overrides:
onFinishRefresh
in classRefreshableFragmentView<V extends OffersCarouselView,P extends OffersCarouselPresenter<V>>
-
getScreenName
public int getScreenName()
- Specified by:
getScreenName
in interfaceAnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classMvpFragmentView<V extends OffersCarouselView,P extends OffersCarouselPresenter<V>>
-
createOfferCarouselAdapter
protected OffersCarouselAdapter createOfferCarouselAdapter(java.util.List<java.lang.String> imageUrlList, java.util.List<java.lang.String> offersHeadingList)
- Parameters:
imageUrlList
- list of url for loading the image per pageoffersHeadingList
- list of text for displaying the heading per page- Returns:
- instance of
OffersCarouselAdapter
-
createSimpleCarousel
protected SimpleCarousel createSimpleCarousel(android.content.Context context, androidx.viewpager.widget.ViewPager mViewPager, android.widget.LinearLayout pageIndicator)
- Parameters:
context
- context used to initializeSimpleCarousel
mViewPager
- view to where different item will be referencedpageIndicator
- page indicator of whole item- Returns:
- instance of
SimpleCarousel
-
getOfferList
protected java.util.List<Offer> getOfferList()
- Returns:
- the list of
Offer
fromshowOfferCarousel(List, int)
-
-