From ca75538d0c696ceda36285d0b7962bb403dbe804 Mon Sep 17 00:00:00 2001 From: Joel Galenson Date: Tue, 5 Mar 2019 14:16:24 -0800 Subject: [PATCH] Allow Talkback to speak the permission name in the bar chart. Bug: 127237805 Test: Enable Talkback, click on access Change-Id: Ib8d5d3b0fe25e1d3ea4f0b969ff03b663ce716f4 --- .../PermissionBarChartPreferenceController.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java index 453cdbfaf86..704d1e5ee10 100644 --- a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java +++ b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java @@ -167,7 +167,8 @@ public class PermissionBarChartPreferenceController extends BasePreferenceContro barViewInfos[index] = new BarViewInfo( getPermissionGroupIcon(permissionGroupInfo.getName()), permissionGroupInfo.getAppAccessCount(), - R.string.storage_detail_apps); + R.string.storage_detail_apps, + getPermissionGroupLabel(permissionGroupInfo.getName())); // Set the click listener for each bar view. // The listener will navigate user to permission usage app. @@ -194,6 +195,18 @@ public class PermissionBarChartPreferenceController extends BasePreferenceContro return icon; } + private CharSequence getPermissionGroupLabel(CharSequence permissionGroup) { + CharSequence label = null; + try { + label = mPackageManager.getPermissionGroupInfo(permissionGroup.toString(), 0) + .loadLabel(mPackageManager); + } catch (PackageManager.NameNotFoundException e) { + Log.w(TAG, "Cannot find group label for " + permissionGroup, e); + } + + return label; + } + private boolean areSamePermissionGroups(List newUsageInfos) { if (newUsageInfos.size() != mOldUsageInfos.size()) { return false;