Skip to content

Conversation

@jaynewstrom-stripe
Copy link
Collaborator

@jaynewstrom-stripe jaynewstrom-stripe commented Nov 21, 2025

Summary

Updates the places SDK to the latest version.

While updating, we had to also update the minSDK version given the places SDK transitively updates the minSDK version as well.

Motivation

https://jira.corp.stripe.com/browse/RUN_MOBILESDK-4894
#12035

Changelog

  • [CHANGED]12036 Updates the minSDK version to 24
  • [CHANGED]12036 Updates the google places SDK from 3.5.0 to 5.1.1

@github-actions
Copy link
Contributor

github-actions bot commented Nov 21, 2025

Diffuse output:

OLD: paymentsheet-example-release-master.apk (signature: V1, V2)
NEW: paymentsheet-example-release-pr.apk (signature: V2)

          │             compressed             │           uncompressed            
          ├───────────┬───────────┬────────────┼──────────┬───────────┬────────────
 APK      │ old       │ new       │ diff       │ old      │ new       │ diff       
──────────┼───────────┼───────────┼────────────┼──────────┼───────────┼────────────
      dex │   4.6 MiB │   4.2 MiB │ -452.5 KiB │ 10.2 MiB │   8.9 MiB │   -1.3 MiB 
     arsc │   2.7 MiB │   3.5 MiB │ +723.9 KiB │  2.7 MiB │   3.5 MiB │ +723.9 KiB 
 manifest │   5.5 KiB │   5.6 KiB │     +107 B │ 29.2 KiB │  30.1 KiB │     +836 B 
      res │ 928.5 KiB │ 974.2 KiB │  +45.6 KiB │  1.5 MiB │   1.6 MiB │   +110 KiB 
   native │ 949.9 KiB │   2.5 MiB │   +1.5 MiB │  2.5 MiB │   2.5 MiB │        0 B 
    asset │  23.2 KiB │    24 KiB │     +799 B │ 43.4 KiB │  44.5 KiB │   +1.1 KiB 
    other │ 193.9 KiB │  89.3 KiB │ -104.7 KiB │  366 KiB │ 146.6 KiB │ -219.4 KiB 
──────────┼───────────┼───────────┼────────────┼──────────┼───────────┼────────────
    total │   9.4 MiB │  11.2 MiB │   +1.7 MiB │ 17.3 MiB │  16.6 MiB │ -729.9 KiB 

         │          raw           │                 unique                 
         ├───────┬───────┬────────┼───────┬───────┬────────────────────────
 DEX     │ old   │ new   │ diff   │ old   │ new   │ diff                   
─────────┼───────┼───────┼────────┼───────┼───────┼────────────────────────
   files │     2 │     1 │     -1 │       │       │                        
 strings │ 50809 │ 41821 │  -8988 │ 47959 │ 41821 │  -6138 (+9333 -15471)  
   types │ 18320 │ 14062 │  -4258 │ 16955 │ 14062 │  -2893 (+7987 -10880)  
 classes │ 14307 │ 11574 │  -2733 │ 14307 │ 11574 │  -2733 (+6769 -9502)   
 methods │ 71464 │ 58654 │ -12810 │ 69503 │ 58654 │ -10849 (+48054 -58903) 
  fields │ 47702 │ 40404 │  -7298 │ 46707 │ 40404 │  -6303 (+38131 -44434) 

 ARSC    │ old  │ new  │ diff            
─────────┼──────┼──────┼─────────────────
 configs │  242 │  316 │  +74 (+82 -8)   
 entries │ 6245 │ 6891 │ +646 (+662 -16)
APK
       compressed       │      uncompressed      │                                                                         
───────────┬────────────┼───────────┬────────────┤                                                                         
 size      │ diff       │ size      │ diff       │ path                                                                    
