Loading core/java/android/view/IWindowManager.aidl +7 −2 Original line number Diff line number Diff line Loading @@ -69,12 +69,13 @@ import android.view.SurfaceControl; import android.view.displayhash.DisplayHash; import android.view.displayhash.VerifiedDisplayHash; import android.window.AddToSurfaceSyncGroupResult; import android.window.IScreenRecordingCallback; import android.window.ISurfaceSyncGroupCompletedListener; import android.window.ITaskFpsCallback; import android.window.ScreenCapture; import android.window.WindowContextInfo; import android.window.ITrustedPresentationListener; import android.window.ScreenCapture; import android.window.TrustedPresentationThresholds; import android.window.WindowContextInfo; /** * System private interface to the window manager. Loading Loading @@ -1083,4 +1084,8 @@ interface IWindowManager void unregisterTrustedPresentationListener(in ITrustedPresentationListener listener, int id); boolean registerScreenRecordingCallback(IScreenRecordingCallback callback); void unregisterScreenRecordingCallback(IScreenRecordingCallback callback); } core/java/android/window/IScreenRecordingCallback.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.window; /** * @hide */ oneway interface IScreenRecordingCallback { void onScreenRecordingStateChanged(boolean visibleInScreenRecording); } core/java/android/window/flags/window_surfaces.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -80,3 +80,11 @@ flag { is_fixed_read_only: true bug: "278757236" } flag { namespace: "window_surfaces" name: "screen_recording_callbacks" description: "Enable screen recording callbacks public API" is_fixed_read_only: true bug: "304574518" } data/etc/services.core.protolog.json +6 −6 Original line number Diff line number Diff line Loading @@ -535,6 +535,12 @@ "group": "WM_DEBUG_TASKS", "at": "com\/android\/server\/wm\/ActivityStarter.java" }, "-1583619037": { "message": "Failed to register MediaProjectionWatcherCallback", "level": "ERROR", "group": "WM_ERROR", "at": "com\/android\/server\/wm\/ScreenRecordingCallbackController.java" }, "-1582845629": { "message": "Starting animation on %s", "level": "VERBOSE", Loading Loading @@ -2983,12 +2989,6 @@ "group": "WM_DEBUG_SCREEN_ON", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "466506262": { "message": "Clear freezing of %s: visible=%b freezing=%b", "level": "VERBOSE", "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "485170982": { "message": "Not finishing noHistory %s on stop because we're just sleeping", "level": "DEBUG", Loading media/java/android/media/projection/IMediaProjectionManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ interface IMediaProjectionManager { @EnforcePermission("MANAGE_MEDIA_PROJECTION") @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") void addCallback(IMediaProjectionWatcherCallback callback); MediaProjectionInfo addCallback(IMediaProjectionWatcherCallback callback); @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") Loading Loading
core/java/android/view/IWindowManager.aidl +7 −2 Original line number Diff line number Diff line Loading @@ -69,12 +69,13 @@ import android.view.SurfaceControl; import android.view.displayhash.DisplayHash; import android.view.displayhash.VerifiedDisplayHash; import android.window.AddToSurfaceSyncGroupResult; import android.window.IScreenRecordingCallback; import android.window.ISurfaceSyncGroupCompletedListener; import android.window.ITaskFpsCallback; import android.window.ScreenCapture; import android.window.WindowContextInfo; import android.window.ITrustedPresentationListener; import android.window.ScreenCapture; import android.window.TrustedPresentationThresholds; import android.window.WindowContextInfo; /** * System private interface to the window manager. Loading Loading @@ -1083,4 +1084,8 @@ interface IWindowManager void unregisterTrustedPresentationListener(in ITrustedPresentationListener listener, int id); boolean registerScreenRecordingCallback(IScreenRecordingCallback callback); void unregisterScreenRecordingCallback(IScreenRecordingCallback callback); }
core/java/android/window/IScreenRecordingCallback.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.window; /** * @hide */ oneway interface IScreenRecordingCallback { void onScreenRecordingStateChanged(boolean visibleInScreenRecording); }
core/java/android/window/flags/window_surfaces.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -80,3 +80,11 @@ flag { is_fixed_read_only: true bug: "278757236" } flag { namespace: "window_surfaces" name: "screen_recording_callbacks" description: "Enable screen recording callbacks public API" is_fixed_read_only: true bug: "304574518" }
data/etc/services.core.protolog.json +6 −6 Original line number Diff line number Diff line Loading @@ -535,6 +535,12 @@ "group": "WM_DEBUG_TASKS", "at": "com\/android\/server\/wm\/ActivityStarter.java" }, "-1583619037": { "message": "Failed to register MediaProjectionWatcherCallback", "level": "ERROR", "group": "WM_ERROR", "at": "com\/android\/server\/wm\/ScreenRecordingCallbackController.java" }, "-1582845629": { "message": "Starting animation on %s", "level": "VERBOSE", Loading Loading @@ -2983,12 +2989,6 @@ "group": "WM_DEBUG_SCREEN_ON", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "466506262": { "message": "Clear freezing of %s: visible=%b freezing=%b", "level": "VERBOSE", "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "485170982": { "message": "Not finishing noHistory %s on stop because we're just sleeping", "level": "DEBUG", Loading
media/java/android/media/projection/IMediaProjectionManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ interface IMediaProjectionManager { @EnforcePermission("MANAGE_MEDIA_PROJECTION") @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") void addCallback(IMediaProjectionWatcherCallback callback); MediaProjectionInfo addCallback(IMediaProjectionWatcherCallback callback); @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") Loading