Class ReferralCodeFragment<V extends ReferralView,​P extends ReferralPresenter<V>>

  • 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:

    • Nested Class Summary

      • Nested classes/interfaces inherited from class androidx.fragment.app.Fragment

        androidx.fragment.app.Fragment.InstantiationException, androidx.fragment.app.Fragment.SavedState
    • Field Summary

      • Fields inherited from class com.cheetahdigital.uikit.architecture.lce.LceFragmentView

        mContentView, mErrorView, mInitialLoad, mLoadingView
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected P createPresenter()
      Instantiate MvpFragmentView.mPresenter to be used for this MvpActivityView
      void displayReferralCode​(java.lang.String code)
      This will be called by the presenter after a successful call to the API
      void 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 Android
      int getScreenName()  
      protected java.util.List<android.content.Intent> getTargetShareIntent()  
      boolean isDuplicatePackage​(android.content.Intent intent)
      Check if intent has duplicate package
      boolean isRestrictedApp​(java.lang.String packageName)
      Check if app is restricted
      android.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 details
      void 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
      • 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
    • Constructor Detail

      • ReferralCodeFragment

        public ReferralCodeFragment()
    • 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 class com.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
        Instantiate MvpFragmentView.mPresenter to be used for this MvpActivityView
        Specified by:
        createPresenter in class com.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 class com.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 interface ReferralView
        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 interface ReferralView
      • displayReferralCode

        public void displayReferralCode​(java.lang.String baseURL,
                                        java.lang.String code,
                                        java.lang.String jsonExtra)
        Specified by:
        displayReferralCode in interface ReferralView
        Parameters:
        baseURL - the referral base link
        code - the referral code
        jsonExtra - 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 interface com.cheetahdigital.corekit.sdk.analytics.AnalyticsManager.AnalyticsScreen
        Overrides:
        getScreenName in class com.cheetahdigital.uikit.architecture.mvp.MvpFragmentView<V extends ReferralView,​P extends ReferralPresenter<V>>