Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Instant Debits in deferred intent flows #9439

Draft
wants to merge 3 commits into
base: tillh/instant-debits-billing-details
Choose a base branch
from

Conversation

tillh-stripe
Copy link
Collaborator

Summary

Motivation

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog

@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-deferred-intent branch from 2645d3d to 6124db3 Compare October 11, 2024 20:12
Copy link
Contributor

github-actions bot commented Oct 11, 2024

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.1 MiB │     4 MiB │  -98.1 KiB │   8.9 MiB │   8.7 MiB │ -195.1 KiB 
     arsc │   2.3 MiB │   2.3 MiB │   -4.8 KiB │   2.3 MiB │   2.3 MiB │   -4.8 KiB 
 manifest │   5.1 KiB │   5.1 KiB │        0 B │  25.6 KiB │  25.6 KiB │        0 B 
      res │ 933.8 KiB │ 933.8 KiB │       +2 B │   1.5 MiB │   1.5 MiB │        0 B 
   native │   2.6 MiB │   2.6 MiB │    -18 KiB │     6 MiB │     6 MiB │  -36.5 KiB 
    asset │   2.9 MiB │   2.9 MiB │     -136 B │   2.9 MiB │   2.9 MiB │     -136 B 
    other │ 201.3 KiB │ 200.7 KiB │     -588 B │ 443.4 KiB │ 442.2 KiB │   -1.1 KiB 
──────────┼───────────┼───────────┼────────────┼───────────┼───────────┼────────────
    total │    13 MiB │  12.9 MiB │ -121.6 KiB │  22.1 MiB │  21.9 MiB │ -237.7 KiB 

 DEX     │ old   │ new   │ diff                  
─────────┼───────┼───────┼───────────────────────
   files │     1 │     1 │     0                 
 strings │ 42980 │ 42489 │  -491 (+6084 -6575)   
   types │ 14504 │ 14265 │  -239 (+5971 -6210)   
 classes │ 12091 │ 11873 │  -218 (+5071 -5289)   
 methods │ 62451 │ 61042 │ -1409 (+38456 -39865) 
  fields │ 41040 │ 40284 │  -756 (+31057 -31813) 

 ARSC    │ old  │ new  │ diff       
─────────┼──────┼──────┼────────────
 configs │  242 │  242 │  0         
 entries │ 6273 │ 6269 │ -4 (+0 -4)
APK
      compressed       │      uncompressed      │                                                    
──────────┬────────────┼───────────┬────────────┤                                                    
 size     │ diff       │ size      │ diff       │ path                                               
──────────┼────────────┼───────────┼────────────┼────────────────────────────────────────────────────
    4 MiB │  -98.1 KiB │   8.7 MiB │ -195.1 KiB │ ∆ classes.dex                                      
  2.3 MiB │   -4.8 KiB │   2.3 MiB │   -4.8 KiB │ ∆ resources.arsc                                   
          │   -4.8 KiB │           │   -9.1 KiB │ - lib/x86/libandroidx.graphics.path.so             
          │   -4.7 KiB │           │  -10.5 KiB │ - lib/x86_64/libandroidx.graphics.path.so          
          │   -4.4 KiB │           │   -9.9 KiB │ - lib/arm64-v8a/libandroidx.graphics.path.so       
          │   -4.1 KiB │           │   -7.1 KiB │ - lib/armeabi-v7a/libandroidx.graphics.path.so     
 53.5 KiB │     -226 B │ 118.6 KiB │     -569 B │ ∆ META-INF/CERT.SF                                 
 50.3 KiB │     -181 B │ 118.5 KiB │     -569 B │ ∆ META-INF/MANIFEST.MF                             
          │     -180 B │           │       -6 B │ - META-INF/androidx.graphics_graphics-path.version 
    127 B │     +127 B │       5 B │       +5 B │ + META-INF/services/N9.B                           
    127 B │     +127 B │       5 B │       +5 B │ + META-INF/services/O9.a                           
          │     -127 B │           │       -5 B │ - META-INF/services/V9.A                           
          │     -127 B │           │       -5 B │ - META-INF/services/W9.a                           
    8 KiB │     -105 B │   7.9 KiB │     -105 B │ ∆ assets/dexopt/baseline.prof                      
  1,023 B │      -31 B │     891 B │      -31 B │ ∆ assets/dexopt/baseline.profm                     
  1.1 KiB │       +4 B │   3.2 KiB │        0 B │ ∆ res/B7.xml                                       
    960 B │       -4 B │   2.7 KiB │        0 B │ ∆ res/ZW.xml                                       
  1.2 KiB │       -2 B │   3.9 KiB │        0 B │ ∆ res/2d.xml                                       
  1.1 KiB │       +2 B │   3.4 KiB │        0 B │ ∆ res/B4.xml                                       
  1.2 KiB │       -2 B │   3.7 KiB │        0 B │ ∆ res/BH.xml                                       
    784 B │       +2 B │   1.6 KiB │        0 B │ ∆ res/Bh.xml                                       
    542 B │       -2 B │     952 B │        0 B │ ∆ res/zR.xml                                       
    733 B │       +1 B │   1.4 KiB │        0 B │ ∆ res/0o.xml                                       
    812 B │       +1 B │   2.3 KiB │        0 B │ ∆ res/1w.xml                                       
    908 B │       +1 B │     2 KiB │        0 B │ ∆ res/2j.xml                                       
    749 B │       -1 B │   1.5 KiB │        0 B │ ∆ res/3O.xml                                       
    849 B │       -1 B │   1.8 KiB │        0 B │ ∆ res/8Q.xml                                       
    764 B │       +1 B │   1.6 KiB │        0 B │ ∆ res/A0.xml                                       
    437 B │       -1 B │     708 B │        0 B │ ∆ res/CP.xml                                       
    348 B │       +1 B │     496 B │        0 B │ ∆ res/KX.xml                                       
    518 B │       -1 B │     1 KiB │        0 B │ ∆ res/Lx.xml                                       
    808 B │       +1 B │   2.3 KiB │        0 B │ ∆ res/Ql.xml                                       
    375 B │       +1 B │     548 B │        0 B │ ∆ res/RJ.xml                                       
    835 B │       -1 B │   1.8 KiB │        0 B │ ∆ res/So.xml                                       
    542 B │       +1 B │   1.1 KiB │        0 B │ ∆ res/ZM.xml                                       
    705 B │       +1 B │   1.5 KiB │        0 B │ ∆ res/a1.xml                                       
    756 B │       +1 B │   1.7 KiB │        0 B │ ∆ res/cZ.xml                                       
    953 B │       +1 B │   2.5 KiB │        0 B │ ∆ res/de.xml                                       
    395 B │       -1 B │     528 B │        0 B │ ∆ res/f6.xml                                       
    655 B │       +1 B │   1.5 KiB │        0 B │ ∆ res/fu.xml                                       
    515 B │ 
