androidx / androidx/media

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

Open
#2,179 13 comments 0 reactions 1 assignee View on GitHub

@marcbaechinger is already working on this.

Since Feb 25, 2025.

bug: device specific
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

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?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.