Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Identity] Support phone verification #6438

Merged
merged 10 commits into from
Jul 27, 2023

Conversation

ccen-stripe
Copy link
Collaborator

@ccen-stripe ccen-stripe commented Mar 28, 2023

Summary

This is the release branch for Identity phone verification, will merge it to master once it's feature complete. See more details in this internal doc.

The release branch has two sets of changes -

  1. Changes in the SDK to support phone Verification - all changes are reviewed before merged into this branch, see details here

  2. Changes in the example app to support Phone verification

See a similar iOS change at stripe/stripe-ios#2452

Motivation

Support phone verification

Testing

  • Added tests
  • Modified tests
  • Manually verified

Recording

PhoneV flow
androidPhone

Changelog

  • [Added] Identity - support phone verification.

@ccen-stripe ccen-stripe requested review from a team as code owners March 28, 2023 23:31
@ccen-stripe ccen-stripe marked this pull request as draft March 28, 2023 23:32
@ccen-stripe ccen-stripe requested review from ruben-stripe and removed request for tillh-stripe March 28, 2023 23:43
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from 487008e to f915b01 Compare March 31, 2023 22:34
@ccen-stripe
Copy link
Collaborator Author

@stripe/stripe-identity-observers

@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from 8c23697 to 20725a0 Compare May 15, 2023 23:55
@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.

@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch 3 times, most recently from 6dccee1 to cc4dd14 Compare May 24, 2023 17:53
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from cc4dd14 to d58a7a4 Compare May 30, 2023 21:11
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from 20ff662 to de1d752 Compare June 21, 2023 20:16
@github-actions
Copy link
Contributor

github-actions bot commented Jun 27, 2023

Diffuse output:

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

          │            compressed             │           uncompressed            
          ├───────────┬───────────┬───────────┼───────────┬───────────┬───────────
 APK      │ old       │ new       │ diff      │ old       │ new       │ diff      
──────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────
      dex │   1.8 MiB │   1.9 MiB │   +32 KiB │   3.9 MiB │   3.9 MiB │ +72.3 KiB 
     arsc │   1.3 MiB │   1.3 MiB │  +2.4 KiB │   1.3 MiB │   1.3 MiB │  +2.4 KiB 
 manifest │   2.3 KiB │   2.3 KiB │       0 B │     8 KiB │     8 KiB │       0 B 
      res │ 337.6 KiB │ 338.2 KiB │    +655 B │ 466.3 KiB │ 467.3 KiB │    +1 KiB 
   native │   6.2 MiB │   6.2 MiB │       0 B │  15.8 MiB │  15.8 MiB │       0 B 
    asset │  67.3 KiB │  67.3 KiB │      -1 B │  87.3 KiB │  87.3 KiB │      -1 B 
    other │ 110.3 KiB │ 110.4 KiB │     +95 B │ 250.9 KiB │ 251.1 KiB │    +164 B 
──────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────
    total │   9.8 MiB │   9.9 MiB │ +35.2 KiB │  21.7 MiB │  21.8 MiB │ +75.9 KiB 

 DEX     │ old   │ new   │ diff               
─────────┼───────┼───────┼────────────────────
   files │     1 │     1 │    0               
 strings │ 19272 │ 19759 │ +487 (+536 -49)    
   types │  6002 │  6090 │  +88 (+119 -31)    
 classes │  4882 │  4966 │  +84 (+90 -6)      
 methods │ 29884 │ 30233 │ +349 (+4559 -4210) 
  fields │ 16629 │ 16880 │ +251 (+8383 -8132) 

 ARSC    │ old  │ new  │ diff       
─────────┼──────┼──────┼────────────
 configs │  258 │  258 │  0         
 entries │ 5132 │ 5138 │ +6 (+6 -0)
APK
      compressed      │     uncompressed      │                                
──────────┬───────────┼───────────┬───────────┤                                
 size     │ diff      │ size      │ diff      │ path                           
