From fc762c66766997d1bb99ce033dbabeb995b126f2 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Thu, 17 Oct 2024 16:25:22 +1300 Subject: [PATCH] Fix android orientation lock on back --- materialious/android/app/build.gradle | 4 ++-- materialious/electron/package.json | 2 +- materialious/package.json | 2 +- materialious/src/lib/Player.svelte | 17 ++++++++++++++--- update_versions.py | 2 +- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index cad96aa0..0b0858e1 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 62 - versionName "1.6.11" + versionCode 63 + versionName "1.6.12" 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 c80e17e9..9995e043 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.6.11", + "version": "1.6.12", "description": "Modern material design for Invidious.", "author": { "name": "Ward Pearce", diff --git a/materialious/package.json b/materialious/package.json index 7a72dc03..d2c3a832 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.6.11", + "version": "1.6.12", "private": true, "scripts": { "dev": "vite dev", diff --git a/materialious/src/lib/Player.svelte b/materialious/src/lib/Player.svelte index 48479158..9100df61 100644 --- a/materialious/src/lib/Player.svelte +++ b/materialious/src/lib/Player.svelte @@ -3,7 +3,7 @@ import { page } from '$app/stores'; import { Capacitor } from '@capacitor/core'; - import { ScreenOrientation } from '@capacitor/screen-orientation'; + import { ScreenOrientation, type ScreenOrientationResult } from '@capacitor/screen-orientation'; import { StatusBar } from '@capacitor/status-bar'; import { AudioPlayer } from '@mediagrid/capacitor-native-audio'; import type { Page } from '@sveltejs/kit'; @@ -60,6 +60,8 @@ let silenceSkipperInterval: NodeJS.Timeout; + let originalOrigination: ScreenOrientationResult | undefined; + let sponsorBlockElements: Element[] = []; function setSponsorTimeline() { @@ -402,7 +404,7 @@ format.type.startsWith('video/') ); - const originalOrigination = await ScreenOrientation.orientation(); + originalOrigination = await ScreenOrientation.orientation(); player.addEventListener('fullscreen-change', async (event: FullscreenChangeEvent) => { if (event.detail && videoFormats[0].resolution) { const widthHeight = videoFormats[0].resolution.split('x'); @@ -417,7 +419,9 @@ } } else { await StatusBar.setOverlaysWebView({ overlay: false }); - await ScreenOrientation.lock({ orientation: originalOrigination.type }); + await ScreenOrientation.lock({ + orientation: (originalOrigination as ScreenOrientationResult).type + }); } }); } @@ -522,6 +526,13 @@ onDestroy(async () => { if (Capacitor.getPlatform() === 'android') { await AudioPlayer.destroy({ audioId: data.video.videoId }); + + if (originalOrigination) { + await StatusBar.setOverlaysWebView({ overlay: false }); + await ScreenOrientation.lock({ + orientation: originalOrigination.type + }); + } } if (typeof silenceSkipperInterval !== 'undefined') { clearInterval(silenceSkipperInterval); diff --git a/update_versions.py b/update_versions.py index 344a2ae7..bacc5c2d 100644 --- a/update_versions.py +++ b/update_versions.py @@ -5,7 +5,7 @@ import json import os import re -LATEST_VERSION = "1.6.11" +LATEST_VERSION = "1.6.12" WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious") ROOT_PACKAGE = os.path.join(WORKING_DIR, "package.json")