From 52bcee0f77e2e4ba751f0a70baccf6a20abf0d3a Mon Sep 17 00:00:00 2001 From: Nino Jagar Date: Thu, 29 Jun 2023 23:23:38 +0000 Subject: [PATCH] Send session resumed/paused to content protection Bug: b/289126853 Test: Manual end to end Change-Id: If9569ebae9f31cc776c8d37bafad2a81ade1171b --- .../service/contentcapture/ContentCaptureService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/java/android/service/contentcapture/ContentCaptureService.java b/core/java/android/service/contentcapture/ContentCaptureService.java index 7fa0ac846d60a..06e86af0208fd 100644 --- a/core/java/android/service/contentcapture/ContentCaptureService.java +++ b/core/java/android/service/contentcapture/ContentCaptureService.java @@ -15,6 +15,8 @@ */ package android.service.contentcapture; +import static android.view.contentcapture.ContentCaptureEvent.TYPE_SESSION_PAUSED; +import static android.view.contentcapture.ContentCaptureEvent.TYPE_SESSION_RESUMED; import static android.view.contentcapture.ContentCaptureHelper.sDebug; import static android.view.contentcapture.ContentCaptureHelper.sVerbose; import static android.view.contentcapture.ContentCaptureHelper.toList; @@ -569,7 +571,16 @@ public abstract class ContentCaptureService extends Service { List events = parceledEvents.getList(); int sessionIdInt = events.isEmpty() ? NO_SESSION_ID : events.get(0).getSessionId(); ContentCaptureSessionId sessionId = new ContentCaptureSessionId(sessionIdInt); + + ContentCaptureEvent startEvent = + new ContentCaptureEvent(sessionIdInt, TYPE_SESSION_RESUMED); + startEvent.setSelectionIndex(0, events.size()); + onContentCaptureEvent(sessionId, startEvent); + events.forEach(event -> onContentCaptureEvent(sessionId, event)); + + ContentCaptureEvent endEvent = new ContentCaptureEvent(sessionIdInt, TYPE_SESSION_PAUSED); + onContentCaptureEvent(sessionId, endEvent); } private void handleOnActivitySnapshot(int sessionId, @NonNull SnapshotData snapshotData) {