</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (Code-Version 79)</h3>
+ <p>28. Januar 2025 - Mindest-API 26, Ziel-API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (Code-Version 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10. Januar 2025</a> - Mindest-API 26, Ziel-API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
+ <p>28 January 2025 - minimum API 26, target API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (version code 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 January 2025</a> - minimum API 26, target API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (código de versión 79)</h3>
+ <p>28 de enero de 2025 - API mínimo 26, API objetivo 35</p>
+ <ul>
+ <li>Corregir la <a href="https://redmine.stoutner.com/issues/1263">posición de desplazamiento del cajón de navegación</a> en Android <= 14 (API <= 34).</li>
+ <li>Desactivar el uso de la <a href="https://redmine.stoutner.com/issues/1265">caché web</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (código de versión 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 de enero de 2025</a> - API mínimo 26, API objetivo 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version du code 79)</h3>
+ <p>28 Janvier 2025 - API minimale : 26, API optimale : 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (version du code 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 Janvier 2025</a> - API minimale : 26, API optimale : 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (versione codice 79)</h3>
+ <p>28 Gennaio 2025 - minima API 26, target API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (versione codice 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 Gennaio 2025</a> - minima API 26, target API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (código de versão 79)</h3>
+ <p>28 de janeiro de 2025 - minimum API 26, target API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (código de versão 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 de janeiro de 2025</a> - minimum API 26, target API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (код версии 79)</h3>
+ <p>28 января 2025 года - минимальный API 26, целевой API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (код версии 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 января 2025 года</a> - минимальный API 26, целевой API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
+ <p>28 Ocak 2025 - minimum API 26, target API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (version code 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 Ocak 2025</a> - minimum API 26, target API 35</p>
<ul>
</head>
<body>
+ <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
+ <p>28 January 2025 - 最低支持API 26, 最高支持API 35</p>
+ <ul>
+ <li>Fix the <a href="https://redmine.stoutner.com/issues/1263">navigation drawer scroll position</a> on Android <= 14 (API <= 34).</li>
+ <li>Disable using the <a href="https://redmine.stoutner.com/issues/1265">web cache</a>.</li>
+ </ul>
+
<h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-2">3.19.2</a> (version code 78)</h3>
<p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f8b46833b2246450a0a79067bbb1de044a6f9021;ds=sidebyside">10 January 2025</a> - 最低支持API 26, 最高支持API 35</p>
<ul>
private var bookmarksDatabaseHelper: BookmarksDatabaseHelper? = null
private var bookmarksDrawerPinned = false
private var bottomAppBar = false
+ private var closeNavigationDrawer = false
private var currentWebView: NestedScrollWebView? = null
private var defaultBlockAllThirdPartyRequests = false
private var defaultCookies = false
private var displayAdditionalAppBarIcons = false
private var displayUnderCutouts = false
private var displayingFullScreenVideo = false
+ private var displayingInitialTab = true
private var domainsDatabaseHelper: DomainsDatabaseHelper? = null
private var downloadWithExternalApp = false
private var fullScreenBrowsingModeEnabled = false
drawerLayout.addDrawerListener(object : DrawerLayout.DrawerListener {
override fun onDrawerSlide(drawerView: View, slideOffset: Float) {}
- override fun onDrawerOpened(drawerView: View) {}
+ override fun onDrawerOpened(drawerView: View) {
+ // Close the navigation drawer if requested. <https://redmine.stoutner.com/issues/1267>
+ if (closeNavigationDrawer) {
+ // Reset the close navigation drawer flag.
+ closeNavigationDrawer = false
+
+ // Close the navigation drawer.
+ drawerLayout.closeDrawer(GravityCompat.START)
+ }
+ }
override fun onDrawerClosed(drawerView: View) {}
currentWebView!!.loadUrl(openFilePath)
}
}
+
// The view parameter cannot be removed because it is called from the layout onClick.
fun openNavigationDrawer(@Suppress("UNUSED_PARAMETER")view: View) {
// Open the navigation drawer.
// Stop the swipe to refresh indicator if it is running
swipeRefreshLayout.isRefreshing = false
+ // Open the navigation drawer if the bottom app bar is enabled and this is the first tab. <https://redmine.stoutner.com/issues/1267>
+ if (displayingInitialTab && bottomAppBar) {
+ // Open the navigation drawer.
+ drawerLayout.openDrawer(GravityCompat.START)
+
+ // Set the close navigation drawer flag.
+ closeNavigationDrawer = true
+ }
+
+ // Set the displaying initial tab flag to be false.
+ displayingInitialTab = false
+
// Try to set the current WebView. This will fail if the WebView has not yet been populated.
try {
// Get the WebView tab fragment.
-/*
- * Copyright 2019-2023 Soren Stoutner <soren@stoutner.com>.
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2019-2023 Soren Stoutner <soren@stoutner.com>
*
- * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
*
- * Privacy Browser Android is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
*
- * Privacy Browser Android is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
*
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.stoutner.privacybrowser.adapters
-/*
- * Copyright 2019-2020, 2022-2023 Soren Stoutner <soren@stoutner.com>.
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2019-2020, 2022-2023 Soren Stoutner <soren@stoutner.com>
*
* This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
*
- * Privacy Browser Android is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
*
- * Privacy Browser Android is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
*
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.stoutner.privacybrowser.fragments
-/*
- * Copyright 2018-2019,2021-2023 Soren Stoutner <soren@stoutner.com>.
+
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2018-2019,2021-2023 Soren Stoutner <soren@stoutner.com>
*
- * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
*
- * Privacy Browser Android is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
*
- * Privacy Browser Android is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
*
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.stoutner.privacybrowser.helpers
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright 2019-2020, 2022-2024 Soren Stoutner <soren@stoutner.com>.
+ SPDX-License-Identifier: GPL-3.0-or-later
+ SPDX-FileCopyrightText: 2019-2020, 2022-2024 Soren Stoutner <soren@stoutner.com>
This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
- Privacy Browser Android is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option) any later
+ version.
- Privacy Browser Android is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ details.
- You should have received a copy of the GNU General Public License
- along with Privacy Browser Android. If not, see <http://www.gnu.org/licenses/>. -->
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <https://www.gnu.org/licenses/>. -->
<!-- The frame layout allows the progress bar to float above the WebView. -->
<FrameLayout
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright 2019-2020, 2022-2024 Soren Stoutner <soren@stoutner.com>.
+ SPDX-License-Identifier: GPL-3.0-or-later
+ SPDX-FileCopyrightText: 2019-2020, 2022-2024 Soren Stoutner <soren@stoutner.com>
This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
- Privacy Browser Android is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option) any later
+ version.
- Privacy Browser Android is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ details.
- You should have received a copy of the GNU General Public License
- along with Privacy Browser Android. If not, see <http://www.gnu.org/licenses/>. -->
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <https://www.gnu.org/licenses/>. -->
<!-- The frame layout allows the progress bar to float above the WebView. -->
<FrameLayout
--- /dev/null
+• Fix the navigation drawer scroll position on Android <= 14 (API <= 34).
+• Disable using the web cache.
\ No newline at end of file
--- /dev/null
+• Corregir la posición de desplazamiento del cajón de navegación en Android <= 14 (API <= 34).
+• Desactivar el uso de la caché web.
\ No newline at end of file