Merge "Use the new inspirational text in mode interstitials" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
4cffde0188
@@ -9535,6 +9535,23 @@
|
||||
<!-- Priority Modes: Blurb for modes that are not of a specific type (OTHER, UNKNOWN). [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_blurb_generic">Minimize interruptions by only allowing important people and apps to reach you</string>
|
||||
|
||||
<!-- Priority Modes: Inspirational text for a mode that activates during a fixed time schedule (e.g. 9:00-17:00). [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_schedule_time">Set a mode that follows a regular schedule</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode that activates during calendar events. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_schedule_calendar">Keep your device in sync with your day’s events</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode of type BEDTIME. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_bedtime">Wake up feeling like 100%</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode of type DRIVING. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_driving">Put safety first while on the road</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode of type IMMERSIVE. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_immersive">Gain focus to get in the zone</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode of type THEATER. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_theater">For moments when courtesy counts</string>
|
||||
<!-- Priority Modes: Inspirational text for a mode of type MANAGED. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_managed">Guided usage to help you stay in good hands</string>
|
||||
<!-- Priority Modes: Inspirational text for modes that are not of a specific type (OTHER, UNKNOWN). [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_mode_inspiration_generic">Take control of your attention</string>
|
||||
|
||||
<!-- Content description for help icon button [CHAR LIMIT=20] -->
|
||||
<string name="warning_button_text">Warning</string>
|
||||
|
||||
|
@@ -21,9 +21,13 @@ import static android.app.AutomaticZenRule.TYPE_DRIVING;
|
||||
import static android.app.AutomaticZenRule.TYPE_IMMERSIVE;
|
||||
import static android.app.AutomaticZenRule.TYPE_MANAGED;
|
||||
import static android.app.AutomaticZenRule.TYPE_OTHER;
|
||||
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
|
||||
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
|
||||
import static android.app.AutomaticZenRule.TYPE_THEATER;
|
||||
import static android.app.AutomaticZenRule.TYPE_UNKNOWN;
|
||||
import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActionBar;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
@@ -39,6 +43,7 @@ import android.widget.Toolbar;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
@@ -124,6 +129,11 @@ public class SetupInterstitialActivity extends FragmentActivity {
|
||||
title.setText(mode.getName());
|
||||
}
|
||||
|
||||
TextView subtitle = findViewById(R.id.mode_name_subtitle);
|
||||
if (subtitle != null) {
|
||||
subtitle.setText(getSubtitle(mode));
|
||||
}
|
||||
|
||||
ImageView img = findViewById(R.id.image);
|
||||
if (img != null) {
|
||||
setImage(img, mode);
|
||||
@@ -135,6 +145,27 @@ public class SetupInterstitialActivity extends FragmentActivity {
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
@SuppressLint("SwitchIntDef")
|
||||
private static int getSubtitle(ZenMode mode) {
|
||||
if (mode.isSystemOwned()) {
|
||||
return switch (mode.getType()) {
|
||||
case TYPE_SCHEDULE_TIME -> R.string.zen_mode_inspiration_schedule_time;
|
||||
case TYPE_SCHEDULE_CALENDAR -> R.string.zen_mode_inspiration_schedule_calendar;
|
||||
default -> R.string.zen_mode_inspiration_generic; // Custom Manual
|
||||
};
|
||||
} else {
|
||||
return switch (mode.getType()) {
|
||||
case TYPE_BEDTIME -> R.string.zen_mode_inspiration_bedtime;
|
||||
case TYPE_DRIVING -> R.string.zen_mode_inspiration_driving;
|
||||
case TYPE_IMMERSIVE -> R.string.zen_mode_inspiration_immersive;
|
||||
case TYPE_THEATER -> R.string.zen_mode_inspiration_theater;
|
||||
case TYPE_MANAGED -> R.string.zen_mode_inspiration_managed;
|
||||
default -> R.string.zen_mode_inspiration_generic; // Including OTHER, UNKNOWN.
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private void setImage(@NonNull ImageView img, @NonNull ZenMode mode) {
|
||||
int drawableRes = switch (mode.getType()) {
|
||||
case TYPE_BEDTIME -> R.drawable.modes_interstitial_bedtime;
|
||||
@@ -142,7 +173,9 @@ public class SetupInterstitialActivity extends FragmentActivity {
|
||||
case TYPE_IMMERSIVE -> R.drawable.modes_interstitial_immersive;
|
||||
case TYPE_THEATER -> R.drawable.modes_interstitial_theater;
|
||||
case TYPE_MANAGED -> R.drawable.modes_interstitial_managed;
|
||||
case TYPE_OTHER -> R.drawable.modes_interstitial_other;
|
||||
case TYPE_OTHER, TYPE_SCHEDULE_CALENDAR, TYPE_SCHEDULE_TIME ->
|
||||
R.drawable.modes_interstitial_other;
|
||||
case TYPE_UNKNOWN -> R.drawable.modes_interstitial_unknown;
|
||||
default -> R.drawable.modes_interstitial_unknown;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user