diff options
| -rw-r--r-- | media/java/android/media/audiopolicy/AudioPolicy.java | 20 | ||||
| -rw-r--r-- | media/java/android/media/audiopolicy/AudioPolicyConfig.java | 7 |
2 files changed, 11 insertions, 16 deletions
diff --git a/media/java/android/media/audiopolicy/AudioPolicy.java b/media/java/android/media/audiopolicy/AudioPolicy.java index 3ba1d1f0eca2..c1ee74a70a15 100644 --- a/media/java/android/media/audiopolicy/AudioPolicy.java +++ b/media/java/android/media/audiopolicy/AudioPolicy.java @@ -75,11 +75,13 @@ public class AudioPolicy { */ public static final int POLICY_STATUS_REGISTERED = 2; + @GuardedBy("mLock") private int mStatus; + @GuardedBy("mLock") private String mRegistrationId; - private AudioPolicyStatusListener mStatusListener; - private boolean mIsFocusPolicy; - private boolean mIsTestFocusPolicy; + private final AudioPolicyStatusListener mStatusListener; + private final boolean mIsFocusPolicy; + private final boolean mIsTestFocusPolicy; /** * The list of AudioTrack instances created to inject audio into the associated mixes @@ -115,6 +117,7 @@ public class AudioPolicy { private Context mContext; + @GuardedBy("mLock") private AudioPolicyConfig mConfig; private final MediaProjection mProjection; @@ -552,7 +555,6 @@ public class AudioPolicy { /** @hide */ public void reset() { setRegistration(null); - mConfig.reset(); } public void setRegistration(String regId) { @@ -563,6 +565,7 @@ public class AudioPolicy { mStatus = POLICY_STATUS_REGISTERED; } else { mStatus = POLICY_STATUS_UNREGISTERED; + mConfig.reset(); } } sendMsg(MSG_POLICY_STATUS_CHANGE); @@ -940,14 +943,9 @@ public class AudioPolicy { } private void onPolicyStatusChange() { - AudioPolicyStatusListener l; - synchronized (mLock) { - if (mStatusListener == null) { - return; - } - l = mStatusListener; + if (mStatusListener != null) { + mStatusListener.onStatusChange(); } - l.onStatusChange(); } //================================================== diff --git a/media/java/android/media/audiopolicy/AudioPolicyConfig.java b/media/java/android/media/audiopolicy/AudioPolicyConfig.java index ce9773312a10..7a85d21bf144 100644 --- a/media/java/android/media/audiopolicy/AudioPolicyConfig.java +++ b/media/java/android/media/audiopolicy/AudioPolicyConfig.java @@ -42,9 +42,7 @@ public class AudioPolicyConfig implements Parcelable { private String mRegistrationId = null; - /** counter for the mixes that are / have been in the list of AudioMix - * e.g. register 4 mixes (counter is 3), remove 1 (counter is 3), add 1 (counter is 4) - */ + // Corresponds to id of next mix to be registered. private int mMixCounter = 0; protected AudioPolicyConfig(AudioPolicyConfig conf) { @@ -286,7 +284,7 @@ public class AudioPolicyConfig implements Parcelable { if ((mix.getRouteFlags() & AudioMix.ROUTE_FLAG_LOOP_BACK) == AudioMix.ROUTE_FLAG_LOOP_BACK) { mix.setRegistration(mRegistrationId + "mix" + mixTypeId(mix.getMixType()) + ":" - + mMixCounter); + + mMixCounter++); } else if ((mix.getRouteFlags() & AudioMix.ROUTE_FLAG_RENDER) == AudioMix.ROUTE_FLAG_RENDER) { mix.setRegistration(mix.mDeviceAddress); @@ -294,7 +292,6 @@ public class AudioPolicyConfig implements Parcelable { } else { mix.setRegistration(""); } - mMixCounter++; } @GuardedBy("mMixes") |