Clean up: remove dimmableIconPreference

- DimmableIconPreference is not a support pattern.
- Also updated a few icon tint colors to match with the rest of screen.

Bug: 68426851
Test: visual
Change-Id: Ia18d9f74458237403b94d3474cf09050d2039428
This commit is contained in:
Fan Zhang
2017-10-29 13:57:29 -07:00
parent f68e6ec2ae
commit 12b03b2794
8 changed files with 15 additions and 97 deletions

View File

@@ -20,7 +20,7 @@
android:height="24dp" android:height="24dp"
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:tint="?android:attr/colorAccent"> android:tint="?android:attr/colorControlNormal">
<path <path
android:fillColor="#FF000000" android:fillColor="#FF000000"
android:pathData="M18,13h-5v5c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v-5H6c-0.55,0-1-0.45-1-1v0c0-0.55,0.45-1,1-1h5V6c0-0.55,0.45-1,1-1h0 android:pathData="M18,13h-5v5c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v-5H6c-0.55,0-1-0.45-1-1v0c0-0.55,0.45-1,1-1h5V6c0-0.55,0.45-1,1-1h0

View File

@@ -18,7 +18,7 @@
android:height="24.0dp" android:height="24.0dp"
android:viewportWidth="48.0" android:viewportWidth="48.0"
android:viewportHeight="48.0" android:viewportHeight="48.0"
android:tint="?android:attr/colorAccent"> android:tint="?android:attr/colorControlNormal">
<path <path
android:fillColor="@android:color/white" android:fillColor="@android:color/white"
android:pathData="M12.0,38.0c0.0,2.21 1.79,4.0 4.0,4.0l16.0,0.0c2.21,0.0 4.0,-1.79 4.0,-4.0L36.0,14.0L12.0,14.0l0.0,24.0zM38.0,8.0l-7.0,0.0l-2.0,-2.0L19.0,6.0l-2.0,2.0l-7.0,0.0l0.0,4.0l28.0,0.0L38.0,8.0z"/> android:pathData="M12.0,38.0c0.0,2.21 1.79,4.0 4.0,4.0l16.0,0.0c2.21,0.0 4.0,-1.79 4.0,-4.0L36.0,14.0L12.0,14.0l0.0,24.0zM38.0,8.0l-7.0,0.0l-2.0,-2.0L19.0,6.0l-2.0,2.0l-7.0,0.0l0.0,4.0l28.0,0.0L38.0,8.0z"/>

View File

@@ -23,7 +23,7 @@
android:title="@string/user_list_title"> android:title="@string/user_list_title">
</PreferenceCategory> </PreferenceCategory>
<com.android.settings.DimmableIconPreference <com.android.settingslib.RestrictedPreference
android:key="user_add" android:key="user_add"
android:title="@string/user_add_user_or_profile_menu" android:title="@string/user_add_user_or_profile_menu"
android:icon="@drawable/ic_menu_add" /> android:icon="@drawable/ic_menu_add" />

View File

@@ -40,7 +40,7 @@
settings:useAdditionalSummary="true" settings:useAdditionalSummary="true"
settings:restrictedSwitchSummary="@string/disabled_by_admin_summary_text" /> settings:restrictedSwitchSummary="@string/disabled_by_admin_summary_text" />
<com.android.settings.DimmableIconPreference <com.android.settingslib.RestrictedPreference
android:key="forget_vpn" android:key="forget_vpn"
android:title="@string/vpn_forget_long" android:title="@string/vpn_forget_long"
android:icon="@drawable/ic_menu_delete" android:icon="@drawable/ic_menu_delete"

View File

@@ -1,73 +0,0 @@
/*
* Copyright (C) 2014 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.annotation.Nullable;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.TextView;
import com.android.settingslib.RestrictedPreference;
/**
* A preference item that can dim the icon when it's disabled, either directly or because its parent
* is disabled.
*/
public class DimmableIconPreference extends RestrictedPreference {
private static final int ICON_ALPHA_ENABLED = 255;
private static final int ICON_ALPHA_DISABLED = 102;
private final CharSequence mContentDescription;
public DimmableIconPreference(Context context) {
this(context, (AttributeSet) null);
}
public DimmableIconPreference(Context context, AttributeSet attrs) {
super(context, attrs);
mContentDescription = null;
useAdminDisabledSummary(true);
}
public DimmableIconPreference(Context context, @Nullable CharSequence contentDescription) {
super(context);
mContentDescription = contentDescription;
useAdminDisabledSummary(true);
}
private void dimIcon(boolean dimmed) {
Drawable icon = getIcon();
if (icon != null) {
icon.mutate().setAlpha(dimmed ? ICON_ALPHA_DISABLED : ICON_ALPHA_ENABLED);
setIcon(icon);
}
}
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
if (!TextUtils.isEmpty(mContentDescription)) {
final TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setContentDescription(mContentDescription);
}
dimIcon(!isEnabled());
}
}

View File

