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
-ProfileParams
to use
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VIEW_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 void
clearStellarMembershipCardSettings(android.content.Context context)
Removes stored banner image URI and tier label in the "membership_card_preferences" preferences.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)
protected void
onBannerSavingStarted(java.lang.String uri)
Method called when banner starts saving.void
onCreate(android.os.Bundle savedInstanceState)
void
onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)
boolean
onOptionsItemSelected(android.view.MenuItem item)
void
onPrepareOptionsMenu(android.view.Menu menu)
void
onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
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.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.void
showBanner(java.lang.String uri)
This will be called by the presenter after successfully retrieving the banner URI from the stored preferences.void
showBannerNotAvailable()
This will be called by the presenter if it fails to retrieve the banner image URI from the stored preferences.void
showContent()
Shows the content view.void
showProfile(Profile profile)
This will be called by the presenter after successfully receiving Profile information from the SDK.void
showProfileNotAvailable(java.lang.String error)
This will be called by the presenter after failing to receive Profile information from the SDK.void
showTierLabel(java.lang.String label)
This will be called by the presenter after successfully retrieving the tier label from the stored preferences.void
showTierLabelNotAvailable()
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:
onCreate
in classandroidx.fragment.app.Fragment
-
onViewCreated
public void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
- Overrides:
onViewCreated
in classLceFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>
-
showContent
public void showContent()
Description copied from class:LceFragmentView
Shows the content view.- Specified by:
showContent
in interfaceMvpLceView
- Overrides:
showContent
in classLceFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>
-
onCreateOptionsMenu
public void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)
- Overrides:
onCreateOptionsMenu
in classandroidx.fragment.app.Fragment
-
onPrepareOptionsMenu
public void onPrepareOptionsMenu(android.view.Menu menu)
- Overrides:
onPrepareOptionsMenu
in classandroidx.fragment.app.Fragment
-
onOptionsItemSelected
public boolean onOptionsItemSelected(android.view.MenuItem item)
- Overrides:
onOptionsItemSelected
in classandroidx.fragment.app.Fragment
-
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 MembershipCardView,P extends MembershipCardPresenter<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 MembershipCardView,P extends MembershipCardPresenter<V>>
- Returns:
- return the
MvpBasePresenter
-
showProfile
public void showProfile(Profile profile)
Description copied from interface:MembershipCardView
This will be called by the presenter after successfully receiving Profile information from the SDK.- Specified by:
showProfile
in interfaceMembershipCardView
- Parameters:
profile
- The Profile received.
-
showProfileNotAvailable
public void showProfileNotAvailable(java.lang.String error)
Description copied from interface:MembershipCardView
This will be called by the presenter after failing to receive Profile information from the SDK.- Specified by:
showProfileNotAvailable
in interfaceMembershipCardView
- Parameters:
error
- The error returned by the API call.
-
showBannerNotAvailable
public void showBannerNotAvailable()
Description copied from interface:MembershipCardView
This will be called by the presenter if it fails to retrieve the banner image URI from the stored preferences.- Specified by:
showBannerNotAvailable
in interfaceMembershipCardView
-
showBanner
public void showBanner(java.lang.String uri)
Description copied from interface:MembershipCardView
This will be called by the presenter after successfully retrieving the banner URI from the stored preferences.- Specified by:
showBanner
in interfaceMembershipCardView
- Parameters:
uri
- The banner image URI as aString
object.
-
showTierLabelNotAvailable
public void showTierLabelNotAvailable()
Description copied from interface:MembershipCardView
This will be called by the presenter if it fails to retrieve the tier label from the stored preferences.- Specified by:
showTierLabelNotAvailable
in interfaceMembershipCardView
-
showTierLabel
public void showTierLabel(java.lang.String label)
Description copied from interface:MembershipCardView
This will be called by the presenter after successfully retrieving the tier label from the stored preferences.- Specified by:
showTierLabel
in 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:
onActivityResult
in classandroidx.fragment.app.Fragment
-
getScreenName
public int getScreenName()
- Specified by:
getScreenName
in interfaceAnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classMvpFragmentView<V extends MembershipCardView,P extends MembershipCardPresenter<V>>
- Returns:
- The screen name used in
StellarAnalyticsManager
that 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.
-
-