Remove the free flavor. https://redmine.stoutner.com/issues/786
authorSoren Stoutner <soren@stoutner.com>
Wed, 8 Dec 2021 00:04:19 +0000 (17:04 -0700)
committerSoren Stoutner <soren@stoutner.com>
Wed, 8 Dec 2021 00:04:19 +0000 (17:04 -0700)
83 files changed:
app/build.gradle
app/src/alt/res/drawable/privacy_browser_foreground.xml [new file with mode: 0644]
app/src/alt/res/mipmap-anydpi-v26/privacy_browser.xml [new file with mode: 0644]
app/src/alt/res/mipmap-anydpi-v26/privacy_browser_round.xml [new file with mode: 0644]
app/src/alt/res/mipmap-hdpi/privacy_browser.png [new file with mode: 0644]
app/src/alt/res/mipmap-hdpi/privacy_browser_round.png [new file with mode: 0644]
app/src/alt/res/mipmap-mdpi/privacy_browser.png [new file with mode: 0644]
app/src/alt/res/mipmap-mdpi/privacy_browser_round.png [new file with mode: 0644]
app/src/alt/res/mipmap-xhdpi/privacy_browser.png [new file with mode: 0644]
app/src/alt/res/mipmap-xhdpi/privacy_browser_round.png [new file with mode: 0644]
app/src/alt/res/mipmap-xxhdpi/privacy_browser.png [new file with mode: 0644]
app/src/alt/res/mipmap-xxhdpi/privacy_browser_round.png [new file with mode: 0644]
app/src/alt/res/mipmap-xxxhdpi/privacy_browser.png [new file with mode: 0644]
app/src/alt/res/mipmap-xxxhdpi/privacy_browser_round.png [new file with mode: 0644]
app/src/alt/res/values/strings.xml [new file with mode: 0644]
app/src/free/assets/de/about_permissions.html [deleted file]
app/src/free/assets/de/about_privacy_policy.html [deleted file]
app/src/free/assets/en/about_permissions.html [deleted file]
app/src/free/assets/en/about_privacy_policy.html [deleted file]
app/src/free/assets/es/about_permissions.html [deleted file]
app/src/free/assets/es/about_privacy_policy.html [deleted file]
app/src/free/assets/fr/about_permissions.html [deleted file]
app/src/free/assets/fr/about_privacy_policy.html [deleted file]
app/src/free/assets/it/about_permissions.html [deleted file]
app/src/free/assets/it/about_privacy_policy.html [deleted file]
app/src/free/assets/pt-rBR/about_permissions.html [deleted file]
app/src/free/assets/pt-rBR/about_privacy_policy.html [deleted file]
app/src/free/assets/ru/about_permissions.html [deleted file]
app/src/free/assets/ru/about_privacy_policy.html [deleted file]
app/src/free/assets/tr/about_permissions.html [deleted file]
app/src/free/assets/tr/about_privacy_policy.html [deleted file]
app/src/free/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt [deleted file]
app/src/free/java/com/stoutner/privacybrowser/helpers/AdConsentDatabaseHelper.kt [deleted file]
app/src/free/java/com/stoutner/privacybrowser/helpers/AdHelper.kt [deleted file]
app/src/free/res/drawable/privacy_browser_foreground.xml [deleted file]
app/src/free/res/layout/adview_bottom_appbar.xml [deleted file]
app/src/free/res/layout/adview_top_appbar.xml [deleted file]
app/src/free/res/mipmap-hdpi/privacy_browser.png [deleted file]
app/src/free/res/mipmap-hdpi/privacy_browser_round.png [deleted file]
app/src/free/res/mipmap-mdpi/privacy_browser.png [deleted file]
app/src/free/res/mipmap-mdpi/privacy_browser_round.png [deleted file]
app/src/free/res/mipmap-xhdpi/privacy_browser.png [deleted file]
app/src/free/res/mipmap-xhdpi/privacy_browser_round.png [deleted file]
app/src/free/res/mipmap-xxhdpi/privacy_browser.png [deleted file]
app/src/free/res/mipmap-xxhdpi/privacy_browser_round.png [deleted file]
app/src/free/res/mipmap-xxxhdpi/privacy_browser.png [deleted file]
app/src/free/res/mipmap-xxxhdpi/privacy_browser_round.png [deleted file]
app/src/free/res/values-de/strings.xml [deleted file]
app/src/free/res/values-es/strings.xml [deleted file]
app/src/free/res/values-fr/strings.xml [deleted file]
app/src/free/res/values-it/strings.xml [deleted file]
app/src/free/res/values-pt-rBR/strings.xml [deleted file]
app/src/free/res/values-ru/strings.xml [deleted file]
app/src/free/res/values-tr/strings.xml [deleted file]
app/src/free/res/values/strings.xml [deleted file]
app/src/main/assets/de/about_changelog.html
app/src/main/assets/de/about_licenses.html
app/src/main/assets/en/about_changelog.html
app/src/main/assets/en/about_licenses.html
app/src/main/assets/es/about_changelog.html
app/src/main/assets/es/about_licenses.html
app/src/main/assets/fr/about_changelog.html
app/src/main/assets/fr/about_licenses.html
app/src/main/assets/it/about_changelog.html
app/src/main/assets/it/about_licenses.html
app/src/main/assets/pt-rBR/about_changelog.html
app/src/main/assets/pt-rBR/about_licenses.html
app/src/main/assets/ru/about_changelog.html
app/src/main/assets/ru/about_licenses.html
app/src/main/assets/shared_images/privacy_browser_free.svg [deleted file]
app/src/main/assets/tr/about_changelog.html
app/src/main/assets/tr/about_licenses.html
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateHomeScreenShortcutDialog.kt
app/src/main/res/drawable/privacy_browser_foreground.xml
app/src/main/res/layout/main_framelayout_bottom_appbar.xml
app/src/main/res/layout/main_framelayout_top_appbar.xml
app/src/main/res/menu/webview_options_menu.xml
app/src/main/res/mipmap-anydpi-v26/privacy_browser.xml
app/src/main/res/mipmap-anydpi-v26/privacy_browser_round.xml
app/src/main/res/values/strings.xml
app/src/standard/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt [deleted file]
app/src/standard/java/com/stoutner/privacybrowser/helpers/AdHelper.kt [deleted file]

index 2d893f9eeb2c0f61de1a622edde66d58e3cbe427..e314f99de9f7ad8cf2c4874eb079f18e77a6b6eb 100644 (file)
@@ -57,8 +57,8 @@ android {
             dimension "basic"
         }
 
-        free {
-            applicationId "com.stoutner.privacybrowser.free"
+        alt {
+            applicationId "com.stoutner.privacybrowser.alt"
             dimension "basic"
         }
     }
@@ -83,7 +83,4 @@ dependencies {
 
     // Include the Google material library.
     implementation 'com.google.android.material:material:1.4.0'
-
-    // Only compile AdMob ads for the free flavor.
-    freeImplementation 'com.google.android.gms:play-services-ads:20.5.0'
 }
