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

Commit 5eb55422 authored by Chris Li's avatar Chris Li Committed by Automerger Merge Worker
Browse files

Merge "Update WM Jetpack impl to use WindowMetrics" into rvc-dev am: cd13452c am: 6b607f03

Change-Id: Ide0ab5dac3747fe032d4b54abb0513a48e7e6b47
parents c5cdb1b0 6b607f03
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ import android.os.IBinder;
import android.view.DisplayInfo;
import android.view.Surface;

import androidx.annotation.Nullable;

/**
 * Toolkit class for calculation of the display feature bounds within the window.
 * NOTE: This sample implementation only works for Activity windows, because there is no public APIs
@@ -84,7 +86,7 @@ class ExtensionHelper {

    /** Transform rectangle from absolute coordinate space to the window coordinate space. */
    static void transformToWindowSpaceRect(Rect inOutRect, IBinder windowToken) {
        Rect windowRect = getWindowRect(windowToken);
        Rect windowRect = getWindowBounds(windowToken);
        if (windowRect == null) {
            inOutRect.setEmpty();
            return;
@@ -101,13 +103,12 @@ class ExtensionHelper {
     * Get the current window bounds in absolute coordinates.
     * NOTE: Only works with Activity windows.
     */
    private static Rect getWindowRect(IBinder windowToken) {
    @Nullable
    private static Rect getWindowBounds(IBinder windowToken) {
        Activity activity = ActivityThread.currentActivityThread().getActivity(windowToken);
        final Rect windowRect = new Rect();
        if (activity != null) {
            activity.getWindow().getDecorView().getWindowDisplayFrame(windowRect);
        }
        return windowRect;
        return activity != null
                ? activity.getWindowManager().getCurrentWindowMetrics().getBounds()
                : null;
    }

    /**