Manually handle changes in screen layout. https://redmine.stoutner.com/issues/447
authorSoren Stoutner <soren@stoutner.com>
Tue, 21 May 2019 02:39:31 +0000 (19:39 -0700)
committerSoren Stoutner <soren@stoutner.com>
Tue, 21 May 2019 02:39:31 +0000 (19:39 -0700)
24 files changed:
app/src/main/AndroidManifest.xml
app/src/main/assets/de/guide_ssl_certificates_dark.html
app/src/main/assets/de/guide_ssl_certificates_light.html
app/src/main/assets/de/guide_tracking_ids_dark.html
app/src/main/assets/de/guide_tracking_ids_light.html
app/src/main/assets/es/guide_ssl_certificates_dark.html
app/src/main/assets/es/guide_ssl_certificates_light.html
app/src/main/assets/es/guide_tracking_ids_dark.html
app/src/main/assets/es/guide_tracking_ids_light.html
app/src/main/assets/it/guide_ssl_certificates_dark.html
app/src/main/assets/it/guide_ssl_certificates_light.html
app/src/main/assets/it/guide_tracking_ids_dark.html
app/src/main/assets/it/guide_tracking_ids_light.html
app/src/main/assets/ru/guide_ssl_certificates_dark.html
app/src/main/assets/ru/guide_ssl_certificates_light.html
app/src/main/assets/ru/guide_tracking_ids_dark.html
app/src/main/assets/ru/guide_tracking_ids_light.html
app/src/main/assets/tr/guide_ssl_certificates_dark.html
app/src/main/assets/tr/guide_ssl_certificates_light.html
app/src/main/assets/tr/guide_tracking_ids_dark.html
app/src/main/assets/tr/guide_tracking_ids_light.html
app/src/main/java/com/stoutner/privacybrowser/activities/ImportExportActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java

index 8f306a2..13a58e3 100644 (file)
@@ -86,8 +86,9 @@
         </provider>
         
         <!-- The theme has to be defined here or an ugly title bar is displayed when the app launches.
         </provider>
         
         <!-- The theme has to be defined here or an ugly title bar is displayed when the app launches.
-             `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes, which preserves scroll location in the WebView.
-             `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+             `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+             `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+             `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
              `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
              It also makes it reuse an existing Privacy Browser activity if available instead of launching a new one.
              `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
              `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
              It also makes it reuse an existing Privacy Browser activity if available instead of launching a new one.
              `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
@@ -96,7 +97,7 @@
             android:name=".activities.MainWebViewActivity"
             android:label="@string/privacy_browser"
             android:theme="@style/PrivacyBrowserLight"
             android:name=".activities.MainWebViewActivity"
             android:label="@string/privacy_browser"
             android:theme="@style/PrivacyBrowserLight"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:launchMode="singleTask"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             android:launchMode="singleTask"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
         </activity>
 
 
         </activity>
 
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.BookmarksActivity"
             android:label="@string/bookmarks"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.BookmarksActivity"
             android:label="@string/bookmarks"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.BookmarksDatabaseViewActivity"
             android:label="@string/bookmarks_database_view"
             android:parentActivityName=".activities.BookmarksActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.BookmarksDatabaseViewActivity"
             android:label="@string/bookmarks_database_view"
             android:parentActivityName=".activities.BookmarksActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.RequestsActivity"
             android:label="@string/requests"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.RequestsActivity"
             android:label="@string/requests"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
+        <!-- `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not reload when a bluetooth keyboard is activated/goes to sleep.
             `android:windowSoftInputMode="stateAlwaysHidden"` keeps the keyboard from displaying when the screen is rotated and after the `AddDomainDialog` is dismissed.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
             `android:windowSoftInputMode="stateAlwaysHidden"` keeps the keyboard from displaying when the screen is rotated and after the `AddDomainDialog` is dismissed.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
             android:name=".activities.DomainsActivity"
             android:label="@string/domains"
             android:parentActivityName=".activities.MainWebViewActivity"
             android:name=".activities.DomainsActivity"
             android:label="@string/domains"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="keyboard|keyboardHidden"
