@media (prefers-color-scheme: dark) {
a {
- color: #5785C5; /* Violet 700 */
+ color: #8AB4F8; /* Violet 500 */
}
}
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
welche unter der <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 Lizenz</a> veröffentlicht werden. Den gesamten Text der Lizenz finden Sie unterhalb.</p>
<h3>Icons</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> sind abgeleitet von <code>security</code> und <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> sind abgeleitet von <code>security</code> und <code>5g</code>,
welche Teil des <a href="https://material.io/icons/">Android Material Icon-Sets</a> sind und unter der
<a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 Lizenz</a> veröffentlicht werden.
- Den gesamten Text der Lizenz finden Sie unterhalb. Copyright der Änderungen: © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Den gesamten Text der Lizenz finden Sie unterhalb. Copyright der Änderungen: © 2016, 2021-2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
Die resultierenden Grafiken werden unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+-Lizenz</a> veröffentlicht.</p>
- <p><img class="left" src="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> sind abgeleitet von <code>security</code> und <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> sind abgeleitet von <code>security</code> und <code>warning_amber_rounded</code>,
welche Teil des <a href="https://material.io/icons/">Android Material Icon-Sets</a> sind und unter der
<a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 Lizenz</a> veröffentlicht werden.
- Copyright der Änderungen: © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Copyright der Änderungen: © 2016, 2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
Die resultierenden Grafiken werden unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+-Lizenz</a> veröffentlicht.</p>
+ <p><img class="left" src="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> sind abgeleitet von <code>security</code> und <code>do_not_disturb</code>,
+ welche Teil des <a href="https://material.io/icons/">Android Material Icon-Sets</a> sind und unter der
+ <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 Lizenz</a> veröffentlicht werden.
+ Copyright der Änderungen: © 2016, 2021-2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Die resultierenden Grafiken werden unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+-Lizenz</a> veröffentlicht.</p>
+ <p><img class="left" src="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>Die folgenden Icons stammen aus dem <a href="https://material.io/icons/">Android Material Icon-Sets</a>,
das unter der <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 Lizenz</a> veröffentlicht wird.
Sie sind bis auf Layout-Informationen wie Farbe und Größe unverändert. Einige von Ihnen wurden Ihrer Verwendung im Code entsprechend umbenannt.
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
--- /dev/null
+<!--
+ Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<html>
+ <head>
+ <meta charset="UTF-8">
+
+ <link rel="stylesheet" href="../../css/theme.css">
+
+ <!-- Setting the color scheme instructs the WebView to respect `prefers-color-scheme` @media CSS. -->
+ <meta name="color-scheme" content="light dark">
+ </head>
+
+ <body>
+ <p>You are connected to a cell phone network using antiquated protocols, which have multiple known vulnerabilities.</p>
+
+ <p>2G networks have been <a href="https://www.eff.org/deeplinks/2022/01/victory-google-releases-disable-2g-feature-new-android-smartphones">decommissioned in most of the world</a>.
+ 3G networks are currently being decommissioned. Unless you know that the carrier in your area is running antiquated protocols, you should consider your device under active attack.</p>
+ </body>
+</html>
\ No newline at end of file
which 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.</p>
<h3>Icons</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> are derived from <code>security</code> and <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> are derived from <code>security</code> and <code>5g</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,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ The full text of the license is below. Modifications copyright © 2016, 2021-2022 <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><img class="left" src="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> are derived from <code>security</code> and <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> are derived from <code>security</code> and <code>warning_amber_rounded</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 © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Modifications copyright © 2016, 2022 <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><img class="left" src="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> are derived from <code>security</code> and <code>do_not_disturb</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 © 2016, 2021-2022 <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><img class="left" src="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>The following icons come from the <a href="https://material.io/icons/">Android Material icon set</a>,
which is released under the <a href ="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
They are unchanged except for layout information like color and size. Some of them have been renamed to match their use in the code. The original icons and names are shown below.</p>
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
que se liberan bajo la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>. El texto completo de la licencia se muestra abajo.</p>
<h3>Iconos</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> derivan de <code>security</code> y <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> derivan de <code>security</code> y <code>5g</code>,
que son parte del <a href="https://material.io/icons/">set de iconos de Android Material</a> y se liberan bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
- El texto completo de la licencia se muestra abajo. Copyright de modificaciones © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ El texto completo de la licencia se muestra abajo. Copyright de modificaciones © 2016, 2021-2022 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
Las imágenes resultante se liberan bajo la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licencia GPLv3+</a>.</p>
- <p><img class="left" src="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> derivan de <code>security</code> y <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> derivan de <code>security</code> y <code>warning_amber_rounded</code>,
que son parte del <a href="https://material.io/icons/">set de iconos de Android Material</a> y se liberan bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
- Copyright de modificaciones © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Copyright de modificaciones © 2016, 2022 <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><img class="left" src="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> derivan de <code>security</code> y <code>do_not_disturb</code>,
+ que son parte del <a href="https://material.io/icons/">set de iconos de Android Material</a> y se liberan bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.
+ Copyright de modificaciones © 2016, 2021-2022 <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><img class="left" src="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>Los siguientes iconos vienen del <a href="https://material.io/icons/">set de iconos de Android Material</a>,
que se liberan bajo la <a href ="https://www.apache.org/licenses/LICENSE-2.0">licencia Apache 2.0</a>.
No se han modificado, salvo la información sobre el diseño, como el color y el tamaño. Algunos de ellos han sido renombrados para que coincidan con su uso en el código.
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Kévin L. <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Kévin L. <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
qui sont publiés sous la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>. Le texte intégral de la licence se trouve ci-dessous.</p>
<h3>Icônes</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> sont dérivés de <code>security</code> et de <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> sont dérivés de <code>security</code> et de <code>5g</code>,
qui font partie de l'ensemble d'icônes <a href="https://material.io/icons/">Android Material</a> et sont publiés sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
- Le texte intégral de la licence est ci-dessous. Modifications copyright © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Le texte intégral de la licence est ci-dessous. Modifications copyright © 2016, 2021-2022 <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><img class="left" src="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> sont dérivés de <code>security</code> et de <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> sont dérivés de <code>security</code> et de <code>warning_amber_rounded</code>,
qui font partie de l'ensemble d'icônes <a href="https://material.io/icons/">Android Material icon set</a> et sont publiés sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
- Modifications copyright © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Modifications copyright © 2016, 2022 <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><img class="left" src="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> sont dérivés de <code>security</code> et de <code>do_not_disturb</code>,
+ qui font partie de l'ensemble d'icônes <a href="https://material.io/icons/">Android Material icon set</a> et sont publiés sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
+ Modifications copyright © 2016, 2021-2022 <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><img class="left" src="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>Les icônes suivantes proviennent de l'ensemble d'icônes <a href="https://material.io/icons/">Android Material</a>,
qui sont publiées sous la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.
Elles sont inchangés, à l'exception des informations de mise en page comme la couleur et la taille. Certaines d'entre elles ont été renommées pour correspondre à leur utilisation dans le code. Les icônes et les noms originaux sont présentés ci-dessous.</p>
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ Changes copyright © 2016, 2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 256 256" >
+
+ <!-- Inner shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#b71c1c"
+ d="m 128,-147.2 -94.254546,41.89091 0,62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 l 0,-62.836368 z" />
+ </g>
+
+ <!-- Shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#d32f2f"
+ d="m 128,-160 -104.727273,46.54546 0,69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 l 0,-69.818182 L 128,-160 Z m 0,127.883641 81.45454,0 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 l 0,-103.912735 -81.454545,0 0,-66.327272 L 128,-134.51636 l 0,102.400001 z" />
+ </g>
+
+ <!-- Do not proceed. -->
+ <g transform="matrix(8.107179,0,0,8.107179,30.713852,31.529816)" >
+ <path
+ style="fill:#ffffff"
+ d="M 12,2 C 6.48,2 2,6.48 2,12 2,17.52 6.48,22 12,22 17.52,22 22,17.52 22,12 22,6.48 17.52,2 12,2 Z m 0,18 C 7.58,20 4,16.42 4,12 4,10.15 4.63,8.45 5.69,7.1 L 16.9,18.31 C 15.55,19.37 13.85,20 12,20 Z M 18.31,16.9 7.1,5.69 C 8.45,4.63 10.15,4 12,4 c 4.42,0 8,3.58 8,8 0,1.85 -0.63,3.55 -1.69,4.9 z" />
+ </g>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is derived from `security` and `3g_mobiledata_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ Changes copyright © 2016, 2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 256 256" >
+
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#d32f2f"
+ d="M 256,0 46.544922,93.091797 V 232.72656 C 46.544922,361.8902 135.91273,482.67638 256,512 376.08728,482.67638 465.45508,361.8902 465.45508,232.72656 V 93.091797 Z M 114.37695,167.48438 h 70.81055 c 19.47322,-10e-6 35.40625,15.93301 35.40625,35.40624 v 26.55469 c 0,14.69344 -11.86125,26.55469 -26.55469,26.55469 14.69344,0 26.55469,11.86125 26.55469,26.55469 v 26.55469 c 0,19.47322 -15.93303,35.40624 -35.40625,35.40624 h -70.81055 c -9.73661,0 -17.703122,-7.96651 -17.703122,-17.70312 0,-9.73661 7.966512,-17.70312 17.703122,-17.70312 h 70.81055 v -35.40626 h -53.10742 c -9.73662,0 -17.70313,-7.96651 -17.70313,-17.70312 0,-9.73661 7.96651,-17.70312 17.70313,-17.70312 h 53.10742 v -35.40626 h -70.81055 c -9.73661,0 -17.703122,-7.96651 -17.703122,-17.70312 0,-9.73661 7.966512,-17.70312 17.703122,-17.70312 z m 177.0293,0 h 106.2168 c 9.73662,0 17.70312,7.96651 17.70312,17.70312 0,9.73661 -7.9665,17.70312 -17.70312,17.70312 h -106.2168 v 106.21876 h 88.51367 v -35.40626 h -26.55469 c -9.7366,0 -17.70117,-7.96651 -17.70117,-17.70312 0,-9.73661 7.96457,-17.70312 17.70117,-17.70312 h 44.25782 c 9.73662,0 17.70312,7.96651 17.70312,17.70312 v 53.10938 c 0,19.47322 -15.93303,35.40625 -35.40625,35.40624 H 291.40625 C 271.93301,344.51562 256,328.5826 256,309.10938 V 202.89062 c 0,-19.47323 15.93301,-35.40625 35.40625,-35.40624 z"
+ transform="matrix(0.5,0,0,0.5,0,-160)" />
+ </g>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ Changes copyright © 2016, 2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 256 256" >
+
+ <path
+ style="fill:#d32f2f"
+ d="M 256,0 46.544922,93.091797 V 232.72656 C 46.544922,361.8902 135.91273,482.67638 256,512 376.08728,482.67638 465.45508,361.8902 465.45508,232.72656 V 93.091797 Z m 0,93.855469 c 89.50326,0 162.14453,72.641271 162.14453,162.144531 0,89.50326 -72.64127,162.14453 -162.14453,162.14453 C 166.49674,418.14453 93.855469,345.50326 93.855469,256 93.855469,166.49674 166.49674,93.855469 256,93.855469 Z m 0,32.429691 c -29.99656,0 -57.56179,10.21512 -79.45117,27.40234 L 358.3125,335.45117 C 375.49972,313.56179 385.71484,285.99656 385.71484,256 385.71484,184.33254 327.66746,126.28516 256,126.28516 Z M 153.6875,176.54883 C 136.50028,198.43821 126.28516,226.00344 126.28516,256 c 0,71.66746 58.04738,129.71484 129.71484,129.71484 29.99656,0 57.56179,-10.21512 79.45117,-27.40234 z"
+ transform="matrix(0.5,0,0,0.5,0,0)" />
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ Changes copyright © 2016, 2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 256 256" >
+
+ <!-- Inner Shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#f57f17"
+ d="m 128,-147.2 -94.254546,41.89091 0,62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 l 0,-62.836368 z" />
+ </g>
+
+ <!-- Shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#fbc02d"
+ d="m 128,-160 -104.727273,46.54546 0,69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 l 0,-69.818182 L 128,-160 Z m 0,127.883641 81.45454,0 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 l 0,-103.912735 -81.454545,0 0,-66.327272 L 128,-134.51636 l 0,102.400001 z" />
+ </g>
+
+ <!-- Exclamation. -->
+ <path
+ style="fill:#ffffff"
+ d="M 128.00001,49.247414 193.49379,165.7227 H 62.506213 L 128.00001,49.247414 M 47.459169,156.76994 c -6.697243,11.90717 1.652565,26.85827 15.047044,26.85827 H 193.49379 c 13.39447,0 21.74428,-14.9511 15.04704,-26.85827 L 143.04705,40.29466 c -6.69723,-11.907163 -23.39684,-11.907163 -30.0941,0 z M 119.30229,94.10069 v 17.90549 c 0,4.92401 3.91397,8.95275 8.69772,8.95275 4.78373,0 8.69771,-4.02874 8.69771,-8.95275 V 94.10069 c 0,-4.924005 -3.91398,-8.952745 -8.69771,-8.952745 -4.78375,0 -8.69772,4.02874 -8.69772,8.952745 z m 0,44.76375 h 17.39543 v 17.9055 h -17.39543 z" />
+</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
- This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
- Changes copyright © 2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+ Changes copyright © 2016, 2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 256 256" >
- <path
- style="fill:#d32f2f"
- d="M 256,0 46.544922,93.091797 V 232.72656 C 46.544922,361.8902 135.91273,482.67638 256,512 376.08728,482.67638 465.45508,361.8902 465.45508,232.72656 V 93.091797 Z m 0,93.855469 c 89.50326,0 162.14453,72.641271 162.14453,162.144531 0,89.50326 -72.64127,162.14453 -162.14453,162.14453 C 166.49674,418.14453 93.855469,345.50326 93.855469,256 93.855469,166.49674 166.49674,93.855469 256,93.855469 Z m 0,32.429691 c -29.99656,0 -57.56179,10.21512 -79.45117,27.40234 L 358.3125,335.45117 C 375.49972,313.56179 385.71484,285.99656 385.71484,256 385.71484,184.33254 327.66746,126.28516 256,126.28516 Z M 153.6875,176.54883 C 136.50028,198.43821 126.28516,226.00344 126.28516,256 c 0,71.66746 58.04738,129.71484 129.71484,129.71484 29.99656,0 57.56179,-10.21512 79.45117,-27.40234 z"
- transform="matrix(0.5,0,0,0.5,0,0)" />
-</svg>
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#fbc02d"
+ d="M 256,0 46.544922,93.091797 V 232.72656 C 46.544922,361.8902 135.91273,482.67638 256,512 376.08728,482.67638 465.45508,361.8902 465.45508,232.72656 V 93.091797 Z m 0.0332,62.888672 c 11.69843,0 23.39848,5.954168 30.09571,17.861328 l 130.98632,232.94922 c 13.39448,23.81434 -3.30481,53.7168 -30.09375,53.7168 h -261.9746 c -26.788965,0 -43.488235,-29.90246 -30.093755,-53.7168 L 225.93945,80.75 c 6.69726,-11.90716 18.39533,-17.861328 30.09375,-17.861328 z m 0,35.765625 -130.98632,232.951173 h 261.9746 z m 0,71.800783 c 9.56746,0 17.39649,8.05824 17.39649,17.90625 v 35.81055 c 0,9.84802 -7.82903,17.90624 -17.39649,17.90624 -9.5675,0 -17.39453,-8.05823 -17.39453,-17.90624 v -35.81055 c 0,-9.84801 7.82703,-17.90625 17.39453,-17.90625 z m -17.39453,107.43359 h 34.79102 v 35.81055 h -34.79102 z"
+ transform="matrix(0.5,0,0,0.5,0,-160)" />
+ </g>
+</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-
-<!--
- This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- Changes copyright © 2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
-
-<svg
- xmlns="http://www.w3.org/2000/svg"
- viewBox="0 0 256 256" >
-
- <!-- Inner shield. -->
- <g transform="translate(0,160)" >
- <path
- style="fill:#b71c1c"
- d="m 128,-147.2 -94.254546,41.89091 0,62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 l 0,-62.836368 z" />
- </g>
-
- <!-- Shield. -->
- <g transform="translate(0,160)" >
- <path
- style="fill:#d32f2f"
- d="m 128,-160 -104.727273,46.54546 0,69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 l 0,-69.818182 L 128,-160 Z m 0,127.883641 81.45454,0 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 l 0,-103.912735 -81.454545,0 0,-66.327272 L 128,-134.51636 l 0,102.400001 z" />
- </g>
-
- <!-- Do not proceed. -->
- <g transform="matrix(8.107179,0,0,8.107179,30.713852,31.529816)" >
- <path
- style="fill:#ffffff"
- d="M 12,2 C 6.48,2 2,6.48 2,12 2,17.52 6.48,22 12,22 17.52,22 22,17.52 22,12 22,6.48 17.52,2 12,2 Z m 0,18 C 7.58,20 4,16.42 4,12 4,10.15 4.63,8.45 5.69,7.1 L 16.9,18.31 C 15.55,19.37 13.85,20 12,20 Z M 18.31,16.9 7.1,5.69 C 8.45,4.63 10.15,4 12,4 c 4.42,0 8,3.58 8,8 0,1.85 -0.63,3.55 -1.69,4.9 z" />
- </g>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-
-<!--
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- Changes copyright © 2016,2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
-
-<svg
- xmlns="http://www.w3.org/2000/svg"
- viewBox="0 0 256 256" >
-
- <!-- Inner shield. -->
- <g transform="translate(0,160)" >
- <path
- style="fill:#0d4781"
- d="m 128,-147.2 -94.254546,41.89091 v 62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 v -62.836368 z" />
- </g>
-
- <!-- Shield. -->
- <g transform="translate(0,160)" >
- <path
- style="fill:#1976d2"
- d="m 128,-160 -104.727273,46.54546 v 69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 v -69.818182 z m 0,127.883641 h 81.45454 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 V -31.999996 H 46.545455 V -98.327268 L 128,-134.51636 Z" />
- </g>
-
- <!-- 5G. -->
- <g>
- <g transform="matrix(16.218486,0,0,16.218486,-34.349857,-36.895951)" >
-
- <!-- 5. -->
- <path
- style="fill:#ffffff"
- d="M 8.5,8 H 6 v 1.5 h 2 c 0.55,0 1,0.45 1,1 V 12 c 0,0.55 -0.45,1 -1,1 H 5.5 C 5.22,13 5,12.78 5,12.5 v 0 C 5,12.22 5.22,12 5.5,12 H 8 V 10.5 H 5.5 C 5.22,10.5 5,10.28 5,10 V 7.5 C 5,7.22 5.22,7 5.5,7 h 3 C 8.78,7 9,7.22 9,7.5 v 0 C 9,7.78 8.78,8 8.5,8 Z" />
-
- <!-- G. -->
- <path
- style="fill:#ffffff"
- d="M 12.5,10.5 H 14 V 12 H 11 V 8 h 3.5 C 14.78,8 15,7.78 15,7.5 v 0 C 15,7.22 14.78,7 14.5,7 H 11 c -0.55,0 -1,0.45 -1,1 v 4 c 0,0.55 0.45,1 1,1 h 3 c 0.55,0 1,-0.45 1,-1 V 10 C 15,9.72 14.78,9.5 14.5,9.5 h -2 C 12.22,9.5 12,9.72 12,10 v 0 c 0,0.28 0.22,0.5 0.5,0.5 z" />
- </g>
- </g>
-</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ Changes copyright © 2016, 2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 256 256" >
+
+ <!-- Inner shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#0d4781"
+ d="m 128,-147.2 -94.254546,41.89091 v 62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 v -62.836368 z" />
+ </g>
+
+ <!-- Shield. -->
+ <g transform="translate(0,160)" >
+ <path
+ style="fill:#1976d2"
+ d="m 128,-160 -104.727273,46.54546 v 69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 v -69.818182 z m 0,127.883641 h 81.45454 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 V -31.999996 H 46.545455 V -98.327268 L 128,-134.51636 Z" />
+ </g>
+
+ <!-- 5G. -->
+ <g>
+ <g transform="matrix(16.218486,0,0,16.218486,-34.349857,-36.895951)" >
+
+ <!-- 5. -->
+ <path
+ style="fill:#ffffff"
+ d="M 8.5,8 H 6 v 1.5 h 2 c 0.55,0 1,0.45 1,1 V 12 c 0,0.55 -0.45,1 -1,1 H 5.5 C 5.22,13 5,12.78 5,12.5 v 0 C 5,12.22 5.22,12 5.5,12 H 8 V 10.5 H 5.5 C 5.22,10.5 5,10.28 5,10 V 7.5 C 5,7.22 5.22,7 5.5,7 h 3 C 8.78,7 9,7.22 9,7.5 v 0 C 9,7.78 8.78,8 8.5,8 Z" />
+
+ <!-- G. -->
+ <path
+ style="fill:#ffffff"
+ d="M 12.5,10.5 H 14 V 12 H 11 V 8 h 3.5 C 14.78,8 15,7.78 15,7.5 v 0 C 15,7.22 14.78,7 14.5,7 H 11 c -0.55,0 -1,0.45 -1,1 v 4 c 0,0.55 0.45,1 1,1 h 3 c 0.55,0 1,-0.45 1,-1 V 10 C 15,9.72 14.78,9.5 14.5,9.5 h -2 C 12.22,9.5 12,9.72 12,10 v 0 c 0,0.28 0.22,0.5 0.5,0.5 z" />
+ </g>
+ </g>
+</svg>
\ No newline at end of file
<!--
This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
- Changes copyright © 2016,2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+ Changes copyright © 2016, 2021 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ This file is a modified version of `settings_input_antenna_rounded`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+
+ Changes copyright © 2022 Soren Stoutner <soren@stoutner.com>. The resulting file is released under the GPLv3+ license.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="M12,5c-3.48,0-6.37,2.54-6.91,5.87c-0.1,0.59,0.39,1.13,1,1.13c0.49,0,0.9-0.36,0.98-0.85C7.48,8.79,9.53,7,12,7 s4.52,1.79,4.93,4.15c0.08,0.49,0.49,0.85,0.98,0.85c0.61,0,1.09-0.54,0.99-1.13C18.37,7.54,15.48,5,12,5z M13,14.29 c1.07-0.48,1.76-1.66,1.41-2.99c-0.22-0.81-0.87-1.47-1.68-1.7C11.04,9.12,9.5,10.38,9.5,12c0,1.02,0.62,1.9,1.5,2.29v3.3 l-2.71,2.7c-0.39,0.39-0.39,1.02,0,1.41c0.39,0.39,1.02,0.39,1.41,0l2.3-2.3l2.3,2.3c0.39,0.39,1.02,0.39,1.41,0s0.39-1.02,0-1.41 L13,17.59V14.29z M12,1C6.3,1,1.61,5.34,1.05,10.9C1,11.49,1.46,12,2.05,12c0.51,0,0.94-0.38,0.99-0.88C3.48,6.56,7.33,3,12,3 s8.52,3.56,8.96,8.12c0.05,0.5,0.48,0.88,0.99,0.88c0.59,0,1.06-0.51,1-1.1C22.39,5.34,17.7,1,12,1z" />
+</svg>
\ No newline at end of file
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
che sono rilasciati sotto <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>. Il testo completo della licenza è riportato di seguito.</p>
<h3>Icone</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> sono derivate da <code>security</code> e <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> sono derivate da <code>security</code> e <code>5g</code>,
che sono parte del <a href="https://material.io/icons/">set di icone Android Material</a> e sono rilasciate sotto la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
- Il testo completo della licenza è riportato qui sotto. Il copyright delle modifiche © 2016,2021 appartiene a <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Il testo completo della licenza è riportato qui sotto. Il copyright delle modifiche © 2016, 2021-2022 appartiene a <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
Le immagini risultanti sono rilasciate sotto la <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
- <p><img class="left" src="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> sono derivate da <code>security</code> e <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> sono derivate da <code>security</code> e <code>warning_amber_rounded</code>,
che sono parte del <a href="https://material.io/icons/">set di icone Android Material</a> e sono rilasciate sotto la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
- Il copyright delle modifiche © 2016,2021 appartiene a <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Il copyright delle modifiche © 2016, 2022 appartiene a <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
Le immagini risultanti sono rilasciate sotto la <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
+ <p><img class="left" src="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> sono derivate da <code>security</code> e <code>do_not_disturb</code>,
+ che sono parte del <a href="https://material.io/icons/">set di icone Android Material</a> e sono rilasciate sotto la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
+ Il copyright delle modifiche © 2016, 2021-2022 appartiene a <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Le immagini risultanti sono rilasciate sotto la <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+</a>.</p>
+ <p><img class="left" src="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>Le icone seguenti provengono dal <a href="https://material.io/icons/">set di icone Android Material</a>,
che è rilasciato sotto la <a href ="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.
Non sono state modificate ad eccezione delle informazioni del layout come il colore e le dimensioni. Alcune sono state rinominate per essere coerenti con il loro utilizzo nel codice.
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
которые выпускаются под <a href="https://www.apache.org/licenses/LICENSE-2.0">лицензией Apache 2.0</a>. Полный текст лицензии приведен ниже.</p>
<h3>Значки</h3>
- <p><img class="left" src="../images/privacy_cell.svg"/> <img class="left" src="../images/secure_notification.svg"/> являются производными от <code>security</code> и <code>5g</code>,
+ <p><img class="left" src="../images/secure.svg"/> <img class="left" src="../images/secure_notification.svg"/> являются производными от <code>security</code> и <code>5g</code>,
которые являются частью набора значков <a href="https://material.io/icons/">Android Material</a> и выпущены под <a href ="https://www.apache.org/licenses/LICENSE-2.0">лицензией Apache 2.0</a>.
- Полный текст лицензии приведен ниже. Модификации авторских прав © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Полный текст лицензии приведен ниже. Модификации авторских прав © 2016, 2021-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="../images/not_secure.svg"/> <img class="left" src="../images/insecure_notification.svg"/> являются производными от <code>security</code> и <code>do_not_disturb</code>,
+ <p><img class="left" src="../images/insecure.svg"> <img class="left" src="../images/insecure_notification.svg"/> являются производными от <code>security</code> и <code>warning_amber_rounded</code>,
которые являются частью набора значков <a href="https://material.io/icons/">Android Material</a> и выпущены под <a href ="https://www.apache.org/licenses/LICENSE-2.0">лицензией Apache 2.0</a>.
- Модификации авторских прав © 2016,2021 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.
+ Модификации авторских прав © 2016, 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="../images/antiquated.svg"/> <img class="left" src="../images/antiquated_notification.svg"/> являются производными от <code>security</code> и <code>do_not_disturb</code>,
+ которые являются частью набора значков <a href="https://material.io/icons/">Android Material</a> и выпущены под <a href ="https://www.apache.org/licenses/LICENSE-2.0">лицензией Apache 2.0</a>.
+ Модификации авторских прав © 2016, 2021-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="../images/antiquated_3g.svg"/> is derived from <code>security</code> and <code>3g_mobiledata_rounded</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 © 2016, 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>Следующие значки взяты из набора значков <a href="https://material.io/icons/">Android Material</a>,
который выпущен под <a href ="https://www.apache.org/licenses/LICENSE-2.0">лицензией Apache 2.0</a>.
Они не изменились, за исключением информации о макете, такой как цвет и размер. Некоторые из них были переименованы, чтобы обеспечить их соответствие использованию в коде.
<p><svg class="icon"><use href="../images/phone_android_outlined.svg#icon"/></svg> phone_android_outlined.</p>
<p><svg class="icon"><use href="../images/policy_filled.svg#icon"/></svg> policy_filled.</p>
<p><svg class="icon"><use href="../images/save_outlined.svg#icon"/></svg> save_outlined.</p>
+ <p><svg class="icon"><use href="../images/settings_input_antenna_rounded.svg#icon"/></svg> settings_input_antenna_rounded.</p>
<p><svg class="icon"><use href="../images/settings_rounded.svg#icon"/></svg> settings_rounded.</p>
<p><svg class="icon"><use href="../images/text_snippet_outlined.svg#icon"/></svg> text_snippet_outlined.</p>
// Declare the class views.
private lateinit var drawerLayout: DrawerLayout
- private lateinit var stingrayTextView: TextView
+ private lateinit var summaryTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
// Run the default commands.
// Get the preferences.
val realtimeMonitoring = sharedPreferences.getBoolean(getString(R.string.realtime_monitoring_key), false)
+ val consider3gAntiquated = sharedPreferences.getBoolean(getString(R.string.consider_3g_antiquated_key), false)
val bottomAppBar = sharedPreferences.getBoolean(getString(R.string.bottom_app_bar_key), false)
// Set the content view.
val toolbar = findViewById<Toolbar>(R.id.toolbar)
val stingrayLinearLayout = findViewById<LinearLayout>(R.id.stingray_linearlayout)
val stingrayImageView = findViewById<ImageView>(R.id.stingray_imageview)
- stingrayTextView = findViewById(R.id.stingray_textview)
+ summaryTextView = findViewById(R.id.summary_textview)
val voiceNetworkLinearLayout = findViewById<LinearLayout>(R.id.voice_network_linearlayout)
val voiceNetworkTextView = findViewById<TextView>(R.id.voice_network)
val voiceNetworkDetailsTextView = findViewById<TextView>(R.id.voice_network_details)
phoneStateListener = object : PhoneStateListener() {
@SuppressLint("SwitchIntDef")
override fun onDisplayInfoChanged(telephonyDisplayInfo: TelephonyDisplayInfo) {
+ // Declare the stingray dialog type integer.
+ val summaryDialogTypeInteger: Int
+
// Populate the stingray security information. <https://source.android.com/devices/tech/connect/acts-5g-testing>
- if (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_NR) { // This is a secure 5G NR SA network.
+ if ((telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_NR) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_IWLAN) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_UNKNOWN)) { // This is a secure network.
+ // Populate the image view.
+ stingrayImageView.setImageDrawable(AppCompatResources.getDrawable(applicationContext, R.drawable.secure))
+
+ // Set the text.
+ summaryTextView.text = getString(R.string.secure_protocols)
+
+ // Set the text color.
+ summaryTextView.setTextColor(getColor(R.color.blue_text))
+
+ // Set the stingray dialog type integer.
+ summaryDialogTypeInteger = WebViewDialog.STINGRAY
+ } else if ((telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_LTE) || (!consider3gAntiquated && (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_1xRTT ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_0) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_A) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_B) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EHRPD) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_UMTS) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_TD_SCDMA) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSDPA) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSUPA) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSPA) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSPAP)))) {
+ // This is an insecure network.
// Populate the image view.
- stingrayImageView.setImageDrawable(AppCompatResources.getDrawable(applicationContext, R.drawable.secure_5g_nr_sa))
+ stingrayImageView.setImageDrawable(AppCompatResources.getDrawable(applicationContext, R.drawable.insecure))
// Set the text.
- stingrayTextView.text = getString(R.string.secure_from_stingray)
+ summaryTextView.text = getString(R.string.insecure_protocols)
// Set the text color.
- stingrayTextView.setTextColor(getColor(R.color.blue_text))
- } else { // This is not a secure 5G NR SA network.
+ summaryTextView.setTextColor(getColor(R.color.yellow_900))
+
+ // Set the stingray dialog type integer.
+ summaryDialogTypeInteger = WebViewDialog.STINGRAY
+ } else { // This is an antiquated network.
// Populate the image view.
- stingrayImageView.setImageDrawable(AppCompatResources.getDrawable(applicationContext, R.drawable.not_secure))
+ stingrayImageView.setImageDrawable(AppCompatResources.getDrawable(applicationContext, R.drawable.antiquated))
// Set the text.
- stingrayTextView.text = getString(R.string.not_secure_from_stingray)
+ summaryTextView.text = getString(R.string.antiquated_protocols)
// Set the text color.
- stingrayTextView.setTextColor(getColor(R.color.red_text))
+ summaryTextView.setTextColor(getColor(R.color.red_text))
+
+ // Set the stingray dialog type integer.
+ summaryDialogTypeInteger = WebViewDialog.ANTIQUATED_NETWORK
}
// Get the strings that correspond to the network information.
// Set the stingray click listener.
stingrayLinearLayout.setOnClickListener {
// Instantiate the stingray dialog fragment.
- val stingrayDialogFragment = WebViewDialog().type(WebViewDialog.STINGRAY)
+ val stingrayDialogFragment = WebViewDialog().type(summaryDialogTypeInteger)
// Show the alert dialog.
stingrayDialogFragment.show(supportFragmentManager, getString(R.string.stingrays))
registerTelephonyManagerListener()
} else { // The read phone state permission was denied.
// Display the phone permission text on the main activity.
- stingrayTextView.text = getString(R.string.phone_permission_text)
+ summaryTextView.text = getString(R.string.phone_permission_text)
}
}
}
const val LICENSES = 3
const val CONTRIBUTORS = 4
const val STINGRAY = 5
- const val NETWORK_UNKNOWN = 6
- const val NETWORK_GPRS = 7
- const val NETWORK_EDGE = 8
- const val NETWORK_UMTS = 9
- const val NETWORK_CDMA = 10
- const val NETWORK_EVDO_0 = 11
- const val NETWORK_EVDO_A = 12
- const val NETWORK_1xRTT = 13
- const val NETWORK_HSDPA = 14
- const val NETWORK_HSUPA = 15
- const val NETWORK_HSPA = 16
- const val NETWORK_IDEN = 17
- const val NETWORK_EVDO_B = 18
- const val NETWORK_LTE = 19
- const val NETWORK_EHRPD = 20
- const val NETWORK_HSPAP = 21
- const val NETWORK_GSM = 22
- const val NETWORK_TD_SCDMA = 23
- const val NETWORK_IWLAN = 24
- const val NETWORK_NR = 25
- const val OVERRIDE_NETWORK_NONE = 26
- const val OVERRIDE_NETWORK_LTE_CA = 27
- const val OVERRIDE_NETWORK_LTE_ADVANCED_PRO = 28
- const val OVERRIDE_NETWORK_NR_NSA = 29
- const val OVERRIDE_NETWORK_NR_NSA_MMWAVE = 30 // Can be removed once the minimum API >= 31.
- const val OVERRIDE_NETWORK_NR_ADVANCED = 31
+ const val ANTIQUATED_NETWORK = 6
+ const val NETWORK_UNKNOWN = 7
+ const val NETWORK_GPRS = 8
+ const val NETWORK_EDGE = 9
+ const val NETWORK_UMTS = 10
+ const val NETWORK_CDMA = 11
+ const val NETWORK_EVDO_0 = 12
+ const val NETWORK_EVDO_A = 13
+ const val NETWORK_1xRTT = 14
+ const val NETWORK_HSDPA = 15
+ const val NETWORK_HSUPA = 16
+ const val NETWORK_HSPA = 17
+ const val NETWORK_IDEN = 18
+ const val NETWORK_EVDO_B = 19
+ const val NETWORK_LTE = 20
+ const val NETWORK_EHRPD = 21
+ const val NETWORK_HSPAP = 22
+ const val NETWORK_GSM = 23
+ const val NETWORK_TD_SCDMA = 24
+ const val NETWORK_IWLAN = 25
+ const val NETWORK_NR = 26
+ const val OVERRIDE_NETWORK_NONE = 27
+ const val OVERRIDE_NETWORK_LTE_CA = 28
+ const val OVERRIDE_NETWORK_LTE_ADVANCED_PRO = 29
+ const val OVERRIDE_NETWORK_NR_NSA = 30
+ const val OVERRIDE_NETWORK_NR_NSA_MMWAVE = 31 // Can be removed once the minimum API >= 31.
+ const val OVERRIDE_NETWORK_NR_ADVANCED = 32
}
// Define the class views.
STINGRAY -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.secure_5g_nr_sa)
+ dialogBuilder.setIcon(R.drawable.secure)
// Set the tile.
dialogBuilder.setTitle(R.string.stingrays)
}
+ ANTIQUATED_NETWORK -> {
+ // Set the icon.
+ dialogBuilder.setIcon(R.drawable.antiquated)
+
+ // Set the title.
+ dialogBuilder.setTitle(R.string.antiquated_network_title)
+ }
+
NETWORK_UNKNOWN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.unknown)
NETWORK_GPRS -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.gprs)
NETWORK_EDGE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.edge)
NETWORK_UMTS -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.umts)
NETWORK_CDMA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.cdma)
NETWORK_EVDO_0 -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_0)
NETWORK_EVDO_A -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_a)
NETWORK_1xRTT -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.rtt)
NETWORK_HSDPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hsdpa)
NETWORK_HSUPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hsupa)
NETWORK_HSPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hspa)
NETWORK_IDEN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.iden)
NETWORK_EVDO_B -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_b)
NETWORK_LTE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.lte)
NETWORK_EHRPD -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.ehrpd)
NETWORK_HSPAP -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hspap)
NETWORK_GSM -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.gsm)
NETWORK_TD_SCDMA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.td_scdma)
NETWORK_IWLAN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.iwlan)
NETWORK_NR -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr)
OVERRIDE_NETWORK_NONE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.none)
OVERRIDE_NETWORK_LTE_CA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.lte_ca)
OVERRIDE_NETWORK_LTE_ADVANCED_PRO -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.lte_advanced_pro)
OVERRIDE_NETWORK_NR_NSA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_nsa)
OVERRIDE_NETWORK_NR_NSA_MMWAVE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_nsa_mmwave)
OVERRIDE_NETWORK_NR_ADVANCED -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_advanced)
LICENSES -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/licenses.html")
CONTRIBUTORS -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/contributors.html")
STINGRAY -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/stingrays.html")
+ ANTIQUATED_NETWORK -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/antiquated_network.html")
NETWORK_UNKNOWN -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_unknown.html")
NETWORK_GPRS -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_gprs.html")
NETWORK_EDGE -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_edge.html")
/*
- * Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
*
// Declare the class views.
private lateinit var realtimeMonitoringPreference: Preference
+ private lateinit var secureNetworkNotificationPreference: Preference
+ private lateinit var insecureNetworkNotificationPreference: Preference
+ private lateinit var antiquatedNetworkNotificationPreference: Preference
+ private lateinit var consider3gAntiquatedPreference: Preference
private lateinit var bottomAppBarPreference: Preference
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
// Get handles for the preferences.
realtimeMonitoringPreference = findPreference(getString(R.string.realtime_monitoring_key))!!
- val secureNetworkNotificationPreference = findPreference<Preference>(getString(R.string.secure_network_notification_key))!!
- val insecureNetworkNotificationPreference = findPreference<Preference>(getString(R.string.insecure_network_notification_key))!!
+ secureNetworkNotificationPreference = findPreference(getString(R.string.secure_network_notification_key))!!
+ insecureNetworkNotificationPreference = findPreference(getString(R.string.insecure_network_notification_key))!!
+ antiquatedNetworkNotificationPreference = findPreference(getString(R.string.antiquated_network_notification_key))!!
+ consider3gAntiquatedPreference = findPreference(getString(R.string.consider_3g_antiquated_key))!!
bottomAppBarPreference = findPreference(getString(R.string.bottom_app_bar_key))!!
// Only enable the realtime monitoring preference if the READ_PHONE_STATE permission has been granted.
if (realtimeMonitoringPreference.isEnabled) {
// Set the realtime monitoring preference icon.
if (sharedPreferences.getBoolean(getString(R.string.realtime_monitoring_key), false)) {
- // Set the enabled icon.
- realtimeMonitoringPreference.setIcon(R.drawable.realtime_monitoring_enabled)
+ // Set the icons.
+ realtimeMonitoringPreference.setIcon(R.drawable.secure_notification_enabled)
+ secureNetworkNotificationPreference.setIcon(R.drawable.secure_notification_enabled)
+ insecureNetworkNotificationPreference.setIcon(R.drawable.insecure_notification_enabled)
+ antiquatedNetworkNotificationPreference.setIcon(R.drawable.antiquated_notification_enabled)
} else {
- // Set the disabled icon.
- realtimeMonitoringPreference.setIcon(R.drawable.realtime_monitoring_disabled)
+ // Set the icons.
+ realtimeMonitoringPreference.setIcon(R.drawable.secure_notification_disabled)
+ secureNetworkNotificationPreference.setIcon(R.drawable.secure_notification_disabled)
+ insecureNetworkNotificationPreference.setIcon(R.drawable.insecure_notification_disabled)
+ antiquatedNetworkNotificationPreference.setIcon(R.drawable.antiquated_notification_disabled)
}
} else {
- // Set the ghosted icon.
- realtimeMonitoringPreference.setIcon(R.drawable.realtime_monitoring_ghosted)
+ // Set the icons.
+ realtimeMonitoringPreference.setIcon(R.drawable.secure_notification_ghosted)
+ secureNetworkNotificationPreference.setIcon(R.drawable.secure_notification_ghosted)
+ insecureNetworkNotificationPreference.setIcon(R.drawable.insecure_notification_ghosted)
+ antiquatedNetworkNotificationPreference.setIcon(R.drawable.antiquated_notification_ghosted)
}
// Set the notification preferences to depend on the realtime monitoring preference.
secureNetworkNotificationPreference.dependency = getString(R.string.realtime_monitoring_key)
insecureNetworkNotificationPreference.dependency = getString(R.string.realtime_monitoring_key)
+ antiquatedNetworkNotificationPreference.dependency = getString(R.string.realtime_monitoring_key)
// Create the notification intents.
val secureNetworkNotificationIntent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
val insecureNetworkNotificationIntent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName)
.putExtra(Settings.EXTRA_CHANNEL_ID, RealtimeMonitoringService.INSECURE_NETWORK)
+ val antiquatedNetworkNotificationIntent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+ .putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName)
+ .putExtra(Settings.EXTRA_CHANNEL_ID, RealtimeMonitoringService.ANTIQUATED_NETWORK)
// Set the notification preference intents.
secureNetworkNotificationPreference.intent = secureNetworkNotificationIntent
insecureNetworkNotificationPreference.intent = insecureNetworkNotificationIntent
+ antiquatedNetworkNotificationPreference.intent = antiquatedNetworkNotificationIntent
+
+ // Set the consider 3G antiquated preference icon.
+ if (sharedPreferences.getBoolean(getString(R.string.consider_3g_antiquated_key), false)) {
+ consider3gAntiquatedPreference.setIcon(R.drawable.antiquated_3g_enabled)
+ } else {
+ consider3gAntiquatedPreference.setIcon(R.drawable.antiquated_3g_disabled)
+ }
// Set the bottom app bar preference icon.
if (sharedPreferences.getBoolean(getString(R.string.bottom_app_bar_key), false)) {
- // Set the enabled icon.
bottomAppBarPreference.setIcon(R.drawable.bottom_app_bar_enabled)
} else {
- // Set the disabled icon.
bottomAppBarPreference.setIcon(R.drawable.bottom_app_bar_disabled)
}
}
getString(R.string.realtime_monitoring_key) -> {
// Update the icon.
if (sharedPreferences.getBoolean(getString(R.string.realtime_monitoring_key), false)) {
- // Set the enabled icon.
- realtimeMonitoringPreference.setIcon(R.drawable.realtime_monitoring_enabled)
+ // Set the icons.
+ realtimeMonitoringPreference.setIcon(R.drawable.secure_notification_enabled)
+ secureNetworkNotificationPreference.setIcon(R.drawable.secure_notification_enabled)
+ insecureNetworkNotificationPreference.setIcon(R.drawable.insecure_notification_enabled)
+ antiquatedNetworkNotificationPreference.setIcon(R.drawable.antiquated_notification_enabled)
} else {
- // Set the disabled icon.
- realtimeMonitoringPreference.setIcon(R.drawable.realtime_monitoring_disabled)
+ // Set the icons.
+ realtimeMonitoringPreference.setIcon(R.drawable.secure_notification_disabled)
+ secureNetworkNotificationPreference.setIcon(R.drawable.secure_notification_disabled)
+ insecureNetworkNotificationPreference.setIcon(R.drawable.insecure_notification_disabled)
+ antiquatedNetworkNotificationPreference.setIcon(R.drawable.antiquated_notification_disabled)
}
// Start or stop the service.
}
}
+ getString(R.string.consider_3g_antiquated_key) -> {
+ // Update the icon.
+ if (sharedPreferences.getBoolean(getString(R.string.consider_3g_antiquated_key), false)) {
+ consider3gAntiquatedPreference.setIcon(R.drawable.antiquated_3g_enabled)
+ } else {
+ consider3gAntiquatedPreference.setIcon(R.drawable.antiquated_3g_disabled)
+ }
+
+ // Restart Privacy Cell.
+ restartPrivacyCell()
+ }
+
getString(R.string.bottom_app_bar_key) -> {
// Update the icon.
if (sharedPreferences.getBoolean(getString(R.string.bottom_app_bar_key), false)) {
- // Set the enabled icon.
bottomAppBarPreference.setIcon(R.drawable.bottom_app_bar_enabled)
} else {
- // Set the disabled icon.
bottomAppBarPreference.setIcon(R.drawable.bottom_app_bar_disabled)
}
- // Create an intent to restart Privacy Cell.
- val restartIntent = requireActivity().parentActivityIntent!!
+ // Restart Privacy Cell after 400 milliseconds.
+ restartPrivacyCell()
+ }
+ }
+ }
+ }
- // `Intent.FLAG_ACTIVITY_CLEAR_TASK` removes all activities from the stack. It requires `Intent.FLAG_ACTIVITY_NEW_TASK`.
- restartIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
+ private fun restartPrivacyCell() {
+ // Create an intent to restart Privacy Cell.
+ val restartIntent = requireActivity().parentActivityIntent!!
- // Create a handler to restart the activity.
- val restartHandler = Handler(Looper.getMainLooper())
+ // `Intent.FLAG_ACTIVITY_CLEAR_TASK` removes all activities from the stack. It requires `Intent.FLAG_ACTIVITY_NEW_TASK`.
+ restartIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
- // Create a runnable to restart the activity.
- val restartRunnable = Runnable {
- // Restart the activity.
- startActivity(restartIntent)
- }
+ // Create a handler to restart the activity.
+ val restartHandler = Handler(Looper.getMainLooper())
- // Restart the activity after 400 milliseconds, so that the app has enough time to save the change to the preference.
- restartHandler.postDelayed(restartRunnable, 400)
- }
- }
+ // Create a runnable to restart the activity.
+ val restartRunnable = Runnable {
+ // Restart the activity.
+ startActivity(restartIntent)
}
+
+ // Restart the activity after 400 milliseconds, so that the app has enough time to save the change to the preference.
+ restartHandler.postDelayed(restartRunnable, 400)
}
}
\ No newline at end of file
/*
- * Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
*
* along with Privacy Cell. If not, see <http://www.gnu.org/licenses/>.
*/
+// The suppression of deprecation lint can be removed once the minimum API >= 31.
+@file:Suppress("DEPRECATION")
+
package com.stoutner.privacycell.services
import android.Manifest
import android.telephony.TelephonyManager
import androidx.core.app.ActivityCompat
+import androidx.preference.PreferenceManager
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
// Define the public constants. These are used in the settings fragment to launch intents to edit the sound that plays for each channel.
const val SECURE_NETWORK = "secure_network"
const val INSECURE_NETWORK = "insecure_network"
+ const val ANTIQUATED_NETWORK = "antiquated_network"
}
// Define the class variables.
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
+ // Get a handle for the shared preferences.
+ val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
+
// Get a handle for the notification manager.
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
// Prepare the notification channels.
val secureNetworkChannel = NotificationChannel(SECURE_NETWORK, getString(R.string.secure_network_channel), NotificationManager.IMPORTANCE_HIGH)
val insecureNetworkChannel = NotificationChannel(INSECURE_NETWORK, getString(R.string.insecure_network_channel), NotificationManager.IMPORTANCE_HIGH)
+ val antiquatedNetworkChannel = NotificationChannel(ANTIQUATED_NETWORK, getString(R.string.antiquated_network_channel), NotificationManager.IMPORTANCE_HIGH)
val unknownNetworkChannel = NotificationChannel(UNKNOWN_NETWORK, getString(R.string.unknown_network_channel), NotificationManager.IMPORTANCE_LOW)
// Set the notification channel group.
secureNetworkChannel.group = REALTIME_MONITORING
insecureNetworkChannel.group = REALTIME_MONITORING
+ antiquatedNetworkChannel.group = REALTIME_MONITORING
unknownNetworkChannel.group = REALTIME_MONITORING
// Disable the notification dots.
secureNetworkChannel.setShowBadge(false)
insecureNetworkChannel.setShowBadge(false)
+ antiquatedNetworkChannel.setShowBadge(false)
unknownNetworkChannel.setShowBadge(false)
- // Set the notifications to be public for the secure and insecure networks.
+ // Set the primary channel notifications to be public.
secureNetworkChannel.lockscreenVisibility = Notification.VISIBILITY_PUBLIC
insecureNetworkChannel.lockscreenVisibility = Notification.VISIBILITY_PUBLIC
+ antiquatedNetworkChannel.lockscreenVisibility = Notification.VISIBILITY_PUBLIC
// Create the notification channels.
notificationManager.createNotificationChannel(secureNetworkChannel)
notificationManager.createNotificationChannel(insecureNetworkChannel)
+ notificationManager.createNotificationChannel(antiquatedNetworkChannel)
notificationManager.createNotificationChannel(unknownNetworkChannel)
// Create a notification builder.
notificationBuilder.setContentText(getString(R.string.unknown_network))
// Set the notification icon.
- notificationBuilder.setSmallIcon(R.drawable.insecure_notification)
+ notificationBuilder.setSmallIcon(R.drawable.antiquated_notification_enabled)
// Set the color.
- notificationBuilder.setColor(getColor(R.color.red_text))
+ notificationBuilder.setColor(getColor(R.color.red_notification_icon))
// Start the foreground notification.
startForeground(NOTIFICATION_ID, notificationBuilder.build())
// Define the phone state listener. The `PhoneStateListener` can be replaced by `TelephonyCallback` once the minimum API >= 31.
phoneStateListener = object : PhoneStateListener() {
override fun onDisplayInfoChanged(telephonyDisplayInfo: TelephonyDisplayInfo) {
+ // Get the consider 3G antiquated preference.
+ val consider3gAntiquated = sharedPreferences.getBoolean(getString(R.string.consider_3g_antiquated_key), false)
+
// Populate the notification according to the network type.
- if (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_NR) { // This is a secure 5G NR SA network.
+ if ((telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_NR) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_IWLAN) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_UNKNOWN)) { // This is a secure network.
// Only update the notification if the network status has changed.
if (currentStatus != SECURE_NETWORK) {
// Create a secure network notification builder.
secureNetworkNotificationBuilder.setContentText(getString(R.string.secure_network))
// Set the notification icon.
- secureNetworkNotificationBuilder.setSmallIcon(R.drawable.secure_notification)
+ secureNetworkNotificationBuilder.setSmallIcon(R.drawable.secure_notification_enabled)
// Set the color.
- secureNetworkNotificationBuilder.setColor(getColor(R.color.blue_text))
+ secureNetworkNotificationBuilder.setColor(getColor(R.color.blue_icon))
// Update the notification.
notificationManager.notify(NOTIFICATION_ID, secureNetworkNotificationBuilder.build())
// Store the new network status.
currentStatus = SECURE_NETWORK
}
- } else { // This is not a secure 5G NR SA network.
+ } else if ((telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_LTE) || (!consider3gAntiquated && (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_1xRTT ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_0) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_A) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EVDO_B) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_EHRPD) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_UMTS) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_TD_SCDMA) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSDPA) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSUPA) ||
+ (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSPA) || (telephonyDisplayInfo.networkType == TelephonyManager.NETWORK_TYPE_HSPAP)))) {
+ // This is an insecure network.
// Only update the notification if the network status has changed.
if (currentStatus != INSECURE_NETWORK) {
// Create an insecure network notification builder.
insecureNetworkNotificationBuilder.setContentText(getString(R.string.insecure_network))
// Set the notification icon.
- insecureNetworkNotificationBuilder.setSmallIcon(R.drawable.insecure_notification)
+ insecureNetworkNotificationBuilder.setSmallIcon(R.drawable.insecure_notification_enabled)
// Set the color.
- insecureNetworkNotificationBuilder.setColor(getColor(R.color.red_text))
+ insecureNetworkNotificationBuilder.setColor(getColor(R.color.yellow_notification_icon))
// Update the notification.
notificationManager.notify(NOTIFICATION_ID, insecureNetworkNotificationBuilder.build())
// Store the new network status.
currentStatus = INSECURE_NETWORK
}
+ } else { // This is an antiquated network.
+ // Only update the notification if the network status has changed.
+ if (currentStatus != ANTIQUATED_NETWORK) {
+ // Create an antiquated network notification builder.
+ val antiquatedNetworkNotificationBuilder = Notification.Builder(applicationContext, ANTIQUATED_NETWORK)
+
+ // Set the notification to open Privacy Cell.
+ antiquatedNetworkNotificationBuilder.setContentIntent(privacyCellPendingIntent)
+
+ // Set the notification text.
+ antiquatedNetworkNotificationBuilder.setContentText(getString(R.string.antiquated_network))
+
+ // Set the notification icon.
+ antiquatedNetworkNotificationBuilder.setSmallIcon(R.drawable.antiquated_notification_enabled)
+
+ // Set the color.
+ antiquatedNetworkNotificationBuilder.setColor(getColor(R.color.red_notification_icon))
+
+ // Update the notification.
+ notificationManager.notify(NOTIFICATION_ID, antiquatedNetworkNotificationBuilder.build())
+
+ // Store the new network status.
+ currentStatus = ANTIQUATED_NETWORK
+ }
}
}
}
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="200dp"
+ android:width="200dp"
+ android:viewportHeight="256"
+ android:viewportWidth="256" >
+
+ <!-- Inner Shield. -->
+ <path
+ android:fillColor="@color/red_900"
+ android:pathData="m128,12.8 l-94.255,41.891 0,62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673l0,-62.836z" />
+
+ <!-- Outer Shield. -->
+ <path
+ android:fillColor="@color/red_700"
+ android:pathData="m128,0 l-104.727,46.545 0,69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364l0,-69.818L128,0ZM128,127.884 L209.455,127.884C203.287,175.825 171.287,218.531 128,231.913l0,-103.913 -81.455,0 0,-66.327L128,25.484l0,102.4z" />
+
+ <!-- Circle. -->
+ <path
+ android:fillColor="@color/white"
+ android:pathData="M128,47.744C83.248,47.744 46.928,84.064 46.928,128.816 46.928,173.568 83.248,209.888 128,209.888 172.752,209.888 209.072,173.568 209.072,128.816 209.072,84.064 172.752,47.744 128,47.744ZM128,193.673C92.166,193.673 63.143,164.65 63.143,128.816 63.143,113.818 68.25,100.035 76.844,89.091L167.725,179.972C156.78,188.566 142.998,193.673 128,193.673ZM179.156,168.541 L88.275,77.66C99.22,69.066 113.002,63.959 128,63.959c35.834,0 64.857,29.024 64.857,64.857 0,14.998 -5.108,28.78 -13.701,39.725z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `3g_mobiledata_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_disabled"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM57.188,83.742l35.405,0c9.737,-0 17.703,7.967 17.703,17.703l0,13.277c0,7.347 -5.931,13.277 -13.277,13.277 7.347,0 13.277,5.931 13.277,13.277l0,13.277c0,9.737 -7.967,17.703 -17.703,17.703l-35.405,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852l35.405,0l0,-17.703l-26.554,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852l26.554,0l0,-17.703l-35.405,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852zM145.703,83.742l53.108,0c4.868,0 8.852,3.983 8.852,8.852 0,4.868 -3.983,8.852 -8.852,8.852l-53.108,0l0,53.109l44.257,0l0,-17.703l-13.277,0c-4.868,0 -8.851,-3.983 -8.851,-8.852 0,-4.868 3.982,-8.852 8.851,-8.852l22.129,0c4.868,0 8.852,3.983 8.852,8.852l0,26.555c0,9.737 -7.967,17.703 -17.703,17.703L145.703,172.258C135.967,172.258 128,164.291 128,154.555L128,101.445c0,-9.737 7.967,-17.703 17.703,-17.703z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `3g_mobiledata_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/red_icon"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM57.188,83.742l35.405,0c9.737,-0 17.703,7.967 17.703,17.703l0,13.277c0,7.347 -5.931,13.277 -13.277,13.277 7.347,0 13.277,5.931 13.277,13.277l0,13.277c0,9.737 -7.967,17.703 -17.703,17.703l-35.405,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852l35.405,0l0,-17.703l-26.554,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852l26.554,0l0,-17.703l-35.405,0c-4.868,0 -8.852,-3.983 -8.852,-8.852 0,-4.868 3.983,-8.852 8.852,-8.852zM145.703,83.742l53.108,0c4.868,0 8.852,3.983 8.852,8.852 0,4.868 -3.983,8.852 -8.852,8.852l-53.108,0l0,53.109l44.257,0l0,-17.703l-13.277,0c-4.868,0 -8.851,-3.983 -8.851,-8.852 0,-4.868 3.982,-8.852 8.851,-8.852l22.129,0c4.868,0 8.852,3.983 8.852,8.852l0,26.555c0,9.737 -7.967,17.703 -17.703,17.703L145.703,172.258C135.967,172.258 128,164.291 128,154.555L128,101.445c0,-9.737 7.967,-17.703 17.703,-17.703z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_disabled"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128,46.928c44.752,0 81.072,36.321 81.072,81.072 0,44.752 -36.321,81.072 -81.072,81.072C83.248,209.072 46.928,172.752 46.928,128 46.928,83.248 83.248,46.928 128,46.928ZM128,63.143c-14.998,0 -28.781,5.108 -39.726,13.701L179.156,167.726C187.75,156.781 192.857,142.998 192.857,128 192.857,92.166 163.834,63.143 128,63.143ZM76.844,88.274C68.25,99.219 63.143,113.002 63.143,128c0,35.834 29.024,64.857 64.857,64.857 14.998,0 28.781,-5.108 39.726,-13.701z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/red_icon"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128,46.928c44.752,0 81.072,36.321 81.072,81.072 0,44.752 -36.321,81.072 -81.072,81.072C83.248,209.072 46.928,172.752 46.928,128 46.928,83.248 83.248,46.928 128,46.928ZM128,63.143c-14.998,0 -28.781,5.108 -39.726,13.701L179.156,167.726C187.75,156.781 192.857,142.998 192.857,128 192.857,92.166 163.834,63.143 128,63.143ZM76.844,88.274C68.25,99.219 63.143,113.002 63.143,128c0,35.834 29.024,64.857 64.857,64.857 14.998,0 28.781,-5.108 39.726,-13.701z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_ghosted"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128,46.928c44.752,0 81.072,36.321 81.072,81.072 0,44.752 -36.321,81.072 -81.072,81.072C83.248,209.072 46.928,172.752 46.928,128 46.928,83.248 83.248,46.928 128,46.928ZM128,63.143c-14.998,0 -28.781,5.108 -39.726,13.701L179.156,167.726C187.75,156.781 192.857,142.998 192.857,128 192.857,92.166 163.834,63.143 128,63.143ZM76.844,88.274C68.25,99.219 63.143,113.002 63.143,128c0,35.834 29.024,64.857 64.857,64.857 14.998,0 28.781,-5.108 39.726,-13.701z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="200dp"
+ android:width="200dp"
+ android:viewportHeight="256"
+ android:viewportWidth="256" >
+
+ <!-- Inner Shield. -->
+ <path
+ android:fillColor="@color/yellow_900"
+ android:pathData="m128,12.8 l-94.255,41.891 0,62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673l0,-62.836z" />
+
+ <!-- Outer Shield. -->
+ <path
+ android:fillColor="@color/yellow_700"
+ android:pathData="m128,0 l-104.727,46.545 0,69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364l0,-69.818L128,0ZM128,127.884 L209.455,127.884C203.287,175.825 171.287,218.531 128,231.913l0,-103.913 -81.455,0 0,-66.327L128,25.484l0,102.4z" />
+
+ <!-- Exclamation. -->
+ <path
+ android:fillColor="@color/white"
+ android:pathData="M128,49.247 L193.494,165.723L62.506,165.723L128,49.247M47.459,156.77c-6.697,11.907 1.653,26.858 15.047,26.858L193.494,183.628c13.394,0 21.744,-14.951 15.047,-26.858L143.047,40.295c-6.697,-11.907 -23.397,-11.907 -30.094,0zM119.302,94.101v17.905c0,4.924 3.914,8.953 8.698,8.953 4.784,0 8.698,-4.029 8.698,-8.953L136.698,94.101c0,-4.924 -3.914,-8.953 -8.698,-8.953 -4.784,0 -8.698,4.029 -8.698,8.953zM119.302,138.864h17.395v17.906h-17.395z" />
+</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. 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="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="@color/red_700"
- android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128,46.928c44.752,0 81.072,36.321 81.072,81.072 0,44.752 -36.321,81.072 -81.072,81.072C83.248,209.072 46.928,172.752 46.928,128 46.928,83.248 83.248,46.928 128,46.928ZM128,63.143c-14.998,0 -28.781,5.108 -39.726,13.701L179.156,167.726C187.75,156.781 192.857,142.998 192.857,128 192.857,92.166 163.834,63.143 128,63.143ZM76.844,88.274C68.25,99.219 63.143,113.002 63.143,128c0,35.834 29.024,64.857 64.857,64.857 14.998,0 28.781,-5.108 39.726,-13.701z" />
-</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_disabled"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128.017,31.444c5.849,0 11.699,2.977 15.048,8.931l65.493,116.475c6.697,11.907 -1.652,26.858 -15.047,26.858l-130.987,0c-13.394,0 -21.744,-14.951 -15.047,-26.858L112.97,40.375c3.349,-5.954 9.198,-8.931 15.047,-8.931zM128.017,49.327 L62.523,165.803l130.987,0zM128.017,85.228c4.784,0 8.698,4.029 8.698,8.953l0,17.905c0,4.924 -3.915,8.953 -8.698,8.953 -4.784,0 -8.697,-4.029 -8.697,-8.953l0,-17.905c0,-4.924 3.914,-8.953 8.697,-8.953zM119.319,138.944l17.396,0l0,17.905l-17.396,0z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/yellow_700"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128.017,31.444c5.849,0 11.699,2.977 15.048,8.931l65.493,116.475c6.697,11.907 -1.652,26.858 -15.047,26.858l-130.987,0c-13.394,0 -21.744,-14.951 -15.047,-26.858L112.97,40.375c3.349,-5.954 9.198,-8.931 15.047,-8.931zM128.017,49.327 L62.523,165.803l130.987,0zM128.017,85.228c4.784,0 8.698,4.029 8.698,8.953l0,17.905c0,4.924 -3.915,8.953 -8.698,8.953 -4.784,0 -8.697,-4.029 -8.697,-8.953l0,-17.905c0,-4.924 3.914,-8.953 8.697,-8.953zM119.319,138.944l17.396,0l0,17.905l-17.396,0z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `warning_amber_rounded`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_ghosted"
+ android:pathData="M128,0 L23.272,46.546L23.272,116.363C23.272,180.945 67.956,241.338 128,256 188.044,241.338 232.728,180.945 232.728,116.363L232.728,46.546ZM128.017,31.444c5.849,0 11.699,2.977 15.048,8.931l65.493,116.475c6.697,11.907 -1.652,26.858 -15.047,26.858l-130.987,0c-13.394,0 -21.744,-14.951 -15.047,-26.858L112.97,40.375c3.349,-5.954 9.198,-8.931 15.047,-8.931zM128.017,49.327 L62.523,165.803l130.987,0zM128.017,85.228c4.784,0 8.698,4.029 8.698,8.953l0,17.905c0,4.924 -3.915,8.953 -8.698,8.953 -4.784,0 -8.697,-4.029 -8.697,-8.953l0,-17.905c0,-4.924 3.914,-8.953 8.697,-8.953zM119.319,138.944l17.396,0l0,17.905l-17.396,0z" />
+</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `do_not_disturb`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
-
-<vector
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="200dp"
- android:width="200dp"
- android:viewportHeight="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="#b71c1c"
- android:pathData="m128,12.8 l-94.255,41.891 0,62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673l0,-62.836z" />
-
- <path
- android:fillColor="#d32f2f"
- android:pathData="m128,0 l-104.727,46.545 0,69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364l0,-69.818L128,0ZM128,127.884 L209.455,127.884C203.287,175.825 171.287,218.531 128,231.913l0,-103.913 -81.455,0 0,-66.327L128,25.484l0,102.4z" />
-
- <path
- android:fillColor="#ffffff"
- android:pathData="M128,47.744C83.248,47.744 46.928,84.064 46.928,128.816 46.928,173.568 83.248,209.888 128,209.888 172.752,209.888 209.072,173.568 209.072,128.816 209.072,84.064 172.752,47.744 128,47.744ZM128,193.673C92.166,193.673 63.143,164.65 63.143,128.816 63.143,113.818 68.25,100.035 76.844,89.091L167.725,179.972C156.78,188.566 142.998,193.673 128,193.673ZM179.156,168.541 L88.275,77.66C99.22,69.066 113.002,63.959 128,63.959c35.834,0 64.857,29.024 64.857,64.857 0,14.998 -5.108,28.78 -13.701,39.725z" />
-</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. 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="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="@color/icon_disabled"
- android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
-</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. 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="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="@color/icon_enabled"
- android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
-</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. 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="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="@color/icon_ghosted"
- android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
-</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="200dp"
+ android:width="200dp"
+ android:viewportHeight="256"
+ android:viewportWidth="256" >
+
+ <!-- Inner Shield. -->
+ <path
+ android:fillColor="@color/blue_900"
+ android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z" />
+
+ <!-- Outer Shield. -->
+ <path
+ android:fillColor="@color/blue_700"
+ android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z" />
+
+ <!-- 5. -->
+ <path
+ android:fillColor="@color/white"
+ android:pathData="M103.507,92.852L62.961,92.852l0,24.328l32.437,0c8.92,0 16.218,7.298 16.218,16.218L111.617,157.726c0,8.92 -7.298,16.218 -16.218,16.218L54.852,173.944C50.311,173.944 46.743,170.376 46.743,165.835l0,0C46.743,161.294 50.311,157.726 54.852,157.726L95.398,157.726L95.398,133.398L54.852,133.398C50.311,133.398 46.743,129.83 46.743,125.289L46.743,84.743C46.743,80.202 50.311,76.633 54.852,76.633l48.655,0C108.048,76.633 111.617,80.202 111.617,84.743l0,0C111.617,89.284 108.048,92.852 103.507,92.852Z" />
+
+ <!-- G. -->
+ <path
+ android:fillColor="@color/white"
+ android:pathData="M168.381,133.398L192.709,133.398L192.709,157.726L144.053,157.726L144.053,92.852l56.765,0C205.359,92.852 208.927,89.284 208.927,84.743l0,0C208.927,80.202 205.359,76.633 200.818,76.633L144.053,76.633c-8.92,0 -16.218,7.298 -16.218,16.218l0,64.874c0,8.92 7.298,16.218 16.218,16.218l48.655,0c8.92,0 16.218,-7.298 16.218,-16.218L208.927,125.289C208.927,120.748 205.359,117.18 200.818,117.18l-32.437,0C163.84,117.18 160.272,120.748 160.272,125.289l0,0c0,4.541 3.568,8.109 8.109,8.109z" />
+</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. If not, see <http://www.gnu.org/licenses/>. -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="200dp"
- android:width="200dp"
- android:viewportHeight="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="#0d4781"
- android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z" />
-
- <path
- android:fillColor="#1976d2"
- android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z" />
-
- <path
- android:fillColor="#ffffff"
- android:pathData="M103.507,92.852L62.961,92.852l0,24.328l32.437,0c8.92,0 16.218,7.298 16.218,16.218L111.617,157.726c0,8.92 -7.298,16.218 -16.218,16.218L54.852,173.944C50.311,173.944 46.743,170.376 46.743,165.835l0,0C46.743,161.294 50.311,157.726 54.852,157.726L95.398,157.726L95.398,133.398L54.852,133.398C50.311,133.398 46.743,129.83 46.743,125.289L46.743,84.743C46.743,80.202 50.311,76.633 54.852,76.633l48.655,0C108.048,76.633 111.617,80.202 111.617,84.743l0,0C111.617,89.284 108.048,92.852 103.507,92.852Z" />
-
- <path
- android:fillColor="#ffffff"
- android:pathData="M168.381,133.398L192.709,133.398L192.709,157.726L144.053,157.726L144.053,92.852l56.765,0C205.359,92.852 208.927,89.284 208.927,84.743l0,0C208.927,80.202 205.359,76.633 200.818,76.633L144.053,76.633c-8.92,0 -16.218,7.298 -16.218,16.218l0,64.874c0,8.92 7.298,16.218 16.218,16.218l48.655,0c8.92,0 16.218,-7.298 16.218,-16.218L208.927,125.289C208.927,120.748 205.359,117.18 200.818,117.18l-32.437,0C163.84,117.18 160.272,120.748 160.272,125.289l0,0c0,4.541 3.568,8.109 8.109,8.109z" />
-</vector>
\ No newline at end of file
+++ /dev/null
-<!--
- Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
-
- This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
-
- This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
-
- Privacy Cell 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 Cell 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 Cell. 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="256"
- android:viewportWidth="256" >
-
- <path
- android:fillColor="@color/blue_700"
- android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
-</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_disabled"
+ android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/blue_icon"
+ android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
+</vector>
\ No newline at end of file
--- /dev/null
+<!--
+ Copyright © 2016,2021-2022 Soren Stoutner <soren@stoutner.com>. The resulting image is released under the GPLv3+ license.
+
+ This file is derived from `security` and `5g`, which are part of the Android Material icon set. They are released under the Apache License 2.0.
+
+ This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+ Privacy Cell 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 Cell 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 Cell. 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="256"
+ android:viewportWidth="256" >
+
+ <path
+ android:fillColor="@color/icon_ghosted"
+ android:pathData="M128,0 L23.273,46.545L23.273,116.364c-0,64.582 44.684,124.974 104.727,139.636 60.044,-14.662 104.727,-75.054 104.727,-139.636L232.727,46.545ZM54.852,76.633l48.656,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109l-40.547,0l0,24.327l32.437,0c8.92,0 16.219,7.298 16.219,16.219l0,24.328c0,8.92 -7.298,16.219 -16.219,16.219l-40.546,0c-4.541,0 -8.11,-3.569 -8.11,-8.11 0,-4.541 3.569,-8.109 8.11,-8.109l40.546,0l0,-24.328l-40.546,0c-4.541,0 -8.11,-3.568 -8.11,-8.109l0,-40.546c0,-4.541 3.569,-8.11 8.11,-8.11zM144.054,76.633l56.765,0c4.541,0 8.109,3.569 8.109,8.11 0,4.541 -3.568,8.109 -8.109,8.109L144.054,92.852l0,64.874l48.656,0l0,-24.328l-24.328,0c-4.541,0 -8.109,-3.568 -8.109,-8.109 0,-4.541 3.568,-8.11 8.109,-8.11l32.437,0c4.541,0 8.109,3.569 8.109,8.11l0,32.437c0,8.92 -7.297,16.219 -16.218,16.219L144.054,173.945c-8.92,0 -16.219,-7.298 -16.219,-16.219L127.835,92.852c0,-8.92 7.298,-16.219 16.219,-16.219z" />
+</vector>
\ No newline at end of file
<!-- The text color primary is only displayed if the read phone state permission is not granted.
The default text is replaced if the permission is not granted or the device is connected to a cell phone network. -->
<TextView
- android:id="@+id/stingray_textview"
+ android:id="@+id/summary_textview"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
<!-- The text color primary is only displayed if the read phone state permission is not granted.
The default text is replaced if the permission is not granted or the device is connected to a cell phone network. -->
<TextView
- android:id="@+id/stingray_textview"
+ android:id="@+id/summary_textview"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Ihr Gerät ist mit einem 5G-Standalone-(SA)-Netzwerk verbunden.\n\nEs ist gegen gefälschte Basisstationen
- (Man-In-The-Middle-Angriffe, Stingray, IMSI-Catcher) gesichert.</string>
- <string name="not_secure_from_stingray">Ihr Gerät ist nicht mit einem 5G-Standalone-(SA)-Netzwerk verbunden.\n\nEs ist nicht gegen gefälschte Basisstationen
- (Man-In-The-Middle-Angriffe, Stingray, IMSI-Catcher) gesichert.</string>
<string name="voice_network">Sprach-Netzwerk: \u0020 %1$s</string>
<string name="data_network">Daten-Netzwerk: \u0020 %1$s</string>
<string name="additional_network_info">Zusätzliche Netzwerk-Information: \u0020 %1$s</string>
<!-- Navigation menu. -->
<string name="settings">Einstellungen</string>
+ <string name="protocols">Protokolle</string>
<string name="logcat">Logcat</string>
<string name="permissions">Berechtigungen</string>
<string name="privacy_policy">Datenschutz-Regeln</string>
<string name="forum">Forum</string>
<string name="donations">Spenden</string>
+ <!-- Protocol families. -->
+ <string name="protocol_2g">2G</string>
+ <string name="protocol_3g">3G</string>
+ <string name="protocol_4g">4G</string>
+ <string name="protocol_5g">5G</string>
+ <string name="protocol_other">Andere</string>
+
<!-- Network types. -->
<string name="unknown">Unbekannt</string>
<string name="gprs">GPRS – 2.5G/3G</string>
<string name="secure">Sicher</string>
<string name="insecure">Unsicher</string>
<string name="secure_network">Sie sind mit einem sicheren Netzwerk verbunden.</string>
- <string name="insecure_network">Sie sind nicht mit einem sicheren Netzwerk verbunden.</string>
<string name="unknown_network">Der Sicherheits-Status des Netzwerks ist unbekannt.</string>
<string name="secure_network_channel">Sicheres Netzwerk</string>
<string name="insecure_network_channel">Unsicheres Netzwerk</string>
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Su dispositivo está conectado a una red 5G independiente.\n\n Está protegido de los ataques \"stingray IMSI man-in-the-middle\".</string>
- <string name="not_secure_from_stingray">Su dispositivo no está conectado a una red 5G independiente.\n\n No está protegido de los ataques \"stingray IMSI man-in-the-middle\".</string>
<string name="voice_network">Red de voz: \u0020 %1$s</string>
<string name="data_network">Red de datos: \u0020 %1$s</string>
<string name="additional_network_info">Información adicional sobre la red: \u0020 %1$s</string>
<!-- Navigation menu. -->
<string name="settings">Ajustes</string>
+ <string name="protocols">Protocolos</string>
<string name="logcat">Logcat</string>
<string name="permissions">Permisos</string>
<string name="privacy_policy">Política de privacidad</string>
<string name="forum">Foro</string>
<string name="donations">Donaciones</string>
+ <!-- Protocol families. -->
+ <string name="protocol_2g">2G</string>
+ <string name="protocol_3g">3G</string>
+ <string name="protocol_4g">4G</string>
+ <string name="protocol_5g">5G</string>
+ <string name="protocol_other">Otro</string>
+
<!-- Network types. -->
<string name="unknown">Desconocido</string>
<string name="gprs">GPRS – 2.5G/3G</string>
<string name="secure">Seguro</string>
<string name="insecure">Inseguro</string>
<string name="secure_network">Estás conectado a una red segura.</string>
- <string name="insecure_network">No estás conectado a una red segura.</string>
<string name="unknown_network">La seguridad de la red es desconocida.</string>
<string name="secure_network_channel">Red segura</string>
<string name="insecure_network_channel">Red insegura</string>
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Kévin L. <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Kévin L. <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Votre appareil est connecté à un réseau 5G standalone.\n\nIl est protégé contre les attaques du type man-in-the-middle par des IMSI catcher.</string>
- <string name="not_secure_from_stingray">Votre appareil n\'est pas connecté à un réseau 5G standalone.\n\nIl n\'est pas protégé contre les attaques du type man-in-the-middle par des IMSI catcher.</string>
<string name="voice_network">Réseau voix : \u0020 %1$s</string>
<string name="data_network">Réseau de données : \u0020 %1$s</string>
<string name="additional_network_info">Informations réseau additionnelles : \u0020 %1$s</string>
<!-- Navigation menu. -->
<string name="settings">Réglages</string>
+ <string name="protocols">Protocoles</string>
<string name="logcat">Logcat</string>
<string name="permissions">Autorisations</string>
<string name="privacy_policy">Politique de confidentialité</string>
<string name="forum">Forum</string>
<string name="donations">Dons</string>
+ <!-- Protocol families. -->
+ <string name="protocol_2g">2G</string>
+ <string name="protocol_3g">3G</string>
+ <string name="protocol_4g">4G</string>
+ <string name="protocol_5g">5G</string>
+ <string name="protocol_other">Autres</string>
+
<!-- Network types. -->
<string name="unknown">Inconnu</string>
<string name="gprs">GPRS – 2.5G/3G</string>
<string name="secure">Sécurisé</string>
<string name="insecure">Non-sécurisé</string>
<string name="secure_network">Vous êtes connecté à un réseau sécurisé.</string>
- <string name="insecure_network">You are not connected to a secure network.</string>
<string name="unknown_network">La sécurité du réseau est inconnue.</string>
<string name="secure_network_channel">Réseau sécurisé</string>
<string name="insecure_network_channel">Réseau non-sécurisé</string>
<!--
Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
- Translation 2021 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2021-2022 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Il tuo dispositivo è connesso a una rete 5G autonoma.\n\nLa rete è sicura da attacchi del tipo stingray IMSI man-in-the-middle.</string>
- <string name="not_secure_from_stingray">Il tuo dispositivo non è connesso a una rete 5G autonoma.\n\nLa rete non è sicura da attacchi del tipo stingray IMSI man-in-the-middle.</string>
<string name="voice_network">Rete voce: \u0020 %1$s</string>
<string name="data_network">Rete dati: \u0020 %1$s</string>
<string name="additional_network_info">Informazioni aggiuntive sulla rete: \u0020 %1$s</string>
<!-- Navigation menu. -->
<string name="settings">Impostazioni</string>
+ <string name="protocols">Protocolli</string>
<string name="logcat">Logcat</string>
<string name="permissions">Autorizzazioni</string>
<string name="privacy_policy">Privacy Policy</string>
<string name="forum">Forum</string>
<string name="donations">Donazioni</string>
+ <!-- Protocol families. -->
+ <string name="protocol_2g">2G</string>
+ <string name="protocol_3g">3G</string>
+ <string name="protocol_4g">4G</string>
+ <string name="protocol_5g">5G</string>
+ <string name="protocol_other">Altri</string>
+
<!-- Network types. -->
<string name="unknown">Sconosciuta</string>
<string name="gprs">GPRS – 2.5G/3G</string>
<string name="secure">Sicura</string>
<string name="insecure">Insicura</string>
<string name="secure_network">Sei connesso ad una rete sicura.</string>
- <string name="insecure_network">Non sei connesso ad una rete sicura.</string>
<string name="unknown_network">Il livello di sicurezza della rete è sconosciuto.</string>
<string name="secure_network_channel">Rete sicura</string>
<string name="insecure_network_channel">Rete insicura</string>
<resources>
<!-- Nicknamed colors. -->
+ <color name="blue_icon">@color/violet_500</color>
<color name="blue_text">@color/violet_500</color>
<color name="icon_disabled">@color/gray_500</color>
<color name="icon_enabled">@color/violet_500</color>
<color name="icon_ghosted">@color/gray_700</color>
<color name="logcat_icons">@color/white</color>
+ <color name="red_icon">@color/salmon</color>
+ <color name="red_notification_icon">@color/red_900</color>
<color name="red_text">@color/salmon</color>
+ <color name="yellow_notification_icon">@color/yellow_700</color>
<!-- Raw colors. -->
<color name="black">#FF000000</color>
<color name="red_600">#FFE53935</color>
<color name="red_700">#FFD32F2F</color>
+ <color name="red_900">#FFB71C1C</color>
<color name="salmon">#FFFC684E</color>
<color name="soft_red">#FFC73625</color>
+ <color name="yellow_700">#FFFBC02D</color>
+ <color name="yellow_900">#FFF57F17</color>
+
<color name="violet_500">#FF8AB4F8</color>
+ <color name="violet_700">#FF5785C5</color>
<color name="white">#FFFFFFFF</color>
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Ваше устройство подключено к автономной сети 5G.\n\nОно защищено от атак типа StingRay IMSI (человек посередине).</string>
- <string name="not_secure_from_stingray">Ваше устройство не подключено к автономной сети 5G.\n\nОно не защищено от атак типа StingRay IMSI (человек посередине).</string>
<string name="voice_network">Сеть голосовой связи: \u0020 %1$s</string>
<string name="data_network">Сеть передачи данных: \u0020 %1$s</string>
<string name="additional_network_info">Дополнительная информация о сети: \u0020 %1$s</string>
<!-- Navigation menu. -->
<string name="settings">Настройки</string>
+ <string name="protocols">Протоколы</string>
<string name="logcat">Logcat</string>
<string name="permissions">Разрешения</string>
<string name="privacy_policy">Политика конфиденциальности</string>
<string name="forum">Форум</string>
<string name="donations">Пожертвования</string>
+ <!-- Protocol families. -->
+ <string name="protocol_2g">2G</string>
+ <string name="protocol_3g">3G</string>
+ <string name="protocol_4g">4G</string>
+ <string name="protocol_5g">5G</string>
+ <string name="protocol_other">Другой</string>
+
<!-- Network types. -->
<string name="unknown">Неизвестно</string>
<string name="gprs">GPRS – 2.5G/3G</string>
<string name="secure">Безопасна</string>
<string name="insecure">Небезопасна</string>
<string name="secure_network">Вы подключены к безопасной сети.</string>
- <string name="insecure_network">Вы подключены к небезопасной сети.</string>
<string name="unknown_network">Безопасность сети не определена.</string>
<string name="secure_network_channel">Безопасная сеть</string>
<string name="insecure_network_channel">Небезопасная сеть</string>
<resources>
<!-- Nicknamed colors. -->
+ <color name="blue_icon">@color/blue_700</color>
<color name="blue_text">@color/blue_700</color>
<color name="icon_disabled">@color/gray_600</color>
<color name="icon_enabled">@color/blue_700</color>
<color name="icon_ghosted">@color/gray_425</color>
<color name="logcat_icons">@color/gray_925</color>
+ <color name="red_icon">@color/red_700</color>
+ <color name="red_notification_icon">@color/red_700</color>
<color name="red_text">@color/red_700</color>
+ <color name="yellow_notification_icon">@color/yellow_700</color>
<!-- Raw colors. -->
+ <color name="amber_300">#FFFFD54F</color>
+ <color name="amber_500">#FFFFC107</color>
+
<color name="black">#FF000000</color>
<color name="blue_500">#FF2196F3</color>
<color name="gray_700">#FF616161</color>
<color name="gray_925">#FF202020</color>
+ <color name="lime_a200">#FFEEFF41</color>
+
<color name="red_600">#FFE53935</color>
<color name="red_700">#FFD32F2F</color>
+ <color name="red_900">#FFB71C1C</color>
<color name="salmon">#FFFC684E</color>
<color name="soft_red">#FFC73625</color>
+ <color name="yellow_50">#FFFFFDE7</color>
+ <color name="yellow_100">#FFFFF9C4</color>
+ <color name="yellow_300">#FFFFF176</color>
+ <color name="yellow_500">#FFFFEB3B</color>
+ <color name="yellow_700">#FFFBC02D</color>
+ <color name="yellow_900">#FFF57F17</color>
+
+ <color name="yellow_a200">#FFFFFF00</color>
+ <color name="yellow_a400">#FFFFEA00</color>
+
<color name="violet_500">#FF8AB4F8</color>
+ <color name="violet_700">#FF5785C5</color>
<color name="white">#FFFFFFFF</color>
<!-- Text views. The `\n\n` code inserts a line break and should be preserved in translations.
Android removes double spaces, but extra spaces can be manually specified with the Unicode `\u0020` formatting.
The `%1$s` code inserts variables into the displayed text and should be preserved in translation. -->
- <string name="secure_from_stingray">Your device is connected to a standalone 5G network.\n\nIt is secure from stingray IMSI man-in-the-middle attacks.</string>
- <string name="not_secure_from_stingray">Your device is not connected to a standalone 5G network.\n\nIt is not secure from stingray IMSI man-in-the-middle attacks.</string>
+ <string name="secure_protocols">Your device is connected to a network using secure protocols.\n\nIt is secure from stingray IMSI man-in-the-middle attacks.</string>
+ <string name="insecure_protocols">Your device is connected to a network using insecure protocols.\n\nIt is not secure from stingray IMSI man-in-the-middle attacks.</string>
+ <string name="antiquated_protocols">Your device is connected to a network using antiquated protocols.\n\nIt is exposed to numerous security vulnerabilities.</string>
<string name="voice_network">Voice network: \u0020 %1$s</string>
<string name="data_network">Data network: \u0020 %1$s</string>
<string name="additional_network_info">Additional network info: \u0020 %1$s</string>
<!-- Dialogs. -->
<string name="stingrays">Stingrays</string>
+ <string name="antiquated_network_title">Antiquated Network</string>
<string name="close">Close</string>
<!-- Settings. -->
<string name="realtime_monitoring_summary">Place an icon in the status bar that monitors the cell network.</string>
<string name="secure_network_notification">Secure network notification</string>
<string name="insecure_network_notification">Insecure network notification</string>
+ <string name="antiquated_network_notification">Antiquated network notification</string>
+ <string name="consider_3g_antiquated">Consider 3G antiquated</string>
+ <string name="consider_3g_antiquated_summary">Consider the 3G protocols to be antiquated. At a future point this will become the default. Changing this setting will restart Privacy Cell.</string>
<string name="interface_title">Interface</string>
<string name="bottom_app_bar">Bottom app bar</string>
<string name="bottom_app_bar_summary">Move the app bar to the bottom of the screen. Changing this setting will restart Privacy Cell.</string>
<!-- Notifications. -->
<string name="secure">Secure</string>
<string name="insecure">Insecure</string>
+ <string name="antiquated">Antiquated</string>
<string name="secure_network">You are connected to a secure network.</string>
- <string name="insecure_network">You are not connected to a secure network.</string>
+ <string name="insecure_network">You are connected to an insecure network.</string>
+ <string name="antiquated_network">You are connected to an antiquated network.</string>
<string name="unknown_network">The security of the network is unknown.</string>
<string name="secure_network_channel">Secure network</string>
<string name="insecure_network_channel">Insecure network</string>
+ <string name="antiquated_network_channel">Antiquated network</string>
<string name="unknown_network_channel">Unknown network</string>
<!-- Periodic Work Names. -->
<string name="realtime_monitoring_key" translatable="false">realtime_monitoring</string>
<string name="secure_network_notification_key" translatable="false">secure_network_notification</string>
<string name="insecure_network_notification_key" translatable="false">insecure_network_notification</string>
+ <string name="antiquated_network_notification_key" translatable="false">antiquated_network_notification</string>
+ <string name="consider_3g_antiquated_key" translatable="false">consider_3g_antiquated</string>
<string name="interface_key" translatable="false">interface</string>
<string name="bottom_app_bar_key" translatable="false">bottom_app_bar</string>
</resources>
\ No newline at end of file
<Preference
app:key="@string/insecure_network_notification_key"
app:title="@string/insecure_network_notification" />
+
+ <Preference
+ app:key="@string/antiquated_network_notification_key"
+ app:title="@string/antiquated_network_notification" />
+
+ <SwitchPreferenceCompat
+ app:key="@string/consider_3g_antiquated_key"
+ app:title="@string/consider_3g_antiquated"
+ app:summary="@string/consider_3g_antiquated_summary"
+ app:defaultValue="false" />
</PreferenceCategory>
<PreferenceCategory
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.1'
+ classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
// NOTE: Do not place your application dependencies here; they belong
Privacy Cell is a small app that displays the cell phone protocol information.
-At the time of this writing, many cell phone networks are switching from 4G (4th Generation) to 5G networks. The 5G network protocols were specifically designed to protect against some of the known insecurities of the older protocols, including those that allowed stingrays (IMSI catchers) to perform man-in-the-middle attacks on cell phone networks. To ease deployment and backwards compatibility, 4G and 5G networks can run together in what is known as 5G NR (New Radio) NSA (Non-Standalone) mode. This uses the 4G network for the control channel and the 5G network for the data communication. However, 5G NR NSA does not provide protection against stingrays. Android has access to all the information it needs to know if it is connected to a 5G NR NSA or a 5G NR SA (Standalone) network, but it doesn’t display that information to the user. The purpose of Privacy Cell is to make that information easy to access.
\ No newline at end of file
+At the time of this writing, many cell phone networks are switching from 4G (4th Generation) to 5G networks. The 5G network protocols were specifically designed to protect against some of the known insecurities of the older protocols, including those that allowed stingrays (IMSI catchers) to perform man-in-the-middle attacks on cell phone networks. To ease deployment and backwards compatibility, 4G and 5G networks can run together in what is known as 5G NR (New Radio) NSA (Non-Standalone) mode. This uses the 4G network for the control channel and the 5G network for the data communication. However, 5G NR NSA does not provide protection against stingrays. Android has access to all the information it needs to know if it is connected to a 5G NR NSA or a 5G NR SA (Standalone) network, but it doesn’t display that information to the user. The purpose of Privacy Cell is to make that information easy to access.
+
+Privacy Cell can also warn you when you are connected to antiquated 2G and 3G networks.
\ No newline at end of file