stripe-android
stripe-android copied to clipboard
Create generic `StripeBottomSheetLayout` and use in Payments
Summary
This pull request moves the BottomSheet component from paymentsheet to stripe-ui-core and renames it to StripeBottomSheetLayout. We’re looking to reuse the component in Financial Connections.
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 │ +2.1 KiB │ 8.6 MiB │ 8.6 MiB │ +1.7 KiB
arsc │ 2.2 MiB │ 2.2 MiB │ -24 B │ 2.2 MiB │ 2.2 MiB │ -24 B
manifest │ 5 KiB │ 5 KiB │ 0 B │ 25.4 KiB │ 25.4 KiB │ 0 B
res │ 907.5 KiB │ 907.5 KiB │ 0 B │ 1.4 MiB │ 1.4 MiB │ 0 B
native │ 2.6 MiB │ 2.6 MiB │ 0 B │ 6 MiB │ 6 MiB │ 0 B
asset │ 2.9 MiB │ 2.9 MiB │ -1.4 KiB │ 2.9 MiB │ 2.9 MiB │ -1.4 KiB
other │ 194 KiB │ 194 KiB │ -2 B │ 423.6 KiB │ 423.6 KiB │ 0 B
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
total │ 12.7 MiB │ 12.7 MiB │ +735 B │ 21.6 MiB │ 21.6 MiB │ +318 B
DEX │ old │ new │ diff
─────────┼───────┼───────┼───────────────────
files │ 1 │ 1 │ 0
strings │ 43001 │ 43023 │ +22 (+89 -67)
types │ 14766 │ 14767 │ +1 (+66 -65)
classes │ 12466 │ 12467 │ +1 (+48 -47)
methods │ 61068 │ 61080 │ +12 (+2774 -2762)
fields │ 40300 │ 40304 │ +4 (+1284 -1280)
ARSC │ old │ new │ diff
─────────┼──────┼──────┼───────────
configs │ 242 │ 242 │ 0
entries │ 6028 │ 6028 │ 0 (+2 -2)
APK
compressed │ uncompressed │
──────────┬──────────┼───────────┬──────────┤
size │ diff │ size │ diff │ path
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
3.9 MiB │ +2.1 KiB │ 8.6 MiB │ +1.7 KiB │ ∆ classes.dex
6 KiB │ -1.4 KiB │ 5.8 KiB │ -1.4 KiB │ ∆ assets/dexopt/baseline.prof
313 B │ +313 B │ 388 B │ +388 B │ + res/u1.xml
│ -313 B │ │ -388 B │ - res/Fq.xml
311 B │ +311 B │ 388 B │ +388 B │ + res/0U.xml
│ -311 B │ │ -388 B │ - res/Y_.xml
2.2 MiB │ -24 B │ 2.2 MiB │ -24 B │ ∆ resources.arsc
879 B │ +3 B │ 747 B │ +3 B │ ∆ assets/dexopt/baseline.profm
1.2 KiB │ -1 B │ 1.2 KiB │ 0 B │ ∆ META-INF/CERT.RSA
49.4 KiB │ -1 B │ 116.6 KiB │ 0 B │ ∆ META-INF/MANIFEST.MF
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
6.2 MiB │ +735 B │ 11 MiB │ +318 B │ (total)
DEX
STRINGS:
old │ new │ diff
───────┼───────┼───────────────
43001 │ 43023 │ +22 (+89 -67)
+ , scrimColor=
+ , sheetBackgroundColor=
+ LG6/Z;
+ LLLLZLI
+ LP6/g0;
+ Lg8/n;
+ Lg8/o;
+ Lg8/p;
+ Lg8/q;
+ Lg8/r;
+ Lh8/b;
+ Lh8/c;
+ Lh8/d;
+ Lh8/e;
+ Lh8/f;
+ Lh8/g;
+ Lh8/h;
+ Lh8/i;
+ Lh8/j;
+ Lh8/k;
+ Lh8/l;
+ Lh8/m;
+ Lk8/A;
+ Lk8/B;
+ Lk8/r;
+ Lk8/s;
+ Lk8/t;
+ Lk8/u;
+ Lk8/v;
+ Lk8/w;
+ Lk8/x;
+ Lk8/y;
+ Lk8/z;
+ Ll8/m;
+ Ll8/n;
+ Ll8/o;
+ Ll8/p;
+ Ll8/q;
+ Lm8/a;
+ Lm8/b;
+ Lm8/c;
+ Lm8/d;
+ Lm8/e;
+ Lm8/f;
+ Lm8/g;
+ Lm8/h;
+ Lm8/i;
+ Lm8/j;
+ Lm8/k;
+ Lm8/l;
+ Lp5/J;
+ StripeBottomSheetLayoutInfo(sheetShape=
+ V1
+ W1
+ X1
+ Y1
+ Z1
+ [LC/j;
+ [LF6/F1;
+ [LF6/J1;
+ [LF6/Q1;
+ [LG6/n;
+ [LG6/r;
+ [LK6/g;
+ [LP6/B;
+ [LP6/I;
+ [LP6/K;
+ [LP6/S;
+ [LP6/V;
+ [LP6/g0;
+ [LP6/j;
+ [LP6/s;
+ [LP6/u;
+ [Lh8/g;
+ [Lk8/j;
+ a2
+ b2
+ c2
+ d2
+ e2
+ f2
+ g2
+ i2
+ j2
+ k2
+ keyboardHandler
+ layoutInfo
+ m2
+ ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:ae289f6,r8-mode:full,version:8.3.37}
- LF6/j2;
- LK6/j;
- LL4/A;
- LL4/k;
- LL4/l;
- LL4/m;
- LL4/n;
- LL4/o;
- LL4/p;
- LL4/q;
- LL4/r;
- LL4/s;
- LL4/t;
- LL4/u;
- LL4/v;
- LL4/w;
- LL4/x;
- LL4/y;
- LL4/z;
- LLLZLI
- LZ6/u;
- Lj8/A;
- Lj8/B;
- Lj8/b;
- Lj8/c;
- Lj8/d;
- Lj8/e;
- Lj8/f;
- Lj8/g;
- Lj8/h;
- Lj8/i;
- Lj8/j;
- Lj8/k;
- Lj8/l;
- Lj8/m;
- Lj8/n;
- Lj8/o;
- Lj8/p;
- Lj8/q;
- Lj8/r;
- Lj8/s;
- Lj8/t;
- Lj8/u;
- Lj8/v;
- Lj8/w;
- Lj8/x;
- Lj8/y;
- Lj8/z;
- [LF6/H1;
- [LF6/M1;
- [LF6/R1;
- [LG6/q;
- [LG6/t;
- [LK6/i;
- [LL4/i;
- [LP6/A;
- [LP6/H;
- [LP6/J;
- [LP6/P;
- [LP6/U;
- [LP6/f0;
- [LP6/i;
- [LP6/r;
- [LP6/t;
- [LZ6/e;
- [Lj8/j;
- ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:41f134a,r8-mode:full,version:8.3.37}
TYPES:
old │ new │ diff
───────┼───────┼──────────────
14766 │ 14767 │ +1 (+66 -65)
+ LG6/Z;
+ LP6/g0;
+ Lg8/n;
+ Lg8/o;
+ Lg8/p;
+ Lg8/q;
+ Lg8/r;
+ Lh8/b;
+ Lh8/c;
+ Lh8/d;
+ Lh8/e;
+ Lh8/f;
+ Lh8/g;
+ Lh8/h;
+ Lh8/i;
+ Lh8/j;
+ Lh8/k;
+ Lh8/l;
+ Lh8/m;
+ Lk8/A;
+ Lk8/B;
+ Lk8/r;
+ Lk8/s;
+ Lk8/t;
+ Lk8/u;
+ Lk8/v;
+ Lk8/w;
+ Lk8/x;
+ Lk8/y;
+ Lk8/z;
+ Ll8/m;
+ Ll8/n;
+ Ll8/o;
+ Ll8/p;
+ Ll8/q;
+ Lm8/a;
+ Lm8/b;
+ Lm8/c;
+ Lm8/d;
+ Lm8/e;
+ Lm8/f;
+ Lm8/g;
+ Lm8/h;
+ Lm8/i;
+ Lm8/j;
+ Lm8/k;
+ Lm8/l;
+ Lp5/J;
+ [LC/j;
+ [LF6/F1;
+ [LF6/J1;
+ [LF6/Q1;
+ [LG6/n;
+ [LG6/r;
+ [LK6/g;
+ [LP6/B;
+ [LP6/I;
+ [LP6/K;
+ [LP6/S;
+ [LP6/V;
+ [LP6/g0;
+ [LP6/j;
+ [LP6/s;
+ [LP6/u;
+ [Lh8/g;
+ [Lk8/j;
- LF6/j2;
- LK6/j;
- LL4/A;
- LL4/k;
- LL4/l;
- LL4/m;
- LL4/n;
- LL4/o;
- LL4/p;
- LL4/q;
- LL4/r;
- LL4/s;
- LL4/t;
- LL4/u;
- LL4/v;
- LL4/w;
- LL4/x;
- LL4/y;
- LL4/z;
- LZ6/u;
- Lj8/A;
- Lj8/B;
- Lj8/b;
- Lj8/c;
- Lj8/d;
- Lj8/e;
- Lj8/f;
- Lj8/g;
- Lj8/h;
- Lj8/i;
- Lj8/j;
- Lj8/k;
- Lj8/l;
- Lj8/m;
- Lj8/n;
- Lj8/o;
- Lj8/p;
- Lj8/q;
- Lj8/r;
- Lj8/s;
- Lj8/t;
- Lj8/u;
- Lj8/v;
- Lj8/w;
- Lj8/x;
- Lj8/y;
- Lj8/z;
- [LF6/H1;
- [LF6/M1;
- [LF6/R1;
- [LG6/q;
- [LG6/t;
- [LK6/i;
- [LL4/i;
- [LP6/A;
- [LP6/H;
- [LP6/J;
- [LP6/P;
- [LP6/U;
- [LP6/f0;
- [LP6/i;
- [LP6/r;
- [LP6/t;
- [LZ6/e;
- [Lj8/j;
METHODS:
old │ new │ diff
───────┼───────┼───────────────────
61068 │ 61080 │ +12 (+2774 -2762)
+ A3.e b(d, float) → float
+ A4.c E() → Map
+ A4.c b() → String
+ A4.d E() → Map
+ A4.d b() → String
+ A4.e E() → Map
+ A4.e b() → String
+ A4.f E() → Map
+ A4.f b() → String
+ A4.g E() → Map
+ A4.g b() → String
+ A5.j <init>(f, L0, K, e)
+ A5.n <init>(e, String, String, e, e, f)
+ B6.i b(a) → List
+ C.j A(q, k, int)
+ C.j A0(k) → m
+ C.j B(q, M0, boolean, boolean, int, c, k, int, int)
+ C.j B0(a, N1, k, int) → v1
+ C.j C(List, k, int)
+ C.j C0(N1, k) → v1
+ C.j D(int, int, k, q, a, boolean)
+ C.j D0(c, b)
+ C.j E(h, k, int)
+ C.j E0(int, k) → String
...✂
ARSC
ENTRIES:
old │ new │ diff
──────┼──────┼───────────
6028 │ 6028 │ 0 (+2 -2)
+ anim/stripe_transition_fade_in
+ anim/stripe_transition_fade_out
- anim/stripe_paymentsheet_transition_fade_in
- anim/stripe_paymentsheet_transition_fade_out