Loading packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java +6 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,12 @@ public class PrimarySwitchPreference extends RestrictedPreference { } } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); setSwitchEnabled(enabled); } @VisibleForTesting(otherwise = VisibleForTesting.NONE) public boolean isSwitchEnabled() { return mEnableSwitch; Loading packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java +7 −4 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.UserHandle; import android.text.TextUtils; Loading Loading @@ -229,13 +230,15 @@ public class RestrictedPreferenceHelper { } private void updateDisabledState() { boolean isEnabled = !(mDisabledByAdmin || mDisabledByAppOps); if (!(mPreference instanceof RestrictedTopLevelPreference)) { mPreference.setEnabled(!(mDisabledByAdmin || mDisabledByAppOps)); mPreference.setEnabled(isEnabled); } if (mPreference instanceof PrimarySwitchPreference) { ((PrimarySwitchPreference) mPreference) .setSwitchEnabled(!(mDisabledByAdmin || mDisabledByAppOps)); Drawable icon = mPreference.getIcon(); if (!isEnabled && icon != null) { Utils.convertToGrayscale(icon); mPreference.setIcon(icon); } } } packages/SettingsLib/src/com/android/settingslib/Utils.java +10 −0 Original line number Diff line number Diff line Loading @@ -700,4 +700,14 @@ public class Utils { return false; } /** * Convert a drawable to grayscale drawable */ public static void convertToGrayscale(@NonNull Drawable drawable) { ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0.0f); ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); drawable.setColorFilter(filter); } } Loading
packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java +6 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,12 @@ public class PrimarySwitchPreference extends RestrictedPreference { } } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); setSwitchEnabled(enabled); } @VisibleForTesting(otherwise = VisibleForTesting.NONE) public boolean isSwitchEnabled() { return mEnableSwitch; Loading
packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java +7 −4 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.UserHandle; import android.text.TextUtils; Loading Loading @@ -229,13 +230,15 @@ public class RestrictedPreferenceHelper { } private void updateDisabledState() { boolean isEnabled = !(mDisabledByAdmin || mDisabledByAppOps); if (!(mPreference instanceof RestrictedTopLevelPreference)) { mPreference.setEnabled(!(mDisabledByAdmin || mDisabledByAppOps)); mPreference.setEnabled(isEnabled); } if (mPreference instanceof PrimarySwitchPreference) { ((PrimarySwitchPreference) mPreference) .setSwitchEnabled(!(mDisabledByAdmin || mDisabledByAppOps)); Drawable icon = mPreference.getIcon(); if (!isEnabled && icon != null) { Utils.convertToGrayscale(icon); mPreference.setIcon(icon); } } }
packages/SettingsLib/src/com/android/settingslib/Utils.java +10 −0 Original line number Diff line number Diff line Loading @@ -700,4 +700,14 @@ public class Utils { return false; } /** * Convert a drawable to grayscale drawable */ public static void convertToGrayscale(@NonNull Drawable drawable) { ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0.0f); ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); drawable.setColorFilter(filter); } }