Add onDisplayRemoveSystemDecorations to TouchInteractionService

onDisplayRemoveSystemDecorations() is a new method in IOverviewProxy.aidl

Bug: 352461502
Flag: com.android.server.display.feature.flags.enable_display_content_mode_management
Test: manually (adb shell settings put secure mirror_built_in_display
{1|0})

Change-Id: I42d96ef27fd62d35ae1ca6134bd74752de3a2b5d
This commit is contained in:
Lingyu Feng
2025-01-23 01:30:20 -08:00
parent 2e2c11e49d
commit 779bd3cd46
2 changed files with 16 additions and 0 deletions
@@ -701,6 +701,11 @@ public class TaskbarManager {
public void onDisplayRemoved(int displayId) {
}
/**
* Signal from SysUI indicating that system decorations should be removed from the display.
*/
public void onDisplayRemoveSystemDecorations(int displayId) {}
private void removeActivityCallbacksAndListeners() {
if (mActivity != null) {
mActivity.removeOnDeviceProfileChangeListener(mDebugActivityDeviceProfileChanged);
@@ -315,6 +315,17 @@ public class TouchInteractionService extends Service {
taskbarManager -> taskbarManager.onDisplayRemoved(displayId))));
}
@BinderThread
@Override
public void onDisplayRemoveSystemDecorations(int displayId) {
// TODO(b/391786915): Replace all
// `executeForTouchInteractionService(executeForTaskbarManager())` with just
// `executeForTaskbarManager` directly (since `tis` is unused).
MAIN_EXECUTOR.execute(() -> executeForTouchInteractionService(
tis -> executeForTaskbarManager(taskbarManager -> taskbarManager
.onDisplayRemoveSystemDecorations(displayId))));
}
@BinderThread
@Override
public void updateWallpaperVisibility(int displayId, boolean visible) {