• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.settings.search;
18 
19 import static com.google.common.truth.Truth.assertThat;
20 
21 import android.app.Flags;
22 import android.platform.test.annotations.RequiresFlagsDisabled;
23 import android.platform.test.annotations.RequiresFlagsEnabled;
24 import android.platform.test.flag.junit.CheckFlagsRule;
25 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
26 
27 import androidx.test.ext.junit.runners.AndroidJUnit4;
28 
29 import com.android.settings.backup.UserBackupSettingsActivity;
30 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
31 import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
32 import com.android.settings.fuelgauge.batteryusage.PowerUsageAdvanced;
33 import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
34 import com.android.settings.gestures.GestureNavigationSettingsFragment;
35 import com.android.settings.gestures.SystemNavigationGestureSettings;
36 import com.android.settings.location.LocationSettings;
37 import com.android.settings.location.RecentLocationAccessSeeAllFragment;
38 import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
39 import com.android.settings.notification.zen.ZenModeRestrictNotificationsSettings;
40 import com.android.settings.security.SecuritySettings;
41 import com.android.settings.security.screenlock.ScreenLockSettings;
42 import com.android.settings.system.SystemDashboardFragment;
43 
44 import org.junit.Rule;
45 import org.junit.Test;
46 import org.junit.runner.RunWith;
47 
48 @RunWith(AndroidJUnit4.class)
49 public class CustomSiteMapRegistryTest {
50 
51     @Rule
52     public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
53 
54     @Test
shouldContainScreenLockSettingsPairs()55     public void shouldContainScreenLockSettingsPairs() {
56         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(ScreenLockSettings.class.getName()))
57                 .isEqualTo(SecuritySettings.class.getName());
58     }
59 
60     @Test
shouldContainPowerUsageAdvancedPairs()61     public void shouldContainPowerUsageAdvancedPairs() {
62         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(PowerUsageAdvanced.class.getName()))
63                 .isEqualTo(PowerUsageSummary.class.getName());
64     }
65 
66     @Test
shouldContainRecentLocationAccessSeeAllFragmentPairs()67     public void shouldContainRecentLocationAccessSeeAllFragmentPairs() {
68         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
69                 RecentLocationAccessSeeAllFragment.class.getName())).isEqualTo(
70                 LocationSettings.class.getName());
71     }
72 
73     @Test
shouldContainUsbDetailsFragmentPairs()74     public void shouldContainUsbDetailsFragmentPairs() {
75         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
76                 UsbDetailsFragment.class.getName())).isEqualTo(
77                 ConnectedDeviceDashboardFragment.class.getName());
78     }
79 
80     @Test
shouldContainUserBackupSettingsActivityPairs()81     public void shouldContainUserBackupSettingsActivityPairs() {
82         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
83                 UserBackupSettingsActivity.class.getName())).isEqualTo(
84                 SystemDashboardFragment.class.getName());
85     }
86 
87     @Test
88     @RequiresFlagsDisabled(Flags.FLAG_MODES_UI)
shouldContainZenModeBlockedEffectsSettingsPairs()89     public void shouldContainZenModeBlockedEffectsSettingsPairs() {
90         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP).containsEntry(
91                 ZenModeBlockedEffectsSettings.class.getName(),
92                 ZenModeRestrictNotificationsSettings.class.getName());
93     }
94 
95     @Test
96     @RequiresFlagsEnabled(Flags.FLAG_MODES_UI)
shouldNotContainZenModeBlockedEffectsSettingsPairs()97     public void shouldNotContainZenModeBlockedEffectsSettingsPairs() {
98         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP)
99                 .doesNotContainKey(ZenModeBlockedEffectsSettings.class.getName());
100     }
101 
102     @Test
shouldContainGestureNavigationSettingsFragmentPairs()103     public void shouldContainGestureNavigationSettingsFragmentPairs() {
104         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
105                 GestureNavigationSettingsFragment.class.getName())).isEqualTo(
106                 SystemNavigationGestureSettings.class.getName());
107     }
108 }
109