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

Use `WorkManager` for `AnalyticsRequestV2`

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

Summary

Motivation

Testing

  • [ ] Added tests
  • [ ] Modified tests
  • [ ] Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog

tillh-stripe avatar Feb 23 '24 00:02 tillh-stripe

Risky Change

This is considered a risky change because it adjusts the sample app build.gradle, please review carefully. We've seen issues in the past which resulted in failed builds for merchants. Please make sure the build.gradle change is intended.

By adding the label accept-risky-change to this PR, I acknowledge that I'm changing an example app and have verified that the SDK remains in a shippable state.

github-actions[bot] avatar Feb 23 '24 00:02 github-actions[bot]

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.8 KiB │  8.6 MiB │  8.6 MiB │ +5.3 KiB 
     arsc │   2.5 MiB │   2.5 MiB │      0 B │  2.5 MiB │  2.5 MiB │      0 B 
 manifest │   5.1 KiB │   5.1 KiB │      0 B │ 25.4 KiB │ 25.4 KiB │      0 B 
      res │ 935.7 KiB │ 935.7 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 │     3 MiB │     3 MiB │ +1.3 KiB │    3 MiB │    3 MiB │ +1.3 KiB 
    other │ 210.8 KiB │ 210.8 KiB │     +5 B │  471 KiB │  471 KiB │      0 B 
──────────┼───────────┼───────────┼──────────┼──────────┼──────────┼──────────
    total │  13.1 MiB │  13.1 MiB │ +4.2 KiB │   22 MiB │   22 MiB │ +6.7 KiB 

 DEX     │ old   │ new   │ diff              
─────────┼───────┼───────┼───────────────────
   files │     1 │     1 │   0               
 strings │ 42740 │ 42768 │ +28 (+49 -21)     
   types │ 14558 │ 14566 │  +8 (+28 -20)     
 classes │ 12309 │ 12317 │  +8 (+11 -3)      
 methods │ 60832 │ 60857 │ +25 (+2735 -2710) 
  fields │ 40053 │ 40075 │ +22 (+759 -737)   

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  328 │  328 │  0   
 entries │ 7261 │ 7261 │  0
APK
     compressed      │     uncompressed     │                                
──────────┬──────────┼───────────┬──────────┤                                
 size     │ diff     │ size      │ diff     │ path                           
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
  3.9 MiB │ +2.8 KiB │   8.6 MiB │ +5.3 KiB │ ∆ classes.dex                  
  7.1 KiB │ +1.3 KiB │     7 KiB │ +1.3 KiB │ ∆ assets/dexopt/baseline.prof  
 67.8 KiB │     +3 B │ 152.9 KiB │      0 B │ ∆ META-INF/CERT.SF             
    833 B │     +2 B │     701 B │     +2 B │ ∆ assets/dexopt/baseline.profm 
  1.2 KiB │     +1 B │   1.2 KiB │      0 B │ ∆ META-INF/CERT.RSA            
 54.3 KiB │     +1 B │ 152.8 KiB │      0 B │ ∆ META-INF/MANIFEST.MF         
──────────┼──────────┼───────────┼──────────┼────────────────────────────────
    4 MiB │ +4.2 KiB │   8.9 MiB │ +6.7 KiB │ (total)
