stripe-android
stripe-android copied to clipboard
Properly attribute `product_usage` tokens in `PaymentAnalyticsRequestFactory`.
Summary
Overrides the base createRequest parameter to add product usage tokens when needed.
Motivation
Resolves RUN_MOBILESDK-2978
Helps properly attribute PaymentSheet analytics events (mc_) to the used product (PaymentSheet or FlowController).
Testing
- [x] Added tests
- [ ] Modified tests
- [ ] Manually verified
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 │ +52 B │ 8.8 MiB │ 8.8 MiB │ +140 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 │ 932.5 KiB │ 932.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 │ -13 B │ 2.9 MiB │ 2.9 MiB │ -13 B
other │ 195.8 KiB │ 195.8 KiB │ +11 B │ 430.3 KiB │ 430.3 KiB │ 0 B
──────────┼───────────┼───────────┼───────┼───────────┼───────────┼────────
total │ 12.9 MiB │ 12.9 MiB │ +50 B │ 22 MiB │ 22 MiB │ +127 B
DEX │ old │ new │ diff
─────────┼───────┼───────┼────────────
files │ 1 │ 1 │ 0
strings │ 43943 │ 43943 │ 0 (+1 -1)
types │ 15190 │ 15190 │ 0 (+0 -0)
classes │ 12827 │ 12827 │ 0 (+0 -0)
methods │ 62787 │ 62788 │ +1 (+1 -0)
fields │ 41308 │ 41308 │ 0 (+0 -0)
ARSC │ old │ new │ diff
─────────┼──────┼──────┼──────
configs │ 242 │ 242 │ 0
entries │ 6068 │ 6068 │ 0
APK
compressed │ uncompressed │
──────────┬───────┼───────────┬────────┤
size │ diff │ size │ diff │ path
──────────┼───────┼───────────┼────────┼───────────────────────────────────────────
4 MiB │ +52 B │ 8.8 MiB │ +140 B │ ∆ classes.dex
7.3 KiB │ -13 B │ 7.2 KiB │ -13 B │ ∆ assets/dexopt/baseline.prof
53.3 KiB │ +8 B │ 118.1 KiB │ 0 B │ ∆ META-INF/CERT.SF
272 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
50.1 KiB │ -1 B │ 118.1 KiB │ 0 B │ ∆ META-INF/MANIFEST.MF
──────────┼───────┼───────────┼────────┼───────────────────────────────────────────
4.1 MiB │ +50 B │ 9.1 MiB │ +127 B │ (total)
DEX
STRINGS:
old │ new │ diff
───────┼───────┼───────────
43943 │ 43943 │ 0 (+1 -1)
+ ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:5b79389,r8-mode:full,version:8.3.37}
- ~~R8{backend:dex,compilation-mode:release,has-checksums:false,min-api:21,pg-map-id:f6b027a,r8-mode:full,version:8.3.37}
METHODS:
old │ new │ diff
───────┼───────┼────────────
62787 │ 62788 │ +1 (+1 -0)
+ r6.g a(a, Map) → b