Add button for activating modes manually

Fixes: 308819907
Flag: android.app.modes_ui
Test: ZenModeButtonPreferenceControllerTest
Test: atest com.android.settings.notification.modes
Change-Id: Id018d360c648dd948d2f950ca67cfbea71cc5c68
This commit is contained in:
Julia Reynolds
2024-05-24 16:59:02 -04:00
parent 854227055d
commit 97b462dbf0
9 changed files with 318 additions and 7 deletions

View File

@@ -53,10 +53,25 @@ abstract class ZenModeFragmentBase extends ZenModesFragmentBase {
if (!reloadMode(id)) {
Log.d(TAG, "Mode id " + id + " not found");
toastAndFinish();
return;
}
} else {
Log.d(TAG, "Mode id required to set mode config settings");
toastAndFinish();
return;
}
if (mZenMode != null) {
// Propagate mode info through to controllers.
for (List<AbstractPreferenceController> list : getPreferenceControllers()) {
try {
for (AbstractPreferenceController controller : list) {
// mZenMode guaranteed non-null from reloadMode() above
((AbstractZenModePreferenceController) controller).setZenMode(mZenMode);
}
} catch (ClassCastException e) {
// ignore controllers that aren't AbstractZenModePreferenceController
}
}
}
}