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<>();