Use ContextCompat.getMainExecutor when calling MediaBrowser methods

This allows the service to be switched to run in another process and the app still works the same as if it is running in the same process.

Issue: androidx/media#100
PiperOrigin-RevId: 458460005
This commit is contained in:
bachinger 2022-07-01 13:53:11 +00:00 committed by Marc Baechinger
parent 1f47fa832c
commit c9abe70259
2 changed files with 5 additions and 3 deletions

View File

@ -27,6 +27,7 @@ import android.widget.ArrayAdapter
import android.widget.ListView
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.media3.common.MediaItem
import androidx.media3.session.LibraryResult
import androidx.media3.session.MediaBrowser
@ -164,7 +165,7 @@ class MainActivity : AppCompatActivity() {
val root: MediaItem = result.value!!
pushPathStack(root)
},
MoreExecutors.directExecutor()
ContextCompat.getMainExecutor(this)
)
}

View File

@ -29,6 +29,7 @@ import android.widget.LinearLayout
import android.widget.ListView
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.media3.common.MediaItem
import androidx.media3.common.Player
import androidx.media3.session.MediaBrowser
@ -150,7 +151,7 @@ class PlayableFolderActivity : AppCompatActivity() {
val result = mediaItemFuture.get()!!
title.text = result.value!!.mediaMetadata.title
},
MoreExecutors.directExecutor()
ContextCompat.getMainExecutor(this)
)
childrenFuture.addListener(
{
@ -161,7 +162,7 @@ class PlayableFolderActivity : AppCompatActivity() {
subItemMediaList.addAll(children)
mediaListAdapter.notifyDataSetChanged()
},
MoreExecutors.directExecutor()
ContextCompat.getMainExecutor(this)
)
}