Loading api/current.txt +10 −3 Original line number Diff line number Diff line Loading @@ -1823,6 +1823,7 @@ package android.accessibilityservice { method public static java.lang.String feedbackTypeToString(int); method public static java.lang.String flagToString(int); method public boolean getCanRetrieveWindowContent(); method public java.lang.String getDescription(); method public java.lang.String getId(); method public android.content.pm.ResolveInfo getResolveInfo(); method public java.lang.String getSettingsActivityName(); Loading Loading @@ -16702,6 +16703,7 @@ package android.provider { field public static final java.lang.String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype"; field public static final java.lang.String SETTINGS_CLASSNAME = "settings_classname"; field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_secure_version"; field public static final java.lang.String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested"; field public static final java.lang.String TTS_DEFAULT_COUNTRY = "tts_default_country"; field public static final java.lang.String TTS_DEFAULT_LANG = "tts_default_lang"; field public static final java.lang.String TTS_DEFAULT_PITCH = "tts_default_pitch"; Loading Loading @@ -20731,11 +20733,12 @@ package android.util { method public void set(T, V); } public class SparseArray { public class SparseArray implements java.lang.Cloneable { ctor public SparseArray(); ctor public SparseArray(int); method public void append(int, E); method public void clear(); method public android.util.SparseArray<E> clone(); method public void delete(int); method public E get(int); method public E get(int, E); Loading @@ -20750,11 +20753,12 @@ package android.util { method public E valueAt(int); } public class SparseBooleanArray { public class SparseBooleanArray implements java.lang.Cloneable { ctor public SparseBooleanArray(); ctor public SparseBooleanArray(int); method public void append(int, boolean); method public void clear(); method public android.util.SparseBooleanArray clone(); method public void delete(int); method public boolean get(int); method public boolean get(int, boolean); Loading @@ -20766,11 +20770,12 @@ package android.util { method public boolean valueAt(int); } public class SparseIntArray { public class SparseIntArray implements java.lang.Cloneable { ctor public SparseIntArray(); ctor public SparseIntArray(int); method public void append(int, int); method public void clear(); method public android.util.SparseIntArray clone(); method public void delete(int); method public int get(int); method public int get(int, int); Loading Loading @@ -23265,6 +23270,7 @@ package android.view.accessibility { method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList(); method public void interrupt(); method public boolean isEnabled(); method public boolean isTouchExplorationEnabled(); method public boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent); } Loading Loading @@ -23301,6 +23307,7 @@ package android.view.accessibility { method public boolean isSelected(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View); method public static android.view.accessibility.AccessibilityNodeInfo obtain(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo); method public boolean performAction(int); method public void recycle(); method public void setBoundsInParent(android.graphics.Rect); core/java/android/accessibilityservice/AccessibilityServiceInfo.java +21 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,11 @@ public class AccessibilityServiceInfo implements Parcelable { */ private boolean mCanRetrieveWindowContent; /** * Description of the accessibility service. */ private String mDescription; /** * Creates a new instance. */ Loading Loading @@ -240,6 +245,8 @@ public class AccessibilityServiceInfo implements Parcelable { mCanRetrieveWindowContent = asAttributes.getBoolean( com.android.internal.R.styleable.AccessibilityService_canRetrieveWindowContent, false); mDescription = asAttributes.getString( com.android.internal.R.styleable.AccessibilityService_description); asAttributes.recycle(); } catch (NameNotFoundException e) { throw new XmlPullParserException( "Unable to create context for: " Loading Loading @@ -312,6 +319,18 @@ public class AccessibilityServiceInfo implements Parcelable { return mCanRetrieveWindowContent; } /** * Description of the accessibility service. * <p> * <strong>Statically set from * {@link AccessibilityService#SERVICE_META_DATA meta-data}.</strong> * </p> * @return The description. */ public String getDescription() { return mDescription; } /** * {@inheritDoc} */ Loading @@ -329,6 +348,7 @@ public class AccessibilityServiceInfo implements Parcelable { parcel.writeParcelable(mResolveInfo, 0); parcel.writeString(mSettingsActivityName); parcel.writeInt(mCanRetrieveWindowContent ? 1 : 0); parcel.writeString(mDescription); } private void initFromParcel(Parcel parcel) { Loading @@ -341,6 +361,7 @@ public class AccessibilityServiceInfo implements Parcelable { mResolveInfo = parcel.readParcelable(null); mSettingsActivityName = parcel.readString(); mCanRetrieveWindowContent = (parcel.readInt() == 1); mDescription = parcel.readString(); } @Override Loading core/java/android/provider/Settings.java +7 −0 Original line number Diff line number Diff line Loading @@ -2682,6 +2682,13 @@ public final class Settings { */ public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled"; /** * If touch exploration is requested. Touch exploration is enabled if it is * requested by this setting, accessibility is enabled and there is at least * one enabled accessibility serivce that provides spoken feedback. */ public static final String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested"; /** * List of the enabled accessibility providers. */ Loading core/java/android/util/SparseArray.java +21 −17 Original line number Diff line number Diff line Loading @@ -23,10 +23,14 @@ import com.android.internal.util.ArrayUtils; * there can be gaps in the indices. It is intended to be more efficient * than using a HashMap to map Integers to Objects. */ public class SparseArray<E> { public class SparseArray<E> implements Cloneable { private static final Object DELETED = new Object(); private boolean mGarbage = false; private int[] mKeys; private Object[] mValues; private int mSize; /** * Creates a new SparseArray containing no mappings. */ Loading @@ -47,6 +51,20 @@ public class SparseArray<E> { mSize = 0; } @Override @SuppressWarnings("unchecked") public SparseArray<E> clone() { SparseArray<E> clone = null; try { clone = (SparseArray<E>) super.clone(); clone.mKeys = mKeys.clone(); clone.mValues = mValues.clone(); } catch (CloneNotSupportedException cnse) { /* ignore */ } return clone; } /** * Gets the Object mapped from the specified key, or <code>null</code> * if no such mapping has been made. Loading @@ -59,6 +77,7 @@ public class SparseArray<E> { * Gets the Object mapped from the specified key, or the specified Object * if no such mapping has been made. */ @SuppressWarnings("unchecked") public E get(int key, E valueIfKeyNotFound) { int i = binarySearch(mKeys, 0, mSize, key); Loading Loading @@ -209,6 +228,7 @@ public class SparseArray<E> { * the value from the <code>index</code>th key-value mapping that this * SparseArray stores. */ @SuppressWarnings("unchecked") public E valueAt(int index) { if (mGarbage) { gc(); Loading Loading @@ -331,20 +351,4 @@ public class SparseArray<E> { else return ~high; } private void checkIntegrity() { for (int i = 1; i < mSize; i++) { if (mKeys[i] <= mKeys[i - 1]) { for (int j = 0; j < mSize; j++) { Log.e("FAIL", j + ": " + mKeys[j] + " -> " + mValues[j]); } throw new RuntimeException(); } } } private int[] mKeys; private Object[] mValues; private int mSize; } core/java/android/util/SparseBooleanArray.java +14 −13 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.android.internal.util.ArrayUtils; * there can be gaps in the indices. It is intended to be more efficient * than using a HashMap to map Integers to Booleans. */ public class SparseBooleanArray { public class SparseBooleanArray implements Cloneable { /** * Creates a new SparseBooleanArray containing no mappings. */ Loading @@ -45,6 +45,19 @@ public class SparseBooleanArray { mSize = 0; } @Override public SparseBooleanArray clone() { SparseBooleanArray clone = null; try { clone = (SparseBooleanArray) super.clone(); clone.mKeys = mKeys.clone(); clone.mValues = mValues.clone(); } catch (CloneNotSupportedException cnse) { /* ignore */ } return clone; } /** * Gets the boolean mapped from the specified key, or <code>false</code> * if no such mapping has been made. Loading Loading @@ -227,18 +240,6 @@ public class SparseBooleanArray { return ~high; } private void checkIntegrity() { for (int i = 1; i < mSize; i++) { if (mKeys[i] <= mKeys[i - 1]) { for (int j = 0; j < mSize; j++) { Log.e("FAIL", j + ": " + mKeys[j] + " -> " + mValues[j]); } throw new RuntimeException(); } } } private int[] mKeys; private boolean[] mValues; private int mSize; Loading Loading
api/current.txt +10 −3 Original line number Diff line number Diff line Loading @@ -1823,6 +1823,7 @@ package android.accessibilityservice { method public static java.lang.String feedbackTypeToString(int); method public static java.lang.String flagToString(int); method public boolean getCanRetrieveWindowContent(); method public java.lang.String getDescription(); method public java.lang.String getId(); method public android.content.pm.ResolveInfo getResolveInfo(); method public java.lang.String getSettingsActivityName(); Loading Loading @@ -16702,6 +16703,7 @@ package android.provider { field public static final java.lang.String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype"; field public static final java.lang.String SETTINGS_CLASSNAME = "settings_classname"; field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_secure_version"; field public static final java.lang.String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested"; field public static final java.lang.String TTS_DEFAULT_COUNTRY = "tts_default_country"; field public static final java.lang.String TTS_DEFAULT_LANG = "tts_default_lang"; field public static final java.lang.String TTS_DEFAULT_PITCH = "tts_default_pitch"; Loading Loading @@ -20731,11 +20733,12 @@ package android.util { method public void set(T, V); } public class SparseArray { public class SparseArray implements java.lang.Cloneable { ctor public SparseArray(); ctor public SparseArray(int); method public void append(int, E); method public void clear(); method public android.util.SparseArray<E> clone(); method public void delete(int); method public E get(int); method public E get(int, E); Loading @@ -20750,11 +20753,12 @@ package android.util { method public E valueAt(int); } public class SparseBooleanArray { public class SparseBooleanArray implements java.lang.Cloneable { ctor public SparseBooleanArray(); ctor public SparseBooleanArray(int); method public void append(int, boolean); method public void clear(); method public android.util.SparseBooleanArray clone(); method public void delete(int); method public boolean get(int); method public boolean get(int, boolean); Loading @@ -20766,11 +20770,12 @@ package android.util { method public boolean valueAt(int); } public class SparseIntArray { public class SparseIntArray implements java.lang.Cloneable { ctor public SparseIntArray(); ctor public SparseIntArray(int); method public void append(int, int); method public void clear(); method public android.util.SparseIntArray clone(); method public void delete(int); method public int get(int); method public int get(int, int); Loading Loading @@ -23265,6 +23270,7 @@ package android.view.accessibility { method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList(); method public void interrupt(); method public boolean isEnabled(); method public boolean isTouchExplorationEnabled(); method public boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent); } Loading Loading @@ -23301,6 +23307,7 @@ package android.view.accessibility { method public boolean isSelected(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View); method public static android.view.accessibility.AccessibilityNodeInfo obtain(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo); method public boolean performAction(int); method public void recycle(); method public void setBoundsInParent(android.graphics.Rect);
core/java/android/accessibilityservice/AccessibilityServiceInfo.java +21 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,11 @@ public class AccessibilityServiceInfo implements Parcelable { */ private boolean mCanRetrieveWindowContent; /** * Description of the accessibility service. */ private String mDescription; /** * Creates a new instance. */ Loading Loading @@ -240,6 +245,8 @@ public class AccessibilityServiceInfo implements Parcelable { mCanRetrieveWindowContent = asAttributes.getBoolean( com.android.internal.R.styleable.AccessibilityService_canRetrieveWindowContent, false); mDescription = asAttributes.getString( com.android.internal.R.styleable.AccessibilityService_description); asAttributes.recycle(); } catch (NameNotFoundException e) { throw new XmlPullParserException( "Unable to create context for: " Loading Loading @@ -312,6 +319,18 @@ public class AccessibilityServiceInfo implements Parcelable { return mCanRetrieveWindowContent; } /** * Description of the accessibility service. * <p> * <strong>Statically set from * {@link AccessibilityService#SERVICE_META_DATA meta-data}.</strong> * </p> * @return The description. */ public String getDescription() { return mDescription; } /** * {@inheritDoc} */ Loading @@ -329,6 +348,7 @@ public class AccessibilityServiceInfo implements Parcelable { parcel.writeParcelable(mResolveInfo, 0); parcel.writeString(mSettingsActivityName); parcel.writeInt(mCanRetrieveWindowContent ? 1 : 0); parcel.writeString(mDescription); } private void initFromParcel(Parcel parcel) { Loading @@ -341,6 +361,7 @@ public class AccessibilityServiceInfo implements Parcelable { mResolveInfo = parcel.readParcelable(null); mSettingsActivityName = parcel.readString(); mCanRetrieveWindowContent = (parcel.readInt() == 1); mDescription = parcel.readString(); } @Override Loading
core/java/android/provider/Settings.java +7 −0 Original line number Diff line number Diff line Loading @@ -2682,6 +2682,13 @@ public final class Settings { */ public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled"; /** * If touch exploration is requested. Touch exploration is enabled if it is * requested by this setting, accessibility is enabled and there is at least * one enabled accessibility serivce that provides spoken feedback. */ public static final String TOUCH_EXPLORATION_REQUESTED = "touch_exploration_requested"; /** * List of the enabled accessibility providers. */ Loading
core/java/android/util/SparseArray.java +21 −17 Original line number Diff line number Diff line Loading @@ -23,10 +23,14 @@ import com.android.internal.util.ArrayUtils; * there can be gaps in the indices. It is intended to be more efficient * than using a HashMap to map Integers to Objects. */ public class SparseArray<E> { public class SparseArray<E> implements Cloneable { private static final Object DELETED = new Object(); private boolean mGarbage = false; private int[] mKeys; private Object[] mValues; private int mSize; /** * Creates a new SparseArray containing no mappings. */ Loading @@ -47,6 +51,20 @@ public class SparseArray<E> { mSize = 0; } @Override @SuppressWarnings("unchecked") public SparseArray<E> clone() { SparseArray<E> clone = null; try { clone = (SparseArray<E>) super.clone(); clone.mKeys = mKeys.clone(); clone.mValues = mValues.clone(); } catch (CloneNotSupportedException cnse) { /* ignore */ } return clone; } /** * Gets the Object mapped from the specified key, or <code>null</code> * if no such mapping has been made. Loading @@ -59,6 +77,7 @@ public class SparseArray<E> { * Gets the Object mapped from the specified key, or the specified Object * if no such mapping has been made. */ @SuppressWarnings("unchecked") public E get(int key, E valueIfKeyNotFound) { int i = binarySearch(mKeys, 0, mSize, key); Loading Loading @@ -209,6 +228,7 @@ public class SparseArray<E> { * the value from the <code>index</code>th key-value mapping that this * SparseArray stores. */ @SuppressWarnings("unchecked") public E valueAt(int index) { if (mGarbage) { gc(); Loading Loading @@ -331,20 +351,4 @@ public class SparseArray<E> { else return ~high; } private void checkIntegrity() { for (int i = 1; i < mSize; i++) { if (mKeys[i] <= mKeys[i - 1]) { for (int j = 0; j < mSize; j++) { Log.e("FAIL", j + ": " + mKeys[j] + " -> " + mValues[j]); } throw new RuntimeException(); } } } private int[] mKeys; private Object[] mValues; private int mSize; }
core/java/android/util/SparseBooleanArray.java +14 −13 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.android.internal.util.ArrayUtils; * there can be gaps in the indices. It is intended to be more efficient * than using a HashMap to map Integers to Booleans. */ public class SparseBooleanArray { public class SparseBooleanArray implements Cloneable { /** * Creates a new SparseBooleanArray containing no mappings. */ Loading @@ -45,6 +45,19 @@ public class SparseBooleanArray { mSize = 0; } @Override public SparseBooleanArray clone() { SparseBooleanArray clone = null; try { clone = (SparseBooleanArray) super.clone(); clone.mKeys = mKeys.clone(); clone.mValues = mValues.clone(); } catch (CloneNotSupportedException cnse) { /* ignore */ } return clone; } /** * Gets the boolean mapped from the specified key, or <code>false</code> * if no such mapping has been made. Loading Loading @@ -227,18 +240,6 @@ public class SparseBooleanArray { return ~high; } private void checkIntegrity() { for (int i = 1; i < mSize; i++) { if (mKeys[i] <= mKeys[i - 1]) { for (int j = 0; j < mSize; j++) { Log.e("FAIL", j + ": " + mKeys[j] + " -> " + mValues[j]); } throw new RuntimeException(); } } } private int[] mKeys; private boolean[] mValues; private int mSize; Loading