...✂
DEX
STRINGS:

   old   │ new   │ diff               
  ───────┼───────┼────────────────────
   42980 │ 42489 │ -491 (+6084 -6575) 
  
  +  outside the range for 
  + , 0.0, 
  + , arrangementSpacing=
  + , billingAddress=
  + , billingEmailAddress=
  + , blue = 
  + , city=
  + , crossAxisSize=
  + , encodedPaymentMethod=
  + , green = 
  + , horizontalArrangement=
  + , issuesEnterExit=
  + , offsetTimeNanos: 
  + , platformImeOptions=null)
  + , stops=
  + , verticalArrangement=
  + ,playTimeNanos: 
  + Address(line1=
  + Android does not support arbitrary transforms
  + AnimateItemElement(appearanceSpec=
  + BillingAddress(name=
  + Can only update the current state with MutableTransitionState
  + Can't have more than 32 custom actions for one widget
  + ChildData(isTarget=
  + Compose Focus
  + Consumer session email address cannot be null
  + DpOffset is unspecified
  + DpSize is unspecified
  + DrawOverscrollModifier(overscrollEffect=
  + Duration scale adjusted time is NaN. Duration scale: 
  + Event can't be processed because we do not have an active focus target.
  + FLFFF
  + FS
  + ForceUpdateElement(original=
  + ILLLIIII
  + Inherit
  + InstantDebitsData(paymentMethod=
  + InstantDebitsInfo(paymentMethod=
  + InstantDebitsResult(paymentMethod=
  + Intrinsic size is queried but there is no measure policy in place.
  + JFFFF
  + JJFI
  + LA1/d;
  + LA1/e;
  + LA1/f;
  + LA1/g;
  + LA1/h;
  + LA1/i;
  + LA1/j;
  + LA1/k;
  + LA1/l;
  + LA1/m;
  + LA2/X;
  + LA2/Y;
  + LA3/d;
  + LA3/e;
  + LA3/f;
  + LA3/g;
  + LA3/h;
  + LA3/i;
  + LA3/j;
  + LA3/k;
  + LA3/l;
  + LA5/c;
  + LA5/d;
  + LA5/e;
  + LA5/f;
  + LA5/g;
  + LA5/h;
  + LA5/i;
  + LA5/j;
  + LA5/k;
  + LA5/l;
  + LA5/m;
  + LA5/n;
  + LA6/e;
  + LA6/f;
  + LA6/g;
  + LA6/h;
  + LA6/i;
  + LA6/j;
  + LA6/k;
  + LA6/l;
  + LA6/m;
  + LA6/n;
  + LA6/o;
  + LA7/A;
  + LA7/B;
  + LA7/C;
  + LA7/D;
  + LA7/E;
  + LA7/F;
  + LA7/G;
  + LA7/H;
  + LA7/I;
  + LA7/J;
  + LA7/f;
  + LA7/g;
  + LA7/h;
  + LA7/i;
  + LA7/j;
  + LA7/k;
  + LA7/l;
  + LA7/m;
  + LA7/n;
  + LA7/o;
  + LA7/p;
  + LA7/q;
  + LA7/r;
  + LA7/s;
  + LA7/t;
  + LA7/u;
  + LA7/v;
  + LA7/w;
  + LA7/x;
  + LA7/y;
  + LA7/z;
  + LB/h;
  + LB4/b;
  + LB4/c;
  + LB4/d;
  + LB4/e;
  + LB5/A;
  + LB5/B;
  + LB5/C;
  + LB5/D;
  + LB5/E;
  + LB5/F;
  + LB5/G;
  + LB5/H;
  + LB5/I;
  + LB5/J;
  + LB5/K;
  + LB5/L;
  + LB5/M;
  + LB5/N;
  + LB5/O;
  + LB5/P;
  + LB5/Q;
  + LB5/b;
  + LB5/c;
  + LB5/d;
  + LB5/e;
  + LB5/f;
  + LB5/g;
  + LB5/h;
  + LB5/i;
  + LB5/j;
  + LB5/k;
  + LB5/l;
  + LB5/m;
  + LB5/n;
  + LB5/o;
  + LB5/p;
  + LB5/q;
  + LB5/r;
  + LB5/s;
  + LB5/t;
  + LB5/u;
  + LB5/v;
  + LB5/w;
  + LB5/x;
  + LB5/y;
  + LB5/z;
  + LB6/T;
  + LB6/U;
  + LB6/V;
  + LB6/W;
  + LB6/X;
  + LB6/Y;
  + LB6/Z;
  + LB6/a0;
  + LB6/b0;
  + LB6/c0;
  + LB6/d0;
  + LB6/e0;
  + LB6/f0;
  + LB6/g0;
  + LB6/h0;
  + LB7/A0;
  + LB7/A;
  + LB7/B0;
  + LB7/B;
  + LB7/C0;
  + LB7/C;
  + LB7/D0;
  + LB7/D;
  + LB7/E0;
  + LB7/E;
  + LB7/F0;
  + LB7/F;
  + LB7/G0;
  + LB7/G;
  + LB7/H0;
  + LB7/H;
  + LB7/I0;
  + LB7/I;
  + LB7/J0;
  + LB7/J;
  + LB7/K0;
  + LB7/K;
  + LB7/L0;
  + LB7/L;
  + LB7/M0;
  + LB7/M;
  + LB7/N0;
  + LB7/N;
  + LB7/O0;
  + LB7/O;
  + LB7/P;
  + LB7/Q;
  + LB7/S;
  + LB7/T;
  + LB7/U;
  + LB7/V;
  + LB7/W;
  + LB7/X;
  + LB7/Y;
  + LB7/Z;
  + LB7/a0;
  + LB7/b0;
  + LB7/c0;
  + LB7/d0;
  + LB7/e0;
  + LB7/f0;
  + LB7/g0;
  + LB7/h0;
  + LB7/i0;
  + LB7/j0;
  + LB7/k0;
  + LB7/l0;
  + LB7/m0;
  + LB7/n0;
  + LB7/o0;
  + LB7/p0;
  + LB7/q0;
  + LB7/r0;
  + LB7/s0;
  + LB7/t0;
  + LB7/u0;
  + LB7/v0;
  + LB7/w0;
  + LB7/x0;
  + LB7/y0;
  + LB7/y;
  + LB7/z0;
  + LB7/z;
  + LB8/g;
  + LB8/h;
  + LB8/i;
  + LB8/j;
  + LB8/k;
  + LB9/f;
  + LB9/g;
  + LB9/h;
  + LB9/i;
  + LB9/j;
  + LBa/a;
  + LBa/b;
  + LBa/c;
  + LBa/d;
  + LBa/e;
  + LBa/f;
  + LBa/g;
  + LBa/h;
  + LBa/i;
  + LBa/j;
  + LBa/k;
  + LBa/l;
  + LBa/m;
  + LBa/n;
  + LC0/d;
  + LC0/e;
  + LC0/f;
  + LC0/g;
  + LC0/h;
  + LC0/i;
  + LC0/j;
  + LC0/k;
  + LC0/l;
  + LC0/m;
  + LC0/n;
  + LC0/o;
  + LC0/p;
  + LC0/q;
  + LC2/c;
  + LC3/a;
  + LC3/b;
  + LC4/d;
  + LC7/c;
  + LC8/A;
  + LC8/B;
  + LC8/C;
  + LC8/D;
  + LC8/E;
  + LC8/F;
  + LC8/G;
  + LC8/H;
  + LC8/I;
  + LC8/J;
  + LC8/K;
  + LC8/L;
  + LC8/M;
  + LC8/N;
  + LC8/O;
  + LC8/P;
  + LC8/Q;
  + LC8/S;
  + LC8/T;
  + LC8/U;
  + LC8/V;
  + LC8/W;
  + LC8/X;
  + LC8/Y;
  + LC8/Z;
  + LC8/a0;
  + LC8/a;
  + LC8/b0;
  + LC8/b;
  + LC8/c0;
  + LC8/c;
  + LC8/d0;
  + L
...✂
ARSC
ENTRIES:

   old  │ new  │ diff       
  ──────┼──────┼────────────
   6273 │ 6269 │ -4 (+0 -4) 
  - id/hide_graphics_layer_in_inspector_tag
  - string/state_empty
  - string/state_off
  - string/state_on

@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-deferred-intent branch 3 times, most recently from 58cdffb to 25cdd8b Compare October 17, 2024 20:00
@tillh-stripe tillh-stripe changed the base branch from master to tillh/instant-debits-billing-details October 17, 2024 20:01
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-billing-details branch from 7396227 to 74c3f3b Compare October 17, 2024 20:31
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-deferred-intent branch 2 times, most recently from 9434fb3 to e1248a7 Compare October 18, 2024 15:07
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-billing-details branch 3 times, most recently from 799f952 to e09b969 Compare October 18, 2024 19:20
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-deferred-intent branch 3 times, most recently from fc97139 to 5ed6506 Compare October 21, 2024 13:28
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-billing-details branch from e09b969 to b98de09 Compare October 21, 2024 14:44
@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-deferred-intent branch from 5ed6506 to d21a7da Compare October 21, 2024 14:47
Copy link

emerge-tools bot commented Oct 21, 2024

2 builds increased size, 1 build decreased size

Name Version Download Change Install Change Approval
Stripe Identity Example
com.stripe.android.identity.example.theme1
20.52.1-theme1 (20) 3.8 MB ⬆️ 10.9 kB (0.29%) 8.9 MB ⬆️ 19.0 kB (0.21%) N/A
Financial Connections Example
com.stripe.android.financialconnections.example
20.52.1 (205201) 4.2 MB ⬆️ 4.4 kB (0.1%) 9.5 MB ⬆️ 17.2 kB (0.18%) N/A
PaymentSheet Example
com.stripe.android.paymentsheet.example
20.52.1 (11) 8.6 MB ⬇️ 105.2 kB (-1.21%) 16.1 MB ⬇️ 216.4 kB (-1.32%) N/A

Stripe Identity Example 20.52.1-theme1 (20)
com.stripe.android.identity.example.theme1

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 19.0 kB (0.21%)
Total download size change: ⬆️ 10.9 kB (0.29%)

Largest size changes

Item Install Size Change Download Size Change
androidx.compose.ui.input.key.KeyEvent_androidKt ⬇️ -28.5 kB ⬇️ -13.7 kB
android.support.v4.media.session.MediaSessionCompat ⬆️ 18.3 kB ⬆️ 8.8 kB
📝 kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt ⬆️ 17.5 kB ⬆️ 8.4 kB
kotlin.math.MathKt ⬆️ 15.9 kB ⬆️ 7.6 kB
📝 androidx.appcompat.app.ActionBar ⬆️ 15.0 kB ⬆️ 7.2 kB
View Treemap

Image of diff

Financial Connections Example 20.52.1 (205201)
com.stripe.android.financialconnections.example

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 17.2 kB (0.18%)
Total download size change: ⬆️ 4.4 kB (0.1%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.stripe.android.financialconnections.features.linkaccountpicke... ⬇️ -53.3 kB ⬇️ -25.2 kB
📝 _COROUTINE._BOUNDARY ⬆️ 50.4 kB ⬆️ 23.8 kB
🗑 okhttp3.internal.platform.BouncyCastlePlatform$Companion ⬇️ -47.0 kB ⬇️ -22.2 kB
📝 com.stripe.android.model.parsers.SourceJsonParser$KlarnaJsonParse... ⬆️ 41.1 kB ⬆️ 19.4 kB
com.google.android.material.sidesheet.LeftSheetDelegate ⬇️ -36.5 kB ⬇️ -17.3 kB
View Treemap

Image of diff

PaymentSheet Example 20.52.1 (11)
com.stripe.android.paymentsheet.example

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 216.4 kB (-1.32%)
Total download size change: ⬇️ 105.2 kB (-1.21%)

Largest size changes

Item Install Size Change Download Size Change
🗑 androidx.compose.foundation.text.input ⬇️ -52.8 kB ⬇️ -24.2 kB
androidx.transition.FragmentTransitionSupport$1 ⬆️ 49.7 kB ⬆️ 22.7 kB
🗑 androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬇️ -42.8 kB ⬇️ -19.6 kB
🗑 com.stripe.android.paymentsheet.ui.PaymentSheetScreenKt ⬇️ -41.6 kB ⬇️ -19.0 kB
🗑 com.stripe.android.paymentsheet.ui.PaymentMethodFormKt ⬇️ -33.3 kB ⬇️ -15.2 kB
View Treemap

Image of diff


🛸 Powered by Emerge Tools

Comment trigger: Size diff threshold of 100.00kB exceeded

@tillh-stripe tillh-stripe force-pushed the tillh/instant-debits-billing-details branch from b98de09 to 90c4161 Compare October 21, 2024 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant