]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Add the option to pin the bookmarks drawer. https://redmine.stoutner.com/issues/932
authorSoren Stoutner <soren@stoutner.com>
Wed, 7 Dec 2022 18:47:50 +0000 (11:47 -0700)
committerSoren Stoutner <soren@stoutner.com>
Wed, 7 Dec 2022 18:47:50 +0000 (11:47 -0700)
23 files changed:
app/src/main/assets/de/about_licenses.html
app/src/main/assets/en/about_licenses.html
app/src/main/assets/es/about_licenses.html
app/src/main/assets/fr/about_licenses.html
app/src/main/assets/it/about_licenses.html
app/src/main/assets/pt-rBR/about_licenses.html
app/src/main/assets/ru/about_licenses.html
app/src/main/assets/shared_images/push_pin_filled.svg [new file with mode: 0644]
app/src/main/assets/shared_images/push_pin_filled_selected.svg [new file with mode: 0644]
app/src/main/assets/shared_images/sort_selected.svg
app/src/main/assets/tr/about_licenses.html
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/res/drawable/move_to_folder.xml
app/src/main/res/drawable/move_to_folder_blue.xml
app/src/main/res/drawable/pin.xml [new file with mode: 0644]
app/src/main/res/drawable/pin_selected.xml [new file with mode: 0644]
app/src/main/res/drawable/sort.xml
app/src/main/res/drawable/sort_selected.xml
app/src/main/res/layout-w900dp/bookmarks_drawer_bottom_appbar.xml
app/src/main/res/layout-w900dp/bookmarks_drawer_top_appbar.xml
app/src/main/res/layout/bookmarks_drawer_bottom_appbar.xml
app/src/main/res/layout/bookmarks_drawer_top_appbar.xml
app/src/main/res/values/strings.xml

index d14a94956b82321476320f85a045fb75695f398c..39e5a15fd0d64ecb9c6f41890c9b2f61a3187c4d 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> ist eine abgeänderte Version einer Klasse, die im Quelltext von
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Android Camera</a> enthalten ist.
             Die Original-Datei wurde unter der <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Lizenz 2.0</a> veröffentlicht.
-            Änderungen © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Änderungen 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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 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>,
             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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_bookmark.svg#icon"/></svg> is derived from elements of <code>bookmark</code> and <code>create_new_folder</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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_folder.svg#icon"/></svg> is derived from <code>create_new_folder</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/clear_and_exit.svg#icon"/></svg> is derived from <code>exit_to_app</code>, which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
-            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+        <p><svg class="left"><use href="../shared_images/clear_and_exit.svg#icon"/></svg> is derived from <code>exit_to_app</code>,
+            which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
+            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/night_mode.svg#icon"/></svg> is derived from <code>compare</code>, which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
-            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+        <p><svg class="left"><use href="../shared_images/night_mode.svg#icon"/></svg> is derived from <code>compare</code>,
+            which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"/> is derived from <code>sort</code>, which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
-            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"> is derived from <code>push_pin_selected</code>,
+            which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+            Modifications copyright 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/cookie.svg#icon"/></svg> <code>cookie</code> was created by Google.
             It is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index 0f08c13b9351374ef6f8a8a98bc835557beb95d6..930a69503b99f5500dc45ccef14e9fbc574466e1 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> is a modified version of a class contained in the
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Android Camera</a> source code.
             The original file was released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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 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>,
             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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_bookmark.svg#icon"/></svg> is derived from elements of <code>bookmark</code> and <code>create_new_folder</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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_folder.svg#icon"/></svg> is derived from <code>create_new_folder</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/clear_and_exit.svg#icon"/></svg> is derived from <code>exit_to_app</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/night_mode.svg#icon"/></svg> is derived from <code>compare</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"> is derived from <code>sort</code>, which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
-            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"> is derived from <code>push_pin_selected</code>,
+            which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+            Modifications copyright 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/cookie.svg#icon"/></svg> <code>cookie</code> was created by Google.
             It is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index 704c62bdadaa2df2fed2c5a9b77a52ac7d33891e..41feb7d2146ef3ea6258265addecf25c33d8daa6 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> es una versión modificada de una clase incluida en el código fuente de
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Android Camera</a>.
             El archivo original se liberó bajo la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
-            Copyright de modificaciones © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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>.
+            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
             <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>.
-            Copyright de modificaciones © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera 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/create_bookmark.svg#icon"/></svg> deriva de elementos de <code>bookmark</code> y <code>create_new_folder</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>.
-            Copyright de modificaciones © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera 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/create_folder.svg#icon"/></svg> deriva de <code>create_new_folder</code>,
             que es parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a> y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
-            Copyright de modificaciones © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera 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/clear_and_exit.svg#icon"/></svg> deriva de <code>exit_to_app</code>,
             que es parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a> y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
-            Copyright de modificaciones © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera 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/night_mode.svg#icon"/></svg> deriva de <code>compare</code>,
             que es parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a> y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
-            Copyright de modificaciones © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright de modificaciones 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera bajo la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licencia GPLv3+</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"/> deriva de <code>sort</code>, que es parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a>
-            y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>. Copyright de modificaciones © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>. Copyright de modificaciones 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            La imagen resultante se libera bajo la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licencia GPLv3+</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"/> deriva de <code>push_pin_selected</code>,
+            que es parte del <a href="https://material.io/icons/">conjunto de iconos Android Material</a> y es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
+            Copyright de modificaciones 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             La imagen resultante se libera 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/cookie.svg#icon"/></svg> <code>cookie</code> fue creado por Google.
             Es liberado bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">licencia Apache 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index 0236709439a8c6c04c06bb66b3414280964a872d..dcdf004dfc05cc6cbb65c284e0368a69bee9f89f 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> est une version modifiée d'une classe contenue dans le code source de la
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Caméra Android</a>.
             Le fichier d'origine a été publié sous la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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>.
