stripe-android
stripe-android copied to clipboard
error reporter prototype
- Add payments section to CHANGELOG.md
- get everything to build
Summary
Motivation
Testing
- [ ] Added tests
- [ ] Modified tests
- [ ] Manually verified
Screenshots
Before | After |
---|---|
before screenshot | after screenshot |
Changelog
Diffuse output:
OLD: paymentsheet-example-release-master.apk (signature: V1, V2)
NEW: paymentsheet-example-release-pr.apk (signature: V1, V2)
│ compressed │ uncompressed
├───────────┬───────────┬──────────┼───────────┬───────────┬──────────
APK │ old │ new │ diff │ old │ new │ diff
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
dex │ 3.9 MiB │ 3.9 MiB │ +1.3 KiB │ 8.6 MiB │ 8.6 MiB │ +1.9 KiB
arsc │ 2.5 MiB │ 2.5 MiB │ 0 B │ 2.5 MiB │ 2.5 MiB │ 0 B
manifest │ 5.1 KiB │ 5.1 KiB │ 0 B │ 25.4 KiB │ 25.4 KiB │ 0 B
res │ 970.6 KiB │ 970.6 KiB │ 0 B │ 1.5 MiB │ 1.5 MiB │ 0 B
native │ 2.6 MiB │ 2.6 MiB │ 0 B │ 6 MiB │ 6 MiB │ 0 B
asset │ 3 MiB │ 3 MiB │ +1.4 KiB │ 3 MiB │ 3 MiB │ +1.4 KiB
other │ 211.5 KiB │ 211.5 KiB │ -7 B │ 472.5 KiB │ 472.5 KiB │ 0 B
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
total │ 13.1 MiB │ 13.1 MiB │ +2.6 KiB │ 22 MiB │ 22 MiB │ +3.2 KiB
DEX │ old │ new │ diff
─────────┼───────┼───────┼─────────────────
files │ 1 │ 1 │ 0
strings │ 42618 │ 42626 │ +8 (+15 -7)
types │ 14504 │ 14509 │ +5 (+10 -5)
classes │ 12258 │ 12262 │ +4 (+5 -1)
methods │ 60616 │ 60627 │ +11 (+228 -217)
fields │ 40079 │ 40088 │ +9 (+228 -219)
ARSC │ old │ new │ diff
─────────┼──────┼──────┼──────
configs │ 328 │ 328 │ 0
entries │ 7269 │ 7269 │ 0
APK
compressed │ uncompressed │
──────────┬──────────┼───────────┬──────────┤
size │ diff │ size │ diff │ path
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
7.2 KiB │ +1.3 KiB │ 7.1 KiB │ +1.3 KiB │ ∆ assets/dexopt/baseline.prof
3.9 MiB │ +1.3 KiB │ 8.6 MiB │ +1.9 KiB │ ∆ classes.dex
68.2 KiB │ -8 B │ 153.6 KiB │ 0 B │ ∆ META-INF/CERT.SF
860 B │ +5 B │ 728 B │ +5 B │ ∆ assets/dexopt/baseline.profm
1.2 KiB │ +2 B │ 1.2 KiB │ 0 B │ ∆ META-INF/CERT.RSA
54.7 KiB │ -1 B │ 153.5 KiB │ 0 B │ ∆ META-INF/MANIFEST.MF
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
4 MiB │ +2.6 KiB │ 8.9 MiB │ +3.2 KiB │ (total)
DEX
STRINGS:
old │ new │ diff
───────┼───────┼─────────────
42618 │ 42626 │ +8 (+15 -7)
+ INCORRECT_NEXT_ACTION_TYPE
+ Lm0/e;
+ Lt/x2;
+ Lwa/n0;
+ Lwa/o0;
+ Lwe/b0;
+ MISSING_HOSTED_VOUCHER_URL
+ [Lt/e2;
+ [Lwa/l0;
+ [Lwa/m0;
+ [Lwa/t;
+ [Lwa/z;
+ boleto_incorrect_next_action_type
+ boleto_missing_hosted_voucher_url
+ ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:db73313,r8-mode:full,version:8.2.47}
- Lye/p;
- [Lt/d2;
- [Lwa/j0;
- [Lwa/k0;
- [Lwa/y;
- null cannot be cast to non-null type com.stripe.android.model.StripeIntent.NextActionData.DisplayBoletoDetails
- ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:360ce60,r8-mode:full,version:8.2.47}
TYPES:
old │ new │ diff
───────┼───────┼─────────────
14504 │ 14509 │ +5 (+10 -5)
+ Lm0/e;
+ Lt/x2;
+ Lwa/n0;
+ Lwa/o0;
+ Lwe/b0;
+ [Lt/e2;
+ [Lwa/l0;
+ [Lwa/m0;
+ [Lwa/t;
+ [Lwa/z;
- Lye/p;
- [Lt/d2;
- [Lwa/j0;
- [Lwa/k0;
- [Lwa/y;
METHODS:
old │ new │ diff
───────┼───────┼─────────────────
60616 │ 60627 │ +11 (+228 -217)
+ c0.i e0(k0, a, k, b, e) → Object
+ fa.t a(e)
+ fa.v q(v, e)
+ g.u0 W(i2, ArrayList, ArrayList, j2)
+ hg.v b() → l0
+ ib.u0 <init>(k0, z, d, e, Locale, Application)
+ j4.c D(o0) → JSONObject
+ jc.b <init>(k0, c1, b)
+ jc.b b(o0)
+ lb.g a(z, z, g, h, h, h) → g
+ m.w o(i2)
+ m.w q(i2)
+ m0.d <init>(Context)
+ m0.d apply(Object) → Object
+ m0.d get() → Object
+ m0.e <clinit>()
+ m0.e <init>()
+ m0.e a(i0, q, q1[]) → b
+ m0.e b(int)
+ m0.e c()
+ mf.e <init>(v0, z, f, y)
+ nf.b <init>(k0, String)
+ od.c b() → l0
+ od.v0 z(o0)
+ t.a2 <clinit>()
+ t.a2 a(d0, long) → b
+ t.a2 b(r1, long, List) → boolean
+ t.a2 c(d0, r1) → boolean
+ t.b2 a() → CameraCharacteristics_Key
+ t.c1 c(i2)
+ t.c1 d(i2)
+ t.c1 e(i2)
+ t.c1 f(i2)
+ t.c1 g(i2)
+ t.c1 h(i2)
+ t.c1 i(i2)
+ t.c1 j(i2, Surface)
+ t.c2 a(StreamConfigurationMap, int) → Size[]
+ t.d2 <init>(Context, String, b0, q0)
+ t.d2 a(d, List) → boolean
+ t.d2 b()
+ t.d2 c(StreamConfigurationMap, int, boolean) → Size
+ t.d2 d(d, List) → List
+ t.d2 e(Range, Range) → int
+ t.d2 f(Range) → int
+ t.d2 g(int, ArrayList, List, ArrayList, ArrayList, int, HashMap, HashMap) → Pair
+ t.d2 h(int) → h
+ t.d2 i(Map, Size, int)
+ t.e2 c(i2)
+ t.e2 d(i2)
+ t.e2 e(i2)
+ t.e2 f(i2)
+ t.e2 g(i2)
+ t.e2 h(i2)
+ t.e2 i(i2)
+ t.e2 j(i2, Surface)
+ t.f2 <init>(i2, ArrayList)
+ t.f2 apply(Object) → a
+ t.g2 <init>(Object, Object, Object, Object)
+ t.g2 T(i) → String
+ t.g2 a()
+ t.h2 <init>(i2, i2, int)
+ t.h2 run()
+ t.i2 <init>(w, Executor, ScheduledExecutorService, Handler)
+ t.i2 a(ArrayList) → a
+ t.i2 b(CameraDevice, v, List) → a
+ t.i2 c(i2)
+ t.i2 d(i2)
+ t.i2 e(i2)
+ t.i2 f(i2)
+ t.i2 g(i2)
+ t.i2 h(i2)
+ t.i2 i(i2)
+ t.i2 j(i2, Surface)
+ t.i2 k(ArrayList, u0) → int
+ t.i2 l()
+ t.i2 m(CameraCaptureSession)
+ t.i2 n() → a
+ t.i2 o(List)
+ t.i2 p() → boolean
+ t.i2 q()
+ t.i2 r(CaptureRequest, CameraCaptureSession_CaptureCallback) → int
+ t.i2 s() → o
+ t.i2 stop() → boolean
+ t.j2 <init>(k2)
+ t.k2 <init>(Handler, c, c, w, Executor, ScheduledExecutorService)
+ t.k2 a(ArrayList) → a
+ t.k2 b(CameraDevice, v, List) → a
+ t.k2 e(i2)
+ t.k2 g(i2)
+ t.k2 l()
+ t.k2 n() → a
+ t.k2 r(CaptureRequest, CameraCaptureSession_CaptureCallback) → int
+ t.k2 stop() → boolean
+ t.k2 t(k2)
+ t.k2 u(k2, CameraDevice, v, List) → a
+ t.k2 v(k2, i2)
+ t.k2 w(String)
+ t.l2 <init>(Handler, c, c, w, g, d)
+ t.l2 <init>(m, s, g)
+ t.l2 a() → u0
+ t.m2 a(ArrayList) → a
+ t.m2 b(CameraDevice, v, List) → a
+ t.m2 stop() → boolean
+ t.n2 <init>(q2, boolean)
+ t.n2 T(i) → String
+ t.o2 <init>(Object, int)
+ t.o2 a(TotalCaptureResult) → boolean
+ t.p2 <init>(q2, i, boolean)
+ t.p2 run()
+ t.q2 <init>(m, s, g)
+ t.q2 a(i, boolean)
+ t.q2 b(u0, Integer)
+ t.r2 <init>(l2)
+ t.r2 a(TotalCaptureResult) → boolean
+ t.s2 a(TotalCaptureResult)
+ t.s2 e() → Rect
+ t.s2 f() → float
+ t.s2 h() → float
+ t.s2 i(a)
+ t.s2 j()
+ t.t2 <init>(float, float)
+ t.t2 a()
+ t.u2 a(e1)
+ t.u2 k(boolean)
+ t.u2 p(boolean)
+ t.v2 a(int, int, int) → InputConfiguratio
...✂