Avoid double logging for app overlay
Right now if an app is TYPE_APPLICATION_OVERLAY, it gets logged twice
Fix: 73952594
Test: manual test and cts test
Change-Id: Ieca79545c76f0773cb939efd236705a067bb1e6d
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index 2c3c5d2..94b8518 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -509,14 +509,10 @@
// on-going notification for the user to control their visibility.
if (visible) {
changed = mAlertWindowSurfaces.add(surfaceController);
- if (changed) {
- MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, true);
- }
+ MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, changed, type, true);
} else {
changed = mAlertWindowSurfaces.remove(surfaceController);
- if (changed) {
- MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, true);
- }
+ MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, changed, type, true);
}
if (changed) {
@@ -537,14 +533,10 @@
if (visible) {
changed = mAppOverlaySurfaces.add(surfaceController);
- if (changed) {
- MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, false);
- }
+ MetricsLoggerWrapper.logAppOverlayEnter(mUid, mPackageName, changed, type, false);
} else {
changed = mAppOverlaySurfaces.remove(surfaceController);
- if (changed) {
- MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, false);
- }
+ MetricsLoggerWrapper.logAppOverlayExit(mUid, mPackageName, changed, type, false);
}
if (changed) {