Limit the number of permissions being displayed.

To avoid a long permission summary, let's limit the number to three.

Fixes: 117978938
Test: robotests
Change-Id: Id83fac7ad91140b22757d3e6e8eb72d86ad6ad42
This commit is contained in:
Yi-Ling Chuang
2019-05-06 14:12:00 +08:00
parent 1dfc43879e
commit 922064ed69
2 changed files with 37 additions and 4 deletions

View File

@@ -35,6 +35,9 @@ public class AppPermissionsPreferenceController extends BasePreferenceController
private static final String TAG = "AppPermissionPrefCtrl";
private static int NUM_PACKAGE_TO_CHECK = 3;
@VisibleForTesting
static int NUM_PERMISSIONS_TO_SHOW = 3;
private final PackageManager mPackageManager;
private final Set<CharSequence> mPermissionGroups;
@@ -95,9 +98,13 @@ public class AppPermissionsPreferenceController extends BasePreferenceController
if (mNumPackageChecked < NUM_PACKAGE_TO_CHECK) {
return;
}
final CharSequence summary = !mPermissionGroups.isEmpty()
final List<CharSequence> permissionsToShow = mPermissionGroups.stream()
.limit(NUM_PERMISSIONS_TO_SHOW)
.collect(Collectors.toList());
final CharSequence summary = !permissionsToShow.isEmpty()
? mContext.getString(R.string.app_permissions_summary,
ListFormatter.getInstance().format(mPermissionGroups).toLowerCase())
ListFormatter.getInstance().format(permissionsToShow).toLowerCase())
: null;
mPreference.setSummary(summary);
}