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

Commit 9c453e54 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Set DividerView accessibility embedded matrix to surface position" into...

Merge "Set DividerView accessibility embedded matrix to surface position" into rvc-dev am: 4acfd1f0 am: 8f872b0c

Change-Id: Ic3c9fc6d08a0fde4f3b422d037c4ad87eea134f9
parents cb66b1cb 8f872b0c
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -28,12 +28,14 @@ import android.animation.ValueAnimator;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.Region.Op;
import android.hardware.display.DisplayManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.RemoteException;
import android.util.AttributeSet;
import android.util.Slog;
import android.view.Display;
@@ -164,6 +166,9 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    int mDividerPositionX;
    int mDividerPositionY;

    private final Matrix mTmpMatrix = new Matrix();
    private final float[] mTmpValues = new float[9];

    // The view is removed or in the process of been removed from the system.
    private boolean mRemoved;

@@ -249,6 +254,22 @@ public class DividerView extends FrameLayout implements OnTouchListener,
        }
    };

    private Runnable mUpdateEmbeddedMatrix = () -> {
        if (getViewRootImpl() == null) {
            return;
        }
        if (isHorizontalDivision()) {
            mTmpMatrix.setTranslate(0, mDividerPositionY - mDividerInsets);
        } else {
            mTmpMatrix.setTranslate(mDividerPositionX - mDividerInsets, 0);
        }
        mTmpMatrix.getValues(mTmpValues);
        try {
            getViewRootImpl().getAccessibilityEmbeddedConnection().setScreenMatrix(mTmpValues);
        } catch (RemoteException e) {
        }
    };

    public DividerView(Context context) {
        this(context, null);
    }
@@ -1084,6 +1105,10 @@ public class DividerView extends FrameLayout implements OnTouchListener,
                t.setPosition(dividerCtrl, mDividerPositionX - mDividerInsets, 0);
            }
        }
        if (getViewRootImpl() != null) {
            mHandler.removeCallbacks(mUpdateEmbeddedMatrix);
            mHandler.post(mUpdateEmbeddedMatrix);
        }
    }

    void setResizeDimLayer(Transaction t, boolean primary, float alpha) {