metagloss 0.0.2

net.sf.metagloss.preference
Class AnnotatedPreferenceActivity

java.lang.Object
  extended by android.content.Context
      extended by android.content.ContextWrapper
          extended by android.view.ContextThemeWrapper
              extended by android.app.Activity
                  extended by android.app.ListActivity
                      extended by android.preference.PreferenceActivity
                          extended by net.sf.metagloss.preference.AnnotatedPreferenceActivity
All Implemented Interfaces:
android.content.ComponentCallbacks, android.content.SharedPreferences.OnSharedPreferenceChangeListener, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback

public abstract class AnnotatedPreferenceActivity
extends android.preference.PreferenceActivity
implements android.content.SharedPreferences.OnSharedPreferenceChangeListener

Shows a PreferenceScreen where each Preference#setSummary(CharSequence) can be configured with annotations to be updated to reflect the current value of the Preference.

Classes extending AnnotatedPreferenceActivity must set the XML preference resource by annotating the deriving class with PreferenceResource, the PreferenceScreen must not be inflated from inside the onCreate(Bundle) method. There is no need to override onCreate(Bundle), unless list adapters or somesuch need to be setup programmatically.

To bind data, derived classes should annotate public (static final) string fields containing the android:key values of Preference views. Alternatively, the annotations can be help by PreferenceResource, the android:key value is then assigned for each annotation separately. The BindPreference annotation is the base annotation required to process the view. Additionally, BooleanString can be used to format the true/false values of CheckBoxPreferences, IntegerConstraint and FloatConstraint enforces bound numeric ranges for EditTextPreferences.

To directly open a sub-PreferenceScreen, add the INTENT_SUB_PREFS key inside the intent passed to the derived class. The value should be a string matching the android:key value of the desired PreferenceScreen.

Redirecting to child PreferenceScreen

Intent intent = new Intent(getApplicationContext(), YourApplicationSettings.class);
intent.putExtra(AnnotatedPreferenceActivity.INTENT_SUB_PREFS,
    "android:key-of-a-PreferenceScreen";
startActivity(intent);

Lastly, if a derived class overrides #onSharedPreferenceChanged(SharedPreferences, String), the same method has to be called on the super class.


Field Summary
static java.lang.String INTENT_SUB_PREFS
          Put in Intent#putExtra(String, String) to open a PreferenceScreen other than the root.
 
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, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, TELEPHONY_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
 
Constructor Summary
AnnotatedPreferenceActivity()
           
 
Method Summary
protected  void onCreate(android.os.Bundle savedInstanceState)
           
protected  void onResume()
           
 void onSharedPreferenceChanged(android.content.SharedPreferences sharedPreferences, java.lang.String key)
           
protected  void onStop()
           
protected  void setIntitialPrefDescriptions()
           
 
Methods inherited from class android.preference.PreferenceActivity
addPreferencesFromIntent, addPreferencesFromResource, findPreference, getPreferenceManager, getPreferenceScreen, onActivityResult, onContentChanged, onDestroy, onNewIntent, onPreferenceTreeClick, onRestoreInstanceState, onSaveInstanceState, setPreferenceScreen
 
Methods inherited from class android.app.ListActivity
getListAdapter, getListView, getSelectedItemId, getSelectedItemPosition, onListItemClick, setListAdapter, setSelection
 
Methods inherited from class android.app.Activity
addContentView, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dispatchKeyEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, finalize, findViewById, finish, finishActivity, finishActivityFromChild, finishFromChild, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getCurrentFocus, getInstanceCount, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLocalClassName, getMenuInflater, getParent, getPreferences, getRequestedOrientation, getSystemService, getTaskId, getTitle, getTitleColor, getVolumeControlStream, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, getWindow, getWindowManager, hasWindowFocus, isChild, isFinishing, isTaskRoot, managedQuery, moveTaskToBack, onApplyThemeResource, onAttachedToWindow, onBackPressed, onChildTitleChanged, onConfigurationChanged, onContextItemSelected, onContextMenuClosed, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateOptionsMenu, onCreatePanelMenu, onCreatePanelView, onCreateThumbnail, onCreateView, onDetachedFromWindow, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyUp, onLowMemory, onMenuItemSelected, onMenuOpened, onOptionsItemSelected, onOptionsMenuClosed, onPanelClosed, onPause, onPostCreate, onPostResume, onPrepareDialog, onPrepareOptionsMenu, onPreparePanel, onRestart, onRetainNonConfigurationInstance, onSearchRequested, onStart, onTitleChanged, onTouchEvent, onTrackballEvent, onUserInteraction, onUserLeaveHint, onWindowAttributesChanged, onWindowFocusChanged, openContextMenu, openOptionsMenu, overridePendingTransition, registerForContextMenu, removeDialog, requestWindowFeature, runOnUiThread, setContentView, setContentView, setContentView, setDefaultKeyMode, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setIntent, setPersistent, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setTitle, setTitle, setTitleColor, setVisible, setVolumeControlStream, showDialog, startActivity, startActivityForResult, startActivityFromChild, startActivityIfNeeded, startIntentSender, startIntentSenderForResult, startIntentSenderFromChild, startManagingCursor, startNextMatchingActivity, startSearch, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterForContextMenu
 
Methods inherited from class android.view.ContextThemeWrapper
attachBaseContext, getTheme, setTheme
 
Methods inherited from class android.content.ContextWrapper
bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkUriPermission, checkUriPermission, clearWallpaper, createPackageContext, databaseList, deleteDatabase, deleteFile, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getContentResolver, getDatabasePath, getDir, getFilesDir, getFileStreamPath, getMainLooper, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getWallpaper, grantUriPermission, isRestricted, openFileInput, openFileOutput, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, removeStickyBroadcast, revokeUriPermission, sendBroadcast, sendBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendStickyBroadcast, sendStickyOrderedBroadcast, setWallpaper, setWallpaper, startInstrumentation, startService, stopService, unbindService, unregisterReceiver
 
Methods inherited from class android.content.Context
getString, getString, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INTENT_SUB_PREFS

public static final java.lang.String INTENT_SUB_PREFS
Put in Intent#putExtra(String, String) to open a PreferenceScreen other than the root. The value should match the android:key of the PreferenceScreen to open.

Constant Field Value:
"net.sf.boincecho.SubPrefs"
Constructor Detail

AnnotatedPreferenceActivity

public AnnotatedPreferenceActivity()
Method Detail

onCreate

protected void onCreate(android.os.Bundle savedInstanceState)
Overrides:
onCreate in class android.preference.PreferenceActivity

onResume

protected void onResume()
Overrides:
onResume in class android.app.Activity

onSharedPreferenceChanged

public void onSharedPreferenceChanged(android.content.SharedPreferences sharedPreferences,
                                      java.lang.String key)
Specified by:
onSharedPreferenceChanged in interface android.content.SharedPreferences.OnSharedPreferenceChangeListener

onStop

protected void onStop()
Overrides:
onStop in class android.preference.PreferenceActivity

setIntitialPrefDescriptions

protected void setIntitialPrefDescriptions()