Class ProductDetailsActivity<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>
- java.lang.Object
-
- android.content.Context
-
- android.content.ContextWrapper
-
- android.view.ContextThemeWrapper
-
- android.app.Activity
-
- androidx.core.app.ComponentActivity
-
- androidx.activity.ComponentActivity
-
- androidx.fragment.app.FragmentActivity
-
- androidx.appcompat.app.AppCompatActivity
-
- com.cheetahdigital.uikit.application.BaseActivity
-
- com.cheetahdigital.uikit.application.ThemedActivity
-
- com.cheetahdigital.uikit.architecture.mvp.MvpActivityView<V,P>
-
- com.cheetahdigital.uikit.architecture.lce.LceActivityView<V,P>
-
- com.cheetahdigital.uikit.architecture.lce.ToolbarLceActivityView<V,P>
-
- com.cheetahdigital.products.ui.details.ProductDetailsActivity<V,P>
-
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.content.ComponentCallbacks2
,android.view.KeyEvent.Callback
,android.view.LayoutInflater.Factory
,android.view.LayoutInflater.Factory2
,android.view.View.OnClickListener
,android.view.View.OnCreateContextMenuListener
,android.view.Window.Callback
,androidx.activity.OnBackPressedDispatcherOwner
,androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider
,androidx.appcompat.app.AppCompatCallback
,androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback
,androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator
,androidx.core.app.TaskStackBuilder.SupportParentable
,androidx.core.view.KeyEventDispatcher.Component
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
,AnalyticsManager.AnalyticsScreen
,ProductDetailsView
,CartStrip.OnClickListener
,LceView
,MvpLceView
,MvpView
public class ProductDetailsActivity<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>> extends ToolbarLceActivityView<V,P> implements ProductDetailsView, android.view.View.OnClickListener, CartStrip.OnClickListener
The Activity class for show Product details Can receive the following intent extras:IntentKey.PRIMARY_ID
- id of theProduct
to request detailIntentKey.PRIMARY_PARAMS
- instance ofProductsParams
usedKEY_ORDER_ITEM
- serialized value ofOrderItem
which will be used as container for the productGO_TO_CUSTOMIZE_ITEM_SCREEN
- flag used to configure whether custom screen is open immediately to populate params fromProductsAPI
calls
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GO_TO_CUSTOMIZE_ITEM_SCREEN
static java.lang.String
KEY_ORDER_ITEM
-
Fields inherited from class com.cheetahdigital.uikit.architecture.lce.ToolbarLceActivityView
mToolbar
-
Fields inherited from class com.cheetahdigital.uikit.architecture.lce.LceActivityView
mContentView, mErrorView, mLoadingView
-
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
-
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FINGERPRINT_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
-
-
Constructor Summary
Constructors Constructor Description ProductDetailsActivity()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected P
createPresenter()
InstantiateMvpActivityView.mPresenter
to be used for thisMvpActivityView
protected android.widget.AdapterView.OnItemSelectedListener
createSpinnerItemSelectedListener()
Create an instance ofAdapterView.OnItemClickListener
that handles the behavior of the spinner itemsvoid
displayAttribute(Attributes attributes, java.lang.String[] options, int defaultSelected)
Shows theProduct
attributesprotected int
getContentLayoutId()
Provide the Content Layout ID which is of a Layout Resource Reference of Androidint
getScreenName()
Returns the screen name to display.protected void
initSpinner(java.lang.String[] quantityList)
Create a simple spinner containing passed list of string.void
launchCustomizeScreen()
Launch the intended custom screen for handling product group componentprotected void
onActivityResult(int requestCode, int resultCode, android.content.Intent data)
void
onCheckOutListener()
void
onClick(android.view.View v)
protected void
onCreate(android.os.Bundle savedInstanceState)
void
onStripClickListener()
void
showComponentAttributes(Component component, java.lang.String optionLabel)
Notifies the view to showComponent
attrobutesvoid
showComponentDefinition(Component component)
Notifies the view to showComponent
definition detailsvoid
showCustomizeView(boolean show)
Show/Hide the view related to customizationvoid
showProductAttribute(boolean show)
Show/Hide the views related to product attributevoid
showProductDetails(Product product)
Notifies the view to show theProduct
details including total costs-
Methods inherited from class com.cheetahdigital.uikit.architecture.lce.ToolbarLceActivityView
getAction, getToolbarNavigationIcon, onOptionsItemSelected
-
Methods inherited from class com.cheetahdigital.uikit.architecture.lce.LceActivityView
onLoadFailed, onLoadSuccess, setErrorViewClickListener, showContent, showError, showLoading
-
Methods inherited from class com.cheetahdigital.uikit.architecture.mvp.MvpActivityView
captureSharedElementValues, getEnterTransition, getExitTransition, getPresenter, getReenterTransition, getReturnTransition, getSharedElementViews, initSharedElementValues, isSharedAnimationEnabled, onDestroy, startActivity, startActivityForResult
-
Methods inherited from class com.cheetahdigital.uikit.application.ThemedActivity
attachBaseContext, getIntentAction, handleShake, isShakeHandlingEnabled, onPause, onResume, registerShakeListener, startActivity, startActivityForResult, unregisterShakeListener
-
Methods inherited from class com.cheetahdigital.uikit.application.BaseActivity
onErrorEvent, onStart, onStop
-
Methods inherited from class androidx.appcompat.app.AppCompatActivity
addContentView, closeOptionsMenu, dispatchKeyEvent, findViewById, getDelegate, getDrawerToggleDelegate, getMenuInflater, getResources, getSupportActionBar, getSupportParentActivityIntent, invalidateOptionsMenu, onConfigurationChanged, onContentChanged, onCreateSupportNavigateUpTaskStack, onKeyDown, onMenuItemSelected, onMenuOpened, onNightModeChanged, onPanelClosed, onPostCreate, onPostResume, onPrepareSupportNavigateUpTaskStack, onSaveInstanceState, onSupportActionModeFinished, onSupportActionModeStarted, onSupportContentChanged, onSupportNavigateUp, onTitleChanged, onWindowStartingSupportActionMode, openOptionsMenu, setContentView, setContentView, setContentView, setSupportActionBar, setSupportProgress, setSupportProgressBarIndeterminate, setSupportProgressBarIndeterminateVisibility, setSupportProgressBarVisibility, setTheme, startSupportActionMode, supportInvalidateOptionsMenu, supportNavigateUpTo, supportRequestWindowFeature, supportShouldUpRecreateTask
-
Methods inherited from class androidx.fragment.app.FragmentActivity
dump, getSupportFragmentManager, getSupportLoaderManager, onAttachFragment, onCreatePanelMenu, onCreateView, onCreateView, onLowMemory, onMultiWindowModeChanged, onNewIntent, onPictureInPictureModeChanged, onPrepareOptionsPanel, onPreparePanel, onRequestPermissionsResult, onResumeFragments, onStateNotSaved, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityFromFragment, startActivityFromFragment, startIntentSenderForResult, startIntentSenderForResult, startIntentSenderFromFragment, supportFinishAfterTransition, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
-
Methods inherited from class androidx.activity.ComponentActivity
getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, onBackPressed, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance
-
Methods inherited from class androidx.core.app.ComponentActivity
dispatchKeyShortcutEvent, getExtraData, putExtraData, superDispatchKeyEvent
-
Methods inherited from class android.app.Activity
closeContextMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, enterPictureInPictureMode, enterPictureInPictureMode, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, isActivityTransitionRunning, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onChildTitleChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelView, onCreateThumbnail, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onMultiWindowModeChanged, onNavigateUp, onNavigateUpFromChild, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureModeChanged, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRestart, onRestoreInstanceState, onRestoreInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onTrimMemory, onUserInteraction, onUserLeaveHint, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerForContextMenu, releaseInstance, removeDialog, reportFullyDrawn, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShowWhenLocked, setTaskDescription, setTitle, setTitle, setTitleColor, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterForContextMenu
-
Methods inherited from class android.view.ContextThemeWrapper
applyOverrideConfiguration, getAssets, getTheme, setTheme
-
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createConfigurationContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
-
Methods inherited from class android.content.Context
getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, unregisterComponentCallbacks
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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
-
-
-
-
Field Detail
-
KEY_ORDER_ITEM
public static final java.lang.String KEY_ORDER_ITEM
- See Also:
- Constant Field Values
-
GO_TO_CUSTOMIZE_ITEM_SCREEN
public static final java.lang.String GO_TO_CUSTOMIZE_ITEM_SCREEN
- See Also:
- Constant Field Values
-
-
Method Detail
-
onCreate
protected void onCreate(android.os.Bundle savedInstanceState)
- Overrides:
onCreate
in classToolbarLceActivityView<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>
-
initSpinner
protected void initSpinner(java.lang.String[] quantityList)
Create a simple spinner containing passed list of string. Default values are 1-10- Parameters:
quantityList
- array of string used to display in spinner
-
createSpinnerItemSelectedListener
protected android.widget.AdapterView.OnItemSelectedListener createSpinnerItemSelectedListener()
Create an instance ofAdapterView.OnItemClickListener
that handles the behavior of the spinner items- Returns:
- instance of
AdapterView.OnItemClickListener
-
launchCustomizeScreen
public void launchCustomizeScreen()
Description copied from interface:ProductDetailsView
Launch the intended custom screen for handling product group component- Specified by:
launchCustomizeScreen
in interfaceProductDetailsView
-
getScreenName
public int getScreenName()
Description copied from class:ThemedActivity
Returns the screen name to display.- Specified by:
getScreenName
in interfaceAnalyticsManager.AnalyticsScreen
- Overrides:
getScreenName
in classThemedActivity
- Returns:
- The screen name.
-
getContentLayoutId
protected int getContentLayoutId()
Description copied from class:MvpActivityView
Provide the Content Layout ID which is of a Layout Resource Reference of Android- Specified by:
getContentLayoutId
in classMvpActivityView<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>
- Returns:
- id of the content layout
-
createPresenter
protected P createPresenter()
Description copied from class:MvpActivityView
InstantiateMvpActivityView.mPresenter
to be used for thisMvpActivityView
- Specified by:
createPresenter
in classMvpActivityView<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>
- Returns:
- the
MvpBasePresenter
-
showProductDetails
public void showProductDetails(Product product)
Description copied from interface:ProductDetailsView
Notifies the view to show theProduct
details including total costs- Specified by:
showProductDetails
in interfaceProductDetailsView
- Parameters:
product
- retrievedProduct
-
showCustomizeView
public void showCustomizeView(boolean show)
Description copied from interface:ProductDetailsView
Show/Hide the view related to customization- Specified by:
showCustomizeView
in interfaceProductDetailsView
- Parameters:
show
- true to show, else false
-
displayAttribute
public void displayAttribute(Attributes attributes, java.lang.String[] options, int defaultSelected)
Description copied from interface:ProductDetailsView
Shows theProduct
attributes- Specified by:
displayAttribute
in interfaceProductDetailsView
- Parameters:
attributes
- retrieved fromProduct
options
- list of options to selectdefaultSelected
- index of the default selected item
-
showProductAttribute
public void showProductAttribute(boolean show)
Description copied from interface:ProductDetailsView
Show/Hide the views related to product attribute- Specified by:
showProductAttribute
in interfaceProductDetailsView
- Parameters:
show
- true to show, else false
-
showComponentDefinition
public void showComponentDefinition(Component component)
Description copied from interface:ProductDetailsView
Notifies the view to showComponent
definition details- Specified by:
showComponentDefinition
in interfaceProductDetailsView
- Parameters:
component
- retrieved fromProduct
-
showComponentAttributes
public void showComponentAttributes(Component component, java.lang.String optionLabel)
Description copied from interface:ProductDetailsView
Notifies the view to showComponent
attrobutes- Specified by:
showComponentAttributes
in interfaceProductDetailsView
- Parameters:
component
- retrieved fromProduct
optionLabel
- label for the option
-
onActivityResult
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data)
- Overrides:
onActivityResult
in classandroidx.fragment.app.FragmentActivity
-
onClick
public void onClick(android.view.View v)
- Specified by:
onClick
in interfaceandroid.view.View.OnClickListener
-
onCheckOutListener
public void onCheckOutListener()
- Specified by:
onCheckOutListener
in interfaceCartStrip.OnClickListener
-
onStripClickListener
public void onStripClickListener()
- Specified by:
onStripClickListener
in interfaceCartStrip.OnClickListener
-
-