Class ReferralCodeFragment<V extends ReferralView,P extends ReferralPresenter<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.referral.ui.referral.ReferralCodeFragment<V,P>
-
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.view.View.OnCreateContextMenuListener
,androidx.activity.result.ActivityResultCaller
,androidx.lifecycle.HasDefaultViewModelProviderFactory
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
,com.cheetahdigital.corekit.sdk.analytics.AnalyticsManager.AnalyticsScreen
,ReferralView
,com.cheetahdigital.uikit.architecture.lce.LceView
,com.cheetahdigital.uikit.architecture.lce.MvpLceView
,com.cheetahdigital.uikit.architecture.mvp.MvpView
public class ReferralCodeFragment<V extends ReferralView,P extends ReferralPresenter<V>> extends com.cheetahdigital.uikit.architecture.lce.LceFragmentView<V,P> implements ReferralView
Fragment class for generating and sharing of referral code. The referral code is generated using Firebase Dynamic Links.Can receive the following intent extras:
IntentKey.PRIMARY_PARAMS
- instance ofReferralParams
used forReferralAPI
-
-
Constructor Summary
Constructors Constructor Description ReferralCodeFragment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected P
createPresenter()
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
void
displayReferralCode(java.lang.String code)
This will be called by the presenter after a successful call to the APIvoid
displayReferralCode(java.lang.String baseURL, java.lang.String code, java.lang.String jsonExtra)
protected int
getContentLayoutId()
Provide the Content Layout ID which is of a Layout Resource Reference of Androidint
getScreenName()
protected java.util.List<android.content.Intent>
getTargetShareIntent()
boolean
isDuplicatePackage(android.content.Intent intent)
Check if intent has duplicate packageboolean
isRestrictedApp(java.lang.String packageName)
Check if app is restrictedandroid.view.View
onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
void
setShareToApps(java.lang.String shareBody)
Construct target packages to share detailsvoid
shareReferralCode()
This will be called by the presenter after a successful call to the API.-
Methods inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView
onLoadFailed, onLoadSuccess, onViewCreated, setErrorViewClickListener, showContent, 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, getDefaultViewModelProviderFactory, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLayoutInflater, getLifecycle, getLoaderManager, getParentFragment, getParentFragmentManager, 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, 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, registerForActivityResult, registerForActivityResult, 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
-
-
-
-
Method Detail
-
getContentLayoutId
protected int getContentLayoutId()
Description copied from class:com.cheetahdigital.uikit.architecture.mvp.MvpFragmentView
Provide the Content Layout ID which is of a Layout Resource Reference of Android- Specified by:
getContentLayoutId
in classcom.cheetahdigital.uikit.architecture.mvp.MvpFragmentView<V extends ReferralView,P extends ReferralPresenter<V>>
- Returns:
- id of the content layout
-
createPresenter
protected P createPresenter()
Description copied from class:com.cheetahdigital.uikit.architecture.mvp.MvpFragmentView
InstantiateMvpFragmentView.mPresenter
to be used for thisMvpActivityView
- Specified by:
createPresenter
in classcom.cheetahdigital.uikit.architecture.mvp.MvpFragmentView<V extends ReferralView,P extends ReferralPresenter<V>>
- Returns:
- return the
MvpBasePresenter
-
onCreateView
@Nullable public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
- Overrides:
onCreateView
in classcom.cheetahdigital.uikit.architecture.lce.LceFragmentView<V extends ReferralView,P extends ReferralPresenter<V>>
-
displayReferralCode
public void displayReferralCode(java.lang.String code)
Description copied from interface:ReferralView
This will be called by the presenter after a successful call to the API- Specified by:
displayReferralCode
in interfaceReferralView
- Parameters:
code
- the referral code
-
shareReferralCode
public void shareReferralCode()
Description copied from interface:ReferralView
This will be called by the presenter after a successful call to the API.- Specified by:
shareReferralCode
in interfaceReferralView
-
displayReferralCode
public void displayReferralCode(java.lang.String baseURL, java.lang.String code, java.lang.String jsonExtra)
- Specified by:
displayReferralCode
in interfaceReferralView
- Parameters:
baseURL
- the referral base linkcode
- the referral codejsonExtra
- content token extras
-
setShareToApps
public void setShareToApps(java.lang.String shareBody)
Construct target packages to share details- Parameters:
shareBody
- details to share
-
isRestrictedApp
public boolean isRestrictedApp(java.lang.String packageName)
Check if app is restricted- Parameters:
packageName
- packagename of the app- Returns:
- true if app is restricted, else false
-
isDuplicatePackage
public boolean isDuplicatePackage(android.content.Intent intent)
Check if intent has duplicate package- Parameters:
intent
- intent to compare- Returns:
- true if intent has duplicate, else false
-
getTargetShareIntent
@Nullable protected java.util.List<android.content.Intent> getTargetShareIntent()
- Returns:
- the list created in
setShareToApps(String)
, which is a list of supported target packages to share the referral details
-
getScreenName
public int getScreenName()
- Specified by:
getScreenName
in interfacecom.cheetahdigital.corekit.sdk.analytics.AnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classcom.cheetahdigital.uikit.architecture.mvp.MvpFragmentView<V extends ReferralView,P extends ReferralPresenter<V>>
-
-