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 android.util.ArrayMap;
20 
21 import com.android.settings.backup.UserBackupSettingsActivity;
22 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
23 import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
24 import com.android.settings.fuelgauge.batteryusage.PowerUsageAdvanced;
25 import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
26 import com.android.settings.gestures.GestureNavigationSettingsFragment;
27 import com.android.settings.gestures.SystemNavigationGestureSettings;
28 import com.android.settings.location.LocationSettings;
29 import com.android.settings.location.RecentLocationAccessSeeAllFragment;
30 import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
31 import com.android.settings.notification.zen.ZenModeRestrictNotificationsSettings;
32 import com.android.settings.security.SecuritySettings;
33 import com.android.settings.security.screenlock.ScreenLockSettings;
34 import com.android.settings.system.SystemDashboardFragment;
35 
36 import java.util.Map;
37 
38 /**
39  * A registry of custom site map.
40  */
41 public class CustomSiteMapRegistry {
42 
43     /**
44      * Map from child class to parent class.
45      */
46     public static final Map<String, String> CUSTOM_SITE_MAP;
47 
48     static {
49         CUSTOM_SITE_MAP = new ArrayMap<>();
ScreenLockSettings.class.getName()50         CUSTOM_SITE_MAP.put(ScreenLockSettings.class.getName(), SecuritySettings.class.getName());
PowerUsageAdvanced.class.getName()51         CUSTOM_SITE_MAP.put(PowerUsageAdvanced.class.getName(), PowerUsageSummary.class.getName());
RecentLocationAccessSeeAllFragment.class.getName()52         CUSTOM_SITE_MAP.put(RecentLocationAccessSeeAllFragment.class.getName(),
53                 LocationSettings.class.getName());
UsbDetailsFragment.class.getName()54         CUSTOM_SITE_MAP.put(UsbDetailsFragment.class.getName(),
55                 ConnectedDeviceDashboardFragment.class.getName());
UserBackupSettingsActivity.class.getName()56         CUSTOM_SITE_MAP.put(UserBackupSettingsActivity.class.getName(),
57                 SystemDashboardFragment.class.getName());
ZenModeBlockedEffectsSettings.class.getName()58         CUSTOM_SITE_MAP.put(ZenModeBlockedEffectsSettings.class.getName(),
59                 ZenModeRestrictNotificationsSettings.class.getName());
GestureNavigationSettingsFragment.class.getName()60         CUSTOM_SITE_MAP.put(GestureNavigationSettingsFragment.class.getName(),
61                 SystemNavigationGestureSettings.class.getName());
62     }
63 }
64