stripe-android icon indicating copy to clipboard operation
stripe-android copied to clipboard

Create generic `StripeBottomSheetLayout` and use in Payments

Open tillh-stripe opened this issue 1 year ago • 1 comments

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

tillh-stripe avatar May 09 '24 14:05 tillh-stripe

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

github-actions[bot] avatar May 09 '24 14:05 github-actions[bot]