Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b83b5ac5 authored by Tracy Zhou's avatar Tracy Zhou Committed by Android (Google) Code Review
Browse files

Merge "Update focused task and display tracking API" into main

parents 069fc783 7e12609a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.wm.shell.shared;

import android.app.ActivityManager;

import com.android.wm.shell.shared.annotations.ExternalThread;

/**
@@ -31,6 +33,6 @@ public interface FocusTransitionListener {
    /**
     * Called when the per-app or system-wide focus state has changed for a task.
     */
    default void onFocusedTaskChanged(int taskId, boolean isFocusedOnDisplay,
            boolean isFocusedGlobally) {}
    default void onFocusedTaskChanged(ActivityManager.RunningTaskInfo taskInfo,
            boolean isFocusedOnDisplay, boolean isFocusedGlobally) {}
}
+3 −3
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ public class FocusTransitionObserver {
    }

    /**
     * Sets the focus transition listener that receives any transitions resulting in focus switch.
     * Unsets the focus transition listener that receives any transitions resulting in focus switch.
     * This is for calls from outside the Shell, within the host process.
     *
     */
@@ -188,8 +188,8 @@ public class FocusTransitionObserver {
        final boolean isFocusedOnDisplay = isFocusedOnDisplay(task);
        final boolean isFocusedGlobally = hasGlobalFocus(task);
        mLocalListeners.forEach((listener, executor) ->
                executor.execute(() -> listener.onFocusedTaskChanged(task.taskId,
                        isFocusedOnDisplay, isFocusedGlobally)));
                executor.execute(() -> listener.onFocusedTaskChanged(task, isFocusedOnDisplay,
                        isFocusedGlobally)));
    }

    private void notifyFocusedDisplayChanged() {
+2 −2
Original line number Diff line number Diff line
@@ -171,9 +171,9 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel, FocusT
    }

    @Override
    public void onFocusedTaskChanged(int taskId, boolean isFocusedOnDisplay,
    public void onFocusedTaskChanged(RunningTaskInfo taskInfo, boolean isFocusedOnDisplay,
            boolean isFocusedGlobally) {
        final WindowDecoration decor = mWindowDecorByTaskId.get(taskId);
        final WindowDecoration decor = mWindowDecorByTaskId.get(taskInfo.taskId);
        if (decor != null) {
            decor.relayout(decor.mTaskInfo, isFocusedGlobally, decor.mExclusionRegion);
        }
+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ public abstract class CarWindowDecorViewModel
    }

    @Override
    public void onFocusedTaskChanged(int taskId, boolean isFocusedOnDisplay,
    public void onFocusedTaskChanged(RunningTaskInfo taskInfo, boolean isFocusedOnDisplay,
            boolean isFocusedGlobally) {
        // no-op
    }
+2 −2
Original line number Diff line number Diff line
@@ -555,9 +555,9 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel,
    }

    @Override
    public void onFocusedTaskChanged(int taskId, boolean isFocusedOnDisplay,
    public void onFocusedTaskChanged(RunningTaskInfo taskInfo, boolean isFocusedOnDisplay,
            boolean isFocusedGlobally) {
        final WindowDecoration decor = mWindowDecorByTaskId.get(taskId);
        final WindowDecoration decor = mWindowDecorByTaskId.get(taskInfo.taskId);
        if (decor != null) {
            decor.relayout(decor.mTaskInfo, isFocusedGlobally, decor.mExclusionRegion);
        }
Loading