Redirect to new modes page when modes_ui is on.
The new modes page has essentially no content yet, but this is a rough proof of concept for the existing abstract classes and hopefully serves as a building block for future changes. It lists modes and those preferences lead to contentless pages that will be fleshed out later.. Flag: android.app.modes_ui Bug: 327260745 Test: ZenModePreferenceControllerTest Test: manual; individual pages only have skeleton functionality and should be unit tested in future CLs Change-Id: I12f48b48f761e3c9ff1a173445b15f7536d34edb
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.notification.zen;
|
||||
|
||||
import android.app.Flags;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.database.ContentObserver;
|
||||
@@ -27,7 +28,9 @@ import android.provider.Settings;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.notification.modes.ZenModesListFragment;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||
@@ -46,7 +49,9 @@ public class ZenModePreferenceController extends BasePreferenceController
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mSettingObserver = new SettingObserver(screen.findPreference(getPreferenceKey()));
|
||||
Preference preference = screen.findPreference(getPreferenceKey());
|
||||
mSettingObserver = new SettingObserver(preference);
|
||||
maybeSetTitleAndDestination(preference);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -71,11 +76,22 @@ public class ZenModePreferenceController extends BasePreferenceController
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
maybeSetTitleAndDestination(preference);
|
||||
if (preference.isEnabled()) {
|
||||
preference.setSummary(mSummaryBuilder.getSoundSummary());
|
||||
}
|
||||
}
|
||||
|
||||
// Only when modes_ui is active: change title & target fragment.
|
||||
private void maybeSetTitleAndDestination(Preference preference) {
|
||||
if (!Flags.modesUi()) {
|
||||
return;
|
||||
}
|
||||
|
||||
preference.setTitle(R.string.zen_modes_list_title);
|
||||
preference.setFragment(ZenModesListFragment.class.getCanonicalName());
|
||||
}
|
||||
|
||||
class SettingObserver extends ContentObserver {
|
||||
private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
|
||||
private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
|
||||
|
||||
Reference in New Issue
Block a user