Merge "Add Pixel 3 time_in_state format parsing to KernelTimeInStateReader"
diff --git a/api/current.txt b/api/current.txt
old mode 100755
new mode 100644
index 0704018..aa400cd
--- a/api/current.txt
+++ b/api/current.txt
@@ -34633,14 +34633,14 @@
package android.preference {
- public class CheckBoxPreference extends android.preference.TwoStatePreference {
+ public deprecated class CheckBoxPreference extends android.preference.TwoStatePreference {
ctor public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int);
ctor public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public CheckBoxPreference(android.content.Context, android.util.AttributeSet);
ctor public CheckBoxPreference(android.content.Context);
}
- public abstract class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener android.content.DialogInterface.OnDismissListener android.preference.PreferenceManager.OnActivityDestroyListener {
+ public abstract deprecated class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener android.content.DialogInterface.OnDismissListener android.preference.PreferenceManager.OnActivityDestroyListener {
ctor public DialogPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public DialogPreference(android.content.Context, android.util.AttributeSet, int);
ctor public DialogPreference(android.content.Context, android.util.AttributeSet);
@@ -34673,7 +34673,7 @@
method protected void showDialog(android.os.Bundle);
}
- public class EditTextPreference extends android.preference.DialogPreference {
+ public deprecated class EditTextPreference extends android.preference.DialogPreference {
ctor public EditTextPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public EditTextPreference(android.content.Context, android.util.AttributeSet, int);
ctor public EditTextPreference(android.content.Context, android.util.AttributeSet);
@@ -34684,7 +34684,7 @@
method public void setText(java.lang.String);
}
- public class ListPreference extends android.preference.DialogPreference {
+ public deprecated class ListPreference extends android.preference.DialogPreference {
ctor public ListPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public ListPreference(android.content.Context, android.util.AttributeSet, int);
ctor public ListPreference(android.content.Context, android.util.AttributeSet);
@@ -34702,7 +34702,7 @@
method public void setValueIndex(int);
}
- public class MultiSelectListPreference extends android.preference.DialogPreference {
+ public deprecated class MultiSelectListPreference extends android.preference.DialogPreference {
ctor public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int);
ctor public MultiSelectListPreference(android.content.Context, android.util.AttributeSet);
@@ -34718,7 +34718,7 @@
method public void setValues(java.util.Set<java.lang.String>);
}
- public class Preference implements java.lang.Comparable {
+ public deprecated class Preference implements java.lang.Comparable {
ctor public Preference(android.content.Context, android.util.AttributeSet, int, int);
ctor public Preference(android.content.Context, android.util.AttributeSet, int);
ctor public Preference(android.content.Context, android.util.AttributeSet);
@@ -34815,21 +34815,21 @@
field public static final int DEFAULT_ORDER = 2147483647; // 0x7fffffff
}
- public static class Preference.BaseSavedState extends android.view.AbsSavedState {
+ public static deprecated class Preference.BaseSavedState extends android.view.AbsSavedState {
ctor public Preference.BaseSavedState(android.os.Parcel);
ctor public Preference.BaseSavedState(android.os.Parcelable);
field public static final android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState> CREATOR;
}
- public static abstract interface Preference.OnPreferenceChangeListener {
+ public static abstract deprecated interface Preference.OnPreferenceChangeListener {
method public abstract boolean onPreferenceChange(android.preference.Preference, java.lang.Object);
}
- public static abstract interface Preference.OnPreferenceClickListener {
+ public static abstract deprecated interface Preference.OnPreferenceClickListener {
method public abstract boolean onPreferenceClick(android.preference.Preference);
}
- public abstract class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
+ public abstract deprecated class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
ctor public PreferenceActivity();
method public deprecated void addPreferencesFromIntent(android.content.Intent);
method public deprecated void addPreferencesFromResource(int);
@@ -34869,7 +34869,7 @@
field public static final long HEADER_ID_UNDEFINED = -1L; // 0xffffffffffffffffL
}
- public static final class PreferenceActivity.Header implements android.os.Parcelable {
+ public static final deprecated class PreferenceActivity.Header implements android.os.Parcelable {
ctor public PreferenceActivity.Header();
method public int describeContents();
method public java.lang.CharSequence getBreadCrumbShortTitle(android.content.res.Resources);
@@ -34895,14 +34895,14 @@
field public int titleRes;
}
- public class PreferenceCategory extends android.preference.PreferenceGroup {
+ public deprecated class PreferenceCategory extends android.preference.PreferenceGroup {
ctor public PreferenceCategory(android.content.Context, android.util.AttributeSet, int, int);
ctor public PreferenceCategory(android.content.Context, android.util.AttributeSet, int);
ctor public PreferenceCategory(android.content.Context, android.util.AttributeSet);
ctor public PreferenceCategory(android.content.Context);
}
- public abstract interface PreferenceDataStore {
+ public abstract deprecated interface PreferenceDataStore {
method public default boolean getBoolean(java.lang.String, boolean);
method public default float getFloat(java.lang.String, float);
method public default int getInt(java.lang.String, int);
@@ -34932,7 +34932,7 @@
method public abstract boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
}
- public abstract class PreferenceGroup extends android.preference.Preference {
+ public abstract deprecated class PreferenceGroup extends android.preference.Preference {
ctor public PreferenceGroup(android.content.Context, android.util.AttributeSet, int, int);
ctor public PreferenceGroup(android.content.Context, android.util.AttributeSet, int);
ctor public PreferenceGroup(android.content.Context, android.util.AttributeSet);
@@ -34951,7 +34951,7 @@
method public void setOrderingAsAdded(boolean);
}
- public class PreferenceManager {
+ public deprecated class PreferenceManager {
method public android.preference.PreferenceScreen createPreferenceScreen(android.content.Context);
method public android.preference.Preference findPreference(java.lang.CharSequence);
method public static android.content.SharedPreferences getDefaultSharedPreferences(android.content.Context);
@@ -34973,19 +34973,19 @@
field public static final java.lang.String METADATA_KEY_PREFERENCES = "android.preference";
}
- public static abstract interface PreferenceManager.OnActivityDestroyListener {
+ public static abstract deprecated interface PreferenceManager.OnActivityDestroyListener {
method public abstract void onActivityDestroy();
}
- public static abstract interface PreferenceManager.OnActivityResultListener {
+ public static abstract deprecated interface PreferenceManager.OnActivityResultListener {
method public abstract boolean onActivityResult(int, int, android.content.Intent);
}
- public static abstract interface PreferenceManager.OnActivityStopListener {
+ public static abstract deprecated interface PreferenceManager.OnActivityStopListener {
method public abstract void onActivityStop();
}
- public final class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener android.content.DialogInterface.OnDismissListener {
+ public final deprecated class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener android.content.DialogInterface.OnDismissListener {
method public void bind(android.widget.ListView);
method public android.app.Dialog getDialog();
method public android.widget.ListAdapter getRootAdapter();
@@ -34994,7 +34994,7 @@
method public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
}
- public class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
+ public deprecated class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
ctor public RingtonePreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public RingtonePreference(android.content.Context, android.util.AttributeSet, int);
ctor public RingtonePreference(android.content.Context, android.util.AttributeSet);
@@ -35011,7 +35011,7 @@
method public void setShowSilent(boolean);
}
- public class SwitchPreference extends android.preference.TwoStatePreference {
+ public deprecated class SwitchPreference extends android.preference.TwoStatePreference {
ctor public SwitchPreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public SwitchPreference(android.content.Context, android.util.AttributeSet, int);
ctor public SwitchPreference(android.content.Context, android.util.AttributeSet);
@@ -35024,7 +35024,7 @@
method public void setSwitchTextOn(int);
}
- public abstract class TwoStatePreference extends android.preference.Preference {
+ public abstract deprecated class TwoStatePreference extends android.preference.Preference {
ctor public TwoStatePreference(android.content.Context, android.util.AttributeSet, int, int);
ctor public TwoStatePreference(android.content.Context, android.util.AttributeSet, int);
ctor public TwoStatePreference(android.content.Context, android.util.AttributeSet);
diff --git a/api/system-current.txt b/api/system-current.txt
index 12c0450..8d800bc 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -4357,7 +4357,7 @@
package android.preference {
- public class PreferenceManager {
+ public deprecated class PreferenceManager {
method public boolean isStorageCredentialProtected();
method public void setStorageCredentialProtected();
}
diff --git a/core/java/android/preference/CheckBoxPreference.java b/core/java/android/preference/CheckBoxPreference.java
index fee3f0f1..948c6aa 100644
--- a/core/java/android/preference/CheckBoxPreference.java
+++ b/core/java/android/preference/CheckBoxPreference.java
@@ -27,11 +27,18 @@
* functionality.
* <p>
* This preference will store a boolean into the SharedPreferences.
- *
+ *
* @attr ref android.R.styleable#CheckBoxPreference_summaryOff
* @attr ref android.R.styleable#CheckBoxPreference_summaryOn
* @attr ref android.R.styleable#CheckBoxPreference_disableDependentsState
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class CheckBoxPreference extends TwoStatePreference {
public CheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) {
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java
index 4b5a7b4..96c8589 100644
--- a/core/java/android/preference/DialogPreference.java
+++ b/core/java/android/preference/DialogPreference.java
@@ -50,7 +50,14 @@
* @attr ref android.R.styleable#DialogPreference_dialogLayout
* @attr ref android.R.styleable#DialogPreference_positiveButtonText
* @attr ref android.R.styleable#DialogPreference_negativeButtonText
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public abstract class DialogPreference extends Preference implements
DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
PreferenceManager.OnActivityDestroyListener {
diff --git a/core/java/android/preference/EditTextPreference.java b/core/java/android/preference/EditTextPreference.java
index 4d2ac67..c09cec8 100644
--- a/core/java/android/preference/EditTextPreference.java
+++ b/core/java/android/preference/EditTextPreference.java
@@ -42,7 +42,14 @@
* This preference will store a string into the SharedPreferences.
* <p>
* See {@link android.R.styleable#EditText EditText Attributes}.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class EditTextPreference extends DialogPreference {
/**
* The edit text shown in the dialog.
diff --git a/core/java/android/preference/GenericInflater.java b/core/java/android/preference/GenericInflater.java
index 3319e64..7edc987 100644
--- a/core/java/android/preference/GenericInflater.java
+++ b/core/java/android/preference/GenericInflater.java
@@ -16,13 +16,6 @@
package android.preference;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.util.HashMap;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
import android.annotation.XmlRes;
import android.content.Context;
import android.content.res.XmlResourceParser;
@@ -32,6 +25,13 @@
import android.view.InflateException;
import android.view.LayoutInflater;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.util.HashMap;
+
// TODO: fix generics
/**
* Generic XML inflater. This has been adapted from {@link LayoutInflater} and
@@ -41,7 +41,14 @@
* @param T The type of the items to inflate
* @param P The type of parents (that is those items that contain other items).
* Must implement {@link GenericInflater.Parent}
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
abstract class GenericInflater<T, P extends GenericInflater.Parent> {
private final boolean DEBUG = false;
diff --git a/core/java/android/preference/ListPreference.java b/core/java/android/preference/ListPreference.java
index c0c71af..14c1dc81 100644
--- a/core/java/android/preference/ListPreference.java
+++ b/core/java/android/preference/ListPreference.java
@@ -36,7 +36,14 @@
*
* @attr ref android.R.styleable#ListPreference_entries
* @attr ref android.R.styleable#ListPreference_entryValues
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class ListPreference extends DialogPreference {
private CharSequence[] mEntries;
private CharSequence[] mEntryValues;
diff --git a/core/java/android/preference/MultiCheckPreference.java b/core/java/android/preference/MultiCheckPreference.java
index c1260a4..e3d0e26 100644
--- a/core/java/android/preference/MultiCheckPreference.java
+++ b/core/java/android/preference/MultiCheckPreference.java
@@ -16,8 +16,6 @@
package android.preference;
-import java.util.Arrays;
-
import android.annotation.ArrayRes;
import android.app.AlertDialog.Builder;
import android.content.Context;
@@ -27,6 +25,8 @@
import android.os.Parcelable;
import android.util.AttributeSet;
+import java.util.Arrays;
+
/**
* @hide
* A {@link Preference} that displays a list of entries as
@@ -34,7 +34,14 @@
*
* @attr ref android.R.styleable#ListPreference_entries
* @attr ref android.R.styleable#ListPreference_entryValues
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class MultiCheckPreference extends DialogPreference {
private CharSequence[] mEntries;
private String[] mEntryValues;
diff --git a/core/java/android/preference/MultiSelectListPreference.java b/core/java/android/preference/MultiSelectListPreference.java
index 138bd878..43182d9 100644
--- a/core/java/android/preference/MultiSelectListPreference.java
+++ b/core/java/android/preference/MultiSelectListPreference.java
@@ -35,10 +35,17 @@
* This preference will store a set of strings into the SharedPreferences.
* This set will contain one or more values from the
* {@link #setEntryValues(CharSequence[])} array.
- *
+ *
* @attr ref android.R.styleable#MultiSelectListPreference_entries
* @attr ref android.R.styleable#MultiSelectListPreference_entryValues
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class MultiSelectListPreference extends DialogPreference {
private CharSequence[] mEntries;
private CharSequence[] mEntryValues;
@@ -65,25 +72,25 @@
public MultiSelectListPreference(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.dialogPreferenceStyle);
}
-
+
public MultiSelectListPreference(Context context) {
this(context, null);
}
-
+
/**
* Sets the human-readable entries to be shown in the list. This will be
* shown in subsequent dialogs.
* <p>
* Each entry must have a corresponding index in
* {@link #setEntryValues(CharSequence[])}.
- *
+ *
* @param entries The entries.
* @see #setEntryValues(CharSequence[])
*/
public void setEntries(CharSequence[] entries) {
mEntries = entries;
}
-
+
/**
* @see #setEntries(CharSequence[])
* @param entriesResId The entries array as a resource.
@@ -91,21 +98,21 @@
public void setEntries(@ArrayRes int entriesResId) {
setEntries(getContext().getResources().getTextArray(entriesResId));
}
-
+
/**
* The list of entries to be shown in the list in subsequent dialogs.
- *
+ *
* @return The list as an array.
*/
public CharSequence[] getEntries() {
return mEntries;
}
-
+
/**
* The array to find the value to save for a preference when an entry from
* entries is selected. If a user clicks on the second item in entries, the
* second item in this array will be saved to the preference.
- *
+ *
* @param entryValues The array to be used as values to save for the preference.
*/
public void setEntryValues(CharSequence[] entryValues) {
@@ -119,20 +126,20 @@
public void setEntryValues(@ArrayRes int entryValuesResId) {
setEntryValues(getContext().getResources().getTextArray(entryValuesResId));
}
-
+
/**
* Returns the array of values to be saved for the preference.
- *
+ *
* @return The array of values.
*/
public CharSequence[] getEntryValues() {
return mEntryValues;
}
-
+
/**
* Sets the value of the key. This should contain entries in
* {@link #getEntryValues()}.
- *
+ *
* @param values The values to set for the key.
*/
public void setValues(Set<String> values) {
@@ -141,17 +148,17 @@
persistStringSet(values);
}
-
+
/**
* Retrieves the current value of the key.
*/
public Set<String> getValues() {
return mValues;
}
-
+
/**
* Returns the index of the given value (in the entry values array).
- *
+ *
* @param value The value whose index should be returned.
* @return The index of the value, or -1 if not found.
*/
@@ -165,17 +172,17 @@
}
return -1;
}
-
+
@Override
protected void onPrepareDialogBuilder(Builder builder) {
super.onPrepareDialogBuilder(builder);
-
+
if (mEntries == null || mEntryValues == null) {
throw new IllegalStateException(
"MultiSelectListPreference requires an entries array and " +
"an entryValues array.");
}
-
+
boolean[] checkedItems = getSelectedItems();
builder.setMultiChoiceItems(mEntries, checkedItems,
new DialogInterface.OnMultiChoiceClickListener() {
@@ -190,24 +197,24 @@
mNewValues.clear();
mNewValues.addAll(mValues);
}
-
+
private boolean[] getSelectedItems() {
final CharSequence[] entries = mEntryValues;
final int entryCount = entries.length;
final Set<String> values = mValues;
boolean[] result = new boolean[entryCount];
-
+
for (int i = 0; i < entryCount; i++) {
result[i] = values.contains(entries[i].toString());
}
-
+
return result;
}
-
+
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
-
+
if (positiveResult && mPreferenceChanged) {
final Set<String> values = mNewValues;
if (callChangeListener(values)) {
@@ -216,25 +223,25 @@
}
mPreferenceChanged = false;
}
-
+
@Override
protected Object onGetDefaultValue(TypedArray a, int index) {
final CharSequence[] defaultValues = a.getTextArray(index);
final int valueCount = defaultValues.length;
final Set<String> result = new HashSet<String>();
-
+
for (int i = 0; i < valueCount; i++) {
result.add(defaultValues[i].toString());
}
-
+
return result;
}
-
+
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
setValues(restoreValue ? getPersistedStringSet(mValues) : (Set<String>) defaultValue);
}
-
+
@Override
protected Parcelable onSaveInstanceState() {
final Parcelable superState = super.onSaveInstanceState();
@@ -242,42 +249,42 @@
// No need to save instance state
return superState;
}
-
+
final SavedState myState = new SavedState(superState);
myState.values = getValues();
return myState;
}
-
+
private static class SavedState extends BaseSavedState {
Set<String> values;
-
+
public SavedState(Parcel source) {
super(source);
values = new HashSet<String>();
String[] strings = source.readStringArray();
-
+
final int stringCount = strings.length;
for (int i = 0; i < stringCount; i++) {
values.add(strings[i]);
}
}
-
+
public SavedState(Parcelable superState) {
super(superState);
}
-
+
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeStringArray(values.toArray(new String[0]));
}
-
+
public static final Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
}
-
+
public SavedState[] newArray(int size) {
return new SavedState[size];
}
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java
index 2387657..3c1ba9d 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -86,7 +86,14 @@
* @attr ref android.R.styleable#Preference_recycleEnabled
* @attr ref android.R.styleable#Preference_singleLineTitle
* @attr ref android.R.styleable#Preference_iconSpaceReserved
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class Preference implements Comparable<Preference> {
/**
* Specify for {@link #setOrder(int)} if a specific order is not required.
@@ -165,7 +172,14 @@
* {@link Preference} has been changed by the user and is
* about to be set and/or persisted. This gives the client a chance
* to prevent setting and/or persisting the value.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnPreferenceChangeListener {
/**
* Called when a Preference has been changed by the user. This is
@@ -182,7 +196,14 @@
/**
* Interface definition for a callback to be invoked when a {@link Preference} is
* clicked.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnPreferenceClickListener {
/**
* Called when a Preference has been clicked.
@@ -2070,7 +2091,14 @@
/**
* A base class for managing the instance state of a {@link Preference}.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public static class BaseSavedState extends AbsSavedState {
public BaseSavedState(Parcel source) {
super(source);
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index 8ed2605..eab5937 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -97,34 +97,13 @@
* guide.</p>
* </div>
*
- * <a name="SampleCode"></a>
- * <h3>Sample Code</h3>
- *
- * <p>The following sample code shows a simple preference activity that
- * has two different sets of preferences. The implementation, consisting
- * of the activity itself as well as its two preference fragments is:</p>
- *
- * {@sample development/samples/ApiDemos/src/com/example/android/apis/preference/PreferenceWithHeaders.java
- * activity}
- *
- * <p>The preference_headers resource describes the headers to be displayed
- * and the fragments associated with them. It is:
- *
- * {@sample development/samples/ApiDemos/res/xml/preference_headers.xml headers}
- *
- * <p>The first header is shown by Prefs1Fragment, which populates itself
- * from the following XML resource:</p>
- *
- * {@sample development/samples/ApiDemos/res/xml/fragmented_preferences.xml preferences}
- *
- * <p>Note that this XML resource contains a preference screen holding another
- * fragment, the Prefs1FragmentInner implemented here. This allows the user
- * to traverse down a hierarchy of preferences; pressing back will pop each
- * fragment off the stack to return to the previous preferences.
- *
- * <p>See {@link PreferenceFragment} for information on implementing the
- * fragments themselves.
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public abstract class PreferenceActivity extends ListActivity implements
PreferenceManager.OnPreferenceTreeClickListener,
PreferenceFragment.OnPreferenceStartFragmentCallback {
@@ -337,7 +316,14 @@
/**
* Description of a single Header item that the user can select.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public static final class Header implements Parcelable {
/**
* Identifier for this header, to correlate with a new list when
diff --git a/core/java/android/preference/PreferenceCategory.java b/core/java/android/preference/PreferenceCategory.java
index 253481b..887e468 100644
--- a/core/java/android/preference/PreferenceCategory.java
+++ b/core/java/android/preference/PreferenceCategory.java
@@ -29,7 +29,14 @@
* read the <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>
* guide.</p>
* </div>
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class PreferenceCategory extends PreferenceGroup {
private static final String TAG = "PreferenceCategory";
diff --git a/core/java/android/preference/PreferenceDataStore.java b/core/java/android/preference/PreferenceDataStore.java
index 8caa404..5171632 100644
--- a/core/java/android/preference/PreferenceDataStore.java
+++ b/core/java/android/preference/PreferenceDataStore.java
@@ -39,7 +39,14 @@
*
* @see Preference#setPreferenceDataStore(PreferenceDataStore)
* @see PreferenceManager#setPreferenceDataStore(PreferenceDataStore)
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public interface PreferenceDataStore {
/**
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java
index 548895e..d6c069f0 100644
--- a/core/java/android/preference/PreferenceFragment.java
+++ b/core/java/android/preference/PreferenceFragment.java
@@ -88,25 +88,14 @@
* guide.</p>
* </div>
*
- * <a name="SampleCode"></a>
- * <h3>Sample Code</h3>
- *
- * <p>The following sample code shows a simple preference fragment that is
- * populated from a resource. The resource it loads is:</p>
- *
- * {@sample development/samples/ApiDemos/res/xml/preferences.xml preferences}
- *
- * <p>The fragment implementation itself simply populates the preferences
- * when created. Note that the preferences framework takes care of loading
- * the current values out of the app preferences and writing them when changed:</p>
- *
- * {@sample development/samples/ApiDemos/src/com/example/android/apis/preference/FragmentPreferences.java
- * fragment}
- *
* @see Preference
* @see PreferenceScreen
*
- * @deprecated Use {@link android.support.v7.preference.PreferenceFragmentCompat}
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
@Deprecated
public abstract class PreferenceFragment extends Fragment implements
diff --git a/core/java/android/preference/PreferenceFrameLayout.java b/core/java/android/preference/PreferenceFrameLayout.java
index 886338f..c667824 100644
--- a/core/java/android/preference/PreferenceFrameLayout.java
+++ b/core/java/android/preference/PreferenceFrameLayout.java
@@ -24,7 +24,14 @@
/**
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class PreferenceFrameLayout extends FrameLayout {
private static final int DEFAULT_BORDER_TOP = 0;
private static final int DEFAULT_BORDER_BOTTOM = 0;
diff --git a/core/java/android/preference/PreferenceGroup.java b/core/java/android/preference/PreferenceGroup.java
index f135b26..b33ea4e 100644
--- a/core/java/android/preference/PreferenceGroup.java
+++ b/core/java/android/preference/PreferenceGroup.java
@@ -16,15 +16,16 @@
package android.preference;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.AttributeSet;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
/**
* A container for multiple
* {@link Preference} objects. It is a base class for Preference objects that are
@@ -38,7 +39,14 @@
* </div>
*
* @attr ref android.R.styleable#PreferenceGroup_orderingFromXml
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public abstract class PreferenceGroup extends Preference implements GenericInflater.Parent<Preference> {
/**
* The container for child {@link Preference}s. This is sorted based on the
diff --git a/core/java/android/preference/PreferenceGroupAdapter.java b/core/java/android/preference/PreferenceGroupAdapter.java
index bee45ab..fb41ea8 100644
--- a/core/java/android/preference/PreferenceGroupAdapter.java
+++ b/core/java/android/preference/PreferenceGroupAdapter.java
@@ -16,10 +16,6 @@
package android.preference;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.preference.Preference.OnPreferenceChangeInternalListener;
@@ -30,6 +26,10 @@
import android.widget.FrameLayout;
import android.widget.ListView;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
/**
* An adapter that returns the {@link Preference} contained in this group.
* In most cases, this adapter should be the base class for any custom
@@ -49,7 +49,14 @@
* @see PreferenceCategoryAdapter
*
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class PreferenceGroupAdapter extends BaseAdapter
implements OnPreferenceChangeInternalListener {
diff --git a/core/java/android/preference/PreferenceInflater.java b/core/java/android/preference/PreferenceInflater.java
index 727fbca..04ad107 100644
--- a/core/java/android/preference/PreferenceInflater.java
+++ b/core/java/android/preference/PreferenceInflater.java
@@ -16,16 +16,16 @@
package android.preference;
-import com.android.internal.util.XmlUtils;
+import android.content.Context;
+import android.content.Intent;
+import android.util.AttributeSet;
-import java.io.IOException;
+import com.android.internal.util.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import android.content.Context;
-import android.content.Intent;
-import android.util.AttributeSet;
+import java.io.IOException;
/**
* The {@link PreferenceInflater} is used to inflate preference hierarchies from
@@ -34,7 +34,14 @@
* Do not construct this directly, instead use
* {@link Context#getSystemService(String)} with
* {@link Context#PREFERENCE_INFLATER_SERVICE}.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
class PreferenceInflater extends GenericInflater<Preference, PreferenceGroup> {
private static final String TAG = "PreferenceInflater";
private static final String INTENT_TAG_NAME = "intent";
diff --git a/core/java/android/preference/PreferenceManager.java b/core/java/android/preference/PreferenceManager.java
index dfee1af..f741bd6 100644
--- a/core/java/android/preference/PreferenceManager.java
+++ b/core/java/android/preference/PreferenceManager.java
@@ -47,7 +47,14 @@
* {@link PreferenceActivity#addPreferencesFromResource(int)}.
*
* @see PreferenceActivity
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class PreferenceManager {
private static final String TAG = "PreferenceManager";
@@ -1004,7 +1011,14 @@
* clicked.
*
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnPreferenceTreeClickListener {
/**
* Called when a preference in the tree rooted at this
@@ -1021,7 +1035,14 @@
/**
* Interface definition for a class that will be called when the container's activity
* receives an activity result.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnActivityResultListener {
/**
@@ -1036,7 +1057,14 @@
/**
* Interface definition for a class that will be called when the container's activity
* is stopped.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnActivityStopListener {
/**
@@ -1048,7 +1076,14 @@
/**
* Interface definition for a class that will be called when the container's activity
* is destroyed.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices.
+ * For more information on using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+ @Deprecated
public interface OnActivityDestroyListener {
/**
diff --git a/core/java/android/preference/PreferenceScreen.java b/core/java/android/preference/PreferenceScreen.java
index dd00a53..c7653c8 100644
--- a/core/java/android/preference/PreferenceScreen.java
+++ b/core/java/android/preference/PreferenceScreen.java
@@ -86,7 +86,14 @@
* </div>
*
* @see PreferenceCategory
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public final class PreferenceScreen extends PreferenceGroup implements AdapterView.OnItemClickListener,
DialogInterface.OnDismissListener {
diff --git a/core/java/android/preference/RingtonePreference.java b/core/java/android/preference/RingtonePreference.java
index cd751cd..025aad0 100644
--- a/core/java/android/preference/RingtonePreference.java
+++ b/core/java/android/preference/RingtonePreference.java
@@ -40,7 +40,14 @@
* @attr ref android.R.styleable#RingtonePreference_ringtoneType
* @attr ref android.R.styleable#RingtonePreference_showDefault
* @attr ref android.R.styleable#RingtonePreference_showSilent
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class RingtonePreference extends Preference implements
PreferenceManager.OnActivityResultListener {
diff --git a/core/java/android/preference/SeekBarDialogPreference.java b/core/java/android/preference/SeekBarDialogPreference.java
index a8e5992..32ef821 100644
--- a/core/java/android/preference/SeekBarDialogPreference.java
+++ b/core/java/android/preference/SeekBarDialogPreference.java
@@ -28,7 +28,14 @@
/**
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class SeekBarDialogPreference extends DialogPreference {
private final Drawable mMyIcon;
diff --git a/core/java/android/preference/SeekBarPreference.java b/core/java/android/preference/SeekBarPreference.java
index cd35f3d..f789e31 100644
--- a/core/java/android/preference/SeekBarPreference.java
+++ b/core/java/android/preference/SeekBarPreference.java
@@ -29,7 +29,14 @@
/**
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class SeekBarPreference extends Preference
implements OnSeekBarChangeListener {
diff --git a/core/java/android/preference/SeekBarVolumizer.java b/core/java/android/preference/SeekBarVolumizer.java
index a871425..f01d5b1 100644
--- a/core/java/android/preference/SeekBarVolumizer.java
+++ b/core/java/android/preference/SeekBarVolumizer.java
@@ -45,7 +45,14 @@
/**
* Turns a {@link SeekBar} into a volume control.
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callback {
private static final String TAG = "SeekBarVolumizer";
diff --git a/core/java/android/preference/SwitchPreference.java b/core/java/android/preference/SwitchPreference.java
index 1ec18bb..9dea1c8 100644
--- a/core/java/android/preference/SwitchPreference.java
+++ b/core/java/android/preference/SwitchPreference.java
@@ -36,7 +36,14 @@
* @attr ref android.R.styleable#SwitchPreference_switchTextOff
* @attr ref android.R.styleable#SwitchPreference_switchTextOn
* @attr ref android.R.styleable#SwitchPreference_disableDependentsState
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class SwitchPreference extends TwoStatePreference {
@UnsupportedAppUsage
private final Listener mListener = new Listener();
diff --git a/core/java/android/preference/TwoStatePreference.java b/core/java/android/preference/TwoStatePreference.java
index 2079a63..454472a 100644
--- a/core/java/android/preference/TwoStatePreference.java
+++ b/core/java/android/preference/TwoStatePreference.java
@@ -32,7 +32,14 @@
* Common base class for preferences that have two selectable states, persist a
* boolean value in SharedPreferences, and may have dependent preferences that are
* enabled/disabled based on the current state.
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public abstract class TwoStatePreference extends Preference {
private CharSequence mSummaryOn;
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java
index ea1d1eb..92d848a 100644
--- a/core/java/android/preference/VolumePreference.java
+++ b/core/java/android/preference/VolumePreference.java
@@ -31,7 +31,14 @@
/**
* @hide
+ *
+ * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/preference/package-summary.html">
+ * Preference Library</a> for consistent behavior across all devices. For more information on
+ * using the AndroidX Preference Library see
+ * <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
*/
+@Deprecated
public class VolumePreference extends SeekBarDialogPreference implements
PreferenceManager.OnActivityStopListener, View.OnKeyListener, SeekBarVolumizer.Callback {
@UnsupportedAppUsage
diff --git a/core/java/android/preference/package.html b/core/java/android/preference/package.html
index d24d5bb..382ed6e 100644
--- a/core/java/android/preference/package.html
+++ b/core/java/android/preference/package.html
@@ -1,23 +1,9 @@
<HTML>
<BODY>
-Provides classes that manage application preferences and implement the preferences UI.
-Using these ensures that all the preferences within each application are maintained
-in the same manner and the user experience is consistent with that of the system and
-other applications.
-<p>
-The preferences portion of an application
-should be ran as a separate {@link android.app.Activity} that extends
-the {@link android.preference.PreferenceActivity} class. In the PreferenceActivity, a
-{@link android.preference.PreferenceScreen} object should be the root element of the layout.
-The PreferenceScreen contains {@link android.preference.Preference} elements such as a
-{@link android.preference.CheckBoxPreference}, {@link android.preference.EditTextPreference},
-{@link android.preference.ListPreference}, {@link android.preference.PreferenceCategory},
-or {@link android.preference.RingtonePreference}. </p>
-<p>
-All settings made for a given {@link android.preference.Preference} will be automatically saved
-to the application's instance of {@link android.content.SharedPreferences}. Access to the
-SharedPreferences is simple with {@link android.preference.Preference#getSharedPreferences()}.</p>
-<p>
-Note that saved preferences are accessible only to the application that created them.</p>
+These classes are deprecated. Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+<a href="{@docRoot}reference/androidx/preference/package-summary.html">
+Preference Library</a> for consistent behavior across all devices. For more information on
+using the AndroidX Preference Library see
+<a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
</BODY>
</HTML>
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 5b1544b..c6155ce 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -390,7 +390,8 @@
com.android.internal.R.bool.config_enableHapticTextHandle);
if (FLAG_USE_MAGNIFIER) {
- final Magnifier magnifier = new Magnifier.Builder(mTextView).build();
+ final Magnifier magnifier =
+ Magnifier.createBuilderWithOldMagnifierDefaults(mTextView).build();
mMagnifierAnimator = new MagnifierMotionAnimator(magnifier);
}
}
diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java
index 932f182..f4c25c3 100644
--- a/core/java/android/widget/Magnifier.java
+++ b/core/java/android/widget/Magnifier.java
@@ -145,7 +145,47 @@
*/
@Deprecated
public Magnifier(@NonNull View view) {
- this(new Builder(view));
+ this(createBuilderWithOldMagnifierDefaults(view));
+ }
+
+ static Builder createBuilderWithOldMagnifierDefaults(final View view) {
+ final Builder params = new Builder(view);
+ final Context context = view.getContext();
+ final TypedArray a = context.obtainStyledAttributes(null, R.styleable.Magnifier,
+ R.attr.magnifierStyle, 0);
+ params.mWidth = a.getDimensionPixelSize(R.styleable.Magnifier_magnifierWidth, 0);
+ params.mHeight = a.getDimensionPixelSize(R.styleable.Magnifier_magnifierHeight, 0);
+ params.mElevation = a.getDimension(R.styleable.Magnifier_magnifierElevation, 0);
+ params.mCornerRadius = getDeviceDefaultDialogCornerRadius(context);
+ params.mZoom = a.getFloat(R.styleable.Magnifier_magnifierZoom, 0);
+ params.mHorizontalDefaultSourceToMagnifierOffset =
+ a.getDimensionPixelSize(R.styleable.Magnifier_magnifierHorizontalOffset, 0);
+ params.mVerticalDefaultSourceToMagnifierOffset =
+ a.getDimensionPixelSize(R.styleable.Magnifier_magnifierVerticalOffset, 0);
+ params.mOverlay = new ColorDrawable(a.getColor(
+ R.styleable.Magnifier_magnifierColorOverlay, Color.TRANSPARENT));
+ a.recycle();
+ params.mForcePositionWithinWindowSystemInsetsBounds = true;
+ params.mLeftContentBound = SOURCE_BOUND_MAX_VISIBLE;
+ params.mTopContentBound = SOURCE_BOUND_MAX_IN_SURFACE;
+ params.mRightContentBound = SOURCE_BOUND_MAX_VISIBLE;
+ params.mBottomContentBound = SOURCE_BOUND_MAX_IN_SURFACE;
+ return params;
+ }
+
+ /**
+ * Returns the device default theme dialog corner radius attribute.
+ * We retrieve this from the device default theme to avoid
+ * using the values set in the custom application themes.
+ */
+ private static float getDeviceDefaultDialogCornerRadius(final Context context) {
+ final Context deviceDefaultContext =
+ new ContextThemeWrapper(context, R.style.Theme_DeviceDefault);
+ final TypedArray ta = deviceDefaultContext.obtainStyledAttributes(
+ new int[]{android.R.attr.dialogCornerRadius});
+ final float dialogCornerRadius = ta.getDimension(0, 0);
+ ta.recycle();
+ return dialogCornerRadius;
}
private Magnifier(@NonNull Builder params) {
@@ -1105,41 +1145,23 @@
}
private void applyDefaults() {
- final Context context = mView.getContext();
- final TypedArray a = context.obtainStyledAttributes(null, R.styleable.Magnifier,
- R.attr.magnifierStyle, 0);
- mWidth = a.getDimensionPixelSize(R.styleable.Magnifier_magnifierWidth, 0);
- mHeight = a.getDimensionPixelSize(R.styleable.Magnifier_magnifierHeight, 0);
- mElevation = a.getDimension(R.styleable.Magnifier_magnifierElevation, 0);
- mCornerRadius = getDeviceDefaultDialogCornerRadius();
- mZoom = a.getFloat(R.styleable.Magnifier_magnifierZoom, 0);
+ final Resources resources = mView.getContext().getResources();
+ mWidth = resources.getDimensionPixelSize(R.dimen.default_magnifier_width);
+ mHeight = resources.getDimensionPixelSize(R.dimen.default_magnifier_height);
+ mElevation = resources.getDimension(R.dimen.default_magnifier_elevation);
+ mCornerRadius = resources.getDimension(R.dimen.default_magnifier_corner_radius);
+ mZoom = resources.getFloat(R.dimen.default_magnifier_zoom);
mHorizontalDefaultSourceToMagnifierOffset =
- a.getDimensionPixelSize(R.styleable.Magnifier_magnifierHorizontalOffset, 0);
+ resources.getDimensionPixelSize(R.dimen.default_magnifier_horizontal_offset);
mVerticalDefaultSourceToMagnifierOffset =
- a.getDimensionPixelSize(R.styleable.Magnifier_magnifierVerticalOffset, 0);
- mOverlay = new ColorDrawable(a.getColor(
- R.styleable.Magnifier_magnifierColorOverlay, Color.TRANSPARENT));
- a.recycle();
+ resources.getDimensionPixelSize(R.dimen.default_magnifier_vertical_offset);
+ mOverlay = new ColorDrawable(resources.getColor(
+ R.color.default_magnifier_color_overlay, null));
mForcePositionWithinWindowSystemInsetsBounds = true;
mLeftContentBound = SOURCE_BOUND_MAX_VISIBLE;
- mTopContentBound = SOURCE_BOUND_MAX_IN_SURFACE;
+ mTopContentBound = SOURCE_BOUND_MAX_VISIBLE;
mRightContentBound = SOURCE_BOUND_MAX_VISIBLE;
- mBottomContentBound = SOURCE_BOUND_MAX_IN_SURFACE;
- }
-
- /**
- * Returns the device default theme dialog corner radius attribute.
- * We retrieve this from the device default theme to avoid
- * using the values set in the custom application themes.
- */
- private float getDeviceDefaultDialogCornerRadius() {
- final Context deviceDefaultContext =
- new ContextThemeWrapper(mView.getContext(), R.style.Theme_DeviceDefault);
- final TypedArray ta = deviceDefaultContext.obtainStyledAttributes(
- new int[]{android.R.attr.dialogCornerRadius});
- final float dialogCornerRadius = ta.getDimension(0, 0);
- ta.recycle();
- return dialogCornerRadius;
+ mBottomContentBound = SOURCE_BOUND_MAX_VISIBLE;
}
/**
@@ -1186,8 +1208,7 @@
}
/**
- * Sets the corner radius of the magnifier window, in pixels.
- * Defaults to the corner radius defined in the device default theme.
+ * Sets the corner radius of the magnifier window, in pixels. Defaults to 2dp.
* @param cornerRadius the corner radius to be set
*/
@NonNull
@@ -1201,10 +1222,11 @@
/**
* Sets an overlay that will be drawn on the top of the magnifier content.
* In general, the overlay should not be opaque, in order to let the expected magnifier
- * content be partially visible. The default overlay is a white {@link ColorDrawable},
- * with 5% alpha, aiming to make the magnifier distinguishable when shown in dark
- * application regions. To disable this default (or in general to have no overlay), the
- * parameter should be set to {@code null}. The overlay will be automatically redrawn
+ * content be partially visible. The default overlay is {@code null} (no overlay).
+ * As an example, TextView applies a white {@link ColorDrawable} overlay with
+ * 5% alpha, aiming to make the magnifier distinguishable when shown in dark
+ * application regions. To disable the overlay, the parameter should be set
+ * to {@code null}. If not null, the overlay will be automatically redrawn
* when the drawable is invalidated. To achieve this, the magnifier will set a new
* {@link android.graphics.drawable.Drawable.Callback} for the overlay drawable,
* so keep in mind that any existing one set by the application will be lost.
@@ -1220,7 +1242,7 @@
* Sets an offset that should be added to the content source center to obtain
* the position of the magnifier window, when the {@link #show(float, float)}
* method is called. The offset is ignored when {@link #show(float, float, float, float)}
- * is used. The offset can be negative, and it defaults to (0dp, -42dp).
+ * is used. The offset can be negative. It defaults to (0dp, 0dp).
* @param horizontalOffset the horizontal component of the offset
* @param verticalOffset the vertical component of the offset
*/
@@ -1406,8 +1428,8 @@
final Resources resources = Resources.getSystem();
final float density = resources.getDisplayMetrics().density;
final PointF size = new PointF();
- size.x = resources.getDimension(R.dimen.magnifier_width) / density;
- size.y = resources.getDimension(R.dimen.magnifier_height) / density;
+ size.x = resources.getDimension(R.dimen.default_magnifier_width) / density;
+ size.y = resources.getDimension(R.dimen.default_magnifier_height) / density;
return size;
}
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index ffcd300..4122cf0 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -211,6 +211,6 @@
<color name="floating_popup_divider_light">#E9E9E9</color>
<!-- Magnifier -->
- <color name="magnifier_color_overlay">#0EFFFFFF</color>
+ <color name="default_magnifier_color_overlay">#00FFFFFF</color>
</resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index b65c0fd..e902989 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -578,12 +578,13 @@
<dimen name="floating_toolbar_icon_text_spacing">8dp</dimen>
<!-- Magnifier dimensions -->
- <dimen name="magnifier_width">100dp</dimen>
- <dimen name="magnifier_height">48dp</dimen>
- <dimen name="magnifier_elevation">4dp</dimen>
- <dimen name="magnifier_vertical_offset">-42dp</dimen>
- <dimen name="magnifier_horizontal_offset">0dp</dimen>
- <item type="dimen" format="float" name="magnifier_zoom">1.25</item>
+ <dimen name="default_magnifier_width">100dp</dimen>
+ <dimen name="default_magnifier_height">48dp</dimen>
+ <dimen name="default_magnifier_elevation">4dp</dimen>
+ <dimen name="default_magnifier_corner_radius">2dp</dimen>
+ <dimen name="default_magnifier_vertical_offset">-42dp</dimen>
+ <dimen name="default_magnifier_horizontal_offset">0dp</dimen>
+ <item type="dimen" format="float" name="default_magnifier_zoom">1.25</item>
<dimen name="chooser_grid_padding">0dp</dimen>
<!-- Spacing around the background change frome service to non-service -->
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index ec22f42..bd53936 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -800,13 +800,13 @@
</style>
<style name="Widget.Magnifier">
- <item name="magnifierWidth">@dimen/magnifier_width</item>
- <item name="magnifierHeight">@dimen/magnifier_height</item>
- <item name="magnifierZoom">@dimen/magnifier_zoom</item>
- <item name="magnifierElevation">@dimen/magnifier_elevation</item>
- <item name="magnifierVerticalOffset">@dimen/magnifier_vertical_offset</item>
- <item name="magnifierHorizontalOffset">@dimen/magnifier_horizontal_offset</item>
- <item name="magnifierColorOverlay">@color/magnifier_color_overlay</item>
+ <item name="magnifierWidth">100dp</item>
+ <item name="magnifierHeight">48dp</item>
+ <item name="magnifierZoom">1.25</item>
+ <item name="magnifierElevation">4dp</item>
+ <item name="magnifierVerticalOffset">-42dp</item>
+ <item name="magnifierHorizontalOffset">0dp</item>
+ <item name="magnifierColorOverlay">#0EFFFFFF</item>
</style>
<!-- Text Appearances -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index b25e7a8..82c9ff3 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2637,13 +2637,14 @@
<java-symbol type="attr" name="floatingToolbarDividerColor" />
<!-- Magnifier -->
- <java-symbol type="dimen" name="magnifier_width" />
- <java-symbol type="dimen" name="magnifier_height" />
- <java-symbol type="dimen" name="magnifier_elevation" />
- <java-symbol type="dimen" name="magnifier_zoom" />
- <java-symbol type="dimen" name="magnifier_vertical_offset" />
- <java-symbol type="dimen" name="magnifier_horizontal_offset" />
- <java-symbol type="color" name="magnifier_color_overlay" />
+ <java-symbol type="dimen" name="default_magnifier_width" />
+ <java-symbol type="dimen" name="default_magnifier_height" />
+ <java-symbol type="dimen" name="default_magnifier_elevation" />
+ <java-symbol type="dimen" name="default_magnifier_corner_radius" />
+ <java-symbol type="dimen" name="default_magnifier_zoom" />
+ <java-symbol type="dimen" name="default_magnifier_vertical_offset" />
+ <java-symbol type="dimen" name="default_magnifier_horizontal_offset" />
+ <java-symbol type="color" name="default_magnifier_color_overlay" />
<java-symbol type="attr" name="magnifierWidth" />
<java-symbol type="attr" name="magnifierHeight" />
<java-symbol type="attr" name="magnifierElevation" />
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index 163b6b3..9e4ea32 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -91,7 +91,6 @@
<permission name="android.permission.CONNECTIVITY_INTERNAL"/>
<permission name="android.permission.CRYPT_KEEPER"/>
<permission name="android.permission.DELETE_PACKAGES"/>
- <permission name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"/>
<permission name="android.permission.INSTALL_PACKAGES"/>
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
<permission name="android.permission.MANAGE_DEVICE_ADMINS"/>
diff --git a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
index 2c73940..0331581 100644
--- a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
+++ b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
@@ -461,7 +461,7 @@
ProjectionLayer(int* drawCounter)
: SkSurface_Base(SkImageInfo::MakeN32Premul(LAYER_WIDTH, LAYER_HEIGHT), nullptr)
, mDrawCounter(drawCounter) {}
- virtual sk_sp<SkImage> onNewImageSnapshot() override {
+ virtual sk_sp<SkImage> onNewImageSnapshot(const SkIRect* bounds) override {
EXPECT_EQ(3, (*mDrawCounter)++);
EXPECT_EQ(SkRect::MakeLTRB(100 - SCROLL_X, 100 - SCROLL_Y, 300 - SCROLL_X,
300 - SCROLL_Y),
diff --git a/libs/hwui/tests/unit/SkiaPipelineTests.cpp b/libs/hwui/tests/unit/SkiaPipelineTests.cpp
index 65b4e26..d16b8be 100644
--- a/libs/hwui/tests/unit/SkiaPipelineTests.cpp
+++ b/libs/hwui/tests/unit/SkiaPipelineTests.cpp
@@ -247,7 +247,7 @@
SkCanvas* onNewCanvas() override { return new T(); }
sk_sp<SkSurface> onNewSurface(const SkImageInfo&) override { return nullptr; }
- sk_sp<SkImage> onNewImageSnapshot() override { return nullptr; }
+ sk_sp<SkImage> onNewImageSnapshot(const SkIRect* bounds) override { return nullptr; }
T* canvas() { return static_cast<T*>(getCanvas()); }
void onCopyOnWrite(ContentChangeMode) override {}
void onWritePixels(const SkPixmap&, int x, int y) override {}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
index a2bec79..ee1c1df3 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
@@ -969,8 +969,10 @@
if (remoteBugreportHash != null) {
out.attribute(null, ATTR_REMOTE_BUGREPORT_HASH, remoteBugreportHash);
}
- out.attribute(null, ATTR_CAN_ACCESS_DEVICE_IDS,
- String.valueOf(canAccessDeviceIds));
+ if (canAccessDeviceIds) {
+ out.attribute(null, ATTR_CAN_ACCESS_DEVICE_IDS,
+ String.valueOf(canAccessDeviceIds));
+ }
out.endTag(null, tag);
}