summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissions.java26
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java3
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java17
3 files changed, 17 insertions, 29 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissions.java b/src/com/android/packageinstaller/permission/model/AppPermissions.java
index ca28ab41..e455ef13 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissions.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissions.java
@@ -32,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<>();
@@ -63,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();
@@ -177,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);
- }
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
index 5e5c42d1..563b11d7 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
@@ -227,7 +227,8 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
if (!isTelevision && (existingPref instanceof RestrictedSwitchPreference)) {
((RestrictedSwitchPreference) existingPref).setDisabledByAdmin(
isPolicyFixed ? enforcedAdmin : null);
- existingPref.setSummary(R.string.disabled_by_admin_summary_text);
+ existingPref.setSummary(isPolicyFixed ?
+ getString(R.string.disabled_by_admin_summary_text) : null);
} else {
existingPref.setEnabled(!isPolicyFixed);
existingPref.setSummary(isPolicyFixed ?
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java b/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java
index 8ab04807..44a7f471 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java
@@ -32,20 +32,26 @@ public class RestrictedSwitchPreference extends SwitchPreference {
private final Context mContext;
private boolean mDisabledByAdmin;
private EnforcedAdmin mEnforcedAdmin;
+ private final int mSwitchWidgetResId;
public RestrictedSwitchPreference(Context context) {
super(context);
+ mSwitchWidgetResId = getWidgetLayoutResource();
mContext = context;
}
@Override
public void onBindView(View view) {
super.onBindView(view);
- final TextView textView = (TextView) view.findViewById(android.R.id.title);
- if (textView != null) {
- RestrictedLockUtils.setTextViewPadlock(mContext, textView, mDisabledByAdmin);
- if (mDisabledByAdmin) {
- view.setEnabled(true);
+ if (mDisabledByAdmin) {
+ view.setEnabled(true);
+ }
+ if (mDisabledByAdmin) {
+ final TextView summaryView = (TextView) view.findViewById(android.R.id.summary);
+ if (summaryView != null) {
+ summaryView.setText(
+ isChecked() ? R.string.enabled_by_admin : R.string.disabled_by_admin);
+ summaryView.setVisibility(View.VISIBLE);
}
}
}
@@ -64,6 +70,7 @@ public class RestrictedSwitchPreference extends SwitchPreference {
mEnforcedAdmin = admin;
if (mDisabledByAdmin != disabled) {
mDisabledByAdmin = disabled;
+ setWidgetLayoutResource(disabled ? R.layout.restricted_icon : mSwitchWidgetResId);
setEnabled(!disabled);
}
}