summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-05-20 19:10:16 -0700
committerSvet Ganov <svetoslavganov@google.com>2015-05-20 19:10:22 -0700
commit1749359d023aa18f69b7c1ac22b736b4aeec624f (patch)
tree2e97254b7d0468c1ef7eea095ee913c26fd117f1 /src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
parent81efecb1ac5cf569afcf71a5ead697d70d096e68 (diff)
downloadandroid_packages_apps_PackageInstaller-1749359d023aa18f69b7c1ac22b736b4aeec624f.tar.gz
android_packages_apps_PackageInstaller-1749359d023aa18f69b7c1ac22b736b4aeec624f.tar.bz2
android_packages_apps_PackageInstaller-1749359d023aa18f69b7c1ac22b736b4aeec624f.zip
Show the permission description not its label in the grant dialog
bug:21336863 Change-Id: I5c25581bea76cc50b7b09534c9222550e7f464ff
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/AppPermissionGroup.java')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index a018f8c2..22bee515 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -48,6 +48,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
private final String mName;
private final String mDeclaringPackage;
private final CharSequence mLabel;
+ private final CharSequence mDescription;
private final ArrayMap<String, Permission> mPermissions = new ArrayMap<>();
private final String mIconPkg;
private final int mIconResId;
@@ -95,7 +96,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
AppPermissionGroup group = new AppPermissionGroup(context, packageInfo, groupInfo.name,
groupInfo.packageName, groupInfo.loadLabel(context.getPackageManager()),
- groupInfo.packageName, groupInfo.icon);
+ loadGroupDescription(context, groupInfo), groupInfo.packageName, groupInfo.icon);
if (groupInfo instanceof PermissionInfo) {
permissionInfos = new ArrayList<>();
@@ -158,8 +159,26 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return group;
}
+ private static CharSequence loadGroupDescription(Context context, PackageItemInfo group) {
+ CharSequence description = null;
+ if (group instanceof PermissionGroupInfo) {
+ description = ((PermissionGroupInfo) group).loadDescription(
+ context.getPackageManager());
+ } else if (group instanceof PermissionInfo) {
+ description = ((PermissionInfo) group).loadDescription(
+ context.getPackageManager());
+ }
+
+ if (description == null || description.length() <= 0) {
+ description = context.getString(R.string.default_permission_description);
+ }
+
+ return description;
+ }
+
private AppPermissionGroup(Context context, PackageInfo packageInfo, String name,
- String declaringPackage, CharSequence label, String iconPkg, int iconResId) {
+ String declaringPackage, CharSequence label, CharSequence description,
+ String iconPkg, int iconResId) {
mContext = context;
mUserHandle = new UserHandle(mContext.getUserId());
mPackageManager = mContext.getPackageManager();
@@ -171,6 +190,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
mDeclaringPackage = declaringPackage;
mName = name;
mLabel = label;
+ mDescription = description;
if (iconResId != 0) {
mIconPkg = iconPkg;
mIconResId = iconResId;
@@ -219,6 +239,10 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return mLabel;
}
+ public CharSequence getDescription() {
+ return mDescription;
+ }
+
public boolean hasPermission(String permission) {
return mPermissions.get(permission) != null;
}
@@ -264,15 +288,14 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
if (!fixedByTheUser) {
// Now the apps can ask for the permission as the user
// no longer has it fixed in a denied state.
- if (permission.isUserFixed() || !permission.isUserSet()) {
+ if (permission.isUserFixed() || permission.isUserSet()) {
permission.setUserFixed(false);
permission.setUserSet(true);
mPackageManager.updatePermissionFlags(permission.getName(),
mPackageInfo.packageName,
PackageManager.FLAG_PERMISSION_USER_FIXED
| PackageManager.FLAG_PERMISSION_USER_SET,
- PackageManager.FLAG_PERMISSION_USER_SET,
- mUserHandle);
+ 0, mUserHandle);
}
}