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,70 @@
package com.google.android.material.internal;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
/* loaded from: classes3.dex */
public class BaselineLayout extends ViewGroup {
/* renamed from: a, reason: collision with root package name */
public int f5716a;
public BaselineLayout(Context context, AttributeSet attributeSet) {
super(context, attributeSet, 0);
this.f5716a = -1;
}
@Override // android.view.View
public int getBaseline() {
return this.f5716a;
}
@Override // android.view.ViewGroup, android.view.View
public final void onLayout(boolean z3, int i, int i4, int i5, int i6) {
int childCount = getChildCount();
int paddingLeft = getPaddingLeft();
int paddingRight = ((i5 - i) - getPaddingRight()) - paddingLeft;
int paddingTop = getPaddingTop();
for (int i7 = 0; i7 < childCount; i7++) {
View childAt = getChildAt(i7);
if (childAt.getVisibility() != 8) {
int measuredWidth = childAt.getMeasuredWidth();
int measuredHeight = childAt.getMeasuredHeight();
int i8 = ((paddingRight - measuredWidth) / 2) + paddingLeft;
int baseline = (this.f5716a == -1 || childAt.getBaseline() == -1) ? paddingTop : (this.f5716a + paddingTop) - childAt.getBaseline();
childAt.layout(i8, baseline, measuredWidth + i8, measuredHeight + baseline);
}
}
}
@Override // android.view.View
public final void onMeasure(int i, int i4) {
int childCount = getChildCount();
int i5 = 0;
int i6 = 0;
int i7 = 0;
int i8 = -1;
int i9 = -1;
for (int i10 = 0; i10 < childCount; i10++) {
View childAt = getChildAt(i10);
if (childAt.getVisibility() != 8) {
measureChild(childAt, i, i4);
int baseline = childAt.getBaseline();
if (baseline != -1) {
i8 = Math.max(i8, baseline);
i9 = Math.max(i9, childAt.getMeasuredHeight() - baseline);
}
i6 = Math.max(i6, childAt.getMeasuredWidth());
i5 = Math.max(i5, childAt.getMeasuredHeight());
i7 = View.combineMeasuredStates(i7, childAt.getMeasuredState());
}
}
if (i8 != -1) {
i5 = Math.max(i5, Math.max(i9, getPaddingBottom()) + i8);
this.f5716a = i8;
}
setMeasuredDimension(View.resolveSizeAndState(Math.max(i6, getSuggestedMinimumWidth()), i, i7), View.resolveSizeAndState(Math.max(i5, getSuggestedMinimumHeight()), i4, i7 << 16));
}
}

View File

@@ -0,0 +1,98 @@
package com.google.android.material.internal;
import F0.g;
import O.X;
import W.b;
import android.R;
import android.content.Context;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Checkable;
import m.C0493w;
import x2.C0658a;
/* loaded from: classes3.dex */
public class CheckableImageButton extends C0493w implements Checkable {
/* renamed from: g, reason: collision with root package name */
public static final int[] f5717g = {R.attr.state_checked};
/* renamed from: d, reason: collision with root package name */
public boolean f5718d;
/* renamed from: e, reason: collision with root package name */
public boolean f5719e;
/* renamed from: f, reason: collision with root package name */
public boolean f5720f;
public CheckableImageButton(Context context, AttributeSet attributeSet) {
super(context, attributeSet, com.adif.elcanomovil.R.attr.imageButtonStyle);
this.f5719e = true;
this.f5720f = true;
X.j(this, new g(this, 5));
}
@Override // android.widget.Checkable
public final boolean isChecked() {
return this.f5718d;
}
@Override // android.widget.ImageView, android.view.View
public final int[] onCreateDrawableState(int i) {
return this.f5718d ? View.mergeDrawableStates(super.onCreateDrawableState(i + 1), f5717g) : super.onCreateDrawableState(i);
}
@Override // android.view.View
public final void onRestoreInstanceState(Parcelable parcelable) {
if (!(parcelable instanceof C0658a)) {
super.onRestoreInstanceState(parcelable);
return;
}
C0658a c0658a = (C0658a) parcelable;
super.onRestoreInstanceState(c0658a.f1880a);
setChecked(c0658a.f8888c);
}
/* JADX WARN: Type inference failed for: r1v0, types: [android.os.Parcelable, W.b, x2.a] */
@Override // android.view.View
public final Parcelable onSaveInstanceState() {
?? bVar = new b(super.onSaveInstanceState());
bVar.f8888c = this.f5718d;
return bVar;
}
public void setCheckable(boolean z3) {
if (this.f5719e != z3) {
this.f5719e = z3;
sendAccessibilityEvent(0);
}
}
@Override // android.widget.Checkable
public void setChecked(boolean z3) {
if (!this.f5719e || this.f5718d == z3) {
return;
}
this.f5718d = z3;
refreshDrawableState();
sendAccessibilityEvent(2048);
}
public void setPressable(boolean z3) {
this.f5720f = z3;
}
@Override // android.view.View
public void setPressed(boolean z3) {
if (this.f5720f) {
super.setPressed(z3);
}
}
@Override // android.widget.Checkable
public final void toggle() {
setChecked(!this.f5718d);
}
}

