diff --git a/res/drawable/ic_settings_lock_outline.xml b/res/drawable/ic_settings_lock_outline.xml
deleted file mode 100644
index a13700b9013..00000000000
--- a/res/drawable/ic_settings_lock_outline.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
diff --git a/res/layout/spinner_dropdown_restricted_item.xml b/res/layout/spinner_dropdown_restricted_item.xml
deleted file mode 100644
index a965ad8e67b..00000000000
--- a/res/layout/spinner_dropdown_restricted_item.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 5d7758b6c98..f2b6305dd2f 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -109,8 +109,4 @@
-
-
-
-
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 5cf98fe38ef..f3fea105b1e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -102,6 +102,4 @@
#ffabffec
- #66000000
-
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index f7c3437caea..eeb13443247 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -252,10 +252,6 @@
40dp
10dp
-
- 16dp
- 4dp
-
24dp
48dp
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index f9980ddb391..4ba0d39c545 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -26,7 +26,7 @@
android:persistent="false" />
-
-
- mRestrictedItems = new ArrayList<>();
-
- public RestrictedDropDownPreference(Context context) {
- this(context, null);
- }
-
- public RestrictedDropDownPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
-
- mRestrictedPadlock = RestrictedLockUtils.getRestrictedPadlock(context);
- mRestrictedPadlockPadding = context.getResources().getDimensionPixelSize(
- R.dimen.restricted_lock_icon_padding);
- }
-
- private final OnItemSelectedListener mItemSelectedListener = new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView> parent, View v, int position, long id) {
- if (position >= 0) {
- String value = getEntryValues()[position].toString();
- RestrictedItem item = getRestrictedItemForEntryValue(value);
- if (item != null) {
- RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
- item.enforcedAdmin);
- mSpinner.setSelection(findIndexOfValue(getValue()));
- } else if (!value.equals(getValue()) && callChangeListener(value)) {
- setValue(value);
- }
- }
- }
-
- @Override
- public void onNothingSelected(AdapterView> parent) {
- // noop
- }
- };
-
- @Override
- protected ArrayAdapter createAdapter() {
- return new RestrictedArrayItemAdapter(getContext());
- }
-
- @Override
- public void setValue(String value) {
- if (getRestrictedItemForEntryValue(value) != null) {
- return;
- }
- super.setValue(value);
- }
-
- @Override
- public void onBindViewHolder(PreferenceViewHolder view) {
- super.onBindViewHolder(view);
- mSpinner = (Spinner) view.itemView.findViewById(R.id.spinner);
- mSpinner.setOnItemSelectedListener(mItemSelectedListener);
- }
-
- private class RestrictedArrayItemAdapter extends ArrayAdapter {
- public RestrictedArrayItemAdapter(Context context) {
- super(context, R.layout.spinner_dropdown_restricted_item);
- }
-
- @Override
- public View getDropDownView(int position, View convertView, ViewGroup parent) {
- TextView view = (TextView) super.getView(position, convertView, parent);
- CharSequence entry = getItem(position);
- boolean isEntryRestricted = isRestrictedForEntry(entry);
- RestrictedLockUtils.setTextViewPadlock(getContext(), view, isEntryRestricted);
- view.setEnabled(!isEntryRestricted);
- return view;
- }
- }
-
- private boolean isRestrictedForEntry(CharSequence entry) {
- if (entry == null) {
- return false;
- }
- for (RestrictedItem item : mRestrictedItems) {
- if (entry.equals(item.entry)) {
- return true;
- }
- }
- return false;
- }
-
- private RestrictedItem getRestrictedItemForEntryValue(CharSequence entryValue) {
- if (entryValue == null) {
- return null;
- }
- for (RestrictedItem item : mRestrictedItems) {
- if (entryValue.equals(item.entryValue)) {
- return item;
- }
- }
- return null;
- }
-
- public void addRestrictedItem(RestrictedItem item) {
- mRestrictedItems.add(item);
- }
-
- public static class RestrictedItem {
- public CharSequence entry;
- public CharSequence entryValue;
- public EnforcedAdmin enforcedAdmin;
-
- public RestrictedItem(CharSequence entry, CharSequence entryValue,
- EnforcedAdmin enforcedAdmin) {
- this.entry = entry;
- this.entryValue = entryValue;
- this.enforcedAdmin = enforcedAdmin;
- }
- }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/RestrictedLockImageSpan.java b/src/com/android/settings/RestrictedLockImageSpan.java
deleted file mode 100644
index 66c60cbaae3..00000000000
--- a/src/com/android/settings/RestrictedLockImageSpan.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.drawable.Drawable;
-import android.text.style.ImageSpan;
-
-import java.lang.ref.WeakReference;
-
-/**
- * An extension of ImageSpan which adds a padding before the image.
- */
-public class RestrictedLockImageSpan extends ImageSpan {
- private Context mContext;
- private final float mExtraPadding;
- private final Drawable mRestrictedPadlock;
-
- public RestrictedLockImageSpan(Context context) {
- // we are overriding getDrawable, so passing null to super class here.
- super((Drawable) null);
-
- mContext = context;
- mExtraPadding = mContext.getResources().getDimensionPixelSize(
- R.dimen.restricted_lock_icon_padding);
- mRestrictedPadlock = RestrictedLockUtils.getRestrictedPadlock(mContext);
- }
-
- @Override
- public Drawable getDrawable() {
- return mRestrictedPadlock;
- }
-
- @Override
- public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y,
- int bottom, Paint paint) {
- Drawable drawable = getDrawable();
- canvas.save();
-
- // Add extra padding before the padlock.
- float transX = x + mExtraPadding;
- float transY = bottom - drawable.getBounds().bottom - paint.getFontMetricsInt().descent;
-
- canvas.translate(transX, transY);
- drawable.draw(canvas);
- canvas.restore();
- }
-
- @Override
- public int getSize(Paint paint, CharSequence text, int start, int end,
- Paint.FontMetricsInt fontMetrics) {
- int size = super.getSize(paint, text, start, end, fontMetrics);
- size += 2 * mExtraPadding;
- return size;
- }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/RestrictedLockUtils.java b/src/com/android/settings/RestrictedLockUtils.java
deleted file mode 100644
index 1a387632dde..00000000000
--- a/src/com/android/settings/RestrictedLockUtils.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Color;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.text.Spanned;
-import android.text.SpannableStringBuilder;
-import android.text.style.ForegroundColorSpan;
-import android.text.style.ImageSpan;
-import android.view.MenuItem;
-import android.widget.TextView;
-
-import java.util.List;
-
-/**
- * Utility class to host methods usable in adding a restricted padlock icon and showing admin
- * support message dialog.
- */
-public class RestrictedLockUtils {
- /**
- * @return drawables for displaying with settings that are locked by a device admin.
- */
- public static Drawable getRestrictedPadlock(Context context) {
- Drawable restrictedPadlock = context.getDrawable(R.drawable.ic_settings_lock_outline);
- final int iconSize = context.getResources().getDimensionPixelSize(
- R.dimen.restricted_lock_icon_size);
- restrictedPadlock.setBounds(0, 0, iconSize, iconSize);
- return restrictedPadlock;
- }
-
- /**
- * Checks if a restriction is enforced on a user and returns the enforced admin and
- * admin userId.
- *
- * @param userRestriction Restriction to check
- * @param userId User which we need to check if restriction is enforced on.
- * @return EnforcedAdmin Object containing the enforce admin and admin user details, or
- * {@code null} If the restriction is not set. If the restriction is set by both device owner
- * and profile owner, then the admin will be set to {@code null} and userId to
- * {@link UserHandle#USER_NULL}.
- */
- public static EnforcedAdmin checkIfRestrictionEnforced(Context context,
- String userRestriction, int userId) {
- DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
- Context.DEVICE_POLICY_SERVICE);
- ComponentName deviceOwner = dpm.getDeviceOwnerComponentOnAnyUser();
- int deviceOwnerUserId = dpm.getDeviceOwnerUserId();
- boolean enforcedByDeviceOwner = false;
- if (deviceOwner != null && deviceOwnerUserId != UserHandle.USER_NULL) {
- Bundle enforcedRestrictions = dpm.getUserRestrictions(deviceOwner, deviceOwnerUserId);
- if (enforcedRestrictions != null
- && enforcedRestrictions.getBoolean(userRestriction, false)) {
- enforcedByDeviceOwner = true;
- }
- }
-
- ComponentName profileOwner = null;
- boolean enforcedByProfileOwner = false;
- if (userId != UserHandle.USER_NULL) {
- profileOwner = dpm.getProfileOwnerAsUser(userId);
- if (profileOwner != null) {
- Bundle enforcedRestrictions = dpm.getUserRestrictions(profileOwner, userId);
- if (enforcedRestrictions != null
- && enforcedRestrictions.getBoolean(userRestriction, false)) {
- enforcedByProfileOwner = true;
- }
- }
- }
-
- if (!enforcedByDeviceOwner && !enforcedByProfileOwner) {
- return null;
- }
-
- EnforcedAdmin admin = null;
- if (enforcedByDeviceOwner && enforcedByProfileOwner) {
- admin = new EnforcedAdmin();
- } else if (enforcedByDeviceOwner) {
- admin = new EnforcedAdmin(deviceOwner, deviceOwnerUserId);
- } else {
- admin = new EnforcedAdmin(profileOwner, userId);
- }
- return admin;
- }
-
- /**
- * Checks if lock screen notification features are disabled by policy. This should be
- * only used for keyguard notification features but not the keyguard features
- * (e.g. KEYGUARD_DISABLE_FINGERPRINT) where a profile owner can set them on the parent user
- * as it won't work for that case.
- *
- * @param keyguardNotificationFeatures Could be any of notification features that can be
- * disabled by {@link android.app.admin.DevicePolicyManager#setKeyguardDisabledFeatures}.
- * @return EnforcedAdmin Object containing the enforce admin and admin user details, or
- * {@code null} If the notification features are not disabled. If the restriction is set by
- * multiple admins, then the admin will be set to {@code null} and userId to
- * {@link UserHandle#USER_NULL}.
- */
- public static EnforcedAdmin checkIfKeyguardNotificationFeaturesDisabled(Context context,
- int keyguardNotificationFeatures) {
- final DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
- Context.DEVICE_POLICY_SERVICE);
- boolean isDisabledByMultipleAdmins = false;
- ComponentName adminComponent = null;
- List admins = dpm.getActiveAdmins();
- int disabledKeyguardFeatures;
- for (ComponentName admin : admins) {
- disabledKeyguardFeatures = dpm.getKeyguardDisabledFeatures(admin);
- if ((disabledKeyguardFeatures & keyguardNotificationFeatures) != 0) {
- if (adminComponent == null) {
- adminComponent = admin;
- } else {
- isDisabledByMultipleAdmins = true;
- break;
- }
- }
- }
- EnforcedAdmin enforcedAdmin = null;
- if (adminComponent != null) {
- if (!isDisabledByMultipleAdmins) {
- enforcedAdmin = new EnforcedAdmin(adminComponent, UserHandle.myUserId());
- } else {
- enforcedAdmin = new EnforcedAdmin();
- }
- }
- return enforcedAdmin;
- }
-
- /**
- * Set the menu item as disabled by admin by adding a restricted padlock at the end of the
- * text and set the click listener which will send an intent to show the admin support details
- * dialog.
- */
- public static void setMenuItemAsDisabledByAdmin(final Context context,
- final MenuItem item, final EnforcedAdmin admin) {
- SpannableStringBuilder sb = new SpannableStringBuilder(item.getTitle());
- removeExistingRestrictedSpans(sb);
-
- final int disabledColor = context.getColor(R.color.disabled_text_color);
- sb.setSpan(new ForegroundColorSpan(disabledColor), 0, sb.length(),
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- ImageSpan image = new RestrictedLockImageSpan(context);
- sb.append(" ", image, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- item.setTitle(sb);
-
- item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
- sendShowAdminSupportDetailsIntent(context, admin);
- return true;
- }
- });
- }
-
- private static void removeExistingRestrictedSpans(SpannableStringBuilder sb) {
- final int length = sb.length();
- RestrictedLockImageSpan[] imageSpans = sb.getSpans(length - 1, length,
- RestrictedLockImageSpan.class);
- for (ImageSpan span : imageSpans) {
- sb.removeSpan(span);
- }
- ForegroundColorSpan[] colorSpans = sb.getSpans(0, length, ForegroundColorSpan.class);
- for (ForegroundColorSpan span : colorSpans) {
- sb.removeSpan(span);
- }
- }
-
- /**
- * Send the intent to trigger the {@link android.settings.ShowAdminSupportDetailsDialog}.
- */
- public static void sendShowAdminSupportDetailsIntent(Context context, EnforcedAdmin admin) {
- Intent intent = new Intent(context, ShowAdminSupportDetailsDialog.class);
- int adminUserId = UserHandle.myUserId();
- if (admin != null) {
- if (admin.component != null) {
- intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, admin.component);
- }
- if (admin.userId != UserHandle.USER_NULL) {
- adminUserId = admin.userId;
- }
- intent.putExtra(Intent.EXTRA_USER_ID, adminUserId);
- }
- context.startActivityAsUser(intent, new UserHandle(adminUserId));
- }
-
- public static void setTextViewPadlock(Context context,
- TextView textView, boolean showPadlock) {
- final SpannableStringBuilder sb = new SpannableStringBuilder(textView.getText());
- removeExistingRestrictedSpans(sb);
- if (showPadlock) {
- final ImageSpan image = new RestrictedLockImageSpan(context);
- sb.append(" ", image, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- textView.setText(sb);
- }
-
- public static class EnforcedAdmin {
- public ComponentName component = null;
- public int userId = UserHandle.USER_NULL;
-
- public EnforcedAdmin(ComponentName component, int userId) {
- this.component = component;
- this.userId = userId;
- }
-
- public EnforcedAdmin() {}
- }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/RestrictedPreference.java b/src/com/android/settings/RestrictedPreference.java
deleted file mode 100644
index 5ac52cba25f..00000000000
--- a/src/com/android/settings/RestrictedPreference.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings;
-
-import android.content.Context;
-import android.os.UserHandle;
-import android.support.v4.content.res.TypedArrayUtils;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceManager;
-import android.support.v7.preference.PreferenceViewHolder;
-import android.util.AttributeSet;
-
-import static com.android.settings.RestrictedLockUtils.EnforcedAdmin;
-
-/**
- * Preference class that supports being disabled by a user restriction
- * set by a device admin.
- */
-public class RestrictedPreference extends Preference {
- RestrictedPreferenceHelper mHelper;
-
- public RestrictedPreference(Context context, AttributeSet attrs,
- int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- mHelper = new RestrictedPreferenceHelper(context, this, attrs);
- }
-
- public RestrictedPreference(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, attrs, defStyleAttr, 0);
- }
-
- public RestrictedPreference(Context context, AttributeSet attrs) {
- this(context, attrs, TypedArrayUtils.getAttr(context, R.attr.preferenceStyle,
- android.R.attr.preferenceStyle));
- }
-
- public RestrictedPreference(Context context) {
- this(context, null);
- }
-
- @Override
- public void onBindViewHolder(PreferenceViewHolder holder) {
- super.onBindViewHolder(holder);
- mHelper.onBindViewHolder(holder);
- }
-
- @Override
- public void performClick() {
- if (!mHelper.performClick()) {
- super.performClick();
- }
- }
-
- @Override
- protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
- mHelper.onAttachedToHierarchy();
- super.onAttachedToHierarchy(preferenceManager);
- }
-
- public void checkRestrictionAndSetDisabled(String userRestriction) {
- mHelper.checkRestrictionAndSetDisabled(userRestriction, UserHandle.myUserId());
- }
-
- public void checkRestrictionAndSetDisabled(String userRestriction, int userId) {
- mHelper.checkRestrictionAndSetDisabled(userRestriction, userId);
- }
-
- public void setDisabledByAdmin(EnforcedAdmin admin) {
- if (mHelper.setDisabledByAdmin(admin)) {
- notifyChanged();
- }
- }
-
- public boolean isDisabledByAdmin() {
- return mHelper.isDisabledByAdmin();
- }
-}
diff --git a/src/com/android/settings/RestrictedPreferenceHelper.java b/src/com/android/settings/RestrictedPreferenceHelper.java
deleted file mode 100644
index f0c0bf7bf2b..00000000000
--- a/src/com/android/settings/RestrictedPreferenceHelper.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.os.UserHandle;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceViewHolder;
-import android.text.Spanned;
-import android.text.SpannableStringBuilder;
-import android.text.style.ImageSpan;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.widget.TextView;
-
-import static com.android.settings.RestrictedLockUtils.EnforcedAdmin;
-
-/**
- * Helper class for managing settings preferences that can be disabled
- * by device admins via user restrictions.
- */
-public class RestrictedPreferenceHelper {
- private final Context mContext;
- private final Preference mPreference;
- private final Drawable mRestrictedPadlock;
- private final int mRestrictedPadlockPadding;
-
- private boolean mDisabledByAdmin;
- private EnforcedAdmin mEnforcedAdmin;
- private String mAttrUserRestriction = null;
-
- RestrictedPreferenceHelper(Context context, Preference preference,
- AttributeSet attrs) {
- mContext = context;
- mPreference = preference;
-
- mRestrictedPadlock = RestrictedLockUtils.getRestrictedPadlock(mContext);
- mRestrictedPadlockPadding = mContext.getResources().getDimensionPixelSize(
- R.dimen.restricted_lock_icon_padding);
-
- mAttrUserRestriction = attrs.getAttributeValue(
- R.styleable.RestrictedPreference_userRestriction);
- final TypedArray attributes = context.obtainStyledAttributes(attrs,
- R.styleable.RestrictedPreference);
- final TypedValue userRestriction =
- attributes.peekValue(R.styleable.RestrictedPreference_userRestriction);
- CharSequence data = null;
- if (userRestriction != null && userRestriction.type == TypedValue.TYPE_STRING) {
- if (userRestriction.resourceId != 0) {
- data = context.getText(userRestriction.resourceId);
- } else {
- data = userRestriction.string;
- }
- }
- mAttrUserRestriction = data == null ? null : data.toString();
- }
-
- /**
- * Modify PreferenceViewHolder to add padlock if restriction is disabled.
- */
- public void onBindViewHolder(PreferenceViewHolder holder) {
- final TextView titleView = (TextView) holder.findViewById(android.R.id.title);
- if (titleView != null) {
- RestrictedLockUtils.setTextViewPadlock(mContext, titleView, mDisabledByAdmin);
- if (mDisabledByAdmin) {
- holder.itemView.setEnabled(true);
- }
- }
- }
-
- /**
- * Check if the preference is disabled if so handle the click by informing the user.
- *
- * @return true if the method handled the click.
- */
- public boolean performClick() {
- if (mDisabledByAdmin) {
- RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
- return true;
- }
- return false;
- }
-
- /**
- * Disable / enable if we have been passed the restriction in the xml.
- */
- protected void onAttachedToHierarchy() {
- if (mAttrUserRestriction != null) {
- checkRestrictionAndSetDisabled(mAttrUserRestriction, UserHandle.myUserId());
- }
- }
-
- /**
- * Set the user restriction that is used to disable this preference.
- *
- * @param userRestriction constant from {@link android.os.UserManager}
- * @param userId user to check the restriction for.
- */
- public void checkRestrictionAndSetDisabled(String userRestriction, int userId) {
- EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
- userRestriction, userId);
- setDisabledByAdmin(admin);
- }
-
- /**
- * Disable this preference based on the enforce admin.
- *
- * @param EnforcedAdmin Details of the admin who enforced the restriction. If it
- * is {@code null}, then this preference will be enabled. Otherwise, it will be disabled.
- * @return true if the disabled state was changed.
- */
- public boolean setDisabledByAdmin(EnforcedAdmin admin) {
- final boolean disabled = (admin != null ? true : false);
- mEnforcedAdmin = (disabled ? admin : null);
- if (mDisabledByAdmin != disabled) {
- mDisabledByAdmin = disabled;
- mPreference.setEnabled(!disabled);
- return true;
- }
- return false;
- }
-
- public boolean isDisabledByAdmin() {
- return mDisabledByAdmin;
- }
-}
diff --git a/src/com/android/settings/RestrictedSwitchPreference.java b/src/com/android/settings/RestrictedSwitchPreference.java
deleted file mode 100644
index f0c3315f743..00000000000
--- a/src/com/android/settings/RestrictedSwitchPreference.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings;
-
-import android.content.Context;
-import android.os.UserHandle;
-import android.support.v4.content.res.TypedArrayUtils;
-import android.support.v7.preference.PreferenceManager;
-import android.support.v7.preference.PreferenceViewHolder;
-import android.support.v14.preference.SwitchPreference;
-import android.util.AttributeSet;
-
-import static com.android.settings.RestrictedLockUtils.EnforcedAdmin;
-
-/**
- * Version of SwitchPreference that can be disabled by a device admin
- * using a user restriction.
- */
-public class RestrictedSwitchPreference extends SwitchPreference {
- RestrictedPreferenceHelper mHelper;
-
- public RestrictedSwitchPreference(Context context, AttributeSet attrs,
- int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- mHelper = new RestrictedPreferenceHelper(context, this, attrs);
- }
-
- public RestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, attrs, defStyleAttr, 0);
- }
-
- public RestrictedSwitchPreference(Context context, AttributeSet attrs) {
- this(context, attrs, TypedArrayUtils.getAttr(context, R.attr.switchPreferenceStyle,
- android.R.attr.switchPreferenceStyle));
- }
-
- public RestrictedSwitchPreference(Context context) {
- this(context, null);
- }
-
- @Override
- public void onBindViewHolder(PreferenceViewHolder holder) {
- super.onBindViewHolder(holder);
- mHelper.onBindViewHolder(holder);
- }
-
- @Override
- public void performClick() {
- if (!mHelper.performClick()) {
- super.performClick();
- }
- }
-
- @Override
- protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
- mHelper.onAttachedToHierarchy();
- super.onAttachedToHierarchy(preferenceManager);
- }
-
- public void checkRestrictionAndSetDisabled(String userRestriction) {
- mHelper.checkRestrictionAndSetDisabled(userRestriction, UserHandle.myUserId());
- }
-
- public void checkRestrictionAndSetDisabled(String userRestriction, int userId) {
- mHelper.checkRestrictionAndSetDisabled(userRestriction, userId);
- }
-
- public void setDisabledByAdmin(EnforcedAdmin admin) {
- if (mHelper.setDisabledByAdmin(admin)) {
- notifyChanged();
- }
- }
-
- public boolean isDisabledByAdmin() {
- return mHelper.isDisabledByAdmin();
- }
-}
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 4e9447eecbc..9ffa1f20092 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -61,6 +61,7 @@ import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedSwitchPreference;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index a060c767f9a..ded97d39671 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -54,9 +54,9 @@ import android.widget.TextView;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
-import com.android.settings.RestrictedLockUtils;
import com.android.settings.ShowAdminSupportDetailsDialog;
import com.android.settings.Utils;
+import com.android.settingslib.RestrictedLockUtils;
import com.google.android.collect.Lists;
import java.io.IOException;
@@ -65,7 +65,7 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
-import static com.android.settings.RestrictedLockUtils.EnforcedAdmin;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
public class AccountSyncSettings extends AccountPreferenceBase {
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index 9f0767b5224..3c49d8218ee 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -16,14 +16,6 @@
package com.android.settings.notification;
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.InstrumentedFragment;
-import com.android.settings.R;
-import com.android.settings.RestrictedDropDownPreference;
-import com.android.settings.RestrictedDropDownPreference.RestrictedItem;
-import com.android.settings.RestrictedLockUtils;
-import com.android.settings.SettingsPreferenceFragment;
-
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
@@ -37,13 +29,21 @@ import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.TwoStatePreference;
import android.util.Log;
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.RestrictedDropDownPreference;
+import com.android.settingslib.RestrictedDropDownPreference.RestrictedItem;
+import com.android.settingslib.RestrictedLockUtils;
+
import java.util.ArrayList;
import java.util.List;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
-import static com.android.settings.RestrictedLockUtils.EnforcedAdmin;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
private static final String TAG = "ConfigNotiSettings";