OSDN Git Service

Refactor backup / restore logic to implement multi-threading
[android-x86/packages-apps-Taskbar.git] / app / src / playstore / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- Copyright 2016 Braden Farmer
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 <!-- TODO when making changes, be sure to update the Android-x86 and libtaskbar manifests as well -->
18
19 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
20           xmlns:tools="http://schemas.android.com/tools"
21           package="com.farmerbb.taskbar">
22
23     <permission android:name="${applicationId}.START_STOP_TASKBAR"
24         android:protectionLevel="signature" />
25
26     <permission android:name="${applicationId}.SEND_RECEIVE_SETTINGS"
27         android:protectionLevel="signature" />
28
29     <permission android:name="${applicationId}.ENABLE_DISABLE_HOME"
30         android:protectionLevel="signature" />
31
32     <permission android:name="${applicationId}.ENABLE_DISABLE_FREEFORM"
33         android:protectionLevel="signature" />
34
35     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" tools:ignore="ProtectedPermissions" />
36     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
37     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
38     <uses-permission android:name="${applicationId}.START_STOP_TASKBAR" />
39     <uses-permission android:name="${applicationId}.SEND_RECEIVE_SETTINGS" />
40
41     <uses-permission-sdk-23 android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
42     <uses-permission-sdk-23 android:name="android.permission.GET_TASKS" />
43     <uses-permission-sdk-23 android:name="android.permission.WRITE_SETTINGS" />
44     <uses-permission-sdk-23 android:name="android.permission.WRITE_SECURE_SETTINGS" />
45     <uses-permission-sdk-23 android:name="android.permission.SET_WALLPAPER_HINTS" />
46     <uses-permission-sdk-23 android:name="android.permission.FOREGROUND_SERVICE" />
47     <uses-permission-sdk-23 android:name="android.permission.REQUEST_DELETE_PACKAGES" />
48     <uses-permission-sdk-23 android:name="android.permission.ACCESS_NETWORK_STATE" />
49     <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE" />
50     <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH" />
51     <uses-permission-sdk-23 android:name="com.farmerbb.taskbar.support.USE_SUPPORT_LIBRARY" />
52
53     <uses-feature
54         android:name="android.hardware.touchscreen"
55         android:required="false"/>
56
57     <uses-feature
58         android:name="android.hardware.type.pc"
59         android:required="false"/>
60
61     <supports-screens
62         android:anyDensity="true"
63         android:largeScreens="true"
64         android:normalScreens="true"
65         android:smallScreens="true"
66         android:xlargeScreens="true"/>
67
68     <application
69         android:name=".TaskbarApplication"
70         android:allowBackup="true"
71         android:icon="@mipmap/tb_launcher"
72         android:label="${appName}"
73         android:theme="@style/Taskbar"
74         tools:ignore="GoogleAppIndexingWarning">
75
76         <activity
77             android:name=".activity.MainActivity"
78             android:exported="true"
79             android:label="${appName}"
80             android:launchMode="singleTask"/>
81         <activity-alias
82             android:name=".MainActivity"
83             android:targetActivity=".activity.MainActivity"
84             android:label="${appName}">
85             <intent-filter>
86                 <action android:name="android.intent.action.MAIN"/>
87                 <action android:name="android.intent.action.APPLICATION_PREFERENCES"/>
88
89                 <category android:name="android.intent.category.LAUNCHER"/>
90             </intent-filter>
91         </activity-alias>
92         <activity
93             android:name=".activity.InvisibleActivity"
94             android:documentLaunchMode="always"
95             android:excludeFromRecents="true"
96             android:launchMode="singleTask"
97             android:theme="@style/Taskbar.InvisibleActivity"/>
98         <activity
99             android:name=".activity.InvisibleActivityAlt"
100             android:documentLaunchMode="always"
101             android:excludeFromRecents="true"
102             android:launchMode="singleTask"
103             android:theme="@style/Taskbar.Incognito"/>
104         <activity
105             android:name=".activity.dark.InvisibleActivityAltDark"
106             android:documentLaunchMode="always"
107             android:excludeFromRecents="true"
108             android:launchMode="singleTask"
109             android:theme="@style/Taskbar.Incognito.Dark"/>
110         <activity
111             android:name=".activity.InvisibleActivityFreeform"
112             android:documentLaunchMode="always"
113             android:excludeFromRecents="true"
114             android:launchMode="singleInstance"
115             android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize|layoutDirection"
116             android:theme="@style/Taskbar.InvisibleActivity"/>
117         <activity
118             android:name=".activity.HomeActivity"
119             android:label="${appName}"
120             android:launchMode="singleTask"
121             android:enabled="false"
122             android:theme="@style/Taskbar.HomeActivity">
123             <intent-filter>
124                 <action android:name="android.intent.action.MAIN"/>
125
126                 <category android:name="android.intent.category.DEFAULT"/>
127                 <category android:name="android.intent.category.HOME"/>
128             </intent-filter>
129         </activity>
130         <activity
131             android:name=".activity.SecondaryHomeActivity"
132             android:label="${appName}"
133             android:enabled="false"
134             android:excludeFromRecents="true"
135             android:theme="@style/Taskbar.HomeActivity">
136             <intent-filter>
137                 <action android:name="android.intent.action.MAIN"/>
138
139                 <category android:name="android.intent.category.DEFAULT"/>
140                 <category android:name="android.intent.category.SECONDARY_HOME"/>
141             </intent-filter>
142         </activity>
143         <activity
144             android:name=".activity.HomeActivityDelegate"
145             android:label="${appName}"
146             android:launchMode="singleTask"
147             android:exported="true"
148             android:permission="${applicationId}.ENABLE_DISABLE_HOME"
149             android:theme="@style/Taskbar.HomeActivity">
150             <intent-filter>
151                 <action android:name="android.intent.action.MAIN"/>
152             </intent-filter>
153         </activity>
154         <activity
155             android:name=".activity.KeyboardShortcutActivity"
156             android:label="${appName}"
157             android:documentLaunchMode="always"
158             android:excludeFromRecents="true"
159             android:launchMode="singleTask"
160             android:enabled="false"
161             android:theme="@android:style/Theme.NoDisplay">
162             <intent-filter>
163                 <action android:name="android.intent.action.MAIN"/>
164                 <action android:name="android.intent.action.ASSIST" />
165
166                 <category android:name="android.intent.category.DEFAULT"/>
167                 <category android:name="android.intent.category.APP_MAPS" />
168             </intent-filter>
169         </activity>
170         <activity
171             android:name=".activity.KeyboardShortcutActivityLockDevice"
172             android:label="${appName}"
173             android:documentLaunchMode="always"
174             android:excludeFromRecents="true"
175             android:launchMode="singleTask"
176             android:enabled="false"
177             android:theme="@android:style/Theme.NoDisplay">
178             <intent-filter>
179                 <action android:name="android.intent.action.MAIN"/>
180
181                 <category android:name="android.intent.category.DEFAULT"/>
182                 <category android:name="android.intent.category.APP_CALENDAR" />
183             </intent-filter>
184         </activity>
185         <activity
186             android:name=".activity.ContextMenuActivity"
187             android:documentLaunchMode="always"
188             android:excludeFromRecents="true"
189             android:theme="@style/Taskbar.Dialog"/>
190         <activity
191             android:name=".activity.dark.ContextMenuActivityDark"
192             android:documentLaunchMode="always"
193             android:excludeFromRecents="true"
194             android:theme="@style/Taskbar.Dialog.Dark"/>
195         <activity
196             android:name=".activity.SelectAppActivity"
197             android:theme="@style/Taskbar.Dialog.Blacklist"/>
198         <activity
199             android:name=".activity.dark.SelectAppActivityDark"
200             android:theme="@style/Taskbar.Dialog.Blacklist.Dark"/>
201         <activity
202             android:name=".activity.DesktopIconSelectAppActivity"
203             android:theme="@style/Taskbar.Dialog.Blacklist"/>
204         <activity
205             android:name=".activity.dark.DesktopIconSelectAppActivityDark"
206             android:theme="@style/Taskbar.Dialog.Blacklist.Dark"/>
207         <activity
208             android:name=".activity.DummyActivity"
209             android:documentLaunchMode="always"
210             android:excludeFromRecents="true"
211             android:theme="@style/Taskbar.Incognito"/>
212         <activity
213             android:name=".activity.ImportSettingsActivity"
214             android:theme="@style/Taskbar.Dialog"/>
215         <activity
216             android:name=".activity.IconPackActivity"
217             android:theme="@style/Taskbar.Dialog.Blacklist"/>
218         <activity
219             android:name=".activity.dark.IconPackActivityDark"
220             android:theme="@style/Taskbar.Dialog.Blacklist.Dark"/>
221         <activity
222             android:name=".activity.IconPackApplyActivity"
223             android:launchMode="singleTask"
224             android:theme="@style/Taskbar.Dialog"
225             android:exported="true">
226             <intent-filter>
227                 <action android:name="android.intent.action.MAIN"/>
228                 <action android:name="com.farmerbb.taskbar.APPLY_ICON_PACK"/>
229
230                 <category android:name="android.intent.category.DEFAULT"/>
231             </intent-filter>
232         </activity>
233         <activity
234             android:name=".activity.ShortcutActivity"
235             android:icon="@mipmap/tb_freeform_mode"
236             android:label="@string/tb_pref_header_freeform"
237             android:documentLaunchMode="always"
238             android:excludeFromRecents="true"
239             android:enabled="false"
240             android:theme="@android:style/Theme.NoDisplay" >
241             <intent-filter>
242                 <action android:name="android.intent.action.MAIN" />
243                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
244
245                 <category android:name="android.intent.category.DEFAULT" />
246             </intent-filter>
247         </activity>
248         <activity
249             android:name=".activity.StartTaskbarActivity"
250             android:label="@string/tb_start_taskbar"
251             android:documentLaunchMode="always"
252             android:excludeFromRecents="true"
253             android:enabled="true"
254             android:theme="@android:style/Theme.NoDisplay" >
255             <intent-filter>
256                 <action android:name="android.intent.action.MAIN" />
257                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
258
259                 <category android:name="android.intent.category.DEFAULT" />
260             </intent-filter>
261         </activity>
262         <activity
263             android:name=".activity.ClearDataActivity"
264             android:theme="@style/Taskbar.Dialog.Blacklist"/>
265         <activity
266             android:name=".activity.dark.ClearDataActivityDark"
267             android:theme="@style/Taskbar.Dialog.Blacklist.Dark"/>
268         <activity
269             android:name=".activity.DashboardActivity"
270             android:documentLaunchMode="always"
271             android:excludeFromRecents="true"
272             android:launchMode="singleTask"
273             android:theme="@style/Taskbar.Incognito"/>
274         <activity
275             android:name=".activity.dark.DashboardActivityDark"
276             android:documentLaunchMode="always"
277             android:excludeFromRecents="true"
278             android:launchMode="singleTask"
279             android:theme="@style/Taskbar.Incognito.Dark"/>
280         <activity
281             android:name=".activity.NavigationBarButtonsActivity"
282             android:theme="@style/Taskbar.Dialog.Preference"/>
283         <activity
284             android:name=".activity.dark.NavigationBarButtonsActivityDark"
285             android:theme="@style/Taskbar.Dialog.Preference.Dark"/>
286         <activity
287             android:name=".activity.TaskerActionActivity"
288             android:documentLaunchMode="always"
289             android:excludeFromRecents="true"
290             android:label="@string/tb_app_name"
291             android:theme="@android:style/Theme.Material.Light.Dialog">
292             <intent-filter>
293                 <action android:name="com.twofortyfouram.locale.intent.action.EDIT_SETTING" />
294             </intent-filter>
295         </activity>
296         <activity
297             android:name=".activity.TaskerConditionActivity"
298             android:documentLaunchMode="always"
299             android:excludeFromRecents="true"
300             android:label="@string/tb_app_name"
301             android:theme="@android:style/Theme.Material.Light.Dialog">
302             <intent-filter>
303                 <action android:name="com.twofortyfouram.locale.intent.action.EDIT_CONDITION" />
304             </intent-filter>
305         </activity>
306         <activity
307             android:name=".activity.TouchAbsorberActivity"
308             android:documentLaunchMode="always"
309             android:excludeFromRecents="true"
310             android:launchMode="singleTask"
311             android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize|layoutDirection"
312             android:theme="@style/Taskbar.Incognito"/>
313         <activity
314             android:name=".activity.PersistentShortcutSelectAppActivity"
315             android:label="@string/tb_new_shortcut"
316             android:excludeFromRecents="true"
317             android:theme="@style/Taskbar.Dialog.Blacklist" >
318             <intent-filter>
319                 <action android:name="android.intent.action.MAIN" />
320                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
321
322                 <category android:name="android.intent.category.DEFAULT" />
323             </intent-filter>
324         </activity>
325         <activity
326             android:name=".activity.PersistentShortcutLaunchActivity"
327             android:launchMode="singleInstance"
328             android:excludeFromRecents="true"
329             android:theme="@android:style/Theme.NoDisplay" >
330             <intent-filter>
331                 <action android:name="android.intent.action.MAIN" />
332
333                 <category android:name="android.intent.category.DEFAULT" />
334             </intent-filter>
335         </activity>
336         <activity
337             android:name=".activity.BackupRestoreActivity"
338             android:theme="@style/Taskbar.Dialog"/>
339
340         <service android:name=".service.TaskbarService"/>
341         <service android:name=".service.StartMenuService"/>
342         <service android:name=".service.NotificationService"/>
343         <service android:name=".service.DashboardService"/>
344         <service
345             android:name=".service.PowerMenuService"
346             android:enabled="true"
347             android:exported="true"
348             android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
349             <intent-filter>
350                 <action android:name="android.accessibilityservice.AccessibilityService" />
351             </intent-filter>
352             <meta-data android:name="android.accessibilityservice"
353                        android:resource="@xml/tb_accessibility_service" />
354         </service>
355         <service
356             android:name=".service.QuickSettingsTileService"
357             android:label="@string/tb_app_name"
358             android:icon="@drawable/tb_allapps"
359             android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
360             <intent-filter>
361                 <action android:name="android.service.quicksettings.action.QS_TILE" />
362             </intent-filter>
363             <meta-data android:name="android.service.quicksettings.ACTIVE_TILE"
364                        android:value="true" />
365         </service>
366
367         <receiver
368             android:name=".receiver.ShowHideTaskbarReceiver"
369             android:permission="${applicationId}.START_STOP_TASKBAR" >
370             <intent-filter>
371                 <action android:name="com.farmerbb.taskbar.SHOW_HIDE_TASKBAR"/>
372             </intent-filter>
373         </receiver>
374         <receiver
375             android:name=".receiver.StartReceiver"
376             android:enabled="true"
377             android:exported="true"
378             android:permission="${applicationId}.START_STOP_TASKBAR" >
379             <intent-filter>
380                 <action android:name="com.farmerbb.taskbar.START"/>
381             </intent-filter>
382         </receiver>
383         <receiver
384             android:name=".receiver.QuitReceiver"
385             android:enabled="true"
386             android:exported="true"
387             android:permission="${applicationId}.START_STOP_TASKBAR" >
388             <intent-filter>
389                 <action android:name="com.farmerbb.taskbar.QUIT"/>
390             </intent-filter>
391         </receiver>
392         <receiver
393             android:name=".receiver.BootReceiver"
394             android:enabled="true"
395             android:exported="true">
396             <intent-filter>
397                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
398             </intent-filter>
399         </receiver>
400         <receiver
401             android:name=".receiver.PackageUpgradeReceiver"
402             android:enabled="true"
403             android:exported="true">
404             <intent-filter>
405                 <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
406             </intent-filter>
407         </receiver>
408         <receiver
409             android:name=".receiver.SendSettingsReceiver"
410             android:enabled="true"
411             android:exported="true"
412             android:permission="com.farmerbb.taskbar.paid.SEND_RECEIVE_SETTINGS" >
413             <intent-filter>
414                 <action android:name="com.farmerbb.taskbar.RECEIVE_SETTINGS"/>
415             </intent-filter>
416         </receiver>
417         <receiver
418             android:name=".receiver.ReceiveSettingsReceiver"
419             android:enabled="true"
420             android:exported="true"
421             android:permission="com.farmerbb.taskbar.SEND_RECEIVE_SETTINGS" >
422             <intent-filter>
423                 <action android:name="com.farmerbb.taskbar.SEND_SETTINGS"/>
424             </intent-filter>
425         </receiver>
426         <receiver
427             android:name=".receiver.UninstallReceiver"
428             android:enabled="true"
429             android:exported="true" >
430             <intent-filter>
431                 <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
432                 <data android:scheme="package" />
433             </intent-filter>
434         </receiver>
435         <receiver
436             android:name=".receiver.EnableHomeReceiver"
437             android:enabled="true"
438             android:exported="true"
439             android:permission="${applicationId}.ENABLE_DISABLE_HOME" >
440             <intent-filter>
441                 <action android:name="com.farmerbb.taskbar.ENABLE_HOME"/>
442             </intent-filter>
443         </receiver>
444         <receiver
445             android:name=".receiver.DisableHomeReceiver"
446             android:enabled="true"
447             android:exported="true"
448             android:permission="${applicationId}.ENABLE_DISABLE_HOME" >
449             <intent-filter>
450                 <action android:name="com.farmerbb.taskbar.DISABLE_HOME"/>
451             </intent-filter>
452         </receiver>
453         <receiver
454             android:name=".receiver.ToggleFreeformModeReceiver"
455             android:permission="${applicationId}.START_STOP_TASKBAR" >
456             <intent-filter>
457                 <action android:name="com.farmerbb.taskbar.TOGGLE_FREEFORM_MODE"/>
458             </intent-filter>
459         </receiver>
460         <receiver
461             android:name=".receiver.EnableFreeformReceiver"
462             android:enabled="true"
463             android:exported="true"
464             android:permission="${applicationId}.ENABLE_DISABLE_FREEFORM" >
465             <intent-filter>
466                 <action android:name="com.farmerbb.taskbar.ENABLE_FREEFORM_MODE"/>
467             </intent-filter>
468         </receiver>
469         <receiver
470             android:name=".receiver.DisableFreeformReceiver"
471             android:enabled="true"
472             android:exported="true"
473             android:permission="${applicationId}.ENABLE_DISABLE_FREEFORM" >
474             <intent-filter>
475                 <action android:name="com.farmerbb.taskbar.DISABLE_FREEFORM_MODE"/>
476             </intent-filter>
477         </receiver>
478         <receiver
479             android:name=".receiver.TaskerActionReceiver"
480             android:exported="true" >
481             <intent-filter>
482                 <action android:name="com.twofortyfouram.locale.intent.action.FIRE_SETTING" />
483             </intent-filter>
484         </receiver>
485         <receiver
486             android:name=".receiver.TaskerConditionReceiver"
487             android:exported="true" >
488             <intent-filter>
489                 <action android:name="com.twofortyfouram.locale.intent.action.QUERY_CONDITION" />
490             </intent-filter>
491         </receiver>
492
493         <provider
494             android:name="androidx.core.content.FileProvider"
495             android:authorities="${applicationId}.fileprovider"
496             android:exported="false"
497             android:grantUriPermissions="true">
498             <meta-data
499                 android:name="android.support.FILE_PROVIDER_PATHS"
500                 android:resource="@xml/tb_file_paths" />
501         </provider>
502
503     </application>
504
505 </manifest>