From 7830513ba1c939da76816cf6a379515c3ff209b7 Mon Sep 17 00:00:00 2001 From: ward Date: Thu, 19 Jun 2025 16:25:02 +1200 Subject: [PATCH] Minor fixes to android tv detection --- materialious/android/app/build.gradle | 4 +-- .../electron/materialious.metainfo.xml | 6 +++- materialious/electron/package.json | 2 +- materialious/package.json | 4 +-- .../src/lib/android/plugins/androidTv.ts | 6 ++-- .../src/lib/components/ContentColumn.svelte | 2 +- materialious/src/lib/components/Player.svelte | 30 ++----------------- materialious/src/lib/components/Search.svelte | 2 +- .../src/lib/components/Thumbnail.svelte | 2 +- materialious/src/routes/(app)/+layout.svelte | 2 +- update_versions.py | 2 +- 11 files changed, 20 insertions(+), 42 deletions(-) diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index e1080ac3..39e373bd 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 126 - versionName "1.9.9" + versionCode 127 + versionName "1.9.10" 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/materialious.metainfo.xml b/materialious/electron/materialious.metainfo.xml index 4a43a84a..d8746ba5 100644 --- a/materialious/electron/materialious.metainfo.xml +++ b/materialious/electron/materialious.metainfo.xml @@ -61,7 +61,11 @@ - + + + https://github.com/Materialious/Materialious/releases/tag/1.9.10 + + https://github.com/Materialious/Materialious/releases/tag/1.9.9 diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 9312f0a5..05ce6c50 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.9.9", + "version": "1.9.10", "description": "Modern material design for Invidious.", "author": { "name": "Ward Pearce", diff --git a/materialious/package.json b/materialious/package.json index e378977a..ad4f91f8 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.9.9", + "version": "1.9.10", "private": true, "scripts": { "dev": "vite dev", @@ -70,4 +70,4 @@ "svelte-persisted-store": "^0.12.0", "youtubei.js": "^14.0.0" } -} +} \ No newline at end of file diff --git a/materialious/src/lib/android/plugins/androidTv.ts b/materialious/src/lib/android/plugins/androidTv.ts index e2eac05d..6a79ab55 100644 --- a/materialious/src/lib/android/plugins/androidTv.ts +++ b/materialious/src/lib/android/plugins/androidTv.ts @@ -2,12 +2,12 @@ import { registerPlugin } from '@capacitor/core'; import { WebPlugin } from '@capacitor/core'; interface AndroidTV { - isAndroidTv: () => Promise; + isAndroidTv: () => Promise<{ value: boolean }>; } export class AndroidTvWeb extends WebPlugin implements AndroidTV { - async isAndroidTv(): Promise { - return false; + async isAndroidTv(): Promise<{ value: boolean }> { + return { value: false }; } } diff --git a/materialious/src/lib/components/ContentColumn.svelte b/materialious/src/lib/components/ContentColumn.svelte index 929626b8..92342193 100644 --- a/materialious/src/lib/components/ContentColumn.svelte +++ b/materialious/src/lib/components/ContentColumn.svelte @@ -9,7 +9,7 @@ let mediumCol = $state('6'); async function checkWidth() { - if (await androidTv.isAndroidTv()) { + if ((await androidTv.isAndroidTv()).value) { mediumCol = '3'; } else if (innerWidth <= 1750) { largeCol = '4'; diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index 5d4f21db..3c1954c8 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -191,7 +191,7 @@ if ( Capacitor.getPlatform() === 'android' && data.video.adaptiveFormats.length > 0 && - !(await androidTv.isAndroidTv()) + !(await androidTv.isAndroidTv()).value ) { const videoFormats = data.video.adaptiveFormats.filter((format) => format.type.startsWith('video/') @@ -515,20 +515,12 @@ } else { playerElement.pause(); } - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } return false; }); Mousetrap.bind('right', () => { if (!playerElement) return; playerElement.currentTime = playerElement.currentTime + 10; - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } return false; }); @@ -536,10 +528,6 @@ if (!playerElement) return; playerElement.currentTime = playerElement.currentTime - 10; - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } return false; }); @@ -559,10 +547,6 @@ player.setTextTrackVisibility(true); } } - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } return false; }); @@ -579,11 +563,6 @@ if (!playerElement) return; playerElement.playbackRate = playerElement.playbackRate - 0.25; - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } - return false; }); @@ -591,17 +570,12 @@ if (!playerElement) return; playerElement.playbackRate = playerElement.playbackRate + 0.25; - - if (!document.fullscreenElement) { - shakaUi.getControls()?.toggleFullScreen(); - } - return false; }); setChapterMarkers(); - if (await androidTv.isAndroidTv()) { + if ((await androidTv.isAndroidTv()).value) { shakaUi.getControls()?.toggleFullScreen(); Mousetrap.bind('enter', () => { diff --git a/materialious/src/lib/components/Search.svelte b/materialious/src/lib/components/Search.svelte index 8b3e74f3..d2fa6674 100644 --- a/materialious/src/lib/components/Search.svelte +++ b/materialious/src/lib/components/Search.svelte @@ -92,7 +92,7 @@ } onMount(async () => { - isAndroidTv = await androidTv.isAndroidTv(); + isAndroidTv = (await androidTv.isAndroidTv()).value; Mousetrap.bind(['ctrl+k', 'command+k'], () => { document.getElementById('search-box')?.focus(); showSearchBox = !showSearchBox; diff --git a/materialious/src/lib/components/Thumbnail.svelte b/materialious/src/lib/components/Thumbnail.svelte index 68b142c4..925bbb12 100644 --- a/materialious/src/lib/components/Thumbnail.svelte +++ b/materialious/src/lib/components/Thumbnail.svelte @@ -158,7 +158,7 @@ tabindex="0" role="button" onclick={async () => { - if (await androidTv.isAndroidTv()) { + if ((await androidTv.isAndroidTv()).value) { goto(watchUrl.toString()); } }} diff --git a/materialious/src/routes/(app)/+layout.svelte b/materialious/src/routes/(app)/+layout.svelte index 7ba62872..c2d111f8 100644 --- a/materialious/src/routes/(app)/+layout.svelte +++ b/materialious/src/routes/(app)/+layout.svelte @@ -170,7 +170,7 @@ onMount(async () => { ui(); - isAndroidTv = await androidTv.isAndroidTv(); + isAndroidTv = (await androidTv.isAndroidTv()).value; document.addEventListener('click', linkClickOverwrite); diff --git a/update_versions.py b/update_versions.py index 256d17b4..05afed11 100644 --- a/update_versions.py +++ b/update_versions.py @@ -3,7 +3,7 @@ import os import re from datetime import datetime -LATEST_VERSION = "1.9.9" +LATEST_VERSION = "1.9.10" RELEASE_DATE = datetime.now().strftime("%Y-%-m-%d") # Format: YYYY-M-D WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious")