stripe / stripe-android

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

Make `ResolvableString` parcelable. #8715

Open samer-stripe opened 2 days ago

samer-stripe commented 2 days ago

Summary

Motivation

Testing

Screenshots

Before After
before screenshot after screenshot

Changelog

github-actions[bot] commented 2 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 │     4 MiB │     4 MiB │   +698 B │   8.7 MiB │   8.7 MiB │   +552 B 
     arsc │   2.3 MiB │   2.3 MiB │      0 B │   2.3 MiB │   2.3 MiB │      0 B 
 manifest │   5.1 KiB │   5.1 KiB │      0 B │  25.6 KiB │  25.6 KiB │      0 B 
      res │ 918.5 KiB │ 918.5 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 │   2.9 MiB │   2.9 MiB │ +1.4 KiB │   2.9 MiB │   2.9 MiB │ +1.4 KiB 
    other │   195 KiB │   195 KiB │     +8 B │ 428.4 KiB │ 428.4 KiB │      0 B 
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
    total │  12.8 MiB │  12.8 MiB │ +2.1 KiB │  21.8 MiB │  21.8 MiB │ +1.9 KiB 

 DEX     │ old   │ new   │ diff             
─────────┼───────┼───────┼──────────────────
   files │     1 │     1 │  0               
 strings │ 43585 │ 43586 │ +1 (+54 -53)     
   types │ 14988 │ 14990 │ +2 (+53 -51)     
 classes │ 12670 │ 12670 │  0 (+4 -4)       
 methods │ 62032 │ 62038 │ +6 (+1331 -1325) 
  fields │ 40957 │ 40958 │ +1 (+1144 -1143) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  242 │  242 │  0   
 entries │ 6043 │ 6043 │  0
