From b0bc7833edfdfb61df4193a281fb30e891a392a9 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 22 Dec 2025 03:26:01 +0200 Subject: [PATCH] crash fixes --- .../ext/mediasession/MediaSessionConnector.java | 7 ++++++- smarttubetv/multidex-keep.pro | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/exoplayer-amzn-2.10.6/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java b/exoplayer-amzn-2.10.6/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java index 25bc49f11..2039d5a1c 100644 --- a/exoplayer-amzn-2.10.6/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java +++ b/exoplayer-amzn-2.10.6/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java @@ -686,7 +686,12 @@ public final class MediaSessionConnector { mediaMetadataProvider != null && player != null ? mediaMetadataProvider.getMetadata(player) : METADATA_EMPTY; - mediaSession.setMetadata(metadata != null ? metadata : METADATA_EMPTY); + // MOD: fix NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference + try { + mediaSession.setMetadata(metadata != null ? metadata : METADATA_EMPTY); + } catch (NullPointerException e) { + e.printStackTrace(); + } } /** diff --git a/smarttubetv/multidex-keep.pro b/smarttubetv/multidex-keep.pro index 3da93e637..fd3903fc9 100644 --- a/smarttubetv/multidex-keep.pro +++ b/smarttubetv/multidex-keep.pro @@ -180,6 +180,17 @@ -keepclassmembers interface com.google.android.exoplayer2.Player$EventListener { void onPlaybackParametersChanged(com.google.android.exoplayer2.PlaybackParameters); } +-keepclassmembers interface com.google.android.exoplayer2.Player { + boolean isPlaying(); +} +-keepclassmembers class com.liskovsoft.sharedutils.locale.LocaleContextWrapper { + public static android.content.Context wrap(android.content.Context, java.util.Locale, android.util.DisplayMetrics); +} +-keepclassmembers class kotlin.collections.ArraysKt___ArraysKt { + public static java.lang.Object firstOrNull(java.lang.Object[]); +} + +# NOTE: Debug build: VirusTotal (Google: Detected, Ikarus: Trojan.AndroidOS.Agent) #-keep class androidx.recyclerview.widget.RecyclerView { *; } #-keep class com.google.android.exoplayer2.C { *; } #-keep class kotlin.collections.CollectionsKt__CollectionsKt { *; }