───────────┼────────────┼───────────┼────────────┼─────────────────────────────────────────────────────────────────────────
   3.5 MiB │ +723.9 KiB │   3.5 MiB │ +723.9 KiB │ ∆ resources.arsc                                                        
 665.2 KiB │ +438.2 KiB │ 665.1 KiB │        0 B │ ∆ lib/arm64-v8a/libsentry.so                                            
 678.2 KiB │ +426.5 KiB │ 678.1 KiB │        0 B │ ∆ lib/x86/libsentry.so                                                  
 652.7 KiB │ +422.2 KiB │ 652.6 KiB │        0 B │ ∆ lib/x86_64/libsentry.so                                               
           │ -289.1 KiB │           │ -696.3 KiB │ - classes2.dex                                                          
 430.1 KiB │ +229.5 KiB │   430 KiB │        0 B │ ∆ lib/armeabi-v7a/libsentry.so                                          
   4.2 MiB │ -163.4 KiB │   8.9 MiB │   -650 KiB │ ∆ classes.dex                                                           
           │  -53.5 KiB │           │ -118.6 KiB │ - META-INF/CERT.SF                                                      
           │  -50.4 KiB │           │ -118.5 KiB │ - META-INF/MANIFEST.MF                                                  
  16.6 KiB │    +11 KiB │  16.4 KiB │        0 B │ ∆ lib/arm64-v8a/libsentry-android.so                                    
  16.1 KiB │  +10.5 KiB │    16 KiB │        0 B │ ∆ lib/x86_64/libsentry-android.so                                       
  14.5 KiB │   +8.7 KiB │  14.4 KiB │        0 B │ ∆ lib/x86/libsentry-android.so                                          
  11.9 KiB │   +6.9 KiB │  11.8 KiB │        0 B │ ∆ lib/armeabi-v7a/libsentry-android.so                                  
  10.7 KiB │     +6 KiB │  10.5 KiB │        0 B │ ∆ lib/x86_64/libandroidx.graphics.path.so                               
    10 KiB │   +5.6 KiB │   9.9 KiB │        0 B │ ∆ lib/arm64-v8a/libandroidx.graphics.path.so                            
   9.2 KiB │   +4.4 KiB │   9.1 KiB │        0 B │ ∆ lib/x86/libandroidx.graphics.path.so                                  
   3.4 KiB │   +3.4 KiB │   8.4 KiB │   +8.4 KiB │ + res/yM1.xml                                                           
   7.2 KiB │   +3.1 KiB │   7.1 KiB │        0 B │ ∆ lib/armeabi-v7a/libandroidx.graphics.path.so                          
     3 KiB │     +3 KiB │   7.1 KiB │   +7.1 KiB │ + res/KY.xml                                                            
   1.8 KiB │   +1.8 KiB │     5 KiB │     +5 KiB │ + res/Eb.xml                                                            
   1.7 KiB │   +1.7 KiB │   7.1 KiB │   +7.1 KiB │ + res/1D.xml                                                            
   1.7 KiB │   +1.7 KiB │   5.4 KiB │   +5.4 KiB │ + res/V-.xml                                                            
   1.6 KiB │   +1.6 KiB │   4.7 KiB │   +4.7 KiB │ + res/5M.xml                                                            
   1.5 KiB │   +1.5 KiB │   6.3 KiB │   +6.3 KiB │ + res/4U.xml                                                            
   1.5 KiB │   +1.5 KiB │     8 KiB │     +8 KiB │ + res/kw.xml                                                            
   1.5 KiB │   +1.5 KiB │   4.6 KiB │   +4.6 KiB │ + res/Lu.xml                                                            
   1.3 KiB │   +1.3 KiB │   2.8 KiB │   +2.8 KiB │ + res/ZZ.xml                                                            
   1.3 KiB │   +1.3 KiB │   3.8 KiB │   +3.8 KiB │ + res/Vc.xml                                                            
   1.3 KiB │   +1.3 KiB │   2.8 KiB │   +2.8 KiB │ + res/Ka.xml                                                            
   1.2 KiB │   +1.2 KiB │   3.9 KiB │   +3.9 KiB │ + res/8Q1.xml                                                           
           │   -1.2 KiB │           │   -3.9 KiB │ - res/2d.xml                                                            
   1.2 KiB │   +1.2 KiB │   2.6 KiB │   +2.6 KiB │ + kotlin/concurrent/atomics/atomics.kotlin_builtins                     
           │   -1.2 KiB │           
...✂
MANIFEST
@@ -11,3 +11,3 @@
   <uses-sdk
-      android:minSdkVersion="21"
+      android:minSdkVersion="24"
       android:targetSdkVersion="35"
@@ -61,3 +61,3 @@
       android:appComponentFactory="androidx.core.app.CoreComponentFactory"
-      android:extractNativeLibs="true"
+      android:extractNativeLibs="false"
       android:icon="@mipmap/ic_launcher"
@@ -445,2 +445,17 @@
         />
+    <activity
+        android:exported="false"
+        android:name="com.google.android.libraries.places.widget.BasicPlaceAutocompleteActivity"
+        android:windowSoftInputMode="0x16"
+        />
+    <activity
+        android:exported="false"
+        android:name="com.google.android.libraries.places.widget.PlaceAutocompleteActivity"
+        android:windowSoftInputMode="0x16"
+        />
+    <activity
+        android:exported="false"
+        android:name="com.google.android.libraries.places.widget.internal.photoviewer.PlacesLightboxActivity"
+        android:windowSoftInputMode="0x16"
+        />
     <uses-library
