<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright 2015-2016 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2015-2017 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.stoutner.privacybrowser" >
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.stoutner.privacybrowser" >
<!-- Required to load websites. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
+ <!-- Support Chromebooks that don't have a touch screen. -->
+ <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
+
+
<!-- For API >= 23, app data is automatically backed up to Google cloud servers unless `android:allowBackup="false"` and `android:fullBackupContent="false"` is set. -->
<application
android:label="@string/privacy_browser"
android:icon="@mipmap/privacy_browser"
- android:theme="@style/PrivacyBrowser"
android:allowBackup="false"
- android:fullBackupContent="false" >
+ android:fullBackupContent="false"
+ android:supportsRtl="true" >
- <!-- If `android:name="android.webkit.WebView.MetricsOptOut"` is not `true` then WebViews will upload metrics to Google.
- https://developer.android.com/reference/android/webkit/WebView.html -->
+ <!-- If `android:name="android.webkit.WebView.MetricsOptOut"` is not `true` then `WebViews` will upload metrics to Google. <https://developer.android.com/reference/android/webkit/WebView.html> -->
<meta-data
android:name="android.webkit.WebView.MetricsOptOut"
android:value="true" />
- <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes, which preserves scroll location in the WebView.
+ <!-- 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: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 recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".MainWebViewActivity"
+ android:name=".activities.MainWebViewActivity"
android:label="@string/privacy_browser"
+ android:theme="@style/PrivacyBrowserLight"
android:configChanges="orientation|screenSize"
android:launchMode="singleTask"
- android:persistableMode="persistNever" >
+ android:screenOrientation="fullUser"
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".BookmarksActivity"
+ android:name=".activities.BookmarksActivity"
android:label="@string/bookmarks"
- android:theme="@style/PrivacyBrowser.SecondaryActivity"
- android:parentActivityName=".MainWebViewActivity"
+ android:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.MainWebViewActivity"
android:configChanges="orientation|screenSize"
- android:persistableMode="persistNever" />
+ 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 recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".BookmarksDatabaseViewActivity"
+ android:name=".activities.BookmarksDatabaseViewActivity"
android:label="@string/bookmarks_database_view"
- android:theme="@style/PrivacyBrowser.SecondaryActivity"
- android:parentActivityName=".BookmarksActivity"
+ android:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.BookmarksActivity"
android:configChanges="orientation|screenSize"
- android:persistableMode="persistNever" />
+ 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 recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".SettingsActivity"
+ android:name=".activities.SettingsActivity"
android:label="@string/privacy_browser_settings"
android:theme="@style/Settings"
- android:parentActivityName=".MainWebViewActivity"
+ android:parentActivityName=".activities.MainWebViewActivity"
+ android:configChanges="orientation|screenSize"
+ android:screenOrientation="fullUser"
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
+
+ <!-- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen 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:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.MainWebViewActivity"
+ 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 recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21.
+ `android:windowSoftInputMode="stateAlwaysHidden"` removes the keyboard from the screen, which is displayed because `ScrollViews` always focus the first `EditText` despite being told not to. -->
+ <activity
+ android:name=".activities.DomainSettingsActivity"
+ android:label="@string/domain_settings"
+ android:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.DomainsActivity"
android:configChanges="orientation|screenSize"
- android:persistableMode="persistNever" />
+ 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 recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".GuideActivity"
+ android:name=".activities.GuideActivity"
android:label="@string/privacy_browser_guide"
- android:theme="@style/PrivacyBrowser.SecondaryActivity"
- android:parentActivityName=".MainWebViewActivity"
+ android:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.MainWebViewActivity"
android:configChanges="orientation|screenSize"
- android:persistableMode="persistNever" />
+ 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 recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
- android:name=".AboutActivity"
+ android:name=".activities.AboutActivity"
android:label="@string/about_privacy_browser"
- android:theme="@style/PrivacyBrowser.SecondaryActivity"
- android:parentActivityName=".MainWebViewActivity"
+ android:theme="@style/PrivacyBrowserLight.SecondaryActivity"
+ android:parentActivityName=".activities.MainWebViewActivity"
android:configChanges="orientation|screenSize"
- android:persistableMode="persistNever" />
+ android:screenOrientation="fullUser"
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
</application>
</manifest>