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

Commit 6267d2a2 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: Iec9bfbadaa78bacbc4485c8dc8895d7392cd4f85
parents 83fe1550 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) {