diff options
Diffstat (limited to 'src/com/android')
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); } } |