stripe-android
stripe-android copied to clipboard
Use `WorkManager` for `AnalyticsRequestV2`
Summary
Motivation
Testing
- [ ] Added tests
- [ ] Modified tests
- [ ] Manually verified
Screenshots
Before | After |
---|---|
before screenshot | after screenshot |
Changelog
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.
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
...✂
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 |
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 |
:flying_saucer: Powered by Emerge Tools
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 |
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 |
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 |
:flying_saucer: Powered by Emerge Tools
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 |
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 |
:flying_saucer: Powered by Emerge Tools
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 |
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 |
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 |
:flying_saucer: Powered by Emerge Tools