From fce1835ef5bd6e73a62ed9e4a230f49a567a0645 Mon Sep 17 00:00:00 2001 From: Phil Weaver Date: Tue, 4 Dec 2018 09:09:49 -0800 Subject: [PATCH] Clarify text shown in a11y service warning dialog Replacing the text generated from the service's capabilities (which could change) with a generic message based on the maximum capabilities (full control) a service can obtain. Bug: 110715236 Test: atest SettingsRoboTests Change-Id: Iecb548c77c9031626d4da24741ec1f753d0cc94f --- ...e_accessibility_service_dialog_content.xml | 9 +-- res/values/strings.xml | 11 ++-- .../AccessibilityServiceWarning.java | 61 ++----------------- 3 files changed, 12 insertions(+), 69 deletions(-) diff --git a/res/layout/enable_accessibility_service_dialog_content.xml b/res/layout/enable_accessibility_service_dialog_content.xml index f212eb16725..e16dc657a30 100644 --- a/res/layout/enable_accessibility_service_dialog_content.xml +++ b/res/layout/enable_accessibility_service_dialog_content.xml @@ -38,20 +38,13 @@ android:textAppearance="?android:attr/textAppearanceMedium"/> - - diff --git a/res/values/strings.xml b/res/values/strings.xml index fb8ab201498..4700d3fee37 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4818,11 +4818,12 @@ example="TalkBack">%1$s affects data encryption, you need to confirm your password. - - Observe your actions - - Receive notifications when you\u2019re - interacting with an app. + + %1$s is requesting full control of this device. The service + can read the screen and act on behalf of users with accessibility needs. + This level of control is not appropriate for most apps. + Stop %1$s? diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java index 6360d421b5f..e0f17473b35 100644 --- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java +++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java @@ -43,8 +43,8 @@ import java.util.List; import java.util.Locale; /** - * Utility class for creating the dialog that asks users for explicit permission to grant - * all of the requested capabilities to an accessibility service before the service is enabled + * Utility class for creating the dialog that asks users for explicit permission for an + * accessibility service to access user data before the service is enabled */ public class AccessibilityServiceWarning { public static Dialog createCapabilitiesDialog(Activity parentActivity, @@ -117,60 +117,9 @@ public class AccessibilityServiceWarning { encryptionWarningView.setVisibility(View.GONE); } - TextView capabilitiesHeaderView = (TextView) content.findViewById( - R.id.capabilities_header); - capabilitiesHeaderView.setText(context.getString(R.string.capabilities_list_title, - getServiceName(context, info))); - - LinearLayout capabilitiesView = (LinearLayout) content.findViewById(R.id.capabilities); - - // This capability is implicit for all services. - View capabilityView = inflater.inflate( - com.android.internal.R.layout.app_permission_item_old, null); - - ImageView imageView = (ImageView) capabilityView.findViewById( - com.android.internal.R.id.perm_icon); - imageView.setImageDrawable(context.getDrawable( - com.android.internal.R.drawable.ic_text_dot)); - - TextView labelView = (TextView) capabilityView.findViewById( - com.android.internal.R.id.permission_group); - labelView.setText(context.getString( - R.string.capability_title_receiveAccessibilityEvents)); - - TextView descriptionView = (TextView) capabilityView.findViewById( - com.android.internal.R.id.permission_list); - descriptionView.setText( - context.getString(R.string.capability_desc_receiveAccessibilityEvents)); - - List capabilities = - info.getCapabilityInfos(context); - - capabilitiesView.addView(capabilityView); - - // Service-specific capabilities. - final int capabilityCount = capabilities.size(); - for (int i = 0; i < capabilityCount; i++) { - AccessibilityServiceInfo.CapabilityInfo capability = capabilities.get(i); - - capabilityView = inflater.inflate( - com.android.internal.R.layout.app_permission_item_old, null); - - imageView = (ImageView) capabilityView.findViewById( - com.android.internal.R.id.perm_icon); - imageView.setImageDrawable(context.getDrawable( - com.android.internal.R.drawable.ic_text_dot)); - - labelView = (TextView) capabilityView.findViewById( - com.android.internal.R.id.permission_group); - labelView.setText(context.getString(capability.titleResId)); - - descriptionView = (TextView) capabilityView.findViewById( - com.android.internal.R.id.permission_list); - descriptionView.setText(context.getString(capability.descResId)); - - capabilitiesView.addView(capabilityView); - } + TextView serviceWarningTextView = content.findViewById(R.id.accessibility_service_warning); + serviceWarningTextView.setText(context.getString(R.string.accessibility_service_warning, + getServiceName(context, info))); return content; }