public abstract class SettingsBaseActivity extends PreferenceActivity
PreferenceActivity implementation that uses AppCompatDelegate to provide
compatibility support features like attaching of custom action bar via setSupportActionBar(Toolbar).
This activity also intercepts default setting of list adapter with headers and uses SettingHeadersAdapter
to provide item views for the loaded preference headers via loadHeadersFromResource(int, List).
The headers adapter is specified via setHeadersAdapter(ListAdapter) and the current one
may be obtained via setHeadersAdapter(ListAdapter). The headers that has been loaded and
are used by the headers adapter may be obtained via getHeaders().
If a Toolbar should be presented in the activity's view hierarchy, it may be added via
addToolbar() which also attacheds the added toolbar as support action bar.
uiSettingsActivityStylePreferenceActivity.HeaderEXTRA_NO_HEADERS, EXTRA_SHOW_FRAGMENT, EXTRA_SHOW_FRAGMENT_ARGUMENTS, EXTRA_SHOW_FRAGMENT_SHORT_TITLE, EXTRA_SHOW_FRAGMENT_TITLE, HEADER_ID_UNDEFINEDDEFAULT_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_OKACCESSIBILITY_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_NOT_FOREGROUND, BIND_WAIVE_PRIORITY, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, FINGERPRINT_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_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, RESTRICTIONS_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_P2P_SERVICE, WIFI_SERVICE, WINDOW_SERVICETRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN| Constructor and Description |
|---|
SettingsBaseActivity() |
| Modifier and Type | Method and Description |
|---|---|
void |
addContentView(View view,
ViewGroup.LayoutParams params) |
protected Toolbar |
addToolbar()
Adds
Toolbar into view hierarchy of this activity if it has not been added yet. |
protected AppCompatDelegate |
delegate()
Returns the application compatibility delegate that is used by this activity to provide
compatibility features like attaching of support action bar via
setSupportActionBar(Toolbar). |
View |
findViewById(int id) |
protected View |
getContentView()
Returns the content (root) view of this activity.
|
protected List<PreferenceActivity.Header> |
getHeaders()
Returns the list of headers that has been loaded via
loadHeadersFromResource(int, List). |
ListAdapter |
getHeadersAdapter()
Returns the current headers adapter specified for this activity.
|
ListAdapter |
getListAdapter()
Deprecated.
Use
getHeadersAdapter() instead. |
MenuInflater |
getMenuInflater() |
ActionBar |
getSupportActionBar()
Returns the support action bar attached to this activity via
setSupportActionBar(Toolbar). |
protected Toolbar |
getToolbar()
Returns the toolbar added to the view hierarchy of this activity via
addToolbar(). |
void |
invalidateOptionsMenu() |
void |
loadHeadersFromResource(int resid,
List<PreferenceActivity.Header> target) |
void |
onConfigurationChanged(Configuration newConfig) |
void |
onContentChanged() |
protected void |
onCreate(Bundle savedInstanceState) |
protected Toolbar |
onCreateToolbar(LayoutInflater inflater,
ViewGroup root)
Invoked as result to call of
addToolbar() to create a new instance of Toolbar
that will be added into view hierarchy of this activity. |
protected void |
onDestroy() |
protected void |
onListItemClick(ListView l,
View v,
int position,
long id) |
protected void |
onPostCreate(Bundle savedInstanceState) |
protected void |
onPostResume() |
protected void |
onSaveInstanceState(Bundle outState) |
protected void |
onStop() |
protected void |
onTitleChanged(CharSequence title,
int color) |
void |
setContentView(int layoutResID) |
void |
setContentView(View view) |
void |
setContentView(View view,
ViewGroup.LayoutParams params) |
void |
setHeadersAdapter(ListAdapter adapter)
Sets an adapter that will provide item views for preference items to be presented in the
view hierarchy of this activity.
|
void |
setListAdapter(ListAdapter adapter)
Deprecated.
Use
setHeadersAdapter(ListAdapter) instead. |
void |
setSupportActionBar(Toolbar toolbar)
Attaches the given toolbar to this activity as support action bar.
|
addPreferencesFromIntent, addPreferencesFromResource, findPreference, finishPreferencePanel, getPreferenceManager, getPreferenceScreen, hasHeaders, invalidateHeaders, isMultiPane, isValidFragment, onActivityResult, onBuildHeaders, onBuildStartFragmentIntent, onGetInitialHeader, onGetNewHeader, onHeaderClick, onIsHidingHeaders, onIsMultiPane, onNewIntent, onPreferenceStartFragment, onPreferenceTreeClick, onRestoreInstanceState, setListFooter, setParentTitle, setPreferenceScreen, showBreadCrumbs, startPreferenceFragment, startPreferencePanel, startWithFragment, startWithFragment, switchToHeader, switchToHeadergetListView, getSelectedItemId, getSelectedItemPosition, setSelectioncloseContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyShortcutEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, dump, enterPictureInPictureMode, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMediaController, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onBackPressed, onChildTitleChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelMenu, onCreatePanelView, onCreateThumbnail, onCreateView, onCreateView, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onLowMemory, onMenuItemSelected, onMenuOpened, onMultiWindowModeChanged, onNavigateUp, onNavigateUpFromChild, onOptionsItemSelected, onOptionsMenuClosed, onPanelClosed, onPause, onPictureInPictureModeChanged, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onPreparePanel, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRequestPermissionsResult, onRestart, onRestoreInstanceState, onResume, onRetainNonConfigurationInstance, onSaveInstanceState, onSearchRequested, onSearchRequested, onStart, onStateNotSaved, onTouchEvent, onTrackballEvent, onTrimMemory, onUserInteraction, onUserLeaveHint, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, openOptionsMenu, overridePendingTransition, postponeEnterTransition, recreate, registerForContextMenu, releaseInstance, removeDialog, reportFullyDrawn, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, runOnUiThread, setActionBar, setContentTransitionManager, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setIntent, setMediaController, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setTaskDescription, setTheme, setTitle, setTitle, setTitleColor, setVisible, setVolumeControlStream, setVrModeEnabled, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivity, startActivity, startActivityForResult, startActivityForResult, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderForResult, startIntentSenderForResult, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterForContextMenuapplyOverrideConfiguration, attachBaseContext, getAssets, getResources, getThemebindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createConfigurationContext, 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, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startInstrumentation, startService, stopService, unbindService, unregisterReceivergetColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, unregisterComponentCallbacks@NonNull protected final AppCompatDelegate delegate()
setSupportActionBar(Toolbar).protected void onCreate(@Nullable Bundle savedInstanceState)
onCreate in class PreferenceActivitypublic void loadHeadersFromResource(@XmlRes int resid, @NonNull List<PreferenceActivity.Header> target)
loadHeadersFromResource in class PreferenceActivity@Nullable protected final List<PreferenceActivity.Header> getHeaders()
loadHeadersFromResource(int, List).null if no headers has been loaded yet.public void setHeadersAdapter(@Nullable ListAdapter adapter)
adapter - The desired adapter providing headers for this activity's list view. May be
null to clear the current one.@Nullable public ListAdapter getHeadersAdapter()
null if there was no adapter specified yet.setHeadersAdapter(ListAdapter)@Deprecated public final void setListAdapter(ListAdapter adapter)
setHeadersAdapter(ListAdapter) instead.setListAdapter in class ListActivity@Deprecated public final ListAdapter getListAdapter()
getHeadersAdapter() instead.getListAdapter in class ListActivitynull.protected void onPostCreate(@Nullable Bundle savedInstanceState)
onPostCreate in class Activity@NonNull public MenuInflater getMenuInflater()
getMenuInflater in class Activitypublic void invalidateOptionsMenu()
invalidateOptionsMenu in class Activitypublic void setContentView(@LayoutRes int layoutResID)
setContentView in class Activitypublic void setContentView(View view)
setContentView in class Activitypublic void setContentView(View view, ViewGroup.LayoutParams params)
setContentView in class Activitypublic void addContentView(View view, ViewGroup.LayoutParams params)
addContentView in class Activity@CallSuper public void onContentChanged()
onContentChanged in interface Window.CallbackonContentChanged in class PreferenceActivity@NonNull protected final View getContentView()
NullPointerException - If content view of this activity has not been created yet.onContentChanged()@NonNull protected Toolbar addToolbar()
Toolbar into view hierarchy of this activity if it has not been added yet.
This implementation creates a new instance of the toolbar via onCreateToolbar(LayoutInflater, ViewGroup)
if it is not created and added yet and adds it into this activity's content view at the
0 position, which is at the top. Also the added toolbar is attached to this activity
as support action bar via setSupportActionBar(Toolbar) and if this activity is not
currently in state of hiding headers, the displaying of home as up for the attached action bar
is enabled via ActionBar#setDisplayHomeAsUpEnabled(boolean) and View.OnClickListener
is attached to the toolbar via Toolbar#setNavigationOnClickListener(View.OnClickListener)
which when its View.OnClickListener#onClick(View) callback is fired calls
Activity.onBackPressed() of this activity.
AndroidRuntimeException - If the content view of this activity is not a ViewGroup, which
should not happen.getToolbar(),
getSupportActionBar()@NonNull protected Toolbar onCreateToolbar(@NonNull LayoutInflater inflater, @NonNull ViewGroup root)
addToolbar() to create a new instance of Toolbar
that will be added into view hierarchy of this activity.
This implementation by default inflates R.layout#ui_toolbar layout which contains
single Toolbar. Subclasses may override this method to create or inflate custom toolbar.
inflater - Layout inflater that may be used to inflate the requested toolbar.root - This activity's root view.@Nullable protected Toolbar getToolbar()
addToolbar().
If added, this toolbar may be also obtained as support action bar via getSupportActionBar().
null otherwise.public View findViewById(@IdRes int id)
findViewById in class Activitypublic void setSupportActionBar(@Nullable Toolbar toolbar)
toolbar - The desired toolbar to attach as action bar. May be null to clear the
current one.getSupportActionBar()@Nullable public ActionBar getSupportActionBar()
setSupportActionBar(Toolbar).null if there is no action bar attached.protected void onPostResume()
onPostResume in class Activityprotected void onListItemClick(ListView l, View v, int position, long id)
onListItemClick in class PreferenceActivityprotected void onSaveInstanceState(Bundle outState)
onSaveInstanceState in class PreferenceActivityprotected void onTitleChanged(CharSequence title, int color)
onTitleChanged in class Activitypublic void onConfigurationChanged(Configuration newConfig)
onConfigurationChanged in interface ComponentCallbacksonConfigurationChanged in class Activityprotected void onStop()
onStop in class PreferenceActivityprotected void onDestroy()
onDestroy in class PreferenceActivity