+            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>,
             qui font partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a>
             et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée 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/create_bookmark.svg#icon"/></svg> est dérivé des éléments <code>bookmark</code> et <code>create_new_folder</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 <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée 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/create_folder.svg#icon"/></svg> est dérivée de l'élément <code>create_new_folder</code>,
             qui fait partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée 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/clear_and_exit.svg#icon"/></svg>  est dérivée de l'élément <code>exit_to_app</code>, qui fait partie de
             <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée 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/night_mode.svg#icon"/></svg> est dérivée de l'élément <code>compare</code>,
             qui fait partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"/> est dérivée de l'élément <code>sort</code>,
             qui fait partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
-            Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            L'image résultante est publiée sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"/> est dérivée de l'élément <code>push_pin_selected</code>,
+            qui fait partie de <a href="https://material.io/icons/">l'ensemble d'icônes Matériel Android</a> et sont publiés sous <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
+            Modifications copyright 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'image résultante est publiée 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/cookie.svg#icon"/></svg> <code>cookie</code> a été créé par Google.
             Il est publié sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index e657903625ec8d4436760117284b3768ee3995ab..f2366b2aab3f5b15f78379425c7d5f2df0ed5fa4 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> è la versione modificata di una classe contenuta nel codice sorgente della
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Fotocamera Android</a>.
             Il file originale è stato rilasciato sotto la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
-            Copyright delle modifiche © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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>.
+            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
             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>.
-            Copyright delle modifiche © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2017, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/create_bookmark.svg#icon"/></svg> è stata derivata da elementi di <code>bookmark</code> e di <code>create_new_folder</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>.
-            Copyright delle modifiche © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2017, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/create_folder.svg#icon"/></svg> è stata derivata da <code>create_new_folder</code>,
             che fa parte dell'<a href="https://material.io/icons/">Android Material icon set</a> ed è stata rilasciata sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
-            Copyright delle modifiche © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2017, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/clear_and_exit.svg#icon"/></svg> è stata derivata da <code>exit_to_app</code>,
             che fa parte dell'<a href="https://material.io/icons/">Android Material icon set</a> ed è stata rilasciata sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
-            Copyright delle modifiche © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2017, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/night_mode.svg#icon"/></svg> è stata derivata da <code>compare</code>,
             che fa parte dell'<a href="https://material.io/icons/">Android Material icon set</a> ed è stata rilasciata sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
-            Copyright delle modifiche © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2017, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"/> è stata derivata da <code>sort</code>,
             che fa parte dell'<a href="https://material.io/icons/">Android Material icon set</a> ed è stata rilasciata sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
-            Copyright delle modifiche © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Copyright delle modifiche 2019, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"/> è stata derivata da <code>push_pin_selected</code>,
+            che fa parte dell'<a href="https://material.io/icons/">Android Material icon set</a> ed è stata rilasciata sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
+            Copyright delle modifiche 2019-2020, 2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             L'immagine risultante è rilasciata sotto <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
         <p><svg class="left"><use href="../shared_images/cookie.svg#icon"/></svg> <code>cookie</code> è stata creata da Google.
             E' stata rilasciata con <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index a4ff073dfc4d0e8abd18a46b4a3338ea5956d177..5c94756f8d575ed23294a97d7cb7abb2e7450d2b 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code>  é uma versão modificada de uma classe contida no código-fonte da
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">câmera Android</a>.
             O arquivo original foi lançado sob a <a href="https://www.apache.org/licenses/LICENSE-2.0">licença Apache 2.0</a>.
-            Modificações de direitos autorais © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modificações de direitos autorais 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             O arquivo modificado é liberado sob a <a href="https://www.gnu.org/licenses/gpl-3.0.html">licença GPLv3+</a>.</p>
 
         <h3>Icons</h3>
         <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 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>,
             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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_bookmark.svg#icon"/></svg> is derived from elements of <code>bookmark</code> and <code>create_new_folder</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>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/create_folder.svg#icon"/></svg> is derived from <code>create_new_folder</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/clear_and_exit.svg#icon"/></svg> is derived from <code>exit_to_app</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/night_mode.svg#icon"/></svg> is derived from <code>compare</code>,
             which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
-            Modifications copyright © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Modifications copyright 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"> is derived from <code>sort</code>, which is part of the <a href="https://material.io/icons/">Android Material icon set</a>
-            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. Modifications copyright 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            The resulting image is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"> is derived from <code>push_pin_selected</code>,
+            which is part of the <a href="https://material.io/icons/">Android Material icon set</a> and is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
+            Modifications copyright 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             The resulting image is 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/cookie.svg#icon"/></svg> <code>cookie</code> was created by Google.
             It is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index 0c1ecfdab94ed28f229d06cd8be3082773946c0f..0c1454918e62529cb8317845be7966d1faa0610a 100644 (file)
         <p><code>com.stoutner.privacybrowser.views.<wbr>CheckedLinearLayout</code> является модифицированной версией класса, содержащегося в исходном коде
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Android Camera</a>.
             Оригинальный файл был выпущен под лицензией <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
-            Модификации авторских прав © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Модифицированный файл выпущен под лицензией <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/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>.
+            Модификации авторских прав 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>, которые являются частью
             <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>.
