<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2015-2018 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
You should have received a copy of the GNU General Public License
along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.stoutner.privacybrowser" >
+<!-- Install location auto allows users to move Privacy Browser to an SD card if desired. -->
+<manifest
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.stoutner.privacybrowser"
+ android:installLocation="auto" >
<!-- Required to load websites. -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- The file provider is required to encrypt files with OpenKeychain. -->
<provider
- android:name="android.support.v4.content.FileProvider"
+ android:name="androidx.core.content.FileProvider"
android:authorities="@string/file_provider"
android:exported="false"
android:grantUriPermissions="true" >
<!-- The theme has to be defined here or an ugly title bar is displayed when the app launches.
`android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes, which preserves scroll location in the WebView.
+ `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
`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 Browser activity if available instead of launching a new one.
`android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
android:name=".activities.MainWebViewActivity"
android:label="@string/privacy_browser"
android:theme="@style/PrivacyBrowserLight"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:launchMode="singleTask"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
<data android:scheme="https" />
</intent-filter>
+ <!-- Process content intents for text files. -->
+ <intent-filter>
+ <action android:name="android.intent.action.VIEW" />
+
+ <category android:name="android.intent.category.BROWSABLE" />
+ <category android:name="android.intent.category.DEFAULT" />
+
+ <data android:scheme="content" />
+ <data android:mimeType="text/*" />
+ </intent-filter>
+
<!-- Process web search intents. -->
<intent-filter>
<action android:name="android.intent.action.WEB_SEARCH" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.BookmarksActivity"
android:label="@string/bookmarks"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.BookmarksDatabaseViewActivity"
android:label="@string/bookmarks_database_view"
android:parentActivityName=".activities.BookmarksActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.RequestsActivity"
android:label="@string/requests"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
- <!-- `android:windowSoftInputMode="stateAlwaysHidden"` keeps the keyboard from displaying when the screen is rotated and after the `AddDomainDialog` is dismissed.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ <!-- `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+ `android:windowSoftInputMode="stateAlwaysHidden"` keeps the keyboard from displaying when the screen is rotated and after the `AddDomainDialog` is dismissed.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.DomainsActivity"
android:label="@string/domains"
android:parentActivityName=".activities.MainWebViewActivity"
+ android:configChanges="keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:windowSoftInputMode="stateAlwaysHidden"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.SettingsActivity"
- android:label="@string/privacy_browser_settings"
+ android:label="@string/settings"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.ImportExportActivity"
android:label="@string/import_export"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ <activity
+ android:name=".activities.LogcatActivity"
+ android:label="@string/logcat"
+ android:parentActivityName=".activities.MainWebViewActivity"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+ android:screenOrientation="fullUser"
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
+
+ <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.GuideActivity"
- android:label="@string/privacy_browser_guide"
+ android:label="@string/guide"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.AboutActivity"
android:label="@string/about_privacy_browser"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
- `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
+ `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".activities.ViewSourceActivity"
android:label="@string/view_source"
android:parentActivityName=".activities.MainWebViewActivity"
- android:configChanges="orientation|screenSize"
+ android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:screenOrientation="fullUser"
android:persistableMode="persistNever"
tools:ignore="UnusedAttribute" />
</application>
-</manifest>
+</manifest>
\ No newline at end of file