DEX
STRINGS:

   old   │ new   │ diff                 
  ───────┼───────┼──────────────────────
   47959 │ 41821 │ -6138 (+9333 -15471) 
  
  + ��

@emerge-tools
Copy link

emerge-tools bot commented Nov 21, 2025

3 builds decreased size

Name Version Download Change Install Change Approval
Stripe Identity Example
com.stripe.android.identity.example.theme1
22.2.0-theme1 (20) 4.2 MB ⬇️ 51.3 kB (-1.2%) 9.8 MB ⬇️ 133.9 kB (-1.35%) N/A
Financial Connections Example
com.stripe.android.financialconnections.example
22.2.0 (220200) 4.6 MB ⬇️ 72.8 kB (-1.57%) 10.2 MB ⬇️ 164.7 kB (-1.6%) N/A
PaymentSheet Example
com.stripe.android.paymentsheet.example
22.2.0 (11) 5.6 MB ⬇️ 390.0 kB (-6.48%) 12.7 MB ⬇️ 1.2 MB (-8.58%) N/A

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

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 133.9 kB (-1.35%)
Total download size change: ⬇️ 51.3 kB (-1.2%)

Largest size changes

Item Install Size Change Download Size Change
androidx.compose.ui.input.key.KeyEvent_androidKt ⬆️ 29.1 kB ⬆️ 14.0 kB
🗑 androidx.compose.foundation.lazy.layout.LazySaveableStateHolderKt ⬇️ -26.6 kB ⬇️ -12.8 kB
🗑 androidx.compose.ui.platform.coreshims.ViewCompatShims ⬇️ -24.8 kB ⬇️ -11.9 kB
📝 androidx.compose.runtime.saveable.SaveableStateRegistryImpl$regis... ⬆️ 23.5 kB ⬆️ 11.3 kB
android.support.v4.media.session.MediaSessionCompat ⬇️ -20.1 kB ⬇️ -9.6 kB
View Treemap

Image of diff

Financial Connections Example 22.2.0 (220200)
com.stripe.android.financialconnections.example

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 164.7 kB (-1.6%)
Total download size change: ⬇️ 72.8 kB (-1.57%)

Largest size changes

Item Install Size Change Download Size Change
🗑 com.stripe.android.ui.core.elements.MandateTextUIKt ⬇️ -73.7 kB ⬇️ -34.5 kB
📝 com.stripe.android.payments.bankaccount.ui.CollectBankAccountView... ⬆️ 69.1 kB ⬆️ 32.3 kB
🗑 com.stripe.android.ui.core.elements.SaveForFutureUseElementUIKt ⬇️ -67.5 kB ⬇️ -31.6 kB
🗑 com.stripe.android.ui.core.elements.H4TextKt ⬇️ -63.2 kB ⬇️ -29.6 kB
📝 kotlin.time.DurationKt ⬆️ 62.9 kB ⬆️ 29.4 kB
View Treemap

Image of diff

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

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 1.2 MB (-8.58%)
Total download size change: ⬇️ 390.0 kB (-6.48%)

Largest size changes

Item Install Size Change Download Size Change
📝 com.bumptech.glide.GlideBuilder$LogRequestOrigins ⬆️ 73.3 kB ⬆️ 34.2 kB
🗑 com.stripe.android.uicore.elements.bottomsheet.StripeBottomSheetS... ⬇️ -62.3 kB ⬇️ -28.2 kB
🗑 androidx.compose.ui.text.font.FontLoadingStrategy ⬇️ -60.2 kB ⬇️ -27.2 kB
📝 androidx.compose.ui.unit.IntRectKt ⬆️ 57.5 kB ⬆️ 26.8 kB
com.google.android.gms.dynamite.zzb ⬇️ -60.8 kB ⬇️ -26.8 kB
View Treemap

Image of diff


🛸 Powered by Emerge Tools

Comment trigger: Size diff threshold of 100.00kB exceeded

@jaynewstrom-stripe jaynewstrom-stripe force-pushed the jaynewstrom/update-places branch 2 times, most recently from 2c77906 to de54c62 Compare November 21, 2025 14:45
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@toluo-stripe can you take a look at these changes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines -222 to 224
@Config(sdk = [Build.VERSION_CODES.O])
fun `onRenderProcessGone calls errorHandler with view URL`() = testWithSetup { client, errors, webView ->
webView.loadUrl(HOST_URL)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A little surprised this passed. Do our tests run on android version >= O?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gemeni tells me the default robolectric version is the highest supported version. But I honestly don't know!

throw AssertionError("Not expected")
}

override fun zza(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A little weird that these functions are obfuscated and the above aren't

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.

3 participants