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

Phone volume buttons can't control VoiceComm output on lock screen #2153

Open
hpsaturn opened this issue Feb 4, 2025 · 2 comments
Open

Phone volume buttons can't control VoiceComm output on lock screen #2153

hpsaturn opened this issue Feb 4, 2025 · 2 comments
Labels

Comments

@hpsaturn
Copy link
Contributor

hpsaturn commented Feb 4, 2025

Android version(s): oriole-user 15 AP4A.250105.002.A1 12703047 release-key
Android device(s): Pixel 6
Oboe version: Oboe tester (91) v2.7.2, Oboe version v1.9.3 (debug build from tag 1.9-stable)
App name used for testing: Oboe tester

Summary

Using background and foreground flags, when you turn power off the device (lock screen), the VoiceComm/Speech output can't handled the volume with the device buttons.

Steps to reproduce

  1. Open oboe tester
  2. enable background operation
  3. enable foreground operation
  4. Go to test output
  5. select usage to: VoiceComm
  6. select content type to: Speech
  7. Open and start the stream output
  8. Turn off the device with the power button
  9. Try to change the volume (it is impossible)

Expected behavior

Change the volume in background when the screen is off

Actual behavior

This is only working when the screen is on. When the device is locked (screen off), you are not able to change the volume.
Note: when you not unspecified any "Usage" and "ContentType", everything works fine.

This wrong behavior was reproduced in the next devices:

Devices

  • OnePlus6 with Android 11
  • Pixel6 Oriole with Android 15
  • Pixel7 with GrapheneOS

Pixel 6 details:

ro.product.brand = google
ro.product.manufacturer = Google
ro.product.model = Pixel 6
ro.product.device = oriole
ro.product.cpu.abi = arm64-v8a
ro.build.description = oriole-user 15 AP4A.250105.002.A1 12703047 release-keys
ro.hardware = oriole
ro.hardware.chipname = 
ro.arch = 
| grep aaudio = [aaudio.hw_burst_min_usec]: [2000]
[aaudio.mmap_exclusive_policy]: [2]
[aaudio.mmap_policy]: [2]

OnePlus6 Android 11 details:

ro.product.brand = OnePlus
ro.product.manufacturer = OnePlus
ro.product.model = ONEPLUS A6003
ro.product.device = OnePlus6
ro.product.cpu.abi = arm64-v8a
ro.build.description = OnePlus6-user 11   release-keys
ro.hardware = qcom
ro.hardware.chipname = 
ro.arch = 
| grep aaudio =
@hpsaturn hpsaturn added the bug label Feb 4, 2025
@hpsaturn
Copy link
Contributor Author

hpsaturn commented Feb 4, 2025

The problem seems that has relation with a confusion with the "musicOnly" flag here:

https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/media/MediaSessionService.java#2565

The events are skipped, for instance:

14:25:25.593 MediaSessionService     system_server         D  dispatchVolumeKeyEvent, pkg=android, opPkg=android, pid=1477, uid=1000, asSystem=false, event=KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_VOLUME_DOWN, scanCode=114, metaState=0, flags=0x8, repeatCount=0, eventTime=820372184000, downTime=820372184000, deviceId=3, source=0x101, displayId=-1 }, stream=-2147483648, musicOnly=true
14:25:25.594 MediaSessionService     system_server         D  Adjusting suggestedStream=-2147483648 by -1. flags=4096, preferSuggestedStream=false, session=null
14:25:25.595 MediaSessionService     system_server         D  Nothing is playing on the music stream. Skipping volume event, flags=4096

I don't know if these weird messages has relation:

10:54:07.510 WindowManager           system_server         D  powerPress: eventTime=1221597 interactive=true count=1 mShortPressOnPowerBehavior=1
10:54:07.538 s2mpg12_irq_work_func   kworker/u16           I  main pmic interrupt(0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
10:54:07.511 PowerGroup              system_server         I  Powering off display group due to power_button (groupId= 0, uid= 1000, millisSinceLastUserActivity=29597, lastUserActivityEvent=touch)...
10:54:07.513 PowerManagerService     system_server         I  Going to sleep due to power_button (uid 1000, screenOffTimeout=600000, activityTimeoutWM=-1, maxDimRatio=0.20000005, maxDimDur=7000)...
10:54:07.519 usf_sensor_hal          and...rvice.multihal  D  proximity: Enter Batch. Period = 1000000, latency = 0.
10:54:07.527 KeyguardTr...Repository com.android.systemui  D  (Internal) Setting current transition info: TransitionInfo(ownerName=FromGoneTransitionInteractor(Sleep transition triggered), from=GONE, to=DOZING, animated)
10:54:07.531 sensor-suez             and...rvice.multihal  I  Vendor atom [id = 100243] reported.
10:54:07.531 KeyguardViewMediator    com.android.systemui  D  KeyguardViewMediator queue processing message: NOTIFY_STARTED_GOING_TO_SLEEP
10:54:07.534 KeyguardTr...Repository com.android.systemui  I  STARTED transition: TransitionStep(from=GONE, to=DOZING, value=0.0, transitionState=STARTED, ownerName=FromGoneTransitionInteractor(Sleep transition triggered))
10:54:07.536 vol.VolumeDialogImpl    com.android.systemui  I  mDialog.dismiss() reason: volume_controller from: com.android.systemui.volume.VolumeDialogImpl$7.onDismissRequested:3
10:54:07.539 AudioFlinger            audioserver           D  AUDIO_OUTPUT_FLAG_FAST denied: sharedBuffer=0xb400dc480d9b4960 frameCount=0 mFrameCount=480 format=0x1 mFormat=0x5 isLinear=1 channelMask=0x3 sampleRate=44100 mSampleRate=48000 hasFastMixer=1 tid=4994 fastTrackAvailMask=0xfe
10:54:07.543 APM::AudioPolicyEngine  audioserver           W  getDevicesForStrategyInt unknown strategy: 10
10:54:07.543 APM::AudioPolicyEngine  audioserver           I  getDevicesForStrategyInt no device found for strategy 10

@hpsaturn hpsaturn changed the title Phone volume buttons can't control the bluetooth with VoiceComm on lock screen Phone volume buttons can't control VoiceComm output on lock screen Feb 4, 2025
@philburk
Copy link
Collaborator

philburk commented Feb 6, 2025

@hpsaturn - THANK YOU for the clear and detailed bug report!

I was able to reproduce it on a Pixel 9 Pro XL on a recent Beta build.

I will pass this to our Volume experts.

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

No branches or pull requests

2 participants