summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/audiopolicy/AudioPolicy.java20
-rw-r--r--media/java/android/media/audiopolicy/AudioPolicyConfig.java7
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")