+            android:configChanges="screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:windowSoftInputMode="stateAlwaysHidden"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:windowSoftInputMode="stateAlwaysHidden"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.SettingsActivity"
             android:label="@string/settings"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.SettingsActivity"
             android:label="@string/settings"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.ImportExportActivity"
             android:label="@string/import_export"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.ImportExportActivity"
             android:label="@string/import_export"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.LogcatActivity"
             android:label="@string/logcat"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.LogcatActivity"
             android:label="@string/logcat"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.GuideActivity"
             android:label="@string/guide"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.GuideActivity"
             android:label="@string/guide"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.AboutActivity"
             android:label="@string/about_privacy_browser"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.AboutActivity"
             android:label="@string/about_privacy_browser"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
 
-        <!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
-            `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
+        <!-- `android:configChanges="orientation|screenSize"` makes the activity not restart when the orientation changes, which preserves scroll location in the WebView.
+            `android:configChanges="screenLayout"` makes the activity not restart when entering or exiting split screen mode.
+            `android:configChanges="keyboard|keyboardHidden"` makes the activity not restart when a bluetooth keyboard is activated/goes to sleep.
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.ViewSourceActivity"
             android:label="@string/view_source"
             android:parentActivityName=".activities.MainWebViewActivity"
             `android:persistableMode="persistNever"` removes Privacy Browser from the recent apps list on a device reboot.
             `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
         <activity
             android:name=".activities.ViewSourceActivity"
             android:label="@string/view_source"
             android:parentActivityName=".activities.MainWebViewActivity"
-            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
+            android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
             android:screenOrientation="fullUser"
             android:persistableMode="persistNever"
             tools:ignore="UnusedAttribute" />
index d4a6ba8..7f1c076 100644 (file)
@@ -51,6 +51,6 @@
         <p>SSL-Zertifikate können in den Domänen-Einstellungen verankert werden.
                        Neben dem Schutz gegen MITM-Attacken kann das Verankern von Zertifikaten auch für selbst-erzeugte Zertifikate genutzt werden (z.B. bei WLAN-Routern oder Access-Points).
             In diesen Fällen werden die sonst üblichen Fehlermeldungen unterdrückt, wenn die Website des Geräts geladen wird.
         <p>SSL-Zertifikate können in den Domänen-Einstellungen verankert werden.
                        Neben dem Schutz gegen MITM-Attacken kann das Verankern von Zertifikaten auch für selbst-erzeugte Zertifikate genutzt werden (z.B. bei WLAN-Routern oder Access-Points).
             In diesen Fällen werden die sonst üblichen Fehlermeldungen unterdrückt, wenn die Website des Geräts geladen wird.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Durch Antippen des aktiven Tabs wird das SSL-Zertifikat der aktuell darin angezeigten Webseite angezeigt.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 9f8f05b..620cb16 100644 (file)
@@ -51,6 +51,6 @@
         <p>SSL-Zertifikate können in den Domänen-Einstellungen verankert werden.
             Neben dem Schutz gegen MITM-Attacken kann das Verankern von Zertifikaten auch für selbst-erzeugte Zertifikate genutzt werden (z.B. bei WLAN-Routern oder Access-Points).
             In diesen Fällen werden die sonst üblichen Fehlermeldungen unterdrückt, wenn die Website des Geräts geladen wird.
         <p>SSL-Zertifikate können in den Domänen-Einstellungen verankert werden.
             Neben dem Schutz gegen MITM-Attacken kann das Verankern von Zertifikaten auch für selbst-erzeugte Zertifikate genutzt werden (z.B. bei WLAN-Routern oder Access-Points).
             In diesen Fällen werden die sonst üblichen Fehlermeldungen unterdrückt, wenn die Website des Geräts geladen wird.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Durch Antippen des aktiven Tabs wird das SSL-Zertifikat der aktuell darin angezeigten Webseite angezeigt.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 8c486ed..8f2e6c0 100644 (file)
@@ -38,9 +38,9 @@
             So ignorieren zum Beispiel mit Yahoo, Google, Microsoft und Facebook so gut wie alle grossen Internet-Anbieter zumindest einige DNT-Header.</p>
 
 
             So ignorieren zum Beispiel mit Yahoo, Google, Microsoft und Facebook so gut wie alle grossen Internet-Anbieter zumindest einige DNT-Header.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL-Bereinigung</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser entfernt Tracking-relevante Teile aus URLs, wie z.B. <code>?utm_</code> von <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> und