View File

@@ -0,0 +1,23 @@
package com.google.android.material.internal;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
/* loaded from: classes3.dex */
public class ClippableRoundedCornerLayout extends FrameLayout {
public ClippableRoundedCornerLayout(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
@Override // android.view.ViewGroup, android.view.View
public final void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
}
public float getCornerRadius() {
return BitmapDescriptorFactory.HUE_RED;
}
}

View File

@@ -0,0 +1,248 @@
package com.google.android.material.internal;
import F.j;
import F.q;
import F0.g;
import H.a;
import O.X;
import android.R;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
import android.widget.CheckedTextView;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import java.util.WeakHashMap;
import l.o;
import l.z;
import m.C0483q0;
import m.W0;
import x2.d;
/* loaded from: classes3.dex */
public class NavigationMenuItemView extends d implements z {
/* renamed from: G, reason: collision with root package name */
public static final int[] f5721G = {R.attr.state_checked};
/* renamed from: A, reason: collision with root package name */
public FrameLayout f5722A;
/* renamed from: B, reason: collision with root package name */
public o f5723B;
/* renamed from: C, reason: collision with root package name */
public ColorStateList f5724C;
/* renamed from: D, reason: collision with root package name */
public boolean f5725D;
/* renamed from: E, reason: collision with root package name */
public Drawable f5726E;
/* renamed from: F, reason: collision with root package name */
public final g f5727F;
/* renamed from: v, reason: collision with root package name */
public int f5728v;
/* renamed from: w, reason: collision with root package name */
public boolean f5729w;
/* renamed from: x, reason: collision with root package name */
public boolean f5730x;
/* renamed from: y, reason: collision with root package name */
public final boolean f5731y;
/* renamed from: z, reason: collision with root package name */
public final CheckedTextView f5732z;
public NavigationMenuItemView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
this.f5731y = true;
g gVar = new g(this, 6);
this.f5727F = gVar;
setOrientation(0);
LayoutInflater.from(context).inflate(com.adif.elcanomovil.R.layout.design_navigation_menu_item, (ViewGroup) this, true);
setIconSize(context.getResources().getDimensionPixelSize(com.adif.elcanomovil.R.dimen.design_navigation_icon_size));
CheckedTextView checkedTextView = (CheckedTextView) findViewById(com.adif.elcanomovil.R.id.design_menu_item_text);
this.f5732z = checkedTextView;
checkedTextView.setDuplicateParentStateEnabled(true);
X.j(checkedTextView, gVar);
}
private void setActionView(View view) {
if (view != null) {
if (this.f5722A == null) {
this.f5722A = (FrameLayout) ((ViewStub) findViewById(com.adif.elcanomovil.R.id.design_menu_item_action_area_stub)).inflate();
}
if (view.getParent() != null) {
((ViewGroup) view.getParent()).removeView(view);
}
this.f5722A.removeAllViews();
this.f5722A.addView(view);
}
}
@Override // l.z
public final void b(o oVar) {
StateListDrawable stateListDrawable;
this.f5723B = oVar;
int i = oVar.f7268a;
if (i > 0) {
setId(i);
}
setVisibility(oVar.isVisible() ? 0 : 8);
if (getBackground() == null) {
TypedValue typedValue = new TypedValue();
if (getContext().getTheme().resolveAttribute(com.adif.elcanomovil.R.attr.colorControlHighlight, typedValue, true)) {
stateListDrawable = new StateListDrawable();
stateListDrawable.addState(f5721G, new ColorDrawable(typedValue.data));
stateListDrawable.addState(ViewGroup.EMPTY_STATE_SET, new ColorDrawable(0));
} else {
stateListDrawable = null;
}
WeakHashMap weakHashMap = X.f1226a;
setBackground(stateListDrawable);
}
setCheckable(oVar.isCheckable());
setChecked(oVar.isChecked());
setEnabled(oVar.isEnabled());
setTitle(oVar.f7272e);
setIcon(oVar.getIcon());
setActionView(oVar.getActionView());
setContentDescription(oVar.f7281q);
W0.a(this, oVar.f7282r);
o oVar2 = this.f5723B;
CharSequence charSequence = oVar2.f7272e;
CheckedTextView checkedTextView = this.f5732z;
if (charSequence == null && oVar2.getIcon() == null && this.f5723B.getActionView() != null) {
checkedTextView.setVisibility(8);
FrameLayout frameLayout = this.f5722A;
if (frameLayout != null) {
C0483q0 c0483q0 = (C0483q0) frameLayout.getLayoutParams();
((LinearLayout.LayoutParams) c0483q0).width = -1;
this.f5722A.setLayoutParams(c0483q0);
return;
}
return;
}
checkedTextView.setVisibility(0);
FrameLayout frameLayout2 = this.f5722A;
if (frameLayout2 != null) {
C0483q0 c0483q02 = (C0483q0) frameLayout2.getLayoutParams();
((LinearLayout.LayoutParams) c0483q02).width = -2;
this.f5722A.setLayoutParams(c0483q02);
}
}
@Override // l.z
public o getItemData() {
return this.f5723B;
}
@Override // android.view.ViewGroup, android.view.View
public final int[] onCreateDrawableState(int i) {
int[] onCreateDrawableState = super.onCreateDrawableState(i + 1);
o oVar = this.f5723B;
if (oVar != null && oVar.isCheckable() && this.f5723B.isChecked()) {
View.mergeDrawableStates(onCreateDrawableState, f5721G);
}
return onCreateDrawableState;
}
public void setCheckable(boolean z3) {
refreshDrawableState();
if (this.f5730x != z3) {
this.f5730x = z3;
this.f5727F.h(this.f5732z, 2048);
}
}
public void setChecked(boolean z3) {
refreshDrawableState();
CheckedTextView checkedTextView = this.f5732z;
checkedTextView.setChecked(z3);
checkedTextView.setTypeface(checkedTextView.getTypeface(), (z3 && this.f5731y) ? 1 : 0);
}
public void setHorizontalPadding(int i) {
setPadding(i, getPaddingTop(), i, getPaddingBottom());
}
public void setIcon(Drawable drawable) {
if (drawable != null) {
if (this.f5725D) {
Drawable.ConstantState constantState = drawable.getConstantState();
if (constantState != null) {
drawable = constantState.newDrawable();
}
drawable = drawable.mutate();
a.h(drawable, this.f5724C);
}
int i = this.f5728v;
drawable.setBounds(0, 0, i, i);
} else if (this.f5729w) {
if (this.f5726E == null) {
Resources resources = getResources();
Resources.Theme theme = getContext().getTheme();
ThreadLocal threadLocal = q.f503a;
Drawable a2 = j.a(resources, com.adif.elcanomovil.R.drawable.navigation_empty_icon, theme);
this.f5726E = a2;
if (a2 != null) {
int i4 = this.f5728v;
a2.setBounds(0, 0, i4, i4);
}
}
drawable = this.f5726E;
}
this.f5732z.setCompoundDrawablesRelative(drawable, null, null, null);
}
public void setIconPadding(int i) {
this.f5732z.setCompoundDrawablePadding(i);
}
public void setIconSize(int i) {
this.f5728v = i;
}
public void setIconTintList(ColorStateList colorStateList) {
this.f5724C = colorStateList;
this.f5725D = colorStateList != null;
o oVar = this.f5723B;
if (oVar != null) {
setIcon(oVar.getIcon());
}
}
public void setMaxLines(int i) {
this.f5732z.setMaxLines(i);
}
public void setNeedsEmptyIcon(boolean z3) {
this.f5729w = z3;
}
public void setTextAppearance(int i) {
this.f5732z.setTextAppearance(i);
}
public void setTextColor(ColorStateList colorStateList) {
this.f5732z.setTextColor(colorStateList);
}
public void setTitle(CharSequence charSequence) {
this.f5732z.setText(charSequence);
}
}

