]> gitweb.stoutner.com Git - PrivacyCell.git/blob - app/src/main/AndroidManifest.xml
be16e6e968a14e6dd91a21fa6fcbad0d39439e9e
[PrivacyCell.git] / app / src / main / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4   Copyright © 2021 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     package="com.stoutner.privacycell"
26     android:installLocation="auto" >
27
28     <!-- Required to read cell network information. -->
29     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
30
31     <!-- Required to display a realtime notification icon. -->
32     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
33
34     <!-- Required to start the realtime notification icon at boot. -->
35     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
36
37     <!-- Disabled the unneeded permissions that are automatically added by `androidx.work`.  <https://developer.android.com/reference/androidx/work/package-summary> -->
38     <uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
39     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
40
41     <!-- Support Chromebooks that don't have a touch screen. -->
42     <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
43
44     <!-- App data is automatically backed up to Google cloud servers unless `android:allowBackup="false"` and `android:fullBackupContent="false"` is set. -->
45     <application
46         android:label="@string/privacy_cell"
47         android:icon="@mipmap/privacy_cell"
48         android:allowBackup="false"
49         android:fullBackupContent="false"
50         android:supportsRtl="true"
51         android:theme="@style/Theme.PrivacyCell" >
52
53         <!-- Privacy Cell Activity.  The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
54             `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
55             It also makes it reuse an existing Privacy Cell activity if available instead of launching a new one. -->
56         <activity
57             android:name=".activities.PrivacyCellActivity"
58             android:label="@string/cell"
59             android:launchMode="singleTask"
60             android:screenOrientation="fullUser"
61             android:exported="true" >
62
63             <intent-filter>
64                 <action android:name="android.intent.action.MAIN" />
65                 <category android:name="android.intent.category.LAUNCHER" />
66             </intent-filter>
67         </activity>
68
69         <!-- Settings Activity.  The `parentActivityName` is used when restarting Privacy Cell and when navigating back. -->
70         <activity
71             android:name=".activities.SettingsActivity"
72             android:label="@string/settings"
73             android:screenOrientation="fullUser"
74             android:parentActivityName=".activities.PrivacyCellActivity" />
75
76         <!-- Logcat Activity. The `parentActivityName` is used when navigating back. -->
77         <activity
78             android:name=".activities.LogcatActivity"
79             android:label="@string/logcat"
80             android:parentActivityName=".activities.PrivacyCellActivity"
81             android:screenOrientation="fullUser" />
82
83         <!-- Realtime Monitoring Service. -->
84         <service android:name=".services.RealtimeMonitoringService" />
85
86         <!-- On Boot Completed Receiver. -->
87         <receiver
88             android:name=".receivers.OnBootCompletedReceiver"
89             android:exported="true" >
90
91             <intent-filter>
92                 <action android:name="android.intent.action.BOOT_COMPLETED" />
93             </intent-filter>
94         </receiver>
95     </application>
96 </manifest>