stripe / stripe-android

Stripe Android SDK
https://stripe.com/docs/mobile/android
MIT License
1.29k stars 648 forks source link

Adjust padding based on position in form in `FormUI` & `USBankAccountForm` #9599

Closed samer-stripe closed 4 days ago

samer-stripe commented 5 days ago

Summary

Adjust padding based on position in form in FormUI & USBankAccountForm

Motivation

Allows for better control over padding within PaymentSheet.

Testing

github-actions[bot] commented 5 days ago

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 │ +627 B │   8.4 MiB │   8.4 MiB │ +204 B 
     arsc │   2.3 MiB │   2.3 MiB │    0 B │   2.3 MiB │   2.3 MiB │    0 B 
 manifest │     5 KiB │     5 KiB │    0 B │  24.9 KiB │  24.9 KiB │    0 B 
      res │ 902.3 KiB │ 902.3 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 │   1.6 MiB │   1.6 MiB │   +6 B │   1.6 MiB │   1.6 MiB │   +6 B 
    other │ 199.8 KiB │ 199.8 KiB │   -5 B │ 440.1 KiB │ 440.1 KiB │    0 B 
──────────┼───────────┼───────────┼────────┼───────────┼───────────┼────────
    total │  11.4 MiB │  11.4 MiB │ +628 B │  20.2 MiB │  20.2 MiB │ +210 B 

 DEX     │ old   │ new   │ diff             
─────────┼───────┼───────┼──────────────────
   files │     1 │     1 │  0               
 strings │ 39792 │ 39797 │ +5 (+18 -13)     
   types │ 13727 │ 13728 │ +1 (+12 -11)     
 classes │ 11421 │ 11422 │ +1 (+3 -2)       
 methods │ 58644 │ 58647 │ +3 (+926 -923)   
  fields │ 38969 │ 38976 │ +7 (+1014 -1007) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  242 │  242 │  0   
 entries │ 6190 │ 6190 │  0
