OSDN Git Service

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