From 576cf089766fc339becb7aac10077f479ff9253b Mon Sep 17 00:00:00 2001 From: Soren Stoutner Date: Mon, 6 Jan 2025 13:09:14 -0700 Subject: [PATCH] Fix bookmarks drawer layout on API <= 29. https://redmine.stoutner.com/issues/1257 --- app/src/main/assets/de/about_changelog.html | 2 +- app/src/main/assets/en/about_changelog.html | 2 +- app/src/main/assets/es/about_changelog.html | 2 +- app/src/main/assets/fr/about_changelog.html | 2 +- app/src/main/assets/it/about_changelog.html | 2 +- .../main/assets/pt-rBR/about_changelog.html | 2 +- app/src/main/assets/ru/about_changelog.html | 2 +- app/src/main/assets/tr/about_changelog.html | 2 +- .../main/assets/zh-rCN/about_changelog.html | 2 +- .../activities/MainWebViewActivity.kt | 21 ++++++++++++++----- .../layout/bookmarks_drawer_top_appbar.xml | 4 ++-- 11 files changed, 27 insertions(+), 16 deletions(-) diff --git a/app/src/main/assets/de/about_changelog.html b/app/src/main/assets/de/about_changelog.html index ea62673d..f564d776 100644 --- a/app/src/main/assets/de/about_changelog.html +++ b/app/src/main/assets/de/about_changelog.html @@ -34,7 +34,7 @@

3.19.1 (Code-Version 77)

-

2. Januar 2025 - Mindest-API 26, Ziel-API 35

+

2. Januar 2025 - Mindest-API 26, Ziel-API 35

diff --git a/app/src/main/assets/en/about_changelog.html b/app/src/main/assets/en/about_changelog.html index 52c2ae97..dff9085e 100644 --- a/app/src/main/assets/en/about_changelog.html +++ b/app/src/main/assets/en/about_changelog.html @@ -30,7 +30,7 @@

3.19.1 (version code 77)

-

2 January 2025 - minimum API 26, target API 35

+

2 January 2025 - minimum API 26, target API 35

diff --git a/app/src/main/assets/es/about_changelog.html b/app/src/main/assets/es/about_changelog.html index 92e7d7d7..b3b77337 100644 --- a/app/src/main/assets/es/about_changelog.html +++ b/app/src/main/assets/es/about_changelog.html @@ -32,7 +32,7 @@

3.19.1 (código de versión 77)

-

2 de enero de 2025 - API mínimo 26, API objetivo 35

+

2 de enero de 2025 - API mínimo 26, API objetivo 35

diff --git a/app/src/main/assets/fr/about_changelog.html b/app/src/main/assets/fr/about_changelog.html index eb0641bd..ec6346f2 100644 --- a/app/src/main/assets/fr/about_changelog.html +++ b/app/src/main/assets/fr/about_changelog.html @@ -32,7 +32,7 @@

3.19.1 (version du code 77)

-

2 Janvier 2025 - API minimale : 26, API optimale : 35

+

2 Janvier 2025 - API minimale : 26, API optimale : 35

diff --git a/app/src/main/assets/it/about_changelog.html b/app/src/main/assets/it/about_changelog.html index f4858ac0..ab337465 100644 --- a/app/src/main/assets/it/about_changelog.html +++ b/app/src/main/assets/it/about_changelog.html @@ -32,7 +32,7 @@

3.19.1 (versione codice 77)

-

2 Gennaio 2025 - minima API 26, target API 35

+

2 Gennaio 2025 - minima API 26, target API 35

diff --git a/app/src/main/assets/pt-rBR/about_changelog.html b/app/src/main/assets/pt-rBR/about_changelog.html index b1b4c774..54d61fd9 100644 --- a/app/src/main/assets/pt-rBR/about_changelog.html +++ b/app/src/main/assets/pt-rBR/about_changelog.html @@ -32,7 +32,7 @@

3.19.1 (código de versão 77)

-

2 de janeiro de 2025 - minimum API 26, target API 35

+

2 de janeiro de 2025 - minimum API 26, target API 35

diff --git a/app/src/main/assets/ru/about_changelog.html b/app/src/main/assets/ru/about_changelog.html index c78c70b6..f198f674 100644 --- a/app/src/main/assets/ru/about_changelog.html +++ b/app/src/main/assets/ru/about_changelog.html @@ -30,7 +30,7 @@

3.19.1 (код версии 77)

-

2 января 2025 года - минимальный API 26, целевой API 35

+

2 января 2025 года - минимальный API 26, целевой API 35

diff --git a/app/src/main/assets/tr/about_changelog.html b/app/src/main/assets/tr/about_changelog.html index 8a3abf26..aadfea61 100644 --- a/app/src/main/assets/tr/about_changelog.html +++ b/app/src/main/assets/tr/about_changelog.html @@ -30,7 +30,7 @@

