<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
+ along with Privacy Cell. If not, see <http://www.gnu.org/licenses/>. -->
-<!-- Install location `auto` allows users to move Privacy Browser to an SD card if desired. -->
+<!-- Install location `auto` allows users to move Privacy Cell to an SD card if desired. -->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.stoutner.privacycell"
+ xmlns:tools="http://schemas.android.com/tools"
android:installLocation="auto" >
<!-- Required to read cell network information. -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <!-- Required to display a realtime notification icon. -->
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+
+ <!-- Required to start the realtime notification icon at boot. -->
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+
+ <!-- Disabled the unneeded permissions that are automatically added by `androidx.work`. <https://developer.android.com/reference/androidx/work/package-summary> -->
+ <uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
+
<!-- Support Chromebooks that don't have a touch screen. -->
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
- <!-- App data is automatically backed up to Google cloud servers unless `android:allowBackup="false"` and `android:fullBackupContent="false"` is set. TODO round icon and theme name. -->
+ <!-- App data is automatically backed up to Google cloud servers unless `android:allowBackup="false"` and `android:fullBackupContent="false"` is set.
+ `tools:ignore="DataExtractionRules` removes the warning that backups can still transfer data device to device. -->
<application
android:label="@string/privacy_cell"
android:icon="@mipmap/privacy_cell"
android:allowBackup="false"
android:fullBackupContent="false"
android:supportsRtl="true"
- android:theme="@style/Theme.5GStatus" >
+ android:theme="@style/Theme.PrivacyCell"
+ tools:ignore="DataExtractionRules" >
- <!-- The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
- The theme has to be defined here or an ugly title bar is displayed when the app launches. TODO.
+ <!-- Privacy Cell Activity. The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
`android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
It also makes it reuse an existing Privacy Cell activity if available instead of launching a new one. -->
<activity
- android:name=".activities.PrivacyCell"
+ android:name=".activities.PrivacyCellActivity"
android:label="@string/cell"
android:launchMode="singleTask"
android:screenOrientation="fullUser"
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+
+ <!-- Settings Activity. The `parentActivityName` is used when restarting Privacy Cell and when navigating back. -->
+ <activity
+ android:name=".activities.SettingsActivity"
+ android:label="@string/settings"
+ android:screenOrientation="fullUser"
+ android:parentActivityName=".activities.PrivacyCellActivity" />
+
+ <!-- Protocols Activity. The `parentActivityName` is used when navigating back. -->
+ <activity
+ android:name=".activities.ProtocolsActivity"
+ android:label="@string/protocols"
+ android:screenOrientation="fullUser"
+ android:parentActivityName=".activities.PrivacyCellActivity" />
+
+ <!-- Logcat Activity. The `parentActivityName` is used when navigating back. -->
+ <activity
+ android:name=".activities.LogcatActivity"
+ android:label="@string/logcat"
+ android:parentActivityName=".activities.PrivacyCellActivity"
+ android:screenOrientation="fullUser" />
+
+ <!-- Realtime Monitoring Service. -->
+ <service android:name=".services.RealtimeMonitoringService" />
+
+ <!-- On Boot Completed Receiver. -->
+ <receiver
+ android:name=".receivers.OnBootCompletedReceiver"
+ android:exported="true" >
+
+ <intent-filter>
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ </intent-filter>
+ </receiver>
</application>
</manifest>
\ No newline at end of file