summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model/AppPermissions.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/AppPermissions.java')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissions.java40
1 files changed, 17 insertions, 23 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissions.java b/src/com/android/packageinstaller/permission/model/AppPermissions.java
index a0f23d64..e455ef13 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissions.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissions.java
@@ -19,6 +19,7 @@ package com.android.packageinstaller.permission.model;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.os.Build;
import android.text.BidiFormatter;
import android.text.TextPaint;
import android.text.TextUtils;
@@ -31,16 +32,6 @@ import java.util.LinkedHashMap;
import java.util.List;
public final class AppPermissions {
- private static final float MAX_APP_LABEL_LENGTH_PIXELS = 500;
-
- private static final TextPaint sAppLabelEllipsizePaint = new TextPaint();
- static {
- sAppLabelEllipsizePaint.setAntiAlias(true);
- // Both text size and width are given in absolute pixels, for consistent truncation
- // across devices; this value corresponds to the default 14dip size on an xdhpi device.
- sAppLabelEllipsizePaint.setTextSize(42);
- }
-
private final ArrayList<AppPermissionGroup> mGroups = new ArrayList<>();
private final LinkedHashMap<String, AppPermissionGroup> mNameToGroupMap = new LinkedHashMap<>();
@@ -62,7 +53,9 @@ public final class AppPermissions {
mContext = context;
mPackageInfo = packageInfo;
mFilterPermissions = permissions;
- mAppLabel = loadEllipsizedAppLabel(context, packageInfo);
+ mAppLabel = BidiFormatter.getInstance().unicodeWrap(
+ packageInfo.applicationInfo.loadSafeLabel(
+ context.getPackageManager()).toString());
mSortGroups = sortGroups;
mOnErrorCallback = onErrorCallback;
loadPermissionGroups();
@@ -89,6 +82,19 @@ public final class AppPermissions {
return mGroups;
}
+ public boolean isReviewRequired() {
+ if (!Build.PERMISSIONS_REVIEW_REQUIRED) {
+ return false;
+ }
+ final int groupCount = mGroups.size();
+ for (int i = 0; i < groupCount; i++) {
+ AppPermissionGroup group = mGroups.get(i);
+ if (group.isReviewRequired()) {
+ return true;
+ }
+ }
+ return false;
+ }
private void loadPackageInfo() {
try {
@@ -163,16 +169,4 @@ public final class AppPermissions {
}
return false;
}
-
- private static CharSequence loadEllipsizedAppLabel(Context context, PackageInfo packageInfo) {
- String label = packageInfo.applicationInfo.loadLabel(
- context.getPackageManager()).toString();
- String ellipsizedLabel = label.replace("\n", " ");
- if (!DeviceUtils.isWear(context)) {
- // Only ellipsize for non-Wear devices.
- ellipsizedLabel = TextUtils.ellipsize(ellipsizedLabel, sAppLabelEllipsizePaint,
- MAX_APP_LABEL_LENGTH_PIXELS, TextUtils.TruncateAt.END).toString();
- }
- return BidiFormatter.getInstance().unicodeWrap(ellipsizedLabel);
- }
}