\ No newline at end of file
diff --git a/app/src/alt/res/drawable/privacy_browser_foreground.xml b/app/src/alt/res/drawable/privacy_browser_foreground.xml
new file mode 100644 (file)
index 0000000..63f55ff
--- /dev/null
@@ -0,0 +1,57 @@
+<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+    Modifications copyright © 2016-2017,2021 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="108dp"
+    android:width="108dp"
+    android:viewportHeight="108"
+    android:viewportWidth="108" >
+
+    <group
+        android:scaleX="0.20625"
+        android:scaleY="0.20625"
+        android:translateX="27.6"
+        android:translateY="27.6" >
+
+        <!-- The inner shield. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
+            android:fillColor="#0d4781" />
+
+        <!-- The outer shield. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
+            android:fillColor="#1976d2" />
+
+        <!-- The globe. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
+            android:fillColor="#ffffff"/>
+
+        <!-- The red banner. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="M50.491,201.267h155.02v54.763h-155.02z"
+            android:fillColor="#b71c1c"/>
+
+        <!-- The T. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m64.125,212.543h30.256v7.954L84.23,220.497L84.23,244.755L74.277,244.755L74.277,220.497L64.125,220.497Z"
+            android:fillColor="#ffffff"/>
+
+        <!-- The E. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m98.864,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L108.84,231.11L108.84,237.46h17.183L126.022,244.755L98.864,244.755Z"
+            android:fillColor="#ffffff"/>
+
+        <!-- The S.  A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m129.648,234.098 l9.47,-0.593q0.308,2.307 1.252,3.516 1.538,1.956 4.395,1.956 2.131,0 3.274,-0.989 1.165,-1.011 1.165,-2.329 0,-1.252 -1.099,-2.241 -1.099,-0.989 -5.098,-1.868 -6.548,-1.472 -9.338,-3.911 -2.813,-2.439 -2.813,-6.218 0,-2.483 1.428,-4.68 1.45,-2.219 4.329,-3.472 2.9,-1.274 7.932,-1.274 6.174,0 9.404,2.307 3.252,2.285 3.867,7.295l-9.382,0.549q-0.374,-2.175 -1.582,-3.164 -1.187,-0.989 -3.296,-0.989 -1.736,0 -2.615,0.747 -0.879,0.725 -0.879,1.78 0,0.769 0.725,1.384 0.703,0.637 3.34,1.187 6.526,1.406 9.338,2.856 2.834,1.428 4.109,3.56 1.296,2.131 1.296,4.768 0,3.098 -1.714,5.713 -1.714,2.615 -4.79,3.977 -3.076,1.34 -7.756,1.34 -8.218,0 -11.382,-3.164 -3.164,-3.164 -3.582,-8.042z"
+            android:fillColor="#ffffff"/>
+
+        <!-- The T. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m161.618,212.543h30.256v7.954h-10.151v24.258h-9.954v-24.258h-10.151z"
+            android:fillColor="#ffffff"/>
+    </group>
+</vector>
\ No newline at end of file
diff --git a/app/src/alt/res/mipmap-anydpi-v26/privacy_browser.xml b/app/src/alt/res/mipmap-anydpi-v26/privacy_browser.xml
new file mode 100644 (file)
index 0000000..2cb3182
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2018,2021 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/>. -->
+
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/white" />
+    <foreground android:drawable="@drawable/privacy_browser_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/alt/res/mipmap-anydpi-v26/privacy_browser_round.xml b/app/src/alt/res/mipmap-anydpi-v26/privacy_browser_round.xml
new file mode 100644 (file)
index 0000000..2cb3182
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2018,2021 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/>. -->
+
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/white" />
+    <foreground android:drawable="@drawable/privacy_browser_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/alt/res/mipmap-hdpi/privacy_browser.png b/app/src/alt/res/mipmap-hdpi/privacy_browser.png
new file mode 100644 (file)
index 0000000..139d872
Binary files /dev/null and b/app/src/alt/res/mipmap-hdpi/privacy_browser.png differ
diff --git a/app/src/alt/res/mipmap-hdpi/privacy_browser_round.png b/app/src/alt/res/mipmap-hdpi/privacy_browser_round.png
new file mode 100644 (file)
index 0000000..e83375c
Binary files /dev/null and b/app/src/alt/res/mipmap-hdpi/privacy_browser_round.png differ
diff --git a/app/src/alt/res/mipmap-mdpi/privacy_browser.png b/app/src/alt/res/mipmap-mdpi/privacy_browser.png
new file mode 100644 (file)
index 0000000..9c35d24
Binary files /dev/null and b/app/src/alt/res/mipmap-mdpi/privacy_browser.png differ
diff --git a/app/src/alt/res/mipmap-mdpi/privacy_browser_round.png b/app/src/alt/res/mipmap-mdpi/privacy_browser_round.png
new file mode 100644 (file)
index 0000000..c7f199a
Binary files /dev/null and b/app/src/alt/res/mipmap-mdpi/privacy_browser_round.png differ
diff --git a/app/src/alt/res/mipmap-xhdpi/privacy_browser.png b/app/src/alt/res/mipmap-xhdpi/privacy_browser.png
new file mode 100644 (file)
index 0000000..341f4af
Binary files /dev/null and b/app/src/alt/res/mipmap-xhdpi/privacy_browser.png differ
diff --git a/app/src/alt/res/mipmap-xhdpi/privacy_browser_round.png b/app/src/alt/res/mipmap-xhdpi/privacy_browser_round.png
new file mode 100644 (file)
index 0000000..031a23d
Binary files /dev/null and b/app/src/alt/res/mipmap-xhdpi/privacy_browser_round.png differ
diff --git a/app/src/alt/res/mipmap-xxhdpi/privacy_browser.png b/app/src/alt/res/mipmap-xxhdpi/privacy_browser.png
new file mode 100644 (file)
index 0000000..f3e422d
Binary files /dev/null and b/app/src/alt/res/mipmap-xxhdpi/privacy_browser.png differ
diff --git a/app/src/alt/res/mipmap-xxhdpi/privacy_browser_round.png b/app/src/alt/res/mipmap-xxhdpi/privacy_browser_round.png
new file mode 100644 (file)
index 0000000..1c1dfe7
Binary files /dev/null and b/app/src/alt/res/mipmap-xxhdpi/privacy_browser_round.png differ
diff --git a/app/src/alt/res/mipmap-xxxhdpi/privacy_browser.png b/app/src/alt/res/mipmap-xxxhdpi/privacy_browser.png
new file mode 100644 (file)
index 0000000..124ccb3
Binary files /dev/null and b/app/src/alt/res/mipmap-xxxhdpi/privacy_browser.png differ
diff --git a/app/src/alt/res/mipmap-xxxhdpi/privacy_browser_round.png b/app/src/alt/res/mipmap-xxxhdpi/privacy_browser_round.png
new file mode 100644 (file)
index 0000000..54df9c4
Binary files /dev/null and b/app/src/alt/res/mipmap-xxxhdpi/privacy_browser_round.png differ
diff --git a/app/src/alt/res/values/strings.xml b/app/src/alt/res/values/strings.xml
new file mode 100644 (file)
index 0000000..4a54609
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2021 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/>. -->
+
+<resources>
+    <!-- Providers. -->
+    <string name="file_provider" translatable="false">com.stoutner.privacybrowser.fileprovider.alt</string>
+
+    <!-- Activities. -->
+    <string name="privacy_browser">Privacy Browser Test</string>
+
+    <!-- Create Home Screen Shortcut Alert Dialog. -->
+    <string name="open_with_privacy_browser">Open with Privacy Browser Test.</string>
+</resources>
\ No newline at end of file
diff --git a/app/src/free/assets/de/about_permissions.html b/app/src/free/assets/de/about_permissions.html
deleted file mode 100644 (file)
index 720be81..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-  Copyright © 2016-2021 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019,2021 Bernhard G. Keller.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2018 Stefan Erhardt.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2016 Aaron Gerlach <aaron@gerlach.com>.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Voller Netzwerkzugriff</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Benötigt, damit WebView das Internet nutzen kann. Ohne diese Berechtigung wäre Privacy Browser “Kein Browser: Schützt Ihre Privatsphäre durch Fernbleiben von jeglicher Konnektivität”.</p>
-
-        <h3>Verknüpfungen installieren</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Benötigt, um Verknüpfungen zu Websites auf Ihrer Startseite zu erstellen.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>Zusätzlich zeigt die kostenlose Variante des Privacy Browsers Werbung aus Google’s AdMob-Netzwerk an. In diesem Fall fügt AdMob die folgenden Berechtigungen hinzu, auch wenn diese nicht in der
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">Manifest-Datei</a> des Quelltexts von Privacy Browser enthalten sind:</p>
-
-        <h3>Netzwerk-Verbindungen anzeigen</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Erlaubt den Werbeanzeigen mitzuteilen, wenn das Gerät mit dem Internet verbunden ist und wann nicht (vermutlich damit nicht versucht wird, Werbeanzeigen neu zu laden, wenn keine Verbindung besteht).
-            Diese können auch mitteilen, ob eine Verbindung via WLAN, 2G, 3G, 4G, usw. besteht.</p>
-
-        <h3>Schlaf-Modus des Telefons verhindern</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Erlaubt den Werbeanzeigen, das Gerät nicht in den Schlaf-Modus zu versetzen und das Display nicht zu dimmen. In Stoutners Tests konnte dieses Verhalten nicht festgestellt werden.</p>
-
-        <h3>Ausführung nach Systemstart</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Lässt AdMob nach dem Boot-Vorgang des Telefons starten, selbst wenn Privacy Browsers nicht gestartet wird.
-            Dies ist eine bedenkliche Berechtigung, da sie Google erlaubt, den Benutzer auszuspähen.
-            Es bestehen daher Überlegungen, einen anderen Werbungs-Dienstleister zu nutzen oder die kostenlose Variante von Privacy Browser gänzlich einzustellen.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/de/about_privacy_policy.html b/app/src/free/assets/de/about_privacy_policy.html
deleted file mode 100644 (file)
index 0f7e606..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019 Bernhard G. Keller.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser Free</h3>
-        <p><strong class="red">Privacy Browser Free sammelt keinerlei Benutzer-Informationen.</strong></p>
-
-        <h3>Google Play</h3>
-        <p>Google Play hat seine eigene <a href="https://policies.google.com/privacy?hl=de">Datenschutzerklärung</a>.
-            Google stellt Entwicklern <em>anonymisierte Installations-Informationen</em> inklusive der Anzahl der Installationen unterteilt in die folgenden Kategorien bereit:</p>
-        <ul>
-            <li><item>Android-Version</item> (z.B. Android 7.1)</li>
-            <li><item>Gerät</item> (z.B. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablets</item> (z.B. 10"-Tablet oder höher)</li>
-            <li><item>Land</item> (z.B. USA)</li>
-            <li><item>Sprache</item> (z.B. Englisch [USA])</li>
-            <li><item>App-Version</item> (z.B. 14)</li>
-            <li><item>Mobilfunk-Anbieter</item> (z.B. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Google Play Bewertungen</h3>
-        <p>Google Play hat seine eigene <a href="https://policies.google.com/privacy?hl=de">Datenschutzerklärung</a>.
-            Google stellt Entwicklern folgende <em>anonymisierte Installations-Informationen</em> bezüglich der Bewertungen bereit:</p>
-        <ul>
-            <li><item>Land</item> (z.B. USA)</li>
-            <li><item>Sprache</item> (z.B. Englisch)</li>
-            <li><item>App-Version</item> (z.B. 14)</li>
-            <li><item>Android-Version</item> (z.B. Android 7.1)</li>
-            <li><item>Gerät</item> (z.B. Google Nexus 5X [bullhead])</li>
-            <li><item>Tablets</item> (z.B. 10"-Tablet oder höher)</li>
-        </ul>
-
-
-        <h3>Google Play Rezensionen</h3>
-        <p>Google Play hat seine eigene <a href="https://policies.google.com/privacy?hl=de">Datenschutzerklärung</a>.
-            Zusätzlich zum Namen des Rezensenten, der Bewertung und dem Text der Rezension (welche alle öffentlich zugänglich sind),
-            stellt Google dem Entwickler einige oder alle der folgenden Informationen zur Verfügung:</p>
-        <ul>
-            <li><item>Versions-Code</item> (z.B. 7)</li>
-            <li><item>Versions-Name</item> (z.B. 1.6)</li>
-            <li><item>Android-Version</item> (z.B. Android 5.1)</li>
-            <li><item>Gerät</item> (z.B. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Hersteller</item> (z.B. Samsung)</li>
-            <li><item>Gerätetyp</item> (z.B. Mobiltelefon)</li>
-            <li><item>CPU-Fabrikat</item> (z.B. Samsung)</li>
-            <li><item>CPU-Model</item> (z.B. Exynos 7420)</li>
-            <li><item>Bildschirm-Auflösung</item> (z.B. 560 dpi)</li>
-            <li><item>Bildschirm-Grösse</item> (z.B. 2560 x 1440)</li>
-            <li><item>RAM</item> (z.B. 4096 MB)</li>
-            <li><item>Native Plattform</item> (z.B. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>OpenGL ES Version</item> (z.B. 3.1)</li>
-            <li><item>Geräte-Sprache</item> (z.B. Englisch)</li>
-        </ul>
-
-
-        <h3>Werbeeinblendungen</h3>
-        <p>Privacy Browser Free blendet einen Werbebanner unten am Bildschirm ein und verwendet hierfür Googles Netzwerk AdMob,
-            dessen eigene Datenschutzbestimmungen <a href="https://policies.google.com/privacy">hier zu finden sind</a>.
-            Die Ausspielung dieser Werbebanner erfolgt dabei <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">nicht-personalisiert</a>.
-            AdMob überträgt zudem <em>anonymisierte Zusammenfassungen</em> folgender Informationen an die Entwickler:</p>
-        <ul>
-            <li><item>Totale Besuche</item></li>
-            <li><item>Totale Klicks</item></li>
-            <li><item>Platform</item> (z.B. High-End Smartphones, Tablets)</li>
-            <li><item>Aktivitäten nach Ländern</item></li>
-        </ul>
-
-
-        <h3>Direkte Kommunikation</h3>
-        <p>Benutzer können z.B. per Email und Kommentaren auf <a href="https://www.stoutner.com/">stoutner.com</a> direkt mit Stoutner Kontakt aufnehmen.</p>
-
-        <h3>Daten-Nutzung</h3>
-        <p><strong class="blue">Stoutner kann diese Informationen nutzen, um die Entwicklung von Privacy Browser zu unterstützen und den Status des Projekts an Benutzer zu melden.</strong>
-            <strong class="red">Stoutner wird die Informationen niemals verkaufen oder an Dritte weitergeben, welche diese für Anzeigen oder Marketing nutzen.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revision 1.7, 14. Mai 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/en/about_permissions.html b/app/src/free/assets/en/about_permissions.html
deleted file mode 100644 (file)
index 74f8356..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-  Copyright © 2016-2021 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Have full network access</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Required for the WebView to access the internet. Without this permission, Privacy Browser would be “No Browser: Protecting Your Privacy by Staying Completely Off the Internet”.</p>
-
-        <h3>Install shortcuts</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Required to add shortcuts for websites to the launcher desktop.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>In addition, Privacy Browser Free displays ads from Google’s AdMob network. For the free flavor, AdMob adds the following permissions even though they are not listed in the source code
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">manifest file</a>.</p>
-
-        <h3>View network connections</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Allows the ads to tell when you are connected to the internet and when you aren’t (presumably so they don’t try to reload an ad when you are disconnected).
-            They can also tell if you are connected via Wi-Fi, 2G, 3G, 4G, etc.</p>
-
-        <h3>Prevent phone from sleeping</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Allows the ads to keep the processor from sleeping and the screen from dimming, although in my testing I don’t think the ads actually do this.</p>
-
-        <h3>Run at startup</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Lets AdMob start when the phone boots even if you don't open Privacy Browser Free. This is a concerning permission because it can allow Google to spy on you.
-            I would either like to find a different ad provider or drop the free flavor of Privacy Browser entirely.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/en/about_privacy_policy.html b/app/src/free/assets/en/about_privacy_policy.html
deleted file mode 100644 (file)
index 6b7a5a1..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser Free</h3>
-        <p><strong class="red">Privacy Browser Free does not collect any user information.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            Google provides <em>anonymized summary installation information</em> to developers, including the number of installs organized by the following categories.</p>
-        <ul>
-            <li><item>Android version</item> (eg. Android 7.1)</li>
-            <li><item>Device</item> (eg. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablets</item> (eg. Tablets 10" and above)</li>
-            <li><item>Country</item> (eg. United States)</li>
-            <li><item>Language</item> (eg. English [United States])</li>
-            <li><item>App version</item> (eg. 14)</li>
-            <li><item>Carrier</item> (eg. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Google Play Ratings</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            Google provides developers with <em>anonymized summaries</em> of the following information related to user ratings.</p>
-        <ul>
-            <li><item>Country</item> (eg. United States)</li>
-            <li><item>Language</item> (eg. English)</li>
-            <li><item>App version</item> (eg. 14)</li>
-            <li><item>Android version</item> (eg. Android 7.1)</li>
-            <li><item>Device</item> (eg. Google Nexus 5X [bullhead])</li>
-            <li><item>Tablets</item> (eg. Tablets 10" and above)</li>
-        </ul>
-
-
-        <h3>Google Play Reviews</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            In addition to the name of the reviewer, the rating, and the text of the review (which are all available publicly), Google provides some or all of the following information to the developer.</p>
-        <ul>
-            <li><item>Version code</item> (eg. 7)</li>
-            <li><item>Version name</item> (eg. 1.6)</li>
-            <li><item>Android version</item> (eg. Android 5.1)</li>
-            <li><item>Device</item> (eg. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Manufacturer</item> (eg. Samsung)</li>
-            <li><item>Device type</item> (eg. Phone)</li>
-            <li><item>CPU make</item> (eg. Samsung)</li>
-            <li><item>CPU model</item> (eg. Exynos 7420)</li>
-            <li><item>Screen density</item> (eg. 560 dpi)</li>
-            <li><item>Screen size</item> (eg. 2560 x 1440)</li>
-            <li><item>RAM</item> (eg. 4096 MB)</li>
-            <li><item>Native platform</item> (eg. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>OpenGL ES version</item> (eg. 3.1)</li>
-            <li><item>Device language</item> (eg. English)</li>
-        </ul>
-
-
-        <h3>Advertisements</h3>
-        <p>Privacy Browser Free displays a banner ad across the bottom of the screen using Google's AdMob network,
-            which has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            These ads are set to be <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">non-personalized</a>.
-            AdMob reports <em>anonymized summaries</em> of the following information to developers.</p>
-        <ul>
-            <li><item>Total impressions</item></li>
-            <li><item>Total clicks</item></li>
-            <li><item>Platforms</item> (eg. high-end mobile devices, tablets)</li>
-            <li><item>Activity by country</item></li>
-        </ul>
-
-
-        <h3>Direct Communications</h3>
-        <p>Users may choose to send direct communications to Stoutner, like email messages and comments on <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-
-        <h3>Use of Information</h3>
-        <p><strong class="blue">Stoutner may use this information to assist in the development of Privacy Browser and communicate the status of the project to users.</strong>
-            <strong class="red">Stoutner will never sell this information nor transfer it to any third party that would use it for advertising or marketing.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revision 1.7, 14 May 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/es/about_permissions.html b/app/src/free/assets/es/about_permissions.html
deleted file mode 100644 (file)
index 9713959..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
-  Copyright © 2017-2021 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2017-2019,2021 Jose A. León.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Tener acceso completo a la red</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Requerido para que WebView consiga acceso a internet. Sin este permiso, Navegador Privado sería, “Sin Navegador: Protegiendo su privacidad estando completamente desconectado de internet”.</p>
-
-        <h3>Instalar accesos directos</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Requerido para añadir accesos directos de páginas web en el escritorio.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>Además, la versión libre de Navegador Privado muestra anuncios de la red AdMob de Google. Para la versión gratuita, AdMob añade los siguientes permisos, aunque no aparecen en el archivo de manifiesto
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">del código fuente</a>.</p>
-
-        <h3>Ver conexiones de red</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Permite a los anuncios saber si el dispositivo está conectado a internet y cuando no (probablemente para no tratar de recargar un anuncio cuando está desconectado).
-            También les permite saber si está conectado por wifi, 2G, 3G, 4G, etcétera.</p>
-
-        <h3>Impedir que el teléfono entre en modo de suspensión</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Permite a los anuncios impedir al procesador dormir y a la pantalla atenuar, aunque en mis pruebas no parece que los anuncios lo hagan así.</p>
-
-        <h3>Ejecutar al inicio</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Permite que AdMob se inicie cuando el teléfono arranca, incluso si no se abre la versión gratuita de Navegador Privado. Este es un permiso preocupante porque puede permitir que Google te espíe.
-            Me gustaría encontrar un proveedor de publicidad diferente o abandonar la versión gratuita de Navegador Privado por completo.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/es/about_privacy_policy.html b/app/src/free/assets/es/about_privacy_policy.html
deleted file mode 100644 (file)
index 91844d2..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2017-2018 Jose A. León.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Navegador Privado Gratuito</h3>
-        <p><strong class="red">Navegador Privado Gratuito no recoge ninguna información del usuario.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play tiene su <a href="https://policies.google.com/privacy">propia política de privacidad</a>.
-            Google proporciona <em>información resumida y anónima de instalación</em> a los desarrolladores, incluyendo el número de instalaciones, organizadas por las siguientes categorías.</p>
-        <ul>
-            <li><item>Versión de Android</item> (p.ej. Android 7.1)</li>
-            <li><item>Dispositivo</item> (p.ej. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tabletas</item> (p.ej. Tabletas de 10" o más)</li>
-            <li><item>País</item> (p.ej. Estados Unidos)</li>
-            <li><item>Lenguaje</item> (p.ej. Inglés [Estados Unidos])</li>
-            <li><item>Versión de app</item> (p.ej. 14)</li>
-            <li><item>Proveedor</item> (p.ej. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Calificaciones de Google Play</h3>
-        <p>Google Play tiene su <a href="https://policies.google.com/privacy">propia política de privacidad</a>.
-            Google proporciona a los desarrolladores <em>resúmenes anónimos</em> de la siguiente información relativa a las valoraciones de los usuarios.</p>
-        <ul>
-            <li><item>País</item> (p.ej. Estados Unidos)</li>
-            <li><item>Lenguaje</item> (p.ej. Inglés)</li>
-            <li><item>Versión de app</item> (p.ej. 14)</li>
-            <li><item>Versión de Android</item> (p.ej. Android 7.1)</li>
-            <li><item>Dispositivo</item> (p.ej. Google Nexux 5X [bullhead])</li>
-            <li><item>Tabletas</item> (p.ej. Tabletas de 10" o más)</li>
-        </ul>
-
-
-        <h3>Comentarios de Google Play</h3>
-        <p>Google Play tiene su <a href="https://policies.google.com/privacy">propia política de privacidad</a>.
-            Además del nombre del comentador, la calificación y el texto del comentario (las cuales están disponibles públicamente),
-            Google proporciona alguna o toda la siguiente información al desarrollador.</p>
-        <ul>
-            <li><item>Código de versión</item> (p.ej. 7)</li>
-            <li><item>Nombre de versión</item> (p.ej. 1.6)</li>
-            <li><item>Versión de Android</item> (p.ej. Android 5.1)</li>
-            <li><item>Dispositivo</item> (p.ej. Galaxy S6 Edge+ [zenitel])</li>
-            <li><item>Fabricante</item> (p.ej. Samsung)</li>
-            <li><item>Tipo de dispositivo</item> (p.ej. Teléfono)</li>
-            <li><item>Fabricante de CPU</item> (p.ej. Samsung)</li>
-            <li><item>Modelo de CPU</item> (p.ej. Exynos 7420)</li>
-            <li><item>Densidad de pantalla</item> (p.ej. 560 dpi)</li>
-            <li><item>Tamaño de pantalla</item> (p.ej. 2560 x 1440)</li>
-            <li><item>RAM</item> (p.ej. 4096 MB)</li>
-            <li><item>Plataforma nativa</item> (p.ej. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>Versión de OpenGL ES</item> (p.ej. 3.1)</li>
-            <li><item>Lenguaje del dispositivo</item> (p.ej. Inglés)</li>
-        </ul>
-
-
-        <h3>Anuncios</h3>
-        <p>Navegador Privado Gratuito muestra un banner publicitario en la parte inferior de la pantalla mediante la red AdMob de Google,
-            que tiene su <a href="https://policies.google.com/privacy">propia política de privacidad</a>.
-            Estos anuncios están configurados para ser <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">no personalizados</a>.
-            AdMob reporta <em>resúmenes anónimos</em> de la siguiente información a los desarrolladores.</p>
-        <ul>
-            <li><item>Impresiones totales</item></li>
-            <li><item>Clicks totales</item></li>
-            <li><item>Plataformas</item> (p.ej. dispositivos móviles de gama alta, tabletas)</li>
-            <li><item>Actividad por país</item></li>
-        </ul>
-
-
-        <h3>Comunicaciones directas</h3>
-        <p>Los usuarios pueden elegir enviar comunicaciones directas a Stoutner, como mensajes de correo electrónico y comentarios en <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-        <h3>Uso de Información</h3>
-        <p><strong class="blue">Stoutner puede utilizar esta información para ayudar en el desarrollo de Navegador Privado y comunicar el estado del proyecto a los usuarios.</strong>
-            <strong class="red">Stoutner nunca vendrá la información ni la transferirá a ninguna tercera parte que la pudiera usar para publicidad o marketing.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revisión 1.7, 14 de mayo de 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/fr/about_permissions.html b/app/src/free/assets/fr/about_permissions.html
deleted file mode 100644 (file)
index fb5caaa..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<!--
-  Copyright © 2016-2021 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019,2021 Kévin L. <kevinliste@framalistes.org>.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Disposer d'un accès réseau complet</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Requis pour que WebView puisse accéder à Internet. Sans cette autorisation, Privacy Browser serait «No Browser: protégez votre vie privée en restant complètement hors d'Internet».</p>
-
-        <h3>Installer les raccourcis</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Requis pour ajouter des raccourcis pour les sites Web au bureau du programme de lancement.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>En outre, Privacy Browser Free affiche des publicités provenant du réseau AdMob de Google.
-            Pour la version gratuite, AdMob ajoute les autorisations suivantes, même si elles ne sont pas répertoriées dans le code source
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">fichier de manifeste</a>.</p>
-
-        <h3>Afficher les connexions réseau</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Permet aux annonces de dire quand vous êtes connecté à Internet et quand vous n'êtes pas (vraisemblablement pour ne pas essayer de recharger une annonce lorsque vous êtes déconnecté).
-             Ils peuvent également savoir si vous êtes connecté via Wi-Fi, 2G, 3G, 4G, etc.</p>
-
-        <h3>Empêcher le téléphone de dormir</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Permet aux annonces d'empêcher le processeur de dormir et l'éclairage de l'écran, bien que lors de mes tests, je ne pense pas que les annonces le fassent réellement.</p>
-
-        <h3>Lancer au démarrage</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Laisser AdMob démarrer au démarrage du téléphone même si vous n'ouvrez pas Privacy Browser Free. C'est une permission inquiétante car elle peut permettre à Google de vous espionner.
-            J'aimerais soit trouver un autre fournisseur de publicité, soit abandonner entièrement la version gratuite de Privacy Browser.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/fr/about_privacy_policy.html b/app/src/free/assets/fr/about_privacy_policy.html
deleted file mode 100644 (file)
index 18322cd..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019 Kévin L. <kevinliste@framalistes.org>.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser</h3>
-        <p><strong class="red">Privacy Browser ne collecte aucune information sur l'utilisateur.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play a sa <a href="https://policies.google.com/privacy"> propre règle de confidentialité </a>.
-            Google fournit aux développeurs des <em>informations d'installation récapitulatives et anonymisées</em>, notamment le nombre d'installations organisées selon les catégories suivantes.</p>
-        <ul>
-            <li><item>Version d'Android</item> (ex. Android 7.1)</li>
-            <li><item>Terminal</item> (ex. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablettes</item> (ex. Tablettes 10" et plus)</li>
-            <li><item>Pays</item> (ex. France)</li>
-            <li><item>Langage</item> (ex. Français [Canada])</li>
-            <li><item>Version d'Application</item> (ex. 14)</li>
-            <li><item>Opérateur</item> (eg. Orange - FR)</li>
-        </ul>
-
-
-        <h3>Notes Google Play</h3>
-        <p>Google Play a sa <a href="https://policies.google.com/privacy">propre règle de confidentialité </a>.
-            Google fournit aux développeurs des <em>résumés anonymisés</em> des informations suivantes relatives aux évaluations des utilisateurs.</p>
-        <ul>
-            <li><item>Pays</item> (ex. France)</li>
-            <li><item>Langage</item> (ex. Français [Canada])</li>
-            <li><item>Version d'Application</item> (ex. 14)</li>
-            <li><item>Version d'Android</item> (ex. Android 7.1)</li>
-            <li><item>Terminal</item> (ex. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablettes</item> (ex. Tablettes 10" et plus)</li>
-        </ul>
-
-
-        <h3>Avis Google Play</h3>
-        <p>Google Play a sa <a href="https://policies.google.com/privacy">propre règle de confidentialité</a>.
-            Outre le nom du réviseur, l'évaluation et le texte de la révision (tous disponibles publiquement), Google fournit au développeur tout ou partie des informations suivantes.</p>
-        <ul>
-            <li><item>Code de Version</item> (ex. 7)</li>
-            <li><item>Nom de Version</item> (ex. 1.6)</li>
-            <li><item>Version d'Android</item> (ex. Android 7.1)</li>
-            <li><item>Terminal</item> (ex. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Constructeur</item> (ex. Samsung)</li>
-            <li><item>Type de terminal</item> (ex. Phone)</li>
-            <li><item>La marque du processeur</item> (ex. Samsung)</li>
-            <li><item>Le modèle de processeur</item> (ex. Exynos 7420)</li>
-            <li><item>Densité d'affichage</item> (ex. 560 dpi)</li>
-            <li><item>Taille d'écran</item> (ex. 2560 x 1440)</li>
-            <li><item>RAM</item> (ex. 4096 MB)</li>
-            <li><item>Plateforme native</item> (ex. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>Version OpenGL ES</item> (ex. 3.1)</li>
-            <li><item>Langage du terminal</item> (ex. English)</li>
-        </ul>
-
-
-        <h3>Annonces</h3>
-        <p>Privacy Browser Free affiche une bannière publicitaire en bas de l'écran à l'aide du réseau AdMob de Google,
-            qui a sa <a href="https://policies.google.com/privacy">propre politique de confidentialité</a>.
-            Ces annonces sont définies pour être <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">non-personalisées</a>.
-            AdMob transmet aux développeurs des <em>résumés anonymisés</em> des informations suivantes.</p>
-        <ul>
-            <li><item>Total d'affichages</item></li>
-            <li><item>Total de clicks</item></li>
-            <li><item>Plateformes</item> (par exemple, appareils mobiles haut de gamme, tablettes)</li>
-            <li><item>Activié par pays</item></li>
-        </ul>
-
-
-        <h3>Communications directes</h3>
-        <p>Les utilisateurs peuvent choisir d'envoyer des communications directes à Stoutner, telles que des courriels et des commentaires sur <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-
-        <h3>Utilisation de l'information</h3>
-        <p><strong class="blue">Stoutner peut utiliser ces informations pour contribuer au développement de Privacy Browser et communiquer le statut du projet aux utilisateurs.</strong>
-            <strong class="red"> Stoutner ne vendra jamais ces informations ni ne les transférera à des tiers qui les utiliseraient à des fins publicitaires ou marketing.</strong> </p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revision 1.7, 14 Mai 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/it/about_permissions.html b/app/src/free/assets/it/about_permissions.html
deleted file mode 100644 (file)
index b453f79..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
-  Copyright © 2017-2021 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2017-2019,2021 Francesco Buratti.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Accesso completo alla rete</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>E' richiesto per permettere l'accesso Internet a WebView. Senza questo permesso, Privacy Browser sarebbe “Nessun Browser: Protegge la tua Privacy restando completamente isolato da Internet”.</p>
-
-        <h3>Creazione di collegamenti</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>E' richiesto per poter creare collegamenti a siti web sulla schermata principale del dispositivo.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>Oltre a questo, Privacy Browser Free mostra gli annunci da Google’s AdMob network. Per la versione Free, AdMob aggiunge i seguenti permessi anche se essi non sono elencati nel codice sorgente, nel
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">file manifest</a>.</p>
-
-        <h3>Visualizzare connessioni di rete</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Permette agli annunci di dire quando si è o non si è connessi a internet (presumibilmente per evitare il tentativo di ricaricare un annuncio quando non si è connessi).
-            Gli annunci possono anche dire se si è connessi via Wi-Fi, 2G, 3G, 4G, ecc.</p>
-
-        <h3>Impedire al dispositivo di entrare in modalità sleeping</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Permette agli annunci di impedire al processore di entrare in modalità sleeping e allo schermo di spegnersi, anche se dopo vari test eseguiti non sembra che il comportamento sia questo.</p>
-
-        <h3>Esecuzione in avvio</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Permette l'avvio di AdMob quando si avvia il dispositivo anche se non è ancora stato aperto Privacy Browser Free. Questo è un permesso pericoloso perché può permettere a Google di spiare l'utente.
-            Sarebbe quindi meglio trovare un provider diverso o dismettere completamente la versione free di Privacy Browser.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/it/about_privacy_policy.html b/app/src/free/assets/it/about_privacy_policy.html
deleted file mode 100644 (file)
index 53aaa81..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2017-2018 Francesco Buratti.  Copyright assigned to 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser Free</h3>
-        <p><strong class="red">Privacy Browser Free non raccoglie alcuna informazione dagli utenti.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play ha una <a href="https://policies.google.com/privacy">propria privacy policy</a>.
-            Google fornisce agli sviluppatori <em>informazioni anonime sulle installazioni</em>, incluso il numero di installazioni, secondo le seguenti categorie.</p>
-        <ul>
-            <li><item>Versione Android</item> (es. Android 7.1)</li>
-            <li><item>Dispositivo</item> (es. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablet</item> (es. Tablet 10" o superiore)</li>
-            <li><item>Nazione</item> (es. United States)</li>
-            <li><item>Lingua</item> (es. English [United States])</li>
-            <li><item>Versione App</item> (es. 14)</li>
-            <li><item>Vettore</item> (es. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Ratings di Google Play</h3>
-        <p>Google Play ha una <a href="https://policies.google.com/privacy">propria privacy policy</a>.
-            Google fornisce agli sviluppatori <em>sintesi anonime</em> delle seguenti informazioni collegate ai ratings degli utenti.</p>
-        <ul>
-            <li><item>Nazione</item> (es. United States)</li>
-            <li><item>Lingua</item> (es. English)</li>
-            <li><item>Versione App</item> (es. 14)</li>
-            <li><item>Versione Android</item> (es. Android 7.1)</li>
-            <li><item>Dispositivo</item> (es. Google Nexus 5X [bullhead])</li>
-            <li><item>Tablet</item> (es. Tablets 10" o superiore)</li>
-        </ul>
-
-
-        <h3>Recensioni di Google Play</h3>
-        <p>Google Play ha una <a href="https://policies.google.com/privacy">propria privacy policy</a>.
-            Oltre al nome del recensore, al rating, e al testo della recensione (i quali sono tutti pubblicamente disponibili), Google fornisce alcune o tutte le seguenti informazioni allo sviluppatore.</p>
-        <ul>
-            <li><item>Codice Versione</item> (es. 7)</li>
-            <li><item>Nome Versione</item> (es. 1.6)</li>
-            <li><item>Versione Android</item> (es. Android 5.1)</li>
-            <li><item>Dispositivo</item> (es. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Costruttore</item> (es. Samsung)</li>
-            <li><item>Tipo di dispositivo</item> (es. SmartPhone)</li>
-            <li><item>Produttore CPU</item> (es. Samsung)</li>
-            <li><item>Modello CPU</item> (es. Exynos 7420)</li>
-            <li><item>Risoluzione schermo</item> (es. 560 dpi)</li>
-            <li><item>Dimensione Schermo</item> (es. 2560 x 1440)</li>
-            <li><item>RAM</item> (es. 4096 MB)</li>
-            <li><item>Piattaforma nativa</item> (es. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>Versione OpenGL ES</item> (es. 3.1)</li>
-            <li><item>Lingua del dispositivo</item> (es. English)</li>
-        </ul>
-
-
-        <h3>Annunci</h3>
-        <p>Privacy Browser Free mostra un banner pubblicitario nella parte inferiore dello schermo utilizzando la Google's AdMob network,
-            che ha una propria <a href="https://policies.google.com/privacy">privacy policy</a>.
-            Questi annunci sono impostati in modo da essere <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">non-personalizzati</a>.
-            AdMob fornisce agli sviluppatori <em>sintesi anonime</em> delle seguenti informazioni.</p>
-        <ul>
-            <li><item>Numero totale di visualizzazioni</item></li>
-            <li><item>Numero totale di click</item></li>
-            <li><item>Piattaforme</item> (es. dispositivi mobili, tablet)</li>
-            <li><item>Attività per Nazione</item></li>
-        </ul>
-
-
-        <h3>Comunicazioni Dirette</h3>
-        <p>E' possibile inviare comunicazioni dirette a Stoutner, ad esempio email o commenti su <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-
-        <h3>Utilizzo delle informazioni</h3>
-        <p><strong class="blue">Stoutner si riserva l'utilizzo di queste informazioni come supporto per lo sviluppo di Privacy Browser e per comunicazioni sullo stato del progetto verso gli utenti.</strong>
-            <strong class="red">Stoutner non rivenderà o comunque non trasferirà mai nessuna informazione a terze parti che potrebbero utilizzarle a scopi pubblicitari o di marketing.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revisione 1.7, 14 Maggio 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/pt-rBR/about_permissions.html b/app/src/free/assets/pt-rBR/about_permissions.html
deleted file mode 100644 (file)
index 74f8356..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-  Copyright © 2016-2021 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Have full network access</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Required for the WebView to access the internet. Without this permission, Privacy Browser would be “No Browser: Protecting Your Privacy by Staying Completely Off the Internet”.</p>
-
-        <h3>Install shortcuts</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Required to add shortcuts for websites to the launcher desktop.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>In addition, Privacy Browser Free displays ads from Google’s AdMob network. For the free flavor, AdMob adds the following permissions even though they are not listed in the source code
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">manifest file</a>.</p>
-
-        <h3>View network connections</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Allows the ads to tell when you are connected to the internet and when you aren’t (presumably so they don’t try to reload an ad when you are disconnected).
-            They can also tell if you are connected via Wi-Fi, 2G, 3G, 4G, etc.</p>
-
-        <h3>Prevent phone from sleeping</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Allows the ads to keep the processor from sleeping and the screen from dimming, although in my testing I don’t think the ads actually do this.</p>
-
-        <h3>Run at startup</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Lets AdMob start when the phone boots even if you don't open Privacy Browser Free. This is a concerning permission because it can allow Google to spy on you.
-            I would either like to find a different ad provider or drop the free flavor of Privacy Browser entirely.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/pt-rBR/about_privacy_policy.html b/app/src/free/assets/pt-rBR/about_privacy_policy.html
deleted file mode 100644 (file)
index 6b7a5a1..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser Free</h3>
-        <p><strong class="red">Privacy Browser Free does not collect any user information.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            Google provides <em>anonymized summary installation information</em> to developers, including the number of installs organized by the following categories.</p>
-        <ul>
-            <li><item>Android version</item> (eg. Android 7.1)</li>
-            <li><item>Device</item> (eg. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tablets</item> (eg. Tablets 10" and above)</li>
-            <li><item>Country</item> (eg. United States)</li>
-            <li><item>Language</item> (eg. English [United States])</li>
-            <li><item>App version</item> (eg. 14)</li>
-            <li><item>Carrier</item> (eg. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Google Play Ratings</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            Google provides developers with <em>anonymized summaries</em> of the following information related to user ratings.</p>
-        <ul>
-            <li><item>Country</item> (eg. United States)</li>
-            <li><item>Language</item> (eg. English)</li>
-            <li><item>App version</item> (eg. 14)</li>
-            <li><item>Android version</item> (eg. Android 7.1)</li>
-            <li><item>Device</item> (eg. Google Nexus 5X [bullhead])</li>
-            <li><item>Tablets</item> (eg. Tablets 10" and above)</li>
-        </ul>
-
-
-        <h3>Google Play Reviews</h3>
-        <p>Google Play has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            In addition to the name of the reviewer, the rating, and the text of the review (which are all available publicly), Google provides some or all of the following information to the developer.</p>
-        <ul>
-            <li><item>Version code</item> (eg. 7)</li>
-            <li><item>Version name</item> (eg. 1.6)</li>
-            <li><item>Android version</item> (eg. Android 5.1)</li>
-            <li><item>Device</item> (eg. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Manufacturer</item> (eg. Samsung)</li>
-            <li><item>Device type</item> (eg. Phone)</li>
-            <li><item>CPU make</item> (eg. Samsung)</li>
-            <li><item>CPU model</item> (eg. Exynos 7420)</li>
-            <li><item>Screen density</item> (eg. 560 dpi)</li>
-            <li><item>Screen size</item> (eg. 2560 x 1440)</li>
-            <li><item>RAM</item> (eg. 4096 MB)</li>
-            <li><item>Native platform</item> (eg. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>OpenGL ES version</item> (eg. 3.1)</li>
-            <li><item>Device language</item> (eg. English)</li>
-        </ul>
-
-
-        <h3>Advertisements</h3>
-        <p>Privacy Browser Free displays a banner ad across the bottom of the screen using Google's AdMob network,
-            which has its <a href="https://policies.google.com/privacy">own privacy policy</a>.
-            These ads are set to be <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">non-personalized</a>.
-            AdMob reports <em>anonymized summaries</em> of the following information to developers.</p>
-        <ul>
-            <li><item>Total impressions</item></li>
-            <li><item>Total clicks</item></li>
-            <li><item>Platforms</item> (eg. high-end mobile devices, tablets)</li>
-            <li><item>Activity by country</item></li>
-        </ul>
-
-
-        <h3>Direct Communications</h3>
-        <p>Users may choose to send direct communications to Stoutner, like email messages and comments on <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-
-        <h3>Use of Information</h3>
-        <p><strong class="blue">Stoutner may use this information to assist in the development of Privacy Browser and communicate the status of the project to users.</strong>
-            <strong class="red">Stoutner will never sell this information nor transfer it to any third party that would use it for advertising or marketing.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revision 1.7, 14 May 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/ru/about_permissions.html b/app/src/free/assets/ru/about_permissions.html
deleted file mode 100644 (file)
index 41ab881..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
-  Copyright © 2016-2021 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Полный доступ к сети</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>Требуется для доступа WebView к интернету. Без этого разрешения Privacy Browser будет отображать “Нет браузера: угрозы вашей конфиденциальности нет из-за отсутствия доступа к интернету”.</p>
-
-        <h3>Установка ярлыков</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Требуется для добавления ярлыков веб-сайтов на главный экран.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>Кроме того, в Privacy Browser Free отображается реклама из сети Google AdMob.
-            Для бесплатного варианта браузера, AdMob добавляет следующие разрешения, даже если они не перечислены в файле исходного кода
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">манифеста</a>.</p>
-
-        <h3>Просмотр сетевых подключений</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Позволяет рекламе узнавать наличие подключения к интернету (возможно, таким образом предотвращаются попытки загрузки рекламы при отсутствии активного соединения).
-            Кроме того, передается тип подключения - Wi-Fi, 2G, 3G, 4G, и т.д.</p>
-
-        <h3>Предотвращение засыпания устройства</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Позволяет рекламе предотвращать переход процессора в режим сна и экран от выключения. Результаты тестировании не свидетельствуют о том, что реклама на самом деле это делает.</p>
-
-        <h3>Запуск при загрузке</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Обеспечивает запуск AdMob при загрузке телефона, даже если вы не открываете Privacy Browser Free.
-            Это разрешение вызывает беспокойство, поскольку Google может шпионить за вами.
-            Я хотел бы либо найти другого рекламного провайдера или полностью отказаться от бесплатного варианта Privacy Browser.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/ru/about_privacy_policy.html b/app/src/free/assets/ru/about_privacy_policy.html
deleted file mode 100644 (file)
index ed07eed..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser</h3>
-        <p><strong class="red">Privacy Browser не собирает никакой пользовательской информации.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play имеет <a href="https://policies.google.com/privacy">собственную политику конфиденциальности</a>.
-            Google предоставляет разработчикам <em>сводную анонимизированную информацию об установке</em>, включающую их количество, организованную по следующим категориям.</p>
-        <ul>
-            <li><item>Версия Android</item> (напр. Android 7.1)</li>
-            <li><item>Устройство</item> (напр. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Планшеты</item> (напр. Tablets 10" и выше)</li>
-            <li><item>Страна</item> (напр. Russian Federation)</li>
-            <li><item>Язык</item> (напр. Russian)</li>
-            <li><item>Версия приложения</item> (напр. 14)</li>
-            <li><item>Оператор</item> (напр. Beeline - RU)</li>
-        </ul>
-
-
-        <h3>Рейтинги Google Play</h3>
-        <p>Google Play имеет <a href="https://policies.google.com/privacy">собственную политику конфиденциальности</a>.
-            Google предоставляет разработчикам <em>анонимизированные сводки</em> следующей информации, связанной с пользовательскими рейтингами.</p>
-        <ul>
-            <li><item>Страна</item> (напр. Russian Federation)</li>
-            <li><item>Язык</item> (напр. Russian)</li>
-            <li><item>Версия приложения</item> (напр. 14)</li>
-            <li><item>Версия Android</item> (напр. Android 7.1)</li>
-            <li><item>Устройство</item> (напр. Google Nexus 5X [bullhead])</li>
-            <li><item>Планшеты</item> (напр. Tablets 10" и выше)</li>
-        </ul>
-
-
-        <h3>Отзывы Google Play</h3>
-        <p>Google Play имеет <a href="https://policies.google.com/privacy">собственную политику конфиденциальности</a>.
-            Помимо имени автора отзыва, оценки и текста отзыва (все они доступны публично), Google предоставляет разработчику некоторую или всю следующую информацию.</p>
-        <ul>
-            <li><item>Код версии</item> (напр. 7)</li>
-            <li><item>Имя версии</item> (напр. 1.6)</li>
-            <li><item>Версия Android</item> (напр. Android 5.1)</li>
-            <li><item>Устройство</item> (напр. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Производитель</item> (напр. Samsung)</li>
-            <li><item>Тип устройства</item> (напр. Phone)</li>
-            <li><item>Производитель CPU</item> (напр. Samsung)</li>
-            <li><item>Модель CPU</item> (напр. Exynos 7420)</li>
-            <li><item>Разрешение экрана</item> (напр. 560 dpi)</li>
-            <li><item>Размер экрана</item> (напр. 2560 x 1440)</li>
-            <li><item>ОЗУ</item> (напр. 4096 MB)</li>
-            <li><item>Собственная платформа</item> (напр. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>Версия OpenGL ES</item> (напр. 3.1)</li>
-            <li><item>Язык устройства</item> (напр. Russian)</li>
-        </ul>
-
-
-        <h3>Реклама</h3>
-        <p>Privacy Browser Free отображает рекламный баннер в нижней части экрана с помощью сети Google AdMob,
-            которая имеет <a href="https://policies.google.com/privacy">собственную политику конфиденциальности</a>.
-            Эта реклама <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">не персонализируется</a>.
-            AdMob отправляет <em>анонимные отчеты</em> разработчикам, содержащие следующую информацию.</p>
-        <ul>
-            <li><item>Всего показов</item></li>
-            <li><item>Всего кликов</item></li>
-            <li><item>Платформы</item> (напр. высокопроизводительные мобильные устройства, планшеты)</li>
-            <li><item>Активность по странам</item></li>
-        </ul>
-
-
-        <h3>Прямая связь</h3>
-        <p>Пользователи могут напрямую связаться со Stoutner при помощи электронной почты и комментариев на <a href="https://www.stoutner.com/">stoutner.com</a>.</p>
-
-
-        <h3>Использование информации</h3>
-        <p><strong class="blue">Stoutner может использовать эту информацию, как помощь в разработке Privacy Browser и сообщать о статусе проекта пользователям.</strong>
-            <strong class="red">Stoutner никогда не будет продавать эту информацию или передавать ее третьей стороне, которая использовала бы ее для рекламы или маркетинга.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Ревизия 1.7, 14 мая 2019 года</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/tr/about_permissions.html b/app/src/free/assets/tr/about_permissions.html
deleted file mode 100644 (file)
index 8bdd19a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-  Copyright © 2016-2021 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Tam ağ erişimine sahip olma</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INTERNET">android.permission.INTERNET</a></p>
-        <p>WebView’ın internete erişimi için gereklidir. Bu izin olmadan, Privacy Browser, “İnternet Olmadan Gizliliğinizi Koruyan Bir Tarayıcı” olacaktır.</p>
-
-        <h3>Kısayolları yükleme</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#INSTALL_SHORTCUT">com.android.launcher.permission.INSTALL_SHORTCUT</a></p>
-        <p>Başlatıcı masaüstüne web sayfalarının kısayollarını eklemek için gereklidir.</p>
-
-        <br/>
-        <hr/>
-        <br/>
-
-        <p>In addition, Privacy Browser Free displays ads from Google’s AdMob network. For the free flavor, AdMob adds the following permissions even though they are not listed in the source code
-            <a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=blob;f=app/src/main/AndroidManifest.xml;hb=HEAD">manifest file</a>.</p>
-
-        <h3>Ağ bağlantılarını görüntüle</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE">android.permission.ACCESS_NETWORK_STATE</a></p>
-        <p>Reklamların, internet erişimine ne zaman sahip olup olmadığınızı bilmesine izin verir (internet erişiminiz yoksa muhtemelen reklamı tekrar yüklemeyi denemezler).
-            Ayrıca internete Wi-Fi, 2g, 3g, 4g vs. bağlantı şekillerinden hangisiyle bağlandığınızı da anlayabilirler.</p>
-
-        <h3>Telefonun uyku moduna geçmesini engelleme</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK">android.permission.WAKE_LOCK</a></p>
-        <p>Reklamların, işlemcinin uyku moduna geçmesini ve ekranın kararmasını engellemesine izin verir. Kişisel deneyimime göre reklamların bunu yapabileceğini sanmıyorum.</p>
-
-        <h3>Run at startup</h3>
-        <p><a href="https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED">android.permission.RECEIVE_BOOT_COMPLETED</a></p>
-        <p>Lets AdMob start when the phone boots even if you don't open Privacy Browser Free. This is a concerning permission because it can allow Google to spy on you.
-            I would either like to find a different ad provider or drop the free flavor of Privacy Browser entirely.</p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/assets/tr/about_privacy_policy.html b/app/src/free/assets/tr/about_privacy_policy.html
deleted file mode 100644 (file)
index 210267b..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
-  Copyright © 2016-2018,2020 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/>. -->
-
-<html>
-    <head>
-        <meta charset="UTF-8">
-
-        <link rel="stylesheet" href="../css/theme.css">
-
-        <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
-        <meta name="color-scheme" content="light dark">
-    </head>
-
-    <body>
-        <h3>Privacy Browser</h3>
-        <p><strong class="red">Privacy Browser herhangi bir kullanıcı bilgisi toplamaz.</strong></p>
-
-
-        <h3>Google Play</h3>
-        <p>Google Play <a href="https://policies.google.com/privacy">kendisine özgü gizlilik politikasına sahiptir</a>.
-            Google, aşağıdaki kategorilerce düzenlenen, indirme sayıları da dahil, <em>anonimleştirilmiş özet kurulum bilgilerini</em> geliştiricilere verir.</p>
-        <ul>
-            <li><item>Android versiyonu</item> (örn. Android 7.1)</li>
-            <li><item>Cihaz</item> (örn. Samsung Galaxy S6 [zeroflte])</li>
-            <li><item>Tabletler</item> (örn. Tablets 10" ve üzeri)</li>
-            <li><item>Ülke</item> (örn. Amerika Birleşik Devletleri)</li>
-            <li><item>Dil</item> (örn. İngilizce [Amerika Birleşik Devletleri])</li>
-            <li><item>Uygulama versiyonu</item> (örn. 14)</li>
-            <li><item>Telefon operatörü</item> (örn. T-Mobile - US)</li>
-        </ul>
-
-
-        <h3>Google Play Derecelendirmeleri</h3>
-        <p>Google Play <a href="https://policies.google.com/privacy">kendisine özgü gizlilik politikasına sahiptir</a>.
-            Google, kullanıcı değerlendirmeleriyle ilişkili aşağıdaki bilgilerin <em>anonimleştirilmiş özetlerini</em> geliştiricilere verir.</p>
-        <ul>
-            <li><item>Ülke</item> (örn. Amerika Birleşik Devletleri)</li>
-            <li><item>Dil</item> (örn. İngilizce)</li>
-            <li><item>Uygulama versiyonu</item> (örn. 14)</li>
-            <li><item>Android versiyonu</item> (örn. Android 7.1)</li>
-            <li><item>Cihaz</item> (örn. Google Nexus 5X [bullhead])</li>
-            <li><item>Tabletler</item> (örn. Tablets 10" ve üzeri)</li>
-        </ul>
-
-
-        <h3>Google Play Kritikleri</h3>
-        <p>Google Play <a href="https://policies.google.com/privacy">kendisine özgü gizlilik politikasına sahiptir</a>.
-            Google, inceleme yapan kişinin ismine, değerlendirmeye ve inceleme metninine (tümü halka açıktır) ek olarak, aşağıdaki bilgilerin bir kısmını ya da tamamını geliştiricilere verir.</p>
-        <ul>
-            <li><item>Versiyon kodu</item> (örn. 7)</li>
-            <li><item>Versiyon adı</item> (örn. 1.6)</li>
-            <li><item>Android versiyonu</item> (örn. Android 5.1)</li>
-            <li><item>Cihaz</item> (örn. Galaxy S6 Edge+ [zenlte])</li>
-            <li><item>Üretici</item> (örn. Samsung)</li>
-            <li><item>Cihaz tipi</item> (örn. Telefon)</li>
-            <li><item>CPU markası</item> (örn. Samsung)</li>
-            <li><item>CPU modeli</item> (örn. Exynos 7420)</li>
-            <li><item>Piksel yoğunluğu</item> (örn. 560 dpi)</li>
-            <li><item>Ekran boyutu</item> (örn. 2560 x 1440)</li>
-            <li><item>RAM</item> (örn. 4096 MB)</li>
-            <li><item>Native platformu</item> (örn. armeabi-v7a,armeabi,arm64v8a)</li>
-            <li><item>OpenGL ES versiyonu</item> (örn. 3.1)</li>
-            <li><item>Cihaz dili</item> (örn. İngilizce)</li>
-        </ul>
-
-
-        <h3>Reklamlar</h3>
-        <p>Privacy Browser Ücretsiz, Google'ın, <a href="https://policies.google.com/privacy">kendisine özgü gizlilik politikası olan</a>
-            AdMob ağını kullanarak ekranın alt kısmında bir banner reklam gösterir.
-            Bu reklamlar <a href="https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent">kişiselleştirilmemiş</a> olarak ayarlanmıştır.
-            AdMob, geliştiricilere aşağıdaki bilgilerin <em>anonimleştirilmiş özetlerini</em> rapor eder.</p>
-        <ul>
-            <li><item>Toplam gösterimler</item></li>
-            <li><item>Toplam tıklamalar</item></li>
-            <li><item>Platformlar</item> (örn. en üst seviye mobil cihazlar, tabletler)</li>
-            <li><item>Ülkeye göre etkinlik</item></li>
-        </ul>
-
-
-        <h3>Doğrudan İletişim</h3>
-        <p>Kullanıcılar, <a href="https://www.stoutner.com/">stoutner.com</a> üzerinden Stoutner ile doğrudan iletişime (E-posta atmak ya da yorum yapmak gibi) geçebilir.</p>
-
-
-        <h3>Bilgilerin Kullanımı</h3>
-        <p><strong class="blue">Stoutner bu bilgileri, Privacy Browser'ın geliştirilmesine yardımcı olması ve kullanıcılarla projenin durumuyla ilgili iletişime geçmek için kullanabilir.</strong>
-            <strong class="red">Stoutner asla bu bilgileri, reklam ve pazarlama için kullanacak üçüncü kişilere vermez ya da satmaz.</strong></p>
-
-        <hr />
-        <p style="text-align: center;"><em>Revizyon 1.7, 14 Mayıs 2019</em></p>
-    </body>
-</html>
\ No newline at end of file
diff --git a/app/src/free/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt b/app/src/free/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt
deleted file mode 100644 (file)
index f22367c..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright © 2018-2021 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/>.
- */
-
-package com.stoutner.privacybrowser.dialogs
-
-import android.app.Dialog
-import android.content.DialogInterface
-import android.os.Build
-import android.os.Bundle
-import android.view.WindowManager
-
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.DialogFragment
-import androidx.preference.PreferenceManager
-
-import com.stoutner.privacybrowser.R
-import com.stoutner.privacybrowser.helpers.AdConsentDatabaseHelper
-import com.stoutner.privacybrowser.helpers.AdHelper
-import kotlin.system.exitProcess
-
-class AdConsentDialog : DialogFragment() {
-    // Declare the class variables.
-    private lateinit var adConsentDatabaseHelper: AdConsentDatabaseHelper
-
-    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-        // Use a builder to create the alert dialog.
-        val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
-
-        // Set the icon according to the theme.
-        dialogBuilder.setIconAttribute(R.attr.blockAdsBlueIcon)
-
-        // Initialize the bookmarks database helper.
-        adConsentDatabaseHelper = AdConsentDatabaseHelper(requireContext())
-
-        // Set the title.
-        dialogBuilder.setTitle(R.string.ad_consent)
-
-        // Set the text.
-        dialogBuilder.setMessage(R.string.ad_consent_text)
-
-        // Set the close browser button.
-        dialogBuilder.setNegativeButton(R.string.close_browser) { _: DialogInterface?, _: Int ->
-            // Update the ad consent database.
-            adConsentDatabaseHelper.updateAdConsent(false)
-
-            // Close the browser.  `finishAndRemoveTask` also removes Privacy Browser from the recent app list.
-            if (Build.VERSION.SDK_INT >= 21) {
-                requireActivity().finishAndRemoveTask()
-            } else {
-                requireActivity().finish()
-            }
-
-            // Remove the terminated program from RAM.  The status code is `0`.
-            exitProcess(0)
-        }
-
-        // Set the accept ads button.
-        dialogBuilder.setPositiveButton(R.string.accept_ads) { _: DialogInterface?, _: Int ->
-            // Update the ad consent database.
-            adConsentDatabaseHelper.updateAdConsent(true)
-
-            // Load an ad.
-            AdHelper.loadAd(requireActivity().findViewById(R.id.adview), requireContext(), requireActivity(), getString(R.string.ad_unit_id))
-        }
-
-        // Create an alert dialog from the alert dialog builder.
-        val alertDialog = dialogBuilder.create()
-
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot preference.
-        val allowScreenshots = sharedPreferences.getBoolean(getString(R.string.allow_screenshots_key), false)
-
-        // Disable screenshots if not allowed.
-        if (!allowScreenshots) {
-            // Disable screenshots.
-            alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
-        }
-
-        // Return the alert dialog.
-        return alertDialog
-    }
-
-    // Close Privacy Browser Free if the dialog is cancelled without selecting a button (by tapping on the background).
-    override fun onCancel(dialogInterface: DialogInterface) {
-        // Update the ad consent database.
-        adConsentDatabaseHelper.updateAdConsent(false)
-
-        // Close the browser.  `finishAndRemoveTask()` also removes Privacy Browser from the recent app list.
-        if (Build.VERSION.SDK_INT >= 21) {
-            requireActivity().finishAndRemoveTask()
-        } else {
-            requireActivity().finish()
-        }
-
-        // Remove the terminated program from RAM.  The status code is `0`.
-        exitProcess(0)
-    }
-}
\ No newline at end of file
diff --git a/app/src/free/java/com/stoutner/privacybrowser/helpers/AdConsentDatabaseHelper.kt b/app/src/free/java/com/stoutner/privacybrowser/helpers/AdConsentDatabaseHelper.kt
deleted file mode 100644 (file)
index 8499d55..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright © 2018,2021 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/>.
- */
-
-package com.stoutner.privacybrowser.helpers
-
-import android.content.ContentValues
-import android.content.Context
-import android.database.sqlite.SQLiteDatabase
-import android.database.sqlite.SQLiteOpenHelper
-
-// Define the class constants.
-private const val SCHEMA_VERSION = 1
-private const val AD_CONSENT_DATABASE = "ad_consent.db"
-private const val AD_CONSENT_TABLE = "ad_consent"
-private const val ID = "_id"
-private const val AD_CONSENT = "ad_consent"
-private const val CREATE_AD_CONSENT_TABLE = "CREATE TABLE $AD_CONSENT_TABLE ($ID INTEGER PRIMARY KEY, $AD_CONSENT BOOLEAN)"
-
-class AdConsentDatabaseHelper (context: Context) : SQLiteOpenHelper(context, AD_CONSENT_DATABASE, null, SCHEMA_VERSION) {
-    override fun onCreate(adConsentDatabase: SQLiteDatabase) {
-        // Create the ad consent table.
-        adConsentDatabase.execSQL(CREATE_AD_CONSENT_TABLE)
-
-        // Create an ad consent content values.
-        val adConsentContentValues = ContentValues()
-
-        // Populate the ad consent content values with the default data.
-        adConsentContentValues.put(AD_CONSENT, false)
-
-        // Insert a new row.  The second argument is `null`, which makes it so that a completely null row cannot be created.
-        adConsentDatabase.insert(AD_CONSENT_TABLE, null, adConsentContentValues)
-    }
-
-    override fun onUpgrade(adConsentDatabase: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
-        // Code for upgrading the database will be added here if the schema version ever increases above 1.
-    }
-
-    // Check to see if ad consent has been granted.
-    val isGranted: Boolean get() {
-        // Get a readable database handle.
-        val adConsentDatabase = this.readableDatabase
-
-        // Get the ad consent cursor.
-        val adConsentCursor = adConsentDatabase.rawQuery("SELECT * FROM $AD_CONSENT_TABLE", null)
-
-        // Move the cursor to the first entry.
-        adConsentCursor.moveToFirst()
-
-        // Get the ad consent boolean.
-        val adConsent = adConsentCursor.getInt(adConsentCursor.getColumnIndex(AD_CONSENT)) == 1
-
-        // Close the cursor.
-        adConsentCursor.close()
-
-        // Close the database.
-        adConsentDatabase.close()
-
-        // Return the ad consent boolean.
-        return adConsent
-    }
-
-    // Update the ad consent.
-    fun updateAdConsent(adConsent: Boolean) {
-        // Get a writable database handle.
-        val adConsentDatabase = this.writableDatabase
-
-        // Set the ad consent integer according to the boolean.
-        val adConsentInt = if (adConsent) 1 else 0
-
-        // Update the ad consent in the database.
-        adConsentDatabase.execSQL("UPDATE $AD_CONSENT_TABLE SET $AD_CONSENT = $adConsentInt")
-
-        // Close the database.
-        adConsentDatabase.close()
-    }
-}
\ No newline at end of file
diff --git a/app/src/free/java/com/stoutner/privacybrowser/helpers/AdHelper.kt b/app/src/free/java/com/stoutner/privacybrowser/helpers/AdHelper.kt
deleted file mode 100644 (file)
index 84c1b49..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright © 2016-2021 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/>.
- */
-
-package com.stoutner.privacybrowser.helpers
-
-import android.app.Activity
-import android.content.Context
-import android.os.Bundle
-import android.util.DisplayMetrics
-import android.view.View
-import android.widget.RelativeLayout
-
-import androidx.fragment.app.FragmentManager
-
-import com.google.ads.mediation.admob.AdMobAdapter
-import com.google.android.gms.ads.AdRequest
-import com.google.android.gms.ads.AdSize
-import com.google.android.gms.ads.AdView
-import com.google.android.gms.ads.MobileAds
-
-import com.stoutner.privacybrowser.R
-import com.stoutner.privacybrowser.dialogs.AdConsentDialog
-
-object AdHelper {
-    // Define the class variables.
-    private var initialized = false
-
-    // The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-    @JvmStatic
-    fun initializeAds(view: View, context: Context, activity: Activity, fragmentManager: FragmentManager, adUnitId: String) {
-        // Check to see if the ads have been initialized.
-        if (!initialized) {  // This is the first run; the ads have not yet been initialized.
-            // Initialize mobile ads.
-            MobileAds.initialize(context)
-
-            // Initialize the bookmarks database helper.
-            val adConsentDatabaseHelper = AdConsentDatabaseHelper(context)
-
-            // Check to see if consent has been granted.
-            val adConsentGranted = adConsentDatabaseHelper.isGranted
-
-            // Display the ad consent dialog if needed.
-            if (!adConsentGranted) {  // Ad consent has not been granted.
-                // Instantiate the ad consent dialog.
-                val adConsentDialogFragment = AdConsentDialog()
-
-                // Display the ad consent dialog.
-                adConsentDialogFragment.show(fragmentManager,"Ad Consent")
-            } else {  // Ad consent has already been granted.
-                // Load an ad.
-                loadAd(view, context, activity, adUnitId)
-            }
-
-            // Set the initialized variable to true so this section doesn't run again.
-            initialized = true
-        } else {  // Ads have previously been initialized.
-            // Load an ad.
-            loadAd(view, context, activity, adUnitId)
-        }
-    }
-
-    // The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-    @JvmStatic
-    fun loadAd(view: View, context: Context, activity: Activity, adUnitId: String) {
-        // Cast the generic view to an AdView.
-        var adView = view as AdView
-
-        // Save the layout parameters.  They are used when programatically recreating the ad below.
-        val adViewLayoutParameters = adView.layoutParams as RelativeLayout.LayoutParams
-
-        // Get a handle for the ad view parent.
-        val adViewParentLayout = adView.parent as RelativeLayout
-
-        // Remove the AdView.
-        adViewParentLayout.removeView(adView)
-
-        // Create a new AdView.  This is necessary because the size can change when the device is rotated.
-        adView = AdView(context)
-
-        // Set the ad unit ID.
-        adView.adUnitId = adUnitId
-
-        //  Set the view ID.
-        adView.id = R.id.adview
-
-        // Set the layout parameters.
-        adView.layoutParams = adViewLayoutParameters
-
-        // Add the new ad view to the parent layout.
-        adViewParentLayout.addView(adView)
-
-        // Get a handle for the display.  Once the minimum API >= 30, this should be changed to `context.getDisplay()`.
-        @Suppress("DEPRECATION") val display = activity.windowManager.defaultDisplay
-
-        // Initialize a display metrics.
-        val displayMetrics = DisplayMetrics()
-
-        // Get the display metrics from the display.  Once the minimum APO >= 30, this should be replaced with `WindowMetrics.getBounds()` and `Configuration.densityDpi`.
-        @Suppress("DEPRECATION")
-        display.getMetrics(displayMetrics)
-
-        // Get the width pixels and the density.
-        val widthPixels = displayMetrics.widthPixels.toFloat()
-        val density = displayMetrics.density
-
-        // Calculate the ad width.
-        val adWidth = (widthPixels / density).toInt()
-
-        // Get the ad size.
-        val adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adWidth)
-
-        // Set the ad size on the adView.
-        adView.adSize = adSize
-
-        // Create an ad settings bundle.
-        val adSettingsBundle = Bundle()
-
-        // Only request non-personalized ads.  <https://developers.google.com/ad-manager/mobile-ads-sdk/android/eu-consent#forward-consent>
-        adSettingsBundle.putString("npa", "1")
-
-        // Build the ad request.
-        val adRequest = AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, adSettingsBundle).build()
-
-        // Make it so.
-        adView.loadAd(adRequest)
-    }
-
-    // The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-    // This method exists here for the sake of consistency with the following two methods.
-    @JvmStatic
-    fun hideAd(view: View) {
-        // Cast the generic view to an AdView.
-        val adView = view as AdView
-
-        // Hide the ad.
-        adView.visibility = View.GONE
-    }
-
-    // The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-    // This method exists here so that the main WebView activity doesn't need to import `com.google.android.gms.ads.AdView`.
-    @JvmStatic
-    fun pauseAd(view: View) {
-        // Cast The generic view to an AdView.
-        val adView = view as AdView
-
-        // Pause the AdView.
-        adView.pause()
-    }
-
-    // The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-    // This method exists here so that the main WebView activity doesn't need to import `com.google.android.gms.ads.AdView`.
-    @JvmStatic
-    fun resumeAd(view: View) {
-        // Cast the generic view to an AdView.
-        val adView = view as AdView
-
-        // Resume the AdView.
-        adView.resume()
-    }
-}
\ No newline at end of file
diff --git a/app/src/free/res/drawable/privacy_browser_foreground.xml b/app/src/free/res/drawable/privacy_browser_foreground.xml
deleted file mode 100644 (file)
index cb1baa1..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="108dp"
-    android:width="108dp"
-    android:viewportHeight="523.63635"
-    android:viewportWidth="523.63635" >
-
-    <group
-        android:translateX="133.81818"
-        android:translateY="133.81818" >
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
-            android:fillColor="#0d4781"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
-            android:fillColor="#1976d2"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
-            android:fillColor="#ffffff"
-            android:fillAlpha="1" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="M50.491,201.267h155.02v54.763h-155.02z"
-            android:strokeAlpha="1"
-            android:strokeWidth="0.74080104"
-            android:fillColor="#b71c1c"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m65.675,212.543h24.609v6.921L75.672,219.465v5.625h12.48v6.504L75.672,231.593L75.672,244.755h-9.998z"
-            android:strokeAlpha="1"
-            android:strokeLineJoin="miter"
-            android:strokeWidth="1"
-            android:fillColor="#ffffff"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1"
-            android:strokeLineCap="butt" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="M95.821,244.755L95.821,212.543L112.41,212.543q4.614,0 7.053,0.791 2.439,0.791 3.933,2.944 1.494,2.131 1.494,5.208 0,2.681 -1.143,4.636 -1.143,1.934 -3.142,3.142 -1.274,0.769 -3.494,1.274 1.78,0.593 2.593,1.187 0.549,0.396 1.582,1.692 1.055,1.296 1.406,2l4.812,9.338h-11.25l-5.317,-9.844q-1.011,-1.912 -1.802,-2.483 -1.077,-0.747 -2.439,-0.747L105.819,231.681L105.819,244.755ZM105.819,225.595h4.197q0.681,0 2.637,-0.439 0.989,-0.198 1.604,-1.011 0.637,-0.813 0.637,-1.868 0,-1.56 -0.989,-2.395 -0.989,-0.835 -3.713,-0.835h-4.373z"
-            android:strokeAlpha="1"
-            android:strokeLineJoin="miter"
-            android:strokeWidth="1"
-            android:fillColor="#ffffff"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1"
-            android:strokeLineCap="butt" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m130.648,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L140.623,231.11L140.623,237.46h17.183v7.295h-27.158z"
-            android:strokeAlpha="1"
-            android:strokeLineJoin="miter"
-            android:strokeWidth="1"
-            android:fillColor="#ffffff"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1"
-            android:strokeLineCap="butt" />
-
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
-        <path
-            android:pathData="m163.167,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L173.143,231.11L173.143,237.46h17.183v7.295h-27.158z"
-            android:strokeAlpha="1"
-            android:strokeLineJoin="miter"
-            android:strokeWidth="1"
-            android:fillColor="#ffffff"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1"
-            android:strokeLineCap="butt" />
-    </group>
-</vector>
diff --git a/app/src/free/res/layout/adview_bottom_appbar.xml b/app/src/free/res/layout/adview_bottom_appbar.xml
deleted file mode 100644 (file)
index bd037ad..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2016-2017,2019-2021 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/>. -->
-
-<!-- The ad size must be specified below to prevent an error being displayed on first app launch.  <https://redmine.stoutner.com/issues/675> -->
-<com.google.android.gms.ads.AdView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ads="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/adview"
-    android:layout_height="wrap_content"
-    android:layout_width="match_parent"
-    android:layout_alignParentTop="true"
-    ads:adUnitId="@string/ad_unit_id"
-    ads:adSize="SMART_BANNER" />
\ No newline at end of file
diff --git a/app/src/free/res/layout/adview_top_appbar.xml b/app/src/free/res/layout/adview_top_appbar.xml
deleted file mode 100644 (file)
index f0e4825..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2016-2017,2019-2021 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/>. -->
-
-<!-- The ad size must be specified below to prevent an error being displayed on first app launch.  <https://redmine.stoutner.com/issues/675> -->
-<com.google.android.gms.ads.AdView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ads="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/adview"
-    android:layout_height="wrap_content"
-    android:layout_width="match_parent"
-    android:layout_alignParentBottom="true"
-    ads:adUnitId="@string/ad_unit_id"
-    ads:adSize="SMART_BANNER" />
\ No newline at end of file
diff --git a/app/src/free/res/mipmap-hdpi/privacy_browser.png b/app/src/free/res/mipmap-hdpi/privacy_browser.png
deleted file mode 100644 (file)
index 9e97de7..0000000
Binary files a/app/src/free/res/mipmap-hdpi/privacy_browser.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-hdpi/privacy_browser_round.png b/app/src/free/res/mipmap-hdpi/privacy_browser_round.png
deleted file mode 100644 (file)
index 8b9a78e..0000000
Binary files a/app/src/free/res/mipmap-hdpi/privacy_browser_round.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-mdpi/privacy_browser.png b/app/src/free/res/mipmap-mdpi/privacy_browser.png
deleted file mode 100644 (file)
index 7f44c76..0000000
Binary files a/app/src/free/res/mipmap-mdpi/privacy_browser.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-mdpi/privacy_browser_round.png b/app/src/free/res/mipmap-mdpi/privacy_browser_round.png
deleted file mode 100644 (file)
index b708a71..0000000
Binary files a/app/src/free/res/mipmap-mdpi/privacy_browser_round.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xhdpi/privacy_browser.png b/app/src/free/res/mipmap-xhdpi/privacy_browser.png
deleted file mode 100644 (file)
index e088e12..0000000
Binary files a/app/src/free/res/mipmap-xhdpi/privacy_browser.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xhdpi/privacy_browser_round.png b/app/src/free/res/mipmap-xhdpi/privacy_browser_round.png
deleted file mode 100644 (file)
index 98e1d6b..0000000
Binary files a/app/src/free/res/mipmap-xhdpi/privacy_browser_round.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xxhdpi/privacy_browser.png b/app/src/free/res/mipmap-xxhdpi/privacy_browser.png
deleted file mode 100644 (file)
index 0ed53bc..0000000
Binary files a/app/src/free/res/mipmap-xxhdpi/privacy_browser.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xxhdpi/privacy_browser_round.png b/app/src/free/res/mipmap-xxhdpi/privacy_browser_round.png
deleted file mode 100644 (file)
index caaefec..0000000
Binary files a/app/src/free/res/mipmap-xxhdpi/privacy_browser_round.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xxxhdpi/privacy_browser.png b/app/src/free/res/mipmap-xxxhdpi/privacy_browser.png
deleted file mode 100644 (file)
index 37c6258..0000000
Binary files a/app/src/free/res/mipmap-xxxhdpi/privacy_browser.png and /dev/null differ
diff --git a/app/src/free/res/mipmap-xxxhdpi/privacy_browser_round.png b/app/src/free/res/mipmap-xxxhdpi/privacy_browser_round.png
deleted file mode 100644 (file)
index ccfd19a..0000000
Binary files a/app/src/free/res/mipmap-xxxhdpi/privacy_browser_round.png and /dev/null differ
diff --git a/app/src/free/res/values-de/strings.xml b/app/src/free/res/values-de/strings.xml
deleted file mode 100644 (file)
index f4bf046..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019 Bernhard G. Keller.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2018 Stefan Erhardt.  Copyright assigned to 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Free</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Mit Privacy Browser Free öffnen.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Free zeigt Werbung im unteren Teil des Displays. Diese wird von Google aus einem Pool an häufig verwendeten Anbietern ausgewählt und ist nicht personalisiert.
-        \n\nDie Standard-Version von Privacy Browser enthält diese Werbebanner nicht.</string>
-    <string name="close_browser">Browser schließen</string>
-    <string name="accept_ads">Werbung zustimmen</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-es/strings.xml b/app/src/free/res/values-es/strings.xml
deleted file mode 100644 (file)
index c8d3b31..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2017-2019 Jose A. León.  Copyright assigned to 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Navegador Privado Gratuito</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Abrir con Navegador Privado Gratuito.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Navegador Privado Gratuíto muestra un anuncio de banner en la parte inferior de la pantalla.
-        Estos anuncios proceden del conjunto de proveedores habituales de Google y están configurados para que no sean personalizados.
-        \n\nLa versión estándar de Navegador Privado no contiene anuncios de aplicaciones.</string>
-    <string name="close_browser">Cerrar el navegador</string>
-    <string name="accept_ads">Aceptar anuncios</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-fr/strings.xml b/app/src/free/res/values-fr/strings.xml
deleted file mode 100644 (file)
index d1175ff..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2019 Kévin L. <kevinliste@framalistes.org>.  Copyright assigned to 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/>. -->
-
-<!-- `tools:ignore="MissingTranslation"` allows release APKs to be built if translation strings are missing.  The missing strings will fall back to English. -->
-<resources
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="MissingTranslation" >
-
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Free</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Ouvrir avec Privacy Browser Free.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Free affiche une bannière publicitaire en bas de l\'écran.
-         Ces annonces proviennent des fournisseurs de Google couramment utilisés et sont configurées pour être non personnalisées.
-         \n\nLa version standard de Privacy Browser ne contient pas d\'annonces d\'applications.</string>
-    <string name="close_browser">Fermer le navigateur</string>
-    <string name="accept_ads">Accepter les annonces</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-it/strings.xml b/app/src/free/res/values-it/strings.xml
deleted file mode 100644 (file)
index d0050d3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2018-2019 Francesco Buratti.  Copyright assigned to 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Free</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Apri con Privacy Browser Free.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Free mostra un banner pubblicitario nella parte inferiore dello schermo.
-        Questi annunci provengono dai provider normalmente utilizzati da Google e sono configurati in modo da non essere personalizzati.
-        \n\nLa versione standard di Privacy Browser non contiene annunci di applicazioni.</string>
-    <string name="close_browser">Chiudi il Browser</string>
-    <string name="accept_ads">Accetta gli Annunci</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-pt-rBR/strings.xml b/app/src/free/res/values-pt-rBR/strings.xml
deleted file mode 100644 (file)
index 63aaceb..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
-  Translation 2020 Thiago Nazareno Conceição Silva de Jesus <mochileiro2006-trilhas@yahoo.com.br>.  Copyright assigned to 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Gratuito</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Abrir com Privacy Browser Gratuito.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Gratuito exibe um anúncio de banner na parte inferior da tela.
-        Esses anúncios vêm do conjunto de provedores comumente usados do Google e são configurados para não serem personalizados.
-        \n\nA versão padrão do Privacy Browser não contém anúncios de aplicativos.</string>
-    <string name="close_browser">Fechar Navegador</string>
-    <string name="accept_ads">Aceitar Anúncios</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-ru/strings.xml b/app/src/free/res/values-ru/strings.xml
deleted file mode 100644 (file)
index 48dbc07..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Free</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Открыть в Privacy Browser Free.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Free отображает рекламный баннер в нижней части экрана.
-        Эта реклама поступает от Google и настроена так, чтобы исключить персонализацию.
-        \n\nСтандартная версия Privacy Browser не содержит рекламы приложений.</string>
-    <string name="close_browser">Закрыть браузер</string>
-    <string name="accept_ads">Разрешить рекламу</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values-tr/strings.xml b/app/src/free/res/values-tr/strings.xml
deleted file mode 100644 (file)
index d416485..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 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/>. -->
-
-<resources>
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Ücretsiz</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Privacy Browser Ücretsiz ile aç.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Ücretsiz ekranın altında bir banner reklam gösterir.
-    Bu reklamlar, Google\'ın sık kullanılan sağlayıcılarından gelmektedir ve kişiselleştirilmeyecek şekilde yapılandırılmıştır.
-    \n\nPrivacy Browser standart versiyonu uygulama reklamları içermez.</string>
-    <string name="close_browser">Tarayıcıyı kapat</string>
-    <string name="accept_ads">Reklamları kabul et</string>
-</resources>
\ No newline at end of file
diff --git a/app/src/free/res/values/strings.xml b/app/src/free/res/values/strings.xml
deleted file mode 100644 (file)
index 4cbb628..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2015-2019 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/>. -->
-
-<!-- `tools:ignore="MissingTranslation"` allows release APKs to be built if translation strings are missing.  The missing strings will fall back to English. -->
-<resources
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="MissingTranslation" >
-
-    <!-- Providers. -->
-    <string name="file_provider" translatable="false">com.stoutner.privacybrowser.fileprovider.free</string>
-
-    <!-- Activities. -->
-    <string name="privacy_browser">Privacy Browser Free</string>
-
-    <!-- Create Home Screen Shortcut Alert Dialog. -->
-    <string name="open_with_privacy_browser">Open with Privacy Browser Free.</string>
-
-    <!-- Ad Consent. -->
-    <string name="ad_consent_text">Privacy Browser Free displays a banner ad on the bottom of the screen.
-        These ads come from Google’s set of commonly used providers and are configured to be non-personalized.
-        \n\nThe standard version of Privacy Browser does not contain app ads.</string>
-    <string name="close_browser">Close Browser</string>
-    <string name="accept_ads">Accept Ads</string>
-
-    <!-- Ad Control. -->
-    <string name="google_app_id" translatable="false">ca-app-pub-5962503714887045~2738552414</string>
-    <string name="ad_unit_id" translatable="false">ca-app-pub-5962503714887045/2738552414</string>
-
-    <!-- Test Ad Control.
-    <string name="google_app_id" translatable="false">ca-app-pub-3940256099942544~3347511713</string>
-    <string name="ad_unit_id" translatable="false">ca-app-pub-3940256099942544/6300978111</string> -->
-</resources>
\ No newline at end of file
index dcaf4fff2d81e6a421eb674f4974decdc46a0215..f7673d2d49191b4d9103aa35c8bc0e84d7195ce6 100644 (file)
@@ -33,8 +33,8 @@
     </head>
 
     <body>
-        <h3>3.9 (version code 57)</h3>
-        <p>27. November 2021 - Mindest-API 19, Ziel-API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (version code 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27. November 2021</a> - Mindest-API 19, Ziel-API 31</p>
         <ul>
             <li>Simplify the <a href="https://redmine.stoutner.com/issues/769">save dialogs</a>.</li>
             <li>Display the saved file name in the <a href="https://redmine.stoutner.com/issues/695">save snackbars</a>.</li>
index cee060636eb9be71467beb82032ba244c632c006..ef57d64f376e6a7b34a63f3126991b48ae2b286c 100644 (file)
@@ -66,9 +66,9 @@
             Die geänderte Datei wird unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+-Lizenz</a> veröffentlicht.</p>
 
         <h3>Icons:</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> are derived from <code>security</code> and <code>language</code>,
-            which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            are derived from <code>security</code> and <code>language</code>, which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
             The full text of the license is below. Modifications copyright © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting images are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> is derived from elements of <code>folder</code> and <code>exit_to_app</code>,
index 05b16d4b59abe8bd1c5c3abb4b1d7f8f760a30d6..871c317a8793f13dba594b8e40a6617f1d692ea0 100644 (file)
@@ -27,8 +27,8 @@
     </head>
 
     <body>
-        <h3>3.9 (version code 57)</h3>
-        <p>27 November 2021 - minimum API 19, target API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (version code 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 November 2021</a> - minimum API 19, target API 31</p>
         <ul>
             <li>Simplify the <a href="https://redmine.stoutner.com/issues/769">save dialogs</a>.</li>
             <li>Display the saved file name in the <a href="https://redmine.stoutner.com/issues/695">save snackbars</a>.</li>
index 7b604061910413800fef93eeed7592854a4a5c05..1f9f2d9326b11bca3c010551215689e7596cc06f 100644 (file)
@@ -63,9 +63,9 @@
             The modified file is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
 
         <h3>Icons</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> are derived from <code>security</code> and <code>language</code>,
-            which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            are derived from <code>security</code> and <code>language</code>, which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
             The full text of the license is below. Modifications copyright © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting images are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> is derived from elements of <code>folder</code> and <code>exit_to_app</code>,
index b18205221c8de21b4bf4a6af9a16416137d20a4b..926ca202ba3e7724d9fca6b08cc173a730a2cfe5 100644 (file)
@@ -29,8 +29,8 @@
     </head>
 
     <body>
-        <h3>3.9 (código de versión 57)</h3>
-        <p>27 de noviembre de 2021 - API mínimo 19, API objetivo 30</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (código de versión 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 de noviembre de 2021</a> - API mínimo 19, API objetivo 30</p>
         <ul>
             <li>Simplificar los <a href="https://redmine.stoutner.com/issues/769">diálogos de guardado</a>.</li>
             <li>Mostrar el nombre del archivo guardado en las <a href="https://redmine.stoutner.com/issues/695">barras de herramientas de guardado</a>.</li>
index b0d9e30c4fe1454d249716fc649281da41432f16..443248fecd6324af02cae06e7b75a5754d71a142 100644 (file)
             El archivo modificado se libera bajo la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licencia GPLv3+</a>.</p>
 
         <h3>Iconos</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> derivan de <code>security</code> y de <code>language</code>,
-            que son parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a>
-            y son liberados bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            derivan de <code>security</code> y de <code>language</code>, que son parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a> y son liberados bajo la
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
             El texto completo de la licencia se encuentra debajo. Copyright de modificaciones © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Las imágenes resultantes se liberan bajo la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licencia GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> deriva de elementos de <code>folder</code> y <code>exit_to_app</code>, que son parte del
index 58191639ebdaf9aa9c2b82865eb80fc39dc3b737..3dc88131dda40cb17461addad68eb41800cbe049 100644 (file)
@@ -29,8 +29,8 @@
     </head>
 
     <body>
-        <h3>3.9 (version du code 57)</h3>
-        <p>27 Novembre 2021 - API minimale : 19, API optimale : 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (version du code 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 Novembre 2021</a> - API minimale : 19, API optimale : 31</p>
         <ul>
             <li>Simplifcation des <a href="https://redmine.stoutner.com/issues/769">fenêtres de sauvegarde</a>.</li>
             <li>Affichage du nom du fichier sauvegardé dans les <a href="https://redmine.stoutner.com/issues/695">écrans d'enregistrement</a>.</li>
index 15ec5a082395a1e748c96fb094827141fb40e8a3..e5dc94051a447a676e42f5cc5e4ceae3788a7989 100644 (file)
             Le fichier modifié est publié sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>.</p>
 
         <h3>Icônes</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"> <img class="left" src="../shared_images/privacy_browser_free.svg"> <img class="left" src="../shared_images/warning.svg">
-            <img class="left" src="../shared_images/javascript_enabled.svg"> sont dérivés de <code>security</code> et de <code>language</code>,
-            qui font partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a>
-            et sont publiés sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"> <img class="left" src="../shared_images/warning.svg"> <img class="left" src="../shared_images/javascript_enabled.svg"> sont dérivés de
+            <code>security</code> et de <code>language</code>, qui font partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous la
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
             Le texte complet de la licence est ci-dessous. Modifications copyright © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Les images résultantes sont publiées sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> est dérivé des éléments <code>folder</code> et <code>exit_to_app</code>,
index 066d14abe3b3fb580f9589db560ff8c3f036f7e0..16ebc1c6accecf763f6badfba54a1a86814f16f3 100644 (file)
@@ -29,8 +29,8 @@
     </head>
 
     <body>
-        <h3>3.9 (versione codice 57)</h3>
-        <p>27 Novembre 2021 - minima API 19, target API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (versione codice 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 Novembre 2021</a> - minima API 19, target API 31</p>
         <ul>
             <li>Semplificazione delle <a href="https://redmine.stoutner.com/issues/769">finestre di salvataggio</a>.</li>
             <li>Visualizzazione del nome del file salvato nelle <a href="https://redmine.stoutner.com/issues/695">snackbar di salvataggio</a>.</li>
index bcf2d1438eb64e2eca2e27025acb70c9fbeb99ab..6e7ba5ca2be0e59e9f9379101055a0a2cdd9790e 100644 (file)
@@ -68,9 +68,9 @@
             Il file modificato è rilasciato sotto la <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
 
         <h3>Icone</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> sono state derivate da <code>security</code> e <code>language</code>, che fanno parte
-            dell'<a href="https://material.io/icons/">Android Material icon set</a> e sono state rilasciate sotto <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            sono state derivate da <code>security</code> e <code>language</code>, che fanno parte dell'<a href="https://material.io/icons/">Android Material icon set</a> e sono state rilasciate sotto
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
             Il testo completo della Licenza è riportato di seguito. Copyright delle modifiche © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Le immagini risultanti sono rilasciate sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> è stata derivata da elementi di <code>folder</code> e di <code>exit_to_app</code>, che fanno parte
index 08a9cc1809cbab41365690f87502ee64f3b5f209..e6c78f352bb7d7b4027576cbd5d1ca7e0aac4055 100644 (file)
@@ -29,8 +29,8 @@
     </head>
 
     <body>
-        <h3>3.9 (código da versão 57)</h3>
-        <p>27 November 2021 - minimum API 19, target API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (código da versão 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 November 2021</a> - minimum API 19, target API 31</p>
         <ul>
             <li>Simplify the <a href="https://redmine.stoutner.com/issues/769">save dialogs</a>.</li>
             <li>Display the saved file name in the <a href="https://redmine.stoutner.com/issues/695">save snackbars</a>.</li>
index 49e15957b3365e9b582c502a116bb1557fac1608..d3f1f586bf3fce0fa51de24d753992c21d056da7 100644 (file)
@@ -65,9 +65,9 @@
             The modified file is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
 
         <h3>Icons</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> are derived from <code>security</code> and <code>language</code>,
-            which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            are derived from <code>security</code> and <code>language</code>, which are part of the <a href="https://material.io/icons/">Android Material icon set</a> and are released under the
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
             The full text of the license is below. Modifications copyright © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting images are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> is derived from elements of <code>folder</code> and <code>exit_to_app</code>,
index 012d745a63c22576638458aecb80213d65f35daf..573eda6afc0f6cfe38962cfd70292129d0b4979b 100644 (file)
@@ -27,8 +27,8 @@
     </head>
 
     <body>
-        <h3>3.9 (код версии 57)</h3>
-        <p>27 Ноябрь 2021 года - минимальный API 19, целевой API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (код версии 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 Ноябрь 2021 года</a> - минимальный API 19, целевой API 31</p>
         <ul>
             <li>Упрощены <a href="https://redmine.stoutner.com/issues/769">диалоги сохранения</a>.</li>
             <li>Имя сохраняемого файла теперь отображается в <a href="https://redmine.stoutner.com/issues/695">окне панели сохранения</a>.</li>
index 8d1acbf4086874f8af3d078857b90adcc8732f49..982930a8754ad39a0dda2ef6523db9fa22904277 100644 (file)
@@ -63,9 +63,9 @@
             Модифицированный файл выпущен под лицензией <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
 
         <h3>Иконки</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> являются производными от <code>security</code> и <code>language</code>, которые являются частью
-            <a href="https://material.io/icons/">Android Material icon set</a> и выпущены под <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Полный текст лицензии приведен ниже.
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            являются производными от <code>security</code> и <code>language</code>, которые являются частью <a href="https://material.io/icons/">Android Material icon set</a> и выпущены под
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Полный текст лицензии приведен ниже.
             Модификации авторских прав © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Полученные изображения выпущены под <a href="https://www.gnu.org/licenses/gpl-3.0.html">лицензией GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></svg> являются производными от <code>folder</code> и <code>exit_to_app</code>, которые являются частью
diff --git a/app/src/main/assets/shared_images/privacy_browser_free.svg b/app/src/main/assets/shared_images/privacy_browser_free.svg
deleted file mode 100644 (file)
index 053c668..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<!--
-  Copyright © 2016,2020 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  It is derived from `security` and `language`, which are part of the Android Material icon set and are released under the Apache License 2.0.
-
-  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/>. -->
-
-<svg
-  xmlns="http://www.w3.org/2000/svg"
-  viewBox="0 0 256 256" >
-
-  <!-- Inner Shield -->
-  <g transform="translate(0,160)" >
-    <path
-      style="fill:#0d4781"
-      d="m 128,-147.2 -94.254546,41.89091 v 62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 v -62.836368 z" />
-  </g>
-
-  <!-- Shield -->
-  <g transform="translate(0,160)" >
-    <path
-      style="fill:#1976d2"
-      d="m 128,-160 -104.727273,46.54546 v 69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 v -69.818182 z m 0,127.883641 h 81.45454 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 V -31.999996 H 46.545455 V -98.327268 L 128,-134.51636 Z" />
-  </g>
-
-  <!-- Earth -->
-  <g transform="translate(0,232)" >
-    <path
-      style="fill:#ffffff"
-      d="m 127.92021,-183.78553 c -44.041614,0 -79.705747,35.74391 -79.705747,79.78553 0,44.041617 35.664133,79.785537 79.705747,79.785537 44.1214,0 79.86533,-35.74392 79.86533,-79.785537 0,-44.04162 -35.74393,-79.78553 -79.86533,-79.78553 z m 55.29138,47.87132 h -23.53674 c -2.55313,-9.9732 -6.22326,-19.54746 -11.0104,-28.40365 14.68055,5.02648 26.88773,15.23903 34.54714,28.40365 z M 128,-167.50929 c 6.6222,9.57427 11.80825,20.18574 15.23903,31.59508 h -30.47807 c 3.43078,-11.40934 8.61684,-22.02081 15.23904,-31.59508 z M 66.245993,-88.042889 C 64.969425,-93.149168 64.171571,-98.494798 64.171571,-104 c 0,-5.5052 0.797855,-10.85083 2.074422,-15.95711 h 26.96751 c -0.63829,5.26585 -1.117,10.5317 -1.117,15.95711 0,5.425417 0.47872,10.691263 1.117,15.957111 z m 6.542412,15.957108 H 96.32514 c 2.553137,9.973191 6.22327,19.547449 11.0104,28.403644 C 92.655006,-48.708619 80.44782,-58.841391 72.788405,-72.085781 Z M 96.32514,-135.91421 H 72.788405 c 7.659415,-13.2444 19.866601,-23.37717 34.547135,-28.40365 -4.78713,8.85619 -8.457263,18.43045 -11.0104,28.40365 z M 128,-40.49071 c -6.6222,-9.574268 -11.80826,-20.185747 -15.23904,-31.595071 h 30.47807 C 139.80825,-60.676457 134.6222,-50.064978 128,-40.49071 Z m 18.66982,-47.552179 h -37.33964 c -0.71801,-5.265848 -1.27656,-10.531694 -1.27656,-15.957111 0,-5.42541 0.55854,-10.77105 1.27656,-15.95711 h 37.33964 c 0.71811,5.18606 1.27656,10.5317 1.27656,15.95711 0,5.425417 -0.55844,10.691263 -1.27656,15.957111 z m 1.99463,44.360752 c 4.78714,-8.856195 8.45727,-18.430453 11.0104,-28.403644 h 23.53674 c -7.65941,13.164605 -19.86659,23.377162 -34.54714,28.403644 z m 14.12204,-44.360752 c 0.63828,-5.265848 1.117,-10.531694 1.117,-15.957111 0,-5.42541 -0.47871,-10.69126 -1.117,-15.95711 h 26.96752 c 1.27656,5.10628 2.07441,10.45191 2.07441,15.95711 0,5.505202 -0.79784,10.850832 -2.07441,15.957111 z" />
-  </g>
-
-  <!-- Banner -->
-  <g transform="translate(0,232)" >
-    <rect
-      style="fill:#b71c1c"
-      width="155.02031"
-      height="54.763393"
-      x="50.490505"
-      y="-30.732618" />
-
-    <!-- Text -->
-    <g style="fill:#ffffff">
-      <path d="m 65.674561,-19.456879 h 24.609375 v 6.921387 H 75.672119 v 5.6250001 h 12.480469 v 6.50390621 H 75.672119 V 12.755035 h -9.997558 z" />
-      <path d="M 95.821045,12.755035 V -19.456879 H 112.4104 q 4.61426,0 7.05322,0.791016 2.43897,0.791016 3.93311,2.944336 1.49414,2.131348 1.49414,5.207519 0,2.6806645 -1.14258,4.6362309 -1.14258,1.9335938 -3.14209,3.1420898 -1.27441,0.769043 -3.49365,1.2744141 1.77978,0.59326173 2.59277,1.18652344 0.54932,0.39550782 1.58203,1.69189456 1.05469,1.2963867 1.40625,1.9995117 l 4.81202,9.3383785 h -11.25 l -5.31739,-9.8437496 q -1.01074,-1.91162109 -1.80176,-2.48291016 -1.07666,-0.74707031 -2.43896,-0.74707031 H 105.8186 V 12.755035 Z M 105.8186,-6.4051208 h 4.19678 q 0.68115,0 2.63672,-0.4394532 0.98877,-0.1977539 1.604,-1.0107422 0.63721,-0.8129882 0.63721,-1.8676757 0,-1.5600591 -0.98877,-2.3950191 -0.98877,-0.834961 -3.71338,-0.834961 h -4.37256 z" />
-      <path d="m 130.64771,-19.456879 h 26.6748 v 6.877442 h -16.69922 v 5.1196287 h 15.49072 v 6.56982417 H 140.62329 V 5.4601135 h 17.18262 v 7.2949215 h -27.1582 z" />
-      <path d="m 163.16724,-19.456879 h 26.6748 v 6.877442 h -16.69922 v 5.1196287 h 15.49072 v 6.56982417 H 173.14282 V 5.4601135 h 17.18262 v 7.2949215 h -27.1582 z" />
-    </g>
-  </g>
-</svg>
\ No newline at end of file
index d9d7bed56d1e48b6b1caf910a9b57279307273b7..0204635401a1f329a6d4b3776b79e0591d9c3144 100644 (file)
@@ -27,8 +27,8 @@
     </head>
 
     <body>
-        <h3>3.9 (version code 57)</h3>
-        <p>27 November 2021 - minimum API 19, target API 31</p>
+        <h3><a href="https://www.stoutner.com/privacy-browser-3-9/">3.9</a> (version code 57)</h3>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=392f2726cd21539c5ec89e0d09d2e7d7922bebad">27 November 2021</a> - minimum API 19, target API 31</p>
         <ul>
             <li>Simplify the <a href="https://redmine.stoutner.com/issues/769">save dialogs</a>.</li>
             <li>Display the saved file name in the <a href="https://redmine.stoutner.com/issues/695">save snackbars</a>.</li>
index fde177f09e9554a88cf49f6e2da85192c1b5f396..225dfa6c00e13acfeec95740730481dfb7e383e9 100644 (file)
@@ -64,8 +64,8 @@
             Değiştirilen dosya <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
 
         <h3>Simgeler</h3>
-        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/privacy_browser_free.svg"/> <img class="left" src="../shared_images/warning.svg"/>
-            <img class="left" src="../shared_images/javascript_enabled.svg"/> <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlanan ve
+        <p><img class="left" src="../shared_images/privacy_browser.svg"/> <img class="left" src="../shared_images/warning.svg"/> <img class="left" src="../shared_images/javascript_enabled.svg"/>
+            <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlanan ve
             <a href="https://material.io/icons/">Android Material</a> simge setinin bir parçası olan <code>security</code> ve <code>language</code>'den elde edilmiştir.
             Lisansın tüm metni aşağıdadır. Değişikliklerin telif hakkı © 2016 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntüler <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
index 0fd451611a28312b03479e36194e921e89c08878..00a64e2098f2a093f6cdd2e6a87266337821c3ed 100644 (file)
@@ -123,7 +123,6 @@ import com.google.android.material.navigation.NavigationView;
 import com.google.android.material.snackbar.Snackbar;
 import com.google.android.material.tabs.TabLayout;
 
-import com.stoutner.privacybrowser.BuildConfig;
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.adapters.WebViewPagerAdapter;
 import com.stoutner.privacybrowser.asynctasks.GetHostIpAddresses;
@@ -132,7 +131,6 @@ import com.stoutner.privacybrowser.asynctasks.PrepareSaveDialog;
 import com.stoutner.privacybrowser.asynctasks.SaveUrl;
 import com.stoutner.privacybrowser.asynctasks.SaveWebpageImage;
 import com.stoutner.privacybrowser.dataclasses.PendingDialog;
-import com.stoutner.privacybrowser.dialogs.AdConsentDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkFolderDialog;
 import com.stoutner.privacybrowser.dialogs.CreateHomeScreenShortcutDialog;
@@ -148,7 +146,6 @@ import com.stoutner.privacybrowser.dialogs.UrlHistoryDialog;
 import com.stoutner.privacybrowser.dialogs.ViewSslCertificateDialog;
 import com.stoutner.privacybrowser.dialogs.WaitingForProxyDialog;
 import com.stoutner.privacybrowser.fragments.WebViewTabFragment;
-import com.stoutner.privacybrowser.helpers.AdHelper;
 import com.stoutner.privacybrowser.helpers.BlocklistHelper;
 import com.stoutner.privacybrowser.helpers.BookmarksDatabaseHelper;
 import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper;
@@ -316,7 +313,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     // Declare the class views.
     private FrameLayout rootFrameLayout;
     private DrawerLayout drawerLayout;
-    private RelativeLayout mainContentRelativeLayout;
+    private CoordinatorLayout coordinatorLayout;
     private AppBarLayout appBarLayout;
     private Toolbar toolbar;
     private RelativeLayout urlRelativeLayout;
@@ -561,7 +558,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Get handles for the views.
         rootFrameLayout = findViewById(R.id.root_framelayout);
         drawerLayout = findViewById(R.id.drawerlayout);
-        mainContentRelativeLayout = findViewById(R.id.main_content_relativelayout);
+        coordinatorLayout = findViewById(R.id.coordinatorlayout);
         appBarLayout = findViewById(R.id.appbar_layout);
         toolbar = findViewById(R.id.toolbar);
         findOnPageLinearLayout = findViewById(R.id.find_on_page_linearlayout);
@@ -804,7 +801,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             applyProxy(false);
         }
 
-        // Reapply any system UI flags and the ad in the free flavor.
+        // Reapply any system UI flags.
         if (displayingFullScreenVideo || inFullScreenBrowsingMode) {  // The system is displaying a website or a video in full screen mode.
             /* Hide the system bars.
              * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
@@ -814,12 +811,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
              */
             rootFrameLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                     View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
-        } else if (BuildConfig.FLAVOR.contentEquals("free")) {  // The system in not in full screen mode.
-            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-            View adView = findViewById(R.id.adview);
-
-            // Resume the ad.
-            AdHelper.resumeAd(adView);
         }
 
         // Show any pending dialogs.
@@ -862,15 +853,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         if (currentWebView != null) {
             currentWebView.pauseTimers();
         }
-
-        // Pause the ad or it will continue to consume resources in the background on the free flavor.
-        if (BuildConfig.FLAVOR.contentEquals("free")) {
-            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-            View adView = findViewById(R.id.adview);
-
-            // Pause the ad.
-            AdHelper.pauseAd(adView);
-        }
     }
 
     @Override
@@ -951,9 +933,10 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Store a handle for the options menu so it can be used by `onOptionsItemSelected()` and `updatePrivacyIcons()`.
         optionsMenu = menu;
 
-        // Get handles for the class menu items.
+        // Get handles for the menu items.
         optionsPrivacyMenuItem = menu.findItem(R.id.javascript);
         optionsRefreshMenuItem = menu.findItem(R.id.refresh);
+        MenuItem bookmarksMenuItem = menu.findItem(R.id.bookmarks);
         optionsCookiesMenuItem = menu.findItem(R.id.cookies);
         optionsDomStorageMenuItem = menu.findItem(R.id.dom_storage);
         optionsSaveFormDataMenuItem = menu.findItem(R.id.save_form_data);  // Form data can be removed once the minimum API >= 26.
@@ -995,10 +978,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         optionsFontSizeMenuItem = menu.findItem(R.id.font_size);
         optionsAddOrEditDomainMenuItem = menu.findItem(R.id.add_or_edit_domain);
 
-        // Get handles for the method menu items.
-        MenuItem bookmarksMenuItem = menu.findItem(R.id.bookmarks);
-        MenuItem adConsentMenuItem = menu.findItem(R.id.ad_consent);
-
         // Set the initial status of the privacy icons.  `false` does not call `invalidateOptionsMenu` as the last step.
         updatePrivacyIcons(false);
 
@@ -1012,9 +991,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Only display the dark WebView menu item if API >= 21.
         optionsDarkWebViewMenuItem.setVisible(Build.VERSION.SDK_INT >= 21);
 
-        // Only show Ad Consent if this is the free flavor.
-        adConsentMenuItem.setVisible(BuildConfig.FLAVOR.contentEquals("free"));
-
         // Get the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
@@ -2028,15 +2004,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 startActivity(domainsIntent);
             }
 
-            // Consume the event.
-            return true;
-        } else if (menuItemId == R.id.ad_consent) {  // Ad consent.
-            // Instantiate the ad consent dialog.
-            DialogFragment adConsentDialogFragment = new AdConsentDialog();
-
-            // Display the ad consent dialog.
-            adConsentDialogFragment.show(getSupportFragmentManager(), getString(R.string.ad_consent));
-
             // Consume the event.
             return true;
         } else {  // There is no match with the options menu.  Pass the event up to the parent method.
@@ -2256,26 +2223,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         actionBarDrawerToggle.syncState();
     }
 
-    @Override
-    public void onConfigurationChanged(@NonNull Configuration newConfig) {
-        // Run the default commands.
-        super.onConfigurationChanged(newConfig);
-
-        // Reload the ad for the free flavor if not in full screen mode.
-        if (BuildConfig.FLAVOR.contentEquals("free") && !inFullScreenBrowsingMode) {
-            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-            View adView = findViewById(R.id.adview);
-
-            // Reload the ad.  The AdView is destroyed and recreated, which changes the ID, every time it is reloaded to handle possible rotations.
-            // `getContext()` can be used instead of `getActivity.getApplicationContext()` once the minimum API >= 23.
-            AdHelper.loadAd(adView, getApplicationContext(), this, getString(R.string.ad_unit_id));
-        }
-
-        // `invalidateOptionsMenu` should recalculate the number of action buttons from the menu to display on the app bar, but it doesn't because of the this bug:
-        // https://code.google.com/p/android/issues/detail?id=20493#c8
-        // ActivityCompat.invalidateOptionsMenu(this);
-    }
-
     @Override
     public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
         // Get the hit test result.
@@ -3688,15 +3635,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 actionBar.show();
             }
 
-            // Hide the banner ad in the free flavor.
-            if (BuildConfig.FLAVOR.contentEquals("free")) {
-                // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                View adView = findViewById(R.id.adview);
-
-                // Hide the banner ad.
-                AdHelper.hideAd(adView);
-            }
-
             /* Hide the system bars.
              * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
              * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -3715,16 +3653,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Show the action bar.
             actionBar.show();
 
-            // Show the banner ad in the free flavor.
-            if (BuildConfig.FLAVOR.contentEquals("free")) {
-                // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                View adView = findViewById(R.id.adview);
-
-                // Initialize the ads.  If this isn't the first run, `loadAd()` will be automatically called instead.
-                // `getContext()` can be used instead of `getActivity.getApplicationContext()` once the minimum API >= 23.
-                AdHelper.initializeAds(adView, getApplicationContext(), this, getSupportFragmentManager(), getString(R.string.ad_unit_id));
-            }
-
             // Remove the `SYSTEM_UI` flags from the root frame layout.
             rootFrameLayout.setSystemUiVisibility(0);
         }
@@ -4817,8 +4745,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Enable the sliding drawers.
         drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
 
-        // Show the main content relative layout.
-        mainContentRelativeLayout.setVisibility(View.VISIBLE);
+        // Show the coordinator layout.
+        coordinatorLayout.setVisibility(View.VISIBLE);
 
         // Apply the appropriate full screen mode flags.
         if (fullScreenBrowsingModeEnabled && inFullScreenBrowsingMode) {  // Privacy Browser is currently in full screen browsing mode.
@@ -4831,15 +4759,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 actionBar.hide();
             }
 
-            // Hide the banner ad in the free flavor.
-            if (BuildConfig.FLAVOR.contentEquals("free")) {
-                // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                View adView = findViewById(R.id.adview);
-
-                // Hide the banner ad.
-                AdHelper.hideAd(adView);
-            }
-
             /* Hide the system bars.
              * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
              * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -4852,15 +4771,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Remove the `SYSTEM_UI` flags from the root frame layout.
             rootFrameLayout.setSystemUiVisibility(0);
         }
-
-        // Reload the ad for the free flavor if not in full screen mode.
-        if (BuildConfig.FLAVOR.contentEquals("free") && !inFullScreenBrowsingMode) {
-            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-            View adView = findViewById(R.id.adview);
-
-            // Reload the ad.
-            AdHelper.loadAd(adView, this, this, getString(R.string.ad_unit_id));
-        }
     }
 
     private void clearAndExit() {
@@ -5289,15 +5199,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                             }
                         }
 
-                        // Hide the banner ad in the free flavor.
-                        if (BuildConfig.FLAVOR.contentEquals("free")) {
-                            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                            View adView = findViewById(R.id.adview);
-
-                            // Hide the banner ad.
-                            AdHelper.hideAd(adView);
-                        }
-
                         /* Hide the system bars.
                          * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
                          * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -5334,15 +5235,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                             }
                         }
 
-                        // Show the banner ad in the free flavor.
-                        if (BuildConfig.FLAVOR.contentEquals("free")) {
-                            // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                            View adView = findViewById(R.id.adview);
-
-                            // Reload the ad.  `getContext()` can be used instead of `getActivity.getApplicationContext()` once the minimum API >= 23.
-                            AdHelper.loadAd(adView, getApplicationContext(), activity, getString(R.string.ad_unit_id));
-                        }
-
                         // Remove the `SYSTEM_UI` flags from the root frame layout.
                         rootFrameLayout.setSystemUiVisibility(0);
                     }
@@ -5581,20 +5473,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Set the full screen video flag.
                 displayingFullScreenVideo = true;
 
-                // Pause the ad if this is the free flavor.
-                if (BuildConfig.FLAVOR.contentEquals("free")) {
-                    // Get a handle for the ad view.  This cannot be a class variable because it changes with each ad load.
-                    View adView = findViewById(R.id.adview);
-
-                    // The AdView is destroyed and recreated, which changes the ID, every time it is reloaded to handle possible rotations.
-                    AdHelper.pauseAd(adView);
-                }
-
                 // Hide the keyboard.
                 inputMethodManager.hideSoftInputFromWindow(nestedScrollWebView.getWindowToken(), 0);
 
-                // Hide the main content relative layout.
-                mainContentRelativeLayout.setVisibility(View.GONE);
+                // Hide the coordinator layout.
+                coordinatorLayout.setVisibility(View.GONE);
 
                 /* Hide the system bars.
                  * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
index 0a0932fbab31a35fdb17eb3ca1a99003aab4a9b6..bbbc9d12d8685fb7d457f09c88333bebae03ebce 100644 (file)
@@ -42,9 +42,9 @@ import androidx.core.content.pm.ShortcutInfoCompat
 import androidx.core.content.pm.ShortcutManagerCompat
 import androidx.core.graphics.drawable.IconCompat
 import androidx.fragment.app.DialogFragment
+import androidx.multidex.BuildConfig
 import androidx.preference.PreferenceManager
 
-import com.stoutner.privacybrowser.BuildConfig
 import com.stoutner.privacybrowser.R
 
 import java.io.ByteArrayOutputStream
index 0ee38afbb31741f39b14a572043b8402db8eed2a..27aaba1baf5da02f2143aaad97a880d97cebbd4b 100644 (file)
@@ -1,5 +1,6 @@
 <!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2016-2017,2021 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="108dp"
         android:translateX="133.81818"
         android:translateY="133.81818" >
 
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- The inner shield.  A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
         <path
             android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
-            android:fillColor="#0d4781"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1" />
+            android:fillColor="#0d4781" />
 
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- The outer shield.  A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
         <path
             android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
-            android:fillColor="#1976d2"
-            android:strokeColor="#00000000"
-            android:fillAlpha="1" />
+            android:fillColor="#1976d2" />
 
-        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- The globe.  A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
         <path
             android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
-            android:fillColor="#ffffff"
-            android:fillAlpha="1" />
+            android:fillColor="#ffffff" />
     </group>
 </vector>
index 98e16b671acf0b75d8b0a3f48bb7ee6854439e8a..e78bcc306c7887c72bded25c077f8ea610e36114 100644 (file)
         android:layout_height="match_parent"
         android:layout_width="match_parent" >
 
-        <!-- The relative layout contains the AdView and the coordinator layout, which contains the rest of the views. -->
-        <RelativeLayout
-            android:id="@+id/main_content_relativelayout"
+        <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
+        <androidx.coordinatorlayout.widget.CoordinatorLayout
+            android:id="@+id/coordinatorlayout"
             android:layout_height="match_parent"
-            android:layout_width="match_parent" >
-
-            <!-- Include the AdView.  For the standard flavor, this just includes a TextView with `visibility="gone"`. -->
-            <include layout="@layout/adview_bottom_appbar" />
+            android:layout_width="match_parent"
+            android:layout_below="@id/adview"
+            android:focusable="true"
+            android:focusableInTouchMode="true" >
+
+                <!-- `app:layout_dodgeInsetEdges="bottom"` as a child of a coordinator layout moves the view above snackbars. -->
+                <RelativeLayout
+                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    app:layout_dodgeInsetEdges="bottom" >
+
+                    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+                        android:id="@+id/swiperefreshlayout"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:layout_above="@id/appbar_layout" >
 
-            <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
-            <androidx.coordinatorlayout.widget.CoordinatorLayout
-                android:layout_height="match_parent"
-                android:layout_width="match_parent"
-                android:layout_below="@id/adview"
-                android:focusable="true"
-                android:focusableInTouchMode="true" >
+                        <com.stoutner.privacybrowser.views.NoSwipeViewPager
+                            android:id="@+id/webviewpager"
+                            android:layout_height="match_parent"
+                            android:layout_width="match_parent" />
+                    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
-                    <!-- `app:layout_dodgeInsetEdges="bottom"` as a child of a coordinator layout moves the view above snackbars. -->
-                    <RelativeLayout
-                        android:layout_height="match_parent"
+                    <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status. -->
+                    <com.google.android.material.appbar.AppBarLayout
+                        android:id="@+id/appbar_layout"
+                        android:layout_height="wrap_content"
                         android:layout_width="match_parent"
-                        app:layout_dodgeInsetEdges="bottom" >
+                        android:theme="@style/PrivacyBrowserAppBar"
+                        android:layout_alignParentBottom="true" >
 
-                        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-                            android:id="@+id/swiperefreshlayout"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            android:layout_above="@id/appbar_layout" >
+                        <!-- The tab linear layout.  It sets the background to the right of the add tab button.
+                            It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                        <LinearLayout
+                            android:id="@+id/tabs_linearlayout"
+                            android:layout_height="wrap_content"
+                            android:layout_width="wrap_content"
+                            android:orientation="horizontal"
+                            android:visibility="gone" >
 
-                            <com.stoutner.privacybrowser.views.NoSwipeViewPager
-                                android:id="@+id/webviewpager"
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
                                 android:layout_height="match_parent"
-                                android:layout_width="match_parent" />
-                        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+                                android:layout_width="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:paddingStart="10dp"
+                                android:paddingEnd="10dp"
+                                android:src="@drawable/close_day"
+                                android:background="?attr/selectableItemBackground"
+                                android:onClick="closeTab"
+                                android:contentDescription="@string/close_tab"
+                                app:tint="?attr/addTabIconTintColor" />
+
+                            <com.google.android.material.tabs.TabLayout
+                                android:id="@+id/tablayout"
+                                android:layout_height="wrap_content"
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                app:tabMode="scrollable" />
 
-                        <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status. -->
-                        <com.google.android.material.appbar.AppBarLayout
-                            android:id="@+id/appbar_layout"
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:layout_height="match_parent"
+                                android:layout_width="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:paddingStart="10dp"
+                                android:paddingEnd="10dp"
+                                android:src="@drawable/add"
+                                android:background="?attr/selectableItemBackground"
+                                android:onClick="addTab"
+                                android:contentDescription="@string/add_tab"
+                                app:tint="?attr/addTabIconTintColor" />
+                        </LinearLayout>
+
+                        <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                        <LinearLayout
+                            android:id="@+id/find_on_page_linearlayout"
                             android:layout_height="wrap_content"
                             android:layout_width="match_parent"
-                            android:theme="@style/PrivacyBrowserAppBar"
-                            android:layout_alignParentBottom="true" >
+                            android:orientation="horizontal"
+                            android:visibility="gone" >
 
-                            <!-- The tab linear layout.  It sets the background to the right of the add tab button.
-                                It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <LinearLayout
-                                android:id="@+id/tabs_linearlayout"
-                                android:layout_height="wrap_content"
-                                android:layout_width="wrap_content"
-                                android:orientation="horizontal"
-                                android:visibility="gone" >
-
-                                <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                                <ImageView
-                                    android:layout_height="match_parent"
-                                    android:layout_width="wrap_content"
-                                    android:layout_gravity="center_vertical"
-                                    android:paddingStart="10dp"
-                                    android:paddingEnd="10dp"
-                                    android:src="@drawable/close_day"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:onClick="closeTab"
-                                    android:contentDescription="@string/close_tab"
-                                    app:tint="?attr/addTabIconTintColor" />
-
-                                <com.google.android.material.tabs.TabLayout
-                                    android:id="@+id/tablayout"
-                                    android:layout_height="wrap_content"
-                                    android:layout_width="0dp"
-                                    android:layout_weight="1"
-                                    app:tabMode="scrollable" />
-
-                                <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                                <ImageView
-                                    android:layout_height="match_parent"
-                                    android:layout_width="wrap_content"
-                                    android:layout_gravity="center_vertical"
-                                    android:paddingStart="10dp"
-                                    android:paddingEnd="10dp"
-                                    android:src="@drawable/add"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:onClick="addTab"
-                                    android:contentDescription="@string/add_tab"
-                                    app:tint="?attr/addTabIconTintColor" />
-                            </LinearLayout>
-
-                            <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <LinearLayout
-                                android:id="@+id/find_on_page_linearlayout"
+                            <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
+                            <EditText
+                                android:id="@+id/find_on_page_edittext"
                                 android:layout_height="wrap_content"
-                                android:layout_width="match_parent"
-                                android:orientation="horizontal"
-                                android:visibility="gone" >
-
-                                <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
-                                <EditText
-                                    android:id="@+id/find_on_page_edittext"
-                                    android:layout_height="wrap_content"
-                                    android:layout_width="0dp"
-                                    android:layout_weight="1"
-                                    android:layout_marginStart="8dp"
-                                    android:layout_marginEnd="4dp"
-                                    android:hint="@string/find_on_page"
-                                    android:lines="1"
-                                    android:imeOptions="actionDone"
-                                    android:inputType="text"
-                                    tools:ignore="Autofill" />
-
-                                <TextView
-                                    android:id="@+id/find_on_page_count_textview"
-                                    android:layout_height="wrap_content"
-                                    android:layout_width="wrap_content"
-                                    android:layout_marginStart="4dp"
-                                    android:layout_marginEnd="4dp"
-                                    android:text="@string/zero_of_zero" />
-
-                                <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                                <ImageView
-                                    android:id="@+id/find_previous"
-                                    android:src="@drawable/previous"
-                                    android:layout_width="35dp"
-                                    android:layout_height="35dp"
-                                    android:layout_marginStart="4dp"
-                                    android:layout_marginEnd="4dp"
-                                    android:layout_gravity="center_vertical"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:contentDescription="@string/previous"
-                                    android:onClick="findPreviousOnPage"
-                                    app:tint="?attr/findOnPageIconTintColor" />
-
-                                <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                                <ImageView
-                                    android:id="@+id/find_next"
-                                    android:src="@drawable/next"
-                                    android:layout_width="35dp"
-                                    android:layout_height="35dp"
-                                    android:layout_marginStart="4dp"
-                                    android:layout_marginEnd="4dp"
-                                    android:layout_gravity="center_vertical"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:contentDescription="@string/next"
-                                    android:onClick="findNextOnPage"
-                                    app:tint="?attr/findOnPageIconTintColor" />
-
-                                <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                                <ImageView
-                                    android:id="@+id/close_find"
-                                    android:src="@drawable/close_day"
-                                    android:layout_width="35dp"
-                                    android:layout_height="35dp"
-                                    android:layout_marginStart="4dp"
-                                    android:layout_marginEnd="8dp"
-                                    android:layout_gravity="center_vertical"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:contentDescription="@string/close"
-                                    android:onClick="closeFindOnPage"
-                                    app:tint="?attr/findOnPageIconTintColor" />
-                            </LinearLayout>
-
-                            <!-- The toolbar.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <androidx.appcompat.widget.Toolbar
-                                android:id="@+id/toolbar"
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                android:layout_marginStart="8dp"
+                                android:layout_marginEnd="4dp"
+                                android:hint="@string/find_on_page"
+                                android:lines="1"
+                                android:imeOptions="actionDone"
+                                android:inputType="text"
+                                tools:ignore="Autofill" />
+
+                            <TextView
+                                android:id="@+id/find_on_page_count_textview"
                                 android:layout_height="wrap_content"
-                                android:layout_width="match_parent"
-                                android:visibility="gone" />
-                        </com.google.android.material.appbar.AppBarLayout>
-                    </RelativeLayout>
-            </androidx.coordinatorlayout.widget.CoordinatorLayout>
-        </RelativeLayout>
+                                android:layout_width="wrap_content"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:text="@string/zero_of_zero" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/find_previous"
+                                android:src="@drawable/previous"
+                                android:layout_width="35dp"
+                                android:layout_height="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:layout_gravity="center_vertical"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/previous"
+                                android:onClick="findPreviousOnPage"
+                                app:tint="?attr/findOnPageIconTintColor" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/find_next"
+                                android:src="@drawable/next"
+                                android:layout_width="35dp"
+                                android:layout_height="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:layout_gravity="center_vertical"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/next"
+                                android:onClick="findNextOnPage"
+                                app:tint="?attr/findOnPageIconTintColor" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/close_find"
+                                android:src="@drawable/close_day"
+                                android:layout_width="35dp"
+                                android:layout_height="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="8dp"
+                                android:layout_gravity="center_vertical"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/close"
+                                android:onClick="closeFindOnPage"
+                                app:tint="?attr/findOnPageIconTintColor" />
+                        </LinearLayout>
+
+                        <!-- The toolbar.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                        <androidx.appcompat.widget.Toolbar
+                            android:id="@+id/toolbar"
+                            android:layout_height="wrap_content"
+                            android:layout_width="match_parent"
+                            android:visibility="gone" />
+                    </com.google.android.material.appbar.AppBarLayout>
+                </RelativeLayout>
+        </androidx.coordinatorlayout.widget.CoordinatorLayout>
 
         <!-- The navigation drawer. -->
         <com.google.android.material.navigation.NavigationView
index 5d0da8de0bc5528111ef18e24d4e6928ea0e9303..73201e53e6d10922e7bd1a89972f77d81cbfa884 100644 (file)
         android:layout_height="match_parent"
         android:layout_width="match_parent" >
 
-        <!-- The relative layout contains the AdView and the coordinator layout, which contains the rest of the views. -->
-        <RelativeLayout
-            android:id="@+id/main_content_relativelayout"
+        <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
+        <androidx.coordinatorlayout.widget.CoordinatorLayout
+            android:id="@+id/coordinatorlayout"
             android:layout_height="match_parent"
-            android:layout_width="match_parent" >
-
-            <!-- Include the AdView.  For the standard flavor, this just includes a TextView with `visibility="gone"`. -->
-            <include layout="@layout/adview_top_appbar" />
-
-            <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
-            <androidx.coordinatorlayout.widget.CoordinatorLayout
-                android:layout_height="match_parent"
+            android:layout_width="match_parent"
+            android:layout_above="@id/adview"
+            android:focusable="true"
+            android:focusableInTouchMode="true" >
+
+            <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status. -->
+            <com.google.android.material.appbar.AppBarLayout
+                android:id="@+id/appbar_layout"
+                android:layout_height="wrap_content"
                 android:layout_width="match_parent"
-                android:layout_above="@id/adview"
-                android:focusable="true"
-                android:focusableInTouchMode="true" >
+                android:theme="@style/PrivacyBrowserAppBar" >
 
-                <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status. -->
-                <com.google.android.material.appbar.AppBarLayout
-                    android:id="@+id/appbar_layout"
+                <!-- The toolbar.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                <androidx.appcompat.widget.Toolbar
+                    android:id="@+id/toolbar"
                     android:layout_height="wrap_content"
                     android:layout_width="match_parent"
-                    android:theme="@style/PrivacyBrowserAppBar" >
+                    android:visibility="gone"
+                    app:layout_scrollFlags="scroll|enterAlways|snap" />
 
-                    <!-- The toolbar.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                    <androidx.appcompat.widget.Toolbar
-                        android:id="@+id/toolbar"
-                        android:layout_height="wrap_content"
-                        android:layout_width="match_parent"
-                        android:visibility="gone"
-                        app:layout_scrollFlags="scroll|enterAlways|snap" />
+                <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                <LinearLayout
+                    android:id="@+id/find_on_page_linearlayout"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:orientation="horizontal"
+                    android:visibility="gone"
+                    app:layout_scrollFlags="scroll|enterAlways|snap" >
 
-                    <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                    <LinearLayout
-                        android:id="@+id/find_on_page_linearlayout"
+                    <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
+                    <EditText
+                        android:id="@+id/find_on_page_edittext"
                         android:layout_height="wrap_content"
-                        android:layout_width="match_parent"
-                        android:orientation="horizontal"
-                        android:visibility="gone"
-                        app:layout_scrollFlags="scroll|enterAlways|snap" >
-
-                        <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
-                        <EditText
-                            android:id="@+id/find_on_page_edittext"
-                            android:layout_height="wrap_content"
-                            android:layout_width="0dp"
-                            android:layout_weight="1"
-                            android:layout_marginStart="8dp"
-                            android:layout_marginEnd="4dp"
-                            android:hint="@string/find_on_page"
-                            android:lines="1"
-                            android:imeOptions="actionDone"
-                            android:inputType="text"
-                            tools:ignore="Autofill" />
-
-                        <TextView
-                            android:id="@+id/find_on_page_count_textview"
-                            android:layout_height="wrap_content"
-                            android:layout_width="wrap_content"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:text="@string/zero_of_zero" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/find_previous"
-                            android:src="@drawable/previous"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/previous"
-                            android:onClick="findPreviousOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/find_next"
-                            android:src="@drawable/next"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/next"
-                            android:onClick="findNextOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/close_find"
-                            android:src="@drawable/close_day"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="8dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/close"
-                            android:onClick="closeFindOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-                    </LinearLayout>
-
-                    <!-- The tab linear layout.  It sets the background to the right of the add tab button.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                    <LinearLayout
-                        android:id="@+id/tabs_linearlayout"
+                        android:layout_width="0dp"
+                        android:layout_weight="1"
+                        android:layout_marginStart="8dp"
+                        android:layout_marginEnd="4dp"
+                        android:hint="@string/find_on_page"
+                        android:lines="1"
+                        android:imeOptions="actionDone"
+                        android:inputType="text"
+                        tools:ignore="Autofill" />
+
+                    <TextView
+                        android:id="@+id/find_on_page_count_textview"
                         android:layout_height="wrap_content"
                         android:layout_width="wrap_content"
-                        android:orientation="horizontal"
-                        android:visibility="gone"
-                        app:layout_scrollFlags="scroll|enterAlways|snap" >
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:layout_height="match_parent"
-                            android:layout_width="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:paddingStart="10dp"
-                            android:paddingEnd="10dp"
-                            android:src="@drawable/close_day"
-                            android:background="?attr/selectableItemBackground"
-                            android:onClick="closeTab"
-                            android:contentDescription="@string/close_tab"
-                            app:tint="?attr/addTabIconTintColor" />
-
-                        <com.google.android.material.tabs.TabLayout
-                            android:id="@+id/tablayout"
-                            android:layout_height="wrap_content"
-                            android:layout_width="0dp"
-                            android:layout_weight="1"
-                            app:tabIndicatorGravity="top"
-                            app:tabMode="scrollable" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:layout_height="match_parent"
-                            android:layout_width="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:paddingStart="10dp"
-                            android:paddingEnd="10dp"
-                            android:src="@drawable/add"
-                            android:background="?attr/selectableItemBackground"
-                            android:onClick="addTab"
-                            android:contentDescription="@string/add_tab"
-                            app:tint="?attr/addTabIconTintColor" />
-                    </LinearLayout>
-                </com.google.android.material.appbar.AppBarLayout>
-
-                <!-- `app:layout_behavior="@string/appbar_scrolling_view_behavior"` must be set on the sibling of AppBarLayout. -->
-                <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-                    android:id="@+id/swiperefreshlayout"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    app:layout_behavior="@string/appbar_scrolling_view_behavior" >
-
-                        <com.stoutner.privacybrowser.views.NoSwipeViewPager
-                            android:id="@+id/webviewpager"
-                            android:layout_height="match_parent"
-                            android:layout_width="match_parent" />
-                </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
-            </androidx.coordinatorlayout.widget.CoordinatorLayout>
-        </RelativeLayout>
+                        android:layout_marginStart="4dp"
+                        android:layout_marginEnd="4dp"
+                        android:text="@string/zero_of_zero" />
+
+                    <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                    <ImageView
+                        android:id="@+id/find_previous"
+                        android:src="@drawable/previous"
+                        android:layout_width="35dp"
+                        android:layout_height="35dp"
+                        android:layout_marginStart="4dp"
+                        android:layout_marginEnd="4dp"
+                        android:layout_gravity="center_vertical"
+                        android:background="?attr/selectableItemBackground"
+                        android:contentDescription="@string/previous"
+                        android:onClick="findPreviousOnPage"
+                        app:tint="?attr/findOnPageIconTintColor" />
+
+                    <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                    <ImageView
+                        android:id="@+id/find_next"
+                        android:src="@drawable/next"
+                        android:layout_width="35dp"
+                        android:layout_height="35dp"
+                        android:layout_marginStart="4dp"
+                        android:layout_marginEnd="4dp"
+                        android:layout_gravity="center_vertical"
+                        android:background="?attr/selectableItemBackground"
+                        android:contentDescription="@string/next"
+                        android:onClick="findNextOnPage"
+                        app:tint="?attr/findOnPageIconTintColor" />
+
+                    <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                    <ImageView
+                        android:id="@+id/close_find"
+                        android:src="@drawable/close_day"
+                        android:layout_width="35dp"
+                        android:layout_height="35dp"
+                        android:layout_marginStart="4dp"
+                        android:layout_marginEnd="8dp"
+                        android:layout_gravity="center_vertical"
+                        android:background="?attr/selectableItemBackground"
+                        android:contentDescription="@string/close"
+                        android:onClick="closeFindOnPage"
+                        app:tint="?attr/findOnPageIconTintColor" />
+                </LinearLayout>
+
+                <!-- The tab linear layout.  It sets the background to the right of the add tab button.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                <LinearLayout
+                    android:id="@+id/tabs_linearlayout"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:orientation="horizontal"
+                    android:visibility="gone"
+                    app:layout_scrollFlags="scroll|enterAlways|snap" >
+
+                    <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                    <ImageView
+                        android:layout_height="match_parent"
+                        android:layout_width="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="10dp"
+                        android:src="@drawable/close_day"
+                        android:background="?attr/selectableItemBackground"
+                        android:onClick="closeTab"
+                        android:contentDescription="@string/close_tab"
+                        app:tint="?attr/addTabIconTintColor" />
+
+                    <com.google.android.material.tabs.TabLayout
+                        android:id="@+id/tablayout"
+                        android:layout_height="wrap_content"
+                        android:layout_width="0dp"
+                        android:layout_weight="1"
+                        app:tabIndicatorGravity="top"
+                        app:tabMode="scrollable" />
+
+                    <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                    <ImageView
+                        android:layout_height="match_parent"
+                        android:layout_width="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="10dp"
+                        android:src="@drawable/add"
+                        android:background="?attr/selectableItemBackground"
+                        android:onClick="addTab"
+                        android:contentDescription="@string/add_tab"
+                        app:tint="?attr/addTabIconTintColor" />
+                </LinearLayout>
+            </com.google.android.material.appbar.AppBarLayout>
+
+            <!-- `app:layout_behavior="@string/appbar_scrolling_view_behavior"` must be set on the sibling of AppBarLayout. -->
+            <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+                android:id="@+id/swiperefreshlayout"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                app:layout_behavior="@string/appbar_scrolling_view_behavior" >
+
+                    <com.stoutner.privacybrowser.views.NoSwipeViewPager
+                        android:id="@+id/webviewpager"
+                        android:layout_height="match_parent"
+                        android:layout_width="match_parent" />
+            </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+        </androidx.coordinatorlayout.widget.CoordinatorLayout>
 
         <!-- The navigation drawer. -->
         <com.google.android.material.navigation.NavigationView
index c1fb4ad2ae7404a28f525dde9179c318495e5609..cc9c16ab24a2db35dd50f2452e7fd59be6920ff1 100644 (file)
         android:title="@string/add_domain_settings"
         android:orderInCategory="1400"
         app:showAsAction="never" />
-
-    <item
-        android:id="@+id/ad_consent"
-        android:title="@string/ad_consent"
-        android:orderInCategory="1500"
-        app:showAsAction="never" />
 </menu>
\ No newline at end of file
index 22f1a1c9dcff11cb3be7f7fd773e615ab5753fa5..e96461bde6e61fb2fa38e6aadf8679bd6d57323a 100644 (file)
@@ -19,6 +19,6 @@
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@color/white"/>
-    <foreground android:drawable="@drawable/privacy_browser_foreground"/>
+    <background android:drawable="@color/white" />
+    <foreground android:drawable="@drawable/privacy_browser_foreground" />
 </adaptive-icon>
\ No newline at end of file
index 22f1a1c9dcff11cb3be7f7fd773e615ab5753fa5..e96461bde6e61fb2fa38e6aadf8679bd6d57323a 100644 (file)
@@ -19,6 +19,6 @@
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@color/white"/>
-    <foreground android:drawable="@drawable/privacy_browser_foreground"/>
+    <background android:drawable="@color/white" />
+    <foreground android:drawable="@drawable/privacy_browser_foreground" />
 </adaptive-icon>
\ No newline at end of file
index 1914cb1409a5eb44e01713f22323a6cf37b22893..5bf453a7f89cb1e8fee130f42b8dd054bbc247da 100644 (file)
             <item>WebView default user agent</item>  <!-- This item must not be translated into other languages because it is referenced in code.  It is never displayed on the screen. -->
             <item>Mozilla/5.0 (Android 12; Mobile; rv:94.0) Gecko/94.0 Firefox/94.0</item>
             <item>Mozilla/5.0 (Linux; Android 12; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36</item>
-            <item>Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1</item>
+            <item>Mozilla/5.0 (iPhone; CPU iPhone OS 15_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/604.1</item>
             <item>Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0</item>
             <item>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36</item>
             <item>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0</item>
             <item>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36</item>
             <item>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34</item>
             <item>Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko</item>
-            <item>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15</item>
+            <item>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15</item>
             <item>Custom user agent</item>  <!-- This item must not be translated into other languages because it is referenced in code.  It is never displayed on the screen. -->
         </string-array>
         <string name="custom_user_agent">Custom user agent</string>
diff --git a/app/src/standard/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt b/app/src/standard/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.kt
deleted file mode 100644 (file)
index 03a2765..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright © 2018-2019,2021 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/>.
- */
-
-package com.stoutner.privacybrowser.dialogs
-
-import androidx.fragment.app.DialogFragment
-
-class AdConsentDialog : DialogFragment() {
-    // Do nothing because this is the standard flavor.
-}
\ No newline at end of file
diff --git a/app/src/standard/java/com/stoutner/privacybrowser/helpers/AdHelper.kt b/app/src/standard/java/com/stoutner/privacybrowser/helpers/AdHelper.kt
deleted file mode 100644 (file)
index 50d1db2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright © 2016-2018,2020-2021 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/>.
- */
-
-package com.stoutner.privacybrowser.helpers
-
-import android.app.Activity
-import android.content.Context
-import android.view.View
-
-import androidx.fragment.app.FragmentManager
-
-// The `@JvmStatic` notation can be removed once all the code has migrated to Kotlin.
-@Suppress("UNUSED_PARAMETER")
-object AdHelper {
-    @JvmStatic
-    fun initializeAds(view: View, context: Context, activity: Activity, fragmentManager: FragmentManager, adUnitId: String) {
-        // Do nothing because this is the standard flavor.
-    }
-
-    @JvmStatic
-    fun loadAd(view: View, context: Context, activity: Activity, adUnitId: String) {
-        // Do nothing because this is the standard flavor.
-    }
-
-    @JvmStatic
-    fun hideAd(view: View) {
-        // Do nothing because this is the standard flavor.
-    }
-
-    @JvmStatic
-    fun pauseAd(view: View) {
-        // Do nothing because this is the standard flavor.
-    }
-
-    @JvmStatic
-    fun resumeAd(view: View) {
-        // Do nothing because this is the standard flavor.
-    }
-}
\ No newline at end of file