diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index 6c15b051..9e47c014 100644 --- a/materialious/android/app/build.gradle +++ b/materialious/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "us.materialio.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 83 - versionName "1.7.1" + versionCode 84 + versionName "1.7.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 8a65ccb1..c64d7999 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.7.1", + "version": "1.7.2", "description": "Modern material design for Invidious.", "author": { "name": "Ward Pearce", diff --git a/materialious/package.json b/materialious/package.json index c3831ac7..a0ab62f1 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.7.1", + "version": "1.7.2", "private": true, "scripts": { "dev": "vite dev", diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index 16ff3344..d7c58832 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -367,12 +367,52 @@ } }); - if ( - Capacitor.getPlatform() === 'android' && - data.video.adaptiveFormats.length > 0 && - data.video.fallbackPatch === undefined - ) { - if (get(playerAndroidBgPlayer)) { + if (Capacitor.getPlatform() === 'android' && data.video.adaptiveFormats.length > 0) { + const videoFormats = data.video.adaptiveFormats.filter((format) => + format.type.startsWith('video/') + ); + + originalOrigination = await ScreenOrientation.orientation(); + + player.addEventListener('fullscreen-change', async (event: FullscreenChangeEvent) => { + if (event.detail) { + // Ensure bar color is black while in fullscreen + await StatusBar.setBackgroundColor({ color: '#000000' }); + await NavigationBar.setColor({ + color: '#000000' + }); + await StatusBar.setStyle({ style: Style.Dark }); + } else { + await setStatusBarColor(); + } + + if (!get(playerAndroidLockOrientation)) return; + + if (event.detail && videoFormats[0].resolution) { + const widthHeight = videoFormats[0].resolution.split('x'); + + if (widthHeight.length !== 2) return; + + if (Number(widthHeight[0]) > Number(widthHeight[1])) { + await StatusBar.setOverlaysWebView({ overlay: true }); + await StatusBar.hide(); + await NavigationBar.hide(); + await ScreenOrientation.lock({ orientation: 'landscape' }); + } else { + await ScreenOrientation.lock({ orientation: 'portrait' }); + } + } else { + await StatusBar.setOverlaysWebView({ overlay: false }); + await StatusBar.show(); + await NavigationBar.show(); + + await ScreenOrientation.lock({ + orientation: (originalOrigination as ScreenOrientationResult).type + }); + } + }); + + if (data.video.fallbackPatch === undefined && get(playerAndroidBgPlayer)) { const highestBitrateAudio = data.video.adaptiveFormats .filter((format) => format.type.startsWith('audio/')) .reduce((prev, current) => { @@ -424,50 +464,6 @@ await AudioPlayer.initialize(audioId); } - - if (Capacitor.getPlatform() === 'android') { - const videoFormats = data.video.adaptiveFormats.filter((format) => - format.type.startsWith('video/') - ); - - originalOrigination = await ScreenOrientation.orientation(); - - player.addEventListener('fullscreen-change', async (event: FullscreenChangeEvent) => { - if (event.detail) { - // Ensure bar color is black while in fullscreen - await StatusBar.setBackgroundColor({ color: '#000000' }); - await NavigationBar.setColor({ - color: '#000000' - }); - await StatusBar.setStyle({ style: Style.Dark }); - } else { - await setStatusBarColor(); - } - - if (!get(playerAndroidLockOrientation)) return; - - if (event.detail && videoFormats[0].resolution) { - const widthHeight = videoFormats[0].resolution.split('x'); - - if (widthHeight.length !== 2) return; - - if (Number(widthHeight[0]) > Number(widthHeight[1])) { - await StatusBar.setOverlaysWebView({ overlay: true }); - await StatusBar.hide(); - await ScreenOrientation.lock({ orientation: 'landscape' }); - } else { - await ScreenOrientation.lock({ orientation: 'portrait' }); - } - } else { - await StatusBar.setOverlaysWebView({ overlay: false }); - await StatusBar.show(); - - await ScreenOrientation.lock({ - orientation: (originalOrigination as ScreenOrientationResult).type - }); - } - }); - } } } else { playerIsLive = true; diff --git a/materialious/src/lib/theme.ts b/materialious/src/lib/theme.ts index e9f4401f..c9f7c7ec 100644 --- a/materialious/src/lib/theme.ts +++ b/materialious/src/lib/theme.ts @@ -34,6 +34,8 @@ export async function setStatusBarColor() { darkButtons: !get(darkModeStore) }); + await NavigationBar.show(); + if (get(darkModeStore)) { await StatusBar.setStyle({ style: Style.Dark }); } else { diff --git a/update_versions.py b/update_versions.py index 59b811d1..70a65341 100644 --- a/update_versions.py +++ b/update_versions.py @@ -5,7 +5,7 @@ import json import os import re -LATEST_VERSION = "1.7.1" +LATEST_VERSION = "1.7.2" WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious") ROOT_PACKAGE = os.path.join(WORKING_DIR, "package.json")