<!-- Required to create home screen shortcuts. -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
- <!-- Required to save files to the public download folder. -->
+ <!-- Required to import settings from external storage. -->
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+
+ <!-- Required to export settings and save files to public storage. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
android:roundIcon="@mipmap/privacy_browser_round"
android:allowBackup="false"
android:fullBackupContent="false"
- android:supportsRtl="true" >
+ android:supportsRtl="true"
+ android:networkSecurityConfig="@xml/network_security_config"
+ tools:ignore="UnusedAttribute" >
<!-- 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.EnableSafeBrowsing"
android:value="false" />
+ <!-- Specify the Application ID used by the ads in the free flavor. -->
+ <meta-data
+ android:name="com.google.android.gms.ads.APPLICATION_ID"
+ android:value="@string/google_app_id" />
+
+ <!-- The file provider is required to encrypt files with OpenKeychain. -->
+ <provider
+ android:name="android.support.v4.content.FileProvider"
+ android:authorities="@string/file_provider"
+ android:exported="false"
+ android:grantUriPermissions="true" >
+
+ <meta-data
+ android:name="android.support.FILE_PROVIDER_PATHS"
+ android:resource="@xml/file_provider_paths" />
+ </provider>
+
<!-- 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.
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- <!-- `android.intent.action.VIEW` with the two data schemes enables processing of web intents. -->
+ <!-- Process web intents. -->
<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="http" />
<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" />
+
+ <category android:name="android.intent.category.BROWSABLE" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
</activity>
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. -->
+ <activity
+ android:name=".activities.ImportExportActivity"
+ android:label="@string/import_export"
+ android:parentActivityName=".activities.MainWebViewActivity"
+ android:configChanges="orientation|screenSize"
+ 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. -->