Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[demo app] Notification becomes stale when the app is closed from recented and the notification is in a paused state. #2179

Open
miksol opened this issue Feb 22, 2025 · 11 comments
Assignees

Comments

@miksol
Copy link

miksol commented Feb 22, 2025

I'm closing this issue as this is fixed with the commit above. Please re-open if you keep seeing this with the session demo app.

Originally posted by @marcbaechinger in #175

Reproducible in the demo-session app.

To always remove the notification and to see the log, I override

 override fun onTaskRemoved(rootIntent: Intent?) {
	Log.d("PlaybackService","-------------------- onTaskRemoved called! , stopSelf()")
	stopSelf()")
  }

Devices that reproduce the issue

  • Xiaomi Redmi Note 4 (Android 7)
  • Xiaomi Redmi 10 pro (Android 13)
  • Samsung Galaxy A15 (Android 14)

Reproduction steps

  1. Play any media item
  2. put the app into background
  3. Pause playback from notification
  4. Kill the app (remove from recent screens)
  5. The notification was not removed - no "onTaskRemoved called!" log
  6. When you press the buttons in the notification, it does not respond - stale notification

Logs in case of pausing:

2025-02-22 18:48:22.778 28760-28792 AudioTrack              androidx.media3.demo.session         D   pause(sessionID=1313)
2025-02-22 18:48:22.778 28760-28792 AudioTrack              androidx.media3.demo.session         D  pause(154): prior state:STATE_ACTIVE
2025-02-22 18:48:22.779 28760-28760 EventLogger             androidx.media3.demo.session         D  playWhenReady [eventTime=16.25, mediaPos=4.94, window=1, period=1, false, USER_REQUEST]
2025-02-22 18:48:22.781 28760-28760 EventLogger             androidx.media3.demo.session         D  isPlaying [eventTime=16.25, mediaPos=4.94, window=1, period=1, false]
2025-02-22 18:48:22.848 28760-28760 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-22 18:48:24.114 28760-28853 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#321] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0]
2025-02-22 18:48:24.114 28760-28853 PipelineWatcher         androidx.media3.demo.session         D  DEBUG: elapsed 0 / 4
2025-02-22 18:48:25.051  1885-2140  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1885:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14761 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-22 18:48:25.051  1885-2140  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1885:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14860 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-22 18:48:25.108 28760-28760 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus true
2025-02-22 18:48:25.109 28760-28760 HandWritingStubImpl     androidx.media3.demo.session         I  refreshLastKeyboardType: 1
2025-02-22 18:48:25.110 28760-28760 HandWritingStubImpl     androidx.media3.demo.session         I  getCurrentKeyboardType: 1
2025-02-22 18:48:25.248  1885-2501  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4562:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-22 18:48:25.248  1885-2501  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4562:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-22 18:48:25.258 28760-28760 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-22 18:48:25.267 28760-28760 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus false
2025-02-22 18:48:25.392  8760-28760 EventLogger             androidx.media3.demo.session         D  surfaceSize [eventTime=19.31, mediaPos=4.95, window=1, period=1, 0, 0]
2025-02-22 18:48:25.906 28760-28760 MediaController         androidx.media3.demo.session         I  Release caab79b [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.datasource, media3.ui, media3.extractor]
2025-02-22 18:48:27.901 28760-28792 AudioTrack              androidx.media3.demo.session         D  [audioTrackData][fine] 10s(f:10298 m:0 s:0 k:0) : pid 28760 uid 10446 sessionId 1313 sr 44100 ch 2 fmt 1
2025-02-22 18:48:28.195  1885-2384  ActivityManager         system_server                        I  Killing 28760:androidx.media3.demo.session/u0a446 (adj 905): SwipeUpClean
---------------------------- PROCESS ENDED (28760) for package androidx.media3.demo.session ----------------------------
2025-02-22 18:48:28.273  1885-2521  ActivityManager         system_server                        I  Cancel FGS notification userId: 0 definingUid: 10446 packageName: androidx.media3.demo.session processName:androidx.media3.demo.session ChannelId:default_channel_id foregroundNotiWhen:0 Notiflags:8
2025-02-22 18:48:28.296  1885-2143  ActivityManager         system_server                        W  setHasOverlayUi called on unknown pid: 28760
2025-02-22 18:48:33.746  1885-1998  ActivityManager         system_server                        W  Sending non-protected broadcast com.android.set.sensor.values from system 3331:com.android.phone/1001 pkg com.android.phone. Callers=
2025-02-22 18:48:46.284  1885-2140  ActivityManager         system_server                        W  Sending non-protected broadcast miui.intent.KEYCODE_BACK from system 1885:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14761 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-22 18:48:46.284  1885-2140  ActivityManager         system_server                        W  Sending non-protected 

Logs in the case without pausing:

