summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java8
-rw-r--r--services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java21
2 files changed, 3 insertions, 26 deletions
diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
index 9954a903be5c..802a7f2954af 100644
--- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
+++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
@@ -975,6 +975,9 @@ public final class MediaProjectionManagerService extends SystemService
throw new SecurityException("Media projections require a foreground service"
+ " of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION");
}
+
+ mCallback = callback;
+ registerCallback(mCallback);
try {
mToken = callback.asBinder();
mDeathEater = () -> {
@@ -1019,11 +1022,6 @@ public final class MediaProjectionManagerService extends SystemService
}
}
startProjectionLocked(this);
-
- // Register new callbacks after stop has been dispatched to previous session.
- mCallback = callback;
- registerCallback(mCallback);
-
// Mark this token as used when the app gets the MediaProjection instance.
mCountStarts++;
}
diff --git a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java
index b0fd60672853..ddd1221e4c91 100644
--- a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java
@@ -202,24 +202,6 @@ public class MediaProjectionManagerServiceTest {
}
@Test
- public void testCreateProjection_priorProjectionGrant() throws NameNotFoundException {
- // Create a first projection.
- MediaProjectionManagerService.MediaProjection projection = startProjectionPreconditions();
- FakeIMediaProjectionCallback callback1 = new FakeIMediaProjectionCallback();
- projection.start(callback1);
-
- // Create a second projection.
- MediaProjectionManagerService.MediaProjection secondProjection =
- startProjectionPreconditions();
- FakeIMediaProjectionCallback callback2 = new FakeIMediaProjectionCallback();
- secondProjection.start(callback2);
-
- // Check that the second projection's callback hasn't been stopped.
- assertThat(callback1.mStopped).isTrue();
- assertThat(callback2.mStopped).isFalse();
- }
-
- @Test
public void testCreateProjection_attemptReuse_noPriorProjectionGrant()
throws NameNotFoundException {
// Create a first projection.
@@ -803,11 +785,8 @@ public class MediaProjectionManagerServiceTest {
}
private static class FakeIMediaProjectionCallback extends IMediaProjectionCallback.Stub {
- boolean mStopped = false;
-
@Override
public void onStop() throws RemoteException {
- mStopped = true;
}
@Override