Merge "Show onboarding screen from dnd tile" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b2943a864e
@@ -83,7 +83,8 @@ public class ZenModeConfig implements Parcelable {
|
||||
private static final int DAY_MINUTES = 24 * 60;
|
||||
private static final int ZERO_VALUE_MS = 10 * SECONDS_MS;
|
||||
|
||||
// Default allow categories set in readXml() from default_zen_mode_config.xml, fallback values:
|
||||
// Default allow categories set in readXml() from default_zen_mode_config.xml,
|
||||
// fallback/upgrade values:
|
||||
private static final boolean DEFAULT_ALLOW_ALARMS = true;
|
||||
private static final boolean DEFAULT_ALLOW_MEDIA = true;
|
||||
private static final boolean DEFAULT_ALLOW_SYSTEM = false;
|
||||
@@ -97,7 +98,7 @@ public class ZenModeConfig implements Parcelable {
|
||||
private static final int DEFAULT_SUPPRESSED_VISUAL_EFFECTS =
|
||||
Policy.getAllSuppressedVisualEffects();
|
||||
|
||||
public static final int XML_VERSION = 6;
|
||||
public static final int XML_VERSION = 7;
|
||||
public static final String ZEN_TAG = "zen";
|
||||
private static final String ZEN_ATT_VERSION = "version";
|
||||
private static final String ZEN_ATT_USER = "user";
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<!-- Default configuration for zen mode. See android.service.notification.ZenModeConfig. -->
|
||||
<zen version="6">
|
||||
<zen version="7">
|
||||
<allow alarms="true" media="true" system="false" calls="false" messages="false" reminders="false"
|
||||
events="false" />
|
||||
<!-- all visual effects that exist as of P -->
|
||||
|
||||
@@ -2935,7 +2935,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private final class UpgradeController {
|
||||
private static final int SETTINGS_VERSION = 162;
|
||||
private static final int SETTINGS_VERSION = 163;
|
||||
|
||||
private final int mUserId;
|
||||
|
||||
@@ -3709,6 +3709,21 @@ public class SettingsProvider extends ContentProvider {
|
||||
currentVersion = 162;
|
||||
}
|
||||
|
||||
if (currentVersion == 162) {
|
||||
// Version 162: Add a gesture for silencing phones
|
||||
final SettingsState settings = getGlobalSettingsLocked();
|
||||
final Setting currentSetting = settings.getSettingLocked(
|
||||
Global.SHOW_ZEN_UPGRADE_NOTIFICATION);
|
||||
if (!currentSetting.isNull()
|
||||
&& TextUtils.equals("0", currentSetting.getValue())) {
|
||||
settings.insertSettingLocked(
|
||||
Global.SHOW_ZEN_UPGRADE_NOTIFICATION, "1",
|
||||
null, true, SettingsState.SYSTEM_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
currentVersion = 163;
|
||||
}
|
||||
|
||||
// vXXX: Add new settings above this point.
|
||||
|
||||
if (currentVersion != newVersion) {
|
||||
|
||||
@@ -143,26 +143,41 @@ public class DndTile extends QSTileImpl<BooleanState> {
|
||||
public void showDetail(boolean show) {
|
||||
int zenDuration = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.ZEN_DURATION, 0);
|
||||
switch (zenDuration) {
|
||||
case Settings.Global.ZEN_DURATION_PROMPT:
|
||||
mUiHandler.post(() -> {
|
||||
Dialog mDialog = new EnableZenModeDialog(mContext).createDialog();
|
||||
mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||
SystemUIDialog.setShowForAllUsers(mDialog, true);
|
||||
SystemUIDialog.registerDismissListener(mDialog);
|
||||
SystemUIDialog.setWindowOnTop(mDialog);
|
||||
mUiHandler.post(() -> mDialog.show());
|
||||
mHost.collapsePanels();
|
||||
});
|
||||
break;
|
||||
case Settings.Global.ZEN_DURATION_FOREVER:
|
||||
mController.setZen(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, TAG);
|
||||
break;
|
||||
default:
|
||||
Uri conditionId = ZenModeConfig.toTimeCondition(mContext, zenDuration,
|
||||
ActivityManager.getCurrentUser(), true).id;
|
||||
mController.setZen(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
|
||||
conditionId, TAG);
|
||||
boolean showOnboarding = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.SHOW_ZEN_UPGRADE_NOTIFICATION, 0) != 0;
|
||||
if (showOnboarding) {
|
||||
// don't show on-boarding again or notification ever
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Global.SHOW_ZEN_UPGRADE_NOTIFICATION, 0);
|
||||
// turn on DND
|
||||
mController.setZen(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, TAG);
|
||||
// show on-boarding screen
|
||||
Intent intent = new Intent(Settings.ZEN_MODE_ONBOARDING);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
Dependency.get(ActivityStarter.class).postStartActivityDismissingKeyguard(intent, 0);
|
||||
} else {
|
||||
switch (zenDuration) {
|
||||
case Settings.Global.ZEN_DURATION_PROMPT:
|
||||
mUiHandler.post(() -> {
|
||||
Dialog mDialog = new EnableZenModeDialog(mContext).createDialog();
|
||||
mDialog.getWindow().setType(
|
||||
WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||
SystemUIDialog.setShowForAllUsers(mDialog, true);
|
||||
SystemUIDialog.registerDismissListener(mDialog);
|
||||
SystemUIDialog.setWindowOnTop(mDialog);
|
||||
mUiHandler.post(() -> mDialog.show());
|
||||
mHost.collapsePanels();
|
||||
});
|
||||
break;
|
||||
case Settings.Global.ZEN_DURATION_FOREVER:
|
||||
mController.setZen(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, TAG);
|
||||
break;
|
||||
default:
|
||||
Uri conditionId = ZenModeConfig.toTimeCondition(mContext, zenDuration,
|
||||
ActivityManager.getCurrentUser(), true).id;
|
||||
mController.setZen(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
|
||||
conditionId, TAG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user