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:
35
apk_decompiled/sources/T0/a.java
Normal file
35
apk_decompiled/sources/T0/a.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package T0;
|
||||
|
||||
import m3.l;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class a extends l {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final int f1631a;
|
||||
|
||||
public a(int i) {
|
||||
this.f1631a = i;
|
||||
if (i <= 0) {
|
||||
throw new IllegalArgumentException("px must be > 0.");
|
||||
}
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof a) {
|
||||
return this.f1631a == ((a) obj).f1631a;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f1631a;
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
return String.valueOf(this.f1631a);
|
||||
}
|
||||
}
|
||||
14
apk_decompiled/sources/T0/b.java
Normal file
14
apk_decompiled/sources/T0/b.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package T0;
|
||||
|
||||
import m3.l;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class b extends l {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public static final b f1632a = new Object();
|
||||
|
||||
public final String toString() {
|
||||
return "Dimension.Undefined";
|
||||
}
|
||||
}
|
||||
38
apk_decompiled/sources/T0/c.java
Normal file
38
apk_decompiled/sources/T0/c.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package T0;
|
||||
|
||||
import I0.m;
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class c implements i {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final Context f1633a;
|
||||
|
||||
public c(Context context) {
|
||||
this.f1633a = context;
|
||||
}
|
||||
|
||||
@Override // T0.i
|
||||
public final Object a(m mVar) {
|
||||
DisplayMetrics displayMetrics = this.f1633a.getResources().getDisplayMetrics();
|
||||
a aVar = new a(Math.max(displayMetrics.widthPixels, displayMetrics.heightPixels));
|
||||
return new h(aVar, aVar);
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof c) {
|
||||
return Intrinsics.areEqual(this.f1633a, ((c) obj).f1633a);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f1633a.hashCode();
|
||||
}
|
||||
}
|
||||
40
apk_decompiled/sources/T0/d.java
Normal file
40
apk_decompiled/sources/T0/d.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package T0;
|
||||
|
||||
import kotlin.enums.EnumEntries;
|
||||
import kotlin.enums.EnumEntriesKt;
|
||||
|
||||
/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */
|
||||
/* JADX WARN: Unknown enum class pattern. Please report as an issue! */
|
||||
/* loaded from: classes.dex */
|
||||
public final class d {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public static final d f1634a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public static final /* synthetic */ d[] f1635b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public static final /* synthetic */ EnumEntries f1636c;
|
||||
|
||||
/* JADX WARN: Type inference failed for: r0v0, types: [java.lang.Enum, T0.d] */
|
||||
/* JADX WARN: Type inference failed for: r1v1, types: [java.lang.Enum, T0.d] */
|
||||
/* JADX WARN: Type inference failed for: r2v2, types: [java.lang.Enum, T0.d] */
|
||||
static {
|
||||
?? r02 = new Enum("EXACT", 0);
|
||||
?? r12 = new Enum("INEXACT", 1);
|
||||
?? r22 = new Enum("AUTOMATIC", 2);
|
||||
f1634a = r22;
|
||||
d[] dVarArr = {r02, r12, r22};
|
||||
f1635b = dVarArr;
|
||||
f1636c = EnumEntriesKt.enumEntries(dVarArr);
|
||||
}
|
||||
|
||||
public static d valueOf(String str) {
|
||||
return (d) Enum.valueOf(d.class, str);
|
||||
}
|
||||
|
||||
public static d[] values() {
|
||||
return (d[]) f1635b.clone();
|
||||
}
|
||||
}
|
||||
28
apk_decompiled/sources/T0/e.java
Normal file
28
apk_decompiled/sources/T0/e.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package T0;
|
||||
|
||||
import I0.m;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class e implements i {
|
||||
@Override // T0.i
|
||||
public final Object a(m mVar) {
|
||||
return h.f1642c;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof e)) {
|
||||
return false;
|
||||
}
|
||||
((e) obj).getClass();
|
||||
h hVar = h.f1642c;
|
||||
return Intrinsics.areEqual(hVar, hVar);
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return h.f1642c.hashCode();
|
||||
}
|
||||
}
|
||||
85
apk_decompiled/sources/T0/f.java
Normal file
85
apk_decompiled/sources/T0/f.java
Normal file
@@ -0,0 +1,85 @@
|
||||
package T0;
|
||||
|
||||
import I0.m;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.ImageView;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlinx.coroutines.CancellableContinuationImpl;
|
||||
import m3.l;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class f implements i {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final ImageView f1637a;
|
||||
|
||||
public f(ImageView imageView) {
|
||||
this.f1637a = imageView;
|
||||
}
|
||||
|
||||
public static l b(int i, int i4, int i5) {
|
||||
if (i == -2) {
|
||||
return b.f1632a;
|
||||
}
|
||||
int i6 = i - i5;
|
||||
if (i6 > 0) {
|
||||
return new a(i6);
|
||||
}
|
||||
int i7 = i4 - i5;
|
||||
if (i7 > 0) {
|
||||
return new a(i7);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // T0.i
|
||||
public Object a(m mVar) {
|
||||
h c4 = c();
|
||||
if (c4 != null) {
|
||||
return c4;
|
||||
}
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(mVar), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
ViewTreeObserver viewTreeObserver = this.f1637a.getViewTreeObserver();
|
||||
k kVar = new k(this, viewTreeObserver, cancellableContinuationImpl);
|
||||
viewTreeObserver.addOnPreDrawListener(kVar);
|
||||
cancellableContinuationImpl.invokeOnCancellation(new j(this, viewTreeObserver, kVar, 0));
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(mVar);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public h c() {
|
||||
ImageView imageView = this.f1637a;
|
||||
ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
|
||||
l b4 = b(layoutParams != null ? layoutParams.width : -1, imageView.getWidth(), imageView.getPaddingRight() + imageView.getPaddingLeft());
|
||||
if (b4 == null) {
|
||||
return null;
|
||||
}
|
||||
ViewGroup.LayoutParams layoutParams2 = imageView.getLayoutParams();
|
||||
l b5 = b(layoutParams2 != null ? layoutParams2.height : -1, imageView.getHeight(), imageView.getPaddingBottom() + imageView.getPaddingTop());
|
||||
if (b5 == null) {
|
||||
return null;
|
||||
}
|
||||
return new h(b4, b5);
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof f) {
|
||||
return Intrinsics.areEqual(this.f1637a, ((f) obj).f1637a);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return Boolean.hashCode(true) + (this.f1637a.hashCode() * 31);
|
||||
}
|
||||
}
|
||||
42
apk_decompiled/sources/T0/g.java
Normal file
42
apk_decompiled/sources/T0/g.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package T0;
|
||||
|
||||
import kotlin.enums.EnumEntries;
|
||||
import kotlin.enums.EnumEntriesKt;
|
||||
|
||||
/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */
|
||||
/* JADX WARN: Unknown enum class pattern. Please report as an issue! */
|
||||
/* loaded from: classes.dex */
|
||||
public final class g {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public static final g f1638a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public static final g f1639b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public static final /* synthetic */ g[] f1640c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public static final /* synthetic */ EnumEntries f1641d;
|
||||
|
||||
/* JADX WARN: Type inference failed for: r0v0, types: [T0.g, java.lang.Enum] */
|
||||
/* JADX WARN: Type inference failed for: r1v1, types: [T0.g, java.lang.Enum] */
|
||||
static {
|
||||
?? r02 = new Enum("FILL", 0);
|
||||
f1638a = r02;
|
||||
?? r12 = new Enum("FIT", 1);
|
||||
f1639b = r12;
|
||||
g[] gVarArr = {r02, r12};
|
||||
f1640c = gVarArr;
|
||||
f1641d = EnumEntriesKt.enumEntries(gVarArr);
|
||||
}
|
||||
|
||||
public static g valueOf(String str) {
|
||||
return (g) Enum.valueOf(g.class, str);
|
||||
}
|
||||
|
||||
public static g[] values() {
|
||||
return (g[]) f1640c.clone();
|
||||
}
|
||||
}
|
||||
46
apk_decompiled/sources/T0/h.java
Normal file
46
apk_decompiled/sources/T0/h.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package T0;
|
||||
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import m3.l;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class h {
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public static final h f1642c;
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final l f1643a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final l f1644b;
|
||||
|
||||
static {
|
||||
b bVar = b.f1632a;
|
||||
f1642c = new h(bVar, bVar);
|
||||
}
|
||||
|
||||
public h(l lVar, l lVar2) {
|
||||
this.f1643a = lVar;
|
||||
this.f1644b = lVar2;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof h)) {
|
||||
return false;
|
||||
}
|
||||
h hVar = (h) obj;
|
||||
return Intrinsics.areEqual(this.f1643a, hVar.f1643a) && Intrinsics.areEqual(this.f1644b, hVar.f1644b);
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f1644b.hashCode() + (this.f1643a.hashCode() * 31);
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
return "Size(width=" + this.f1643a + ", height=" + this.f1644b + ')';
|
||||
}
|
||||
}
|
||||
8
apk_decompiled/sources/T0/i.java
Normal file
8
apk_decompiled/sources/T0/i.java
Normal file
@@ -0,0 +1,8 @@
|
||||
package T0;
|
||||
|
||||
import I0.m;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface i {
|
||||
Object a(m mVar);
|
||||
}
|
||||
114
apk_decompiled/sources/T0/j.java
Normal file
114
apk_decompiled/sources/T0/j.java
Normal file
@@ -0,0 +1,114 @@
|
||||
package T0;
|
||||
|
||||
import F.n;
|
||||
import Y.o;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.view.ViewTreeObserver;
|
||||
import androidx.lifecycle.m0;
|
||||
import androidx.lifecycle.n0;
|
||||
import com.adif.elcanomovil.commonNavGraph.arguments.BottomNavInitialTab;
|
||||
import com.adif.elcanomovil.commonNavGraph.arguments.ChildDirections;
|
||||
import com.adif.elcanomovil.databinding.FragmentBottomNavBinding;
|
||||
import com.adif.elcanomovil.main.BottomNavFragment;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.Lambda;
|
||||
import kotlinx.coroutines.channels.Channel;
|
||||
import kotlinx.coroutines.channels.ChannelResult;
|
||||
import o0.AbstractC0544v;
|
||||
import o0.C0537n;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class j extends Lambda implements Function1 {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f1645a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f1646b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f1647c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f1648d;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public /* synthetic */ j(Object obj, Object obj2, Object obj3, int i) {
|
||||
super(1);
|
||||
this.f1645a = i;
|
||||
this.f1646b = obj;
|
||||
this.f1647c = obj2;
|
||||
this.f1648d = obj3;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public final Object invoke(Object obj) {
|
||||
Unit unit;
|
||||
n0 n0Var;
|
||||
n0 n0Var2;
|
||||
switch (this.f1645a) {
|
||||
case 0:
|
||||
k kVar = (k) this.f1648d;
|
||||
ViewTreeObserver viewTreeObserver = (ViewTreeObserver) this.f1647c;
|
||||
f fVar = (f) this.f1646b;
|
||||
fVar.getClass();
|
||||
if (viewTreeObserver.isAlive()) {
|
||||
viewTreeObserver.removeOnPreDrawListener(kVar);
|
||||
} else {
|
||||
fVar.f1637a.getViewTreeObserver().removeOnPreDrawListener(kVar);
|
||||
}
|
||||
return Unit.INSTANCE;
|
||||
case 1:
|
||||
Throwable th = (Throwable) obj;
|
||||
((I1.b) this.f1646b).invoke(th);
|
||||
A.j jVar = (A.j) this.f1647c;
|
||||
((Channel) jVar.f29c).close(th);
|
||||
do {
|
||||
Object m1645getOrNullimpl = ChannelResult.m1645getOrNullimpl(((Channel) jVar.f29c).mo1635tryReceivePtdJZtk());
|
||||
if (m1645getOrNullimpl == null) {
|
||||
unit = null;
|
||||
} else {
|
||||
((o) this.f1648d).invoke(m1645getOrNullimpl, th);
|
||||
unit = Unit.INSTANCE;
|
||||
}
|
||||
} while (unit != null);
|
||||
return Unit.INSTANCE;
|
||||
case 2:
|
||||
BottomNavInitialTab it = (BottomNavInitialTab) obj;
|
||||
Intrinsics.checkNotNullParameter(it, "it");
|
||||
((FragmentBottomNavBinding) this.f1646b).bottomNavigationView.setSelectedItemId(it.getTabId());
|
||||
ChildDirections directions = it.getDirections();
|
||||
if (directions != null) {
|
||||
BottomNavFragment bottomNavFragment = (BottomNavFragment) this.f1647c;
|
||||
AbstractC0544v abstractC0544v = (AbstractC0544v) this.f1648d;
|
||||
BottomNavFragment.access$popExistingViewIfNeeded(bottomNavFragment, abstractC0544v, directions);
|
||||
new Handler(Looper.getMainLooper()).post(new n(4, abstractC0544v, directions));
|
||||
}
|
||||
return Unit.INSTANCE;
|
||||
default:
|
||||
if (obj != null) {
|
||||
((Function1) this.f1646b).invoke(obj);
|
||||
AbstractC0544v abstractC0544v2 = (AbstractC0544v) this.f1647c;
|
||||
C0537n c0537n = (C0537n) abstractC0544v2.f8054g.lastOrNull();
|
||||
String key = (String) this.f1648d;
|
||||
if (c0537n != null && (n0Var2 = (n0) c0537n.f8014l.getValue()) != null) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
n0Var2.f3404a.remove(key);
|
||||
m0 m0Var = (m0) n0Var2.f3406c.remove(key);
|
||||
if (m0Var != null) {
|
||||
m0Var.f3402m = null;
|
||||
}
|
||||
n0Var2.f3407d.remove(key);
|
||||
}
|
||||
C0537n k4 = abstractC0544v2.k();
|
||||
if (k4 != null && (n0Var = (n0) k4.f8014l.getValue()) != null) {
|
||||
n0Var.d(null, key);
|
||||
}
|
||||
}
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
}
|
||||
}
|
||||
46
apk_decompiled/sources/T0/k.java
Normal file
46
apk_decompiled/sources/T0/k.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package T0;
|
||||
|
||||
import android.view.ViewTreeObserver;
|
||||
import kotlin.Result;
|
||||
import kotlinx.coroutines.CancellableContinuationImpl;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class k implements ViewTreeObserver.OnPreDrawListener {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public boolean f1649a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ f f1650b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ ViewTreeObserver f1651c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final /* synthetic */ CancellableContinuationImpl f1652d;
|
||||
|
||||
public k(f fVar, ViewTreeObserver viewTreeObserver, CancellableContinuationImpl cancellableContinuationImpl) {
|
||||
this.f1650b = fVar;
|
||||
this.f1651c = viewTreeObserver;
|
||||
this.f1652d = cancellableContinuationImpl;
|
||||
}
|
||||
|
||||
@Override // android.view.ViewTreeObserver.OnPreDrawListener
|
||||
public final boolean onPreDraw() {
|
||||
f fVar = this.f1650b;
|
||||
h c4 = fVar.c();
|
||||
if (c4 != null) {
|
||||
ViewTreeObserver viewTreeObserver = this.f1651c;
|
||||
if (viewTreeObserver.isAlive()) {
|
||||
viewTreeObserver.removeOnPreDrawListener(this);
|
||||
} else {
|
||||
fVar.f1637a.getViewTreeObserver().removeOnPreDrawListener(this);
|
||||
}
|
||||
if (!this.f1649a) {
|
||||
this.f1649a = true;
|
||||
this.f1652d.resumeWith(Result.m116constructorimpl(c4));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user