Loading services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +7 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.os.Binder; import android.os.RemoteCallbackList; import android.provider.Settings; Loading Loading @@ -123,8 +124,8 @@ class AccessibilityUserState { private int mInteractiveUiTimeout = 0; private int mLastSentClientState = -1; /** {@code true} if the device config supports magnification area. */ private final boolean mSupportMagnificationArea; /** {@code true} if the device config supports window magnification. */ private final boolean mSupportWindowMagnification; // The magnification modes on displays. private final SparseIntArray mMagnificationModes = new SparseIntArray(); // The magnification capabilities used to know magnification mode could be switched. Loading @@ -148,7 +149,7 @@ class AccessibilityUserState { boolean isValidMagnificationModeLocked(int displayId) { final int mode = getMagnificationModeLocked(displayId); if (!mSupportMagnificationArea if (!mSupportWindowMagnification && mode == Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) { return false; } Loading @@ -170,8 +171,9 @@ class AccessibilityUserState { R.color.accessibility_focus_highlight_color); mFocusStrokeWidth = mFocusStrokeWidthDefaultValue; mFocusColor = mFocusColorDefaultValue; mSupportMagnificationArea = mContext.getResources().getBoolean( R.bool.config_magnification_area); mSupportWindowMagnification = mContext.getResources().getBoolean( R.bool.config_magnification_area) && mContext.getPackageManager().hasSystemFeature( PackageManager.FEATURE_WINDOW_MAGNIFICATION); } boolean isHandlingAccessibilityEventsLocked() { Loading services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HARD_K import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HARD_KEYBOARD_OVERRIDDEN; import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN; import static android.accessibilityservice.AccessibilityService.SHOW_MODE_IGNORE_HARD_KEYBOARD; import static android.content.pm.PackageManager.FEATURE_WINDOW_MAGNIFICATION; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.view.accessibility.AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED; Loading @@ -42,6 +43,7 @@ import static org.mockito.Mockito.when; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Color; import android.provider.Settings; Loading Loading @@ -92,6 +94,8 @@ public class AccessibilityUserStateTest { @Mock private AccessibilityUserState.ServiceInfoChangeListener mMockListener; @Mock private PackageManager mMockPackageManager; @Mock private Context mMockContext; private MockContentResolver mMockResolver; Loading @@ -113,6 +117,8 @@ public class AccessibilityUserStateTest { when(mMockServiceInfo.getComponentName()).thenReturn(COMPONENT_NAME); when(mMockConnection.getServiceInfo()).thenReturn(mMockServiceInfo); when(mMockContext.getResources()).thenReturn(resources); when(mMockContext.getPackageManager()).thenReturn(mMockPackageManager); when(mMockPackageManager.hasSystemFeature(FEATURE_WINDOW_MAGNIFICATION)).thenReturn(true); mFocusStrokeWidthDefaultValue = resources.getDimensionPixelSize(R.dimen.accessibility_focus_highlight_stroke_width); Loading Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +7 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.os.Binder; import android.os.RemoteCallbackList; import android.provider.Settings; Loading Loading @@ -123,8 +124,8 @@ class AccessibilityUserState { private int mInteractiveUiTimeout = 0; private int mLastSentClientState = -1; /** {@code true} if the device config supports magnification area. */ private final boolean mSupportMagnificationArea; /** {@code true} if the device config supports window magnification. */ private final boolean mSupportWindowMagnification; // The magnification modes on displays. private final SparseIntArray mMagnificationModes = new SparseIntArray(); // The magnification capabilities used to know magnification mode could be switched. Loading @@ -148,7 +149,7 @@ class AccessibilityUserState { boolean isValidMagnificationModeLocked(int displayId) { final int mode = getMagnificationModeLocked(displayId); if (!mSupportMagnificationArea if (!mSupportWindowMagnification && mode == Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) { return false; } Loading @@ -170,8 +171,9 @@ class AccessibilityUserState { R.color.accessibility_focus_highlight_color); mFocusStrokeWidth = mFocusStrokeWidthDefaultValue; mFocusColor = mFocusColorDefaultValue; mSupportMagnificationArea = mContext.getResources().getBoolean( R.bool.config_magnification_area); mSupportWindowMagnification = mContext.getResources().getBoolean( R.bool.config_magnification_area) && mContext.getPackageManager().hasSystemFeature( PackageManager.FEATURE_WINDOW_MAGNIFICATION); } boolean isHandlingAccessibilityEventsLocked() { Loading
services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HARD_K import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HARD_KEYBOARD_OVERRIDDEN; import static android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN; import static android.accessibilityservice.AccessibilityService.SHOW_MODE_IGNORE_HARD_KEYBOARD; import static android.content.pm.PackageManager.FEATURE_WINDOW_MAGNIFICATION; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.view.accessibility.AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED; Loading @@ -42,6 +43,7 @@ import static org.mockito.Mockito.when; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Color; import android.provider.Settings; Loading Loading @@ -92,6 +94,8 @@ public class AccessibilityUserStateTest { @Mock private AccessibilityUserState.ServiceInfoChangeListener mMockListener; @Mock private PackageManager mMockPackageManager; @Mock private Context mMockContext; private MockContentResolver mMockResolver; Loading @@ -113,6 +117,8 @@ public class AccessibilityUserStateTest { when(mMockServiceInfo.getComponentName()).thenReturn(COMPONENT_NAME); when(mMockConnection.getServiceInfo()).thenReturn(mMockServiceInfo); when(mMockContext.getResources()).thenReturn(resources); when(mMockContext.getPackageManager()).thenReturn(mMockPackageManager); when(mMockPackageManager.hasSystemFeature(FEATURE_WINDOW_MAGNIFICATION)).thenReturn(true); mFocusStrokeWidthDefaultValue = resources.getDimensionPixelSize(R.dimen.accessibility_focus_highlight_stroke_width); Loading