Skip to content

Conversation

@jaynewstrom-stripe
Copy link
Collaborator

Summary

Motivation

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog


android {
defaultConfig {
// Required by Section 2.2 Minimum Supported Platform Versions of SDK—Device Information
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't see anything about this in the spec.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 22, 2025

Diffuse output:

OLD: identity-example-release-base.apk (signature: V1, V2)
NEW: identity-example-release-pr.apk (signature: V2)

          │            compressed             │            uncompressed            
          ├───────────┬───────────┬───────────┼───────────┬───────────┬────────────
 APK      │ old       │ new       │ diff      │ old       │ new       │ diff       
──────────┼───────────┼───────────┼───────────┼───────────┼───────────┼────────────
      dex │   2.1 MiB │   2.1 MiB │  -1.1 KiB │   4.3 MiB │   4.2 MiB │  -20.7 KiB 
     arsc │   1.1 MiB │   1.1 MiB │ -27.8 KiB │   1.1 MiB │   1.1 MiB │  -27.8 KiB 
 manifest │   2.3 KiB │   2.3 KiB │       0 B │     8 KiB │     8 KiB │        0 B 
      res │ 303.5 KiB │ 296.9 KiB │  -6.6 KiB │ 457.7 KiB │ 446.3 KiB │  -11.4 KiB 
   native │   7.9 MiB │  19.3 MiB │ +11.4 MiB │  19.3 MiB │  19.3 MiB │        0 B 
    asset │   7.5 KiB │   7.2 KiB │    -273 B │   7.3 KiB │     7 KiB │     -273 B 
    other │  95.2 KiB │  52.7 KiB │ -42.6 KiB │ 183.2 KiB │ 103.9 KiB │  -79.3 KiB 
──────────┼───────────┼───────────┼───────────┼───────────┼───────────┼────────────
    total │  11.4 MiB │  22.8 MiB │ +11.3 MiB │  25.3 MiB │  25.2 MiB │ -139.5 KiB 

 DEX     │ old   │ new   │ diff                  
─────────┼───────┼───────┼───────────────────────
   files │     1 │     1 │     0                 
 strings │ 20457 │ 20482 │   +25 (+3200 -3175)   
   types │  6290 │  6250 │   -40 (+2587 -2627)   
 classes │  5051 │  5041 │   -10 (+2325 -2335)   
 methods │ 30674 │ 29242 │ -1432 (+21077 -22509) 
  fields │ 17580 │ 17637 │   +57 (+16130 -16073) 

 ARSC    │ old  │ new  │ diff          
─────────┼──────┼──────┼───────────────
 configs │  163 │  157 │  -6 (+0 -6)   
 entries │ 3667 │ 3712 │ +45 (+55 -10)
APK
      compressed      │     uncompressed      │                                                                      
──────────┬───────────┼──────────┬────────────┤                                                                      
 size     │ diff      │ size     │ diff       │ path                                                                 
──────────┼───────────┼──────────┼────────────┼──────────────────────────────────────────────────────────────────────
  6.5 MiB │  +4.1 MiB │  6.5 MiB │        0 B │ ∆ lib/x86/libtensorflowlite_jni.so                                   
  5.8 MiB │  +3.5 MiB │  5.8 MiB │        0 B │ ∆ lib/x86_64/libtensorflowlite_jni.so                                
  4.1 MiB │  +2.5 MiB │  4.1 MiB │        0 B │ ∆ lib/arm64-v8a/libtensorflowlite_jni.so                             
  2.7 MiB │  +1.3 MiB │  2.7 MiB │        0 B │ ∆ lib/armeabi-v7a/libtensorflowlite_jni.so                           
          │ -29.2 KiB │          │  -64.5 KiB │ - META-INF/CERT.SF                                                   
  1.1 MiB │ -27.8 KiB │  1.1 MiB │  -27.8 KiB │ ∆ resources.arsc                                                     
          │ -25.9 KiB │          │  -64.5 KiB │ - META-INF/MANIFEST.MF                                               
 47.1 KiB │ +24.8 KiB │   47 KiB │        0 B │ ∆ lib/x86_64/libimage_processing_util_jni.so                         
 37.5 KiB │ +19.4 KiB │ 37.4 KiB │        0 B │ ∆ lib/x86/libimage_processing_util_jni.so                            
 28.5 KiB │ +13.9 KiB │ 28.3 KiB │        0 B │ ∆ lib/arm64-v8a/libimage_processing_util_jni.so                      
 20.1 KiB │  +7.6 KiB │ 19.9 KiB │        0 B │ ∆ lib/armeabi-v7a/libimage_processing_util_jni.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.7 KiB │  +3.7 KiB │  9.9 KiB │   +9.9 KiB │ + META-INF/androidx/lifecycle/lifecycle-common/LICENSE.txt           
  3.7 KiB │  +3.7 KiB │  9.9 KiB │   +9.9 KiB │ + META-INF/androidx/collection/collection-ktx/LICENSE.txt            
  3.7 KiB │  +3.7 KiB │  9.9 KiB │   +9.9 KiB │ + META-INF/androidx/collection/collection/LICENSE.txt                
  7.2 KiB │  +3.1 KiB │  7.1 KiB │        0 B │ ∆ lib/armeabi-v7a/libandroidx.graphics.path.so                       
    5 KiB │  +3.1 KiB │  4.8 KiB │        0 B │ ∆ lib/x86_64/libsurface_util_jni.so                                  
  4.9 KiB │  +3.1 KiB │  4.7 KiB │        0 B │ ∆ lib/arm64-v8a/libsurface_util_jni.so                               
  3.8 KiB │  +1.9 KiB │  3.6 KiB │        0 B │ ∆ lib/x86/libsurface_util_jni.so                                     
  3.5 KiB │  +1.8 KiB │  3.4 KiB │        0 B │ ∆ lib/armeabi-v7a/libsurface_util_jni.so                             
  1.2 KiB │  +1.2 KiB │  2.6 KiB │   +2.6 KiB │ + kotlin/concurrent/atomics/atomics.kotlin_builtins                  
          │  -1.2 KiB │          │   -1.2 KiB │ - META-INF/CERT.RSA                                                  
  2.1 MiB │  -1.1 KiB │  4.2 MiB │  -20.7 KiB │ ∆ classes.dex                                                        
          │    -781 B │          │   -1.7 KiB │ - res/dX.xml                                                         
          │    -540 B │          │   -1.2 KiB │ - res/color/abc_tint_default.xml                                     
          │    -495 B │          │   -1.2 KiB │ - res/u01.xml                                                        
          │    -485 B │          │     -792 B │ - res/DV.xml                                                         
          │    -457 B │          │     -768 B │ - res/color/abc_tint_switch_track.xml                                
          │    -454 B │          │     -728 B │ - res/color/abc_tint_btn_checkable.xml                               
          │    -453 B │          │     -772 B │ - res/color/abc_tint_edittext.xml                                    
          │    -450 B │          │     -772 B │ - res/color/abc_tint_spinner.xml                                     
          │    -434 B │          │     -500 B │ - res/color-v23/abc_btn_colored_borderless_text_material.xml         
          │    -
...✂
MANIFEST
@@ -1,4 +1,4 @@
 <manifest
-    android:compileSdkVersion="35"
-    android:compileSdkVersionCodename="15"
+    android:compileSdkVersion="36"
+    android:compileSdkVersionCodename="16"
     android:versionCode="20"
@@ -6,4 +6,4 @@
     package="com.stripe.android.identity.example.theme1"
-    platformBuildVersionCode="35"
-    platformBuildVersionName="15"
+    platformBuildVersionCode="36"
+    platformBuildVersionName="16"
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -11,4 +11,4 @@
   <uses-sdk
-      android:minSdkVersion="21"
-      android:targetSdkVersion="35"
+      android:minSdkVersion="24"
+      android:targetSdkVersion="36"
       />
@@ -40,3 +40,3 @@
       android:appComponentFactory="androidx.core.app.CoreComponentFactory"
-      android:extractNativeLibs="true"
+      android:extractNativeLibs="false"
       android:fullBackupOnly="true"
@@ -89,2 +89,10 @@
     </service>
+    <uses-library
+        android:name="androidx.window.extensions"
+        android:required="false"
+        />
+    <uses-library
+        android:name="androidx.window.sidecar"
+        android:required="false"
+        />
     <provider
@@ -107,10 +115,2 @@
     </provider>
-    <uses-library
-        android:name="androidx.window.extensions"
-        android:required="false"
-        />
-    <uses-library
-        android:name="androidx.window.sidecar"
-        android:required="false"
-        />
     <receiver
DEX
STRINGS:

   old   │ new   │ diff              
  ───────┼───────┼───────────────────
   20457 │ 20482 │ +25 (+3200 -3175) 
  
  + 	at 
  +  INVISIBLE in onStart
  +  because it already has a parent or an owner. This tree: 
  +  can't be saved: 
  +  deactivated: 
  +  digits
  +  in onStart
  +  maximum
  +  of year 
  +  should be in range [0, 
  +  should be less than or equal to 
  +  source
  +  target
  +  to container in onStart
  +  view 
  +  when parsing an Instant from "
  + " is too long
  + _ENTRIES
  + _this_initializer
  + _v_c_androidx-compose-ui-input-key-KeyEvent_-event_0
  + ' and cannot be moved to 
  + ' at position 
  + ' in argument savedState. 
  + ' in component 
  + ' is already added to dispatcher 
  + ' is already registered with a dispatcher
  + ' to be moved to '
  + ', bounds = '
  + '-'
  + '. It may be missing, null, or not of the expected type. This can occur if the value was saved with a different type or if the saved state was modified unexpectedly.
  + ':'
  + 'T' or 't'
  + 'wght' 
  + (_|(\?(.)*)|(#(.)*))
  + ([\s\S]+?)?
  + (\?|#|_)
  + ) > toIndex(
  + ) and end (
  + ) is more than end (
  + ) must be in 0..
  + ).
  Debug info: index=
  + , but got '
  + , colorFilter=null)
  + , compositeKey=
  + , compositingStrategy=CompositingStrategy(value=0), blendMode=
  + , dataOffset=
  + , direction=-1)
  + , frameTimeMillis=
  + , got 
  + , got '
  + , groupOffset=
  + , mSystemFont: 
  + , mVariationSettings: 
  + , mergedHistory=
  + , owner=
  + , paragraphs=[
  + , range=
  + , structureCompat=
  + ,mode=Mode(value=0))
  + . Falling back to provider font.
  + 1..9 digits are supported for the fraction of the second, got 
  + ; expandedState: 
  + ; fieldRequired: 
  + ; supplementalDescription: 
  + A '+' or '-' sign is required for year numbers longer than 4 digits
  + A initializer with the same clazz has already been added: 
  + A previous pausable composition for this composition was cancelled. This composition must be disposed.
  + AccessibilityClassName
  + Adding fragment 
  + An empty string is not a valid Instant
  + AndroidContentDataType(androidAutofillType=1)
  + AndroidOwner:outOfFrameExecutor
  + Annotation
  + Any
  + Applied
  + ApplyPending
  + At least one dispatcher (NavigationEventDispatcher or OnBackPressedDispatcher) must be non-null.
  + Attempting to drawContent for a null node. This usually means that a call to ContentDrawScope#drawContent() has been captured inside a lambda, and is being invoked outside of the draw pass. Capturing the scope this way is unsupported - if you are trying to record drawContent with graphicsLayer.record(), make sure you are using the GraphicsLayer#record function within DrawScope, instead of the member function on GraphicsLayer.
  + Auto filling Date fields is not yet supported.
  + Auto filling dropdown lists is not yet supported.
  + Auto filling toggle fields are not yet supported.
  + Autofill
  + BT2020_HLG
  + BT2020_PQ
  + BackEventCompat(touchX=
  + Boolean
  + Byte
  + CANON_EQ
  + COMMENTS
  + Carousel
  + Char
  + CharSequence
  + Cloneable
  + Collecting Effects
  + Collection
  + Comparable
  + ComposeAutofillManager
  + ComposeStackTraceFrame(sourceInfo=
  + Composition stack when thrown:
  
  + CompositionErrorContext
  + CompositionLocal LocalSavedStateRegistryOwner not present
  + ContentCapture:changeChecker
  + ContentCapture:sendAppearEvents
  + ContentCaptureEvent(id=
  + ContentDataType
  + ContentQueryWrapper.query
  + ContentType
  + Copy
  + Could not resolve state for movable content
  + CreationExtras(extras=
  + Cut
  + DEFERRED
  + DOT_MATCHES_ALL
  + Dispatching
  + Double
  + DragAndDropTarget self reference must be null at the start of a drag and drop session
  + Drawing order is not available, was AccessibilityNodeInfo requested for a child node before its parent?
  + Entry
  + Enum
  + Error: currentApproachIndex cannot be greater than the size of theapproachComposedSlotIds list.
  + Expected ':' at index 
  + Expected a month number in 1..12, got 
  + Expected a valid day-of-month for month 
  + Expected an ASCII digit at index 
  + Expected an offset in -18:00..+18:00, got 
  + Expected at most 10 digits for the year number, got 
  + Expected at most 9 digits for the year number or year 1000000000, got 
  + Expected either a 36-char string in the standard hex-and-dash UUID format or a 32-char hexadecimal string, but was "
  + Expected hour in 0..23, got 
  + Expected minute-of-hour in 0.
...✂
ARSC
CONFIGS:

   old │ new │ diff       
  ─────┼─────┼────────────
   163 │ 157 │ -6 (+0 -6) 
  - color-v23
  - drawable-v23
  - layout-v22
  - style-v22
  - style-v23
  - style-v24
  

ENTRIES:

   old  │ new  │ diff          
  ──────┼──────┼───────────────
   3667 │ 3712 │ +45 (+55 -10) 
  + attr/fontProviderFallbackQuery
  + dimen/m3_alert_dialog_corner_size
  + dimen/m3_fab_corner_size
  + id/tag_compat_insets_dispatch
  + id/tag_system_bar_state_monitor
  + id/view_tree_disjoint_parent
  + id/view_tree_navigation_event_dispatcher_owner
  + string/autofill
  + style/FloatingDialogWindowTheme
  + style/ShapeAppearance.M3.Comp.Badge.Large.Shape
  + style/ShapeAppearance.M3.Comp.Badge.Shape
  + style/ShapeAppearance.M3.Comp.BottomAppBar.Container.Shape
  + style/ShapeAppearance.M3.Comp.DatePicker.Modal.Date.Container.Shape
  + style/ShapeAppearance.M3.Comp.FilledButton.Container.Shape
  + style/ShapeAppearance.M3.Comp.NavigationBar.ActiveIndicator.Shape
  + style/ShapeAppearance.M3.Comp.NavigationBar.Container.Shape
  + style/ShapeAppearance.M3.Comp.NavigationDrawer.ActiveIndicator.Shape
  + style/ShapeAppearance.M3.Comp.NavigationRail.ActiveIndicator.Shape
  + style/ShapeAppearance.M3.Comp.NavigationRail.Container.Shape
  + style/ShapeAppearance.M3.Comp.SearchBar.Avatar.Shape
  + style/ShapeAppearance.M3.Comp.SearchBar.Container.Shape
  + style/ShapeAppearance.M3.Comp.SearchView.FullScreen.Container.Shape
  + style/ShapeAppearance.M3.Comp.Switch.Handle.Shape
  + style/ShapeAppearance.M3.Comp.Switch.StateLayer.Shape
  + style/ShapeAppearance.M3.Comp.Switch.Track.Shape
  + style/ShapeAppearance.M3.Comp.TextButton.Container.Shape
  + style/ShapeAppearance.M3.Sys.Shape.Corner.ExtraLarge
  + style/ShapeAppearance.M3.Sys.Shape.Corner.ExtraSmall
  + style/ShapeAppearance.M3.Sys.Shape.Corner.Full
  + style/ShapeAppearance.M3.Sys.Shape.Corner.Large
  + style/ShapeAppearance.M3.Sys.Shape.Corner.Medium
  + style/ShapeAppearance.M3.Sys.Shape.Corner.Small
  + style/ShapeAppearance.Material3.Corner.ExtraLarge
  + style/ShapeAppearance.Material3.Corner.ExtraSmall
  + style/ShapeAppearance.Material3.Corner.Full
  + style/ShapeAppearance.Material3.Corner.Large
  + style/ShapeAppearance.Material3.Corner.Medium
  + style/ShapeAppearance.Material3.Corner.None
  + style/ShapeAppearance.Material3.Corner.Small
  + style/ShapeAppearance.Material3.LargeComponent
  + style/ShapeAppearance.Material3.MediumComponent
  + style/ShapeAppearance.Material3.NavigationBarView.ActiveIndicator
  + style/ShapeAppearance.Material3.SmallComponent
  + style/ShapeAppearance.Material3.Tooltip
  + style/ShapeAppearanceOverlay.Material3.Button
  + style/ShapeAppearanceOverlay.Material3.Chip
  + style/ShapeAppearanceOverlay.Material3.Corner.Bottom
  + style/ShapeAppearanceOverlay.Material3.Corner.Left
  + style/ShapeAppearanceOverlay.Material3.Corner.Right
  + style/ShapeAppearanceOverlay.Material3.Corner.Top
  + style/ShapeAppearanceOverlay.Material3.FloatingActionButton
  + style/ShapeAppearanceOverlay.Material3.NavigationView.Item
  + style/ShapeAppearanceOverlay.Material3.SearchBar
  + style/ShapeAppearanceOverlay.Material3.SearchView
  + style/ShapeAppearanceOverlay.MaterialAlertDialog.Material3
  
  - bool/abc_config_actionMenuItemAllCaps
  - color/abc_btn_colored_borderless_text_material
  - color/abc_btn_colored_text_material
  - drawable/abc_ic_menu_overflow_material
  - string/search_menu_title
  - string/searchbar_scrolling_view_behavior
  - string/searchview_clear_text_content_description
  - string/searchview_navigation_content_description
  - string/tooltip_description
  - string/tooltip_label

@github-actions
Copy link
Contributor

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.

@jaynewstrom-stripe jaynewstrom-stripe force-pushed the jaynewstrom/upgrade-deps branch 2 times, most recently from 39a15f5 to d4966c1 Compare November 22, 2025 16:33
@jaynewstrom-stripe jaynewstrom-stripe force-pushed the jaynewstrom/update-build-test-deps branch from c4f3961 to cee7d6a Compare December 1, 2025 13:53
Base automatically changed from jaynewstrom/update-build-test-deps to master December 1, 2025 15:06
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.

2 participants