Merge "Add "Hub Mode" settings to mobile settings." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
5035bede60
@@ -21,6 +21,7 @@ import android.content.Context;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
/**
|
||||
* Controls the top-level Communal settings preference.
|
||||
@@ -39,7 +40,14 @@ public class CommunalPreferenceController extends BasePreferenceController {
|
||||
* Returns whether communal preferences are available.
|
||||
*/
|
||||
public static boolean isAvailable(Context context) {
|
||||
return context.getResources().getBoolean(R.bool.config_show_communal_settings)
|
||||
&& Utils.canCurrentUserDream(context);
|
||||
if (context.getResources().getBoolean(R.bool.config_show_communal_settings)) {
|
||||
return Utils.canCurrentUserDream(context);
|
||||
}
|
||||
|
||||
if (context.getResources().getBoolean(R.bool.config_show_communal_settings_mobile)) {
|
||||
return Flags.enableHubModeSettingsOnMobile() && Utils.canCurrentUserDream(context);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -16,37 +16,44 @@
|
||||
|
||||
package com.android.settings.dream;
|
||||
|
||||
import android.annotation.StringRes;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.display.AmbientDisplayAlwaysOnPreferenceController;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.dream.DreamBackend;
|
||||
|
||||
public class WhenToDreamPreferenceController extends AbstractPreferenceController implements
|
||||
public class WhenToDreamPreferenceController extends BasePreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
|
||||
private static final String WHEN_TO_START = "when_to_start";
|
||||
private static final String DEFAULT_PREF_KEY = "when_to_start";
|
||||
private final DreamBackend mBackend;
|
||||
private final boolean mDreamsDisabledByAmbientModeSuppression;
|
||||
private final boolean mDreamsEnabledOnBattery;
|
||||
|
||||
WhenToDreamPreferenceController(Context context) {
|
||||
this(context, context.getResources().getBoolean(
|
||||
public WhenToDreamPreferenceController(Context context) {
|
||||
this(context, DEFAULT_PREF_KEY);
|
||||
}
|
||||
|
||||
public WhenToDreamPreferenceController(Context context, String preferenceKey) {
|
||||
this(context, preferenceKey, context.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig),
|
||||
context.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsEnabledOnBattery));
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
WhenToDreamPreferenceController(Context context,
|
||||
WhenToDreamPreferenceController(
|
||||
Context context,
|
||||
String preferenceKey,
|
||||
boolean dreamsDisabledByAmbientModeSuppression,
|
||||
boolean dreamsEnabledOnBattery) {
|
||||
super(context);
|
||||
super(context, preferenceKey);
|
||||
|
||||
mBackend = DreamBackend.getInstance(context);
|
||||
mDreamsDisabledByAmbientModeSuppression = dreamsDisabledByAmbientModeSuppression;
|
||||
@@ -57,23 +64,27 @@ public class WhenToDreamPreferenceController extends AbstractPreferenceControlle
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
|
||||
preference.setSummary(getSummaryResId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
return mContext.getString(getSummaryResId());
|
||||
}
|
||||
|
||||
private @StringRes int getSummaryResId() {
|
||||
if (mDreamsDisabledByAmbientModeSuppression
|
||||
&& AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
|
||||
preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
|
||||
return R.string.screensaver_settings_when_to_dream_bedtime;
|
||||
} else {
|
||||
final int resId = DreamSettings.getDreamSettingDescriptionResId(
|
||||
mBackend.getWhenToDreamSetting(), mDreamsEnabledOnBattery);
|
||||
preference.setSummary(resId);
|
||||
return resId;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return WHEN_TO_START;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user