3.19.1 (version code 77)

-

2 Ocak 2025 - minimum API 26, target API 35

+

2 Ocak 2025 - minimum API 26, target API 35

diff --git a/app/src/main/assets/zh-rCN/about_changelog.html b/app/src/main/assets/zh-rCN/about_changelog.html index d74223a2..7b0fe6bb 100644 --- a/app/src/main/assets/zh-rCN/about_changelog.html +++ b/app/src/main/assets/zh-rCN/about_changelog.html @@ -32,7 +32,7 @@

3.19.1 (version code 77)

-

2 January 2025 - 最低支持API 26, 最高支持API 35

+

2 January 2025 - 最低支持API 26, 最高支持API 35

diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt index c57fce16..230d5081 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: GPL-3.0-or-later - * SPDX-FileCopyrightText: 2015-2024 Soren Stoutner + * SPDX-FileCopyrightText: 2015-2025 Soren Stoutner * * Download cookie code contributed 2017 Hendrik Knackstedt. Copyright assigned to Soren Stoutner . * @@ -69,8 +69,8 @@ import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.webkit.CookieManager import android.webkit.HttpAuthHandler -import android.webkit.ValueCallback import android.webkit.SslErrorHandler +import android.webkit.ValueCallback import android.webkit.WebChromeClient import android.webkit.WebResourceRequest import android.webkit.WebResourceResponse @@ -259,9 +259,10 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook private lateinit var appBar: ActionBar private lateinit var checkFilterListHelper: CheckFilterListHelper private lateinit var bookmarksCursorAdapter: CursorAdapter - private lateinit var bookmarksListView: ListView private lateinit var bookmarksDrawerPinnedImageView: ImageView private lateinit var bookmarksFrameLayout: FrameLayout + private lateinit var bookmarksHeaderLinearLayout: LinearLayout + private lateinit var bookmarksListView: ListView private lateinit var bookmarksTitleTextView: TextView private lateinit var browserFrameLayout: FrameLayout private lateinit var coordinatorLayout: CoordinatorLayout @@ -603,6 +604,7 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook webViewViewPager2 = findViewById(R.id.webview_viewpager2) navigationView = findViewById(R.id.navigationview) bookmarksFrameLayout = findViewById(R.id.bookmarks_framelayout) + bookmarksHeaderLinearLayout = findViewById(R.id.bookmarks_header_linearlayout) bookmarksListView = findViewById(R.id.bookmarks_drawer_listview) bookmarksTitleTextView = findViewById(R.id.bookmarks_title_textview) bookmarksDrawerPinnedImageView = findViewById(R.id.bookmarks_drawer_pinned_imageview) @@ -939,8 +941,8 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook // Only save the instance state if the WebView state adapter is not null, which will be the case if the app is restarting to change the initial app theme. if (webViewStateAdapter != null) { // Initialize the saved state array lists. - savedStateArrayList = ArrayList() - savedNestedScrollWebViewStateArrayList = ArrayList() + savedStateArrayList = ArrayList() + savedNestedScrollWebViewStateArrayList = ArrayList() // Get the URLs from each tab. for (i in 0 until webViewStateAdapter!!.itemCount) { @@ -4749,6 +4751,15 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook @SuppressLint("ClickableViewAccessibility") override fun initializeWebView(nestedScrollWebView: NestedScrollWebView, pagePosition: Int, progressBar: ProgressBar, urlString: String, restoringState: Boolean) { + // Fix the bookmarks drawer top padding on API <= 29. + if (Build.VERSION.SDK_INT <= 29) { + // Set the top padding according to the app bar location. + if (bottomAppBar) + bookmarksListView.setPadding(bookmarksListView.paddingLeft, swipeRefreshLayout.top, bookmarksListView.paddingRight, bookmarksListView.paddingBottom) + else + bookmarksHeaderLinearLayout.setPadding(bookmarksHeaderLinearLayout.paddingLeft, appBarLayout.top, bookmarksHeaderLinearLayout.paddingRight, bookmarksHeaderLinearLayout.paddingBottom) + } + // Get the WebView theme. val webViewTheme = sharedPreferences.getString(getString(R.string.webview_theme_key), getString(R.string.webview_theme_default_value)) diff --git a/app/src/main/res/layout/bookmarks_drawer_top_appbar.xml b/app/src/main/res/layout/bookmarks_drawer_top_appbar.xml index 1c831768..021e483b 100644 --- a/app/src/main/res/layout/bookmarks_drawer_top_appbar.xml +++ b/app/src/main/res/layout/bookmarks_drawer_top_appbar.xml @@ -2,7 +2,7 @@