View File

@@ -0,0 +1,24 @@
package com.google.android.material.internal;
import android.content.Context;
import android.util.AttributeSet;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import l.InterfaceC0418A;
import l.m;
/* loaded from: classes3.dex */
public class NavigationMenuView extends RecyclerView implements InterfaceC0418A {
public NavigationMenuView(Context context, AttributeSet attributeSet) {
super(context, attributeSet, 0);
setLayoutManager(new LinearLayoutManager(1));
}
@Override // l.InterfaceC0418A
public final void a(m mVar) {
}
public int getWindowAnimations() {
return 0;
}
}

View File

@@ -0,0 +1,32 @@
package com.google.android.material.internal;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;
/* loaded from: classes3.dex */
public class TouchObserverFrameLayout extends FrameLayout {
/* renamed from: a, reason: collision with root package name */
public View.OnTouchListener f5733a;
public TouchObserverFrameLayout(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
@Override // android.view.ViewGroup
public final boolean onInterceptTouchEvent(MotionEvent motionEvent) {
View.OnTouchListener onTouchListener = this.f5733a;
if (onTouchListener != null) {
onTouchListener.onTouch(this, motionEvent);
}
return super.onInterceptTouchEvent(motionEvent);
}
@Override // android.view.View
public void setOnTouchListener(View.OnTouchListener onTouchListener) {
this.f5733a = onTouchListener;
}
}