-            Модификации авторских прав © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2017, 2022 <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/create_bookmark.svg#icon"/></svg> являются производными от <code>bookmark</code> и <code>create_new_folder</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>.
-            Модификации авторских прав © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2017, 2022 <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/create_folder.svg#icon"/></svg> являются производными от <code>create_new_folder</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>.
-            Модификации авторских прав © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2017, 2022 <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/clear_and_exit.svg#icon"/></svg> являются производными от <code>exit_to_app</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>.
-            Модификации авторских прав © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2017, 2022 <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/night_mode.svg#icon"/></svg> являются производными от <code>compare</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>.
-            Модификации авторских прав © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Полученные изображения выпущены под <a href="https://www.gnu.org/licenses/gpl-3.0.html">лицензией GPLv3+</a>.</p>
         <p><img class="left" src="../shared_images/sort_selected.svg"/> являются производными от <code>sort</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>.
-            Модификации авторских прав © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Модификации авторских прав 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Полученные изображения выпущены под <a href="https://www.gnu.org/licenses/gpl-3.0.html">лицензией GPLv3+</a>.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.svg"/> являются производными от <code>push_pin_selected</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>.
+            Модификации авторских прав 2019-2020, 2022 <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/cookie.svg#icon"/></svg> <code>cookie</code> были созданы Google.
             Они выпущены под <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
diff --git a/app/src/main/assets/shared_images/push_pin_filled.svg b/app/src/main/assets/shared_images/push_pin_filled.svg
new file mode 100644 (file)
index 0000000..1918c8e
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+  Copyright 2019,2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+
+  It is a modified version of `push_pin_filled`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+
+  Privacy Browser Android 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 Android 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 Android.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    id="icon" >
+
+    <path
+        d="m16 12 2 2v2h-5v6l-1 1-1-1v-6H6v-2l2-2V5H7V3h10v2h-1Z" />
+</svg>
diff --git a/app/src/main/assets/shared_images/push_pin_filled_selected.svg b/app/src/main/assets/shared_images/push_pin_filled_selected.svg
new file mode 100644 (file)
index 0000000..b565739
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+  Copyright 2019-2020,2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+
+  It is derived from elements of `push_pin_filled`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+
+  Privacy Browser Android 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 Android 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 Android.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24" >
+
+    <style>
+        rect {
+            fill: #E0E0E0;
+        }
+
+        path {
+            fill: #000000;
+        }
+
+        @media (prefers-color-scheme: dark) {
+            rect {
+                fill: #616161;
+            }
+
+            path {
+                fill: #FFFFFF;
+            }
+        }
+    </style>
+
+    <!-- Background. -->
+    <g>
+        <rect
+            height="24"
+            width="24"
+            x="0"
+            y="0"
+            ry="3.1525424" />
+    </g>
+
+    <!-- Foreground. -->
+    <g>
+        <path
+            d="m 16,12 2,2 v 2 h -5 v 6 l -1,1 -1,-1 V 16 H 6 V 14 L 8,12 V 5 H 7 V 3 h 10 v 2 h -1 z" />
+    </g>
+</svg>
index daedfac7e321e78b9cfd9a8e5c8416dc456a139f..ccb7ad630dcee876732950547d3a8a71c73648c2 100644 (file)
@@ -47,8 +47,8 @@
     <!-- Background -->
     <g>
         <rect
-            width="24"
             height="24"
+            width="24"
             x="0"
             y="0"
             ry="3.1525424" />
index 9f11f96c64ea1986f419239fb798e0f98a049f0a..22a00de84b5bb76c74063438af7ff99f4a9dbb67 100644 (file)
             <a href="https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera/ui/CheckedLinearLayout.java">Android Kamera</a>
             kaynak kodunda bulunan bir sınıfın modifiye edilmiş bir sürümüdür.
             Orijinal dosya <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlandı.
-            Değişikliklerin telif hakkı © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             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/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>.
+            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>
         <p><svg class="left"><use href="../shared_images/move_to_folder.svg#icon"/></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>folder</code> ve <code>exit_to_app</code> elementlerinden elde edilmiştir.
-            Değişikliklerin telif hakkı © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><svg class="left"><use href="../shared_images/create_bookmark.svg#icon"/></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>bookmarks</code> ve <code>create_new_folder</code> elementlerinden elde edilmiştir.
-            Değişikliklerin telif hakkı © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><svg class="left"><use href="../shared_images/create_folder.svg#icon"/></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>create_new_folder</code>'dan elde edilmiştir.
-            Değişikliklerin telif hakkı © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><svg class="left"><use href="../shared_images/clear_and_exit.svg#icon"/></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>exit_to_app</code>'ten elde edilmiştir.
-            Değişikliklerin telif hakkı © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><svg class="left"><use href="../shared_images/night_mode.svg#icon"/></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>compare</code>'den elde edilmiştir.
-            Değişikliklerin telif hakkı © 2017 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2017, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><img class="left" src="../shared_images/sort_selected.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>sort</code>'dan elde edilmiştir.
-            Değişikliklerin telif hakkı © 2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Değişikliklerin telif hakkı 2019, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+            Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
+        <p><img class="left" src="../shared_images/push_pin_filled_selected.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>push_pin_selected</code>'dan elde edilmiştir.
+            Değişikliklerin telif hakkı 2019-2020, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
             Ortaya çıkan görüntü <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı.</p>
         <p><svg class="left"><use href="../shared_images/cookie.svg#icon"/></svg> <code>cookie</code> Google tarafından oluşturuldu.
             <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlandı ve <a href="https://materialdesignicons.com/icon/cookie">Material Design</a>
         <p><svg class="icon"><use href="../shared_images/lock.svg#icon"/></svg> lock.</p>
         <p><svg class="icon"><use href="../shared_images/map.svg#icon"/></svg> map.</p>
         <p><svg class="icon"><use href="../shared_images/more.svg#icon"/></svg> more.</p>
-        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new releases.</p>
+        <p><svg class="icon"><use href="../shared_images/new_releases.svg#icon"/></svg> new_releases.</p>
         <p><svg class="icon"><use href="../shared_images/open_in_browser.svg#icon"/></svg> open_in_browser.</p>
         <p><svg class="icon"><use href="../shared_images/payment.svg#icon"/></svg> payment.</p>
         <p><svg class="icon"><use href="../shared_images/payments_rounded.svg#icon"/></svg> payments_rounded.</p>
+        <p><svg class="icon"><use href="../shared_images/push_pin_filled.svg#icon"/></svg> push_pin_filled.</p>
         <p><svg class="icon"><use href="../shared_images/question_answer.svg#icon"/></svg> question_answer.</p>
         <p><svg class="icon"><use href="../shared_images/refresh.svg#icon"/></svg> refresh.</p>
         <p><svg class="icon"><use href="../shared_images/save.svg#icon"/></svg> save.</p>
index 3d0013e409d6c62d8c60b631b50f8d9ceaf3e52d..2f41688a5a56f349988b666f98887b4a24379965 100644 (file)
@@ -137,7 +137,6 @@ import com.stoutner.privacybrowser.dataclasses.PendingDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkFolderDialog;
 import com.stoutner.privacybrowser.dialogs.CreateHomeScreenShortcutDialog;
-import com.stoutner.privacybrowser.dialogs.EditBookmarkFolderDialog;
 import com.stoutner.privacybrowser.dialogs.FontSizeDialog;
 import com.stoutner.privacybrowser.dialogs.HttpAuthenticationDialog;
 import com.stoutner.privacybrowser.dialogs.OpenDialog;
@@ -185,9 +184,8 @@ import java.util.concurrent.Executors;
 import kotlin.Pair;
 
 public class MainWebViewActivity extends AppCompatActivity implements CreateBookmarkDialog.CreateBookmarkListener, CreateBookmarkFolderDialog.CreateBookmarkFolderListener,
