Skip to content

Launching the demo with custom exolist.json does not work on recent Android TV #438

@kaidokert

Description

@kaidokert

Media3 Version

Media3 1.0.2

Devices that reproduce the issue

  • Chromecast HD ( sabrina ) on STTE.230319.008.R1 build ( just factory reset, to doublecheck it's not a app/config issue )

Devices that do not reproduce the issue

I didn't check others, but seems like other AndroidTVs with OS version > 10 might be generally affected

Reproducible in the demo app?

Yes

Reproduction steps

  • Build and install the demo app with gradle ./gradlew :demo:installWithDecoderExtensionsRelease
  • Following official instructions here make a custom .exolist.json file and put it on a public URL
  • Launch the demo app with android.intent.action.VIEW as instructed
adb shell am start -a android.intent.action.VIEW -d https://gist.githubusercontent.com/kaidokert/888032c77e4c68cbb0d0c44928d5ba3d/raw/16849f69e04cc59b11dd1f92741f7facb252bcc1/yts.exolist.json

Expected result

The app should open with the picker UI in SampleChooserActivity

Actual result

Actual result: "You don't have an app that can do this" toast message from Android system.

I believe the relevant loglines from logcat output are:

 I ActivityTaskManager: START u0 {act=android.intent.action.VIEW dat=https://gist.githubusercontent.com/... flg=0x10000000 cmp=com.android.tv.frameworkpackagestubs/.Stubs$BrowserStub} from uid 2000
W ActivityTaskManager: Can't find TaskDisplayArea to determine support for multi window. Task id=17 attached=false
W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (3155300)
and
W NotificationService: Toast already killed. pkg=com.android.tv.frameworkpackagestubs token=android.os.BinderProxy@7791677

If i modify the sample app to also allow android.intent.action.PICK in the intent-filter it works as expected, and relevant adb logcat lines read ( commit here kaidokert@498d483 )

I ActivityTaskManager: START u0 {act=android.intent.action.PICK dat=https://gist.githubusercontent.com/... flg=0x10000000 cmp=androidx.media3.demo.main/.SampleChooserActivity} from uid 2000
W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (3118823)
I ActivityTaskManager: Displayed androidx.media3.demo.main/.SampleChooserActivity: +100ms

This isn't an androidx.media issue per se, but it's still an issue with the default demo code / instructions. Happy to pull request the ".PICK" workaround if that's helpful

Media

https://gist.githubusercontent.com/kaidokert/888032c77e4c68cbb0d0c44928d5ba3d/raw/16849f69e04cc59b11dd1f92741f7facb252bcc1/yts.exolist.json

Bug Report

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions