Automattic / Automattic/pocket-casts-android

Pixel Buds sometimes pausing but not resuming playback properly

Open
#1,628 1 comment 0 reactions 0 assignees View on GitHub
[Area] Pixel Buds [Priority] Low [Type] Bug
Dominant language
Kotlin
Stars
2.8k
Forks
308
Avg merge
1d 13h
Merged PRs (30d)
143

Description

### Description

Using usb-c wired Pixel Buds earbuds and a Pixel device, I have observed on multiple occasions that tapping the button on the headphones while Pocket Casts is playing audio will successfully pause the audio, but pressing the button a second time will not then resume the audio. Likewise, when the earbuds won't resume audio, they also cannot skip forward or skip backward, even with [the recent fix](https://github.com/Automattic/pocket-casts-android/pull/1620) that otherwise fixed skip forward/backward.

> [!NOTE]
> The [recent fix](https://github.com/Automattic/pocket-casts-android/pull/1620) we did addressing the skip-forward/skip-backward functionality does not seem to affect this issue (I have observed it both with builds that have the fix and with builds that do not have the fix).

This does not happen consistently. Sometimes I can never get playback to resume with the earbuds, and sometimes it works every time. It seems that the phone gets into a state where it either works or does not work and stays in that state for a while.

This does not occur with other Bluetooth speakers/headsets, those continue to resume playback as expected. Similarly, if the PIxel Buds are not set up to use Google Assistant, then they work as expected. The issue only occurs when the earbuds [are set up to use Google Assistant](https://support.google.com/pixelphone/answer/9140284?hl=en#:~:text=Start%20setup%3A,headphones%20setup.).

For example, one time after restarting my phone the first time I used the Pixel Buds button the Google Assitant ping wasn't happening and they stopped and started playback as expected. 5 seconds later, however, the Google Assistant ping returned when using the headphone button, and immediately the headphones lost the ability to resume playback.

On another occasion, I was seeing this problem on my Pixel 8, but after briefly connecting some other (non-Pixel) bluetooth headphones, disconnecting the Bluetooth headphones, and returning to my usb-c Pixel buds, the problem was no longer occurring. Connecting Bluetooth headphones and returning to my Pixel buds has not fixed the issue every other time I've tried it though.

### Other apps have the same problem

I tested some other apps when this was occurring, and I observed thatI also get the same won't-resume-playback behavior with Spotify and Castbox. Google apps though (Youtube, Youtube Music, Google Podcasts) seem to work correctly. I did find some other references to this issue online:

- [Reddit/GooglePixel: Pixel Buds Pro touch controls not restarting music](https://www.reddit.com/r/GooglePixel/comments/12jhtak/pixel_buds_pro_touch_controls_not_restarting_music/)
- [Reddit/pixelbuds: I can't continue my music after pausing by just single tapping the buds](https://www.reddit.com/r/pixelbuds/comments/l33woe/i_cant_continue_my_music_after_pausing_by_just/)
- [Google Issue Tracker: While using USB C Pixel Buds, pressing the center button to pause pauses music, but if pressed again it does not play](https://issuetracker.google.com/issues/129678038)

### Logs show the app is not receiving an event from the OS to resume playback

I added some logging to the app and confirmed that Pocket Casts is not receiving any events from the operating system when tapping the headphone button to resume playback when playback is not resuming. It seems as though the OS is deciding to send these events somewhere else, which is supported by the fact that if I was playing something on a Google app (Youtube, Youtube Music, Google Podcasts) before Pocket Casts, the first tap will pause Pocket Casts and the second tap will resume playback on the Google app that was playing before Pocket Casts.

### Step-by-step reproduction instructions

1. Connect a pair of usb-c wired pixel buds earbuds (this might happen with Bluetooth earbuds as well, I just don't have a pair to test with).
2. Begin playback from with in the Pocket Casts app by tapping the play button in the app
3. Tap the button on your earbuds
4. Observe that playback is paused
5. ⚠️ Observe that nothing happens if you tap the headphone button again
6. Start and pause playback on Google podcasts
7. Start playback on Pocket Casts
8. Tap the button on your earbuds
9. Observe that Pocket Casts pauses playback
10. Tap the button on your earbuds again
11. ⚠️ Observe that playback resumes _from Google Podcasts_ (sometimes it takes a third tap to resume Google podcasts, sometimes not).

### Screenshots or screen recording

_No response_

### Did you search for existing bug reports?

- [X] I have searched for existing bug reports.

### Device, Operating system, and Pocket Casts app version

Google Pixel 6 Pro and Google Pixel 8
Android 14
Pocket Casts 7.54-rc-2 and 7.54-rc-3
usb-c wired pixel buds

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue using the listed Pixel Buds, Pixel devices, Android 14, and Pocket Casts versions. Compare the failing headphone-button sequence with Google apps and review the app logging showing whether the operating system sends resume, skip-forward, or skip-backward events. Done means identifying a reproducible cause and restoring reliable Pocket Casts resume and skip behavior without disrupting other apps.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.