Loading media/java/android/media/audiopolicy/AudioProductStrategy.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -356,8 +356,9 @@ public final class AudioProductStrategy implements Parcelable { */ */ public static List<AudioProductStrategy> filterNonInternalStrategies( public static List<AudioProductStrategy> filterNonInternalStrategies( List<AudioProductStrategy> strategies) { List<AudioProductStrategy> strategies) { strategies.removeIf(AudioProductStrategy::isInternalStrategy); List<AudioProductStrategy> filteredStrategies = new ArrayList<>(strategies); return Collections.unmodifiableList(strategies); filteredStrategies.removeIf(AudioProductStrategy::isInternalStrategy); return Collections.unmodifiableList(filteredStrategies); } } private static boolean isDefaultMatchScore(int matchScore) { private static boolean isDefaultMatchScore(int matchScore) { Loading services/core/java/com/android/server/audio/AudioSystemAdapter.java +10 −3 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.media.ISoundDoseCallback; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMixingRule; import android.media.audiopolicy.AudioMixingRule; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.Flags; import android.os.IBinder; import android.os.IBinder; import android.os.RemoteCallbackList; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.RemoteException; Loading Loading @@ -88,6 +87,8 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, private static final Object sAudioProductStrategiesLock = new Object(); private static final Object sAudioProductStrategiesLock = new Object(); @GuardedBy("sAudioProductStrategiesLock") @GuardedBy("sAudioProductStrategiesLock") private static List<AudioProductStrategy> sAudioProductStrategies; private static List<AudioProductStrategy> sAudioProductStrategies; @GuardedBy("sAudioProductStrategiesLock") private static List<AudioProductStrategy> sAudioProductStrategiesWithoutInternal; private int[] mMethodCacheHit; private int[] mMethodCacheHit; /** /** * Map that stores all attributes + forVolume pairs that are registered for * Map that stores all attributes + forVolume pairs that are registered for Loading Loading @@ -755,7 +756,13 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, */ */ public List<AudioProductStrategy> getAudioProductStrategies(boolean filterInternal) { public List<AudioProductStrategy> getAudioProductStrategies(boolean filterInternal) { if (filterInternal) { if (filterInternal) { return AudioProductStrategy.filterNonInternalStrategies(getAllProductStrategies()); synchronized (sAudioProductStrategiesLock) { if (sAudioProductStrategiesWithoutInternal == null) { sAudioProductStrategiesWithoutInternal = AudioProductStrategy .filterNonInternalStrategies(getAllProductStrategies()); } } return sAudioProductStrategiesWithoutInternal; } } return getAllProductStrategies(); return getAllProductStrategies(); } } Loading @@ -775,7 +782,7 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, + AudioSystem.audioSystemErrorToString(status)); + AudioSystem.audioSystemErrorToString(status)); return Collections.emptyList(); return Collections.emptyList(); } } sAudioProductStrategies = strategies; sAudioProductStrategies = Collections.unmodifiableList(strategies); } } } } Loading Loading
media/java/android/media/audiopolicy/AudioProductStrategy.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -356,8 +356,9 @@ public final class AudioProductStrategy implements Parcelable { */ */ public static List<AudioProductStrategy> filterNonInternalStrategies( public static List<AudioProductStrategy> filterNonInternalStrategies( List<AudioProductStrategy> strategies) { List<AudioProductStrategy> strategies) { strategies.removeIf(AudioProductStrategy::isInternalStrategy); List<AudioProductStrategy> filteredStrategies = new ArrayList<>(strategies); return Collections.unmodifiableList(strategies); filteredStrategies.removeIf(AudioProductStrategy::isInternalStrategy); return Collections.unmodifiableList(filteredStrategies); } } private static boolean isDefaultMatchScore(int matchScore) { private static boolean isDefaultMatchScore(int matchScore) { Loading
services/core/java/com/android/server/audio/AudioSystemAdapter.java +10 −3 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.media.ISoundDoseCallback; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMixingRule; import android.media.audiopolicy.AudioMixingRule; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.Flags; import android.os.IBinder; import android.os.IBinder; import android.os.RemoteCallbackList; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.RemoteException; Loading Loading @@ -88,6 +87,8 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, private static final Object sAudioProductStrategiesLock = new Object(); private static final Object sAudioProductStrategiesLock = new Object(); @GuardedBy("sAudioProductStrategiesLock") @GuardedBy("sAudioProductStrategiesLock") private static List<AudioProductStrategy> sAudioProductStrategies; private static List<AudioProductStrategy> sAudioProductStrategies; @GuardedBy("sAudioProductStrategiesLock") private static List<AudioProductStrategy> sAudioProductStrategiesWithoutInternal; private int[] mMethodCacheHit; private int[] mMethodCacheHit; /** /** * Map that stores all attributes + forVolume pairs that are registered for * Map that stores all attributes + forVolume pairs that are registered for Loading Loading @@ -755,7 +756,13 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, */ */ public List<AudioProductStrategy> getAudioProductStrategies(boolean filterInternal) { public List<AudioProductStrategy> getAudioProductStrategies(boolean filterInternal) { if (filterInternal) { if (filterInternal) { return AudioProductStrategy.filterNonInternalStrategies(getAllProductStrategies()); synchronized (sAudioProductStrategiesLock) { if (sAudioProductStrategiesWithoutInternal == null) { sAudioProductStrategiesWithoutInternal = AudioProductStrategy .filterNonInternalStrategies(getAllProductStrategies()); } } return sAudioProductStrategiesWithoutInternal; } } return getAllProductStrategies(); return getAllProductStrategies(); } } Loading @@ -775,7 +782,7 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback, + AudioSystem.audioSystemErrorToString(status)); + AudioSystem.audioSystemErrorToString(status)); return Collections.emptyList(); return Collections.emptyList(); } } sAudioProductStrategies = strategies; sAudioProductStrategies = Collections.unmodifiableList(strategies); } } } } Loading