Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f29f4429 authored by Yuri Lin's avatar Yuri Lin
Browse files

Add page for choosing calendar & reply for event modes.

Also adds the link to set trigger behavior to the main mode page (only for calendar so far), and the switch preference to enable/disable automatic rules (for all but manual DND mode).

Removes the "escape hatch" to allow manual mode to also use the new modes pages.

Ported from ZenModeEventRuleSettings.

Flag: android.app.modes_ui
Bug: 332730302
Test: ZenModeSetCalendarPreferenceControllerTest, ZenModeSetTriggerLinkPreferenceControllerTest, manual
Change-Id: Ia7a716c66663a21494a6c05711250a5bda87ca8c
parent e968a664
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -7947,6 +7947,18 @@
    <!--  Do not disturb: Title for a specific zen mode automatic rule in settings. [CHAR LIMIT=30] -->
    <string name="zen_mode_automatic_rule_settings_page_title">Schedule</string>
    <!-- Do not disturb: Title for settings section describing when the rule turns on automatically [CHAR LIMIT=30] -->
    <string name="zen_mode_automatic_trigger_title">Turn on automatically</string>
    <!-- Do not disturb: Title prompting a user to choose a calendar to use for an automatic rule [CHAR LIMIT=30] -->
    <string name="zen_mode_set_calendar_title">Add a calendar</string>
    <!-- Do not disturb: Link text prompting a user to click through to setting a calendar [CHAR LIMIT=40] -->
    <string name="zen_mode_set_calendar_link">Use your calendar</string>
    <!-- Do not disturb: Title on the page where users choose a calendar to determine the schedule for an automatically-triggered DND rule. [CHAR LIMIT=30] -->
    <string name="zen_mode_set_calendar_category_title">Schedule</string>
    <!--  Do not disturb: Title do not disturb settings representing automatic (scheduled) do not disturb rules. [CHAR LIMIT=30] -->
    <string name="zen_mode_schedule_category_title">Schedule</string>
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
  -->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:settings="http://schemas.android.com/apk/res-auto"
                  android:title="@string/zen_modes_list_title" >

    <com.android.settingslib.widget.LayoutPreference
@@ -43,6 +44,14 @@
                android:title="@string/zen_category_exceptions" />
    </PreferenceCategory>

    <!-- automatic trigger section; preference changes programmatically depending on type -->
    <PreferenceCategory
        android:key="zen_automatic_trigger_category"
        android:title="@string/zen_mode_automatic_trigger_title">
        <com.android.settingslib.PrimarySwitchPreference
            android:key="zen_automatic_trigger_settings" />
    </PreferenceCategory>

    <PreferenceCategory
            android:title="@string/mode_device_effects_title"
            android:key="modes_additional_actions">
+44 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2024 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="zen_mode_set_calendar"
    settings:searchable="false"
    android:title="@string/zen_mode_set_calendar_title">

    <PreferenceCategory
        android:key="zen_mode_event_category"
        android:title="@string/zen_mode_set_calendar_category_title">

        <!-- TODO: b/333682392 - use correct strings for below two prefs -->
        <!-- During events for -->
        <DropDownPreference
            android:key="calendar"
            android:title="@string/zen_mode_event_rule_calendar"
            android:summary="%s" />

        <!-- Where reply is -->
        <DropDownPreference
            android:key="reply"
            android:title="@string/zen_mode_event_rule_reply"
            android:summary="%s" />

    </PreferenceCategory>

</PreferenceScreen>
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ public class ZenModeFragment extends ZenModeFragmentBase {
                context, "zen_other_settings", mBackend));
        prefControllers.add(new ZenModeDisplayLinkPreferenceController(
                context, "mode_display_settings", mBackend));
        prefControllers.add(new ZenModeSetTriggerLinkPreferenceController(context,
                "zen_automatic_trigger_category", mBackend));
        return prefControllers;
    }

+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ abstract class ZenModeFragmentBase extends ZenModesFragmentBase {
        if (!reloadMode(id)) {
            Log.d(TAG, "Mode id=" + id + " not found");
            toastAndFinish();
            return;
        }
        updateControllers();
    }
Loading