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

View File

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