2025-02-22 18:50:28.267 29027-29058 AudioTrack              androidx.media3.demo.session         D  set(sessionId=1329)
2025-02-22 18:50:28.267 29027-29058 AudioTrack              androidx.media3.demo.session         D  set(): streamType -1, sampleRate 44100, format 0x1, channelMask 0x3, frameCount 14144, flags #0, notificationFrames 0, sessionId 1329, transferType 3, uid -1, pid -1
2025-02-22 18:50:28.285 29027-29058 AudioTrack              androidx.media3.demo.session         I  AudioTrack::setVolume L:1.000000 R:1.000000 and the pakage is androidx.media3.demo.session
2025-02-22 18:50:28.285 29027-29058 AudioTrack              androidx.media3.demo.session         I  AudioTrack::setVolume L:1.000000 R:1.000000
2025-02-22 18:50:28.287 29027-29027 EventLogger             androidx.media3.demo.session         D  audioTrackInit [eventTime=19.39, mediaPos=0.00, window=1, period=1, 2,12,44100,false,false,56576]
2025-02-22 18:50:28.335 29027-29058 AudioTrack              androidx.media3.demo.session         D  start(157): prior state:STATE_STOPPED
2025-02-22 18:50:28.361 29027-29043 AidlConversion          androidx.media3.demo.session         W  aidl2legacy_AudioChannelLayout_audio_channel_mask_t: no legacy output audio_channel_mask_t found for AudioChannelLayout{layoutMask: 16}
2025-02-22 18:50:28.362 29027-29027 EventLogger             androidx.media3.demo.session         D  state [eventTime=19.47, mediaPos=0.00, window=1, period=1, READY]
2025-02-22 18:50:28.365 29027-29027 EventLogger             androidx.media3.demo.session         D  isPlaying [eventTime=19.47, mediaPos=0.00, window=1, period=1, true]
2025-02-22 18:50:28.503 29027-29058 AudioTrack              androidx.media3.demo.session         D  getTimestamp_l(157): device stall time corrected using current time 19531029862808
2025-02-22 18:50:28.524 29027-29058 AudioTrack              androidx.media3.demo.session         W  getTimestamp_l(157): retrograde timestamp time corrected, 19531035287078 < 19531040221089
2025-02-22 18:50:30.910  1885-2140  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1885:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14761 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-22 18:50:30.910  1885-2140  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1885:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14860 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-22 18:50:31.037  1885-5282  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4562:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-22 18:50:31.037  1885-5282  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4562:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-22 18:50:31.062 29027-29027 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus false
2025-02-22 18:50:31.503 29027-29142 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0]
2025-02-22 18:50:31.503 29027-29142 PipelineWatcher         androidx.media3.demo.session         D  DEBUG: elapsed 0 / 4
2025-02-22 18:50:31.594 29027-29027 EventLogger             androidx.media3.demo.session         D  surfaceSize [eventTime=22.70, mediaPos=3.09, window=1, period=1, 0, 0]
2025-02-22 18:50:31.639 29027-29027 MediaController         androidx.media3.demo.session         I  Release 195a349 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.datasource, media3.ui, media3.extractor]
2025-02-22 18:50:32.846 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.lifecycle.ReportFragment (androidx.lifecycle.ReportFragment received Fragment#onDestroy() callback) with key 47138301-2230-4db9-aa3f-98f693834156
2025-02-22 18:50:32.847 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.media3.demo.session.PlayerActivity (androidx.media3.demo.session.PlayerActivity received Activity#onDestroy() callback) with key 6e3b045a-d13a-47c5-a9d1-f9546f2da0e4
2025-02-22 18:50:32.863 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.lifecycle.ReportFragment (androidx.lifecycle.ReportFragment received Fragment#onDestroy() callback) with key 01732578-6828-40c3-9df3-925477d1d94b
2025-02-22 18:50:32.863 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.media3.demo.session.PlayableFolderActivity (androidx.media3.demo.session.PlayableFolderActivity received Activity#onDestroy() callback) with key 9de29d76-3c6d-4bf7-8daf-0a29e11c2c43
2025-02-22 18:50:32.874 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.lifecycle.ReportFragment (androidx.lifecycle.ReportFragment received Fragment#onDestroy() callback) with key 4192e64c-aeb0-48d8-9388-394d14414da0
2025-02-22 18:50:32.874 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.media3.demo.session.MainActivity (androidx.media3.demo.session.MainActivity received Activity#onDestroy() callback) with key f422c90d-2f2a-4eb5-bad0-2c9c3967212d
2025-02-22 18:50:32.884 29027-29027 PlaybackService         androidx.media3.demo.session         D  -------------------- onTaskRemoved called! , stopSelf()
2025-02-22 18:50:32.886  1885-7241  ActivityManager         system_server                        I  Cancel FGS notification userId: 0 definingUid: 10446 packageName: androidx.media3.demo.session processName:androidx.media3.demo.session ChannelId:default_channel_id foregroundNotiWhen:1740239428508 Notiflags:104
2025-02-22 18:50:32.893 29027-29027 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/app/ActivityThread;->mServices:Landroid/util/ArrayMap; (unsupported, reflection, allowed)
2025-02-22 18:50:32.903  1885-5280  ActivityManager         system_server                        W  Sending non-protected broadcast android.intent.action.APPLICATION_MESSAGE_UPDATE from system 3353:com.android.systemui/1000 pkg com.android.systemui. Callers=
2025-02-22 18:50:32.911 29027-29027 MediaSessionImpl        androidx.media3.demo.session         I  Release a068341 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.datasource, media3.ui, media3.extractor]
2025-02-22 18:50:32.913 29027-29027 MediaController         androidx.media3.demo.session         I  Release c9f0627 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.datasource, media3.ui, media3.extractor]
2025-02-22 18:50:32.917 29027-29027 ExoPlayerImpl           androidx.media3.demo.session         I  Release a241e0e [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.datasource, media3.ui, media3.extractor]
2025-02-22 18:50:32.919 29027-29058 AudioTrack              androidx.media3.demo.session         D   pause(sessionID=1329)
2025-02-22 18:50:32.919 29027-29058 AudioTrack              androidx.media3.demo.session         D  pause(157): prior state:STATE_ACTIVE
2025-02-22 18:50:32.921 29027-29141 CCodecBuffers           androidx.media3.demo.session         D  [c2.android.mp3.decoder#748:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
2025-02-22 18:50:32.921 29027-29141 CCodecBuffers           androidx.media3.demo.session         D  [c2.android.mp3.decoder#748:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
2025-02-22 18:50:32.922 29027-29058 MediaCodec              androidx.media3.demo.session         D  keep callback message for reclaim
2025-02-22 18:50:32.922 29027-29141 CCodecConfig            androidx.media3.demo.session         I  query failed after returning 7 values (BAD_INDEX)
2025-02-22 18:50:32.922 29027-29141 Codec2Client            androidx.media3.demo.session         W  query -- param skipped: index = 1342179345.
2025-02-22 18:50:32.922 29027-29141 Codec2Client            androidx.media3.demo.session         W  query -- param skipped: index = 2415921170.
2025-02-22 18:50:32.922 29027-29141 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] start: updating output delay 0
2025-02-22 18:50:32.924 29027-29141 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] MediaCodec discarded an unknown buffer
2025-02-22 18:50:32.925 29027-29141 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] MediaCodec discarded an unknown buffer
2025-02-22 18:50:32.925 29027-29141 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] MediaCodec discarded an unknown buffer
2025-02-22 18:50:32.925 29027-29141 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#748] MediaCodec discarded an unknown buffer
2025-02-22 18:50:32.925 29027-29167 hw-BpHwBinder           androidx.media3.demo.session         I  onLastStrongRef automatically unlinking death recipients
2025-02-22 18:50:32.926 29027-29141 MediaCodec              androidx.media3.demo.session         I  MediaStub sendHdrInfo/sendFrameRateFloatCal/updateFrcAieAisState
2025-02-22 18:50:32.926 29027-29141 MediaImpl               androidx.media3.demo.session         D  FRC not support: valueSupport : 
2025-02-22 18:50:32.926 29027-29141 MediaImpl               androidx.media3.demo.session         D  AIE not support: valueSupport : 
2025-02-22 18:50:32.926 29027-29141 MediaImpl               androidx.media3.demo.session         D  AIS not support: valueSupport : 
2025-02-22 18:50:32.926 29027-29141 MediaCodec              androidx.media3.demo.session         D  flushMediametrics
2025-02-22 18:50:32.926 29027-29141 MediaCodec              androidx.media3.demo.session         D  flushMediametrics
2025-02-22 18:50:32.930 29027-29027 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.media3.demo.session.PlaybackService (androidx.media3.demo.session.PlaybackService received Service#onDestroy() callback) with key dcdf2cd6-888d-4947-8297-0deb493df61e
2025-02-22 18:50:32.931 29027-29027 EventLogger             androidx.media3.demo.session         D  rendererReady [eventTime=24.03, mediaPos=4.42, window=1, period=1, rendererIndex=1, audio, false]
2025-02-22 18:50:32.931  1885-7241  ActivityManager         system_server                        I  Killing 27588:com.droid27.senseflipclockweather:AppMetrica/u0a197 (adj 925): empty #22
2025-02-22 18:50:32.933 29027-29027 EventLogger             androidx.media3.demo.session         D  audioDisabled [eventTime=24.04, mediaPos=4.42, window=1, period=1]
2025-02-22 18:50:32.935 29027-29027 EventLogger             androidx.media3.demo.session         D  audioDecoderReleased [eventTime=24.04, mediaPos=4.42, window=1, period=1, c2.android.mp3.decoder]
2025-02-22 18:50:32.944 29027-29166 AudioTrack              androidx.media3.demo.session         D  stop(sessionID=1329)
2025-02-22 18:50:32.944 29027-29166 AudioTrack              androidx.media3.demo.session         D  stop(157): prior state:STATE_FLUSHED
2025-02-22 18:50:32.945 29027-29166 AudioTrack              androidx.media3.demo.session         D  ~AudioTrack(sessionID=1329)
2025-02-22 18:50:32.945 29027-29166 AudioTrack              androidx.media3.demo.session         D  stop(sessionID=1329)
2025-02-22 18:50:32.945 29027-29166 AudioTrack              androidx.media3.demo.session         D  stop(157): prior state:STATE_FLUSHED

I recently started programming on Android, maybe I'm doing something wrong, or is this problem still there?

@miksol miksol changed the title [demo app] Notification becomes stale when the app is closed and is in paused state [demo app] Notification becomes stale when the app is closed from recented and the notification is in a paused state. Feb 22, 2025
@nift4
Copy link

nift4 commented Feb 22, 2025

have you tried using pauseAllPlayersAndStopSelf() as mentioned in javadoc?

@miksol
Copy link
Author

miksol commented Feb 22, 2025

But when removing the app from recent, the onTaskRemoved() event itself is not called...

@nift4
Copy link

nift4 commented Feb 22, 2025

I believe that is a known issue in Android 14 platform (see #805), but are you sure it's the same on the other devices? I believe the method I mentioned should work on the Android 7 and 13 device

@miksol
Copy link
Author

miksol commented Feb 23, 2025

Yes, I confirm, I check on my real devices with Android 7 and Android 13, the logs above are from the Android 13 device.
As before, the onTaskRemoved event is not called in demo-session app when paused, therefore the pauseAllPlayersAndStopSelf() method is not called either.

override fun onTaskRemoved(rootIntent: Intent?) {
    Log.d("PlaybackService","-------------------- onTaskRemoved called! ) 
  // Stop the service event when playback is ongoing.
  pauseAllPlayersAndStopSelf()
}

On virtual devices Android 13 in AS, this problem can't be reproduce, there the onTaskRemoved event is always called and in pause mode too.

@nift4
Copy link

nift4 commented Feb 23, 2025

Interesting, I had no such problems with other platform versions, maybe someone from media3 team knows more about this

@miksol
Copy link
Author

miksol commented Feb 23, 2025

android13.mov

@miksol
Copy link
Author

miksol commented Feb 25, 2025

Dear experts, can someone help and answer whether this problem really remains and is being resolved? Also, is there a temporary hack to destroy this stale notification, since onTaskRemoved isn't working as expected? At least on Android 14, because only on this platform the stale notification leads to the crash, on other platforms it is not so critical. In my app I added ExoPlayer a month ago, everything works fine, except for this stale notification and now in Crashlytics I get a depressing number of crashes. :(

Image

@marcbaechinger
Copy link
Contributor

Hmmm, I don't think the screen cast and the stack trace are related. At least I wouldn't know how. But I may be wrong.

Can you take a bug report right after the problem happens? If you're unable to share bug reports or test content publicly, please send them to [email protected] using a subject in the format "Issue #2179". Please also update this issue to indicate you’ve done this.

Obviously, we can't fix this when onTaskRemoved() isn't called. But this was a bug on Android 14 that is fixed. The screencast is from Android 13 and hence more important. From the notification I'd say this device has some modifcations on Android, else the notification on Android 13 would look different I think.

override fun onTaskRemoved(rootIntent: Intent?) {
	Log.d("PlaybackService","-------------------- onTaskRemoved called! , stopSelf()")
	stopSelf()")
  }

The snippet above is not sufficient when the service is playing when the app is swipped away. The player needs to be paused first in such a case (docs).

The docs suggest to do this:

@Override
public void onTaskRemoved(@Nullable Intent rootIntent) {
  pauseAllPlayersAndStopSelf();
}

That's because if the service is in foreground and stopSelf() is called without being paused, then terminating the service fails and it is restarted. The symptom is a dead notification as reported. The system then has restarted the service because it was terminated without being stopped by the app after being in the foreground. This could explain the problem on any Android version - if you send me a bug report I can verify my guess and investigate some further.

I acknowledge you are reporting that onTaskRemoved() is never called. This only happens when the service was never in the foreground. It's a corner case in which the service is immediately terminated without onTaskRemoved() (because the task wasn't removed). In this case the service is immediately terminated after the last client that was bound to the service unbinds. Starting playback removes this marginal condition. Just mentioning this because I don't think the error pattern here in this issue matches to the onTaskRemoved() problem on Android 14.

@miksol
Copy link
Author

miksol commented Feb 25, 2025

Thanks a lot for your reply! I understand with Android 14, I hope the number of crashes should decrease as the Android 14 version is updated on users devices.

I fixed the override in PlaybackService as recommended:

override fun onTaskRemoved(rootIntent: Intent?) {
    Log.d("PlaybackService","-------------------- onTaskRemoved called! )
    pauseAllPlayersAndStopSelf()
}

I tested demo-session app again on my Xiaomi Redmi 10 pro (Android 13) device:

Reproduction steps

  1. ran the demo-session app build
  2. started playback music,
  3. paused playback,
  4. killed app from recent,
  5. opened the notification, pressing the play button does not respond.

I made a screencast that completely corresponds to the following stack trace:

2025-02-25 23:09:13.181  1844-3981  ActivityManager         system_server                        W  Sending non-protected broadcast miui.intent.SCREEN_RECORDER_ENABLE_KEYEVENT from system 17526:com.miui.screenrecorder/1000 pkg com.miui.screenrecorder. Callers=
2025-02-25 23:09:13.181  1844-3981  ActivityManager         system_server                        W  Sending non-protected broadcast miui.intent.SCREEN_RECORDER_ENABLE_KEYEVENT from system 17526:com.miui.screenrecorder/1000 pkg com.miui.screenrecorder. Callers=
2025-02-25 23:09:14.528 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:14.529 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:14.530 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:14.539  1844-2222  ActivityManager         system_server                        I  Start proc 26734:androidx.media3.demo.session/u0a449 for next-top-activity {androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} caller=com.miui.home
2025-02-25 23:09:14.606 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 64
2025-02-25 23:09:14.613 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:14.613 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:14.625  1844-2400  ActivityManager         system_server                        I  Killing 31895:com.miui.gallery/u0a88 (adj 500): MiuiMemoryService(started-services)
---------------------------- PROCESS STARTED (26734) for package androidx.media3.demo.session ----------------------------
2025-02-25 23:09:14.664 26734-32229 AppScoutStateMachine    androidx.media3.demo.session         D  26734-ScoutStateMachinecreated
2025-02-25 23:09:14.676  1844-3928  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:14.676  1844-3928  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:14.709  1844-2222  ActivityManager         system_server                        W  Slow operation: 55ms so far, now at startProcess: returned from zygote!
2025-02-25 23:09:14.709  1844-2222  ActivityManager         system_server                        W  Slow operation: 56ms so far, now at startProcess: done updating battery stats
2025-02-25 23:09:14.710  1844-2222  ActivityManager         system_server                        W  Slow operation: 56ms so far, now at startProcess: building log message
2025-02-25 23:09:14.710  1844-2222  ActivityManager         system_server                        I  Start proc 32234:com.google.android.apps.tachyon/u0a238 for service {com.google.android.apps.tachyon/androidx.work.impl.background.systemjob.SystemJobService} caller=android
2025-02-25 23:09:14.710  1844-2222  ActivityManager         system_server                        W  Slow operation: 57ms so far, now at startProcess: starting to update pids map
2025-02-25 23:09:14.710 26734-26734 ziparchive              androidx.media3.demo.session         W  Unable to open '/data/app/~~7cFXq6O0yOFblPzi1JAO8g==/androidx.media3.demo.session-0vpYUMS7ub6zG4FVMWm3jA==/base.dm': No such file or directory
2025-02-25 23:09:14.711 26734-26734 ziparchive              androidx.media3.demo.session         W  Unable to open '/data/app/~~7cFXq6O0yOFblPzi1JAO8g==/androidx.media3.demo.session-0vpYUMS7ub6zG4FVMWm3jA==/base.dm': No such file or directory
2025-02-25 23:09:14.711  1844-2222  ActivityManager         system_server                        W  Slow operation: 58ms so far, now at startProcess: done updating pids map
2025-02-25 23:09:15.044 26734-26734 nativeloader            androidx.media3.demo.session         D  Configuring clns-4 for other apk /data/app/~~7cFXq6O0yOFblPzi1JAO8g==/androidx.media3.demo.session-0vpYUMS7ub6zG4FVMWm3jA==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~7cFXq6O0yOFblPzi1JAO8g==/androidx.media3.demo.session-0vpYUMS7ub6zG4FVMWm3jA==/lib/arm64, permitted_path=/data:/mnt/expand:/data/user/0/androidx.media3.demo.session
2025-02-25 23:09:15.063 26734-26734 nativeloader            androidx.media3.demo.session         D  Load libframework-connectivity-jni.so using APEX ns com_android_tethering for caller /apex/com.android.tethering/javalib/framework-connectivity.jar: ok
2025-02-25 23:09:15.064 26734-26734 Perf                    androidx.media3.demo.session         I  Connecting to perf service.
2025-02-25 23:09:15.081 26734-26734 GraphicsEnvironment     androidx.media3.demo.session         V  ANGLE Developer option for 'androidx.media3.demo.session' set to: 'default'
2025-02-25 23:09:15.082 26734-26734 GraphicsEnvironment     androidx.media3.demo.session         V  ANGLE GameManagerService for androidx.media3.demo.session: false
2025-02-25 23:09:15.082 26734-26734 GraphicsEnvironment     androidx.media3.demo.session         V  Updatable production driver is not supported on the device.
2025-02-25 23:09:15.100 26734-26734 ForceDarkHelperStubImpl androidx.media3.demo.session         I  initialize for androidx.media3.demo.session , ForceDarkAppConfig: null
2025-02-25 23:09:15.102 26734-26734 nativeloader            androidx.media3.demo.session         D  Load libforcedarkimpl.so using system ns (caller=/system_ext/framework/miui-framework.jar): ok
2025-02-25 23:09:15.102 26734-26734 a3.demo.session         androidx.media3.demo.session         D  JNI_OnLoad success
2025-02-25 23:09:15.103 26734-26734 MiuiForceDarkConfig     androidx.media3.demo.session         I  setConfig density:2.750000, mainRule:0, secondaryRule:0, tertiaryRule:0
2025-02-25 23:09:15.108 26734-26734 libc                    androidx.media3.demo.session         W  Access denied finding property "ro.vendor.df.effect.conflict"
2025-02-25 23:09:15.110 26734-26734 NetworkSecurityConfig   androidx.media3.demo.session         D  No Network Security Config specified, using platform default
2025-02-25 23:09:15.111 26734-26734 NetworkSecurityConfig   androidx.media3.demo.session         D  No Network Security Config specified, using platform default
2025-02-25 23:09:15.154  1844-3633  ActivityManager         system_server                        I  Killing 29273:ru.yandex.rasp:Metrica/u0a223 (adj 965): empty #22
2025-02-25 23:09:15.265 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal; (unsupported, reflection, allowed)
2025-02-25 23:09:15.265 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/view/WindowManagerGlobal;->mViews:Ljava/util/ArrayList; (unsupported, reflection, allowed)
2025-02-25 23:09:15.265 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/app/ActivityThread;->mH:Landroid/app/ActivityThread$H; (unsupported, reflection, allowed)
2025-02-25 23:09:15.265 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread; (unsupported, reflection, allowed)
2025-02-25 23:09:15.266 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback; (unsupported, reflection, allowed)
2025-02-25 23:09:15.266 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/util/Singleton;->mInstance:Ljava/lang/Object; (unsupported, reflection, allowed)
2025-02-25 23:09:15.266 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/util/Singleton;->get()Ljava/lang/Object; (unsupported, reflection, allowed)
2025-02-25 23:09:15.266 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Landroid/app/ActivityManager;->IActivityManagerSingleton:Landroid/util/Singleton; (unsupported, reflection, allowed)
2025-02-25 23:09:15.287 26734-26734 FileUtils               androidx.media3.demo.session         E  err open mi_exception_log errno=2
2025-02-25 23:09:15.287 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.294 26734-26734 MiuiMultiWindowAdapter  androidx.media3.demo.session         D  MiuiMultiWindowAdapter::getFreeformVideoWhiteListInSystem::LIST_ABOUT_SUPPORT_LANDSCAPE_VIDEO = [com.tencent.qqlive, com.hunantv.imgo.activity, com.qiyi.video]
2025-02-25 23:09:15.337 26734-26734 AppCompatDelegate       androidx.media3.demo.session         D  Checking for metadata for AppLocalesMetadataHolderService : Service not found
2025-02-25 23:09:15.391 26734-26734 IS_CTS_MODE             androidx.media3.demo.session         D  false
2025-02-25 23:09:15.391 26734-26734 MULTI_WINDOW_ENABLED    androidx.media3.demo.session         D  false
2025-02-25 23:09:15.399 26734-26734 DecorView[]             androidx.media3.demo.session         D  getWindowModeFromSystem  windowmode is 1
2025-02-25 23:09:15.472 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed)
2025-02-25 23:09:15.472 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed)
2025-02-25 23:09:15.477 26734-26734 Compatibil...geReporter androidx.media3.demo.session         D  Compat change id reported: 210923482; UID 10449; state: ENABLED
2025-02-25 23:09:15.491 26734-26734 Compatibil...geReporter androidx.media3.demo.session         D  Compat change id reported: 171228096; UID 10449; state: ENABLED
2025-02-25 23:09:15.530 26734-26734 OnBackInvokedCallback   androidx.media3.demo.session         W  OnBackInvokedCallback is not enabled for the application.
                                                                                                    Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
2025-02-25 23:09:15.569 26734-26734 MediaController         androidx.media3.demo.session         I  Init 7e71ae6 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:15.639 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden field Lcom/android/internal/policy/DecorView;->mWindow:Lcom/android/internal/policy/PhoneWindow; (unsupported, reflection, allowed)
2025-02-25 23:09:15.651 26734-26734 ForceDarkHelperStubImpl androidx.media3.demo.session         I  setViewRootImplForceDark: false for androidx.media3.demo.session.MainActivity@aa5d4bb, reason: AppDarkModeEnable
2025-02-25 23:09:15.669 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.670 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.671 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.673 26734-26734 Choreographer           androidx.media3.demo.session         I  Skipped 30 frames!  The application may be doing too much work on its main thread.
2025-02-25 23:09:15.734 26734-32294 AdrenoGLES-0            androidx.media3.demo.session         I  QUALCOMM build                   : c5f0e23, I9972db7aac
                                                                                                    Build Date                       : 04/28/21
                                                                                                    OpenGL ES Shader Compiler Version: EV031.32.02.10
                                                                                                    Local Branch                     : mybrancheba83f1e-3815-f156-b760-08f1eafda2d8
                                                                                                    Remote Branch                    : quic/gfx-adreno.lnx.1.0.r99-rel
                                                                                                    Remote Branch                    : NONE
                                                                                                    Reconstruct Branch               : NOTHING
2025-02-25 23:09:15.734 26734-32294 AdrenoGLES-0            androidx.media3.demo.session         I  Build Config                     : S P 10.0.7 AArch64
2025-02-25 23:09:15.734 26734-32294 AdrenoGLES-0            androidx.media3.demo.session         I  Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
2025-02-25 23:09:15.743 26734-26734 VRI[MainActivity]       androidx.media3.demo.session         D  vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3779 android.view.ViewRootImpl.doTraversal:2543 android.view.ViewRootImpl$TraversalRunnable.run:9465 android.view.Choreographer$CallbackRecord.run:1451 android.view.Choreographer$CallbackRecord.run:1459 
2025-02-25 23:09:15.744 26734-26734 VRI[MainActivity]       androidx.media3.demo.session         D  vri.Setup new sync id=0 syncSeqId=0
2025-02-25 23:09:15.746 26734-32294 AdrenoGLES-0            androidx.media3.demo.session         I  PFP: 0x016ee190, ME: 0x00000000
2025-02-25 23:09:15.757 26734-32294 libc                    androidx.media3.demo.session         W  Access denied finding property "vendor.migl.debug"
2025-02-25 23:09:15.765 26734-32294 libEGL                  androidx.media3.demo.session         E  pre_cache appList: ,,
2025-02-25 23:09:15.796 26734-32294 a3.demo.session         androidx.media3.demo.session         D  MiuiProcessManagerServiceStub setSchedFifo
2025-02-25 23:09:15.796 26734-32294 MiuiProcessManagerImpl  androidx.media3.demo.session         I  setSchedFifo pid:26734, mode:3
2025-02-25 23:09:15.811 26734-32294 LB                      androidx.media3.demo.session         E  fail to open node: No such file or directory
2025-02-25 23:09:15.814 26734-32294 Parcel                  androidx.media3.demo.session         W  Expecting binder but got null!
2025-02-25 23:09:15.815 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.816 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:15.816 26734-26734 VRI[MainActivity]       androidx.media3.demo.session         D  vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:3847 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 
2025-02-25 23:09:15.856 26734-26734 ExoPlayerImpl           androidx.media3.demo.session         I  Init 89820b1 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:15.933 26734-26734 AidlConversion          androidx.media3.demo.session         W  aidl2legacy_AudioChannelLayout_audio_channel_mask_t: no legacy output audio_channel_mask_t found for AudioChannelLayout{layoutMask: 16}
2025-02-25 23:09:15.979 26734-26734 a3.demo.session         androidx.media3.demo.session         W  Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (unsupported, reflection, allowed)
2025-02-25 23:09:16.149 26734-26734 Compatibil...geReporter androidx.media3.demo.session         D  Compat change id reported: 160794467; UID 10449; state: ENABLED
2025-02-25 23:09:16.162  1844-2222  ActivityManager         system_server                        W  Slow operation: 67ms so far, now at startProcess: returned from zygote!
2025-02-25 23:09:16.162 26734-26734 MediaSessionImpl        androidx.media3.demo.session         I  Init 50134e9 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:16.162  1844-2222  ActivityManager         system_server                        W  Slow operation: 68ms so far, now at startProcess: done updating battery stats
2025-02-25 23:09:16.165  1844-2222  ActivityManager         system_server                        W  Slow operation: 71ms so far, now at startProcess: building log message
2025-02-25 23:09:16.165  1844-2222  ActivityManager         system_server                        I  Start proc 32355:com.google.android.gms.unstable/u0a170 for service {com.google.android.gms/com.google.android.gms.droidguard.DroidGuardService} caller=com.google.android.apps.tachyon
2025-02-25 23:09:16.165  1844-2222  ActivityManager         system_server                        W  Slow operation: 71ms so far, now at startProcess: starting to update pids map
2025-02-25 23:09:16.166  1844-2222  ActivityManager         system_server                        W  Slow operation: 71ms so far, now at startProcess: done updating pids map
2025-02-25 23:09:16.197 26734-26734 MediaSessionCompat      androidx.media3.demo.session         W  Couldn't find a unique registered media button receiver in the given context.
2025-02-25 23:09:16.218 26734-32285 LeakCanary              androidx.media3.demo.session         D  LeakCanary is running and ready to detect memory leaks.
2025-02-25 23:09:16.219 26734-32285 FileUtils               androidx.media3.demo.session         E  err open mi_exception_log errno=2
2025-02-25 23:09:16.219 26734-32285 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:16.249 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:16.277 26734-26734 Choreographer           androidx.media3.demo.session         I  Skipped 35 frames!  The application may be doing too much work on its main thread.
2025-02-25 23:09:16.290 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:16.298 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus true
2025-02-25 23:09:16.300 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  refreshLastKeyboardType: 1
2025-02-25 23:09:16.301 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  getCurrentKeyboardType: 1
2025-02-25 23:09:16.326 26734-26734 MediaController         androidx.media3.demo.session         I  Init e161ed2 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:16.366 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  getCurrentKeyboardType: 1
2025-02-25 23:09:16.514 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:17.256 26734-26734 MirrorManager           androidx.media3.demo.session         W  this model don't Support
2025-02-25 23:09:17.672 26734-32294 RenderInspector         androidx.media3.demo.session         W  DequeueBuffer time out on androidx.media3.demo.session/androidx.media3.demo.session.MainActivity, count=2, avg=17 ms, max=17 ms.
2025-02-25 23:09:18.709 26734-26734 BinderMonitor           androidx.media3.demo.session         E  err open binder_delay errno=2
2025-02-25 23:09:18.710 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:18.734  1844-3981  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:18.734  1844-3981  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:18.741 26734-26734 MiuiMultiWindowAdapter  androidx.media3.demo.session         D  MiuiMultiWindowAdapter::getFreeformVideoWhiteListInSystem::LIST_ABOUT_SUPPORT_LANDSCAPE_VIDEO = [com.tencent.qqlive, com.hunantv.imgo.activity, com.qiyi.video]
2025-02-25 23:09:18.750 26734-26734 IS_CTS_MODE             androidx.media3.demo.session         D  false
2025-02-25 23:09:18.750 26734-26734 MULTI_WINDOW_ENABLED    androidx.media3.demo.session         D  false
2025-02-25 23:09:18.752 26734-26734 DecorView[]             androidx.media3.demo.session         D  getWindowModeFromSystem  windowmode is 1
2025-02-25 23:09:18.781 26734-26734 MediaController         androidx.media3.demo.session         I  Init 3426820 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:18.791 26734-26734 ForceDarkHelperStubImpl androidx.media3.demo.session         I  setViewRootImplForceDark: false for androidx.media3.demo.session.PlayableFolderActivity@816063d, reason: AppDarkModeEnable
2025-02-25 23:09:18.796 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:18.815 26734-26734 VRI[Playab...rActivity] androidx.media3.demo.session         D  vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3779 android.view.ViewRootImpl.doTraversal:2543 android.view.ViewRootImpl$TraversalRunnable.run:9465 android.view.Choreographer$CallbackRecord.run:1451 android.view.Choreographer$CallbackRecord.run:1459 
2025-02-25 23:09:18.815 26734-26734 VRI[Playab...rActivity] androidx.media3.demo.session         D  vri.Setup new sync id=0 syncSeqId=0
2025-02-25 23:09:18.833 26734-32294 Parcel                  androidx.media3.demo.session         W  Expecting binder but got null!
2025-02-25 23:09:18.835 26734-26734 VRI[Playab...rActivity] androidx.media3.demo.session         D  vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:3847 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 
2025-02-25 23:09:18.838 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus false
2025-02-25 23:09:18.842 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 64
2025-02-25 23:09:18.877 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:18.877 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:18.896 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 64
2025-02-25 23:09:18.898 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:18.898 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:18.933 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:18.939 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus true
2025-02-25 23:09:18.941 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  refreshLastKeyboardType: 1
2025-02-25 23:09:18.941 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  getCurrentKeyboardType: 1
2025-02-25 23:09:19.375 26734-32294 OpenGLRenderer          androidx.media3.demo.session         D  endAllActiveAnimators on 0xb40000756a20c200 (ListView) with handle 0xb4000075ce0113c0
2025-02-25 23:09:19.399 26734-26734 MediaController         androidx.media3.demo.session         I  Release 7e71ae6 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.session, media3.exoplayer, media3.decoder]
2025-02-25 23:09:20.667 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D  timeline [eventTime=4.59, mediaPos=0.00, window=2, periodCount=9, windowCount=9, reason=PLAYLIST_CHANGED
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:20.684 26734-26734 EventLogger             androidx.media3.demo.session         D  ]
2025-02-25 23:09:20.692 26734-26734 EventLogger             androidx.media3.demo.session         D  mediaItem [eventTime=4.59, mediaPos=0.00, window=2, reason=PLAYLIST_CHANGED]
2025-02-25 23:09:20.700 26734-26734 EventLogger             androidx.media3.demo.session         D  state [eventTime=4.60, mediaPos=0.00, window=2, BUFFERING]
2025-02-25 23:09:20.705 26734-26734 EventLogger             androidx.media3.demo.session         D  playWhenReady [eventTime=4.61, mediaPos=0.00, window=2, true, USER_REQUEST]
2025-02-25 23:09:20.727  1844-6425  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:20.727  1844-6425  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:20.742 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:20.791 26734-26734 EventLogger             androidx.media3.demo.session         D  loading [eventTime=4.69, mediaPos=0.00, window=2, period=2, true]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D  timeline [eventTime=4.70, mediaPos=0.00, window=2, period=2, periodCount=9, windowCount=9, reason=SOURCE_UPDATE
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=false]
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:20.794 26734-26734 EventLogger             androidx.media3.demo.session         D  ]
2025-02-25 23:09:20.798 26734-26734 MiuiMultiWindowAdapter  androidx.media3.demo.session         D  MiuiMultiWindowAdapter::getFreeformVideoWhiteListInSystem::LIST_ABOUT_SUPPORT_LANDSCAPE_VIDEO = [com.tencent.qqlive, com.hunantv.imgo.activity, com.qiyi.video]
2025-02-25 23:09:20.847 26734-26734 IS_CTS_MODE             androidx.media3.demo.session         D  false
2025-02-25 23:09:20.847 26734-26734 MULTI_WINDOW_ENABLED    androidx.media3.demo.session         D  false
2025-02-25 23:09:20.848 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 64
2025-02-25 23:09:20.849 26734-26734 DecorView[]             androidx.media3.demo.session         D  getWindowModeFromSystem  windowmode is 1
2025-02-25 23:09:20.852 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:20.852 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:20.858 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 64
2025-02-25 23:09:20.864 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:20.864 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:20.964  1844-6425  ActivityManager         system_server                        I  Killing 30947:com.droid27.senseflipclockweather:AppMetrica/u0a197 (adj 945): empty #22
2025-02-25 23:09:20.969  1844-6425  ActivityManager         system_server                        I  Killing 30826:com.droid27.senseflipclockweather/u0a197 (adj 945): empty #23
2025-02-25 23:09:20.975  1844-6425  ActivityManager         system_server                        I  Killing 30221:com.milink.runtime/u0a120 (adj 965): empty #24
2025-02-25 23:09:21.009 26734-26734 MediaController         androidx.media3.demo.session         I  Init 1a4fee8 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33]
2025-02-25 23:09:21.027 26734-26734 ForceDarkHelperStubImpl androidx.media3.demo.session         I  setViewRootImplForceDark: false for androidx.media3.demo.session.PlayerActivity@e40e0ab, reason: AppDarkModeEnable
2025-02-25 23:09:21.033 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.034 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.064 26734-26734 VRI[PlayerActivity]     androidx.media3.demo.session         D  vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3779 android.view.ViewRootImpl.doTraversal:2543 android.view.ViewRootImpl$TraversalRunnable.run:9465 android.view.Choreographer$CallbackRecord.run:1451 android.view.Choreographer$CallbackRecord.run:1459 
2025-02-25 23:09:21.065 26734-26734 SurfaceView             androidx.media3.demo.session         D  UPDATE null, mIsCastMode = false
2025-02-25 23:09:21.077 26734-26734 VRI[PlayerActivity]     androidx.media3.demo.session         D  vri.Setup new sync id=0 syncSeqId=0
2025-02-25 23:09:21.077 26734-26734 SurfaceSyncer           androidx.media3.demo.session         E  Failed to find sync for id=0
2025-02-25 23:09:21.077 26734-26734 SurfaceView             androidx.media3.demo.session         D  UPDATE Surface(name=SurfaceView[androidx.media3.demo.session/androidx.media3.demo.session.PlayerActivity])/@0x17831fb, mIsProjectionMode = false
2025-02-25 23:09:21.077 26734-26734 SurfaceControl          androidx.media3.demo.session         D  nativeSetScreenProjection ===> setScreenProjection
2025-02-25 23:09:21.078 26734-26734 SurfaceControl          androidx.media3.demo.session         D  nativeSetScreenProjection ===> setScreenProjection
2025-02-25 23:09:21.078 26734-26734 SurfaceControl          androidx.media3.demo.session         D  nativeSetScreenProjection ===> setScreenProjection
2025-02-25 23:09:21.093 26734-32294 Parcel                  androidx.media3.demo.session         W  Expecting binder but got null!
2025-02-25 23:09:21.097 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.098 26734-26734 VRI[PlayerActivity]     androidx.media3.demo.session         D  vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:3847 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 
2025-02-25 23:09:21.099 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus false
2025-02-25 23:09:21.146 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.150  1844-3606  ActivityManager         system_server                        W  Failure disconnecting service com.droid27.senseflipclockweather/com.google.firebase.sessions.SessionLifecycleService to connection android.os.BinderProxy@2dcb57b (in com.droid27.senseflipclockweather:AppMetrica)
                                                                                                    android.os.DeadObjectException
                                                                                                    	at android.os.BinderProxy.transactNative(Native Method)
                                                                                                    	at android.os.BinderProxy.transact(BinderProxy.java:646)
                                                                                                    	at android.app.IServiceConnection$Stub$Proxy.connected(IServiceConnection.java:124)
                                                                                                    	at com.android.server.am.ActiveServices.bringDownServiceLocked(ActiveServices.java:4865)
                                                                                                    	at com.android.server.am.ActiveServices.killServicesLocked(ActiveServices.java:5840)
                                                                                                    	at com.android.server.am.ActivityManagerService.cleanUpApplicationRecordLocked(ActivityManagerService.java:12858)
                                                                                                    	at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:3366)
                                                                                                    	at com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:3505)
                                                                                                    	at com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied(ActivityManagerService.java:1524)
                                                                                                    	at android.os.IBinder$DeathRecipient.binderDied(IBinder.java:317)
                                                                                                    	at android.os.BinderProxy.sendDeathNotice(BinderProxy.java:768)