APK ``` compressed │ uncompressed │ ──────────┬──────────┼───────────┬──────────┤ size │ diff │ size │ diff │ path ──────────┼──────────┼───────────┼──────────┼─────────────────────────────────────────── 7.3 KiB │ +1.4 KiB │ 7.2 KiB │ +1.4 KiB │ ∆ assets/dexopt/baseline.prof 4 MiB │ +698 B │ 8.7 MiB │ +552 B │ ∆ classes.dex 52.9 KiB │ +14 B │ 117.2 KiB │ 0 B │ ∆ META-INF/CERT.SF 890 B │ +8 B │ 758 B │ +8 B │ ∆ assets/dexopt/baseline.profm 49.6 KiB │ -6 B │ 117.1 KiB │ 0 B │ ∆ META-INF/MANIFEST.MF 270 B │ -2 B │ 120 B │ 0 B │ ∆ META-INF/version-control-info.textproto 1.2 KiB │ +2 B │ 1.2 KiB │ 0 B │ ∆ META-INF/CERT.RSA ──────────┼──────────┼───────────┼──────────┼─────────────────────────────────────────── 4.1 MiB │ +2.1 KiB │ 9 MiB │ +1.9 KiB │ (total) ```
DEX ``` STRINGS: old │ new │ diff ───────┼───────┼────────────── 43585 │ 43586 │ +1 (+54 -53) + LF6/F; + LY5/u; + Lm5/t; + Lx7/m; + [LB7/T; + [LB7/X; + [LB7/a; + [LB7/c0; + [LB7/c; + [LB7/e; + [LB7/o; + [LB7/r0; + [LB7/t; + [LB7/z; + [LC7/f; + [LC7/i; + [LF6/C; + [LG6/D0; + [LG6/H0; + [LG6/K0; + [LG6/R0; + [LG6/V0; + [LG6/X; + [LG6/Z; + [LG6/n0; + [LG6/p1; + [LG6/s1; + [LG6/t; + [LG6/v0; + [LG6/z1; + [LI5/X; + [LI5/a0; + [LO5/I; + [LV4/a; + [LV4/c; + [LY5/m; + [La8/A0; + [La8/k0; + [La8/n0; + [Lg6/c; + [Li7/v; + [Lm5/f; + [Lo5/c; + [Lp8/E; + [Lp8/L; + [Lp8/P; + [Lq6/Q0; + [Lq6/V; + [Lq6/m2; + [Lq6/y1; + [Ls6/f; + [Lx7/i; + [Lx7/l; + ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:0f0976c,r8-mode:full,version:8.3.37} - , transformations= - LB7/s0; - LG6/R1; - Lg6/j; - Lo5/g; - [LB7/F; - [LB7/W; - [LB7/Y; - [LB7/b; - [LB7/d0; - [LB7/d; - [LB7/j; - [LB7/r; - [LB7/s0; - [LB7/x; - [LC7/d; - [LC7/g; - [LF6/A; - [LG6/A1; - [LG6/C0; - [LG6/G0; - [LG6/I0; - [LG6/Q0; - [LG6/U0; - [LG6/Y; - [LG6/c0; - [LG6/d1; - [LG6/p0; - [LG6/q1; - [LG6/v1; - [LG6/w; - [LI5/W; - [LI5/Z; - [LO5/G; - [LY5/k; - [La8/j0; - [La8/m0; - [La8/z0; - [Lg6/e; - [Li7/t; - [Lm5/d; - [Lo5/d; - [Lp8/D; - [Lp8/K; - [Lp8/O; - [Lq6/P0; - [Lq6/U; - [Lq6/j2; - [Lq6/v1; - [Ls6/d; - [Lx7/h; - [Lx7/k; - ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:c35a707,r8-mode:full,version:8.3.37} TYPES: old │ new │ diff ───────┼───────┼────────────── 14988 │ 14990 │ +2 (+53 -51) + LF6/F; + LY5/u; + Lm5/t; + Lx7/m; + [LB7/T; + [LB7/X; + [LB7/a; + [LB7/c0; + [LB7/c; + [LB7/e; + [LB7/o; + [LB7/r0; + [LB7/t; + [LB7/z; + [LC7/f; + [LC7/i; + [LF6/C; + [LG6/D0; + [LG6/H0; + [LG6/K0; + [LG6/R0; + [LG6/V0; + [LG6/X; + [LG6/Z; + [LG6/n0; + [LG6/p1; + [LG6/s1; + [LG6/t; + [LG6/v0; + [LG6/z1; + [LI5/X; + [LI5/a0; + [LO5/I; + [LV4/a; + [LV4/c; + [LY5/m; + [La8/A0; + [La8/k0; + [La8/n0; + [Lg6/c; + [Li7/v; + [Lm5/f; + [Lo5/c; + [Lp8/E; + [Lp8/L; + [Lp8/P; + [Lq6/Q0; + [Lq6/V; + [Lq6/m2; + [Lq6/y1; + [Ls6/f; + [Lx7/i; + [Lx7/l; - LB7/s0; - LG6/R1; - Lg6/j; - Lo5/g; - [LB7/F; - [LB7/W; - [LB7/Y; - [LB7/b; - [LB7/d0; - [LB7/d; - [LB7/j; - [LB7/r; - [LB7/s0; - [LB7/x; - [LC7/d; - [LC7/g; - [LF6/A; - [LG6/A1; - [LG6/C0; - [LG6/G0; - [LG6/I0; - [LG6/Q0; - [LG6/U0; - [LG6/Y; - [LG6/c0; - [LG6/d1; - [LG6/p0; - [LG6/q1; - [LG6/v1; - [LG6/w; - [LI5/W; - [LI5/Z; - [LO5/G; - [LY5/k; - [La8/j0; - [La8/m0; - [La8/z0; - [Lg6/e; - [Li7/t; - [Lm5/d; - [Lo5/d; - [Lp8/D; - [Lp8/K; - [Lp8/O; - [Lq6/P0; - [Lq6/U; - [Lq6/j2; - [Lq6/v1; - [Ls6/d; - [Lx7/h; - [Lx7/k; METHODS: old │ new │ diff ───────┼───────┼────────────────── 62032 │ 62038 │ +6 (+1331 -1325) + B7.A (String, l, X) + B7.A h() → X + B7.B (i, l, X) + B7.B h() → X + B7.C (Throwable, l, X) + B7.C h() → X + B7.D (String, l, X) + B7.D h() → X + B7.E (String, l, X) + B7.E h() → X + B7.F h() → X + B7.G (e) + B7.G a(JSONObject) → a + B7.G b(Object) → ECPublicKey + B7.H (c0, I, PublicKey, String, String, PublicKey, e) + B7.H G(Object, Object) → Object + B7.H f(Object, e) → e + B7.H i(Object) → Object + B7.I (j, m, i, j, h, b0, e, j) + B7.I a() → String + B7.J (e, j) + B7.K (L, e) + B7.K i(Object) → Object + B7.L (c0, b0, M, c, G, J, h0, i, e, d) + B7.L a(c0, o) → b + B7.L b(T, e) → Object + B7.M () + B7.M (boolean, List, e) + B7.M a(String) → JSONObject + B7.N (I, j) + B7.O (P, e) + B7.O i(Object) → Object + B7.P (int, Q, b) + B7.P a(e) → Object + B7.S (String, String) + B7.T () + B7.T (String, KeyPair, o, int, X) + B7.T describeContents() → int + B7.T equals(Object) → boolean + B7.T hashCode() → int + B7.T toString() → String + B7.T writeToParcel(Parcel, int) + B7.U (F) + B7.V (y) + B7.X () + B7.X (String, S ...✂ ```