+            <code>?fbclick=</code> von <a href="https://fbclid.com/">Facebook</a>. Die URL-Bereinigung kann in den Einstellungen deaktiviert werden, sollte sie Probleme verursachen.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index a2b9e6e..1cf5769 100644 (file)
@@ -38,9 +38,9 @@
             So ignorieren zum Beispiel mit Yahoo, Google, Microsoft und Facebook so gut wie alle grossen Internet-Anbieter zumindest einige DNT-Header.</p>
 
 
             So ignorieren zum Beispiel mit Yahoo, Google, Microsoft und Facebook so gut wie alle grossen Internet-Anbieter zumindest einige DNT-Header.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL-Bereinigung</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser entfernt Tracking-relevante Teile aus URLs, wie z.B. <code>?utm_</code> von <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> und
+            <code>?fbclick=</code> von <a href="https://fbclid.com/">Facebook</a>. Die URL-Bereinigung kann in den Einstellungen deaktiviert werden, sollte sie Probleme verursachen.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 90db832..cf7bdbd 100644 (file)
@@ -51,6 +51,6 @@
         <p>Los certificados SSL pueden ser fijados en Configuración de Dominios.
             Además de proteger contra ataques MITM,
             fijar un certificado autofirmado para un dispositivo como un router inalámbrico o punto de acceso eliminará el mensaje de error que se presenta normalmente cada vez que se carga su página web.
         <p>Los certificados SSL pueden ser fijados en Configuración de Dominios.
             Además de proteger contra ataques MITM,
             fijar un certificado autofirmado para un dispositivo como un router inalámbrico o punto de acceso eliminará el mensaje de error que se presenta normalmente cada vez que se carga su página web.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Al tocar la pestaña activa se muestra el certificado SSL de la página web actual.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 259e8a8..b65280a 100644 (file)
@@ -51,6 +51,6 @@
         <p>Los certificados SSL pueden ser fijados en Configuración de Dominios.
             Además de proteger contra ataques MITM,
             fijar un certificado autofirmado para un dispositivo como un router inalámbrico o punto de acceso eliminará el mensaje de error que se presenta normalmente cada vez que se carga su página web.
         <p>Los certificados SSL pueden ser fijados en Configuración de Dominios.
             Además de proteger contra ataques MITM,
             fijar un certificado autofirmado para un dispositivo como un router inalámbrico o punto de acceso eliminará el mensaje de error que se presenta normalmente cada vez que se carga su página web.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Al tocar la pestaña activa se muestra el certificado SSL de la página web actual.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 41559b6..e03279b 100644 (file)
@@ -35,9 +35,9 @@
             todos ellos ignoran al menos algunos encabezados DNT.</p>
 
 
             todos ellos ignoran al menos algunos encabezados DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> Modificación de URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Navegador Privado elimina las secciones de ID de seguimiento de las URL, como <code>?utm_</code> de <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> y
+            <code>?fbclick=</code> de <a href="https://fbclid.com/">Facebook</a>. La modificación de URL puede desactivarse en la configuración si está causando problemas.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index ff08265..daa1cd7 100644 (file)
@@ -35,9 +35,9 @@
             todos ellos ignoran al menos algunos encabezados DNT.</p>
 
 
             todos ellos ignoran al menos algunos encabezados DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> Modificación de URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Navegador Privado elimina las secciones de ID de seguimiento de las URL, como <code>?utm_</code> de <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> y
+            <code>?fbclick=</code> de <a href="https://fbclid.com/">Facebook</a>. La modificación de URL puede desactivarse en la configuración si está causando problemas.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 3efae61..c668f1c 100644 (file)
@@ -52,6 +52,6 @@
         <p>I certificati SSL possono essere appuntati nelle impostazioni dei domini.
             Oltre a proteggere dagli attacchi “MITM”,
             appuntare un certificato auto-firmato per un dispositivo come un router wireless o un access point eliminerà il messaggio di errore che si presenta ogni volta che viene caricato un sito web.
         <p>I certificati SSL possono essere appuntati nelle impostazioni dei domini.
             Oltre a proteggere dagli attacchi “MITM”,
             appuntare un certificato auto-firmato per un dispositivo come un router wireless o un access point eliminerà il messaggio di errore che si presenta ogni volta che viene caricato un sito web.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Il tocco della scheda attiva mostra il certificato SSL attuale del sito.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 08d19fa..ce2cbaf 100644 (file)
