Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a32c002 authored by Sudheer Shanka's avatar Sudheer Shanka
Browse files

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
parent 4b312d62
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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 ?
+12 −5
Original line number Diff line number Diff line
@@ -32,21 +32,27 @@ 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) {
            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);
        }
    }