OSDN Git Service

Zen Condition text and primary click changes
[android-x86/packages-apps-Settings.git] / src / com / android / settings / core / gateway / SettingsGateway.java
1 /*
2  * Copyright (C) 2016 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.core.gateway;
18
19 import com.android.settings.ApnEditor;
20 import com.android.settings.ApnSettings;
21 import com.android.settings.DateTimeSettings;
22 import com.android.settings.DeviceAdminSettings;
23 import com.android.settings.DisplaySettings;
24 import com.android.settings.IccLockSettings;
25 import com.android.settings.MasterClear;
26 import com.android.settings.PrivacySettings;
27 import com.android.settings.Settings;
28 import com.android.settings.TestingSettings;
29 import com.android.settings.TetherSettings;
30 import com.android.settings.TrustedCredentialsSettings;
31 import com.android.settings.WifiCallingSettings;
32 import com.android.settings.accessibility.AccessibilitySettings;
33 import com.android.settings.accessibility.AccessibilitySettingsForSetupWizard;
34 import com.android.settings.accessibility.CaptionPropertiesFragment;
35 import com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment;
36 import com.android.settings.accounts.AccountSyncSettings;
37 import com.android.settings.accounts.ChooseAccountActivity;
38 import com.android.settings.accounts.ManagedProfileSettings;
39 import com.android.settings.accounts.AccountDashboardFragment;
40 import com.android.settings.applications.AppAndNotificationDashboardFragment;
41 import com.android.settings.applications.DefaultAppSettings;
42 import com.android.settings.applications.ManageDomainUrls;
43 import com.android.settings.applications.ProcessStatsSummary;
44 import com.android.settings.applications.ProcessStatsUi;
45 import com.android.settings.applications.DirectoryAccessDetails;
46 import com.android.settings.applications.UsageAccessDetails;
47 import com.android.settings.applications.VrListenerSettings;
48 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
49 import com.android.settings.applications.appinfo.DrawOverlayDetails;
50 import com.android.settings.applications.appinfo.ExternalSourcesDetails;
51 import com.android.settings.applications.appinfo.PictureInPictureDetails;
52 import com.android.settings.applications.appinfo.PictureInPictureSettings;
53 import com.android.settings.applications.appinfo.WriteSettingsDetails;
54 import com.android.settings.applications.assist.ManageAssist;
55 import com.android.settings.applications.manageapplications.ManageApplications;
56 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
57 import com.android.settings.bluetooth.BluetoothSettings;
58 import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
59 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
60 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragmentOld;
61 import com.android.settings.datausage.DataPlanUsageSummary;
62 import com.android.settings.datausage.DataUsageList;
63 import com.android.settings.datausage.DataUsageSummary;
64 import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
65 import com.android.settings.development.DevelopmentSettingsDashboardFragment;
66 import com.android.settings.deviceinfo.DeviceInfoSettings;
67 import com.android.settings.deviceinfo.PrivateVolumeForget;
68 import com.android.settings.deviceinfo.PrivateVolumeSettings;
69 import com.android.settings.deviceinfo.PublicVolumeSettings;
70 import com.android.settings.deviceinfo.StorageDashboardFragment;
71 import com.android.settings.deviceinfo.StorageSettings;
72 import com.android.settings.display.NightDisplaySettings;
73 import com.android.settings.dream.DreamSettings;
74 import com.android.settings.enterprise.EnterprisePrivacySettings;
75 import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
76 import com.android.settings.fuelgauge.BatterySaverSettings;
77 import com.android.settings.fuelgauge.PowerUsageSummary;
78 import com.android.settings.fuelgauge.PowerUsageSummaryLegacy;
79 import com.android.settings.gestures.AssistGestureSettings;
80 import com.android.settings.gestures.DoubleTapPowerSettings;
81 import com.android.settings.gestures.DoubleTapScreenSettings;
82 import com.android.settings.gestures.DoubleTwistGestureSettings;
83 import com.android.settings.gestures.PickupGestureSettings;
84 import com.android.settings.gestures.SwipeToNotificationSettings;
85 import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
86 import com.android.settings.inputmethod.KeyboardLayoutPickerFragment;
87 import com.android.settings.inputmethod.PhysicalKeyboardFragment;
88 import com.android.settings.inputmethod.SpellCheckersSettings;
89 import com.android.settings.inputmethod.UserDictionaryList;
90 import com.android.settings.inputmethod.UserDictionarySettings;
91 import com.android.settings.language.LanguageAndInputSettings;
92 import com.android.settings.localepicker.LocaleListEditor;
93 import com.android.settings.location.LocationSettings;
94 import com.android.settings.network.NetworkDashboardFragment;
95 import com.android.settings.nfc.AndroidBeam;
96 import com.android.settings.nfc.PaymentSettings;
97 import com.android.settings.notification.AppNotificationSettings;
98 import com.android.settings.notification.ChannelGroupNotificationSettings;
99 import com.android.settings.notification.ChannelNotificationSettings;
100 import com.android.settings.notification.ConfigureNotificationSettings;
101 import com.android.settings.notification.NotificationAccessSettings;
102 import com.android.settings.notification.NotificationStation;
103 import com.android.settings.notification.SoundSettings;
104 import com.android.settings.notification.ZenAccessSettings;
105 import com.android.settings.notification.ZenModeAutomationSettings;
106 import com.android.settings.notification.ZenModeBehaviorSettings;
107 import com.android.settings.notification.ZenModeEventRuleSettings;
108 import com.android.settings.notification.ZenModeScheduleRuleSettings;
109 import com.android.settings.notification.ZenModeSettings;
110 import com.android.settings.password.ChooseLockPassword;
111 import com.android.settings.password.ChooseLockPattern;
112 import com.android.settings.print.PrintJobSettingsFragment;
113 import com.android.settings.print.PrintSettingsFragment;
114 import com.android.settings.security.CryptKeeperSettings;
115 import com.android.settings.security.LockscreenDashboardFragment;
116 import com.android.settings.security.SecuritySettings;
117 import com.android.settings.sim.SimSettings;
118 import com.android.settings.support.SupportDashboardActivity;
119 import com.android.settings.system.ResetDashboardFragment;
120 import com.android.settings.system.SystemDashboardFragment;
121 import com.android.settings.tts.TextToSpeechSettings;
122 import com.android.settings.users.UserSettings;
123 import com.android.settings.vpn2.VpnSettings;
124 import com.android.settings.wallpaper.WallpaperTypeSettings;
125 import com.android.settings.webview.WebViewAppPicker;
126 import com.android.settings.wfd.WifiDisplaySettings;
127 import com.android.settings.wifi.ConfigureWifiSettings;
128 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
129 import com.android.settings.wifi.WifiAPITest;
130 import com.android.settings.wifi.WifiInfo;
131 import com.android.settings.wifi.WifiSettings;
132 import com.android.settings.wifi.p2p.WifiP2pSettings;
133
134 public class SettingsGateway {
135
136     /**
137      * A list of fragment that can be hosted by SettingsActivity. SettingsActivity will throw a
138      * security exception if the fragment it needs to display is not in this list.
139      */
140     public static final String[] ENTRY_FRAGMENTS = {
141             WifiSettings.class.getName(),
142             ConfigureWifiSettings.class.getName(),
143             SavedAccessPointsWifiSettings.class.getName(),
144             BluetoothSettings.class.getName(),
145             SimSettings.class.getName(),
146             TetherSettings.class.getName(),
147             WifiP2pSettings.class.getName(),
148             VpnSettings.class.getName(),
149             DateTimeSettings.class.getName(),
150             LocaleListEditor.class.getName(),
151             AvailableVirtualKeyboardFragment.class.getName(),
152             LanguageAndInputSettings.class.getName(),
153             SpellCheckersSettings.class.getName(),
154             UserDictionaryList.class.getName(),
155             UserDictionarySettings.class.getName(),
156             DisplaySettings.class.getName(),
157             DeviceInfoSettings.class.getName(),
158             ManageApplications.class.getName(),
159             ManageAssist.class.getName(),
160             ProcessStatsUi.class.getName(),
161             NotificationStation.class.getName(),
162             LocationSettings.class.getName(),
163             SecuritySettings.class.getName(),
164             UsageAccessDetails.class.getName(),
165             PrivacySettings.class.getName(),
166             DeviceAdminSettings.class.getName(),
167             AccessibilitySettings.class.getName(),
168             AccessibilitySettingsForSetupWizard.class.getName(),
169             CaptionPropertiesFragment.class.getName(),
170             ToggleDaltonizerPreferenceFragment.class.getName(),
171             TextToSpeechSettings.class.getName(),
172             StorageSettings.class.getName(),
173             PrivateVolumeForget.class.getName(),
174             PrivateVolumeSettings.class.getName(),
175             PublicVolumeSettings.class.getName(),
176             DevelopmentSettingsDashboardFragment.class.getName(),
177             AndroidBeam.class.getName(),
178             WifiDisplaySettings.class.getName(),
179             PowerUsageSummary.class.getName(),
180             PowerUsageSummaryLegacy.class.getName(),
181             AccountSyncSettings.class.getName(),
182             AssistGestureSettings.class.getName(),
183             SwipeToNotificationSettings.class.getName(),
184             DoubleTapPowerSettings.class.getName(),
185             DoubleTapScreenSettings.class.getName(),
186             PickupGestureSettings.class.getName(),
187             DoubleTwistGestureSettings.class.getName(),
188             CryptKeeperSettings.class.getName(),
189             DataPlanUsageSummary.class.getName(),
190             DataUsageSummary.class.getName(),
191             DreamSettings.class.getName(),
192             UserSettings.class.getName(),
193             NotificationAccessSettings.class.getName(),
194             ZenAccessSettings.class.getName(),
195             ZenModeAutomationSettings.class.getName(),
196             PrintSettingsFragment.class.getName(),
197             PrintJobSettingsFragment.class.getName(),
198             TrustedCredentialsSettings.class.getName(),
199             PaymentSettings.class.getName(),
200             KeyboardLayoutPickerFragment.class.getName(),
201             PhysicalKeyboardFragment.class.getName(),
202             ZenModeSettings.class.getName(),
203             SoundSettings.class.getName(),
204             ConfigureNotificationSettings.class.getName(),
205             ChooseLockPassword.ChooseLockPasswordFragment.class.getName(),
206             ChooseLockPattern.ChooseLockPatternFragment.class.getName(),
207             AppInfoDashboardFragment.class.getName(),
208             BatterySaverSettings.class.getName(),
209             AppNotificationSettings.class.getName(),
210             ChannelNotificationSettings.class.getName(),
211             ChannelGroupNotificationSettings.class.getName(),
212             ApnSettings.class.getName(),
213             ApnEditor.class.getName(),
214             WifiCallingSettings.class.getName(),
215             ZenModeBehaviorSettings.class.getName(),
216             ZenModeScheduleRuleSettings.class.getName(),
217             ZenModeEventRuleSettings.class.getName(),
218             ProcessStatsUi.class.getName(),
219             AdvancedPowerUsageDetail.class.getName(),
220             ProcessStatsSummary.class.getName(),
221             DrawOverlayDetails.class.getName(),
222             WriteSettingsDetails.class.getName(),
223             ExternalSourcesDetails.class.getName(),
224             DefaultAppSettings.class.getName(),
225             WallpaperTypeSettings.class.getName(),
226             VrListenerSettings.class.getName(),
227             PictureInPictureSettings.class.getName(),
228             PictureInPictureDetails.class.getName(),
229             ManagedProfileSettings.class.getName(),
230             ChooseAccountActivity.class.getName(),
231             IccLockSettings.class.getName(),
232             TestingSettings.class.getName(),
233             WifiAPITest.class.getName(),
234             WifiInfo.class.getName(),
235             MasterClear.class.getName(),
236             ResetDashboardFragment.class.getName(),
237             NightDisplaySettings.class.getName(),
238             ManageDomainUrls.class.getName(),
239             AutomaticStorageManagerSettings.class.getName(),
240             StorageDashboardFragment.class.getName(),
241             SystemDashboardFragment.class.getName(),
242             NetworkDashboardFragment.class.getName(),
243             ConnectedDeviceDashboardFragment.class.getName(),
244             ConnectedDeviceDashboardFragmentOld.class.getName(),
245             AppAndNotificationDashboardFragment.class.getName(),
246             AccountDashboardFragment.class.getName(),
247             EnterprisePrivacySettings.class.getName(),
248             WebViewAppPicker.class.getName(),
249             LockscreenDashboardFragment.class.getName(),
250             BluetoothDeviceDetailsFragment.class.getName(),
251             DataUsageList.class.getName(),
252             DirectoryAccessDetails.class.getName(),
253             AdvancedConnectedDeviceDashboardFragment.class.getName()
254     };
255
256     public static final String[] SETTINGS_FOR_RESTRICTED = {
257             // Home page
258             Settings.NetworkDashboardActivity.class.getName(),
259             Settings.ConnectedDeviceDashboardActivity.class.getName(),
260             Settings.ConnectedDeviceDashboardActivityOld.class.getName(),
261             Settings.AppAndNotificationDashboardActivity.class.getName(),
262             Settings.DisplaySettingsActivity.class.getName(),
263             Settings.SoundSettingsActivity.class.getName(),
264             Settings.StorageDashboardActivity.class.getName(),
265             Settings.PowerUsageSummaryActivity.class.getName(),
266             Settings.PowerUsageSummaryLegacyActivity.class.getName(),
267             Settings.AccountDashboardActivity.class.getName(),
268             Settings.SecurityDashboardActivity.class.getName(),
269             Settings.AccessibilitySettingsActivity.class.getName(),
270             Settings.SystemDashboardActivity.class.getName(),
271             SupportDashboardActivity.class.getName(),
272             // Home page > Network & Internet
273             Settings.WifiSettingsActivity.class.getName(),
274             Settings.DataPlanUsageSummaryActivity.class.getName(),
275             Settings.DataUsageSummaryActivity.class.getName(),
276             Settings.SimSettingsActivity.class.getName(),
277             // Home page > Connected devices
278             Settings.BluetoothSettingsActivity.class.getName(),
279             Settings.WifiDisplaySettingsActivity.class.getName(),
280             Settings.PrintSettingsActivity.class.getName(),
281             // Home page > Apps & Notifications
282             Settings.UserSettingsActivity.class.getName(),
283             Settings.ConfigureNotificationSettingsActivity.class.getName(),
284             Settings.AdvancedAppsActivity.class.getName(),
285             Settings.ManageApplicationsActivity.class.getName(),
286             Settings.PaymentSettingsActivity.class.getName(),
287             // Home page > Security & screen lock
288             Settings.LocationSettingsActivity.class.getName(),
289             // Home page > System
290             Settings.LanguageAndInputSettingsActivity.class.getName(),
291             Settings.DateTimeSettingsActivity.class.getName(),
292             Settings.DeviceInfoSettingsActivity.class.getName(),
293             Settings.EnterprisePrivacySettingsActivity.class.getName(),
294             Settings.MyDeviceInfoActivity.class.getName(),
295     };
296 }