summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/media/MediaSessionService.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index 3e8af27d2584..e7e8096a1965 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -312,14 +312,15 @@ public class MediaSessionService extends SystemService implements Monitor {
}
user.mPriorityStack.onSessionActiveStateChanged(record);
}
- boolean allowRunningInForeground = record.isActive()
- && (playbackState == null || playbackState.isActive());
+ boolean isUserEngaged =
+ record.isActive() && (playbackState == null || playbackState.isActive());
Log.d(TAG, "onSessionActiveStateChanged: "
+ "record=" + record
+ "playbackState=" + playbackState
- + "allowRunningInForeground=" + allowRunningInForeground);
- setForegroundServiceAllowance(record, allowRunningInForeground);
+ + "allowRunningInForeground=" + isUserEngaged);
+ setForegroundServiceAllowance(record, /* allowRunningInForeground= */ isUserEngaged);
+ reportMediaInteractionEvent(record, isUserEngaged);
mHandler.postSessionsChanged(record);
}
}
@@ -417,12 +418,14 @@ public class MediaSessionService extends SystemService implements Monitor {
}
user.mPriorityStack.onPlaybackStateChanged(record, shouldUpdatePriority);
if (playbackState != null) {
- boolean allowRunningInForeground = playbackState.isActive() && record.isActive();
+ boolean isUserEngaged = playbackState.isActive() && record.isActive();
Log.d(TAG, "onSessionPlaybackStateChanged: "
+ "record=" + record
+ "playbackState=" + playbackState
- + "allowRunningInForeground=" + allowRunningInForeground);
- setForegroundServiceAllowance(record, allowRunningInForeground);
+ + "allowRunningInForeground=" + isUserEngaged);
+ setForegroundServiceAllowance(
+ record, /* allowRunningInForeground= */ isUserEngaged);
+ reportMediaInteractionEvent(record, isUserEngaged);
}
}
}
@@ -590,6 +593,7 @@ public class MediaSessionService extends SystemService implements Monitor {
Log.d(TAG, "destroySessionLocked: record=" + session);
setForegroundServiceAllowance(session, /* allowRunningInForeground= */ false);
+ reportMediaInteractionEvent(session, /* userEngaged= */ false);
mHandler.postSessionsChanged(session);
}
@@ -608,11 +612,9 @@ public class MediaSessionService extends SystemService implements Monitor {
if (allowRunningInForeground) {
mActivityManagerInternal.startForegroundServiceDelegate(
foregroundServiceDelegationOptions, /* connection= */ null);
- reportMediaInteractionEvent(record, /* userEngaged= */ true);
} else {
mActivityManagerInternal.stopForegroundServiceDelegate(
foregroundServiceDelegationOptions);
- reportMediaInteractionEvent(record, /* userEngaged= */ false);
}
}