From 0a32c002967e1205307c1e55090bfee9ef6ff133 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Tue, 1 Mar 2016 18:42:39 -0800 Subject: Update restricted icon position in RestrictedSwitchPreference. And fixed a bug where the admin disabled summary is shown even if the admin has not set a permission policy. Bug: 25603665 Bug: 27263775 Change-Id: I8cbbc4c326669a656ad5aef53896b388d556a74f --- .../permission/ui/handheld/PermissionAppsFragment.java | 3 ++- .../ui/handheld/RestrictedSwitchPreference.java | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'src/com/android/packageinstaller/permission/ui/handheld') diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java index ccf864fb..0f616361 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java @@ -228,7 +228,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); } } -- cgit v1.2.3