From 321bbcf03f6389df659d8b7bd6613c0d6c88f8ea Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Thu, 15 Jun 2023 13:28:04 -0600 Subject: [PATCH] all: fix api 34 crashes Fix general API 34 crashes that I could notice immediately. Can really test any further since the API 34 AVDs are currently potatos running at 3 FPS for some reason. --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 2 ++ .../auxio/playback/system/PlaybackService.kt | 20 ++++++++++++++++--- .../ui/PreferenceHeaderItemDecoration.kt | 4 ++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ca424fca4..1aa7432e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -84,8 +84,8 @@ dependencies { // --- SUPPORT --- // General - implementation "androidx.appcompat:appcompat:1.6.1" implementation "androidx.core:core-ktx:1.10.1" + implementation "androidx.appcompat:appcompat:1.6.1" implementation "androidx.activity:activity-ktx:1.7.2" implementation "androidx.fragment:fragment-ktx:1.6.0" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fd7b28a4a..ba4b27028 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,8 @@ + + diff --git a/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt b/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt index 26629030b..ffcc84b41 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt @@ -25,6 +25,7 @@ import android.content.Intent import android.content.IntentFilter import android.media.AudioManager import android.media.audiofx.AudioEffect +import android.os.Build import android.os.IBinder import androidx.media3.common.AudioAttributes import androidx.media3.common.C @@ -150,8 +151,8 @@ class PlaybackService : playbackManager.registerInternalPlayer(this) musicRepository.addUpdateListener(this) mediaSessionComponent.registerListener(this) - registerReceiver( - systemReceiver, + + val intentFilter = IntentFilter().apply { addAction(AudioManager.ACTION_AUDIO_BECOMING_NOISY) addAction(AudioManager.ACTION_HEADSET_PLUG) @@ -162,7 +163,20 @@ class PlaybackService : addAction(ACTION_SKIP_NEXT) addAction(ACTION_EXIT) addAction(WidgetProvider.ACTION_WIDGET_UPDATE) - }) + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + registerReceiver( + systemReceiver, + intentFilter, + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + RECEIVER_NOT_EXPORTED + } else { + 0 + }) + } else { + registerReceiver(systemReceiver, intentFilter) + } logD("Service created") } diff --git a/app/src/main/java/org/oxycblt/auxio/settings/ui/PreferenceHeaderItemDecoration.kt b/app/src/main/java/org/oxycblt/auxio/settings/ui/PreferenceHeaderItemDecoration.kt index 3e51b444e..c959d0b3e 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/ui/PreferenceHeaderItemDecoration.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/ui/PreferenceHeaderItemDecoration.kt @@ -29,8 +29,8 @@ import com.google.android.material.R import com.google.android.material.divider.MaterialDividerItemDecoration /** - * A [MaterialDividerItemDecoration] that sets up the divider configuration to correctly - * separate preference categories. + * A [MaterialDividerItemDecoration] that sets up the divider configuration to correctly separate + * preference categories. * * @author Alexander Capehart (OxygenCobalt) */