-        EditBookmarkFolderDialog.EditBookmarkFolderListener, FontSizeDialog.UpdateFontSizeListener, NavigationView.OnNavigationItemSelectedListener, OpenDialog.OpenListener,
-        PinnedMismatchDialog.PinnedMismatchListener, PopulateBlocklists.PopulateBlocklistsListener, SaveDialog.SaveListener, UrlHistoryDialog.NavigateHistoryListener,
-        WebViewTabFragment.NewTabListener {
+        FontSizeDialog.UpdateFontSizeListener, NavigationView.OnNavigationItemSelectedListener, OpenDialog.OpenListener, PinnedMismatchDialog.PinnedMismatchListener,
+        PopulateBlocklists.PopulateBlocklistsListener, SaveDialog.SaveListener, UrlHistoryDialog.NavigateHistoryListener, WebViewTabFragment.NewTabListener {
 
     // Define the public static variables.
     public static final ExecutorService executorService = Executors.newFixedThreadPool(4);
@@ -216,10 +214,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     public final static int BROWSE_OPEN_REQUEST_CODE = 1;
 
     // Define the saved instance state constants.
+    private final String BOOKMARKS_DRAWER_PINNED = "bookmarks_drawer_pinned";
+    private final String PROXY_MODE = "proxy_mode";
     private final String SAVED_STATE_ARRAY_LIST = "saved_state_array_list";
     private final String SAVED_NESTED_SCROLL_WEBVIEW_STATE_ARRAY_LIST = "saved_nested_scroll_webview_state_array_list";
     private final String SAVED_TAB_POSITION = "saved_tab_position";
-    private final String PROXY_MODE = "proxy_mode";
 
     // Define the saved instance state variables.
     private ArrayList<Bundle> savedStateArrayList;
@@ -260,9 +259,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     // `bookmarksCursorAdapter` is used in `onCreateBookmark()`, `onCreateBookmarkFolder()` `onSaveEditBookmark()`, `onSaveEditBookmarkFolder()`, and `loadBookmarksFolder()`.
     private CursorAdapter bookmarksCursorAdapter;
 
-    // `oldFolderNameString` is used in `onCreate()` and `onSaveEditBookmarkFolder()`.
-    private String oldFolderNameString;
-
     // `fileChooserCallback` is used in `onCreate()` and `onActivityResult()`.
     private ValueCallback<Uri[]> fileChooserCallback;
 
@@ -278,6 +274,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     private SanitizeUrlHelper sanitizeUrlHelper;
 
     // Declare the class variables
+    private boolean bookmarksDrawerPinned;
     private boolean bottomAppBar;
     private boolean displayAdditionalAppBarIcons;
     private boolean displayingFullScreenVideo;
@@ -301,19 +298,20 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     private String saveUrlString = "";
 
     // Declare the class views.
-    private FrameLayout rootFrameLayout;
-    private DrawerLayout drawerLayout;
-    private CoordinatorLayout coordinatorLayout;
-    private Toolbar toolbar;
-    private RelativeLayout urlRelativeLayout;
-    private EditText urlEditText;
     private ActionBar actionBar;
+    private CoordinatorLayout coordinatorLayout;
+    private ImageView bookmarksDrawerPinnedImageView;
+    private DrawerLayout drawerLayout;
     private LinearLayout findOnPageLinearLayout;
+    private FrameLayout fullScreenVideoFrameLayout;
+    private FrameLayout rootFrameLayout;
+    private SwipeRefreshLayout swipeRefreshLayout;
     private LinearLayout tabsLinearLayout;
     private TabLayout tabLayout;
-    private SwipeRefreshLayout swipeRefreshLayout;
+    private Toolbar toolbar;
+    private EditText urlEditText;
+    private RelativeLayout urlRelativeLayout;
     private ViewPager webViewPager;
-    private FrameLayout fullScreenVideoFrameLayout;
 
     // Declare the class menus.
     private Menu optionsMenu;
@@ -488,6 +486,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Check to see if the activity has been restarted.
         if (savedInstanceState != null) {
             // Store the saved instance state variables.
+            bookmarksDrawerPinned = savedInstanceState.getBoolean(BOOKMARKS_DRAWER_PINNED);
             savedStateArrayList = savedInstanceState.getParcelableArrayList(SAVED_STATE_ARRAY_LIST);
             savedNestedScrollWebViewStateArrayList = savedInstanceState.getParcelableArrayList(SAVED_NESTED_SCROLL_WEBVIEW_STATE_ARRAY_LIST);
             savedTabPosition = savedInstanceState.getInt(SAVED_TAB_POSITION);
@@ -550,6 +549,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         swipeRefreshLayout = findViewById(R.id.swiperefreshlayout);
         webViewPager = findViewById(R.id.webviewpager);
         NavigationView navigationView = findViewById(R.id.navigationview);
+        bookmarksDrawerPinnedImageView = findViewById(R.id.bookmarks_drawer_pinned_imageview);
         fullScreenVideoFrameLayout = findViewById(R.id.full_screen_video_framelayout);
 
         // Get a handle for the navigation menu.
@@ -608,6 +608,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         proxyHelper = new ProxyHelper();
         sanitizeUrlHelper = new SanitizeUrlHelper();
 
+        // Update the bookmarks drawer pinned image view.
+        updateBookmarksDrawerPinnedImageView();
+
         // Initialize the app.
         initializeApp();
 
@@ -924,10 +927,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         int currentTabPosition = tabLayout.getSelectedTabPosition();
 
         // Store the saved states in the bundle.
+        savedInstanceState.putBoolean(BOOKMARKS_DRAWER_PINNED, bookmarksDrawerPinned);
+        savedInstanceState.putString(PROXY_MODE, proxyMode);
         savedInstanceState.putParcelableArrayList(SAVED_STATE_ARRAY_LIST, savedStateArrayList);
         savedInstanceState.putParcelableArrayList(SAVED_NESTED_SCROLL_WEBVIEW_STATE_ARRAY_LIST, savedNestedScrollWebViewStateArrayList);
         savedInstanceState.putInt(SAVED_TAB_POSITION, currentTabPosition);
-        savedInstanceState.putString(PROXY_MODE, proxyMode);
     }
 
     @Override
@@ -2714,97 +2718,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         bookmarksListView.setSelection(0);
     }
 
-    @Override
-    public void onSaveBookmarkFolder(DialogFragment dialogFragment, int selectedFolderDatabaseId, @NonNull Bitmap favoriteIconBitmap) {
-        // Remove the incorrect lint warning below that the dialog fragment might be null.
-        assert dialogFragment != null;
-
-        // Get the dialog.
-        Dialog dialog = dialogFragment.getDialog();
-
-        // Remove the incorrect lint warning below that the dialog might be null.
-        assert dialog != null;
-
-        // Get handles for the views from the dialog.
-        RadioButton currentFolderIconRadioButton = dialog.findViewById(R.id.current_icon_radiobutton);
-        RadioButton defaultFolderIconRadioButton = dialog.findViewById(R.id.default_icon_radiobutton);
-        ImageView defaultFolderIconImageView = dialog.findViewById(R.id.default_icon_imageview);
-        EditText editFolderNameEditText = dialog.findViewById(R.id.folder_name_edittext);
-
-        // Get the new folder name.
-        String newFolderNameString = editFolderNameEditText.getText().toString();
-
-        // Check if the favorite icon has changed.
-        if (currentFolderIconRadioButton.isChecked()) {  // Only the name has changed.
-            // Update the name in the database.
-            bookmarksDatabaseHelper.updateFolder(selectedFolderDatabaseId, oldFolderNameString, newFolderNameString);
-        } else if (!currentFolderIconRadioButton.isChecked() && newFolderNameString.equals(oldFolderNameString)) {  // Only the icon has changed.
-            // Create the new folder icon Bitmap.
-            Bitmap folderIconBitmap;
-
-            // Populate the new folder icon bitmap.
-            if (defaultFolderIconRadioButton.isChecked()) {
-                // Get the default folder icon drawable.
-                Drawable folderIconDrawable = defaultFolderIconImageView.getDrawable();
-
-                // Convert the folder icon drawable to a bitmap drawable.
-                BitmapDrawable folderIconBitmapDrawable = (BitmapDrawable) folderIconDrawable;
-
-                // Convert the folder icon bitmap drawable to a bitmap.
-                folderIconBitmap = folderIconBitmapDrawable.getBitmap();
-            } else {  // Use the `WebView` favorite icon.
-                // Copy the favorite icon bitmap to the folder icon bitmap.
-                folderIconBitmap = favoriteIconBitmap;
-            }
-
-            // Create a folder icon byte array output stream.
-            ByteArrayOutputStream newFolderIconByteArrayOutputStream = new ByteArrayOutputStream();
-
-            // Convert the folder icon bitmap to a byte array.  `0` is for lossless compression (the only option for a PNG).
-            folderIconBitmap.compress(Bitmap.CompressFormat.PNG, 0, newFolderIconByteArrayOutputStream);
-
-            // Convert the folder icon byte array stream to a byte array.
-            byte[] newFolderIconByteArray = newFolderIconByteArrayOutputStream.toByteArray();
-
-            // Update the folder icon in the database.
-            bookmarksDatabaseHelper.updateFolder(selectedFolderDatabaseId, newFolderIconByteArray);
-        } else {  // The folder icon and the name have changed.
-            // Get the new folder icon bitmap.
-            Bitmap folderIconBitmap;
-            if (defaultFolderIconRadioButton.isChecked()) {
-                // Get the default folder icon drawable.
-                Drawable folderIconDrawable = defaultFolderIconImageView.getDrawable();
-
-                // Convert the folder icon drawable to a bitmap drawable.
-                BitmapDrawable folderIconBitmapDrawable = (BitmapDrawable) folderIconDrawable;
-
-                // Convert the folder icon bitmap drawable to a bitmap.
-                folderIconBitmap = folderIconBitmapDrawable.getBitmap();
-            } else {  // Use the `WebView` favorite icon.
-                // Copy the favorite icon bitmap to the folder icon bitmap.
-                folderIconBitmap = favoriteIconBitmap;
-            }
-
-            // Create a folder icon byte array output stream.
-            ByteArrayOutputStream newFolderIconByteArrayOutputStream = new ByteArrayOutputStream();
-
-            // Convert the folder icon bitmap to a byte array.  `0` is for lossless compression (the only option for a PNG).
-            folderIconBitmap.compress(Bitmap.CompressFormat.PNG, 0, newFolderIconByteArrayOutputStream);
-
-            // Convert the folder icon byte array stream to a byte array.
-            byte[] newFolderIconByteArray = newFolderIconByteArrayOutputStream.toByteArray();
-
-            // Update the folder name and icon in the database.
-            bookmarksDatabaseHelper.updateFolder(selectedFolderDatabaseId, oldFolderNameString, newFolderNameString, newFolderIconByteArray);
-        }
-
-        // Update the bookmarks cursor with the current contents of this folder.
-        bookmarksCursor = bookmarksDatabaseHelper.getBookmarksByDisplayOrder(currentBookmarksFolder);
-
-        // Update the list view.
-        bookmarksCursorAdapter.changeCursor(bookmarksCursor);
-    }
-
     // Process the results of a file browse.
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent returnedIntent) {
@@ -3408,14 +3321,16 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Load the bookmark URL.
                 loadUrl(currentWebView, bookmarkCursor.getString(bookmarkCursor.getColumnIndexOrThrow(BookmarksDatabaseHelper.BOOKMARK_URL)));
 
-                // Close the bookmarks drawer.
-                drawerLayout.closeDrawer(GravityCompat.END);
+                // Close the bookmarks drawer if it is not pinned.
+                if (!bookmarksDrawerPinned)
+                    drawerLayout.closeDrawer(GravityCompat.END);
             }
 
-            // Close the `Cursor`.
+            // Close the cursor.
             bookmarkCursor.close();
         });
 
+        // Handle long-presses on bookmarks.
         bookmarksListView.setOnItemLongClickListener((parent, view, position, id) -> {
             // Convert the database ID from `long` to `int`.
             int databaseId = (int) id;
@@ -3433,8 +3348,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                 // Open each bookmark
                 for (int i = 0; i < bookmarksCursor.getCount(); i++) {
-                    // Load the bookmark in a new tab, moving to the tab for the first bookmark (i == 0).
-                    addNewTab(bookmarksCursor.getString(bookmarksCursor.getColumnIndexOrThrow(BookmarksDatabaseHelper.BOOKMARK_URL)), (i == 0));
+                    // Load the bookmark in a new tab, moving to the tab for the first bookmark if the drawer is not pinned.
+                    addNewTab(bookmarksCursor.getString(bookmarksCursor.getColumnIndexOrThrow(BookmarksDatabaseHelper.BOOKMARK_URL)), (!bookmarksDrawerPinned && (i == 0)));
 
                     // Move to the next bookmark.
                     bookmarksCursor.moveToNext();
@@ -3442,9 +3357,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                 // Close the cursor.
                 bookmarksCursor.close();
-
-                // Close the bookmarks drawer.
-                drawerLayout.closeDrawer(GravityCompat.END);
             } else {  // The bookmark is not a folder.
                 // Get the bookmark cursor for this ID.
                 Cursor bookmarkCursor = bookmarksDatabaseHelper.getBookmark(databaseId);
@@ -3452,15 +3364,16 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Move the bookmark cursor to the first row.
                 bookmarkCursor.moveToFirst();
 
-                // Load the bookmark in a new tab.
-                addNewTab(bookmarkCursor.getString(bookmarkCursor.getColumnIndexOrThrow(BookmarksDatabaseHelper.BOOKMARK_URL)), true);
+                // Load the bookmark in a new tab and move to the tab if the drawer is not pinned.
+                addNewTab(bookmarkCursor.getString(bookmarkCursor.getColumnIndexOrThrow(BookmarksDatabaseHelper.BOOKMARK_URL)), !bookmarksDrawerPinned);
 
                 // Close the cursor.
                 bookmarkCursor.close();
+            }
 
-                // Close the bookmarks drawer.
+            // Close the bookmarks drawer if it is not pinned.
+            if (!bookmarksDrawerPinned)
                 drawerLayout.closeDrawer(GravityCompat.END);
-            }
 
             // Consume the event.
             return true;
@@ -4922,6 +4835,22 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         }
     }
 
