Merge "Change Runnables to lamda in MediaSessionRecord" into main
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index ce31ac8..eb4e6e4 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -431,28 +431,9 @@
int stream = getVolumeStream(mAudioAttrs);
final int volumeValue = value;
mHandler.post(
- new Runnable() {
- @Override
- public void run() {
- try {
- mAudioManager.setStreamVolumeForUid(
- stream,
- volumeValue,
- flags,
- opPackageName,
- uid,
- pid,
- mContext.getApplicationInfo().targetSdkVersion);
- } catch (IllegalArgumentException | SecurityException e) {
- Slog.e(
- TAG,
- "Cannot set volume: stream=" + stream
- + ", value=" + volumeValue
- + ", flags=" + flags,
- e);
- }
- }
- });
+ () ->
+ setStreamVolumeForUid(
+ opPackageName, pid, uid, flags, stream, volumeValue));
} else {
if (mVolumeControlType != VOLUME_CONTROL_ABSOLUTE) {
if (DEBUG) {
@@ -482,6 +463,27 @@
}
}
+ private void setStreamVolumeForUid(
+ String opPackageName, int pid, int uid, int flags, int stream, int volumeValue) {
+ try {
+ mAudioManager.setStreamVolumeForUid(
+ stream,
+ volumeValue,
+ flags,
+ opPackageName,
+ uid,
+ pid,
+ mContext.getApplicationInfo().targetSdkVersion);
+ } catch (IllegalArgumentException | SecurityException e) {
+ Slog.e(
+ TAG,
+ "Cannot set volume: stream=" + stream
+ + ", value=" + volumeValue
+ + ", flags=" + flags,
+ e);
+ }
+ }
+
/**
* Check if this session has been set to active by the app.
* <p>
@@ -749,52 +751,70 @@
pid = callingPid;
}
mHandler.post(
- new Runnable() {
- @Override
- public void run() {
- try {
- if (useSuggested) {
- if (AudioSystem.isStreamActive(stream, 0)) {
- mAudioManager.adjustSuggestedStreamVolumeForUid(
- stream,
- direction,
- flags,
- opPackageName,
- uid,
- pid,
- mContext.getApplicationInfo().targetSdkVersion);
- } else {
- mAudioManager.adjustSuggestedStreamVolumeForUid(
- AudioManager.USE_DEFAULT_STREAM_TYPE,
- direction,
- flags | previousFlagPlaySound,
- opPackageName,
- uid,
- pid,
- mContext.getApplicationInfo().targetSdkVersion);
- }
- } else {
- mAudioManager.adjustStreamVolumeForUid(
- stream,
- direction,
- flags,
- opPackageName,
- uid,
- pid,
- mContext.getApplicationInfo().targetSdkVersion);
- }
- } catch (IllegalArgumentException | SecurityException e) {
- Slog.e(
- TAG,
- "Cannot adjust volume: direction=" + direction
- + ", stream=" + stream + ", flags=" + flags
- + ", opPackageName=" + opPackageName + ", uid=" + uid
- + ", useSuggested=" + useSuggested
- + ", previousFlagPlaySound=" + previousFlagPlaySound,
- e);
- }
- }
- });
+ () ->
+ adjustSuggestedStreamVolumeForUid(
+ stream,
+ direction,
+ flags,
+ useSuggested,
+ previousFlagPlaySound,
+ opPackageName,
+ uid,
+ pid));
+ }
+
+ private void adjustSuggestedStreamVolumeForUid(
+ int stream,
+ int direction,
+ int flags,
+ boolean useSuggested,
+ int previousFlagPlaySound,
+ String opPackageName,
+ int uid,
+ int pid) {
+ try {
+ if (useSuggested) {
+ if (AudioSystem.isStreamActive(stream, 0)) {
+ mAudioManager.adjustSuggestedStreamVolumeForUid(
+ stream,
+ direction,
+ flags,
+ opPackageName,
+ uid,
+ pid,
+ mContext.getApplicationInfo().targetSdkVersion);
+ } else {
+ mAudioManager.adjustSuggestedStreamVolumeForUid(
+ AudioManager.USE_DEFAULT_STREAM_TYPE,
+ direction,
+ flags | previousFlagPlaySound,
+ opPackageName,
+ uid,
+ pid,
+ mContext.getApplicationInfo().targetSdkVersion);
+ }
+ } else {
+ mAudioManager.adjustStreamVolumeForUid(
+ stream,
+ direction,
+ flags,
+ opPackageName,
+ uid,
+ pid,
+ mContext.getApplicationInfo().targetSdkVersion);
+ }
+ } catch (IllegalArgumentException | SecurityException e) {
+ Slog.e(
+ TAG,
+ "Cannot adjust volume: direction=" + direction
+ + ", stream=" + stream
+ + ", flags=" + flags
+ + ", opPackageName=" + opPackageName
+ + ", uid=" + uid
+ + ", useSuggested=" + useSuggested
+ + ", previousFlagPlaySound=" + previousFlagPlaySound,
+ e);
+ }
}
private void logCallbackException(
@@ -1089,16 +1109,14 @@
volumeType, VOLUME_CONTROL_ABSOLUTE, max, current, attributes, null);
}
- private final Runnable mClearOptimisticVolumeRunnable = new Runnable() {
- @Override
- public void run() {
- boolean needUpdate = (mOptimisticVolume != mCurrentVolume);
- mOptimisticVolume = -1;
- if (needUpdate) {
- pushVolumeUpdate();
- }
- }
- };
+ private final Runnable mClearOptimisticVolumeRunnable =
+ () -> {
+ boolean needUpdate = (mOptimisticVolume != mCurrentVolume);
+ mOptimisticVolume = -1;
+ if (needUpdate) {
+ pushVolumeUpdate();
+ }
+ };
@RequiresPermission(Manifest.permission.INTERACT_ACROSS_USERS)
private static boolean componentNameExists(