@@ -52,6 +52,6 @@
         <p>I certificati SSL possono essere appuntati nelle impostazioni dei domini.
             Oltre a proteggere dagli attacchi “MITM”,
             appuntare un certificato auto-firmato per un dispositivo come un router wireless o un access point eliminerà il messaggio di errore che si presenta ogni volta che viene caricato un sito web.
         <p>I certificati SSL possono essere appuntati nelle impostazioni dei domini.
             Oltre a proteggere dagli attacchi “MITM”,
             appuntare un certificato auto-firmato per un dispositivo come un router wireless o un access point eliminerà il messaggio di errore che si presenta ogni volta che viene caricato un sito web.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Il tocco della scheda attiva mostra il certificato SSL attuale del sito.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index abdc693..9631958 100644 (file)
@@ -35,9 +35,9 @@
             che ignorano tutti almeno alcuni degli header DNT.</p>
 
 
             che ignorano tutti almeno alcuni degli header DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> Modifica delle URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser rimuove le sezioni traccianti delle URL, come ad esempio <code>?utm_</code> di <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> e
+            <code>?fbclick=</code> di <a href="https://fbclid.com/">Facebook</a>. La modifica delle URL può essere disattivata nelle opzioni nel caso in cui crei problemi.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index f076f39..9a3b6ca 100644 (file)
@@ -35,9 +35,9 @@
             che ignorano tutti almeno alcuni degli header DNT.</p>
 
 
             che ignorano tutti almeno alcuni degli header DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> Modifica delle URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser rimuove le sezioni traccianti delle URL, come ad esempio <code>?utm_</code> di <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> e
+            <code>?fbclick=</code> di <a href="https://fbclid.com/">Facebook</a>. La modifica delle URL può essere disattivata nelle opzioni nel caso in cui crei problemi.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index cee764f..dd2212e 100644 (file)
@@ -48,6 +48,6 @@
         <p>Сертификаты SSL могут быть закреплены в настройках домена.
             Помимо защиты от атак MITM, закрепление самоподписанного сертификата для устройства, такого как беспроводной маршрутизатор или точка доступа, удалит сообщение об ошибке,
             которое обычно отображается каждый раз, когда загружается его сайт.
         <p>Сертификаты SSL могут быть закреплены в настройках домена.
             Помимо защиты от атак MITM, закрепление самоподписанного сертификата для устройства, такого как беспроводной маршрутизатор или точка доступа, удалит сообщение об ошибке,
             которое обычно отображается каждый раз, когда загружается его сайт.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            При нажатии на активную вкладку отображается текущий сертификат SSL веб-сайта.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index c21fd52..b3fc3d4 100644 (file)
@@ -48,6 +48,6 @@
         <p>Сертификаты SSL могут быть закреплены в настройках домена.
             Помимо защиты от атак MITM, закрепление самоподписанного сертификата для устройства, такого как беспроводной маршрутизатор или точка доступа, удалит сообщение об ошибке,
             которое обычно отображается каждый раз, когда загружается его сайт.
         <p>Сертификаты SSL могут быть закреплены в настройках домена.
             Помимо защиты от атак MITM, закрепление самоподписанного сертификата для устройства, такого как беспроводной маршрутизатор или точка доступа, удалит сообщение об ошибке,
             которое обычно отображается каждый раз, когда загружается его сайт.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            При нажатии на активную вкладку отображается текущий сертификат SSL веб-сайта.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 8df8540..4d8abd9 100644 (file)
@@ -33,9 +33,9 @@
             Например, Yahoo, Google, Microsoft и Facebook игнорируют, по крайней мере, некоторые заголовки DNT.</p>
 
 
             Например, Yahoo, Google, Microsoft и Facebook игнорируют, по крайней мере, некоторые заголовки DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> Модификация URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser удаляет идентификаторы отслеживания из URL-адресов, такие как <code>?utm_</code> из <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> и
