<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ Copyright 2021-2023 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
<!-- 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. -->
+ <!-- Required to read cell network information. <Dangerous permission> -->
<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 display a notification. <Dangerous permission> -->
+ <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<!-- Required to start the realtime notification icon at boot. -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <!-- Required to run a foreground service (which is the only type of service that can display notifications). -->
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
+
+ <!-- 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. -->
+ <!-- `tools:ignore="UnusedAttribute` removes the warning that `android:localeConfig` only applies to API >= 33. -->
<application
android:label="@string/privacy_cell"
android:icon="@mipmap/privacy_cell"
- android:allowBackup="false"
- android:fullBackupContent="false"
android:supportsRtl="true"
- android:theme="@style/Theme.PrivacyCell" >
+ android:theme="@style/Theme.PrivacyCell"
+ android:localeConfig="@xml/locales_config"
+ tools:ignore="UnusedAttribute" >
<!-- 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.
</intent-filter>
</activity>
- <!-- Settings Activity. The `parentActivityName` is used when restarting Privacy Cell.-->
+ <!-- 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" />
+ android:parentActivityName=".activities.PrivacyCellActivity"
+ android:screenOrientation="fullUser" />
+
+ <!-- Protocols Activity. The `parentActivityName` is used when navigating back. -->
+ <activity
+ android:name=".activities.ProtocolsActivity"
+ android:label="@string/protocols"
+ android:parentActivityName=".activities.PrivacyCellActivity"
+ android:screenOrientation="fullUser" />
+
+ <!-- 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" />
+ <service
+ android:name=".services.RealtimeMonitoringService"
+ android:foregroundServiceType="specialUse" >
+
+ <property
+ android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
+ android:value="Displays current cell protocol security information." />
+ </service>
<!-- On Boot Completed Receiver. -->
<receiver
</intent-filter>
</receiver>
</application>
-</manifest>
\ No newline at end of file
+</manifest>