From 40d102fcb5f3424f94e6ea64e2db39357cb8be2b Mon Sep 17 00:00:00 2001 From: TobiGr Date: Tue, 18 Jul 2023 21:27:28 +0200 Subject: [PATCH] Disable media tunneling by default on new devices Sony BRAVIA_VH1, BRAVIA_VH2, BRAVIA_ATV2, BRAVIA_ATV3_4K Phillips 4K (O)LED TV (PH7M_EU_5596) Panasonic 4KTV-JUP (TX_50JXW834) Bouygtel4K (HMB9213NW) --- .../org/schabi/newpipe/util/DeviceUtils.java | 57 +++++++++++++++++-- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java index 111072a96..096cf9523 100644 --- a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java +++ b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java @@ -36,10 +36,8 @@ public final class DeviceUtils { private static Boolean isTV = null; private static Boolean isFireTV = null; - /* - * Devices that do not support media tunneling - */ + // region: devices not supporting media tunneling /** * Formuler Z8 Pro, Z8, CC, Z Alpha, Z+ Neo. */ @@ -55,11 +53,53 @@ public final class DeviceUtils { */ private static final boolean REALTEKATV = Build.VERSION.SDK_INT == 25 && Build.DEVICE.equals("RealtekATV"); + /** + *

Phillips 4K (O)LED TV.

+ * Supports custom ROMs with different API levels + */ + private static final boolean PH7M_EU_5596 = Build.VERSION.SDK_INT >= 26 + && Build.DEVICE.equals("PH7M_EU_5596"); /** * Philips QM16XE. */ private static final boolean QM16XE_U = Build.VERSION.SDK_INT == 23 && Build.DEVICE.equals("QM16XE_U"); + /** + *

Sony Bravia VH1.

+ * Processor: MT5895 + */ + private static final boolean BRAVIA_VH1 = Build.VERSION.SDK_INT == 29 + && Build.DEVICE.equals("BRAVIA_VH1"); + /** + *

Sony Bravia VH2.

+ * This includes model A90J. + */ + private static final boolean BRAVIA_VH2 = Build.VERSION.SDK_INT == 29 + && Build.DEVICE.equals("BRAVIA_VH2"); + /** + *

Sony Bravia Android TV platform 2.

+ * Uses a MediaTek MT5891 (MT5596) SoC. + * @see + * https://github.com/CiNcH83/bravia_atv2 + */ + private static final boolean BRAVIA_ATV2 = Build.DEVICE.equals("BRAVIA_ATV2"); + /** + *

Sony Bravia Android TV platform 3 4K.

+ * Uses ARM MT5891 and a {@link #BRAVIA_ATV2} motherboard. + * @see + * https://browser.geekbench.com/v4/cpu/9101105 + */ + private static final boolean BRAVIA_ATV3_4K = Build.DEVICE.equals("BRAVIA_ATV3_4K"); + /** + * Panasonic 4KTV-JUP. + */ + private static final boolean TX_50JXW834 = Build.DEVICE.equals("TX_50JXW834"); + /** + *

Bouygtel4K / Bouygues Telecom Bbox 4K.

+ * Reported at https://github.com/TeamNewPipe/NewPipe/pull/10122#issuecomment-1638475769 + */ + private static final boolean HMB9213NW = Build.DEVICE.equals("HMB9213NW"); + // endregion private DeviceUtils() { } @@ -251,7 +291,7 @@ public final class DeviceUtils { } /** - * Some devices have broken tunneled video playback but claim to support it. + *

Some devices have broken tunneled video playback but claim to support it.

* See https://github.com/TeamNewPipe/NewPipe/issues/5911 * @Note Add a new {@link org.schabi.newpipe.settings.SettingMigrations.Migration} which calls * {@link org.schabi.newpipe.settings.NewPipeSettings#setMediaTunneling(Context)} @@ -263,6 +303,13 @@ public final class DeviceUtils { return !HI3798MV200 && !CVT_MT5886_EU_1G && !REALTEKATV - && !QM16XE_U; + && !QM16XE_U + && !BRAVIA_VH1 + && !BRAVIA_VH2 + && !BRAVIA_ATV2 // crash caused by exiting full screen + && !BRAVIA_ATV3_4K // crash caused by exiting full screen + && !PH7M_EU_5596 + && !TX_50JXW834 + && !HMB9213NW; // crash caused by exiting full screen } }