From acab1a0364283ad6e582c4de3d72f0b863d681a7 Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Thu, 7 Jan 2021 15:41:26 +0800 Subject: [PATCH] Only show the schedule text for the night display and dark theme In Android S design, night display and dark theme only show schedule text for summary. - Rmove redundant string resource. - Remove redundant method in night display formatter. - Refactor the code in dark mode preference and night display controller. Test: See the correct behavior in screen. Fix: 174964139 Change-Id: I658b3073a0a6ed83f589103999c711e5430eaeb7 --- res/values/strings.xml | 10 +--------- .../display/NightDisplayPreferenceController.java | 9 +++++++++ .../settings/display/NightDisplayTimeFormatter.java | 9 +-------- .../settings/display/darkmode/DarkModePreference.java | 11 ++++------- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ebc8fc57cfa..f1a25f2648c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2824,16 +2824,12 @@ Status Intensity - - Off / %1$s Will never turn on automatically Will turn on automatically at %1$s Will turn on automatically at sunset - - On / %1$s Will never turn off automatically @@ -2882,16 +2878,12 @@ Turns on at custom time Status - - Off / %1$s Will never turn on automatically Will turn on automatically at sunset Will turn on automatically at %1$s - - On / %1$s Will never turn off automatically @@ -10870,7 +10862,7 @@ Dark theme - On / Temporarily disabled due to Battery Saver + Temporarily disabled due to Battery Saver Temporarily turned on due to Battery Saver diff --git a/src/com/android/settings/display/NightDisplayPreferenceController.java b/src/com/android/settings/display/NightDisplayPreferenceController.java index 0198007b29f..003373cc1aa 100644 --- a/src/com/android/settings/display/NightDisplayPreferenceController.java +++ b/src/com/android/settings/display/NightDisplayPreferenceController.java @@ -17,6 +17,7 @@ import android.content.Context; import android.hardware.display.ColorDisplayManager; import android.hardware.display.NightDisplayListener; +import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; @@ -32,6 +33,7 @@ public class NightDisplayPreferenceController extends TogglePreferenceController private final ColorDisplayManager mColorDisplayManager; private final NightDisplayListener mNightDisplayListener; + private final NightDisplayTimeFormatter mTimeFormatter; private PrimarySwitchPreference mPreference; public NightDisplayPreferenceController(Context context, String key) { @@ -39,6 +41,7 @@ public class NightDisplayPreferenceController extends TogglePreferenceController mColorDisplayManager = context.getSystemService(ColorDisplayManager.class); mNightDisplayListener = new NightDisplayListener(context); + mTimeFormatter = new NightDisplayTimeFormatter(context); } public static boolean isSuggestionComplete(Context context) { @@ -86,6 +89,12 @@ public class NightDisplayPreferenceController extends TogglePreferenceController return mColorDisplayManager.setNightDisplayActivated(isChecked); } + @Override + public void updateState(Preference preference) { + super.updateState(preference); + preference.setSummary(mTimeFormatter.getAutoModeSummary(mContext, mColorDisplayManager)); + } + @Override public void onActivated(boolean activated) { updateState(mPreference); diff --git a/src/com/android/settings/display/NightDisplayTimeFormatter.java b/src/com/android/settings/display/NightDisplayTimeFormatter.java index 1449ac1224e..aa715de35b6 100644 --- a/src/com/android/settings/display/NightDisplayTimeFormatter.java +++ b/src/com/android/settings/display/NightDisplayTimeFormatter.java @@ -17,8 +17,8 @@ package com.android.settings.display; import android.content.Context; - import android.hardware.display.ColorDisplayManager; + import com.android.settings.R; import java.text.DateFormat; @@ -45,13 +45,6 @@ public class NightDisplayTimeFormatter { return mTimeFormatter.format(c.getTime()); } - public String getAutoModeTimeSummary(Context context, ColorDisplayManager manager) { - final int summaryFormatResId = - manager.isNightDisplayActivated() ? R.string.night_display_summary_on - : R.string.night_display_summary_off; - return context.getString(summaryFormatResId, getAutoModeSummary(context, manager)); - } - public String getAutoModeSummary(Context context, ColorDisplayManager manager) { final boolean isActivated = manager.isNightDisplayActivated(); final int autoMode = manager.getNightDisplayAutoMode(); diff --git a/src/com/android/settings/display/darkmode/DarkModePreference.java b/src/com/android/settings/display/darkmode/DarkModePreference.java index baaa1f75df3..c69bb016406 100644 --- a/src/com/android/settings/display/darkmode/DarkModePreference.java +++ b/src/com/android/settings/display/darkmode/DarkModePreference.java @@ -74,10 +74,10 @@ public class DarkModePreference extends PrimarySwitchPreference { return; } final int mode = mUiModeManager.getNightMode(); - String detail; + String summary; if (mode == UiModeManager.MODE_NIGHT_AUTO) { - detail = getContext().getString(active + summary = getContext().getString(active ? R.string.dark_ui_summary_on_auto_mode_auto : R.string.dark_ui_summary_off_auto_mode_auto); } else if (mode == UiModeManager.MODE_NIGHT_CUSTOM) { @@ -85,17 +85,14 @@ public class DarkModePreference extends PrimarySwitchPreference { ? mUiModeManager.getCustomNightModeEnd() : mUiModeManager.getCustomNightModeStart(); final String timeStr = mFormat.of(time); - detail = getContext().getString(active + summary = getContext().getString(active ? R.string.dark_ui_summary_on_auto_mode_custom : R.string.dark_ui_summary_off_auto_mode_custom, timeStr); } else { - detail = getContext().getString(active + summary = getContext().getString(active ? R.string.dark_ui_summary_on_auto_mode_never : R.string.dark_ui_summary_off_auto_mode_never); } - String summary = getContext().getString(active - ? R.string.dark_ui_summary_on - : R.string.dark_ui_summary_off, detail); setSummary(summary); }