From 8e96ef3e5dfc98bf68b463f9176e00051fd37c4c Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 21 Apr 2025 20:49:16 +0800 Subject: [PATCH] fix: hide navigation bar on reader page on Android 11, closes #921 (#927) --- .../android/src/main/java/NativeBridgePlugin.kt | 7 +++++-- apps/readest-app/src/components/AboutWindow.tsx | 2 +- apps/readest-app/src/services/appService.ts | 6 +++++- apps/readest-app/src/services/constants.ts | 5 +++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/readest-app/src-tauri/plugins/tauri-plugin-native-bridge/android/src/main/java/NativeBridgePlugin.kt b/apps/readest-app/src-tauri/plugins/tauri-plugin-native-bridge/android/src/main/java/NativeBridgePlugin.kt index 73fe683d..fb6b047e 100644 --- a/apps/readest-app/src-tauri/plugins/tauri-plugin-native-bridge/android/src/main/java/NativeBridgePlugin.kt +++ b/apps/readest-app/src-tauri/plugins/tauri-plugin-native-bridge/android/src/main/java/NativeBridgePlugin.kt @@ -177,8 +177,11 @@ class NativeBridgePlugin(private val activity: Activity): Plugin(activity) { window.setDecorFitsSystemWindows(false) val controller = window.insetsController if (controller != null) { - controller.systemBarsBehavior = - WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + controller.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + } else { + controller.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE + } if (isDarkMode) { controller.setSystemBarsAppearance( diff --git a/apps/readest-app/src/components/AboutWindow.tsx b/apps/readest-app/src/components/AboutWindow.tsx index b2c748e0..f304b5b3 100644 --- a/apps/readest-app/src/components/AboutWindow.tsx +++ b/apps/readest-app/src/components/AboutWindow.tsx @@ -52,7 +52,7 @@ export const AboutWindow = () => {

Readest

-

+

{_('Version {{version}}', { version: packageJson.version })} {`(${browserInfo})`}

diff --git a/apps/readest-app/src/services/appService.ts b/apps/readest-app/src/services/appService.ts index 09b1c43b..2d0ad613 100644 --- a/apps/readest-app/src/services/appService.ts +++ b/apps/readest-app/src/services/appService.ts @@ -31,6 +31,7 @@ import { DEFAULT_MOBILE_VIEW_SETTINGS, DEFAULT_SYSTEM_SETTINGS, DEFAULT_CJK_VIEW_SETTINGS, + DEFAULT_MOBILE_READSETTINGS, } from './constants'; import { getOSPlatform, isCJKEnv, isContentURI, isValidURL } from '@/utils/misc'; import { deserializeConfig, serializeConfig } from '@/utils/serializer'; @@ -99,7 +100,10 @@ export abstract class BaseAppService implements AppService { ...DEFAULT_SYSTEM_SETTINGS, version: SYSTEM_SETTINGS_VERSION, localBooksDir: await this.getInitBooksDir(), - globalReadSettings: DEFAULT_READSETTINGS, + globalReadSettings: { + ...DEFAULT_READSETTINGS, + ...(this.isMobile ? DEFAULT_MOBILE_READSETTINGS : {}), + }, globalViewSettings: { ...DEFAULT_BOOK_LAYOUT, ...DEFAULT_BOOK_STYLE, diff --git a/apps/readest-app/src/services/constants.ts b/apps/readest-app/src/services/constants.ts index a04e1c42..4401a273 100644 --- a/apps/readest-app/src/services/constants.ts +++ b/apps/readest-app/src/services/constants.ts @@ -63,6 +63,11 @@ export const DEFAULT_READSETTINGS: ReadSettings = { }, }; +export const DEFAULT_MOBILE_READSETTINGS: Partial = { + sideBarWidth: '25%', + isSideBarPinned: false, +}; + export const DEFAULT_BOOK_FONT: BookFont = { serifFont: 'Bitter', sansSerifFont: 'Roboto',