Merge "Fallback magnification mode settings if window magnification feature is not supported" into tm-dev
This commit is contained in:
@@ -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;
|
||||
@@ -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.
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -92,6 +94,8 @@ public class AccessibilityUserStateTest {
|
||||
|
||||
@Mock private AccessibilityUserState.ServiceInfoChangeListener mMockListener;
|
||||
|
||||
@Mock private PackageManager mMockPackageManager;
|
||||
|
||||
@Mock private Context mMockContext;
|
||||
|
||||
private MockContentResolver mMockResolver;
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user