+            <code>?fbclick=</code> из <a href="https://fbclid.com/">Facebook</a>. Модификация URL может быть отключена в настройках, если она вызывает проблемы.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 83373a6..ad4d8b3 100644 (file)
@@ -33,9 +33,9 @@
             Например, Yahoo, Google, Microsoft и Facebook игнорируют, по крайней мере, некоторые заголовки DNT.</p>
 
 
             Например, Yahoo, Google, Microsoft и Facebook игнорируют, по крайней мере, некоторые заголовки DNT.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> Модификация URL</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser удаляет идентификаторы отслеживания из URL-адресов, такие как <code>?utm_</code> из <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> и
+            <code>?fbclick=</code> из <a href="https://fbclid.com/">Facebook</a>. Модификация URL может быть отключена в настройках, если она вызывает проблемы.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 8cc3e1d..bc9d6f8 100644 (file)
@@ -48,6 +48,6 @@
         <p>SSL sertifikaları Domain Ayarlarından sabitlenebilir.
             MITM saldırılarına karşı korumanın yanı sıra, kablosuz bir router veya erişim noktası gibi bir cihaz için kendiliğinden imzalı bir sertifikayı sabitlemek,
             web sitesinin her yüklenmesinde normal olarak gösterilen hata mesajını kaldıracaktır.
         <p>SSL sertifikaları Domain Ayarlarından sabitlenebilir.
             MITM saldırılarına karşı korumanın yanı sıra, kablosuz bir router veya erişim noktası gibi bir cihaz için kendiliğinden imzalı bir sertifikayı sabitlemek,
             web sitesinin her yüklenmesinde normal olarak gösterilen hata mesajını kaldıracaktır.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Aktif sekmeye dokunmak, geçerli web sitesinin SSL sertifikasını gösterir.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index c85847e..100d4dd 100644 (file)
@@ -48,6 +48,6 @@
         <p>SSL sertifikaları Domain Ayarlarından sabitlenebilir.
             MITM saldırılarına karşı korumanın yanı sıra, kablosuz bir router veya erişim noktası gibi bir cihaz için kendiliğinden imzalı bir sertifikayı sabitlemek,
             web sitesinin her yüklenmesinde normal olarak gösterilen hata mesajını kaldıracaktır.
         <p>SSL sertifikaları Domain Ayarlarından sabitlenebilir.
             MITM saldırılarına karşı korumanın yanı sıra, kablosuz bir router veya erişim noktası gibi bir cihaz için kendiliğinden imzalı bir sertifikayı sabitlemek,
             web sitesinin her yüklenmesinde normal olarak gösterilen hata mesajını kaldıracaktır.
-            Tapping on the active tab displays the current website SSL certificate.</p>
+            Aktif sekmeye dokunmak, geçerli web sitesinin SSL sertifikasını gösterir.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index b67e667..8b444cd 100644 (file)
@@ -33,9 +33,9 @@
             Örneğin, Yahoo, Google, Microsoft ve Facebook, en azından bazı DNT başlıklarını yok sayar.</p>
 
 
             Örneğin, Yahoo, Google, Microsoft ve Facebook, en azından bazı DNT başlıklarını yok sayar.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_dark.png"> URL Modifikasyonu</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser, <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a>'ten <code>?utm_</code> ve <a href="https://fbclid.com/">Facebook</a>'tan
+            <code>?fbclick=</code> gibi URL'deki takip id kısımlarını kaldırır. URL modifikasyonu, herhangi bir soruna yol açması halinde ayarlardan kapatılabilir.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 94abbf4..700db3c 100644 (file)
@@ -33,9 +33,9 @@
             Örneğin, Yahoo, Google, Microsoft ve Facebook, en azından bazı DNT başlıklarını yok sayar.</p>
 
 
             Örneğin, Yahoo, Google, Microsoft ve Facebook, en azından bazı DNT başlıklarını yok sayar.</p>
 
 