2025-02-25 23:09:21.173 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.176 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.198 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus true
2025-02-25 23:09:21.199 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  refreshLastKeyboardType: 1
2025-02-25 23:09:21.199 26734-26734 HandWritingStubImpl     androidx.media3.demo.session         I  getCurrentKeyboardType: 1
2025-02-25 23:09:21.223 26734-32441 ProfileInstaller        androidx.media3.demo.session         D  Installing profile for androidx.media3.demo.session
2025-02-25 23:09:21.345 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:21.670 26734-26734 MediaController         androidx.media3.demo.session         I  Release 3426820 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.session, media3.exoplayer, media3.decoder, media3.datasource, media3.ui, media3.extractor]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D  timeline [eventTime=6.23, mediaPos=0.00, window=2, period=2, periodCount=9, windowCount=9, reason=SOURCE_UPDATE
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    period [?]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    period [164.41]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    window [?, seekable=false, dynamic=true]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    window [164.41, seekable=true, dynamic=false]
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D    ...
2025-02-25 23:09:22.330 26734-26734 EventLogger             androidx.media3.demo.session         D  ]
2025-02-25 23:09:22.361 26734-32354 VideoCapabilities       androidx.media3.demo.session         W  Unrecognized profile/level 0/3 for video/mpeg2
2025-02-25 23:09:22.452 26734-26734 EventLogger             androidx.media3.demo.session         D  audioEnabled [eventTime=6.36, mediaPos=0.00, window=2, period=2]
2025-02-25 23:09:22.452 26734-32354 FileUtils               androidx.media3.demo.session         E  err open mi_exception_log errno=2
2025-02-25 23:09:22.452 26734-32354 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:22.454 26734-32354 DMCodecAdapterFactory   androidx.media3.demo.session         I  Creating an asynchronous MediaCodec adapter for track type audio
2025-02-25 23:09:22.456 26734-26734 EventLogger             androidx.media3.demo.session         D  tracks [eventTime=6.36, mediaPos=0.00, window=2, period=2
2025-02-25 23:09:22.456 26734-26734 EventLogger             androidx.media3.demo.session         D    group [
2025-02-25 23:09:22.457 26734-26734 EventLogger             androidx.media3.demo.session         D      [X] Track:0, id=null, mimeType=audio/mpeg, bitrate=320000, channels=2, sample_rate=44100, supported=YES
2025-02-25 23:09:22.457 26734-26734 EventLogger             androidx.media3.demo.session         D    ]
2025-02-25 23:09:22.457 26734-26734 EventLogger             androidx.media3.demo.session         D    Metadata [
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TIT2: description=null: values=[Irsen's Tale]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TPE1: description=null: values=[Kai Engel]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TRCK: description=null: values=[3]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TALB: description=null: values=[Irsen's Tale]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TDRC: description=null: values=[2015-06-03T03:55:04]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TCON: description=null: values=[Classical]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TCOP: description=null: values=[Attribution-NonCommercial 3.0 International: http://creativecommons.org/licenses/by-nc/3.0/]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TDAT: description=null: values=[2015-06-03 3:55:04]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      APIC: mimeType=image/jpeg, description=cover
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      COMM: language=eng, description=, text=URL: http://freemusicarchive.org/music/Kai_Engel/Irsens_Tale/Kai_Engel_-_Irsens_Tale_-_03_Irsens_Tale
                                                                                                    Comments: http://freemusicarchive.org/
                                                                                                    Curators: ccCommunity, Music for Video
                                                                                                    Copyright: Attribution-NonCommercial 3.0 International: http://creativecommons.org/licenses/by-nc/3.0/
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D      TPE2: description=null: values=[Kai Engel]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D    ]
2025-02-25 23:09:22.458 26734-26734 EventLogger             androidx.media3.demo.session         D  ]
2025-02-25 23:09:22.459 26734-32354 MediaCodec              androidx.media3.demo.session         I  init video box disabled for codec not supported
2025-02-25 23:09:22.460 26734-32447 CCodec                  androidx.media3.demo.session         D  allocate(c2.android.mp3.decoder)
2025-02-25 23:09:22.462 26734-26734 EventLogger             androidx.media3.demo.session         D  downstreamFormat [eventTime=6.36, mediaPos=0.00, window=2, period=2, id=null, mimeType=audio/mpeg, bitrate=320000, channels=2, sample_rate=44100]
2025-02-25 23:09:22.465 26734-32447 Codec2Client            androidx.media3.demo.session         I  Available Codec2 services: "default" "software"
2025-02-25 23:09:22.469 26734-32447 CCodec                  androidx.media3.demo.session         I  setting up 'default' as default (vendor) store
2025-02-25 23:09:22.484 26734-32447 CCodec                  androidx.media3.demo.session         I  Created component [c2.android.mp3.decoder]
2025-02-25 23:09:22.485 26734-32447 CCodecConfig            androidx.media3.demo.session         D  read media type: audio/mpeg
2025-02-25 23:09:22.487 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: algo.buffers.max-count.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: output.subscribed-indices.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: input.buffers.allocator-ids.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: output.buffers.allocator-ids.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: algo.buffers.allocator-ids.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: output.buffers.pool-ids.values
2025-02-25 23:09:22.488 26734-32447 ReflectedParamUpdater   androidx.media3.demo.session         D  extent() != 1 for single value type: algo.buffers.pool-ids.values
2025-02-25 23:09:22.489 26734-32447 CCodecConfig            androidx.media3.demo.session         I  query failed after returning 7 values (BAD_INDEX)
2025-02-25 23:09:22.489 26734-32447 CCodecConfig            androidx.media3.demo.session         D  c2 config diff is Dict {
                                                                                                      c2::u32 coded.bitrate.value = 64000
                                                                                                      c2::u32 input.buffers.max-size.value = 8192
                                                                                                      c2::u32 input.delay.value = 0
                                                                                                      string input.media-type.value = "audio/mpeg"
                                                                                                      string output.media-type.value = "audio/raw"
                                                                                                      c2::u32 raw.channel-count.value = 2
                                                                                                      c2::u32 raw.sample-rate.value = 44100
                                                                                                    }
2025-02-25 23:09:22.492 26734-32447 MediaCodec              androidx.media3.demo.session         I  MediaCodec will operate in async mode
2025-02-25 23:09:22.493 26734-32354 MediaCodec              androidx.media3.demo.session         I  fps video to display disabled
2025-02-25 23:09:22.494 26734-32354 MediaCodec              androidx.media3.demo.session         I  MediaStub sendMine
2025-02-25 23:09:22.501 26734-32354 MediaStub               androidx.media3.demo.session         V  MediaStub::GetImplInstance for debug create,0x756339f6b8
2025-02-25 23:09:22.501 26734-32354 MediaImpl               androidx.media3.demo.session         D  MediaImpl::sendMine: audio/mpeg
2025-02-25 23:09:22.501 26734-32354 MediaStub               androidx.media3.demo.session         D  MediaStub::sendMine audio/mpeg
2025-02-25 23:09:22.501 26734-32354 MediaCodec              androidx.media3.demo.session         D  currery video type audio/mpeg
2025-02-25 23:09:22.501 26734-32354 MediaCodec              androidx.media3.demo.session         I  MediaStub sendDolbyVision
2025-02-25 23:09:22.501 26734-32354 MediaCodec              androidx.media3.demo.session         I  MediaStub sendPackageName
2025-02-25 23:09:22.501 26734-32354 MediaImpl               androidx.media3.demo.session         D  MediaImpl::sendPackageName: androidx.media3.demo.session
2025-02-25 23:09:22.501 26734-32354 MediaStub               androidx.media3.demo.session         D  MediaStub::sendPackageName androidx.media3.demo.session
2025-02-25 23:09:22.501 26734-32447 MediaCodec              androidx.media3.demo.session         D  flushMediametrics
2025-02-25 23:09:22.502 26734-32447 CCodec                  androidx.media3.demo.session         D  [c2.android.mp3.decoder] buffers are bound to CCodec for this session
2025-02-25 23:09:22.502 26734-32447 CCodecConfig            androidx.media3.demo.session         D  no c2 equivalents for log-session-id
2025-02-25 23:09:22.502 26734-32447 CCodecConfig            androidx.media3.demo.session         D  no c2 equivalents for flags
2025-02-25 23:09:22.503 26734-32447 CCodecConfig            androidx.media3.demo.session         D  config failed => CORRUPTED
2025-02-25 23:09:22.503 26734-32447 Codec2Client            androidx.media3.demo.session         W  query -- param skipped: index = 1107298332.
2025-02-25 23:09:22.503 26734-32447 CCodec                  androidx.media3.demo.session         D  client requested max input size 4096, which is smaller than what component recommended (8192); overriding with component recommendation.
2025-02-25 23:09:22.503 26734-32447 CCodec                  androidx.media3.demo.session         W  This behavior is subject to change. It is recommended that app developers double check whether the requested max input size is in reasonable range.
2025-02-25 23:09:22.503 26734-32447 CCodec                  androidx.media3.demo.session         D  encoding statistics level = 0
2025-02-25 23:09:22.503 26734-32447 CCodec                  androidx.media3.demo.session         D  setup formats input: AMessage(what = 0x00000000) = {
                                                                                                      int32_t bitrate = 64000
                                                                                                      int32_t channel-count = 2
                                                                                                      int32_t max-input-size = 8192
                                                                                                      string mime = "audio/mpeg"
                                                                                                      int32_t sample-rate = 44100
                                                                                                    }
2025-02-25 23:09:22.503 26734-32447 CCodec                  androidx.media3.demo.session         D  setup formats output: AMessage(what = 0x00000000) = {
                                                                                                      int32_t channel-count = 2
                                                                                                      string mime = "audio/raw"
                                                                                                      int32_t sample-rate = 44100
                                                                                                      int32_t android._config-pcm-encoding = 2
                                                                                                    }
2025-02-25 23:09:22.503 26734-32447 CCodecConfig            androidx.media3.demo.session         I  query failed after returning 7 values (BAD_INDEX)
2025-02-25 23:09:22.505 26734-32354 MediaCodec              androidx.media3.demo.session         D  keep callback message for reclaim
2025-02-25 23:09:22.505 26734-32447 Codec2Client            androidx.media3.demo.session         W  query -- param skipped: index = 1342179345.
2025-02-25 23:09:22.506 26734-32447 Codec2Client            androidx.media3.demo.session         W  query -- param skipped: index = 2415921170.
2025-02-25 23:09:22.506 26734-32447 C2Store                 androidx.media3.demo.session         D  Using ION
2025-02-25 23:09:22.506 26734-32447 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#730] Created input block pool with allocatorID 16 => poolID 17 - OK (0)
2025-02-25 23:09:22.507 26734-32447 CCodecBufferChannel     androidx.media3.demo.session         I  [c2.android.mp3.decoder#730] Created output block pool with allocatorID 16 => poolID 202 - OK
2025-02-25 23:09:22.507 26734-32447 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#730] Configured output block pool ids 202 => OK
2025-02-25 23:09:22.507 26734-32447 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#730] start: updating output delay 0
2025-02-25 23:09:22.510 26734-32354 FileUtils               androidx.media3.demo.session         E  err open mi_exception_log errno=2
2025-02-25 23:09:22.511 26734-32354 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:22.512 26734-26734 EventLogger             androidx.media3.demo.session         D  audioDecoderInitialized [eventTime=6.41, mediaPos=0.00, window=2, period=2, c2.android.mp3.decoder]
2025-02-25 23:09:22.513 26734-26734 EventLogger             androidx.media3.demo.session         D  audioInputFormat [eventTime=6.41, mediaPos=0.00, window=2, period=2, id=null, mimeType=audio/mpeg, bitrate=320000, channels=2, sample_rate=44100]
2025-02-25 23:09:22.514 26734-26734 EventLogger             androidx.media3.demo.session         D  rendererReady [eventTime=6.42, mediaPos=0.00, window=2, period=2, rendererIndex=1, audio, true]
2025-02-25 23:09:22.529 26734-32354 AudioTrack              androidx.media3.demo.session         D  set(sessionId=1481)
2025-02-25 23:09:22.529 26734-32354 AudioTrack              androidx.media3.demo.session         D  set(): streamType -1, sampleRate 44100, format 0x1, channelMask 0x3, frameCount 15104, flags #0, notificationFrames 0, sessionId 1481, transferType 3, uid -1, pid -1
2025-02-25 23:09:22.547 26734-32354 AudioTrack              androidx.media3.demo.session         I  AudioTrack::setVolume L:1.000000 R:1.000000 and the pakage is androidx.media3.demo.session
2025-02-25 23:09:22.547 26734-32354 AudioTrack              androidx.media3.demo.session         I  AudioTrack::setVolume L:1.000000 R:1.000000
2025-02-25 23:09:22.548 26734-26734 EventLogger             androidx.media3.demo.session         D  audioTrackInit [eventTime=6.45, mediaPos=0.00, window=2, period=2, 2,12,44100,false,false,60416]
2025-02-25 23:09:23.174 26734-32354 AudioTrack              androidx.media3.demo.session         D  start(182): prior state:STATE_STOPPED
2025-02-25 23:09:23.294 26734-32354 FileUtils               androidx.media3.demo.session         E  err open mi_exception_log errno=2
2025-02-25 23:09:23.294 26734-32354 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:23.296 26734-26734 EventLogger             androidx.media3.demo.session         D  state [eventTime=7.20, mediaPos=0.00, window=2, period=2, READY]
2025-02-25 23:09:23.300 26734-26734 EventLogger             androidx.media3.demo.session         D  isPlaying [eventTime=7.20, mediaPos=0.00, window=2, period=2, true]
2025-02-25 23:09:23.301 26734-32346 AidlConversion          androidx.media3.demo.session         W  aidl2legacy_AudioChannelLayout_audio_channel_mask_t: no legacy output audio_channel_mask_t found for AudioChannelLayout{layoutMask: 16}
2025-02-25 23:09:23.312 26734-32229 AidlConversion          androidx.media3.demo.session         W  aidl2legacy_AudioChannelLayout_audio_channel_mask_t: no legacy output audio_channel_mask_t found for AudioChannelLayout{layoutMask: 16}
2025-02-25 23:09:23.468 26734-32354 AudioTrack              androidx.media3.demo.session         D  getTimestamp_l(182): device stall time corrected using current time 24030484891612
2025-02-25 23:09:23.488 26734-32354 AudioTrack              androidx.media3.demo.session         W  getTimestamp_l(182): retrograde timestamp time corrected, 24030492031977 < 24030495235414
2025-02-25 23:09:24.640 26734-26734 FinalizerDaemon         androidx.media3.demo.session         W  type=1400 audit(0.0:10743): avc: denied { getopt } for path="/dev/socket/usap_pool_primary" scontext=u:r:untrusted_app:s0:c193,c257,c512,c768 tcontext=u:r:zygote:s0 tclass=unix_stream_socket permissive=0 app=androidx.media3.demo.session
2025-02-25 23:09:25.761 26734-32448 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#730] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0]
2025-02-25 23:09:25.761 26734-32448 PipelineWatcher         androidx.media3.demo.session         D  DEBUG: elapsed 0 / 4
2025-02-25 23:09:26.320 26734-32354 AudioTrack              androidx.media3.demo.session         D   pause(sessionID=1481)
2025-02-25 23:09:26.320 26734-32354 AudioTrack              androidx.media3.demo.session         D  pause(182): prior state:STATE_ACTIVE
2025-02-25 23:09:26.320 26734-26734 EventLogger             androidx.media3.demo.session         D  playWhenReady [eventTime=10.22, mediaPos=2.71, window=2, period=2, false, USER_REQUEST]
2025-02-25 23:09:26.322 26734-26734 EventLogger             androidx.media3.demo.session         D  isPlaying [eventTime=10.23, mediaPos=2.71, window=2, period=2, false]
2025-02-25 23:09:28.118  1844-2135  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1844:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14761 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-25 23:09:28.118  1844-2135  ActivityManager         system_server                        W  Sending non-protected broadcast com.miui.fullscreen_state_change from system 1844:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:14860 com.android.server.am.ActivityManagerService.broadcastIntentLocked:14146 com.android.server.am.ActivityManagerService.broadcastIntentWithFeature:15020 android.app.ContextImpl.sendBroadcastAsUser:1426 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2874 
2025-02-25 23:09:28.327  1844-3633  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:28.328  1844-3633  ActivityManager         system_server                        W  Sending non-protected broadcast thermalManagerCurrentActivity from system 4579:com.miui.powerkeeper/1000 pkg com.miui.powerkeeper. Callers=
2025-02-25 23:09:28.332 26734-32354 AudioTrack              androidx.media3.demo.session         D  [audioTrackData][fine] 5s(f:5771 m:0 s:0 k:0) : pid 26734 uid 10449 sessionId 1481 sr 44100 ch 2 fmt 1
2025-02-25 23:09:28.332 26734-26734 FileUtils               androidx.media3.demo.session         E  err write to mi_exception_log
2025-02-25 23:09:28.357 26734-26734 DecorView[]             androidx.media3.demo.session         D  onWindowFocusChanged hasWindowFocus false
2025-02-25 23:09:28.477 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:28.481 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:28.481 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }
2025-02-25 23:09:28.885 26734-26734 EventLogger             androidx.media3.demo.session         D  surfaceSize [eventTime=12.77, mediaPos=2.72, window=2, period=2, 0, 0]
2025-02-25 23:09:28.947 26734-26734 MediaController         androidx.media3.demo.session         I  Release 1a4fee8 [AndroidXMedia3/1.5.1] [sweet, M2101K6G, Xiaomi, 33] [media3.common, media3.session, media3.exoplayer, media3.decoder, media3.datasource, media3.ui, media3.extractor]
2025-02-25 23:09:29.112 26734-32448 CCodecBufferChannel     androidx.media3.demo.session         D  [c2.android.mp3.decoder#730] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0]
2025-02-25 23:09:29.112 26734-32448 PipelineWatcher         androidx.media3.demo.session         D  DEBUG: elapsed 0 / 4
2025-02-25 23:09:30.050 26734-26734 LeakCanary              androidx.media3.demo.session         D  Watching instance of androidx.lifecycle.ReportFragment (androidx.lifecycle.ReportFragment received Fragment#onDestroy() callback) with key e631ee46-45e5-4463-ac66-bbfd051453ae
2025-02-25 23:09:30.053 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:30.054 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:30.055  1844-2402  ActivityManager         system_server                        I  Killing 26734:androidx.media3.demo.session/u0a449 (adj 0): SwipeUpClean
---------------------------- PROCESS ENDED (26734) for package androidx.media3.demo.session ----------------------------
2025-02-25 23:09:30.165  1844-5194  ActivityManager         system_server                        I  Cancel FGS notification userId: 0 definingUid: 10449 packageName: androidx.media3.demo.session processName:androidx.media3.demo.session ChannelId:default_channel_id foregroundNotiWhen:0 Notiflags:8
2025-02-25 23:09:30.171 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:30.177 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:30.178  1844-2137  ActivityManager         system_server                        W  setHasOverlayUi called on unknown pid: 26734
video2.mov

@marcbaechinger
Copy link
Contributor

Thanks.

I don't know this error pattern from other cases.
What is suspicious are these lines that are marked as errors coming from a class ActivityManagerWrapper:

2025-02-25 23:09:28.477 25341-25445 ActivityManagerWrapper  com.miui.home                        E  get all recent tasks force including 2
2025-02-25 23:09:28.481 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: size=1
2025-02-25 23:09:28.481 25341-25445 ActivityManagerWrapper  com.miui.home                        E  getRecentTasks: mainTaskId=64   userId=0   baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{androidx.media3.demo.session/androidx.media3.demo.session.MainActivity} }

I'd guess that's the SystemUI from the vendor of that device. These error lines are printed at the moment when we expect onTaskRemoved() to be called. We can see that the MediaController is released just after. So this is when the session demo activity is stopped.

The log further misses the log lines that are printed when MediaSessionImpl and ExoPlayer are released. That would be called when onDestroy() of the demo service is called. If this behavior can be verified, it looks like that the service is forcibly torn down by the system when the custom System UI removes a task. If that's the case I'm pretty sure that would violate the Android requirements. However, these error lines marked with 'E' indicate there is something not working as intended on that device.

Do you see this on any other devices than Xiaomi?

I'm actually not sure how I can further help with this. I'm sorry to not be able to give you a better answer.

@miksol
Copy link
Author

miksol commented Feb 26, 2025

Thanks, I understand. I'll try to find and test it on other devices, for example, Samsung. I'll let you know if there are similar issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants