Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b4ea3a1 authored by Phil Weaver's avatar Phil Weaver Committed by Android (Google) Code Review
Browse files

Merge "Make performAccessibilityShortcut a SystemAPI"

parents 8b31b7d2 27beee50
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ package android {
    field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
    field public static final java.lang.String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
    field public static final java.lang.String LOOP_RADIO = "android.permission.LOOP_RADIO";
    field public static final java.lang.String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
    field public static final java.lang.String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
    field public static final java.lang.String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
    field public static final java.lang.String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
@@ -6830,6 +6831,14 @@ package android.view {

}

package android.view.accessibility {

  public final class AccessibilityManager {
    method public void performAccessibilityShortcut();
  }

}

package android.webkit {

  public abstract class CookieManager {
+12 −0
Original line number Diff line number Diff line
@@ -960,6 +960,7 @@ package android.provider {

  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
    field public static final java.lang.String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled";
    field public static final java.lang.String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE = "accessibility_shortcut_target_service";
    field public static final java.lang.String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
    field public static final java.lang.String AUTOFILL_SERVICE = "autofill_service";
    field public static final java.lang.String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
@@ -1611,6 +1612,17 @@ package android.view {

package android.view.accessibility {

  public final class AccessibilityManager {
    method public void addAccessibilityServicesStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener, android.os.Handler);
    method public java.lang.String getAccessibilityShortcutService();
    method public void performAccessibilityShortcut();
    method public void removeAccessibilityServicesStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener);
  }

  public static abstract interface AccessibilityManager.AccessibilityServicesStateChangeListener {
    method public abstract void onAccessibilityServicesStateChanged(android.view.accessibility.AccessibilityManager);
  }

  public class AccessibilityNodeInfo implements android.os.Parcelable {
    method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
    method public void writeToParcelNoRecycle(android.os.Parcel, int);
+1 −0
Original line number Diff line number Diff line
@@ -6038,6 +6038,7 @@ public final class Settings {
         * shortcut. Must be its flattened {@link ComponentName}.
         * @hide
         */
        @TestApi
        public static final String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE =
                "accessibility_shortcut_target_service";
+33 −0
Original line number Diff line number Diff line
@@ -23,8 +23,11 @@ import android.accessibilityservice.AccessibilityServiceInfo;
import android.accessibilityservice.AccessibilityServiceInfo.FeedbackType;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
@@ -204,6 +207,7 @@ public final class AccessibilityManager {
     *
     * @hide
     */
    @TestApi
    public interface AccessibilityServicesStateChangeListener {

        /**
@@ -778,6 +782,7 @@ public final class AccessibilityManager {
     *                for a callback on the process's main handler.
     * @hide
     */
    @TestApi
    public void addAccessibilityServicesStateChangeListener(
            @NonNull AccessibilityServicesStateChangeListener listener, @Nullable Handler handler) {
        synchronized (mLock) {
@@ -793,6 +798,7 @@ public final class AccessibilityManager {
     *
     * @hide
     */
    @TestApi
    public void removeAccessibilityServicesStateChangeListener(
            @NonNull AccessibilityServicesStateChangeListener listener) {
        synchronized (mLock) {
@@ -1056,6 +1062,9 @@ public final class AccessibilityManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    @RequiresPermission(Manifest.permission.MANAGE_ACCESSIBILITY)
    public void performAccessibilityShortcut() {
        final IAccessibilityManager service;
        synchronized (mLock) {
@@ -1139,6 +1148,30 @@ public final class AccessibilityManager {
        }
    }

    /**
     * Get the component name of the service currently assigned to the accessibility shortcut.
     *
     * @return The flattened component name
     * @hide
     */
    @TestApi
    @RequiresPermission(Manifest.permission.MANAGE_ACCESSIBILITY)
    @Nullable
    public String getAccessibilityShortcutService() {
        final IAccessibilityManager service;
        synchronized (mLock) {
            service = getServiceLocked();
        }
        if (service != null) {
            try {
                return service.getAccessibilityShortcutService();
            } catch (RemoteException re) {
                re.rethrowFromSystemServer();
            }
        }
        return null;
    }

    private IAccessibilityManager getServiceLocked() {
        if (mService == null) {
            tryConnectToServiceLocked(null);
+4 −1
Original line number Diff line number Diff line
@@ -67,9 +67,12 @@ interface IAccessibilityManager {

    void notifyAccessibilityButtonVisibilityChanged(boolean available);

    // Requires WRITE_SECURE_SETTINGS
    // Requires Manifest.permission.MANAGE_ACCESSIBILITY
    void performAccessibilityShortcut();

    // Requires Manifest.permission.MANAGE_ACCESSIBILITY
    String getAccessibilityShortcutService();

    // System process only
    boolean sendFingerprintGesture(int gestureKeyCode);

Loading