From 8950f7f7f912a5aab8bc90cca953c6724f1dc867 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 10 Jun 2026 11:22:31 -0400 Subject: [PATCH] Simplify media session permission handling. --- .../components/voice/VoiceNotePlaybackService.java | 4 ---- .../components/voice/VoiceNotePlayerCallback.kt | 11 +++++------ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java index 880be25ab9..01dd2f8e00 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java @@ -115,10 +115,6 @@ public class VoiceNotePlaybackService extends MediaSessionService { @Nullable @Override public MediaSession onGetSession(@NonNull MediaSession.ControllerInfo controllerInfo) { - if (controllerInfo.getUid() != Process.myUid()) { - Log.w(TAG, "Denying session to external caller: " + controllerInfo.getPackageName()); - return null; - } return mediaSession; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt index c5522571e1..60bd7ccc8b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt @@ -8,9 +8,7 @@ package org.thoughtcrime.securesms.components.voice import android.content.Context import android.media.AudioManager import android.net.Uri -import android.os.Build import android.os.Bundle -import android.os.Process import android.widget.Toast import androidx.annotation.MainThread import androidx.annotation.OptIn @@ -96,11 +94,12 @@ class VoiceNotePlayerCallback(val context: Context, val player: VoiceNotePlayer) private var latestUri = Uri.EMPTY override fun onConnect(session: MediaSession, controller: MediaSession.ControllerInfo): MediaSession.ConnectionResult { - if (Build.VERSION.SDK_INT >= 28 && controller.uid != Process.myUid()) { - Log.w(TAG, "Rejecting connection from external caller: ${controller.packageName}") - return MediaSession.ConnectionResult.reject() + return if (controller.isTrusted) { + MediaSession.ConnectionResult.accept(CUSTOM_COMMANDS, SUPPORTED_ACTIONS) + } else { + Log.w(TAG, "Rejecting connection from non-trusted caller: ${controller.packageName}") + MediaSession.ConnectionResult.reject() } - return MediaSession.ConnectionResult.accept(CUSTOM_COMMANDS, SUPPORTED_ACTIONS) } override fun onPostConnect(session: MediaSession, controller: MediaSession.ControllerInfo) {