Fix gesture navigation popup is displaying inconsistently on the System navigation page.

- Need to use new api to get the accessibility service list.

Bug: 149665916
Test: local test
Change-Id: Ib712769436bf7be5fbea34ba2251bdbe6bcefb95
This commit is contained in:
menghanli
2020-04-07 16:11:33 +08:00
parent 6c59995503
commit be11a370e6

View File

@@ -24,7 +24,6 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OV
import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE; import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE;
import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING; import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -273,18 +272,10 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i
} }
private boolean isAnyServiceSupportAccessibilityButton() { private boolean isAnyServiceSupportAccessibilityButton() {
final AccessibilityManager ams = (AccessibilityManager) getContext().getSystemService( final AccessibilityManager ams = getContext().getSystemService(AccessibilityManager.class);
Context.ACCESSIBILITY_SERVICE); final List<String> targets = ams.getAccessibilityShortcutTargets(
final List<AccessibilityServiceInfo> services = ams.getEnabledAccessibilityServiceList( AccessibilityManager.ACCESSIBILITY_BUTTON);
AccessibilityServiceInfo.FEEDBACK_ALL_MASK); return !targets.isEmpty();
for (AccessibilityServiceInfo info : services) {
if ((info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0) {
return true;
}
}
return false;
} }
private boolean isNavBarMagnificationEnabled() { private boolean isNavBarMagnificationEnabled() {