Add atom and logging for app overlay

Test: will add cts test
Change-Id: I8573abd8ec920467047fd0db9d9ce22173d84960
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index f09a294..2c3c5d2 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -55,6 +55,7 @@
 import android.view.SurfaceSession;
 import android.view.WindowManager;
 
+import com.android.internal.os.logging.MetricsLoggerWrapper;
 import com.android.internal.view.IInputContext;
 import com.android.internal.view.IInputMethodClient;
 import com.android.internal.view.IInputMethodManager;
@@ -508,8 +509,14 @@
             // on-going notification for the user to control their visibility.
             if (visible) {
                 changed = mAlertWindowSurfaces.add(surfaceController);
+                if (changed) {
+                    MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, true);
+                }
             } else {
                 changed = mAlertWindowSurfaces.remove(surfaceController);
+                if (changed) {
+                    MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, true);
+                }
             }
 
             if (changed) {
@@ -530,8 +537,14 @@
 
         if (visible) {
             changed = mAppOverlaySurfaces.add(surfaceController);
+            if (changed) {
+                MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, false);
+            }
         } else {
             changed = mAppOverlaySurfaces.remove(surfaceController);
+            if (changed) {
+                MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, false);
+            }
         }
 
         if (changed) {