Update dream summary when dream suppressed by bedtime mode

Bug: 246472225
Test: enabled bedtime mode, verified settings summary updated
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.dream.WhenToDreamPreferenceControllerTest"
Change-Id: I4de12f636975b1bdf36898f7a530fde2f55644d4
This commit is contained in:
Lucas Silva
2022-10-17 22:14:34 -04:00
parent 2fa81e2257
commit 51f838ba4b
4 changed files with 80 additions and 10 deletions

View File

@@ -20,7 +20,10 @@ import android.content.Context;
import androidx.preference.Preference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.display.AmbientDisplayAlwaysOnPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
@@ -29,19 +32,34 @@ public class WhenToDreamPreferenceController extends AbstractPreferenceControlle
private static final String WHEN_TO_START = "when_to_start";
private final DreamBackend mBackend;
private final boolean mDreamsDisabledByAmbientModeSuppression;
WhenToDreamPreferenceController(Context context) {
this(context, context.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig));
}
@VisibleForTesting
WhenToDreamPreferenceController(Context context,
boolean dreamsDisabledByAmbientModeSuppression) {
super(context);
mBackend = DreamBackend.getInstance(context);
mDreamsDisabledByAmbientModeSuppression = dreamsDisabledByAmbientModeSuppression;
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
int resId = DreamSettings.getDreamSettingDescriptionResId(mBackend.getWhenToDreamSetting());
preference.setSummary(preference.getContext().getString(resId));
if (mDreamsDisabledByAmbientModeSuppression
&& AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
} else {
final int resId = DreamSettings.getDreamSettingDescriptionResId(
mBackend.getWhenToDreamSetting());
preference.setSummary(resId);
}
}
@Override