package com.google.android.material.textfield; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.RectF; import android.graphics.Region; import android.graphics.drawable.Drawable; import android.os.Build; import android.view.View; import com.google.android.material.shape.MaterialShapeDrawable; import com.google.android.material.shape.ShapeAppearanceModel; /* loaded from: classes.dex */ class CutoutDrawable extends MaterialShapeDrawable { CutoutDrawableState drawableState; static CutoutDrawable create(ShapeAppearanceModel shapeAppearanceModel) { if (shapeAppearanceModel == null) { shapeAppearanceModel = new ShapeAppearanceModel(); } return create(new CutoutDrawableState(shapeAppearanceModel, new RectF())); } /* JADX INFO: Access modifiers changed from: private */ public static CutoutDrawable create(CutoutDrawableState cutoutDrawableState) { return new ImplApi18(cutoutDrawableState); } private CutoutDrawable(CutoutDrawableState cutoutDrawableState) { super(cutoutDrawableState); this.drawableState = cutoutDrawableState; } @Override // com.google.android.material.shape.MaterialShapeDrawable, android.graphics.drawable.Drawable public Drawable mutate() { this.drawableState = new CutoutDrawableState(this.drawableState); return this; } boolean hasCutout() { return !this.drawableState.cutoutBounds.isEmpty(); } void setCutout(float f, float f2, float f3, float f4) { if (f == this.drawableState.cutoutBounds.left && f2 == this.drawableState.cutoutBounds.top && f3 == this.drawableState.cutoutBounds.right && f4 == this.drawableState.cutoutBounds.bottom) { return; } this.drawableState.cutoutBounds.set(f, f2, f3, f4); invalidateSelf(); } void setCutout(RectF rectF) { setCutout(rectF.left, rectF.top, rectF.right, rectF.bottom); } void removeCutout() { setCutout(0.0f, 0.0f, 0.0f, 0.0f); } private static class ImplApi18 extends CutoutDrawable { ImplApi18(CutoutDrawableState cutoutDrawableState) { super(cutoutDrawableState); } @Override // com.google.android.material.shape.MaterialShapeDrawable protected void drawStrokeShape(Canvas canvas) { if (this.drawableState.cutoutBounds.isEmpty()) { super.drawStrokeShape(canvas); return; } canvas.save(); if (Build.VERSION.SDK_INT >= 26) { canvas.clipOutRect(this.drawableState.cutoutBounds); } else { canvas.clipRect(this.drawableState.cutoutBounds, Region.Op.DIFFERENCE); } super.drawStrokeShape(canvas); canvas.restore(); } } private static class ImplApi14 extends CutoutDrawable { private Paint cutoutPaint; private int savedLayer; ImplApi14(CutoutDrawableState cutoutDrawableState) { super(cutoutDrawableState); } @Override // com.google.android.material.shape.MaterialShapeDrawable, android.graphics.drawable.Drawable public void draw(Canvas canvas) { preDraw(canvas); super.draw(canvas); postDraw(canvas); } @Override // com.google.android.material.shape.MaterialShapeDrawable protected void drawStrokeShape(Canvas canvas) { super.drawStrokeShape(canvas); canvas.drawRect(this.drawableState.cutoutBounds, getCutoutPaint()); } private Paint getCutoutPaint() { if (this.cutoutPaint == null) { Paint paint = new Paint(1); this.cutoutPaint = paint; paint.setStyle(Paint.Style.FILL_AND_STROKE); this.cutoutPaint.setColor(-1); this.cutoutPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); } return this.cutoutPaint; } private void preDraw(Canvas canvas) { Drawable.Callback callback = getCallback(); if (useHardwareLayer(callback)) { View view = (View) callback; if (view.getLayerType() != 2) { view.setLayerType(2, null); return; } return; } saveCanvasLayer(canvas); } private void saveCanvasLayer(Canvas canvas) { this.savedLayer = canvas.saveLayer(0.0f, 0.0f, canvas.getWidth(), canvas.getHeight(), null); } private void postDraw(Canvas canvas) { if (useHardwareLayer(getCallback())) { return; } canvas.restoreToCount(this.savedLayer); } private boolean useHardwareLayer(Drawable.Callback callback) { return callback instanceof View; } } private static final class CutoutDrawableState extends MaterialShapeDrawable.MaterialShapeDrawableState { private final RectF cutoutBounds; private CutoutDrawableState(ShapeAppearanceModel shapeAppearanceModel, RectF rectF) { super(shapeAppearanceModel, null); this.cutoutBounds = rectF; } private CutoutDrawableState(CutoutDrawableState cutoutDrawableState) { super(cutoutDrawableState); this.cutoutBounds = cutoutDrawableState.cutoutBounds; } @Override // com.google.android.material.shape.MaterialShapeDrawable.MaterialShapeDrawableState, android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable() { CutoutDrawable create = CutoutDrawable.create(this); create.invalidateSelf(); return create; } } }