package io.flutter.embedding.engine.mutatorsstack; import android.content.Context; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Path; import android.view.MotionEvent; import android.view.View; import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; import io.flutter.embedding.android.AndroidTouchProcessor; import io.flutter.util.ViewUtils; import java.util.Iterator; /* loaded from: classes6.dex */ public class FlutterMutatorView extends FrameLayout { ViewTreeObserver.OnGlobalFocusChangeListener activeFocusListener; private final AndroidTouchProcessor androidTouchProcessor; private int left; private FlutterMutatorsStack mutatorsStack; private int prevLeft; private int prevTop; private float screenDensity; private int top; @Override // android.view.ViewGroup public boolean onInterceptTouchEvent(MotionEvent motionEvent) { return true; } public FlutterMutatorView(Context context, float f, AndroidTouchProcessor androidTouchProcessor) { super(context, null); this.screenDensity = f; this.androidTouchProcessor = androidTouchProcessor; } public FlutterMutatorView(Context context) { this(context, 1.0f, null); } public void setOnDescendantFocusChangeListener(View.OnFocusChangeListener onFocusChangeListener) { unsetOnDescendantFocusChangeListener(); ViewTreeObserver viewTreeObserver = getViewTreeObserver(); if (viewTreeObserver.isAlive() && this.activeFocusListener == null) { ViewTreeObserver.OnGlobalFocusChangeListener onGlobalFocusChangeListener = new ViewTreeObserver.OnGlobalFocusChangeListener(this, onFocusChangeListener, this) { // from class: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorView.1 final FlutterMutatorView this$0; final View val$mutatorView; final View.OnFocusChangeListener val$userFocusListener; { this.this$0 = this; this.val$userFocusListener = onFocusChangeListener; this.val$mutatorView = this; } @Override // android.view.ViewTreeObserver.OnGlobalFocusChangeListener public void onGlobalFocusChanged(View view, View view2) { View.OnFocusChangeListener onFocusChangeListener2 = this.val$userFocusListener; View view3 = this.val$mutatorView; onFocusChangeListener2.onFocusChange(view3, ViewUtils.childHasFocus(view3)); } }; this.activeFocusListener = onGlobalFocusChangeListener; viewTreeObserver.addOnGlobalFocusChangeListener(onGlobalFocusChangeListener); } } public void unsetOnDescendantFocusChangeListener() { ViewTreeObserver.OnGlobalFocusChangeListener onGlobalFocusChangeListener; ViewTreeObserver viewTreeObserver = getViewTreeObserver(); if (!viewTreeObserver.isAlive() || (onGlobalFocusChangeListener = this.activeFocusListener) == null) { return; } this.activeFocusListener = null; viewTreeObserver.removeOnGlobalFocusChangeListener(onGlobalFocusChangeListener); } public void readyToDisplay(FlutterMutatorsStack flutterMutatorsStack, int i, int i2, int i3, int i4) { this.mutatorsStack = flutterMutatorsStack; this.left = i; this.top = i2; FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(i3, i4); layoutParams.leftMargin = i; layoutParams.topMargin = i2; setLayoutParams(layoutParams); setWillNotDraw(false); } @Override // android.view.View public void draw(Canvas canvas) { canvas.save(); Iterator it = this.mutatorsStack.getFinalClippingPaths().iterator(); while (it.hasNext()) { Path path = new Path(it.next()); path.offset(-this.left, -this.top); canvas.clipPath(path); } super.draw(canvas); canvas.restore(); } @Override // android.view.ViewGroup, android.view.View public void dispatchDraw(Canvas canvas) { canvas.save(); canvas.concat(getPlatformViewMatrix()); super.dispatchDraw(canvas); canvas.restore(); } private Matrix getPlatformViewMatrix() { Matrix matrix = new Matrix(this.mutatorsStack.getFinalMatrix()); float f = 1.0f / this.screenDensity; matrix.preScale(f, f); matrix.postTranslate(-this.left, -this.top); return matrix; } @Override // android.view.ViewGroup, android.view.ViewParent public boolean requestSendAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) { View childAt = getChildAt(0); if (childAt == null || childAt.getImportantForAccessibility() != 4) { return super.requestSendAccessibilityEvent(view, accessibilityEvent); } return false; } @Override // android.view.View public boolean onTouchEvent(MotionEvent motionEvent) { if (this.androidTouchProcessor == null) { return super.onTouchEvent(motionEvent); } Matrix matrix = new Matrix(); int action = motionEvent.getAction(); if (action == 0) { int i = this.left; this.prevLeft = i; int i2 = this.top; this.prevTop = i2; matrix.postTranslate(i, i2); } else if (action == 2) { matrix.postTranslate(this.prevLeft, this.prevTop); this.prevLeft = this.left; this.prevTop = this.top; } else { matrix.postTranslate(this.left, this.top); } return this.androidTouchProcessor.onTouchEvent(motionEvent, matrix); } }