APK ``` compressed │ uncompressed │ ──────────┬────────┼───────────┬────────┤ size │ diff │ size │ diff │ path ──────────┼────────┼───────────┼────────┼──────────────────────────────── 3.9 MiB │ +627 B │ 8.4 MiB │ +204 B │ ∆ classes.dex 49.7 KiB │ -11 B │ 117.5 KiB │ 0 B │ ∆ META-INF/MANIFEST.MF 1 KiB │ +5 B │ 905 B │ +5 B │ ∆ assets/dexopt/baseline.profm 53 KiB │ +5 B │ 117.6 KiB │ 0 B │ ∆ META-INF/CERT.SF 7.8 KiB │ +1 B │ 7.7 KiB │ +1 B │ ∆ assets/dexopt/baseline.prof 1.2 KiB │ +1 B │ 1.2 KiB │ 0 B │ ∆ META-INF/CERT.RSA ──────────┼────────┼───────────┼────────┼──────────────────────────────── 4 MiB │ +628 B │ 8.7 MiB │ +210 B │ (total) ```
DEX ``` STRINGS: old │ new │ diff ───────┼───────┼────────────── 39792 │ 39797 │ +5 (+18 -13) + LF5/n; + LFII + Lf6/y; + Ls8/e; + VLIIZLLI + VLIIZLLLI + VLZZLLLLLI + VZLILLI + [LF8/N0; + [LF8/V; + [LF8/Z; + [LF8/d1; + [LF8/h1; + [LF8/m1; + [LF8/s0; + [LL7/X1; + [LL7/u0; + ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"a82e322","r8-mode":"full","version":"8.7.14"} - LL7/c2; - Lh6/k; - VZZLLLLLI - [LF8/M0; - [LF8/T; - [LF8/Y; - [LF8/c1; - [LF8/g1; - [LF8/l1; - [LF8/q0; - [LL7/a2; - [LL7/w0; - ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"2727339","r8-mode":"full","version":"8.7.14"} TYPES: old │ new │ diff ───────┼───────┼────────────── 13727 │ 13728 │ +1 (+12 -11) + LF5/n; + Lf6/y; + Ls8/e; + [LF8/N0; + [LF8/V; + [LF8/Z; + [LF8/d1; + [LF8/h1; + [LF8/m1; + [LF8/s0; + [LL7/X1; + [LL7/u0; - LL7/c2; - Lh6/k; - [LF8/M0; - [LF8/T; - [LF8/Y; - [LF8/c1; - [LF8/g1; - [LF8/l1; - [LF8/q0; - [LL7/a2; - [LL7/w0; METHODS: old │ new │ diff ───────┼───────┼──────────────── 58644 │ 58647 │ +3 (+926 -923) + B5.e0 (Set, boolean, List, Z, p, int) + B5.e0 (o, g0, boolean, Throwable, p, int) + B5.e0 (boolean, Object, Object, Object, Object, int, int) + B5.i0 W(boolean, e, Set, Z, p, int) + B5.i0 a0(o, g0, boolean, Throwable, p, p, int) + B5.i0 c0(s, p, p, int) + C0.c V(d, v0, p, E0, p, int) + C0.c Z(X0, p, p, int) + C6.a b(Map) → Z0 + C6.b b(Map) → Z0 + C6.c b(Map) → Z0 + C6.d b(Map) → Z0 + D5.c (y1, boolean, c, int) + D7.r (A1, boolean, p, int, int) + D7.r (boolean, int, a, a, int) + D7.r (boolean, x0, int, p, int) + D7.s (f, a, boolean, boolean, boolean, q1, q1, x0, e, Z, Y0, q1, p, a, int, int) + D7.t (u, w1, x0, w1, boolean, c, boolean, boolean, j, p, int) + D7.t (boolean, a, boolean, boolean, q1, q1, x0, e, Z, Y0, int) + D7.t (boolean, boolean, c, boolean, j, u, w1, x0, w1, o, int) + D7.w (p, boolean, boolean, String, String, q1, a, int) + D7.w (boolean, g, f, boolean, a, p, s, int) + D7.z (boolean, x0, int) + D8.c j(String, G) → boolean + D8.m (String, int, Z, int) + F5.e (Object, Object, boolean, Object, int, int) + F5.e (Object, boolean, a, Object, int, int) + F5.e (String, k1, boolean, a, int) + F5.e (boolean, Object, Object, Object, int, int) + F5.e (boolean, String, c, a, int) + F5.e g(Object, Object) → Object + F5.f (k1, a, String, boolean) + F5.f (W, e0, boolean, o) + F5.f (r, boolean, a, a) + F5.f (boolean, U, g, W) + F5.f (boolean, String, g, a) + F5.f f(Object, Object, Object) → Object + F5.g (r) + F5.h (FinancialConnectionsSessionManifest_Pane, e, boolean) + F5.h a(h, e, boolean, int) → h + F5.h equals(Object) → boolean + F5.h hashCode() → int + F5.h toString() → String + F5.i (Bundle, a) + F5.i (a, Bundle, int) + F5.i i(Object) → Object + F5.j () + F5.j get(Object) → Object + F5.k (m, d) + F5.l (m, d) + F5.l g(Object, Object) → Object + F5.l m(d, Object) → d + F5.l o(Object) → Object + F5.m () + F5.m (h, Q, C, Q, v, E, d) + F5.m l(Object) → c + F5.n (j) + F6.a a() → Z + F8.A0 (Object, boolean, int, int) + F8.A0 (boolean, Object, int, int) + F8.A1 (int, Integer, boolean, a) + F8.A1 (int, boolean, x, int) + F8.A1 equals(Object) → boolean + F8.A1 hashCode() → int + F8.A1 toString() → String + F8.A g(Object, Object) → Object + F8.B0 (x0, p, e, boolean, boolean, o, int) + F8.B () + F8.C0 (o, d) + F8.C1 a() → boolean + F8.C1 b() → boolean + F8.C1 e() → U + F8.D0 (h, W, W, d) + F8.D1 () + F8.D (Set, boolean, m0, m0, int) + F8.D a() → int + F8.D e(String) → String + F8.D f(int) → String + F8.D g() → boolean + F8.D h() → List + F8.D j() → ArrayList + F8.D k() → boolean + F8.E0 (c, d) + F8.E0 m(d, Object) → d + F8.E0 o(Object) → Object + F8.E1 (int) + F8.E (Z, J) + F8.E a() → Z + F8.E b() → boolean + F8.E equals(Object) → boolean + F8.E g() → a0 + F8.E hashCode() → int ...✂ ```