Merge "Keep changed focus data after service disable"
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index 8e50184..1fa7fa2 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -2120,6 +2120,10 @@
/**
* Sets the strokeWidth and color of the accessibility focus rectangle.
+ * <p>
+ * <strong>Note:</strong> This setting persists until this or another active
+ * AccessibilityService changes it or the device reboots.
+ * </p>
*
* @param strokeWidth The stroke width of the rectangle in pixels.
* Setting this value to zero results in no focus rectangle being drawn.
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
index 5d67992..2626654 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
@@ -120,8 +120,6 @@
AccessibilityUserState userState = mUserStateWeakReference.get();
if (userState == null) return;
userState.removeServiceLocked(this);
- userState.resetFocusAppearanceLocked();
- mSystemSupport.onClientChangeLocked(false);
mSystemSupport.getFullScreenMagnificationController().resetAllIfNeeded(mId);
mActivityTaskManagerService.setAllowAppSwitches(mComponentName.flattenToString(), -1,
userState.mUserId);
@@ -146,7 +144,6 @@
} finally {
Binder.restoreCallingIdentity(identity);
}
- userState.resetFocusAppearanceLocked();
mSystemSupport.onClientChangeLocked(false);
}
}
@@ -313,7 +310,6 @@
AccessibilityUserState userState = mUserStateWeakReference.get();
if (userState != null) {
userState.serviceDisconnectedLocked(this);
- userState.resetFocusAppearanceLocked();
}
resetLocked();
mSystemSupport.getFullScreenMagnificationController().resetAllIfNeeded(mId);
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
index 90e2fdf..22efd37 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
@@ -194,7 +194,8 @@
mUserNonInteractiveUiTimeout = 0;
mUserInteractiveUiTimeout = 0;
mMagnificationMode = ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
- resetFocusAppearanceLocked();
+ mFocusStrokeWidth = mFocusStrokeWidthDefaultValue;
+ mFocusColor = mFocusColorDefaultValue;
}
void addServiceLocked(AccessibilityServiceConnection serviceConnection) {
@@ -924,13 +925,4 @@
mFocusStrokeWidth = strokeWidth;
mFocusColor = color;
}
-
- /**
- * Resets the stroke width and color of the focus rectangle to the default value.
- *
- */
- public void resetFocusAppearanceLocked() {
- mFocusStrokeWidth = mFocusStrokeWidthDefaultValue;
- mFocusColor = mFocusColorDefaultValue;
- }
}