Use ContextCompat.getMainExecutor when calling MediaBrowser methods

Replacing remaining usage of MoreExecutors.directExecutor. 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: 471547177
(cherry picked from commit 9a6745431a285a4403e66aa4227f6fc1d118ba75)
This commit is contained in:
rohks 2022-09-01 16:08:00 +00:00 committed by microkatz
parent 422e317156
commit 62ed45b505
2 changed files with 3 additions and 5 deletions

View File

@ -34,7 +34,6 @@ import androidx.media3.session.MediaBrowser
import androidx.media3.session.SessionToken import androidx.media3.session.SessionToken
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.MoreExecutors
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
private lateinit var browserFuture: ListenableFuture<MediaBrowser> private lateinit var browserFuture: ListenableFuture<MediaBrowser>
@ -105,7 +104,7 @@ class MainActivity : AppCompatActivity() {
SessionToken(this, ComponentName(this, PlaybackService::class.java)) SessionToken(this, ComponentName(this, PlaybackService::class.java))
) )
.buildAsync() .buildAsync()
browserFuture.addListener({ pushRoot() }, MoreExecutors.directExecutor()) browserFuture.addListener({ pushRoot() }, ContextCompat.getMainExecutor(this))
} }
private fun releaseBrowser() { private fun releaseBrowser() {
@ -132,7 +131,7 @@ class MainActivity : AppCompatActivity() {
subItemMediaList.addAll(children) subItemMediaList.addAll(children)
mediaListAdapter.notifyDataSetChanged() mediaListAdapter.notifyDataSetChanged()
}, },
MoreExecutors.directExecutor() ContextCompat.getMainExecutor(this)
) )
} }

View File

@ -38,7 +38,6 @@ import com.google.android.material.floatingactionbutton.ExtendedFloatingActionBu
import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.MoreExecutors
class PlayableFolderActivity : AppCompatActivity() { class PlayableFolderActivity : AppCompatActivity() {
private lateinit var browserFuture: ListenableFuture<MediaBrowser> private lateinit var browserFuture: ListenableFuture<MediaBrowser>
@ -132,7 +131,7 @@ class PlayableFolderActivity : AppCompatActivity() {
SessionToken(this, ComponentName(this, PlaybackService::class.java)) SessionToken(this, ComponentName(this, PlaybackService::class.java))
) )
.buildAsync() .buildAsync()
browserFuture.addListener({ displayFolder() }, MoreExecutors.directExecutor()) browserFuture.addListener({ displayFolder() }, ContextCompat.getMainExecutor(this))
} }
private fun releaseBrowser() { private fun releaseBrowser() {