Class MembershipCardFragment<V extends MembershipCardView,P extends MembershipCardPresenter<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.profile.ui.membership.MembershipCardFragment<V,P>
-
- All Implemented Interfaces:
android.content.ComponentCallbacks,android.view.View.OnCreateContextMenuListener,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner,AnalyticsManager.AnalyticsScreen,MembershipCardView,LceView,MvpLceView,MvpView
public class MembershipCardFragment<V extends MembershipCardView,P extends MembershipCardPresenter<V>> extends LceFragmentView<V,P> implements MembershipCardView, AnalyticsManager.AnalyticsScreen
This fragment displays the membership card of the user - member's member ID with QR code and member's tier. This fragment has a view and an edit mode. The mode is determined by the value passed to the intent with key "membership_card_mode", with default value being in view mode.Can use the following intent extra:
IntentKey.PRIMARY_PARAMS-ProfileParamsto use
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringVIEW_MODE-
Fields inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView
mContentView, mErrorView, mInitialLoad, mLoadingView
-
-
Constructor Summary
Constructors Constructor Description MembershipCardFragment()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearStellarMembershipCardSettings(android.content.Context context)Removes stored banner image URI and tier label in the "membership_card_preferences" preferences.protected PcreatePresenter()InstantiateMvpFragmentView.mPresenterto be used for thisMvpActivityViewprotected intgetContentLayoutId()Provide the Content Layout ID which is of a Layout Resource Reference of AndroidintgetScreenName()voidonActivityResult(int requestCode, int resultCode, android.content.Intent data)protected voidonBannerSavingStarted(java.lang.String uri)Method called when banner starts saving.voidonCreate(android.os.Bundle savedInstanceState)voidonCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)booleanonOptionsItemSelected(android.view.MenuItem item)voidonPrepareOptionsMenu(android.view.Menu menu)voidonViewCreated(android.view.View view, android.os.Bundle savedInstanceState)voidsaveData(java.lang.String banner, java.lang.String tier)Stores the banner image URI and the tier label to the "membership_card_preferences" preferences "membership_card_banner" and "memberhip_card_tier_label" respectively.voidsavePhoto(androidx.fragment.app.Fragment fragment, int requestCode)Used for choosing an image from the gallery or taking an image using the camera, and storing that corresponding file as the banner image.voidshowBanner(java.lang.String uri)This will be called by the presenter after successfully retrieving the banner URI from the stored preferences.voidshowBannerNotAvailable()This will be called by the presenter if it fails to retrieve the banner image URI from the stored preferences.voidshowContent()Shows the content view.voidshowProfile(Profile profile)This will be called by the presenter after successfully receiving Profile information from the SDK.voidshowProfileNotAvailable(java.lang.String error)This will be called by the presenter after failing to receive Profile information from the SDK.voidshowTierLabel(java.lang.String label)This will be called by the presenter after successfully retrieving the tier label from the stored preferences.voidshowTierLabelNotAvailable()This will be called by the presenter if it fails to retrieve the tier label from the stored preferences.-
Methods inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView
onCreateView, onLoadFailed, onLoadSuccess, setErrorViewClickListener, showError, showLoading
-
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, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onDestroy, onDestroyOptionsMenu, onDetach, onGetLayoutInflater, onHiddenChanged, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, 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
showError, showLoading
-
-
-
-
Field Detail
-
VIEW_MODE
public static final java.lang.String VIEW_MODE
- See Also:
- Constant Field Values
-
-
Method Detail
-
clearStellarMembershipCardSettings
public static void clearStellarMembershipCardSettings(android.content.Context context)
Removes stored banner image URI and tier label in the "membership_card_preferences" preferences.- Parameters:
context- Context to use to load the preferences.
-
onCreate
public void onCreate(@Nullable android.os.Bundle savedInstanceState)- Overrides:
onCreatein classandroidx.fragment.app.Fragment
-
onViewCreated
public void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)- Overrides:
onViewCreatedin classLceFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>
-
showContent
public void showContent()
Description copied from class:LceFragmentViewShows the content view.- Specified by:
showContentin interfaceMvpLceView- Overrides:
showContentin classLceFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>
-
onCreateOptionsMenu
public void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)- Overrides:
onCreateOptionsMenuin classandroidx.fragment.app.Fragment
-
onPrepareOptionsMenu
public void onPrepareOptionsMenu(android.view.Menu menu)
- Overrides:
onPrepareOptionsMenuin classandroidx.fragment.app.Fragment
-
onOptionsItemSelected
public boolean onOptionsItemSelected(android.view.MenuItem item)
- Overrides:
onOptionsItemSelectedin classandroidx.fragment.app.Fragment
-
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 MembershipCardView,P extends MembershipCardPresenter<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 MembershipCardView,P extends MembershipCardPresenter<V>>- Returns:
- return the
MvpBasePresenter
-
showProfile
public void showProfile(Profile profile)
Description copied from interface:MembershipCardViewThis will be called by the presenter after successfully receiving Profile information from the SDK.- Specified by:
showProfilein interfaceMembershipCardView- Parameters:
profile- The Profile received.
-
showProfileNotAvailable
public void showProfileNotAvailable(java.lang.String error)
Description copied from interface:MembershipCardViewThis will be called by the presenter after failing to receive Profile information from the SDK.- Specified by:
showProfileNotAvailablein interfaceMembershipCardView- Parameters:
error- The error returned by the API call.
-
showBannerNotAvailable
public void showBannerNotAvailable()
Description copied from interface:MembershipCardViewThis will be called by the presenter if it fails to retrieve the banner image URI from the stored preferences.- Specified by:
showBannerNotAvailablein interfaceMembershipCardView
-
showBanner
public void showBanner(java.lang.String uri)
Description copied from interface:MembershipCardViewThis will be called by the presenter after successfully retrieving the banner URI from the stored preferences.- Specified by:
showBannerin interfaceMembershipCardView- Parameters:
uri- The banner image URI as aStringobject.
-
showTierLabelNotAvailable
public void showTierLabelNotAvailable()
Description copied from interface:MembershipCardViewThis will be called by the presenter if it fails to retrieve the tier label from the stored preferences.- Specified by:
showTierLabelNotAvailablein interfaceMembershipCardView
-
showTierLabel
public void showTierLabel(java.lang.String label)
Description copied from interface:MembershipCardViewThis will be called by the presenter after successfully retrieving the tier label from the stored preferences.- Specified by:
showTierLabelin interfaceMembershipCardView- Parameters:
label- The tier label retrieved.
-
onBannerSavingStarted
protected void onBannerSavingStarted(java.lang.String uri)
Method called when banner starts saving. Override this method if needed- Parameters:
uri- uri for the temporary banner
-
onActivityResult
public void onActivityResult(int requestCode, int resultCode, android.content.Intent data)- Overrides:
onActivityResultin classandroidx.fragment.app.Fragment
-
getScreenName
public int getScreenName()
- Specified by:
getScreenNamein interfaceAnalyticsManager.AnalyticsScreen- Overrides:
getScreenNamein classMvpFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>- Returns:
- The screen name used in
StellarAnalyticsManagerthat maps this fragment
-
saveData
public void saveData(java.lang.String banner, java.lang.String tier)Stores the banner image URI and the tier label to the "membership_card_preferences" preferences "membership_card_banner" and "memberhip_card_tier_label" respectively.- Parameters:
banner- value to store as membership bannertier- value to store as membership tier
-
savePhoto
public void savePhoto(androidx.fragment.app.Fragment fragment, int requestCode)Used for choosing an image from the gallery or taking an image using the camera, and storing that corresponding file as the banner image.- Parameters:
fragment- Calling fragment. This object will be used to start the chooser intent.requestCode- Request code to use for starting the chooser intent.
-
-