1 <?xml version="1.0" encoding="utf-8"?>
4 Copyright 2021-2023 Soren Stoutner <soren@stoutner.com>.
6 This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
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.
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.
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/>. -->
21 <!-- Install location `auto` allows users to move Privacy Cell to an SD card if desired. -->
23 xmlns:android="http://schemas.android.com/apk/res/android"
24 xmlns:tools="http://schemas.android.com/tools"
25 android:installLocation="auto" >
27 <!-- Required to read cell network information. <Dangerous permission> -->
28 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
30 <!-- Required to display a notification. <Dangerous permission> -->
31 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
33 <!-- Required to start the realtime notification icon at boot. -->
34 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
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" />
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" />
44 <!-- Support Chromebooks that don't have a touch screen. -->
45 <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
47 <!-- `tools:ignore="UnusedAttribute` removes the warning that `android:localeConfig` only applies to API >= 33. -->
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" >
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. -->
60 android:name=".activities.PrivacyCellActivity"
61 android:label="@string/cell"
62 android:launchMode="singleTask"
63 android:screenOrientation="fullUser"
64 android:exported="true" >
67 <action android:name="android.intent.action.MAIN" />
68 <category android:name="android.intent.category.LAUNCHER" />
72 <!-- Settings Activity. The `parentActivityName` is used when restarting Privacy Cell and when navigating back. -->
74 android:name=".activities.SettingsActivity"
75 android:label="@string/settings"
76 android:parentActivityName=".activities.PrivacyCellActivity"
77 android:screenOrientation="fullUser" />
79 <!-- Protocols Activity. The `parentActivityName` is used when navigating back. -->
81 android:name=".activities.ProtocolsActivity"
82 android:label="@string/protocols"
83 android:parentActivityName=".activities.PrivacyCellActivity"
84 android:screenOrientation="fullUser" />
86 <!-- Logcat Activity. The `parentActivityName` is used when navigating back. -->
88 android:name=".activities.LogcatActivity"
89 android:label="@string/logcat"
90 android:parentActivityName=".activities.PrivacyCellActivity"
91 android:screenOrientation="fullUser" />
93 <!-- Realtime Monitoring Service. -->
95 android:name=".services.RealtimeMonitoringService"
96 android:foregroundServiceType="specialUse" >
99 android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
100 android:value="Displays current cell protocol security information." />
103 <!-- On Boot Completed Receiver. -->
105 android:name=".receivers.OnBootCompletedReceiver"
106 android:exported="true" >
109 <action android:name="android.intent.action.BOOT_COMPLETED" />