──────────┼───────────┼───────────┼───────────┼────────────────────────────────
  1.9 MiB │   +32 KiB │   3.9 MiB │ +72.3 KiB │ ∆ classes.dex                  
  1.3 MiB │  +2.4 KiB │   1.3 MiB │  +2.4 KiB │ ∆ resources.arsc               
    656 B │    +656 B │     1 KiB │    +1 KiB │ + res/Dq.xml                   
 30.8 KiB │     +51 B │ 108.8 KiB │     +82 B │ ∆ META-INF/MANIFEST.MF         
 47.6 KiB │     +44 B │ 108.9 KiB │     +82 B │ ∆ META-INF/CERT.SF             
  5.6 KiB │      -9 B │   5.4 KiB │      -9 B │ ∆ assets/dexopt/baseline.prof  
    682 B │      +8 B │     550 B │      +8 B │ ∆ assets/dexopt/baseline.profm 
    530 B │      -2 B │     984 B │       0 B │ ∆ res/WT.xml                   
    407 B │      -1 B │     592 B │       0 B │ ∆ res/-e.xml                   
    601 B │      -1 B │   1.1 KiB │       0 B │ ∆ res/MP1.xml                  
    379 B │      +1 B │     724 B │       0 B │ ∆ res/cR.xml                   
    618 B │      +1 B │   1.1 KiB │       0 B │ ∆ res/ib.xml                   
  1.1 KiB │      +1 B │   2.7 KiB │       0 B │ ∆ res/j9.xml                   
    407 B │      -1 B │     592 B │       0 B │ ∆ res/v3.xml                   
    379 B │      +1 B │     724 B │       0 B │ ∆ res/w2.xml                   
──────────┼───────────┼───────────┼───────────┼────────────────────────────────
  3.3 MiB │ +35.2 KiB │   5.4 MiB │ +75.9 KiB │ (total)
MANIFEST
              │ old                                        │ new                                        
──────────────┼────────────────────────────────────────────┼────────────────────────────────────────────
 package      │ com.stripe.android.identity.example.theme1 │ com.stripe.android.identity.example.theme1 
 version code │ 15                                         │ 16                                         
 version name │ 20.27.3-theme1                             │ 20.27.3-theme1                             

@@ -3,3 +3,3 @@
     android:compileSdkVersionCodename=13
-    android:versionCode=15
+    android:versionCode=16
     android:versionName=20.27.3-theme1