+    public void toggleBookmarksDrawerPinned(View view) {
+        // Toggle the bookmarks drawer pinned tracker.
+        bookmarksDrawerPinned = !bookmarksDrawerPinned;
+
+        // Update the bookmarks drawer pinned image view.
+        updateBookmarksDrawerPinnedImageView();
+    }
+
+    private void updateBookmarksDrawerPinnedImageView() {
+        // Set the current icon.
+        if (bookmarksDrawerPinned)
+            bookmarksDrawerPinnedImageView.setImageResource(R.drawable.pin_selected);
+        else
+            bookmarksDrawerPinnedImageView.setImageResource(R.drawable.pin);
+    }
+
     private void setCurrentWebView(int pageNumber) {
         // Stop the swipe to refresh indicator if it is running
         swipeRefreshLayout.setRefreshing(false);
index b9568180e16d0686a16531a9ed8f38f8225c81b9..0914f14fa61833c8d76d653284b46df5e23be18c 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  Copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017,2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
 
@@ -29,4 +29,4 @@
     <path
         android:fillColor="@color/icon"
         android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
-</vector>
\ No newline at end of file
+</vector>
index 59235795aa4793403ba5c1376dce71f860d2ba2a..704fa1536665f921f9861514493177a3fb02def8 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  Copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017,2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
 
@@ -29,4 +29,4 @@
     <path
         android:fillColor="@color/blue_icon"
         android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
-</vector>
\ No newline at end of file
+</vector>
diff --git a/app/src/main/res/drawable/pin.xml b/app/src/main/res/drawable/pin.xml
new file mode 100644 (file)
index 0000000..4b6947b
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `push_pin_filled`.  It is released under the Apache License 2.0. -->
+
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24" >
+
+    <path
+        android:fillColor="@color/icon"
+        android:pathData="m16,12 l2,2v2h-5v6l-1,1 -1,-1v-6H6v-2l2,-2V5H7V3h10v2h-1Z" />
+</vector>
diff --git a/app/src/main/res/drawable/pin_selected.xml b/app/src/main/res/drawable/pin_selected.xml
new file mode 100644 (file)
index 0000000..f7a1d9b
--- /dev/null
@@ -0,0 +1,35 @@
+<!--
+  Copyright 2019,2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is derived from `push_pin_filled`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+
+  Privacy Browser Android 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 Android 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 Android.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24" >
+
+    <path
+        android:fillColor="@color/selected_icon_background"
+        android:pathData="M3.153,0L20.847,0A3.153,3.153 0,0 1,24 3.153L24,20.847A3.153,3.153 0,0 1,20.847 24L3.153,24A3.153,3.153 0,0 1,0 20.847L0,3.153A3.153,3.153 0,0 1,3.153 0z" />
+
+    <path
+        android:fillColor="@color/icon"
+        android:pathData="m16,12 l2,2v2h-5v6l-1,1 -1,-1V16H6V14L8,12V5H7V3h10v2h-1z" />
+</vector>
index 1552f811130e81df41d5b515515516f61f8bdd5f..6892e4de9ecf9d7a1d0a9c5f1802d8b36e202e82 100644 (file)
@@ -11,4 +11,4 @@
     <path
         android:fillColor="@color/icon"
         android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z" />
-</vector>
\ No newline at end of file
+</vector>
index adc8925109020cd2c7f1194ea62353aa82c37702..a911b995736e8de6820181927b4ed78095e7011f 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  Copyright © 2019,2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2019,2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is derived from `sort`, which is part of the Android Material icon set and is released under the Apache License 2.0.
 
@@ -33,4 +33,4 @@
     <path
         android:fillColor="@color/icon"
         android:pathData="M3,18H9V16H3ZM3,6v2h18v-2zM3,13H15V11H3Z" />
-</vector>
\ No newline at end of file
+</vector>
index eadc8c98dfe1a4ce8e287413d1560e47a7d7ddb8..fd756a304eac186f2f3da87a9a625e555f009bcd 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017,2019-2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017,2019-2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
 
@@ -49,6 +49,7 @@
             android:orientation="horizontal"
             tools:ignore="UseCompoundDrawables" >
 
+            <!-- Back arrow. -->
             <ImageView
                 android:layout_height="match_parent"
                 android:layout_width="wrap_content"
                 android:paddingStart="15dp"
                 android:paddingEnd="15dp"
                 android:src="@drawable/back"
-                android:background="?attr/selectableItemBackground"
                 android:onClick="bookmarksBack"
                 android:contentDescription="@string/back" />
 
+            <!-- Bookmarks folder title. -->
             <TextView
                 android:id="@+id/bookmarks_title_textview"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:textStyle="bold"
                 android:textSize="20sp"
                 android:textColor="?android:attr/textColorPrimary"
                 android:layout_margin="10dp" />
+
+            <!-- Pin. -->
+            <ImageView
+                android:id="@+id/bookmarks_drawer_pinned_imageview"
+                android:layout_height="match_parent"
+                android:layout_width="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:paddingStart="15dp"
+                android:paddingEnd="20dp"
+                android:onClick="toggleBookmarksDrawerPinned"
+                android:contentDescription="@string/pin_drawer" />
         </LinearLayout>
     </LinearLayout>
 
@@ -77,7 +90,7 @@
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="155dp"
+        android:layout_marginBottom="200dp"
         android:src="@drawable/bookmarks"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/bookmarks" />
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="85dp"
+        android:layout_marginBottom="130dp"
         android:src="@drawable/create_folder"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/create_folder" />
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
-        android:layout_margin="16dp"
+        android:layout_marginEnd="16dp"
+        android:layout_marginBottom="60dp"
         android:src="@drawable/create_bookmark"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/create_bookmark" />
-</FrameLayout>
\ No newline at end of file
+</FrameLayout>
index 911f0a6d5ae2bcd7978e727201d81f8441d39a11..cda02c0aaf77b5adf4a891160a1f43daa7854001 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017,2019-2020,2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017,2019-2020,2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
 
@@ -41,6 +41,7 @@
             android:orientation="horizontal"
             tools:ignore="UseCompoundDrawables" >
 
+            <!-- Back arrow. -->
             <ImageView
                 android:layout_height="match_parent"
                 android:layout_width="wrap_content"
                 android:paddingStart="15dp"
                 android:paddingEnd="15dp"
                 android:src="@drawable/back"
-                android:background="?attr/selectableItemBackground"
                 android:onClick="bookmarksBack"
                 android:contentDescription="@string/back" />
 
+            <!-- Bookmarks folder title. -->
             <TextView
                 android:id="@+id/bookmarks_title_textview"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:textStyle="bold"
                 android:textSize="20sp"
                 android:textColor="?android:attr/textColorPrimary"
                 android:layout_margin="10dp" />
+
+            <!-- Pin. -->
+            <ImageView
+                android:id="@+id/bookmarks_drawer_pinned_imageview"
+                android:layout_height="match_parent"
+                android:layout_width="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:paddingStart="15dp"
+                android:paddingEnd="20dp"
+                android:onClick="toggleBookmarksDrawerPinned"
+                android:contentDescription="@string/pin_drawer" />
         </LinearLayout>
 
         <ListView
         android:src="@drawable/create_bookmark"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/create_bookmark" />
-</FrameLayout>
\ No newline at end of file
+</FrameLayout>
index 7ba10280e50b99af23f84e1596a78766c25df527..3ec8e144f15c01acd8241e968f67113ae0c1d9e1 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017-2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
 
@@ -48,6 +48,7 @@
             android:orientation="horizontal"
             tools:ignore="UseCompoundDrawables" >
 
+            <!-- Back arrow. -->
             <ImageView
                 android:layout_height="match_parent"
                 android:layout_width="wrap_content"
                 android:paddingStart="15dp"
                 android:paddingEnd="15dp"
                 android:src="@drawable/back"
-                android:background="?attr/selectableItemBackground"
                 android:onClick="bookmarksBack"
                 android:contentDescription="@string/back" />
 
+            <!-- Bookmarks folder title. -->
             <TextView
                 android:id="@+id/bookmarks_title_textview"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:textStyle="bold"
                 android:textSize="20sp"
                 android:textColor="?android:attr/textColorPrimary"
                 android:layout_margin="10dp" />
+
+            <!-- Pin. -->
+            <ImageView
+                android:id="@+id/bookmarks_drawer_pinned_imageview"
+                android:layout_height="match_parent"
+                android:layout_width="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:paddingStart="15dp"
+                android:paddingEnd="20dp"
+                android:onClick="toggleBookmarksDrawerPinned"
+                android:contentDescription="@string/pin_drawer" />
         </LinearLayout>
     </LinearLayout>
 
         android:src="@drawable/create_bookmark"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/create_bookmark" />
-</FrameLayout>
\ No newline at end of file
+</FrameLayout>
index f4e37b27b4fa7d09ba9a1b5501d0a24673e7bf98..bea5b9d2d8b0cccaa0cd58763baa4fa46eac6cf5 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2020,2022 Soren Stoutner <soren@stoutner.com>.
+  Copyright 2017-2020,2022 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
 
@@ -40,6 +40,7 @@
             android:orientation="horizontal"
             tools:ignore="UseCompoundDrawables" >
 
+            <!-- Back arrow. -->
             <ImageView
                 android:layout_height="match_parent"
                 android:layout_width="wrap_content"
                 android:paddingStart="15dp"
                 android:paddingEnd="15dp"
                 android:src="@drawable/back"
-                android:background="?attr/selectableItemBackground"
                 android:onClick="bookmarksBack"
                 android:contentDescription="@string/back" />
 
+            <!-- Bookmarks folder title. -->
             <TextView
                 android:id="@+id/bookmarks_title_textview"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:textStyle="bold"
                 android:textSize="20sp"
                 android:textColor="?android:attr/textColorPrimary"
                 android:layout_margin="10dp" />
+
+            <!-- Pin. -->
+            <ImageView
+                android:id="@+id/bookmarks_drawer_pinned_imageview"
+                android:layout_height="match_parent"
+                android:layout_width="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:paddingStart="15dp"
+                android:paddingEnd="20dp"
+                android:onClick="toggleBookmarksDrawerPinned"
+                android:contentDescription="@string/pin_drawer" />
         </LinearLayout>
 
         <ListView
         android:src="@drawable/create_bookmark"
         android:tint="?attr/fabIconTintColor"
         android:contentDescription="@string/create_bookmark" />
-</FrameLayout>
\ No newline at end of file
+</FrameLayout>
index 428e613a9d3531b4a09366798e42d42be5a8ae65..b9421a1461ef10a92da17cb1941879ee84804e45 100644 (file)
     <string name="cookies_deleted">Cookies deleted</string>
     <string name="dom_storage_deleted">DOM Storage deleted</string>
     <string name="form_data_deleted">Form Data deleted</string>
-    <string name="open_navigation_drawer">Open Navigation Drawer</string>
-    <string name="close_navigation_drawer">Close Navigation Drawer</string>
+    <string name="open_navigation_drawer">Open navigation drawer</string>
+    <string name="close_navigation_drawer">Close navigation drawer</string>
+    <string name="pin_drawer">Pin drawer</string>
     <string name="unrecognized_url">Unrecognized URL:</string>
     <string name="add_tab">Add tab</string>
-    <string name="close_tab">Close Tab</string>
+    <string name="close_tab">Close tab</string>
     <string name="new_tab">New tab</string>
     <string name="loading">Loading…</string>
     <string name="error">Error:</string>