<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ Copyright 2015-2016 Soren Stoutner <soren@stoutner.com>.
+
+ This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+ Privacy Browser is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Privacy Browser is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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/>. -->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.stoutner.privacybrowser" >
+ <!-- Required to load websites. -->
<uses-permission android:name="android.permission.INTERNET" />
+ <!-- Required to create homescreen shortcuts. -->
+ <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
+
+ <!-- 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:allowBackup="false"
- android:fullBackupContent="false"
- android:icon="@mipmap/ic_launcher"
android:label="@string/privacy_browser"
- android:theme="@style/AppTheme" >
+ android:icon="@mipmap/privacy_browser"
+ android:theme="@style/AppTheme"
+ android:allowBackup="false"
+ android:fullBackupContent="false" >
- <!-- configChanges orientation and screenSize makes the app not reload when the orientation changes. -->
- <!-- windowSoftInputMode stateAlwaysHidden hides the keyboard when the app starts. -->
+ <!-- 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. -->
<activity
- android:name=".Webview"
- android:configChanges="orientation|screenSize"
+ android:name=".MainWebViewActivity"
android:label="@string/privacy_browser"
- android:windowSoftInputMode="stateAlwaysHidden">
+ android:theme="@style/AppTheme.NoActionBar"
+ android:configChanges="orientation|screenSize"
+ android:launchMode="singleTask"
+ android:persistableMode="persistNever" >
+
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- <!-- android.intent.action.VIEW with the schemes enables processing of web intents. -->
+ <!-- android.intent.action.VIEW with the two data schemes enables processing of web intents. -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent-filter>
</activity>
+
+ <!-- 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. -->
+ <activity
+ android:name=".SettingsActivity"
+ android:label="@string/privacy_browser_settings"
+ android:parentActivityName=".MainWebViewActivity"
+ android:configChanges="orientation|screenSize"
+ android:persistableMode="persistNever" >
+
+ <!-- android.support.PARENT_ACTIVITY is necessary for API <= 15. -->
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value=".MainWebViewActivity" />
+ </activity>
+
+ <!-- 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. -->
+ <activity
+ android:name=".AboutActivity"
+ android:label="@string/about_privacy_browser"
+ android:parentActivityName=".MainWebViewActivity"
+ android:configChanges="orientation|screenSize"
+ android:persistableMode="persistNever" >
+
+ <!-- android.support.PARENT_ACTIVITY is necessary for API <= 15. -->
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value=".MainWebViewActivity" />
+ </activity>
+
</application>
</manifest>