From c91a8bce5b2d548c38a1df1c63669f4f66608490 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Sat, 25 Apr 2020 02:25:48 +0800 Subject: [PATCH] Add icon to current screen saver preference The screen saver setting is coming from different apps to modify their options. This will confuse people that they were modifying something in Settings rather than in other apps. To improve that, we added an icon of active dream and put it on the left side of current screen saver setting, which is to let people clearer to know that they were modifying the options in other apps. Bug: 129994275 Test: robotests Change-Id: I014c9de745044c2bd39d22782b6c36f8605d8f56 --- .../dream/CurrentDreamPreferenceController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/com/android/settings/dream/CurrentDreamPreferenceController.java b/src/com/android/settings/dream/CurrentDreamPreferenceController.java index fee4826c5a9..a73898fdc0a 100644 --- a/src/com/android/settings/dream/CurrentDreamPreferenceController.java +++ b/src/com/android/settings/dream/CurrentDreamPreferenceController.java @@ -20,8 +20,10 @@ import android.content.Context; import androidx.preference.Preference; +import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; import com.android.settings.widget.GearPreference; +import com.android.settingslib.RestrictedPreference; import com.android.settingslib.dream.DreamBackend; import com.android.settingslib.dream.DreamBackend.DreamInfo; @@ -45,6 +47,7 @@ public class CurrentDreamPreferenceController extends BasePreferenceController { public void updateState(Preference preference) { super.updateState(preference); setGearClickListenerForPreference(preference); + setActiveDreamIcon(preference); } @Override @@ -78,4 +81,13 @@ public class CurrentDreamPreferenceController extends BasePreferenceController { .filter((info) -> info.isActive) .findFirst(); } + + private void setActiveDreamIcon(Preference preference) { + if (!(preference instanceof GearPreference)) { + return; + } + final GearPreference gearPref = (GearPreference) preference; + gearPref.setIconSize(RestrictedPreference.ICON_SIZE_SMALL); + Utils.setSafeIcon(gearPref, mBackend.getActiveIcon()); + } }