@@ -46,7 +46,6 @@ import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.AccessiblePreferenceCategory; import com.android.settings.AccessiblePreferenceCategory;
import com.android.settings.DimmableIconPreference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
@@ -101,7 +100,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
/** /**
* The preference that displays the add account button. * The preference that displays the add account button.
*/ */
public DimmableIconPreference addAccountPreference; public RestrictedPreference addAccountPreference;
/** /**
* The preference that displays the button to remove the managed profile * The preference that displays the button to remove the managed profile
*/ */
@@ -323,7 +322,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
preferenceGroup.setSummary(workGroupSummary); preferenceGroup.setSummary(workGroupSummary);
preferenceGroup.setContentDescription( preferenceGroup.setContentDescription(
mContext.getString(R.string.accessibility_category_work, workGroupSummary)); mContext.getString(R.string.accessibility_category_work, workGroupSummary));
profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context); profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference();
mHelper.enforceRestrictionOnPreference(profileData.removeWorkProfilePreference, mHelper.enforceRestrictionOnPreference(profileData.removeWorkProfilePreference,
DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.myUserId()); DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.myUserId());
profileData.managedProfilePreference = newManagedProfileSettings(); profileData.managedProfilePreference = newManagedProfileSettings();
@@ -340,16 +339,16 @@ public class AccountPreferenceController extends AbstractPreferenceController
if (userInfo.isEnabled()) { if (userInfo.isEnabled()) {
profileData.authenticatorHelper = new AuthenticatorHelper(context, profileData.authenticatorHelper = new AuthenticatorHelper(context,
userInfo.getUserHandle(), this); userInfo.getUserHandle(), this);
profileData.addAccountPreference = newAddAccountPreference(context); profileData.addAccountPreference = newAddAccountPreference();
mHelper.enforceRestrictionOnPreference(profileData.addAccountPreference, mHelper.enforceRestrictionOnPreference(profileData.addAccountPreference,
DISALLOW_MODIFY_ACCOUNTS, userInfo.id); DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
} }
mProfiles.put(userInfo.id, profileData); mProfiles.put(userInfo.id, profileData);
} }
private DimmableIconPreference newAddAccountPreference(Context context) { private RestrictedPreference newAddAccountPreference() {
DimmableIconPreference preference = RestrictedPreference preference =
new DimmableIconPreference(mParent.getPreferenceManager().getContext()); new RestrictedPreference(mParent.getPreferenceManager().getContext());
preference.setTitle(R.string.add_account_label); preference.setTitle(R.string.add_account_label);
preference.setIcon(R.drawable.ic_menu_add); preference.setIcon(R.drawable.ic_menu_add);
preference.setOnPreferenceClickListener(this); preference.setOnPreferenceClickListener(this);
@@ -357,7 +356,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
return preference; return preference;
} }
private RestrictedPreference newRemoveWorkProfilePreference(Context context) { private RestrictedPreference newRemoveWorkProfilePreference() {
RestrictedPreference preference = new RestrictedPreference( RestrictedPreference preference = new RestrictedPreference(
mParent.getPreferenceManager().getContext()); mParent.getPreferenceManager().getContext());
preference.setTitle(R.string.remove_managed_profile_label); preference.setTitle(R.string.remove_managed_profile_label);

View File

@@ -40,8 +40,6 @@ import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.util.Xml; import android.util.Xml;
import com.android.settings.DimmableIconPreference;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
@@ -270,13 +268,7 @@ class SettingsInjector {
PackageManager pm = mContext.getPackageManager(); PackageManager pm = mContext.getPackageManager();
Drawable appIcon = pm.getDrawable(info.packageName, info.iconId, null); Drawable appIcon = pm.getDrawable(info.packageName, info.iconId, null);
Drawable icon = pm.getUserBadgedIcon(appIcon, info.mUserHandle); Drawable icon = pm.getUserBadgedIcon(appIcon, info.mUserHandle);
CharSequence badgedAppLabel = pm.getUserBadgedLabel(info.title, info.mUserHandle); Preference pref = new Preference(prefContext);
if (info.title.contentEquals(badgedAppLabel)) {
// If badged label is not different from original then no need for it as
// a separate content description.
badgedAppLabel = null;
}
Preference pref = new DimmableIconPreference(prefContext, badgedAppLabel);
pref.setTitle(info.title); pref.setTitle(info.title);
pref.setSummary(null); pref.setSummary(null);
pref.setIcon(icon); pref.setIcon(icon);

View File

@@ -54,7 +54,6 @@ import android.widget.SimpleAdapter;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.settings.DimmableIconPreference;
import com.android.settings.OwnerInfoSettings; import com.android.settings.OwnerInfoSettings;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
@@ -67,6 +66,7 @@ import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw; import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.drawable.CircleFramedDrawable; import com.android.settingslib.drawable.CircleFramedDrawable;
import java.util.ArrayList; import java.util.ArrayList;
@@ -126,7 +126,7 @@ public class UserSettings extends SettingsPreferenceFragment
private PreferenceGroup mUserListCategory; private PreferenceGroup mUserListCategory;
private UserPreference mMePreference; private UserPreference mMePreference;
private DimmableIconPreference mAddUser; private RestrictedPreference mAddUser;
private int mRemovingUserId = -1; private int mRemovingUserId = -1;
private int mAddedUserId = 0; private int mAddedUserId = 0;
private boolean mAddingUser; private boolean mAddingUser;
@@ -212,7 +212,7 @@ public class UserSettings extends SettingsPreferenceFragment
if (mUserCaps.mIsAdmin) { if (mUserCaps.mIsAdmin) {
mMePreference.setSummary(R.string.user_admin); mMePreference.setSummary(R.string.user_admin);
} }
mAddUser = (DimmableIconPreference) findPreference(KEY_ADD_USER); mAddUser = (RestrictedPreference) findPreference(KEY_ADD_USER);
mAddUser.useAdminDisabledSummary(false); mAddUser.useAdminDisabledSummary(false);
// Determine if add user/profile button should be visible // Determine if add user/profile button should be visible
if (mUserCaps.mCanAddUser && Utils.isDeviceProvisioned(getActivity())) { if (mUserCaps.mCanAddUser && Utils.isDeviceProvisioned(getActivity())) {