diff options
| author | 2025-03-20 07:54:22 -0700 | |
|---|---|---|
| committer | 2025-03-20 07:54:22 -0700 | |
| commit | 542955e897255fd41fa30ff70b6895d667fcd94f (patch) | |
| tree | fadf08bb9194d3d5d1fdeb12103c6cdfeedb1ed3 | |
| parent | b4c8ecdcc481e11b71cdba930d6b86c7c35ff12a (diff) | |
| parent | ed5f3caa2ad01ba5213a5498eea60a7190432556 (diff) | |
Merge "[Media Router Metrics] Log Scanning Start/Stopped events" into main
| -rw-r--r-- | services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java | 13 | ||||
| -rw-r--r-- | services/core/java/com/android/server/media/MediaRouterMetricLogger.java | 29 |
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}. |