DEX
STRINGS:

   old   │ new   │ diff            
  ───────┼───────┼─────────────────
   19272 │ 19759 │ +487 (+536 -49) 
  + # ## ## ## ##
  + # ### ###
  + # ### ####
  + # #### ####
  + # ########
  + ## # ######
  + ## ## ##
  + ## ## ## ##
  + ## ## ## ###
  + ## ## ### ##
  + ## ## ### ###
  + ## ## ####
  + ## ## ######
  + ## ###
  + ## ### ## ##
  + ## ### ###
  + ## ### ####
  + ## ####
  + ## #### ####
  + ## ######
  + ## #######
  + ## #####-####
  + ## ###-###
  + ## ###-##-##
  + ## ##-####-####
  + ## ##-##-##
  + ### ## ##
  + ### ## ## ##
  + ### ## ###
  + ### ## ####
  + ### ###
  + ### ### ##
  + ### ### ###
  + ### ### ### ####
  + ### ### ####
  + ### ####
  + ### #### ####
  + ### #####
  + ### ######
  + ### #######
  + ### ###-##-##
  + #### ####
  + #### ######
  + ######
  + ########
  + ####-####
  + ####-######
  + ###-####
  + ###-######
  + ###-#######
  + ###-###-###
  + ##-### ## ##
  + ##-### ####
  + ##-#######
  + ##-####-####
  + ##-###-####
  + (###) ###-####
  + +############
  + +1
  + +20
  + +211
  + +212
  + +213
  + +216
  + +218
  + +220
  + +221
  + +222
  + +223
  + +224
  + +225
  + +226
  + +227
  + +228
  + +229
  + +230
  + +231
  + +232
  + +233
  + +234
  + +235
  + +236
  + +237
  + +238
  + +239
  + +240
  + +241
  + +242
  + +243
  + +244
  + +245
  + +246
  + +247
  + +248
  + +250
  + +251
  + +252
  + +253
  + +254
  + +255
  + +256
  + +257
  + +258
  + +260
  + +261
  + +262
  + +263
  + +264
  + +265
  + +266
  + +267
  + +268
  + +269
  + +27
  + +290
  + +291
  + +297
  + +298
  + +299
  + +30
  + +31
  + +32
  + +33
  + +34
  + +350
  + +351
  + +352
  + +353
  + +354
  + +355
  + +356
  + +357
  + +358
  + +359
  + +36
  + +370
  + +371
  + +372
  + +373
  + +374
  + +375
  + +376
  + +377
  + +378
  + +379
  + +380
  + +381
  + +382
  + +383
  + +385
  + +386
  + +387
  + +389
  + +39
  + +40
  + +41
  + +420
  + +421
  + +423
  + +43
  + +44
  + +45
  + +46
  + +47
  + +48
  + +49
  + +500
  + +501
  + +502
  + +503
  + +504
  + +505
  + +506
  + +507
  + +508
  + +509
  + +51
  + +52
  + +537
  + +54
  + +55
  + +56
  + +57
  + +58
  + +590
  + +591
  + +592
  + +593
  + +594
  + +595
  + +596
  + +597
  + +598
  + +599
  + +60
  + +61
  + +62
  + +63
  + +64
  + +65
  + +66
  + +670
  + +672
  + +673
  + +674
  + +675
  + +676
  + +677
  + +678
  + +679
  + +681
  + +682
  + +683
  + +685
  + +686
  + +687
  + +688
  + +689
  + +690
  + +7
  + +81
  + +82
  + +84
  + +852
  + +853
  + +855
  + +856
  + +86
  + +872
  + +880
  + +886
  + +90
  + +91
  + +92
  + +93
  + +94
  + +95
  + +960
  + +961
  + +962
  + +964
  + +965
  + +966
  + +967
  + +968
  + +970
  + +971
  + +972
  + +973
  + +974
  + +975
  + +976
  + +977
  + +992
  + +993
  + +994
  + +995
  + +996
  + +998
  + , cannotVerifyButtonText=
  + , closed=
  + , errorOtpMessage=
  + , options=
  + , pattern=
  + , phone=
  + , phoneNumber=
  + , phoneNumberCountries=
  + , phoneOtp=
  + , phoneOtpCheck=
  + , phoneRecords=
  + , placeholder=
  + , providedDetails=
  + , providedPhoneNumber=
  + , redactedPhoneNumber=
  + , regionCode=
  + , requirePhoneVerification=
  + , resendButtonText=
  + , useDocumentFallback=
  + /phone_otp/cannot_verify
  + /phone_otp/generate
  + 16(20.27.3-theme1)
  + 2020-08-27;identity_client_api=v4
  + A2
  + Attempt
  + B2
  + C2
  + D2
  + Document
  + DrivingLicense
  + E2
  + F2
  + FZLI
  + FocusEventElement(onFocusEvent=
  + G2
  + H2
  + I2
  + IdCard
  + LJJJJJJJJJJLI
  + LLILZZZZZZZLLI
  + LLLLLLLLLLI
  + La7/a0;
  + La7/b0;
  + La7/v;
  + La7/w;
  + La7/x;
  + La7/y;
  + La7/z;
  + Landroidx/compose/ui/focus/FocusEventElement;
  + Lf7/h2;
  + Lf7/i2;
  + Lf7/j2;
  + Lf7/k2;
  + Lf7/l2;
  + Lf7/m2;
  + Lh7/l3;
  + Lh7/m3;
  + Lh7/n3;
  + Lh7/o3;
  + Lh7/p3;
  + Lh7/q3;
  + Lh7/r3;
  + Lj7/a1;
  + Lj7/b1;
  + Lj7/c1;
  + Lj7/o0;
  + Lj7/p0;
  + Lj7/q0;
  + Lj7/r0;
  + Lj7/s0;
  + Lj7/t0;
  + Lj7/u0;
  + Lj7/v0;
  + Lj7/w0;
  + Lj7/x0;
  + Lj7/y0;
  + Lj7/z0;
  + Ll7/c;
  + Ll7/d;
  + Lo0/c3;
  + Lo4/o;
  + Lo7/a2;
  + Lo7/b2;
  + Lo7/c2;
  + Lo7/d2;
  + Lo7/e2;
  + Lo7/f2;
  + Lo7/g2;
  + Lo7/h2;
  + Lo7/i2;
  + Lo7/j2;
  + Lo7/k2;
  + Lo7/l2;
  + Lo7/m2;
  + Lo7/n2;
  + Lo7/o2;
  + Lo7/p2;
  + Lo7/q2;
  + Lo7/r2;
  + Lo7/s2;
  + Lo7/t2;
  + Lo7/u2;
  + Lo7/v2;
  + Lo7/w1;
  + Lo7/w2;
  + Lo7/x1;
  + Lo7/x2;
  + Lo7/y1;
  + Lo7/y2;
  + Lo7/z1;
  + Lo7/z2;
  + Lr1/s;
  + Lt2/q0;
  + Lw/w1;
  + Lx0/t2;
  + Ly6/j;
  + Lz6/a0;
  + Lz6/b0;
  + Lz6/c0;
  + Lz
...✂
ARSC
ENTRIES:

   old  │ new  │ diff       
  ──────┼──────┼────────────
   5132 │ 5138 │ +6 (+6 -0) 
  + drawable/stripe_warning_icon
  + string/document_fallback
  + string/otp_check
  + string/provided_phone_number
  + string/require_phone_number
  + string/stripe_phone_number

@ccen-stripe ccen-stripe added the accept-risky-change accept-risky-change label Jun 28, 2023
@ccen-stripe
Copy link
Collaborator Author

ccen-stripe commented Jun 28, 2023

The following reviewed PRs are merged into this release branch:
#6815
#6801
#6773
#6958
#7051

@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from eadf3c2 to af58e1c Compare June 30, 2023 22:54
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from af58e1c to df4ea2d Compare July 17, 2023 17:48
@ccen-stripe ccen-stripe changed the title [Identity] Update identity example app for phone verification [Identity] Support phone verification Jul 18, 2023
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from a59c11f to 39388dd Compare July 24, 2023 17:53
@emerge-tools
Copy link

emerge-tools bot commented Jul 24, 2023

1 build increased size, 1 build had no size change

Name Version Download Change Install Change
Stripe Identity Example 20.27.3-theme1 (16) 3.7 MB ⬆️ 33.1 kB (0.89%) 9.0 MB ⬆️ 75.7 kB (0.85%)
PaymentSheet Example 20.27.3 (11) 8.0 MB - 15.0 MB -

Stripe Identity Example 20.27.3-theme1 (16)

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 75.7 kB (0.85%)
Total download size change: ⬆️ 33.1 kB (0.89%)

Largest size changes

Item Install Size Change Download Size Change
impl ⬆️ 41.2 kB ⬆️ 19.6 kB
ui ⬆️ 36.1 kB ⬆️ 17.2 kB
image ⬇️ -30.5 kB ⬇️ -14.5 kB
elements ⬆️ 21.7 kB ⬆️ 10.3 kB
androidx.camera.core classes ⬆️ 14.8 kB ⬆️ 7.0 kB

Image of diff

PaymentSheet Example 20.27.3 (11)

No changes to report


🛸 Powered by Emerge Tools

@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from 08e9164 to 4760030 Compare July 24, 2023 22:12
@ccen-stripe ccen-stripe force-pushed the ccen/IDPROD-5537/phoneVerificationBase branch from 4760030 to 6bed5e6 Compare July 26, 2023 18:20
@ccen-stripe ccen-stripe marked this pull request as ready for review July 26, 2023 19:17
@ccen-stripe ccen-stripe requested review from carlosmuvi-stripe and removed request for ruben-stripe July 26, 2023 19:23
@ccen-stripe ccen-stripe merged commit 4c33790 into master Jul 27, 2023
12 checks passed
@ccen-stripe ccen-stripe deleted the ccen/IDPROD-5537/phoneVerificationBase branch July 27, 2023 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accept-risky-change accept-risky-change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants