From 52bd31f5df04454f86bbe69a9365c51b2daddf6b Mon Sep 17 00:00:00 2001 From: Jackal Guo Date: Mon, 7 Oct 2019 13:35:50 +0800 Subject: [PATCH] Update the logic of querying crashed a11y services Bug: 129689483 Test: a11y CTS & unit tests Test: manual 1. Install and enable an intentional crashed a11y service. 2. After it's crashed and malfunctioning, re-enable it. 3. Check if it's bound again. Change-Id: Ifda4fddfbe9b38841f5cc143c32ab1d2f059350c --- .../accessibility/AccessibilityDetailsSettingsFragment.java | 6 +----- .../settings/accessibility/AccessibilitySettings.java | 5 +---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java index dc07ef01377..18700dc0c4c 100644 --- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java +++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java @@ -135,9 +135,6 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment { final String packageName = serviceInfo.packageName; final ComponentName componentName = new ComponentName(packageName, serviceInfo.name); - final List enabledServiceInfos = AccessibilityManager.getInstance( - getActivity()).getEnabledAccessibilityServiceList( - AccessibilityServiceInfo.FEEDBACK_ALL_MASK); final Set enabledServices = AccessibilityUtils.getEnabledServicesFromSettings(getActivity()); final boolean serviceEnabled = enabledServices.contains(componentName); @@ -146,8 +143,7 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment { description = getString(R.string.accessibility_service_default_description); } - if (serviceEnabled && AccessibilityUtils.hasServiceCrashed( - packageName, serviceInfo.name, enabledServiceInfos)) { + if (serviceEnabled && info.crashed) { // Update the summaries for services that have crashed. description = getString(R.string.accessibility_description_state_stopped); } diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index 56dc49d22ed..5eb33133fcf 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -332,8 +332,6 @@ public class AccessibilitySettings extends DashboardFragment { List installedServices = accessibilityManager.getInstalledAccessibilityServiceList(); - List enabledServiceInfos = accessibilityManager - .getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK); Set enabledServices = AccessibilityUtils.getEnabledServicesFromSettings( getActivity()); List permittedServices = mDpm.getPermittedAccessibilityServices( @@ -376,8 +374,7 @@ public class AccessibilitySettings extends DashboardFragment { description = getString(R.string.accessibility_service_default_description); } - if (serviceEnabled && AccessibilityUtils.hasServiceCrashed( - packageName, serviceInfo.name, enabledServiceInfos)) { + if (serviceEnabled && info.crashed) { // Update the summaries for services that have crashed. preference.setSummary(R.string.accessibility_summary_state_stopped); description = getString(R.string.accessibility_description_state_stopped);