-        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modification</h3>
+        <h3><img class="title" src="../shared_images/link_off_blue_light.png"> URL Modifikasyonu</h3>
 
 
-        <p>Privacy Browser removes tracking ID sections of URLs, like <code>?utm_</code> from <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a> and
-            <code>?fbclick=</code> from <a href="https://fbclid.com/">Facebook</a>. URL modification can be turned off in the settings if it is causing issues.</p>
+        <p>Privacy Browser, <a href="https://support.google.com/analytics/answer/1033867">Google Analytics</a>'ten <code>?utm_</code> ve <a href="https://fbclid.com/">Facebook</a>'tan
+            <code>?fbclick=</code> gibi URL'deki takip id kısımlarını kaldırır. URL modifikasyonu, herhangi bir soruna yol açması halinde ayarlardan kapatılabilir.</p>
     </body>
 </html>
\ No newline at end of file
     </body>
 </html>
\ No newline at end of file
index 9b34bf3..c8ff219 100644 (file)
@@ -971,8 +971,8 @@ public class ImportExportActivity extends AppCompatActivity implements StoragePe
                 System.exit(0);
             };
 
                 System.exit(0);
             };
 
-            // Restart Privacy Browser after 100 milliseconds to allow enough time for the preferences to be saved.
-            restartHandler.postDelayed(restartRunnable, 100);
+            // Restart Privacy Browser after 150 milliseconds to allow enough time for the preferences to be saved.
+            restartHandler.postDelayed(restartRunnable, 150);
 
         } else if (!(encryptionSpinner.getSelectedItemPosition() == OPENPGP_ENCRYPTION)){  // The import was not successful.
             // Display a snack bar with the import error.
 
         } else if (!(encryptionSpinner.getSelectedItemPosition() == OPENPGP_ENCRYPTION)){  // The import was not successful.
             // Display a snack bar with the import error.
index 43a17fa..fbab8bf 100644 (file)
@@ -504,7 +504,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                     // Create a handler to select the tab.
                     Handler selectTabHandler = new Handler();
 
                     // Create a handler to select the tab.
                     Handler selectTabHandler = new Handler();
 
-                    // Create a runnable select the new tab.
+                    // Create a runnable to select the tab.
                     Runnable selectTabRunnable = () -> {
                         // Get a handle for the tab.
                         TabLayout.Tab tab = tabLayout.getTabAt(position);
                     Runnable selectTabRunnable = () -> {
                         // Get a handle for the tab.
                         TabLayout.Tab tab = tabLayout.getTabAt(position);
@@ -516,8 +516,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         tab.select();
                     };
 
                         tab.select();
                     };
 
-                    // Select the tab layout after 100 milliseconds, which leaves enough time for a new tab to be created.
-                    selectTabHandler.postDelayed(selectTabRunnable, 100);
+                    // Select the tab layout after 150 milliseconds, which leaves enough time for a new tab to be inflated.
+                    selectTabHandler.postDelayed(selectTabRunnable, 150);
                 }
             }
 
                 }
             }
 
index 1834ea8..7dab898 100644 (file)
@@ -1038,8 +1038,8 @@ public class SettingsFragment extends PreferenceFragment {
                         System.exit(0);
                     };
 
                         System.exit(0);
                     };
 
-                    // Restart the activity after 100 milliseconds, so that the app has enough time to save the change to the preference.
-                    allowScreenshotsRestartHandler.postDelayed(allowScreenshotsRestartRunnable, 100);
+                    // Restart the activity after 150 milliseconds, so that the app has enough time to save the change to the preference.
+                    allowScreenshotsRestartHandler.postDelayed(allowScreenshotsRestartRunnable, 150);
                     break;
 
                 case "easylist":
                     break;
 
                 case "easylist":
@@ -1658,8 +1658,8 @@ public class SettingsFragment extends PreferenceFragment {
                         System.exit(0);
                     };
 
                         System.exit(0);
                     };
 
-                    // Restart the activity after 100 milliseconds, so that the app has enough time to save the change to the preference.
-                    changeThemeRestartHandler.postDelayed(changeThemeRestartRunnable, 100);
+                    // Restart the activity after 150 milliseconds, so that the app has enough time to save the change to the preference.
+                    changeThemeRestartHandler.postDelayed(changeThemeRestartRunnable, 150);
                     break;
 
                 case "night_mode":
                     break;
 
                 case "night_mode":