DEX
STRINGS:

   old   │ new   │ diff          
  ───────┼───────┼───────────────
   42740 │ 42768 │ +28 (+49 -21) 
  
  + , clientId=
  + , params=
  + A3
  + AnalyticsRequestV2(eventName=
  + B3
  + Ld0/h;
  + Lke/j;
  + Lte/j;
  + Lwa/n0;
  + Lwa/o0;
  + Lwa/p0;
  + Lwa/q0;
  + Lwa/r0;
  + Lwa/s0;
  + Lza/i;
  + Lza/j;
  + VILLLDLLLLLLL
  + VLLLDL
  + [Lbf/i;
  + [Ld/m;
  + [Lke/i;
  + [Lpe/b1;
  + [Lpe/e0;
  + [Lpe/g0;
  + [Lpe/l0;
  + [Lpe/p0;
  + [Lpe/r;
  + [Lpe/t;
  + [Lpe/y;
  + [Lte/a;
  + [Lwa/e0;
  + [Lwa/m;
  + [Lwa/p0;
  + [Lwa/q0;
  + [Lza/h;
  + androidx.work.WorkManager
  + com.stripe.android.core.networking.AnalyticsRequestV2
  + com.stripe.android.core.networking.StripeRequest.Method
  + com.stripe.android.core.networking.StripeRequest.MimeType
  + isWorkManagerAvailable
  + mimeType
  + networkClient
  + postParameters
  + uses_work_manager
  + w3
  + x3
  + y3
  + z3
  + ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:1c4922d,r8-mode:full,version:8.2.47}
  
  - Ld/n;
  - Lpe/c1;
  - Lue/r;
  - [Lbf/j;
  - [Ld/n;
  - [Lke/g;
  - [Lpe/c1;
  - [Lpe/f0;
  - [Lpe/h0;
  - [Lpe/n0;
  - [Lpe/q0;
  - [Lpe/s;
  - [Lpe/u;
  - [Lpe/z;
  - [Lue/e;
  - [Lwa/j0;
  - [Lwa/j;
  - [Lwa/k0;
  - [Lwa/y;
  - [Lza/g;
  - ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:e932d75,r8-mode:full,version:8.2.47}
  

TYPES:

   old   │ new   │ diff         
  ───────┼───────┼──────────────
   14558 │ 14566 │ +8 (+28 -20) 
  
  + Ld0/h;
  + Lke/j;
  + Lte/j;
  + Lwa/n0;
  + Lwa/o0;
  + Lwa/p0;
  + Lwa/q0;
  + Lwa/r0;
  + Lwa/s0;
  + Lza/i;
  + Lza/j;
  + [Lbf/i;
  + [Ld/m;
  + [Lke/i;
  + [Lpe/b1;
  + [Lpe/e0;
  + [Lpe/g0;
  + [Lpe/l0;
  + [Lpe/p0;
  + [Lpe/r;
  + [Lpe/t;
  + [Lpe/y;
  + [Lte/a;
  + [Lwa/e0;
  + [Lwa/m;
  + [Lwa/p0;
  + [Lwa/q0;
  + [Lza/h;
  
  - Ld/n;
  - Lpe/c1;
  - Lue/r;
  - [Lbf/j;
  - [Ld/n;
  - [Lke/g;
  - [Lpe/c1;
  - [Lpe/f0;
  - [Lpe/h0;
  - [Lpe/n0;
  - [Lpe/q0;
  - [Lpe/s;
  - [Lpe/u;
  - [Lpe/z;
  - [Lue/e;
  - [Lwa/j0;
  - [Lwa/j;
  - [Lwa/k0;
  - [Lwa/y;
  - [Lza/g;
  

METHODS:

   old   │ new   │ diff              
  ───────┼───────┼───────────────────
   60832 │ 60857 │ +25 (+2735 -2710) 
  
  + a0.j a(b, List, List, r)
  + a0.l C(k3, String) → String
  + a0.l D(String) → h
  + a0.l E(String) → List
  + a0.l F(String) → ArrayList
  + a0.l G(int) → boolean
  + a0.l H(String) → String
  + a0.l I(View, int, int)
  + a0.l J(b0, float)
  + a0.l K(WindowManager, View, WindowManager_LayoutParams)
  + a0.l L(Integer, List) → e3
  + a0.l p(String) → s0
  + a2.m C(String, String, String) → StringBuilder
  + a2.m D(String, String, String, String, String) → StringBuilder
  + a2.m E(List, Parcel) → Iterator
  + a2.m F(Set, Parcel) → Iterator
  + a2.m G(int, int, o, HashMap, Integer)
  + ab.b a(Application, h, h) → h3
  + ab.s <init>(Application, h0, k, k, c, n, y)
  + ad.d g() → String
  + ad.e g() → String
  + ad.f g() → String
  + ad.g g() → String
  + ad.h g() → String
  + ad.i g() → String
  + ad.j g() → String
  + ad.k g() → String
  + ad.l g() → String
  + ad.m g() → String
  + ad.n g() → String
  + ad.o g() → String
  + ae.a d(a0, Object, m, f) → Object
  + ae.c d(a0, Object, m, f) → Object
  + ae.d d(a0, Object, m, f) → Object
  + ae.e d(a0, Object, m, f) → Object
  + ae.g a(a0, Object, m, e) → Object
  + ae.g d(a0, Object, m, f) → Object
  + ae.k a(Context, f, Map, Set, j, j, a, boolean, boolean, boolean) → b
  + ae.n <init>(o, a0, k4, m, e)
  + ae.o d(a0, Object, m, f) → Object
  + ae.q d(a0, Object, m, f) → Object
  + ae.t d(a0, Object, m, f) → Object
  + ae.t e(a0, z5, m, e) → Object
  + aj.a0 A(a) → Object
  + aj.a0 C() → short
  + aj.a0 D() → String
  + aj.a0 E() → float
  + aj.a0 G() → double
  + aj.a0 H(g) → int
  + aj.a0 p(g, int, a, Object) → Object
  + aj.a0 s() → m
  + aj.a0 t(g) → int
  + aj.a0 u() → int
  + aj.a0 v() → byte
  + aj.a0 y(g) → c
  + aj.a0 z()
  + aj.a A(a) → Object
  + aj.a J(Object) → byte
  + aj.a K(Object) → char
  + aj.a r(Object) → boolean
  + aj.a s() → m
  + aj.a y(g) → c
  + aj.b0 B(m)
  + aj.b0 D0(g, int)
  + aj.b0 E(String)
  + aj.b0 H(g, int)
  + aj.b0 h(double)
  + aj.b0 i(short)
  + aj.b0 j(b, Object)
  + aj.b0 q(int)
  + aj.b0 s(g, int, b, Object)
  + aj.b0 u(float)
  + aj.b0 w(g) → d
  + aj.b0 x(long)
  + aj.b0 z(char)
  + aj.b E(String)
  + aj.b i(short)
  + aj.b q(int)
  + aj.b x(long)
  + aj.b y1(String)
  + aj.c A()
  + aj.c B(m)
  + aj.c 
...✂

github-actions[bot] avatar Feb 23 '24 00:02 github-actions[bot]

2 builds increased size

Name Version Download Change Install Change Approval
Stripe Identity Example
com.stripe.android.identity.example.theme1
20.37.4-theme1 (20) 3.9 MB ⬆️ 5.0 kB (0.13%) 9.3 MB ⬆️ 7.6 kB (0.08%) N/A
:warning: Financial Connections Example
com.stripe.android.financialconnections.example
20.37.4 (203704) 3.6 MB ⬆️ 100.9 kB (2.88%) 8.1 MB ⬆️ 223.6 kB (2.83%) N/A

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 7.6 kB (0.08%) Total download size change: ⬆️ 5.0 kB (0.13%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.google.android.material.datepicker.DateStrings ⬇️ -99.8 kB ⬇️ -48.2 kB
androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬆️ 68.0 kB ⬆️ 32.8 kB
androidx.camera.core.AspectRatio ⬇️ -61.3 kB ⬇️ -29.6 kB
📝 com.google.android.material.ripple.RippleDrawableCompat$1 ⬆️ 50.7 kB ⬆️ 24.5 kB
com.google.android.material.drawable.DrawableUtils ⬆️ 28.2 kB ⬆️ 13.6 kB

Image of diff

Financial Connections Example 20.37.4 (203704)
com.stripe.android.financialconnections.example

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 223.6 kB (2.83%) Total download size change: ⬆️ 100.9 kB (2.88%)

Largest size changes

Item Install Size Change Download Size Change
com.stripe.android.core.networking.LinearRetryDelaySupplier_Facto... ⬆️ 122.4 kB ⬆️ 57.9 kB
com.nimbusds.jose.shaded.asm.DefaultConverter ⬇️ -117.3 kB ⬇️ -55.5 kB
🗑 com.stripe.android.financialconnections.ui.components.TextKt ⬇️ -103.8 kB ⬇️ -49.1 kB
📝 androidx.work.impl.model.RawWorkInfoDao_Impl ⬆️ 96.1 kB ⬆️ 45.4 kB
🗑 com.stripe.android.financialconnections.navigation.bottomsheet.Na... ⬇️ -94.9 kB ⬇️ -44.9 kB

Image of diff


:flying_saucer: Powered by Emerge Tools

emerge-tools[bot] avatar Feb 23 '24 01:02 emerge-tools[bot]

3 builds increased size

Name Version Download Change Install Change Approval
Stripe Identity Example
com.stripe.android.identity.example.theme1
20.37.4-theme1 (20) 3.9 MB ⬆️ 5.0 kB (0.13%) 9.3 MB ⬆️ 7.6 kB (0.08%) N/A
PaymentSheet Example
com.stripe.android.paymentsheet.example
20.37.4 (11) 8.5 MB ⬆️ 791 B 16.1 MB ⬆️ 6.2 kB (0.04%) N/A
:warning: Financial Connections Example
com.stripe.android.financialconnections.example
20.37.4 (203704) 3.6 MB ⬆️ 100.9 kB (2.88%) 8.1 MB ⬆️ 223.6 kB (2.83%) N/A

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 7.6 kB (0.08%) Total download size change: ⬆️ 5.0 kB (0.13%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.google.android.material.datepicker.DateStrings ⬇️ -99.8 kB ⬇️ -48.2 kB
androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬆️ 68.0 kB ⬆️ 32.8 kB
androidx.camera.core.AspectRatio ⬇️ -61.3 kB ⬇️ -29.6 kB
📝 com.google.android.material.ripple.RippleDrawableCompat$1 ⬆️ 50.7 kB ⬆️ 24.5 kB
com.google.android.material.drawable.DrawableUtils ⬆️ 28.2 kB ⬆️ 13.6 kB

Image of diff

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 6.2 kB (0.04%) Total download size change: ⬆️ 791 B

Largest size changes

Item Install Size Change Download Size Change
🗑 com.stripe.android.financialconnections.ui.sdui.ServerDrivenUiKt ⬇️ -161.1 kB ⬇️ -73.2 kB
androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬆️ 137.7 kB ⬆️ 62.5 kB
📝 com.stripe.android.financialconnections.ui.theme.LayoutKt ⬆️ 131.6 kB ⬆️ 59.7 kB
🗑 com.stripe.android.payments.core.ActivityResultLauncherHost$Defau... ⬇️ -76.6 kB ⬇️ -34.8 kB
androidx.camera.core.AspectRatio ⬆️ 67.4 kB ⬆️ 30.6 kB

Image of diff

Financial Connections Example 20.37.4 (203704)
com.stripe.android.financialconnections.example

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 223.6 kB (2.83%) Total download size change: ⬆️ 100.9 kB (2.88%)

Largest size changes

Item Install Size Change Download Size Change
com.stripe.android.core.networking.LinearRetryDelaySupplier_Facto... ⬆️ 122.4 kB ⬆️ 57.9 kB
com.nimbusds.jose.shaded.asm.DefaultConverter ⬇️ -117.3 kB ⬇️ -55.5 kB
🗑 com.stripe.android.financialconnections.ui.components.TextKt ⬇️ -103.8 kB ⬇️ -49.1 kB
📝 androidx.work.impl.model.RawWorkInfoDao_Impl ⬆️ 96.1 kB ⬆️ 45.4 kB
🗑 com.stripe.android.financialconnections.navigation.bottomsheet.Na... ⬇️ -94.9 kB ⬇️ -44.9 kB

Image of diff


:flying_saucer: Powered by Emerge Tools

emerge-tools[bot] avatar Feb 23 '24 01:02 emerge-tools[bot]

2 builds increased size

Name Version Download Change Install Change Approval
:warning: Financial Connections Example
com.stripe.android.financialconnections.example
20.37.4 (203704) 3.6 MB ⬆️ 100.7 kB (2.88%) 8.1 MB ⬆️ 223.6 kB (2.83%) N/A
Stripe Identity Example
com.stripe.android.identity.example.theme1
20.37.4-theme1 (20) 3.9 MB ⬆️ 5.0 kB (0.13%) 9.3 MB ⬆️ 7.6 kB (0.08%) N/A

Financial Connections Example 20.37.4 (203704)
com.stripe.android.financialconnections.example

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 223.6 kB (2.83%) Total download size change: ⬆️ 100.7 kB (2.88%)

Largest size changes

Item Install Size Change Download Size Change
com.stripe.android.core.networking.LinearRetryDelaySupplier_Facto... ⬆️ 122.4 kB ⬆️ 57.9 kB
com.nimbusds.jose.shaded.asm.DefaultConverter ⬇️ -117.3 kB ⬇️ -55.5 kB
🗑 com.stripe.android.financialconnections.ui.components.TextKt ⬇️ -103.8 kB ⬇️ -49.1 kB
📝 androidx.work.impl.model.RawWorkInfoDao_Impl ⬆️ 96.1 kB ⬆️ 45.4 kB
🗑 com.stripe.android.financialconnections.navigation.bottomsheet.Na... ⬇️ -94.9 kB ⬇️ -44.9 kB

Image of diff

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 7.6 kB (0.08%) Total download size change: ⬆️ 5.0 kB (0.13%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.google.android.material.datepicker.DateStrings ⬇️ -99.8 kB ⬇️ -48.2 kB
androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬆️ 68.0 kB ⬆️ 32.8 kB
androidx.camera.core.AspectRatio ⬇️ -61.3 kB ⬇️ -29.6 kB
📝 com.google.android.material.ripple.RippleDrawableCompat$1 ⬆️ 50.7 kB ⬆️ 24.5 kB
com.google.android.material.drawable.DrawableUtils ⬆️ 28.2 kB ⬆️ 13.6 kB

Image of diff


:flying_saucer: Powered by Emerge Tools

emerge-tools[bot] avatar Feb 23 '24 18:02 emerge-tools[bot]

3 builds increased size

Name Version Download Change Install Change Approval
PaymentSheet Example
com.stripe.android.paymentsheet.example
20.40.0 (11) 8.5 MB ⬆️ 2.4 kB (0.03%) 16.2 MB ⬆️ 6.8 kB (0.04%) N/A
:warning: Financial Connections Example
com.stripe.android.financialconnections.example
20.40.0 (204000) 3.6 MB ⬆️ 99.5 kB (2.83%) 8.1 MB ⬆️ 225.8 kB (2.85%) N/A
Stripe Identity Example
com.stripe.android.identity.example.theme1
20.40.0-theme1 (20) 5.9 MB ⬆️ 3.1 kB (0.05%) 12.5 MB ⬆️ 4.4 kB (0.03%) N/A

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 6.8 kB (0.04%) Total download size change: ⬆️ 2.4 kB (0.03%)

Largest size changes

Item Install Size Change Download Size Change
📝 com.stripe.android.paymentsheet.example.samples.ui.addresselement... ⬆️ 92.8 kB ⬆️ 42.2 kB
com.google.android.gms.common.wrappers.InstantApps ⬇️ -61.6 kB ⬇️ -28.0 kB
🗑 com.stripe.android.paymentsheet.example.samples.ui.customersheet.... ⬇️ -57.0 kB ⬇️ -25.9 kB
com.stripe.android.financialconnections.features.common.Verificat... ⬇️ -31.8 kB ⬇️ -14.5 kB
📝 com.stripe.android.paymentsheet.flowcontroller.PaymentSelectionUp... ⬆️ 30.6 kB ⬆️ 13.9 kB
View Treemap

Image of diff

Financial Connections Example 20.40.0 (204000)
com.stripe.android.financialconnections.example

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 225.8 kB (2.85%) Total download size change: ⬆️ 99.5 kB (2.83%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.google.android.material.resources.TypefaceUtils ⬇️ -132.4 kB ⬇️ -62.7 kB
🗑 com.nimbusds.jose.crypto.impl.CipherHelper ⬇️ -103.1 kB ⬇️ -48.8 kB
📝 androidx.work.impl.WorkManagerImplExtKt ⬆️ 100.3 kB ⬆️ 47.5 kB
📝 com.stripe.android.financialconnections.ui.theme.LayoutKt ⬆️ 91.6 kB ⬆️ 43.4 kB
📝 androidx.work.impl.model.RawWorkInfoDao_Impl ⬆️ 91.4 kB ⬆️ 43.3 kB
View Treemap

Image of diff

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

⚖️ Compare build ⏱️ Analyze build performance

Total install size change: ⬆️ 4.4 kB (0.03%) Total download size change: ⬆️ 3.1 kB (0.05%)

Largest size changes

Item Install Size Change Download Size Change
📝 com.google.android.material.ripple.RippleDrawableCompat$1 ⬆️ 112.7 kB ⬆️ 54.3 kB
🗑 com.google.android.material.datepicker.DateStrings ⬇️ -87.8 kB ⬇️ -42.3 kB
androidx.camera.core.impl.utils.MainThreadAsyncHandler ⬆️ 33.1 kB ⬆️ 15.9 kB
androidx.camera.core.impl.utils.executor.MainThreadExecutor ⬇️ -29.7 kB ⬇️ -14.3 kB
com.google.android.material.drawable.DrawableUtils ⬇️ -18.6 kB ⬇️ -9.0 kB
View Treemap

Image of diff


:flying_saucer: Powered by Emerge Tools

emerge-tools[bot] avatar Feb 23 '24 18:02 emerge-tools[bot]