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

Commit d5dad561 authored by Sunny Shao's avatar Sunny Shao
Browse files

[Catalyst] Support deeplink for catalyst screen

NO_IFTTT=Catalyst only

Test: manual
Bug: 408813104
Flag: com.android.settings.flags.device_state
Change-Id: I7b4c2970bd3156681b04c48ec5ecb78f98c56ba7
parent 894b9642
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1459,6 +1459,18 @@
                       android:value="true" />
        </activity>

        <activity
            android:name="Settings$ModeDisplaySettingsActivity"
            android:exported="true"
            android:featureFlag="android.app.modes_ui">
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.notification.modes.ZenModeDisplayFragment"/>
            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
                android:value="@string/menu_key_priority_modes"/>
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                android:value="true" />
        </activity>

        <activity
            android:name=".notification.modes.SetupInterstitialActivity"
            android:exported="false"
+13 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package com.android.settings;

import static android.provider.Settings.ACTION_PRIVACY_SETTINGS;
import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import static android.service.notification.ZenModeConfig.MANUAL_RULE_ID;

import android.annotation.FlaggedApi;
import android.app.Flags;
@@ -358,6 +360,17 @@ public class Settings extends SettingsActivity {
    public static class ModeSettingsActivity extends SettingsActivity { /* empty */ }
    @FlaggedApi(Flags.FLAG_MODES_UI)
    public static class ModesSettingsActivity extends SettingsActivity { /* empty */ }
    @FlaggedApi(Flags.FLAG_MODES_UI)
    public static class ModeDisplaySettingsActivity extends SettingsActivity {
        @Override
        protected void onCreate(Bundle savedState) {
            super.onCreate(savedState);
            if (getIntent() != null && !TextUtils.equals(
                    getIntent().getStringExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID), MANUAL_RULE_ID)) {
                finish();
            }
        }
    }
    public static class SoundSettingsActivity extends SettingsActivity { /* empty */ }
    public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ }
    public static class ConversationListSettingsActivity extends SettingsActivity { /* empty */ }
+12 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ import com.android.settings.network.NetworkDashboardScreen
import com.android.settings.network.NetworkProviderScreen
import com.android.settings.network.tether.TetherScreen
import com.android.settings.notification.SoundScreen
import com.android.settings.notification.modes.devicestate.ZenModeButtonPreference
import com.android.settings.notification.modes.devicestate.ZenModeDndDisplayScreen
import com.android.settings.notification.modes.devicestate.ZenModeDndScreen
import com.android.settings.security.LockScreenPreferenceScreen
import com.android.settings.spa.app.catalyst.AllAppsScreen
@@ -175,6 +177,11 @@ fun getScreenConfigs() =
            screenKey = ZenModeDndScreen.KEY,
            category = setOf(DeviceStateCategory.UNCATEGORIZED),
        ),
        PerScreenConfig(
            enabled = true,
            screenKey = ZenModeDndDisplayScreen.KEY,
            category = setOf(DeviceStateCategory.UNCATEGORIZED),
        ),
    )

fun getDeviceStateItemList() =
@@ -494,6 +501,11 @@ fun getDeviceStateItemList() =
            settingKey = "vibrate_on",
            settingScreenKey = VibrationScreen.KEY,
        ),
        DeviceStateItemConfig(
            enabled = true,
            settingKey = ZenModeButtonPreference.KEY,
            settingScreenKey = ZenModeDndScreen.KEY,
        ),
        DeviceStateItemConfig(
            enabled = true,
            settingKey = AppInfoStorageScreen.KEY,
+2 −0
Original line number Diff line number Diff line
@@ -167,6 +167,7 @@ import com.android.settings.notification.app.AppNotificationSettings;
import com.android.settings.notification.app.ChannelNotificationSettings;
import com.android.settings.notification.app.ConversationListSettings;
import com.android.settings.notification.history.NotificationStation;
import com.android.settings.notification.modes.ZenModeDisplayFragment;
import com.android.settings.notification.modes.ZenModeFragment;
import com.android.settings.notification.modes.ZenModesListFragment;
import com.android.settings.notification.zen.ZenAccessSettings;
@@ -418,6 +419,7 @@ public class SettingsGateway {
            HearingDevicePairingFragment.class.getName(),
            ZenModesListFragment.class.getName(),
            ZenModeFragment.class.getName(),
            ZenModeDisplayFragment.class.getName(),
            ContactsStorageSettings.class.getName(),
            ContentProtectionPreferenceFragment.class.getName(),
            ToggleScreenMagnificationPreferenceFragment.class.getName(),
+6 −3
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import android.os.UserManager;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.service.notification.ConversationChannelWrapper;
import android.util.ArrayMap;
import android.util.Log;

import androidx.annotation.NonNull;
@@ -53,7 +52,7 @@ import java.util.function.Function;
 * Mode management, but still used in the UI of its Settings pages (such as listing priority
 * conversations, contacts, etc).
 */
class ZenHelperBackend {
public class ZenHelperBackend {

    private static final String TAG = "ZenHelperBackend";

@@ -64,7 +63,11 @@ class ZenHelperBackend {
    private final INotificationManager mInm;
    private final UserManager mUserManager;

    static ZenHelperBackend getInstance(Context context) {
    /**
     * @return the instance of the {@link ZenHelperBackend}
     */
    @NonNull
    public static ZenHelperBackend getInstance(@NonNull Context context) {
        if (sInstance == null) {
            sInstance = new ZenHelperBackend(context.getApplicationContext());
        }
Loading