Merge "Fix race+logging issue in SystemStateHelper" into sc-dev
diff --git a/src/com/android/server/telecom/SystemStateHelper.java b/src/com/android/server/telecom/SystemStateHelper.java
index 0c14d5e..f78d21c 100644
--- a/src/com/android/server/telecom/SystemStateHelper.java
+++ b/src/com/android/server/telecom/SystemStateHelper.java
@@ -75,7 +75,7 @@
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- Log.startSession("SSP.oR");
+ Log.startSession("SSH.oR");
try {
synchronized (mLock) {
String action = intent.getAction();
@@ -120,11 +120,19 @@
@Override
public void onProjectionStateChanged(int activeProjectionTypes,
@NonNull Set<String> projectingPackages) {
- if (projectingPackages.isEmpty()) {
- onReleaseAutomotiveProjection();
- } else {
- onSetAutomotiveProjection(projectingPackages.iterator().next());
+ Log.startSession("SSH.oPSC");
+ try {
+ synchronized (mLock) {
+ if (projectingPackages.isEmpty()) {
+ onReleaseAutomotiveProjection();
+ } else {
+ onSetAutomotiveProjection(projectingPackages.iterator().next());
+ }
+ }
+ } finally {
+ Log.endSession();
}
+
}
private Set<SystemStateListener> mListeners = new CopyOnWriteArraySet<>();