]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/AndroidManifest.xml
Partial additional action button icons implementation.
[PrivacyBrowserAndroid.git] / app / src / main / AndroidManifest.xml
index 9d41c67afc6fbbe3a703e232d03ccf81d922a66d..924d8da8b5f6adce5e8cc1c11a778f56969063dc 100644 (file)
@@ -3,7 +3,7 @@
 <!--
   Copyright 2015-2016 Soren Stoutner <soren@stoutner.com>.
 
-  This file is part of Privacy Browser <https://privacybrowser.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
 <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" />
 
+
+    <!-- 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: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/PrivacyBrowser"
+        android:allowBackup="false"
+        android:fullBackupContent="false" >
+
+        <!-- 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 app not reload when the orientation changes. -->
-        <!-- 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: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=".MainWebView"
-            android:configChanges="orientation|screenSize"
+            android:name=".MainWebViewActivity"
             android:label="@string/privacy_browser"
-            android:launchMode="singleTask">
+            android:configChanges="orientation|screenSize"
+            android:launchMode="singleTask"
+            android:screenOrientation="fullUser"
+            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 two 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>
-    </application>
 
+
+        <!-- `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=".BookmarksActivity"
+            android:label="@string/bookmarks"
+            android:theme="@style/PrivacyBrowser.SecondaryActivity"
+            android:parentActivityName=".MainWebViewActivity"
+            android:configChanges="orientation|screenSize"
+            android:screenOrientation="fullUser"
+            android:persistableMode="persistNever" />
+
+        <!-- `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=".BookmarksDatabaseViewActivity"
+            android:label="@string/bookmarks_database_view"
+            android:theme="@style/PrivacyBrowser.SecondaryActivity"
+            android:parentActivityName=".BookmarksActivity"
+            android:configChanges="orientation|screenSize"
+            android:screenOrientation="fullUser"
+            android:persistableMode="persistNever" />
+
+        <!-- `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:theme="@style/Settings"
+            android:parentActivityName=".MainWebViewActivity"
+            android:configChanges="orientation|screenSize"
+            android:screenOrientation="fullUser"
+            android:persistableMode="persistNever" />
+
+        <!-- `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=".GuideActivity"
+            android:label="@string/privacy_browser_guide"
+            android:theme="@style/PrivacyBrowser.SecondaryActivity"
+            android:parentActivityName=".MainWebViewActivity"
+            android:configChanges="orientation|screenSize"
+            android:screenOrientation="fullUser"
+            android:persistableMode="persistNever" />
+
+        <!-- `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:theme="@style/PrivacyBrowser.SecondaryActivity"
+            android:parentActivityName=".MainWebViewActivity"
+            android:configChanges="orientation|screenSize"
+            android:screenOrientation="fullUser"
+            android:persistableMode="persistNever" />
+    </application>
 </manifest>