]> gitweb.stoutner.com Git - PrivacyCell.git/blob - app/src/main/AndroidManifest.xml
Release 1.10.
[PrivacyCell.git] / app / src / main / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4   Copyright 2021-2023 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 start the realtime notification icon at boot. -->
34     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
35
36     <!-- Required to run a foreground service (which is the only type of service that can display notifications). -->
37     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
38     <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
39
40     <!-- Disabled the unneeded permissions that are automatically added by `androidx.work`.  <https://developer.android.com/reference/androidx/work/package-summary> -->
41     <uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
42     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
43
44     <!-- Support Chromebooks that don't have a touch screen. -->
45     <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
46
47     <!-- `tools:ignore="UnusedAttribute` removes the warning that `android:localeConfig` only applies to API >= 33. -->
48     <application
49         android:label="@string/privacy_cell"
50         android:icon="@mipmap/privacy_cell"
51         android:supportsRtl="true"
52         android:theme="@style/Theme.PrivacyCell"
53         android:localeConfig="@xml/locales_config"
54         tools:ignore="UnusedAttribute" >
55
56         <!-- Privacy Cell Activity.  The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
57             `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
58             It also makes it reuse an existing Privacy Cell activity if available instead of launching a new one. -->
59         <activity
60             android:name=".activities.PrivacyCellActivity"
61             android:label="@string/cell"
62             android:launchMode="singleTask"
63             android:screenOrientation="fullUser"
64             android:exported="true" >
65
66             <intent-filter>
67                 <action android:name="android.intent.action.MAIN" />
68                 <category android:name="android.intent.category.LAUNCHER" />
69             </intent-filter>
70         </activity>
71
72         <!-- Settings Activity.  The `parentActivityName` is used when restarting Privacy Cell and when navigating back. -->
73         <activity
74             android:name=".activities.SettingsActivity"
75             android:label="@string/settings"
76             android:parentActivityName=".activities.PrivacyCellActivity"
77             android:screenOrientation="fullUser" />
78
79         <!-- Protocols Activity.  The `parentActivityName` is used when navigating back. -->
80         <activity
81             android:name=".activities.ProtocolsActivity"
82             android:label="@string/protocols"
83             android:parentActivityName=".activities.PrivacyCellActivity"
84             android:screenOrientation="fullUser" />
85
86         <!-- Logcat Activity. The `parentActivityName` is used when navigating back. -->
87         <activity
88             android:name=".activities.LogcatActivity"
89             android:label="@string/logcat"
90             android:parentActivityName=".activities.PrivacyCellActivity"
91             android:screenOrientation="fullUser" />
92
93         <!-- Realtime Monitoring Service. -->
94         <service
95             android:name=".services.RealtimeMonitoringService"
96             android:foregroundServiceType="specialUse" >
97
98             <property
99                 android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
100                 android:value="Displays current cell protocol security information." />
101         </service>
102
103         <!-- On Boot Completed Receiver. -->
104         <receiver
105             android:name=".receivers.OnBootCompletedReceiver"
106             android:exported="true" >
107
108             <intent-filter>
109                 <action android:name="android.intent.action.BOOT_COMPLETED" />
110             </intent-filter>
111         </receiver>
112     </application>
113 </manifest>