Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.

This commit is contained in:
2025-12-04 13:59:54 +01:00
parent f2fd1c3bf5
commit e0133d2ca2
10432 changed files with 1019085 additions and 1 deletions

View File

@@ -0,0 +1,196 @@
package com.google.android.material.appbar;
import android.content.Context;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import j2.AbstractC0403a;
/* loaded from: classes3.dex */
public class AppBarLayout$BaseBehavior<T> extends AbstractC0403a {
/* renamed from: b, reason: collision with root package name */
public boolean f5511b;
/* renamed from: d, reason: collision with root package name */
public int f5513d;
/* renamed from: f, reason: collision with root package name */
public VelocityTracker f5515f;
/* renamed from: c, reason: collision with root package name */
public int f5512c = -1;
/* renamed from: e, reason: collision with root package name */
public int f5514e = -1;
public AppBarLayout$BaseBehavior() {
}
@Override // A.b
public final boolean j(CoordinatorLayout coordinatorLayout, View view, MotionEvent motionEvent) {
int findPointerIndex;
if (this.f5514e < 0) {
this.f5514e = ViewConfiguration.get(coordinatorLayout.getContext()).getScaledTouchSlop();
}
if (motionEvent.getActionMasked() == 2 && this.f5511b) {
int i = this.f5512c;
if (i != -1 && (findPointerIndex = motionEvent.findPointerIndex(i)) != -1) {
int y3 = (int) motionEvent.getY(findPointerIndex);
if (Math.abs(y3 - this.f5513d) > this.f5514e) {
this.f5513d = y3;
return true;
}
}
return false;
}
if (motionEvent.getActionMasked() != 0) {
VelocityTracker velocityTracker = this.f5515f;
if (velocityTracker != null) {
velocityTracker.addMovement(motionEvent);
}
return false;
}
this.f5512c = -1;
motionEvent.getX();
motionEvent.getY();
throw new ClassCastException();
}
@Override // j2.AbstractC0403a, A.b
public final boolean k(CoordinatorLayout coordinatorLayout, View view, int i) {
throw new ClassCastException();
}
@Override // A.b
public final boolean l(CoordinatorLayout coordinatorLayout, View view, int i, int i4, int i5) {
throw new ClassCastException();
}
@Override // A.b
public final /* synthetic */ void n(CoordinatorLayout coordinatorLayout, View view, View view2, int i, int i4, int[] iArr, int i5) {
throw new ClassCastException();
}
@Override // A.b
public final void o(CoordinatorLayout coordinatorLayout, View view, int i, int i4, int i5, int[] iArr) {
throw new ClassCastException();
}
@Override // A.b
public final void q(View view, Parcelable parcelable) {
throw new ClassCastException();
}
@Override // A.b
public final Parcelable r(View view) {
throw new ClassCastException();
}
@Override // A.b
public final boolean s(View view, int i, int i4) {
throw new ClassCastException();
}
@Override // A.b
public final void t(View view, View view2, int i) {
throw new ClassCastException();
}
/* JADX WARN: Removed duplicated region for block: B:16:0x005c */
/* JADX WARN: Removed duplicated region for block: B:19:0x0063 A[RETURN] */
/* JADX WARN: Removed duplicated region for block: B:21:0x0064 A[RETURN] */
@Override // A.b
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final boolean u(android.view.View r6, android.view.MotionEvent r7) {
/*
r5 = this;
int r0 = r7.getActionMasked()
r1 = -1
r2 = 1
r3 = 0
if (r0 == r2) goto L46
r4 = 2
if (r0 == r4) goto L2d
r6 = 3
if (r0 == r6) goto L4a
r6 = 6
if (r0 == r6) goto L13
goto L58
L13:
int r6 = r7.getActionIndex()
if (r6 != 0) goto L1b
r6 = r2
goto L1c
L1b:
r6 = r3
L1c:
int r0 = r7.getPointerId(r6)
r5.f5512c = r0
float r6 = r7.getY(r6)
r0 = 1056964608(0x3f000000, float:0.5)
float r6 = r6 + r0
int r6 = (int) r6
r5.f5513d = r6
goto L58
L2d:
int r0 = r5.f5512c
int r0 = r7.findPointerIndex(r0)
if (r0 != r1) goto L36
goto L63
L36:
float r7 = r7.getY(r0)
int r7 = (int) r7
r5.f5513d = r7
r6.getClass()
java.lang.ClassCastException r5 = new java.lang.ClassCastException
r5.<init>()
throw r5
L46:
android.view.VelocityTracker r0 = r5.f5515f
if (r0 != 0) goto L65
L4a:
r5.f5511b = r3
r5.f5512c = r1
android.view.VelocityTracker r6 = r5.f5515f
if (r6 == 0) goto L58
r6.recycle()
r6 = 0
r5.f5515f = r6
L58:
android.view.VelocityTracker r6 = r5.f5515f
if (r6 == 0) goto L5f
r6.addMovement(r7)
L5f:
boolean r5 = r5.f5511b
if (r5 != 0) goto L64
L63:
return r3
L64:
return r2
L65:
r0.addMovement(r7)
android.view.VelocityTracker r7 = r5.f5515f
r0 = 1000(0x3e8, float:1.401E-42)
r7.computeCurrentVelocity(r0)
android.view.VelocityTracker r7 = r5.f5515f
int r5 = r5.f5512c
r7.getYVelocity(r5)
r6.getClass()
java.lang.ClassCastException r5 = new java.lang.ClassCastException
r5.<init>()
throw r5
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.material.appbar.AppBarLayout$BaseBehavior.u(android.view.View, android.view.MotionEvent):boolean");
}
public AppBarLayout$BaseBehavior(Context context, AttributeSet attributeSet) {
}
}

View File

@@ -0,0 +1,14 @@
package com.google.android.material.appbar;
import android.content.Context;
import android.util.AttributeSet;
/* loaded from: classes3.dex */
public class AppBarLayout$Behavior extends AppBarLayout$BaseBehavior<Object> {
public AppBarLayout$Behavior() {
}
public AppBarLayout$Behavior(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
}

View File

@@ -0,0 +1,82 @@
package com.google.android.material.appbar;
import A.b;
import A.e;
import O.X;
import a.AbstractC0106b;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import h2.AbstractC0379a;
import j2.AbstractC0403a;
import java.util.ArrayList;
import java.util.WeakHashMap;
/* loaded from: classes3.dex */
public class AppBarLayout$ScrollingViewBehavior extends AbstractC0403a {
/* renamed from: b, reason: collision with root package name */
public final int f5516b;
public AppBarLayout$ScrollingViewBehavior() {
new Rect();
new Rect();
}
public static void w(ArrayList arrayList) {
int size = arrayList.size();
for (int i = 0; i < size; i++) {
}
}
@Override // A.b
public final void f(View view) {
}
@Override // A.b
public boolean h(CoordinatorLayout coordinatorLayout, View view, View view2) {
b bVar = ((e) view2.getLayoutParams()).f9a;
if (bVar instanceof AppBarLayout$BaseBehavior) {
int bottom = view2.getBottom() - view.getTop();
((AppBarLayout$BaseBehavior) bVar).getClass();
int i = this.f5516b;
int d4 = bottom - (i == 0 ? 0 : AbstractC0106b.d((int) (BitmapDescriptorFactory.HUE_RED * i), 0, i));
WeakHashMap weakHashMap = X.f1226a;
view.offsetTopAndBottom(d4);
}
return false;
}
@Override // A.b
public final boolean l(CoordinatorLayout coordinatorLayout, View view, int i, int i4, int i5) {
int i6 = view.getLayoutParams().height;
if (i6 != -1 && i6 != -2) {
return false;
}
w(coordinatorLayout.j(view));
return false;
}
@Override // A.b
public final void p(CoordinatorLayout coordinatorLayout, View view) {
w(coordinatorLayout.j(view));
}
@Override // j2.AbstractC0403a
public final void v(CoordinatorLayout coordinatorLayout, View view, int i) {
w(coordinatorLayout.j(view));
coordinatorLayout.q(view, i);
}
public AppBarLayout$ScrollingViewBehavior(Context context, AttributeSet attributeSet) {
new Rect();
new Rect();
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, AbstractC0379a.f6776y);
this.f5516b = obtainStyledAttributes.getDimensionPixelSize(0, 0);
obtainStyledAttributes.recycle();
}
}

View File

@@ -0,0 +1,244 @@
package com.google.android.material.appbar;
import A.i;
import E2.g;
import K2.a;
import O.L;
import O.X;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Pair;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import com.adif.elcanomovil.R;
import h2.AbstractC0379a;
import java.util.ArrayList;
import java.util.Collections;
import java.util.WeakHashMap;
import m3.d;
import m3.l;
import x2.m;
/* loaded from: classes3.dex */
public class MaterialToolbar extends Toolbar {
/* renamed from: c0, reason: collision with root package name */
public static final ImageView.ScaleType[] f5517c0 = {ImageView.ScaleType.MATRIX, ImageView.ScaleType.FIT_XY, ImageView.ScaleType.FIT_START, ImageView.ScaleType.FIT_CENTER, ImageView.ScaleType.FIT_END, ImageView.ScaleType.CENTER, ImageView.ScaleType.CENTER_CROP, ImageView.ScaleType.CENTER_INSIDE};
/* renamed from: U, reason: collision with root package name */
public Integer f5518U;
/* renamed from: V, reason: collision with root package name */
public boolean f5519V;
/* renamed from: W, reason: collision with root package name */
public boolean f5520W;
/* renamed from: a0, reason: collision with root package name */
public ImageView.ScaleType f5521a0;
/* renamed from: b0, reason: collision with root package name */
public Boolean f5522b0;
public MaterialToolbar(Context context, AttributeSet attributeSet) {
super(a.a(context, attributeSet, R.attr.toolbarStyle, 2132018386), attributeSet, 0);
Context context2 = getContext();
TypedArray h = m.h(context2, attributeSet, AbstractC0379a.f6772u, R.attr.toolbarStyle, 2132018386, new int[0]);
if (h.hasValue(2)) {
setNavigationIconTint(h.getColor(2, -1));
}
this.f5519V = h.getBoolean(4, false);
this.f5520W = h.getBoolean(3, false);
int i = h.getInt(1, -1);
if (i >= 0) {
ImageView.ScaleType[] scaleTypeArr = f5517c0;
if (i < scaleTypeArr.length) {
this.f5521a0 = scaleTypeArr[i];
}
}
if (h.hasValue(0)) {
this.f5522b0 = Boolean.valueOf(h.getBoolean(0, false));
}
h.recycle();
Drawable background = getBackground();
ColorStateList valueOf = background == null ? ColorStateList.valueOf(0) : l.p(background);
if (valueOf != null) {
g gVar = new g();
gVar.j(valueOf);
gVar.h(context2);
WeakHashMap weakHashMap = X.f1226a;
gVar.i(L.i(this));
setBackground(gVar);
}
}
public ImageView.ScaleType getLogoScaleType() {
return this.f5521a0;
}
public Integer getNavigationIconTint() {
return this.f5518U;
}
@Override // androidx.appcompat.widget.Toolbar
public final void m(int i) {
Menu menu = getMenu();
boolean z3 = menu instanceof l.m;
if (z3) {
((l.m) menu).w();
}
super.m(i);
if (z3) {
((l.m) menu).v();
}
}
@Override // androidx.appcompat.widget.Toolbar, android.view.ViewGroup, android.view.View
public final void onAttachedToWindow() {
super.onAttachedToWindow();
Drawable background = getBackground();
if (background instanceof g) {
d.H(this, (g) background);
}
}
@Override // androidx.appcompat.widget.Toolbar, android.view.ViewGroup, android.view.View
public final void onLayout(boolean z3, int i, int i4, int i5, int i6) {
ImageView imageView;
Drawable drawable;
super.onLayout(z3, i, i4, i5, i6);
int i7 = 0;
ImageView imageView2 = null;
if (this.f5519V || this.f5520W) {
ArrayList f2 = m.f(this, getTitle());
boolean isEmpty = f2.isEmpty();
i iVar = m.f8967c;
TextView textView = isEmpty ? null : (TextView) Collections.min(f2, iVar);
ArrayList f4 = m.f(this, getSubtitle());
TextView textView2 = f4.isEmpty() ? null : (TextView) Collections.max(f4, iVar);
if (textView != null || textView2 != null) {
int measuredWidth = getMeasuredWidth();
int i8 = measuredWidth / 2;
int paddingLeft = getPaddingLeft();
int paddingRight = measuredWidth - getPaddingRight();
for (int i9 = 0; i9 < getChildCount(); i9++) {
View childAt = getChildAt(i9);
if (childAt.getVisibility() != 8 && childAt != textView && childAt != textView2) {
if (childAt.getRight() < i8 && childAt.getRight() > paddingLeft) {
paddingLeft = childAt.getRight();
}
if (childAt.getLeft() > i8 && childAt.getLeft() < paddingRight) {
paddingRight = childAt.getLeft();
}
}
}
Pair pair = new Pair(Integer.valueOf(paddingLeft), Integer.valueOf(paddingRight));
if (this.f5519V && textView != null) {
x(textView, pair);
}
if (this.f5520W && textView2 != null) {
x(textView2, pair);
}
}
}
Drawable logo = getLogo();
if (logo != null) {
while (true) {
if (i7 >= getChildCount()) {
break;
}
View childAt2 = getChildAt(i7);
if ((childAt2 instanceof ImageView) && (drawable = (imageView = (ImageView) childAt2).getDrawable()) != null && drawable.getConstantState() != null && drawable.getConstantState().equals(logo.getConstantState())) {
imageView2 = imageView;
break;
}
i7++;
}
}
if (imageView2 != null) {
Boolean bool = this.f5522b0;
if (bool != null) {
imageView2.setAdjustViewBounds(bool.booleanValue());
}
ImageView.ScaleType scaleType = this.f5521a0;
if (scaleType != null) {
imageView2.setScaleType(scaleType);
}
}
}
@Override // android.view.View
public void setElevation(float f2) {
super.setElevation(f2);
Drawable background = getBackground();
if (background instanceof g) {
((g) background).i(f2);
}
}
public void setLogoAdjustViewBounds(boolean z3) {
Boolean bool = this.f5522b0;
if (bool == null || bool.booleanValue() != z3) {
this.f5522b0 = Boolean.valueOf(z3);
requestLayout();
}
}
public void setLogoScaleType(ImageView.ScaleType scaleType) {
if (this.f5521a0 != scaleType) {
this.f5521a0 = scaleType;
requestLayout();
}
}
@Override // androidx.appcompat.widget.Toolbar
public void setNavigationIcon(Drawable drawable) {
if (drawable != null && this.f5518U != null) {
drawable = drawable.mutate();
H.a.g(drawable, this.f5518U.intValue());
}
super.setNavigationIcon(drawable);
}
public void setNavigationIconTint(int i) {
this.f5518U = Integer.valueOf(i);
Drawable navigationIcon = getNavigationIcon();
if (navigationIcon != null) {
setNavigationIcon(navigationIcon);
}
}
public void setSubtitleCentered(boolean z3) {
if (this.f5520W != z3) {
this.f5520W = z3;
requestLayout();
}
}
public void setTitleCentered(boolean z3) {
if (this.f5519V != z3) {
this.f5519V = z3;
requestLayout();
}
}
public final void x(TextView textView, Pair pair) {
int measuredWidth = getMeasuredWidth();
int measuredWidth2 = textView.getMeasuredWidth();
int i = (measuredWidth / 2) - (measuredWidth2 / 2);
int i4 = measuredWidth2 + i;
int max = Math.max(Math.max(((Integer) pair.first).intValue() - i, 0), Math.max(i4 - ((Integer) pair.second).intValue(), 0));
if (max > 0) {
i += max;
i4 -= max;
textView.measure(View.MeasureSpec.makeMeasureSpec(i4 - i, 1073741824), textView.getMeasuredHeightAndState());
}
textView.layout(i, textView.getTop(), i4, textView.getBottom());
}
}