]> gitweb.stoutner.com Git - PrivacyCell.git/blob - app/src/main/AndroidManifest.xml
Bump target API to 33. https://redmine.stoutner.com/issues/890
[PrivacyCell.git] / app / src / main / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4   Copyright 2021-2022 Soren Stoutner <soren@stoutner.com>.
5
6   This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
7
8   Privacy Cell is free software: you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation, either version 3 of the License, or
11   (at your option) any later version.
12
13   Privacy Cell is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18   You should have received a copy of the GNU General Public License
19   along with Privacy Cell.  If not, see <http://www.gnu.org/licenses/>. -->
20
21 <!-- Install location `auto` allows users to move Privacy Cell to an SD card if desired. -->
22 <manifest
23     xmlns:android="http://schemas.android.com/apk/res/android"
24     xmlns:tools="http://schemas.android.com/tools"
25     android:installLocation="auto" >
26
27     <!-- Required to read cell network information.  <Dangerous permission> -->
28     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
29
30     <!-- Required to display a notification.  <Dangerous permission> -->
31     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
32
33     <!-- Required to run a foreground service (which is the only type of service that can display notifications). -->
34     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
35
36     <!-- Required to start the realtime notification icon at boot. -->
37     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
38
39     <!-- Disabled the unneeded permissions that are automatically added by `androidx.work`.  <https://developer.android.com/reference/androidx/work/package-summary> -->
40     <uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
41     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
42
43     <!-- Support Chromebooks that don't have a touch screen. -->
44     <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
45
46     <!-- App data is automatically backed up to Google cloud servers unless `android:allowBackup="false"` and `android:fullBackupContent="false"` is set.
47         `tools:ignore="DataExtractionRules` removes the warning that backups can still transfer data device to device. -->
48     <application
49         android:label="@string/privacy_cell"
50         android:icon="@mipmap/privacy_cell"
51         android:allowBackup="false"
52         android:fullBackupContent="false"
53         android:supportsRtl="true"
54         android:theme="@style/Theme.PrivacyCell"
55         tools:ignore="DataExtractionRules" >
56
57         <!-- Privacy Cell Activity.  The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
58             `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
59             It also makes it reuse an existing Privacy Cell activity if available instead of launching a new one. -->
60         <activity
61             android:name=".activities.PrivacyCellActivity"
62             android:label="@string/cell"
63             android:launchMode="singleTask"
64             android:screenOrientation="fullUser"
65             android:exported="true" >
66
67             <intent-filter>
68                 <action android:name="android.intent.action.MAIN" />
69                 <category android:name="android.intent.category.LAUNCHER" />
70             </intent-filter>
71         </activity>
72
73         <!-- Settings Activity.  The `parentActivityName` is used when restarting Privacy Cell and when navigating back. -->
74         <activity
75             android:name=".activities.SettingsActivity"
76             android:label="@string/settings"
77             android:parentActivityName=".activities.PrivacyCellActivity"
78             android:screenOrientation="fullUser" />
79
80         <!-- Protocols Activity.  The `parentActivityName` is used when navigating back. -->
81         <activity
82             android:name=".activities.ProtocolsActivity"
83             android:label="@string/protocols"
84             android:parentActivityName=".activities.PrivacyCellActivity"
85             android:screenOrientation="fullUser" />
86
87         <!-- Logcat Activity. The `parentActivityName` is used when navigating back. -->
88         <activity
89             android:name=".activities.LogcatActivity"
90             android:label="@string/logcat"
91             android:parentActivityName=".activities.PrivacyCellActivity"
92             android:screenOrientation="fullUser" />
93
94         <!-- Realtime Monitoring Service. -->
95         <service android:name=".services.RealtimeMonitoringService" />
96
97         <!-- On Boot Completed Receiver. -->
98         <receiver
99             android:name=".receivers.OnBootCompletedReceiver"
100             android:exported="true" >
101
102             <intent-filter>
103                 <action android:name="android.intent.action.BOOT_COMPLETED" />
104             </intent-filter>
105         </receiver>
106     </application>
107 </manifest>