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

Commit 42845106 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

Change-Id: If224fdc8aaf2fc43e307e377aa3083ccfcbffac9
parents e51fbb56 cd13452c
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;
    }

    /**