* Decompile and recreate Soul Browser v1.4.85 with APK CI builds Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix CI build: include bundled google.jks and remove PR trigger The apktool build failed in CI because app/unknown/.../google.jks was excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files and commit the missing resource. Also remove the redundant pull_request workflow trigger. Co-authored-by: KaKi87 <KaKi87@pm.me> * Change package ID to com.github.kaki87.soulbrowser Rename the application ID so the rebuilt APK can be installed alongside the original Soul Browser from Google Play. - Update AndroidManifest package, permissions, providers, and actions - Update R class references in smali (com/github/kaki87/soulbrowser/R) - Update shortcuts.xml targetPackage - Rename app label to "Soul Rebuild" for easy identification Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix install compatibility: remove split APK metadata and bundle native libs The rebuilt APK still declared requiredSplitTypes and Play Store split metadata, causing Android to reject standalone installs as incompatible. - Remove requiredSplitTypes and split-related manifest meta-data - Merge native libs from all ABI splits with uncompressed storage - Page-align before signing for extractNativeLibs=false - Add .so to apktool doNotCompress list Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix install failure: use apksigner v2/v3 and bundle arm64 native libs Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only produces v1 signatures, causing Android to reject the install. - Sign with apksigner (v1+v2+v3) instead of jarsigner - Add arm64-v8a native libraries from universal Soul Browser 1.4.79 - Set extractNativeLibs=true for reliable sideload installs - Commit stable debug keystore for consistent signatures across builds Co-authored-by: KaKi87 <KaKi87@pm.me> * Add committed debug keystore for consistent APK signatures Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix startup crash: use original classes2.dex desugar libraries Apktool recompiles smali_classes2 into a broken classes2.dex, causing ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init. Inject the original classes2.dex (Java 8+ desugar libs) after apktool build instead of using the recompiled version. Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix missing drawable resources from density split APKs The base APK is an app bundle module; density-specific drawables like seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild, causing Resources$NotFoundException at runtime. - Merge non-9-patch resources from split APKs before apktool build - Sync public.xml IDs from R smali only when backing files exist - Add 713 density-specific resource IDs to public.xml Co-authored-by: KaKi87 <KaKi87@pm.me> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
774 lines
24 KiB
Java
774 lines
24 KiB
Java
package com.google.android.material.floatingactionbutton;
|
|
|
|
import android.animation.Animator;
|
|
import android.content.Context;
|
|
import android.content.res.ColorStateList;
|
|
import android.content.res.Resources;
|
|
import android.content.res.TypedArray;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.Rect;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.os.Bundle;
|
|
import android.os.Parcelable;
|
|
import android.util.AttributeSet;
|
|
import android.util.Log;
|
|
import android.view.MotionEvent;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.annotation.AnimatorRes;
|
|
import androidx.annotation.ColorInt;
|
|
import androidx.annotation.DimenRes;
|
|
import androidx.annotation.DrawableRes;
|
|
import androidx.annotation.IdRes;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.Px;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.annotation.VisibleForTesting;
|
|
import androidx.appcompat.widget.AppCompatDrawableManager;
|
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
|
import androidx.core.view.TintableBackgroundView;
|
|
import androidx.core.widget.TintableImageSourceView;
|
|
import com.google.android.material.R;
|
|
import com.google.android.material.animation.MotionSpec;
|
|
import com.google.android.material.appbar.AppBarLayout;
|
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
|
import com.google.android.material.expandable.ExpandableTransformationWidget;
|
|
import com.google.android.material.floatingactionbutton.FloatingActionButtonImpl;
|
|
import com.google.android.material.internal.DescendantOffsetUtils;
|
|
import com.google.android.material.internal.VisibilityAwareImageButton;
|
|
import com.google.android.material.shadow.ShadowViewDelegate;
|
|
import com.google.android.material.shape.ShapeAppearanceModel;
|
|
import com.google.android.material.shape.Shapeable;
|
|
import com.google.android.material.stateful.ExtendableSavedState;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.util.ArrayList;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class FloatingActionButton extends VisibilityAwareImageButton implements TintableBackgroundView, TintableImageSourceView, ExpandableTransformationWidget, Shapeable, CoordinatorLayout.AttachedBehavior {
|
|
public ColorStateList f;
|
|
public PorterDuff.Mode g;
|
|
public ColorStateList h;
|
|
public PorterDuff.Mode i;
|
|
public ColorStateList j;
|
|
public int k;
|
|
public int l;
|
|
public boolean m;
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* renamed from: com.google.android.material.floatingactionbutton.FloatingActionButton$1, reason: invalid class name */
|
|
/* loaded from: classes3.dex */
|
|
public class AnonymousClass1 implements FloatingActionButtonImpl.InternalVisibilityChangedListener {
|
|
|
|
/* renamed from: a, reason: collision with root package name */
|
|
public final /* synthetic */ OnVisibilityChangedListener f11793a;
|
|
|
|
public AnonymousClass1(OnVisibilityChangedListener onVisibilityChangedListener) {
|
|
this.f11793a = onVisibilityChangedListener;
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl.InternalVisibilityChangedListener
|
|
public final void a() {
|
|
this.f11793a.b();
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl.InternalVisibilityChangedListener
|
|
public final void b() {
|
|
this.f11793a.a(FloatingActionButton.this);
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public static class Behavior extends BaseBehavior<FloatingActionButton> {
|
|
public Behavior() {
|
|
}
|
|
|
|
public Behavior(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class ShadowDelegateImpl implements ShadowViewDelegate {
|
|
}
|
|
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
@RestrictTo
|
|
/* loaded from: classes3.dex */
|
|
public @interface Size {
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class TransformationCallbackWrapper<T extends FloatingActionButton> implements FloatingActionButtonImpl.InternalTransformationCallback {
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl.InternalTransformationCallback
|
|
public final void a() {
|
|
throw null;
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl.InternalTransformationCallback
|
|
public final void b() {
|
|
throw null;
|
|
}
|
|
|
|
public final boolean equals(Object obj) {
|
|
if (!(obj instanceof TransformationCallbackWrapper)) {
|
|
return false;
|
|
}
|
|
throw null;
|
|
}
|
|
|
|
public final int hashCode() {
|
|
throw null;
|
|
}
|
|
}
|
|
|
|
private FloatingActionButtonImpl getImpl() {
|
|
return null;
|
|
}
|
|
|
|
@Override // com.google.android.material.expandable.ExpandableWidget
|
|
public final boolean a() {
|
|
throw null;
|
|
}
|
|
|
|
public final void b() {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.o == null) {
|
|
impl.o = new ArrayList();
|
|
}
|
|
impl.o.add(null);
|
|
}
|
|
|
|
public final void c(Animator.AnimatorListener animatorListener) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.n == null) {
|
|
impl.n = new ArrayList();
|
|
}
|
|
impl.n.add(animatorListener);
|
|
}
|
|
|
|
public final void d() {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
Object obj = new Object();
|
|
if (impl.p == null) {
|
|
impl.p = new ArrayList();
|
|
}
|
|
impl.p.add(obj);
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public final void drawableStateChanged() {
|
|
super.drawableStateChanged();
|
|
}
|
|
|
|
public final int e(int i) {
|
|
int i2 = this.l;
|
|
if (i2 != 0) {
|
|
return i2;
|
|
}
|
|
Resources resources = getResources();
|
|
if (i != -1) {
|
|
if (i != 1) {
|
|
return resources.getDimensionPixelSize(R.dimen.design_fab_size_normal);
|
|
}
|
|
return resources.getDimensionPixelSize(R.dimen.design_fab_size_mini);
|
|
}
|
|
if (Math.max(resources.getConfiguration().screenWidthDp, resources.getConfiguration().screenHeightDp) < 470) {
|
|
return e(1);
|
|
}
|
|
return e(0);
|
|
}
|
|
|
|
public final void f(OnVisibilityChangedListener onVisibilityChangedListener, boolean z) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (onVisibilityChangedListener != null) {
|
|
new AnonymousClass1(onVisibilityChangedListener);
|
|
}
|
|
impl.getClass();
|
|
throw null;
|
|
}
|
|
|
|
public final boolean g() {
|
|
getImpl().getClass();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.widget.ImageButton, android.widget.ImageView, android.view.View
|
|
public CharSequence getAccessibilityClassName() {
|
|
return "com.google.android.material.floatingactionbutton.FloatingActionButton";
|
|
}
|
|
|
|
@Override // android.view.View
|
|
@Nullable
|
|
public ColorStateList getBackgroundTintList() {
|
|
return this.f;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
@Nullable
|
|
public PorterDuff.Mode getBackgroundTintMode() {
|
|
return this.g;
|
|
}
|
|
|
|
@Override // androidx.coordinatorlayout.widget.CoordinatorLayout.AttachedBehavior
|
|
@NonNull
|
|
public CoordinatorLayout.Behavior<FloatingActionButton> getBehavior() {
|
|
return new Behavior();
|
|
}
|
|
|
|
public float getCompatElevation() {
|
|
getImpl().getClass();
|
|
throw null;
|
|
}
|
|
|
|
public float getCompatHoveredFocusedTranslationZ() {
|
|
return getImpl().e;
|
|
}
|
|
|
|
public float getCompatPressedTranslationZ() {
|
|
return getImpl().f;
|
|
}
|
|
|
|
@Nullable
|
|
public Drawable getContentBackground() {
|
|
getImpl().getClass();
|
|
return null;
|
|
}
|
|
|
|
@Px
|
|
public int getCustomSize() {
|
|
return this.l;
|
|
}
|
|
|
|
public int getExpandedComponentIdHint() {
|
|
throw null;
|
|
}
|
|
|
|
@Nullable
|
|
public MotionSpec getHideMotionSpec() {
|
|
return getImpl().j;
|
|
}
|
|
|
|
@ColorInt
|
|
@Deprecated
|
|
public int getRippleColor() {
|
|
ColorStateList colorStateList = this.j;
|
|
if (colorStateList != null) {
|
|
return colorStateList.getDefaultColor();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
@Nullable
|
|
public ColorStateList getRippleColorStateList() {
|
|
return this.j;
|
|
}
|
|
|
|
@Override // com.google.android.material.shape.Shapeable
|
|
@NonNull
|
|
public ShapeAppearanceModel getShapeAppearanceModel() {
|
|
ShapeAppearanceModel shapeAppearanceModel = getImpl().f11795a;
|
|
shapeAppearanceModel.getClass();
|
|
return shapeAppearanceModel;
|
|
}
|
|
|
|
@Nullable
|
|
public MotionSpec getShowMotionSpec() {
|
|
return getImpl().i;
|
|
}
|
|
|
|
public int getSize() {
|
|
return this.k;
|
|
}
|
|
|
|
public int getSizeDimension() {
|
|
return e(this.k);
|
|
}
|
|
|
|
@Nullable
|
|
public ColorStateList getSupportBackgroundTintList() {
|
|
return getBackgroundTintList();
|
|
}
|
|
|
|
@Nullable
|
|
public PorterDuff.Mode getSupportBackgroundTintMode() {
|
|
return getBackgroundTintMode();
|
|
}
|
|
|
|
@Nullable
|
|
public ColorStateList getSupportImageTintList() {
|
|
return this.h;
|
|
}
|
|
|
|
@Nullable
|
|
public PorterDuff.Mode getSupportImageTintMode() {
|
|
return this.i;
|
|
}
|
|
|
|
public boolean getUseCompatPadding() {
|
|
return this.m;
|
|
}
|
|
|
|
public final boolean h() {
|
|
getImpl().getClass();
|
|
throw null;
|
|
}
|
|
|
|
public final void i() {
|
|
Drawable drawable = getDrawable();
|
|
if (drawable == null) {
|
|
return;
|
|
}
|
|
ColorStateList colorStateList = this.h;
|
|
if (colorStateList == null) {
|
|
drawable.clearColorFilter();
|
|
return;
|
|
}
|
|
int colorForState = colorStateList.getColorForState(getDrawableState(), 0);
|
|
PorterDuff.Mode mode = this.i;
|
|
if (mode == null) {
|
|
mode = PorterDuff.Mode.SRC_IN;
|
|
}
|
|
drawable.mutate().setColorFilter(AppCompatDrawableManager.c(colorForState, mode));
|
|
}
|
|
|
|
public final void j(OnVisibilityChangedListener onVisibilityChangedListener, boolean z) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (onVisibilityChangedListener != null) {
|
|
new AnonymousClass1(onVisibilityChangedListener);
|
|
}
|
|
impl.getClass();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public final void onAttachedToWindow() {
|
|
super.onAttachedToWindow();
|
|
getImpl().getClass();
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public final void onDetachedFromWindow() {
|
|
super.onDetachedFromWindow();
|
|
getImpl().getClass();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public final void onMeasure(int i, int i2) {
|
|
getSizeDimension();
|
|
getImpl().g();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public final void onRestoreInstanceState(Parcelable parcelable) {
|
|
if (!(parcelable instanceof ExtendableSavedState)) {
|
|
super.onRestoreInstanceState(parcelable);
|
|
return;
|
|
}
|
|
ExtendableSavedState extendableSavedState = (ExtendableSavedState) parcelable;
|
|
super.onRestoreInstanceState(extendableSavedState.f936c);
|
|
((Bundle) extendableSavedState.g.get("expandableWidgetHelper")).getClass();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public final Parcelable onSaveInstanceState() {
|
|
Parcelable onSaveInstanceState = super.onSaveInstanceState();
|
|
if (onSaveInstanceState == null) {
|
|
onSaveInstanceState = new Bundle();
|
|
}
|
|
new ExtendableSavedState(onSaveInstanceState);
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public final boolean onTouchEvent(MotionEvent motionEvent) {
|
|
if (motionEvent.getAction() != 0) {
|
|
return super.onTouchEvent(motionEvent);
|
|
}
|
|
getMeasuredWidth();
|
|
getMeasuredHeight();
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundColor(int i) {
|
|
Log.i("FloatingActionButton", "Setting a custom background is not supported.");
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundDrawable(Drawable drawable) {
|
|
Log.i("FloatingActionButton", "Setting a custom background is not supported.");
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundResource(int i) {
|
|
Log.i("FloatingActionButton", "Setting a custom background is not supported.");
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundTintList(@Nullable ColorStateList colorStateList) {
|
|
if (this.f != colorStateList) {
|
|
this.f = colorStateList;
|
|
getImpl().getClass();
|
|
}
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundTintMode(@Nullable PorterDuff.Mode mode) {
|
|
if (this.g != mode) {
|
|
this.g = mode;
|
|
getImpl().getClass();
|
|
}
|
|
}
|
|
|
|
public void setCompatElevation(float f) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.d != f) {
|
|
impl.d = f;
|
|
impl.e(f, impl.e, impl.f);
|
|
}
|
|
}
|
|
|
|
public void setCompatElevationResource(@DimenRes int i) {
|
|
setCompatElevation(getResources().getDimension(i));
|
|
}
|
|
|
|
public void setCompatHoveredFocusedTranslationZ(float f) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.e != f) {
|
|
impl.e = f;
|
|
impl.e(impl.d, f, impl.f);
|
|
}
|
|
}
|
|
|
|
public void setCompatHoveredFocusedTranslationZResource(@DimenRes int i) {
|
|
setCompatHoveredFocusedTranslationZ(getResources().getDimension(i));
|
|
}
|
|
|
|
public void setCompatPressedTranslationZ(float f) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.f != f) {
|
|
impl.f = f;
|
|
impl.e(impl.d, impl.e, f);
|
|
}
|
|
}
|
|
|
|
public void setCompatPressedTranslationZResource(@DimenRes int i) {
|
|
setCompatPressedTranslationZ(getResources().getDimension(i));
|
|
}
|
|
|
|
public void setCustomSize(@Px int i) {
|
|
if (i >= 0) {
|
|
if (i != this.l) {
|
|
this.l = i;
|
|
requestLayout();
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
throw new IllegalArgumentException("Custom size must be non-negative");
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setElevation(float f) {
|
|
super.setElevation(f);
|
|
getImpl().getClass();
|
|
}
|
|
|
|
public void setEnsureMinTouchTargetSize(boolean z) {
|
|
if (z != getImpl().b) {
|
|
getImpl().b = z;
|
|
requestLayout();
|
|
}
|
|
}
|
|
|
|
public void setExpandedComponentIdHint(@IdRes int i) {
|
|
throw null;
|
|
}
|
|
|
|
public void setHideMotionSpec(@Nullable MotionSpec motionSpec) {
|
|
getImpl().j = motionSpec;
|
|
}
|
|
|
|
public void setHideMotionSpecResource(@AnimatorRes int i) {
|
|
setHideMotionSpec(MotionSpec.a(getContext(), i));
|
|
}
|
|
|
|
@Override // android.widget.ImageView
|
|
public void setImageDrawable(@Nullable Drawable drawable) {
|
|
if (getDrawable() == drawable) {
|
|
return;
|
|
}
|
|
super.setImageDrawable(drawable);
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
float f = impl.k;
|
|
impl.k = f;
|
|
impl.a(f, null);
|
|
throw null;
|
|
}
|
|
|
|
@Override // android.widget.ImageView
|
|
public void setImageResource(@DrawableRes int i) {
|
|
throw null;
|
|
}
|
|
|
|
public void setMaxImageSize(int i) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
if (impl.l == i) {
|
|
return;
|
|
}
|
|
impl.l = i;
|
|
float f = impl.k;
|
|
impl.k = f;
|
|
impl.a(f, null);
|
|
throw null;
|
|
}
|
|
|
|
public void setRippleColor(@ColorInt int i) {
|
|
setRippleColor(ColorStateList.valueOf(i));
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setScaleX(float f) {
|
|
super.setScaleX(f);
|
|
ArrayList arrayList = getImpl().p;
|
|
if (arrayList != null) {
|
|
int size = arrayList.size();
|
|
int i = 0;
|
|
while (i < size) {
|
|
Object obj = arrayList.get(i);
|
|
i++;
|
|
((FloatingActionButtonImpl.InternalTransformationCallback) obj).b();
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setScaleY(float f) {
|
|
super.setScaleY(f);
|
|
ArrayList arrayList = getImpl().p;
|
|
if (arrayList != null) {
|
|
int size = arrayList.size();
|
|
int i = 0;
|
|
while (i < size) {
|
|
Object obj = arrayList.get(i);
|
|
i++;
|
|
((FloatingActionButtonImpl.InternalTransformationCallback) obj).b();
|
|
}
|
|
}
|
|
}
|
|
|
|
@RestrictTo
|
|
@VisibleForTesting
|
|
public void setShadowPaddingEnabled(boolean z) {
|
|
FloatingActionButtonImpl impl = getImpl();
|
|
impl.f11796c = z;
|
|
impl.g();
|
|
throw null;
|
|
}
|
|
|
|
@Override // com.google.android.material.shape.Shapeable
|
|
public void setShapeAppearanceModel(@NonNull ShapeAppearanceModel shapeAppearanceModel) {
|
|
getImpl().f11795a = shapeAppearanceModel;
|
|
}
|
|
|
|
public void setShowMotionSpec(@Nullable MotionSpec motionSpec) {
|
|
getImpl().i = motionSpec;
|
|
}
|
|
|
|
public void setShowMotionSpecResource(@AnimatorRes int i) {
|
|
setShowMotionSpec(MotionSpec.a(getContext(), i));
|
|
}
|
|
|
|
public void setSize(int i) {
|
|
this.l = 0;
|
|
if (i != this.k) {
|
|
this.k = i;
|
|
requestLayout();
|
|
}
|
|
}
|
|
|
|
public void setSupportBackgroundTintList(@Nullable ColorStateList colorStateList) {
|
|
setBackgroundTintList(colorStateList);
|
|
}
|
|
|
|
public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode mode) {
|
|
setBackgroundTintMode(mode);
|
|
}
|
|
|
|
public void setSupportImageTintList(@Nullable ColorStateList colorStateList) {
|
|
if (this.h != colorStateList) {
|
|
this.h = colorStateList;
|
|
i();
|
|
}
|
|
}
|
|
|
|
public void setSupportImageTintMode(@Nullable PorterDuff.Mode mode) {
|
|
if (this.i != mode) {
|
|
this.i = mode;
|
|
i();
|
|
}
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setTranslationX(float f) {
|
|
super.setTranslationX(f);
|
|
getImpl().f();
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setTranslationY(float f) {
|
|
super.setTranslationY(f);
|
|
getImpl().f();
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setTranslationZ(float f) {
|
|
super.setTranslationZ(f);
|
|
getImpl().f();
|
|
}
|
|
|
|
public void setUseCompatPadding(boolean z) {
|
|
if (this.m == z) {
|
|
return;
|
|
}
|
|
this.m = z;
|
|
getImpl().g();
|
|
throw null;
|
|
}
|
|
|
|
@Override // com.google.android.material.internal.VisibilityAwareImageButton, android.widget.ImageView, android.view.View
|
|
public void setVisibility(int i) {
|
|
super.setVisibility(i);
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public static class BaseBehavior<T extends FloatingActionButton> extends CoordinatorLayout.Behavior<T> {
|
|
|
|
/* renamed from: c, reason: collision with root package name */
|
|
public Rect f11794c;
|
|
public final boolean f;
|
|
|
|
public BaseBehavior() {
|
|
this.f = true;
|
|
}
|
|
|
|
@Override // androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior
|
|
public final boolean g(View view) {
|
|
((FloatingActionButton) view).getLeft();
|
|
throw null;
|
|
}
|
|
|
|
@Override // androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior
|
|
public final void i(CoordinatorLayout.LayoutParams layoutParams) {
|
|
if (layoutParams.h == 0) {
|
|
layoutParams.h = 80;
|
|
}
|
|
}
|
|
|
|
@Override // androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior
|
|
public final boolean j(CoordinatorLayout coordinatorLayout, View view, View view2) {
|
|
boolean z;
|
|
FloatingActionButton floatingActionButton = (FloatingActionButton) view;
|
|
if (view2 instanceof AppBarLayout) {
|
|
y(coordinatorLayout, (AppBarLayout) view2, floatingActionButton);
|
|
} else {
|
|
ViewGroup.LayoutParams layoutParams = view2.getLayoutParams();
|
|
if (layoutParams instanceof CoordinatorLayout.LayoutParams) {
|
|
z = ((CoordinatorLayout.LayoutParams) layoutParams).f610a instanceof BottomSheetBehavior;
|
|
} else {
|
|
z = false;
|
|
}
|
|
if (z) {
|
|
z(view2, floatingActionButton);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override // androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior
|
|
public final boolean n(CoordinatorLayout coordinatorLayout, View view, int i) {
|
|
boolean z;
|
|
FloatingActionButton floatingActionButton = (FloatingActionButton) view;
|
|
ArrayList d = coordinatorLayout.d(floatingActionButton);
|
|
int size = d.size();
|
|
for (int i2 = 0; i2 < size; i2++) {
|
|
View view2 = (View) d.get(i2);
|
|
if (view2 instanceof AppBarLayout) {
|
|
if (y(coordinatorLayout, (AppBarLayout) view2, floatingActionButton)) {
|
|
break;
|
|
}
|
|
} else {
|
|
ViewGroup.LayoutParams layoutParams = view2.getLayoutParams();
|
|
if (layoutParams instanceof CoordinatorLayout.LayoutParams) {
|
|
z = ((CoordinatorLayout.LayoutParams) layoutParams).f610a instanceof BottomSheetBehavior;
|
|
} else {
|
|
z = false;
|
|
}
|
|
if (z && z(view2, floatingActionButton)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
coordinatorLayout.q(floatingActionButton, i);
|
|
throw null;
|
|
}
|
|
|
|
public final boolean y(CoordinatorLayout coordinatorLayout, AppBarLayout appBarLayout, FloatingActionButton floatingActionButton) {
|
|
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) floatingActionButton.getLayoutParams();
|
|
if (!this.f || layoutParams.f != appBarLayout.getId() || floatingActionButton.getUserSetVisibility() != 0) {
|
|
return false;
|
|
}
|
|
if (this.f11794c == null) {
|
|
this.f11794c = new Rect();
|
|
}
|
|
Rect rect = this.f11794c;
|
|
DescendantOffsetUtils.a(coordinatorLayout, appBarLayout, rect);
|
|
if (rect.bottom <= appBarLayout.getMinimumHeightForVisibleOverlappingContent()) {
|
|
floatingActionButton.f(null, false);
|
|
return true;
|
|
}
|
|
floatingActionButton.j(null, false);
|
|
return true;
|
|
}
|
|
|
|
public final boolean z(View view, FloatingActionButton floatingActionButton) {
|
|
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) floatingActionButton.getLayoutParams();
|
|
if (!this.f || layoutParams.f != view.getId() || floatingActionButton.getUserSetVisibility() != 0) {
|
|
return false;
|
|
}
|
|
if (view.getTop() < (floatingActionButton.getHeight() / 2) + ((ViewGroup.MarginLayoutParams) ((CoordinatorLayout.LayoutParams) floatingActionButton.getLayoutParams())).topMargin) {
|
|
floatingActionButton.f(null, false);
|
|
return true;
|
|
}
|
|
floatingActionButton.j(null, false);
|
|
return true;
|
|
}
|
|
|
|
public BaseBehavior(Context context, AttributeSet attributeSet) {
|
|
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.FloatingActionButton_Behavior_Layout);
|
|
this.f = obtainStyledAttributes.getBoolean(R.styleable.FloatingActionButton_Behavior_Layout_behavior_autoHide, true);
|
|
obtainStyledAttributes.recycle();
|
|
}
|
|
}
|
|
|
|
public void setRippleColor(@Nullable ColorStateList colorStateList) {
|
|
if (this.j != colorStateList) {
|
|
this.j = colorStateList;
|
|
getImpl().getClass();
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public static abstract class OnVisibilityChangedListener {
|
|
public void a(FloatingActionButton floatingActionButton) {
|
|
}
|
|
|
|
public void b() {
|
|
}
|
|
}
|
|
}
|