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:
104
apk_decompiled/sources/F0/a.java
Normal file
104
apk_decompiled/sources/F0/a.java
Normal file
@@ -0,0 +1,104 @@
|
||||
package F0;
|
||||
|
||||
import android.database.DataSetObservable;
|
||||
import android.database.DataSetObserver;
|
||||
import android.os.Parcelable;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public abstract class a {
|
||||
public static final int POSITION_NONE = -2;
|
||||
public static final int POSITION_UNCHANGED = -1;
|
||||
private final DataSetObservable mObservable = new DataSetObservable();
|
||||
private DataSetObserver mViewPagerObserver;
|
||||
|
||||
@Deprecated
|
||||
public void destroyItem(View view, int i, Object obj) {
|
||||
throw new UnsupportedOperationException("Required method destroyItem was not overridden");
|
||||
}
|
||||
|
||||
public abstract void destroyItem(ViewGroup viewGroup, int i, Object obj);
|
||||
|
||||
public void finishUpdate(ViewGroup viewGroup) {
|
||||
finishUpdate((View) viewGroup);
|
||||
}
|
||||
|
||||
public abstract int getCount();
|
||||
|
||||
public int getItemPosition(Object obj) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
public CharSequence getPageTitle(int i) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public float getPageWidth(int i) {
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public Object instantiateItem(View view, int i) {
|
||||
throw new UnsupportedOperationException("Required method instantiateItem was not overridden");
|
||||
}
|
||||
|
||||
public abstract Object instantiateItem(ViewGroup viewGroup, int i);
|
||||
|
||||
public abstract boolean isViewFromObject(View view, Object obj);
|
||||
|
||||
public void notifyDataSetChanged() {
|
||||
synchronized (this) {
|
||||
try {
|
||||
DataSetObserver dataSetObserver = this.mViewPagerObserver;
|
||||
if (dataSetObserver != null) {
|
||||
dataSetObserver.onChanged();
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
this.mObservable.notifyChanged();
|
||||
}
|
||||
|
||||
public void registerDataSetObserver(DataSetObserver dataSetObserver) {
|
||||
this.mObservable.registerObserver(dataSetObserver);
|
||||
}
|
||||
|
||||
public void restoreState(Parcelable parcelable, ClassLoader classLoader) {
|
||||
}
|
||||
|
||||
public Parcelable saveState() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setPrimaryItem(ViewGroup viewGroup, int i, Object obj) {
|
||||
setPrimaryItem((View) viewGroup, i, obj);
|
||||
}
|
||||
|
||||
public void setViewPagerObserver(DataSetObserver dataSetObserver) {
|
||||
synchronized (this) {
|
||||
this.mViewPagerObserver = dataSetObserver;
|
||||
}
|
||||
}
|
||||
|
||||
public void startUpdate(ViewGroup viewGroup) {
|
||||
startUpdate((View) viewGroup);
|
||||
}
|
||||
|
||||
public void unregisterDataSetObserver(DataSetObserver dataSetObserver) {
|
||||
this.mObservable.unregisterObserver(dataSetObserver);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void finishUpdate(View view) {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setPrimaryItem(View view, int i, Object obj) {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void startUpdate(View view) {
|
||||
}
|
||||
}
|
||||
22
apk_decompiled/sources/F0/b.java
Normal file
22
apk_decompiled/sources/F0/b.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package F0;
|
||||
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class b implements Interpolator {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f515a;
|
||||
|
||||
@Override // android.animation.TimeInterpolator
|
||||
public final float getInterpolation(float f2) {
|
||||
switch (this.f515a) {
|
||||
case 0:
|
||||
float f4 = f2 - 1.0f;
|
||||
return (f4 * f4 * f4 * f4 * f4) + 1.0f;
|
||||
default:
|
||||
float f5 = f2 - 1.0f;
|
||||
return (f5 * f5 * f5 * f5 * f5) + 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
67
apk_decompiled/sources/F0/c.java
Normal file
67
apk_decompiled/sources/F0/c.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package F0;
|
||||
|
||||
import android.database.Cursor;
|
||||
import androidx.room.p;
|
||||
import androidx.room.u;
|
||||
import java.util.Set;
|
||||
import kotlin.Unit;
|
||||
import kotlin.collections.SetsKt;
|
||||
import kotlin.io.CloseableKt;
|
||||
import w0.InterfaceC0649e;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class c implements Runnable {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f516a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final Object f517b;
|
||||
|
||||
public /* synthetic */ c(Object obj, int i) {
|
||||
this.f516a = i;
|
||||
this.f517b = obj;
|
||||
}
|
||||
|
||||
public Set a() {
|
||||
p pVar = (p) this.f517b;
|
||||
Set createSetBuilder = SetsKt.createSetBuilder();
|
||||
Cursor query$default = u.query$default(pVar.f3992a, new F.i("SELECT * FROM room_table_modification_log WHERE invalidated = 1;"), null, 2, null);
|
||||
while (query$default.moveToNext()) {
|
||||
try {
|
||||
createSetBuilder.add(Integer.valueOf(query$default.getInt(0)));
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
Unit unit = Unit.INSTANCE;
|
||||
CloseableKt.closeFinally(query$default, null);
|
||||
Set build = SetsKt.build(createSetBuilder);
|
||||
if (build.isEmpty()) {
|
||||
return build;
|
||||
}
|
||||
if (((p) this.f517b).h == null) {
|
||||
throw new IllegalStateException("Required value was null.");
|
||||
}
|
||||
InterfaceC0649e interfaceC0649e = ((p) this.f517b).h;
|
||||
if (interfaceC0649e == null) {
|
||||
throw new IllegalArgumentException("Required value was null.");
|
||||
}
|
||||
interfaceC0649e.o();
|
||||
return build;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:69:0x0108 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:71:? A[RETURN, SYNTHETIC] */
|
||||
@Override // java.lang.Runnable
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final void run() {
|
||||
/*
|
||||
Method dump skipped, instructions count: 730
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: F0.c.run():void");
|
||||
}
|
||||
}
|
||||
9
apk_decompiled/sources/F0/d.java
Normal file
9
apk_decompiled/sources/F0/d.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package F0;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
/* loaded from: classes.dex */
|
||||
public @interface d {
|
||||
}
|
||||
20
apk_decompiled/sources/F0/e.java
Normal file
20
apk_decompiled/sources/F0/e.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package F0;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class e {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public Object f518a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public int f519b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public boolean f520c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public float f521d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public float f522e;
|
||||
}
|
||||
19
apk_decompiled/sources/F0/f.java
Normal file
19
apk_decompiled/sources/F0/f.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package F0;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class f extends ViewGroup.LayoutParams {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public boolean f523a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public int f524b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public float f525c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public boolean f526d;
|
||||
}
|
||||
215
apk_decompiled/sources/F0/g.java
Normal file
215
apk_decompiled/sources/F0/g.java
Normal file
@@ -0,0 +1,215 @@
|
||||
package F0;
|
||||
|
||||
import G2.m;
|
||||
import O.C0056b;
|
||||
import P.k;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import com.adif.elcanomovil.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.button.MaterialButtonToggleGroup;
|
||||
import com.google.android.material.internal.CheckableImageButton;
|
||||
import com.google.android.material.internal.NavigationMenuItemView;
|
||||
import kotlin.io.ConstantsKt;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class g extends C0056b {
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final /* synthetic */ int f527d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f528e;
|
||||
|
||||
public /* synthetic */ g(Object obj, int i) {
|
||||
this.f527d = i;
|
||||
this.f528e = obj;
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:11:0x002f, code lost:
|
||||
|
||||
if (r2.getCount() > 1) goto L14;
|
||||
*/
|
||||
@Override // O.C0056b
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public void c(android.view.View r2, android.view.accessibility.AccessibilityEvent r3) {
|
||||
/*
|
||||
r1 = this;
|
||||
int r0 = r1.f527d
|
||||
switch(r0) {
|
||||
case 0: goto L16;
|
||||
case 5: goto L9;
|
||||
default: goto L5;
|
||||
}
|
||||
L5:
|
||||
super.c(r2, r3)
|
||||
return
|
||||
L9:
|
||||
super.c(r2, r3)
|
||||
java.lang.Object r1 = r1.f528e
|
||||
com.google.android.material.internal.CheckableImageButton r1 = (com.google.android.material.internal.CheckableImageButton) r1
|
||||
boolean r1 = r1.f5718d
|
||||
r3.setChecked(r1)
|
||||
return
|
||||
L16:
|
||||
super.c(r2, r3)
|
||||
java.lang.Class<androidx.viewpager.widget.ViewPager> r2 = androidx.viewpager.widget.ViewPager.class
|
||||
java.lang.String r2 = r2.getName()
|
||||
r3.setClassName(r2)
|
||||
java.lang.Object r1 = r1.f528e
|
||||
androidx.viewpager.widget.ViewPager r1 = (androidx.viewpager.widget.ViewPager) r1
|
||||
F0.a r2 = r1.f4049e
|
||||
if (r2 == 0) goto L32
|
||||
int r2 = r2.getCount()
|
||||
r0 = 1
|
||||
if (r2 <= r0) goto L32
|
||||
goto L33
|
||||
L32:
|
||||
r0 = 0
|
||||
L33:
|
||||
r3.setScrollable(r0)
|
||||
int r2 = r3.getEventType()
|
||||
r0 = 4096(0x1000, float:5.74E-42)
|
||||
if (r2 != r0) goto L53
|
||||
F0.a r2 = r1.f4049e
|
||||
if (r2 == 0) goto L53
|
||||
int r2 = r2.getCount()
|
||||
r3.setItemCount(r2)
|
||||
int r2 = r1.f4050f
|
||||
r3.setFromIndex(r2)
|
||||
int r1 = r1.f4050f
|
||||
r3.setToIndex(r1)
|
||||
L53:
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: F0.g.c(android.view.View, android.view.accessibility.AccessibilityEvent):void");
|
||||
}
|
||||
|
||||
@Override // O.C0056b
|
||||
public final void d(View view, k kVar) {
|
||||
int i = -1;
|
||||
boolean z3 = false;
|
||||
Object obj = this.f528e;
|
||||
View.AccessibilityDelegate accessibilityDelegate = this.f1232a;
|
||||
switch (this.f527d) {
|
||||
case 0:
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, kVar.f1341a);
|
||||
kVar.h(ViewPager.class.getName());
|
||||
ViewPager viewPager = (ViewPager) obj;
|
||||
a aVar = viewPager.f4049e;
|
||||
if (aVar != null && aVar.getCount() > 1) {
|
||||
z3 = true;
|
||||
}
|
||||
kVar.j(z3);
|
||||
if (viewPager.canScrollHorizontally(1)) {
|
||||
kVar.a(ConstantsKt.DEFAULT_BLOCK_SIZE);
|
||||
}
|
||||
if (viewPager.canScrollHorizontally(-1)) {
|
||||
kVar.a(8192);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
case 1:
|
||||
AccessibilityNodeInfo accessibilityNodeInfo = kVar.f1341a;
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo);
|
||||
kVar.a(1048576);
|
||||
accessibilityNodeInfo.setDismissable(true);
|
||||
return;
|
||||
case 2:
|
||||
AccessibilityNodeInfo accessibilityNodeInfo2 = kVar.f1341a;
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo2);
|
||||
com.google.android.material.datepicker.k kVar2 = (com.google.android.material.datepicker.k) obj;
|
||||
accessibilityNodeInfo2.setHintText(kVar2.f5666l.getVisibility() == 0 ? kVar2.getString(R.string.mtrl_picker_toggle_to_year_selection) : kVar2.getString(R.string.mtrl_picker_toggle_to_day_selection));
|
||||
return;
|
||||
case 3:
|
||||
AccessibilityNodeInfo accessibilityNodeInfo3 = kVar.f1341a;
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo3);
|
||||
if (!((o2.e) obj).f8094j) {
|
||||
accessibilityNodeInfo3.setDismissable(false);
|
||||
return;
|
||||
} else {
|
||||
kVar.a(1048576);
|
||||
accessibilityNodeInfo3.setDismissable(true);
|
||||
return;
|
||||
}
|
||||
case 4:
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, kVar.f1341a);
|
||||
int i4 = MaterialButtonToggleGroup.f5602k;
|
||||
MaterialButtonToggleGroup materialButtonToggleGroup = (MaterialButtonToggleGroup) obj;
|
||||
if (view instanceof MaterialButton) {
|
||||
int i5 = 0;
|
||||
int i6 = 0;
|
||||
while (true) {
|
||||
if (i5 < materialButtonToggleGroup.getChildCount()) {
|
||||
if (materialButtonToggleGroup.getChildAt(i5) == view) {
|
||||
i = i6;
|
||||
} else {
|
||||
if ((materialButtonToggleGroup.getChildAt(i5) instanceof MaterialButton) && materialButtonToggleGroup.c(i5)) {
|
||||
i6++;
|
||||
}
|
||||
i5++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
kVar.i(P.j.a(((MaterialButton) view).f5600o, 0, 1, i, 1));
|
||||
return;
|
||||
case 5:
|
||||
AccessibilityNodeInfo accessibilityNodeInfo4 = kVar.f1341a;
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo4);
|
||||
CheckableImageButton checkableImageButton = (CheckableImageButton) obj;
|
||||
accessibilityNodeInfo4.setCheckable(checkableImageButton.f5719e);
|
||||
accessibilityNodeInfo4.setChecked(checkableImageButton.f5718d);
|
||||
return;
|
||||
default:
|
||||
AccessibilityNodeInfo accessibilityNodeInfo5 = kVar.f1341a;
|
||||
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo5);
|
||||
accessibilityNodeInfo5.setCheckable(((NavigationMenuItemView) obj).f5730x);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // O.C0056b
|
||||
public boolean g(View view, int i, Bundle bundle) {
|
||||
switch (this.f527d) {
|
||||
case 0:
|
||||
if (super.g(view, i, bundle)) {
|
||||
return true;
|
||||
}
|
||||
ViewPager viewPager = (ViewPager) this.f528e;
|
||||
if (i != 4096) {
|
||||
if (i == 8192 && viewPager.canScrollHorizontally(-1)) {
|
||||
viewPager.setCurrentItem(viewPager.f4050f - 1);
|
||||
return true;
|
||||
}
|
||||
} else if (viewPager.canScrollHorizontally(1)) {
|
||||
viewPager.setCurrentItem(viewPager.f4050f + 1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 1:
|
||||
if (i != 1048576) {
|
||||
return super.g(view, i, bundle);
|
||||
}
|
||||
((m) ((G2.k) this.f528e)).a(3);
|
||||
return true;
|
||||
case 2:
|
||||
default:
|
||||
return super.g(view, i, bundle);
|
||||
case 3:
|
||||
if (i == 1048576) {
|
||||
o2.e eVar = (o2.e) this.f528e;
|
||||
if (eVar.f8094j) {
|
||||
eVar.cancel();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.g(view, i, bundle);
|
||||
}
|
||||
}
|
||||
}
|
||||
10
apk_decompiled/sources/F0/h.java
Normal file
10
apk_decompiled/sources/F0/h.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package F0;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface h {
|
||||
void a(int i);
|
||||
|
||||
void b(int i);
|
||||
|
||||
void c(int i, float f2);
|
||||
}
|
||||
55
apk_decompiled/sources/F0/i.java
Normal file
55
apk_decompiled/sources/F0/i.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package F0;
|
||||
|
||||
import android.database.DataSetObserver;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import m.C0496x0;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class i extends DataSetObserver {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f529a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f530b;
|
||||
|
||||
public /* synthetic */ i(Object obj, int i) {
|
||||
this.f529a = i;
|
||||
this.f530b = obj;
|
||||
}
|
||||
|
||||
@Override // android.database.DataSetObserver
|
||||
public final void onChanged() {
|
||||
switch (this.f529a) {
|
||||
case 0:
|
||||
((ViewPager) this.f530b).e();
|
||||
return;
|
||||
case 1:
|
||||
((TabLayout) this.f530b).i();
|
||||
return;
|
||||
default:
|
||||
C0496x0 c0496x0 = (C0496x0) this.f530b;
|
||||
if (c0496x0.f7782z.isShowing()) {
|
||||
c0496x0.c();
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.database.DataSetObserver
|
||||
public final void onInvalidated() {
|
||||
switch (this.f529a) {
|
||||
case 0:
|
||||
((ViewPager) this.f530b).e();
|
||||
return;
|
||||
case 1:
|
||||
((TabLayout) this.f530b).i();
|
||||
return;
|
||||
default:
|
||||
((C0496x0) this.f530b).dismiss();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
apk_decompiled/sources/F0/j.java
Normal file
40
apk_decompiled/sources/F0/j.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package F0;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class j extends W.b {
|
||||
public static final Parcelable.Creator<j> CREATOR = new A.g(1);
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public int f531c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public Parcelable f532d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public final ClassLoader f533e;
|
||||
|
||||
public j(Parcel parcel, ClassLoader classLoader) {
|
||||
super(parcel, classLoader);
|
||||
classLoader = classLoader == null ? j.class.getClassLoader() : classLoader;
|
||||
this.f531c = parcel.readInt();
|
||||
this.f532d = parcel.readParcelable(classLoader);
|
||||
this.f533e = classLoader;
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
StringBuilder sb = new StringBuilder("FragmentPager.SavedState{");
|
||||
sb.append(Integer.toHexString(System.identityHashCode(this)));
|
||||
sb.append(" position=");
|
||||
return com.google.android.gms.measurement.internal.a.m(sb, this.f531c, "}");
|
||||
}
|
||||
|
||||
@Override // W.b, android.os.Parcelable
|
||||
public final void writeToParcel(Parcel parcel, int i) {
|
||||
super.writeToParcel(parcel, i);
|
||||
parcel.writeInt(this.f531c);
|
||||
parcel.writeParcelable(this.f532d, i);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user