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 theProductto request detailIntentKey.PRIMARY_PARAMS- instance ofProductsParamsusedKEY_ORDER_ITEM- serialized value ofOrderItemwhich 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 fromProductsAPIcalls
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringGO_TO_CUSTOMIZE_ITEM_SCREENstatic java.lang.StringKEY_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 PcreatePresenter()InstantiateMvpActivityView.mPresenterto be used for thisMvpActivityViewprotected android.widget.AdapterView.OnItemSelectedListenercreateSpinnerItemSelectedListener()Create an instance ofAdapterView.OnItemClickListenerthat handles the behavior of the spinner itemsvoiddisplayAttribute(Attributes attributes, java.lang.String[] options, int defaultSelected)Shows theProductattributesprotected intgetContentLayoutId()Provide the Content Layout ID which is of a Layout Resource Reference of AndroidintgetScreenName()Returns the screen name to display.protected voidinitSpinner(java.lang.String[] quantityList)Create a simple spinner containing passed list of string.voidlaunchCustomizeScreen()Launch the intended custom screen for handling product group componentprotected voidonActivityResult(int requestCode, int resultCode, android.content.Intent data)voidonCheckOutListener()voidonClick(android.view.View v)protected voidonCreate(android.os.Bundle savedInstanceState)voidonStripClickListener()voidshowComponentAttributes(Component component, java.lang.String optionLabel)Notifies the view to showComponentattrobutesvoidshowComponentDefinition(Component component)Notifies the view to showComponentdefinition detailsvoidshowCustomizeView(boolean show)Show/Hide the view related to customizationvoidshowProductAttribute(boolean show)Show/Hide the views related to product attributevoidshowProductDetails(Product product)Notifies the view to show theProductdetails 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:
onCreatein 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.OnItemClickListenerthat handles the behavior of the spinner items- Returns:
- instance of
AdapterView.OnItemClickListener
-
launchCustomizeScreen
public void launchCustomizeScreen()
Description copied from interface:ProductDetailsViewLaunch the intended custom screen for handling product group component- Specified by:
launchCustomizeScreenin interfaceProductDetailsView
-
getScreenName
public int getScreenName()
Description copied from class:ThemedActivityReturns the screen name to display.- Specified by:
getScreenNamein interfaceAnalyticsManager.AnalyticsScreen- Overrides:
getScreenNamein classThemedActivity- Returns:
- The screen name.
-
getContentLayoutId
protected int getContentLayoutId()
Description copied from class:MvpActivityViewProvide the Content Layout ID which is of a Layout Resource Reference of Android- Specified by:
getContentLayoutIdin classMvpActivityView<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>- Returns:
- id of the content layout
-
createPresenter
protected P createPresenter()
Description copied from class:MvpActivityViewInstantiateMvpActivityView.mPresenterto be used for thisMvpActivityView- Specified by:
createPresenterin classMvpActivityView<V extends ProductDetailsView,P extends ProductDetailsPresenter<V>>- Returns:
- the
MvpBasePresenter
-
showProductDetails
public void showProductDetails(Product product)
Description copied from interface:ProductDetailsViewNotifies the view to show theProductdetails including total costs- Specified by:
showProductDetailsin interfaceProductDetailsView- Parameters:
product- retrievedProduct
-
showCustomizeView
public void showCustomizeView(boolean show)
Description copied from interface:ProductDetailsViewShow/Hide the view related to customization- Specified by:
showCustomizeViewin interfaceProductDetailsView- Parameters:
show- true to show, else false
-
displayAttribute
public void displayAttribute(Attributes attributes, java.lang.String[] options, int defaultSelected)
Description copied from interface:ProductDetailsViewShows theProductattributes- Specified by:
displayAttributein interfaceProductDetailsView- Parameters:
attributes- retrieved fromProductoptions- list of options to selectdefaultSelected- index of the default selected item
-
showProductAttribute
public void showProductAttribute(boolean show)
Description copied from interface:ProductDetailsViewShow/Hide the views related to product attribute- Specified by:
showProductAttributein interfaceProductDetailsView- Parameters:
show- true to show, else false
-
showComponentDefinition
public void showComponentDefinition(Component component)
Description copied from interface:ProductDetailsViewNotifies the view to showComponentdefinition details- Specified by:
showComponentDefinitionin interfaceProductDetailsView- Parameters:
component- retrieved fromProduct
-
showComponentAttributes
public void showComponentAttributes(Component component, java.lang.String optionLabel)
Description copied from interface:ProductDetailsViewNotifies the view to showComponentattrobutes- Specified by:
showComponentAttributesin interfaceProductDetailsView- Parameters:
component- retrieved fromProductoptionLabel- label for the option
-
onActivityResult
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data)- Overrides:
onActivityResultin classandroidx.fragment.app.FragmentActivity
-
onClick
public void onClick(android.view.View v)
- Specified by:
onClickin interfaceandroid.view.View.OnClickListener
-
onCheckOutListener
public void onCheckOutListener()
- Specified by:
onCheckOutListenerin interfaceCartStrip.OnClickListener
-
onStripClickListener
public void onStripClickListener()
- Specified by:
onStripClickListenerin interfaceCartStrip.OnClickListener
-
-