<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
- <compositeConfiguration>
- <compositeBuild compositeDefinitionSource="SCRIPT" />
- </compositeConfiguration>
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.14.1" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
+ <option name="testRunner" value="PLATFORM" />
</GradleProjectSettings>
</option>
</component>
/*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
*/
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android-extensions'
+apply plugin: 'kotlin-android'
android {
compileSdkVersion 29
}
}
+repositories {
+ mavenCentral()
+}
+
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
+ implementation "androidx.core:core-ktx:1.1.0"
implementation 'androidx.drawerlayout:drawerlayout:1.0.0'
implementation 'androidx.preference:preference:1.1.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.webkit:webkit:1.1.0'
+ // Include the Kotlin standard libraries
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61"
+
// Include the Google material library.
implementation 'com.google.android.material:material:1.0.0'
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2015-2018 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
Translation 2019 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2015-2018 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2019 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2019-2020 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
Translation 2018 Stefan Erhardt. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3. Januar 2020 - Mindest-API 19, Ziel-API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3. Januar 2020</a> - Mindest-API 19, Ziel-API 29</p>
<ul>
<li>Unterstützung benutzerdefinierter Proxies wie <a href="https://redmine.stoutner.com/issues/486">SOCKS-Proxies</a>,
und <a href="https://redmine.stoutner.com/issues/355">I2P</a>hinzugefügt.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2019 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2019-2020 Bernhard G. Keller. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
Translation 2018 Stefan Erhardt. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3. Januar 2020 - Mindest-API 19, Ziel-API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3. Januar 2020</a> - Mindest-API 19, Ziel-API 29</p>
<ul>
<li>Unterstützung benutzerdefinierter Proxies wie <a href="https://redmine.stoutner.com/issues/486">SOCKS-Proxies</a>,
und <a href="https://redmine.stoutner.com/issues/355">I2P</a>hinzugefügt.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2016 Aaron Gerlach <aaron@gerlach.com>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser ist copyright © 2015-2019 von <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser ist copyright © 2015-2020 von <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Lizenz</h3>
<p>Privacy Browser ist veröffentlicht unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ Lizenz</a>. The full text of the license is below.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2016 Aaron Gerlach <aaron@gerlach.com>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser ist copyright © 2015-2019 von <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser ist copyright © 2015-2020 von <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Lizenz</h3>
<p>Privacy Browser ist veröffentlicht unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ Lizenz</a>. The full text of the license is below.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3 January 2020 - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 January 2020</a> - minimum API 19, target API 29</p>
<ul>
<li>Add support for custom proxies, including <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
and include an entry for <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3 January 2020 - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 January 2020</a> - minimum API 19, target API 29</p>
<ul>
<li>Add support for custom proxies, including <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
and include an entry for <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>License</h3>
<p>Privacy Browser is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>. The full text of the license is below.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>License</h3>
<p>Privacy Browser is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</a>. The full text of the license is below.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2017-2019 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2017-2020 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (código de versión 47)</h3>
- <p>3 de enero de 2020 - API mínimo 19, API dirigido 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (código de versión 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 de enero de 2020</a> - API mínimo 19, API dirigido 29</p>
<ul>
<li>Añadir soporte para proxis personalizados, incluyendo <a href="https://redmine.stoutner.com/issues/486">proxis SOCKS</a>,
e incluir una entrada para <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2017-2019 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2017-2020 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (código de versión 47)</h3>
- <p>3 de enero de 2020 - API mínimo 19, API dirigido 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (código de versión 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 de enero de 2020</a> - API mínimo 19, API dirigido 29</p>
<ul>
<li>Añadir soporte para proxis personalizados, incluyendo <a href="https://redmine.stoutner.com/issues/486">proxis SOCKS</a>,
e incluir una entrada para <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2017-2019 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Derechos de autor</h3>
- <p>Navegador Privado tiene derechos de autor © 2015-2019 por <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Navegador Privado tiene derechos de autor © 2015-2020 por <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licencia</h3>
<p>Navegador Privado está liberado bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2017-2019 Jose A. León. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Derechos de autor</h3>
- <p>Navegador Privado tiene derechos de autor © 2015-2019 por <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Navegador Privado tiene derechos de autor © 2015-2020 por <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licencia</h3>
<p>Navegador Privado está liberado bajo la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2019 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2019-2020 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version du code 47)</h3>
- <p>3 Janvier 2020 - API minimale : 19, API optimale : 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version du code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Janvier 2020</a> - API minimale : 19, API optimale : 29</p>
<ul>
<li>Ajout de la prise en charge des proxys personnalisés, y compris les <a href="https://redmine.stoutner.com/issues/486">proxys SOCKS</a>,
et inclut une entrée pour <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2019 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2019-2020 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version du code 47)</h3>
- <p>3 Janvier 2020 - API minimale : 19, API optimale : 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version du code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Janvier 2020</a> - API minimale : 19, API optimale : 29</p>
<ul>
<li>Ajout de la prise en charge des proxys personnalisés, y compris les <a href="https://redmine.stoutner.com/issues/486">proxys SOCKS</a>,
et inclut une entrée pour <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2019 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licence</h3>
<p>rivacy Browser est publié sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>. Le texte complet de la licence est ci-dessous.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2019 Kévin LE FLOHIC <kevinliste@framalistes.org>. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licence</h3>
<p>rivacy Browser est publié sous la <a href="https://www.gnu.org/licenses/gpl-3.0.html">licence GPLv3+</a>. Le texte complet de la licence est ci-dessous.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2017-2019 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2017-2020 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (versione codice 47)</h3>
- <p>3 Gennaio 2020 - minima API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (versione codice 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Gennaio 2020</a> - minima API 19, target API 29</p>
<ul>
<li>Aggiunto il supporto per proxy personalizzati, inclusi i <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
e inclusa la possibilità di utilizzare <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
- Translation 2017-2019 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+ Translation 2017-2020 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (versione codice 47)</h3>
- <p>3 Gennaio 2020 - minima API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (versione codice 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Gennaio 2020</a> - minima API 19, target API 29</p>
<ul>
<li>Aggiunto il supporto per proxy personalizzati, inclusi i <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
e inclusa la possibilità di utilizzare <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2017-2019 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019: <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020: <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licenza</h3>
<p>Privacy Browser è rilasciato con <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+ </a>.
<!--
- Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
Translation 2017-2019 Francesco Buratti. Copyright assigned to Soren Stoutner <soren@stoutner.com>.
<body>
<h3>Copyright</h3>
- <p>Privacy Browser copyright © 2015-2019: <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser copyright © 2015-2020: <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Licenza</h3>
<p>Privacy Browser è rilasciato con <a href="https://www.gnu.org/licenses/gpl-3.0.html">Licenza GPLv3+ </a>.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (код версии 47)</h3>
- <p>3 января 2020 года - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (код версии 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 января 2020 года</a> - minimum API 19, target API 29</p>
<ul>
<li>Добавлена поддержка пользовательских прокси, включая <a href="https://redmine.stoutner.com/issues/486">SOCKS-прокси</a>, и <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<li>Сокращено <a href="https://redmine.stoutner.com/issues/491">название приложения</a> в лаунчере.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (код версии 47)</h3>
- <p>3 января 2020 года - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (код версии 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 января 2020 года</a> - minimum API 19, target API 29</p>
<ul>
<li>Добавлена поддержка пользовательских прокси, включая <a href="https://redmine.stoutner.com/issues/486">SOCKS-прокси</a>, и <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<li>Сокращено <a href="https://redmine.stoutner.com/issues/491">название приложения</a> в лаунчере.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Авторские права</h3>
- <p>Авторские права Privacy Browser © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Авторские права Privacy Browser © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Лицензия</h3>
<p>Privacy Browser выпущен под <a href="https://www.gnu.org/licenses/gpl-3.0.html">лицензией GPLv3+</a>. Полный текст лицензии приведен ниже.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Авторские права</h3>
- <p>Авторские права Privacy Browser © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Авторские права Privacy Browser © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Лицензия</h3>
<p>Privacy Browser выпущен под <a href="https://www.gnu.org/licenses/gpl-3.0.html">лицензией GPLv3+</a>. Полный текст лицензии приведен ниже.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3><img class="title" src="../shared_images/vpn_key_blue_dark.png"> Proxies and Their Limits</h3>
+ <h3><img class="title" src="../shared_images/vpn_key_blue_dark.png"> Прокси и их ограничения</h3>
<p>Существуют две основные отрицательные категории субъектов, которые нарушают конфиденциальность в интернете: злонамеренные правительства, имеющие доступ к интернет-провайдерам и крупные корпорации,
которые управляют социальными и рекламными сетями.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3><img class="title" src="../shared_images/vpn_key_blue_light.png"> Proxies and Their Limits</h3>
+ <h3><img class="title" src="../shared_images/vpn_key_blue_light.png"> Прокси и их ограничения</h3>
<p>Существуют две основные отрицательные категории субъектов, которые нарушают конфиденциальность в интернете: злонамеренные правительства, имеющие доступ к интернет-провайдерам и крупные корпорации,
которые управляют социальными и рекламными сетями.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3 Ocak 2020 - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Ocak 2020</a> - minimum API 19, target API 29</p>
<ul>
<li>Add support for custom proxies, including <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
and include an entry for <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
</head>
<body>
- <h3>3.3 (version code 47)</h3>
- <p>3 Ocak 2020 - minimum API 19, target API 29</p>
+ <h3><a href="https://www.stoutner.com/privacy-browser-3-3/">3.3</a> (version code 47)</h3>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=54153efaffb2447307fbd8be569529d0118b823d">3 Ocak 2020</a> - minimum API 19, target API 29</p>
<ul>
<li>Add support for custom proxies, including <a href="https://redmine.stoutner.com/issues/486">SOCKS proxies</a>,
and include an entry for <a href="https://redmine.stoutner.com/issues/355">I2P</a>.</li>
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Telif Hakkı</h3>
- <p>Privacy Browser telif hakkı © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser telif hakkı © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Lisans</h3>
<p>Privacy Browser <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı. Lisansın tam metni aşağıdadır.
<!--
- Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
<body>
<h3>Telif Hakkı</h3>
- <p>Privacy Browser telif hakkı © 2015-2019 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
+ <p>Privacy Browser telif hakkı © 2015-2020 <a href="mailto:soren@stoutner.com">Soren Stoutner</a>.</p>
<h3>Lisans</h3>
<p>Privacy Browser <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> lisansı altında yayınlandı. Lisansın tam metni aşağıdadır.
+++ /dev/null
-/*
- * Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
- *
- * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
- *
- * Privacy Browser is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Privacy Browser is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package com.stoutner.privacybrowser.dialogs;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.view.WindowManager;
-
-import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;
-import androidx.preference.PreferenceManager;
-
-import com.stoutner.privacybrowser.R;
-
-public class AboutViewSourceDialog extends DialogFragment {
- @Override
- @NonNull
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- // Get the context.
- Context context = getContext();
-
- // Remove the incorrect lint warning below that the context might be null.
- assert context != null;
-
- // Get a handle for the shared preferences.
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
- // Get the screenshot and theme preferences.
- boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
- boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
- // Use a builder to create the alert dialog.
- AlertDialog.Builder dialogBuilder;
-
- // Set the style and the icon according to the theme.
- if (darkTheme) {
- dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
- dialogBuilder.setIcon(R.drawable.about_dark);
- } else {
- dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
- dialogBuilder.setIcon(R.drawable.about_light);
- }
-
- // Set an `onClick` listener on the negative button. Using `null` as the listener closes the dialog without doing anything else.
- dialogBuilder.setNegativeButton(R.string.close, null);
-
- // Set the title.
- dialogBuilder.setTitle(R.string.about_view_source);
-
- // Set the text.
- dialogBuilder.setMessage(R.string.about_view_source_message);
-
- // Create an alert dialog from the alert dialog builder.
- AlertDialog alertDialog = dialogBuilder.create();
-
- // Disable screenshots if not allowed.
- if (!allowScreenshots) {
- // Remove the warning below that `getWindow()` might be null.
- assert alertDialog.getWindow() != null;
-
- // Disable screenshots.
- alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
- }
-
- // Return the alert dialog.
- return alertDialog;
- }
-}
--- /dev/null
+/*
+ * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
+ *
+ * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+ *
+ * Privacy Browser is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Privacy Browser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package com.stoutner.privacybrowser.dialogs
+
+import android.app.AlertDialog
+import android.app.Dialog
+import android.os.Bundle
+import android.view.WindowManager
+import androidx.fragment.app.DialogFragment
+import androidx.preference.PreferenceManager
+
+import com.stoutner.privacybrowser.R
+
+class AboutViewSourceDialog : DialogFragment() {
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ // Get a handle for the shared preferences.
+ val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+ // Get the screenshot and theme preferences.
+ val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+ val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
+
+ // Use a builder to create the alert dialog.
+ val dialogBuilder: AlertDialog.Builder
+
+ // Set the style and the icon according to the theme.
+ if (darkTheme) {
+ // Use a dark style.
+ dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
+
+ // Set a dark icon.
+ dialogBuilder.setIcon(R.drawable.about_dark)
+ } else {
+ // Use a light style.
+ dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
+
+ // Set a light icon.
+ dialogBuilder.setIcon(R.drawable.about_light)
+ }
+
+ // Set the title.
+ dialogBuilder.setTitle(R.string.about_view_source)
+
+ // Set the text.
+ dialogBuilder.setMessage(R.string.about_view_source_message)
+
+ // Set a listener on the close button. Using `null` as the listener closes the dialog without doing anything else.
+ dialogBuilder.setNegativeButton(R.string.close, null)
+
+ // Create an alert dialog from the alert dialog builder.
+ val alertDialog = dialogBuilder.create()
+
+ // Disable screenshots if not allowed.
+ if (!allowScreenshots) {
+ alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
+ }
+
+ // Return the alert dialog.
+ return alertDialog
+ }
+}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
android:layout_width="match_parent"
android:orientation="vertical" >
- <!-- The app bar layout theme has to be defined here because the activity uses a `NoActionBar` theme. -->
+ <!-- The app bar layout theme may not need to be specified here. But more testing on all APIs needs to be done before it can be removed. -->
<com.google.android.material.appbar.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
- Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
-
- This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
- Privacy Browser is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- Privacy Browser is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
-
-<resources>
- <!-- Light theme styles. -->
-
- <!-- `android:windowTranslucentStatus` makes the system status bar translucent. When it is specified the root layout should include `android:fitsSystemWindows="true"`. -->
- <style name="PrivacyBrowserLight" parent="Theme.AppCompat.Light.NoActionBar" >
- <item name="aboutIcon">@drawable/about_light</item>
- <item name="addTabIconTintColor">@color/gray_700</item>
- <item name="android:textColorHighlight">@color/blue_200</item>
- <item name="android:textColorPrimary">@color/primary_text_color_selector_light</item>
- <item name="android:windowTranslucentStatus">true</item>
- <item name="appBarTheme">@style/PrivacyBrowserAppBarLight</item>
- <item name="colorAccent">@color/blue_700</item>
- <item name="dialogTabLayoutTheme">@style/PrivacyBrowserTabLayoutDialogLight</item>
- <item name="mainStatusBarBackground">@color/gray_500</item>
- <item name="navigationHeaderBackground">@color/blue_700</item>
- <item name="navigationHeaderTextColor">@color/white</item>
- <item name="navigationIconTintColor">@color/blue_800</item>
- <item name="findOnPageIconTintColor">@color/blue_800</item>
- <item name="progressTintColor">@color/blue_700</item>
- <item name="redText">@color/red_a700</item>
- <item name="sslHeader">@color/blue_700</item>
- <item name="sslTitle">@color/blue_900</item>
- <item name="urlHistoryText">@color/black</item>
- <item name="viewSourceIconTintColor">@color/black</item>
- <item name="webViewBackground">@color/gray_50</item>
- </style>
-
- <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
- <style name="PrivacyBrowserLight.SecondaryActivity" >
- <item name="windowActionModeOverlay">true</item>
- <item name="android:windowTranslucentStatus">false</item>
- <item name="colorPrimaryDark">@color/blue_700</item>
- <item name="android:statusBarColor">@color/blue_900</item>
- <item name="android:textColorHighlight">@color/blue_200</item>
- <item name="android:actionModeBackground">@color/blue_700</item>
- <item name="spinnerHeaderTextColor">@color/white</item>
- <item name="spinnerBackground">@color/blue_750</item>
- <item name="spinnerTextColorSelector">@color/spinner_color_selector_light</item>
- <item name="appbarSpinnerTextColorSelector">@color/appbar_spinner_color_selector_light</item>
- <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_light</item>
- <item name="buttonTextColorSelector">@color/button_text_color_selector_light</item>
- <item name="listSelectorDrawable">@drawable/list_selector_light</item>
- <item name="aboutTitle">@color/blue_900</item>
- <item name="aboutText">@color/blue_700</item>
- <item name="aboutBackground">@color/white</item>
- <item name="domainSettingsIconTintColor">@color/blue_800</item>
- <item name="deleteIcon">@drawable/delete_light</item>
- <item name="addIcon">@drawable/add_light</item>
- <item name="addBookmarkIcon">@drawable/create_bookmark_light</item>
- <item name="addFolderIcon">@drawable/create_folder_light</item>
- <item name="copyIcon">@drawable/copy_light</item>
- <item name="clearIcon">@drawable/clear_light</item>
- <item name="selectAllIcon">@drawable/select_all_light</item>
- <item name="editIcon">@drawable/edit_light</item>
- <item name="moveToFolderIcon">@drawable/move_to_folder_light</item>
- <item name="saveIcon">@drawable/save_light</item>
- <item name="sortIcon">@drawable/sort_light</item>
- <item name="actionBarPopupTheme">@style/PrivacyBrowserPopupsLight</item>
- <item name="appBarTextTheme">@style/PrivacyBrowserAppBarWhiteText</item>
- <item name="popupsTheme">@style/PrivacyBrowserPopupsLight</item>
- <item name="tabLayoutTheme">@style/PrivacyBrowserTabLayoutLight</item>
- </style>
-
- <!-- `colorPrimaryDark` is the color of the status bar. -->
- <style name="PrivacyBrowserSettingsLight" parent="Theme.AppCompat.Light.DarkActionBar" >
- <item name="colorPrimary">@color/blue_700</item>
- <item name="colorPrimaryDark">@color/blue_900</item>
- <item name="colorAccent">@color/blue_700</item>
- <item name="userAgentIcon">@drawable/user_agent_light</item>
- <item name="searchIcon">@drawable/search_enabled_light</item>
- <item name="homepageIcon">@drawable/home_enabled_light</item>
- <item name="fontSizeIcon">@drawable/font_size_light</item>
- </style>
-
- <!-- `ThemeOverlay.AppCompat.ActionBar` makes the hamburger icons dark. -->
- <style name="PrivacyBrowserAppBarLight" parent="ThemeOverlay.AppCompat.ActionBar" />
-
- <!-- `ThemeOverlay.AppCompat.Dark.ActionBar` makes the text and the icons in the AppBar white. -->
- <style name="PrivacyBrowserAppBarWhiteText" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
-
- <!-- `ThemeOverlay.AppCompat.Light` makes the popups have a light background with dark text. -->
- <style name="PrivacyBrowserPopupsLight" parent="ThemeOverlay.AppCompat.Light" />
-
- <!-- Configure the About and Guide `TabLayouts`. -->
- <style name="PrivacyBrowserTabLayoutLight" parent="Widget.Design.TabLayout" >
- <item name="android:textColorPrimary">@color/white</item>
- <item name="android:textColorSecondary">@color/blue_100</item>
- <item name="tabIndicatorColor">@color/white</item>
- </style>
-
- <style name="PrivacyBrowserTabLayoutDialogLight" parent="Widget.Design.TabLayout" >
- <item name="android:textColorPrimary">@color/blue_700</item>
- <item name="android:textColorSecondary">@color/blue_700_50</item>
- </style>
-
- <style name="PrivacyBrowserAlertDialogLight" parent="Theme.AppCompat.Light.Dialog.Alert" >
- <item name="colorAccent">@color/blue_700</item>
- </style>
-
- <style name="PrivacyBrowserProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal" >
- <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item>
- </style>
-
-
- <!-- Dark theme styles. -->
-
- <!-- `android:windowTranslucentStatus` makes the system status bar translucent. When it is specified the root layout should include `android:fitsSystemWindows="true"`. -->
- <style name="PrivacyBrowserDark" parent="Theme.AppCompat.NoActionBar" >
- <item name="aboutIcon">@drawable/about_dark</item>
- <item name="addTabIconTintColor">@color/gray_400</item>
- <item name="android:textColorHighlight">@color/blue_800</item>
- <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
- <item name="android:windowTranslucentStatus">true</item>
- <item name="appBarTheme">@style/PrivacyBrowserAppBarDark</item>
- <item name="colorAccent">@color/blue_600</item>
- <item name="mainStatusBarBackground">@color/black</item>
- <item name="navigationHeaderBackground">@color/blue_800</item>
- <item name="navigationHeaderTextColor">@color/gray_300</item>
- <item name="findOnPageIconTintColor">@color/blue_600</item>
- <item name="navigationIconTintColor">@color/blue_600</item>
- <item name="progressTintColor">@color/blue_600</item>
- <item name="redText">@color/red_900</item>
- <item name="sslHeader">@color/blue_400</item>
- <item name="sslTitle">@color/blue_700</item>
- <item name="urlHistoryText">@color/gray_200</item>
- <item name="viewSourceIconTintColor">@color/gray_300</item>
- <item name="webViewBackground">@color/gray_900</item>
- </style>
-
- <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. `colorPrimaryDark` goes behind the status bar, which is then darkened by the overlay.-->
- <style name="PrivacyBrowserDark.SecondaryActivity" >
- <item name="windowActionModeOverlay">true</item>
- <item name="android:windowTranslucentStatus">false</item>
- <item name="colorPrimaryDark">@color/blue_800</item>
- <item name="android:statusBarColor">@color/blue_900</item>
- <item name="android:actionModeBackground">@color/blue_800</item>
- <item name="spinnerHeaderTextColor">@color/gray_300</item>
- <item name="spinnerBackground">@color/blue_830</item>
- <item name="spinnerTextColorSelector">@color/spinner_color_selector_dark</item>
- <item name="appbarSpinnerTextColorSelector">@color/appbar_spinner_color_selector_dark</item>
- <item name="buttonTextColorSelector">@color/button_text_color_selector_dark</item>
- <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_dark</item>
- <item name="aboutTitle">@color/blue_600</item>
- <item name="aboutText">@color/blue_400</item>
- <item name="aboutBackground">@color/gray_850</item>
- <item name="listSelectorDrawable">@drawable/list_selector_dark</item>
- <item name="domainSettingsIconTintColor">@color/blue_600</item>
- <item name="deleteIcon">@drawable/delete_dark</item>
- <item name="addIcon">@drawable/add_dark</item>
- <item name="addBookmarkIcon">@drawable/create_bookmark_dark</item>
- <item name="addFolderIcon">@drawable/create_folder_dark</item>
- <item name="clearIcon">@drawable/clear_dark</item>
- <item name="copyIcon">@drawable/copy_dark</item>
- <item name="selectAllIcon">@drawable/select_all_dark</item>
- <item name="editIcon">@drawable/edit_dark</item>
- <item name="moveToFolderIcon">@drawable/move_to_folder_dark</item>
- <item name="saveIcon">@drawable/save_dark</item>
- <item name="sortIcon">@drawable/sort_dark</item>
- <item name="android:spinnerDropDownItemStyle">@style/PrivacyBrowserSpinnerDropDownItemStyleDark</item>
- <item name="appBarTextTheme">@style/PrivacyBrowserAppBarDark</item>
- <item name="popupsTheme">@style/PrivacyBrowserPopupsDark</item>
- <item name="tabLayoutTheme">@style/PrivacyBrowserTabLayoutDark</item>
- </style>
-
- <style name="PrivacyBrowserSettingsDark" parent="Theme.AppCompat" >
- <item name="colorPrimary">@color/blue_800</item>
- <item name="colorPrimaryDark">@color/blue_900</item>
- <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
- <item name="colorAccent">@color/blue_600</item>
- <item name="userAgentIcon">@drawable/user_agent_dark</item>
- <item name="searchIcon">@drawable/search_enabled_dark</item>
- <item name="homepageIcon">@drawable/home_enabled_dark</item>
- <item name="fontSizeIcon">@drawable/font_size_dark</item>
- </style>
-
- <!-- `ThemeOverlay.AppCompat.Dark.ActionBar` makes the text and the icons in the AppBar white. -->
- <style name="PrivacyBrowserAppBarDark" parent="ThemeOverlay.AppCompat.Dark.ActionBar" >
- <item name="android:textColorPrimary">@color/gray_300</item>
- </style>
-
- <!-- Configure the About and Guide `TabLayouts`. -->
- <style name="PrivacyBrowserTabLayoutDark" parent="Widget.Design.TabLayout" >
- <item name="tabBackground">@color/blue_800</item>
- <item name="android:textColorSecondary">@color/blue_300</item>
- <item name="tabIndicatorColor">@color/gray_300</item>
- </style>
-
- <style name="PrivacyBrowserAlertDialogDark" parent="Theme.AppCompat.Dialog.Alert" >
- <item name="android:windowBackground">@color/gray_850</item>
- <item name="android:textColorPrimary">@color/gray_300</item>
- <item name="android:textColorSecondary">@color/gray_300</item>
- <item name="colorAccent">@color/blue_600</item>
- </style>
-
- <style name="PrivacyBrowserSpinnerDropDownItemStyleDark" parent="Base.Widget.AppCompat.TextView.SpinnerItem" >
- <item name="android:textColor">@color/gray_300</item>
- </style>
-
- <!-- `ThemeOverlay.AppCompat.Dark` makes the popups have a dark background with light text. -->
- <style name="PrivacyBrowserPopupsDark" parent="ThemeOverlay.AppCompat.Dark" >
- <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
- </style>
-</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
+ Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
You should have received a copy of the GNU General Public License
along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
-<resources>
+<resources
+ xmlns:tools="http://schemas.android.com/tools">
<!-- Light theme styles. -->
<!-- `android:windowTranslucentStatus` makes the system status bar translucent. When it is specified the root layout should include `android:fitsSystemWindows="true"`. -->
<item name="appBarTheme">@style/PrivacyBrowserAppBarLight</item>
<item name="colorAccent">@color/blue_700</item>
<item name="dialogTabLayoutTheme">@style/PrivacyBrowserTabLayoutDialogLight</item>
+ <item name="findOnPageIconTintColor">@color/blue_800</item>
<item name="mainStatusBarBackground">@color/gray_500</item>
<item name="navigationHeaderBackground">@color/blue_700</item>
<item name="navigationHeaderTextColor">@color/white</item>
<item name="navigationIconTintColor">@color/blue_800</item>
- <item name="findOnPageIconTintColor">@color/blue_800</item>
<item name="progressTintColor">@color/blue_700</item>
<item name="redText">@color/red_a700</item>
<item name="sslHeader">@color/blue_700</item>
<!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
<style name="PrivacyBrowserLight.SecondaryActivity" >
<item name="windowActionModeOverlay">true</item>
+ <item name="android:windowTranslucentStatus">false</item>
<item name="colorPrimaryDark">@color/blue_700</item>
+ <item name="android:statusBarColor" tools:targetApi="21">@color/blue_900</item>
<item name="android:textColorHighlight">@color/blue_200</item>
<item name="android:actionModeBackground">@color/blue_700</item>
<item name="spinnerHeaderTextColor">@color/white</item>
<item name="spinnerBackground">@color/blue_750</item>
<item name="spinnerTextColorSelector">@color/spinner_color_selector_light</item>
<item name="appbarSpinnerTextColorSelector">@color/appbar_spinner_color_selector_light</item>
- <item name="buttonTextColorSelector">@color/button_text_color_selector_light</item>
<item name="buttonBackgroundColorSelector">@color/button_background_color_selector_light</item>
+ <item name="buttonTextColorSelector">@color/button_text_color_selector_light</item>
<item name="listSelectorDrawable">@drawable/list_selector_light</item>
<item name="aboutTitle">@color/blue_900</item>
<item name="aboutText">@color/blue_700</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="appBarTheme">@style/PrivacyBrowserAppBarDark</item>
<item name="colorAccent">@color/blue_600</item>
+ <item name="findOnPageIconTintColor">@color/blue_600</item>
<item name="mainStatusBarBackground">@color/black</item>
<item name="navigationHeaderBackground">@color/blue_800</item>
<item name="navigationHeaderTextColor">@color/gray_300</item>
- <item name="findOnPageIconTintColor">@color/blue_600</item>
<item name="navigationIconTintColor">@color/blue_600</item>
<item name="progressTintColor">@color/blue_600</item>
<item name="redText">@color/red_900</item>
<!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. `colorPrimaryDark` goes behind the status bar, which is then darkened by the overlay.-->
<style name="PrivacyBrowserDark.SecondaryActivity" >
<item name="windowActionModeOverlay">true</item>
- <item name="colorPrimaryDark">@color/blue_900</item>
+ <item name="android:windowTranslucentStatus">false</item>
+ <item name="colorPrimaryDark">@color/blue_800</item>
+ <item name="android:statusBarColor" tools:targetApi="21">@color/blue_900</item>
<item name="android:actionModeBackground">@color/blue_800</item>
<item name="spinnerHeaderTextColor">@color/gray_300</item>
<item name="spinnerBackground">@color/blue_830</item>
<item name="addIcon">@drawable/add_dark</item>
<item name="addBookmarkIcon">@drawable/create_bookmark_dark</item>
<item name="addFolderIcon">@drawable/create_folder_dark</item>
- <item name="copyIcon">@drawable/copy_dark</item>
<item name="clearIcon">@drawable/clear_dark</item>
+ <item name="copyIcon">@drawable/copy_dark</item>
<item name="selectAllIcon">@drawable/select_all_dark</item>
<item name="editIcon">@drawable/edit_dark</item>
<item name="moveToFolderIcon">@drawable/move_to_folder_dark</item>
<!-- Configure the About and Guide `TabLayouts`. -->
<style name="PrivacyBrowserTabLayoutDark" parent="Widget.Design.TabLayout" >
- <item name="tabBackground">@color/blue_900</item>
+ <item name="tabBackground">@color/blue_800</item>
<item name="android:textColorSecondary">@color/blue_300</item>
<item name="tabIndicatorColor">@color/gray_300</item>
</style>
/*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
+ ext.kotlin_version = '1.3.61'
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files