summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Santiago Seifert <aquilescanta@google.com> 2025-03-20 07:54:22 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-20 07:54:22 -0700
commit542955e897255fd41fa30ff70b6895d667fcd94f (patch)
treefadf08bb9194d3d5d1fdeb12103c6cdfeedb1ed3
parentb4c8ecdcc481e11b71cdba930d6b86c7c35ff12a (diff)
parented5f3caa2ad01ba5213a5498eea60a7190432556 (diff)
Merge "[Media Router Metrics] Log Scanning Start/Stopped events" into main
-rw-r--r--services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java13
-rw-r--r--services/core/java/com/android/server/media/MediaRouterMetricLogger.java29
2 files changed, 39 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
index 988924d9f498..e4e81ac0e720 100644
--- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
@@ -25,7 +25,6 @@ import static android.media.MediaRouter2.SCANNING_STATE_SCANNING_FULL;
import static android.media.MediaRouter2.SCANNING_STATE_WHILE_INTERACTIVE;
import static android.media.MediaRouter2Utils.getOriginalId;
import static android.media.MediaRouter2Utils.getProviderId;
-
import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_CREATE_SESSION;
import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_DESELECT_ROUTE;
@@ -78,14 +77,12 @@ import android.util.ArrayMap;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
-
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.media.flags.Flags;
import com.android.server.LocalServices;
import com.android.server.pm.UserManagerInternal;
import com.android.server.statusbar.StatusBarManagerInternal;
-
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@@ -3857,6 +3854,16 @@ class MediaRouter2ServiceImpl {
&& activelyScanningPackages.equals(mUserRecord.mActivelyScanningPackages)) {
return false;
}
+
+ var oldShouldPerformActiveScan =
+ mUserRecord.mCompositeDiscoveryPreference.shouldPerformActiveScan();
+ var newShouldPerformActiveScan = newPreference.shouldPerformActiveScan();
+ if (oldShouldPerformActiveScan != newShouldPerformActiveScan) {
+ // State access is synchronized with service.mLock.
+ // Linter still fails due to b/323906305#comment3
+ mMediaRouterMetricLogger.updateScanningState(newShouldPerformActiveScan);
+ }
+
mUserRecord.mCompositeDiscoveryPreference = newPreference;
mUserRecord.mActivelyScanningPackages = activelyScanningPackages;
}
diff --git a/services/core/java/com/android/server/media/MediaRouterMetricLogger.java b/services/core/java/com/android/server/media/MediaRouterMetricLogger.java
index 56d2a1b22254..dc94ff2a063b 100644
--- a/services/core/java/com/android/server/media/MediaRouterMetricLogger.java
+++ b/services/core/java/com/android/server/media/MediaRouterMetricLogger.java
@@ -16,6 +16,8 @@
package com.android.server.media;
+import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_SCANNING_STARTED;
+import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_SCANNING_STOPPED;
import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__RESULT__RESULT_FAILED_TO_REROUTE_SYSTEM_MEDIA;
import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__RESULT__RESULT_INVALID_COMMAND;
import static com.android.server.media.MediaRouterStatsLog.MEDIA_ROUTER_EVENT_REPORTED__RESULT__RESULT_NETWORK_ERROR;
@@ -114,6 +116,33 @@ final class MediaRouterMetricLogger {
}
/**
+ * Logs the overall scanning state.
+ *
+ * @param isScanning The scanning state for the user.
+ */
+ public void updateScanningState(boolean isScanning) {
+ if (!isScanning) {
+ logScanningStopped();
+ } else {
+ logScanningStarted();
+ }
+ }
+
+ /** Logs the scanning started event. */
+ private void logScanningStarted() {
+ logMediaRouterEvent(
+ MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_SCANNING_STARTED,
+ MEDIA_ROUTER_EVENT_REPORTED__RESULT__RESULT_UNSPECIFIED);
+ }
+
+ /** Logs the scanning stopped event. */
+ private void logScanningStopped() {
+ logMediaRouterEvent(
+ MEDIA_ROUTER_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_SCANNING_STOPPED,
+ MEDIA_ROUTER_EVENT_REPORTED__RESULT__RESULT_UNSPECIFIED);
+ }
+
+ /**
* Converts a reason code from {@link MediaRoute2ProviderService} to a result code for logging.
*
* @param reason The reason code from {@link MediaRoute2ProviderService}.