Loading services/core/java/com/android/server/audio/AudioService.java +8 −1 Original line number Diff line number Diff line Loading @@ -3989,8 +3989,15 @@ public class AudioService extends IAudioService.Stub // VOLUME_CHANGED_ACTION intent to see if the current device is the one being modified final int currDev = getDeviceForStream(vi.getStreamType()); final boolean skipping = (currDev == ada.getInternalType()); AudioService.sVolumeLogger.enqueue(new DeviceVolumeEvent(vi.getStreamType(), index, ada, currDev, callingPackage)); currDev, callingPackage, skipping)); if (skipping) { // setDeviceVolume was called on a device currently being used return; } // TODO handle unmuting of current audio device // if a stream is not muted but the VolumeInfo is for muting, set the volume index Loading services/core/java/com/android/server/audio/AudioServiceEvents.java +11 −5 Original line number Diff line number Diff line Loading @@ -175,15 +175,17 @@ public class AudioServiceEvents { final String mDeviceAddress; final String mCaller; final int mDeviceForStream; final boolean mSkipped; DeviceVolumeEvent(int streamType, int index, @NonNull AudioDeviceAttributes device, int deviceForStream, String callingPackage) { int deviceForStream, String callingPackage, boolean skipped) { mStream = streamType; mVolIndex = index; mDeviceNativeType = "0x" + Integer.toHexString(device.getInternalType()); mDeviceAddress = device.getAddress(); mDeviceForStream = deviceForStream; mCaller = callingPackage; mSkipped = skipped; // log metrics new MediaMetrics.Item(MediaMetrics.Name.AUDIO_VOLUME_EVENT) .set(MediaMetrics.Property.EVENT, "setDeviceVolume") Loading @@ -198,14 +200,18 @@ public class AudioServiceEvents { @Override public String eventToString() { return new StringBuilder("setDeviceVolume(stream:") final StringBuilder sb = new StringBuilder("setDeviceVolume(stream:") .append(AudioSystem.streamToString(mStream)) .append(" index:").append(mVolIndex) .append(" device:").append(mDeviceNativeType) .append(" addr:").append(mDeviceAddress) .append(") from ").append(mCaller) .append(" currDevForStream:Ox").append(Integer.toHexString(mDeviceForStream)) .toString(); .append(") from ").append(mCaller); if (mSkipped) { sb.append(" skipped [device in use]"); } else { sb.append(" currDevForStream:Ox").append(Integer.toHexString(mDeviceForStream)); } return sb.toString(); } } Loading Loading
services/core/java/com/android/server/audio/AudioService.java +8 −1 Original line number Diff line number Diff line Loading @@ -3989,8 +3989,15 @@ public class AudioService extends IAudioService.Stub // VOLUME_CHANGED_ACTION intent to see if the current device is the one being modified final int currDev = getDeviceForStream(vi.getStreamType()); final boolean skipping = (currDev == ada.getInternalType()); AudioService.sVolumeLogger.enqueue(new DeviceVolumeEvent(vi.getStreamType(), index, ada, currDev, callingPackage)); currDev, callingPackage, skipping)); if (skipping) { // setDeviceVolume was called on a device currently being used return; } // TODO handle unmuting of current audio device // if a stream is not muted but the VolumeInfo is for muting, set the volume index Loading
services/core/java/com/android/server/audio/AudioServiceEvents.java +11 −5 Original line number Diff line number Diff line Loading @@ -175,15 +175,17 @@ public class AudioServiceEvents { final String mDeviceAddress; final String mCaller; final int mDeviceForStream; final boolean mSkipped; DeviceVolumeEvent(int streamType, int index, @NonNull AudioDeviceAttributes device, int deviceForStream, String callingPackage) { int deviceForStream, String callingPackage, boolean skipped) { mStream = streamType; mVolIndex = index; mDeviceNativeType = "0x" + Integer.toHexString(device.getInternalType()); mDeviceAddress = device.getAddress(); mDeviceForStream = deviceForStream; mCaller = callingPackage; mSkipped = skipped; // log metrics new MediaMetrics.Item(MediaMetrics.Name.AUDIO_VOLUME_EVENT) .set(MediaMetrics.Property.EVENT, "setDeviceVolume") Loading @@ -198,14 +200,18 @@ public class AudioServiceEvents { @Override public String eventToString() { return new StringBuilder("setDeviceVolume(stream:") final StringBuilder sb = new StringBuilder("setDeviceVolume(stream:") .append(AudioSystem.streamToString(mStream)) .append(" index:").append(mVolIndex) .append(" device:").append(mDeviceNativeType) .append(" addr:").append(mDeviceAddress) .append(") from ").append(mCaller) .append(" currDevForStream:Ox").append(Integer.toHexString(mDeviceForStream)) .toString(); .append(") from ").append(mCaller); if (mSkipped) { sb.append(" skipped [device in use]"); } else { sb.append(" currDevForStream:Ox").append(Integer.toHexString(mDeviceForStream)); } return sb.toString(); } } Loading