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] Wait for VerificaionPage response to return when process is killed #5816

Merged
merged 4 commits into from
Nov 14, 2022

Conversation

ccen-stripe
Copy link
Collaborator

Summary

When activity is killed by system, another API request is made to fetch Resource<VerificationPage>.

The compose screens(ConfirmationScreen, UploadScreen, DocSelectionScreen) can't use requireNotNull as the request is still pending. Refactor the compose method to draw a Loading screen when the request is pending.

Motivation

Recover from process kill

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2022

Diffuse output:

OLD: identity-example-release-base.apk (signature: none)
NEW: identity-example-release-pr.apk (signature: none)

          │            compressed            │           uncompressed           
          ├───────────┬───────────┬──────────┼───────────┬───────────┬──────────
 APK      │ old       │ new       │ diff     │ old       │ new       │ diff     
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
      dex │   1.7 MiB │   1.7 MiB │ +1.3 KiB │   3.8 MiB │   3.8 MiB │ +4.8 KiB 
     arsc │   1.1 MiB │   1.1 MiB │      0 B │   1.1 MiB │   1.1 MiB │      0 B 
 manifest │   2.2 KiB │   2.2 KiB │      0 B │   7.7 KiB │   7.7 KiB │      0 B 
      res │ 379.4 KiB │ 379.4 KiB │      0 B │ 571.8 KiB │ 571.8 KiB │      0 B 
   native │   6.2 MiB │   6.2 MiB │      0 B │  15.7 MiB │  15.7 MiB │      0 B 
    asset │     7 KiB │   5.8 KiB │ -1.3 KiB │   6.8 KiB │   5.5 KiB │ -1.3 KiB 
    other │  29.6 KiB │  29.6 KiB │      0 B │  29.9 KiB │  29.9 KiB │      0 B 
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
    total │   9.4 MiB │   9.4 MiB │     +2 B │  21.2 MiB │  21.2 MiB │ +3.5 KiB 

 DEX     │ old   │ new   │ diff              
─────────┼───────┼───────┼───────────────────
   files │     1 │     1 │   0               
 strings │ 19354 │ 19386 │ +32 (+336 -304)   
   types │  6890 │  6904 │ +14 (+301 -287)   
 classes │  5941 │  5955 │ +14 (+295 -281)   
 methods │ 30062 │ 30088 │ +26 (+3321 -3295) 
  fields │ 14982 │ 15016 │ +34 (+1772 -1738) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  259 │  259 │  0   
 entries │ 4726 │ 4726 │  0
APK
     compressed     │    uncompressed    │                                
─────────┬──────────┼─────────┬──────────┤                                
 size    │ diff     │ size    │ diff     │ path                           
─────────┼──────────┼─────────┼──────────┼────────────────────────────────
 1.7 MiB │ +1.3 KiB │ 3.8 MiB │ +4.8 KiB │ ∆ classes.dex                  
   5 KiB │ -1.3 KiB │ 4.9 KiB │ -1.3 KiB │ ∆ assets/dexopt/baseline.prof  
   737 B │     -5 B │   605 B │     -5 B │ ∆ assets/dexopt/baseline.profm 
─────────┼──────────┼─────────┼──────────┼────────────────────────────────
 1.7 MiB │     +2 B │ 3.8 MiB │ +3.5 KiB │ (total)
DEX
STRINGS:

   old   │ new   │ diff            
  ───────┼───────┼─────────────────
   19354 │ 19386 │ +32 (+336 -304) 
  + A1
  + B1
  + ConfirmationScreen.kt
  + Failed to get VerificationPage
  + La7/o_a;
  + La7/o_b;
  + La7/o_c;
  + La7/o;
  + Landroidx/appcompat/widget/a1_a;
  + Landroidx/appcompat/widget/a2_a;
  + Landroidx/appcompat/widget/d1_a;
  + Landroidx/appcompat/widget/d1_b;
  + Landroidx/appcompat/widget/d1_c;
  + Landroidx/appcompat/widget/d1_d;
  + Landroidx/appcompat/widget/d1_e;
  + Landroidx/appcompat/widget/d1_f;
  + Landroidx/appcompat/widget/d1_g;
  + Landroidx/appcompat/widget/d2;
  + Landroidx/appcompat/widget/e2;
  + Landroidx/appcompat/widget/f2;
  + Landroidx/appcompat/widget/h1_c_a;
  + Landroidx/appcompat/widget/j1_a;
  + Landroidx/appcompat/widget/j1_b;
  + Landroidx/appcompat/widget/j1_c;
  + Landroidx/appcompat/widget/j1_d;
  + Landroidx/appcompat/widget/j1_e;
  + Landroidx/appcompat/widget/j1_f;
  + Landroidx/appcompat/widget/j1_g;
  + Landroidx/appcompat/widget/m1_a;
  + Landroidx/appcompat/widget/o1_a;
  + Landroidx/appcompat/widget/s0_a;
  + Landroidx/appcompat/widget/s0_b;
  + Landroidx/appcompat/widget/s0_c;
  + Landroidx/appcompat/widget/s0_d;
  + Landroidx/appcompat/widget/s0_e;
  + Landroidx/appcompat/widget/s0_f;
  + Landroidx/appcompat/widget/x0_a;
  + Landroidx/appcompat/widget/x0_b;
  + Landroidx/appcompat/widget/x0_c;
  + Landroidx/appcompat/widget/x0_d;
  + Landroidx/appcompat/widget/z0_b;
  + Landroidx/compose/ui/platform/c1_a;
  + Landroidx/compose/ui/platform/d0_a;
  + Landroidx/compose/ui/platform/d1_a;
  + Landroidx/compose/ui/platform/e1_a;
  + Landroidx/compose/ui/platform/e2_a_a;
  + Landroidx/compose/ui/platform/e2_a_b;
  + Landroidx/compose/ui/platform/e2_a_c;
  + Landroidx/compose/ui/platform/e2_a;
  + Landroidx/compose/ui/platform/f0_a;
  + Landroidx/compose/ui/platform/f0_b;
  + Landroidx/compose/ui/platform/f0_c;
  + Landroidx/compose/ui/platform/g0_b;
  + Landroidx/compose/ui/platform/g0_c;
  + Landroidx/compose/ui/platform/h1<
  + Landroidx/compose/ui/platform/i2_a;
  + Landroidx/compose/ui/platform/i2_b;
  + Landroidx/compose/ui/platform/i2_c;
  + Landroidx/compose/ui/platform/i2_d;
  + Landroidx/compose/ui/platform/p_a;
  + Landroidx/compose/ui/platform/p_b;
  + Landroidx/compose/ui/platform/p_c;
  + Landroidx/compose/ui/platform/p_d;
  + Landroidx/compose/ui/platform/p_e;
  + Landroidx/compose/ui/platform/p_f;
  + Landroidx/compose/ui/platform/p_g;
  + Landroidx/compose/ui/platform/p_h;
  + Landroidx/compose/ui/platform/p0_a;
  + Landroidx/compose/ui/platform/p1_a;
  + Landroidx/compose/ui/platform/q0_a;
  + Landroidx/compose/ui/platform/q2_a_a;
  + Landroidx/compose/ui/platform/q2_a;
  + Landroidx/compose/ui/platform/r0_a;
  + Landroidx/compose/ui/platform/r0_b;
  + Landroidx/compose/ui/platform/r0_c;
  + Landroidx/compose/ui/platform/r0_d;
  + Landroidx/compose/ui/platform/r0_e;
  + Landroidx/compose/ui/platform/r0_f;
  + Landroidx/compose/ui/platform/r0_g;
  + Landroidx/compose/ui/platform/r0_h;
  + Landroidx/compose/ui/platform/r0_i;
  + Landroidx/compose/ui/platform/r0_j;
  + Landroidx/compose/ui/platform/r0_k;
  + Landroidx/compose/ui/platform/r0_l;
  + Landroidx/compose/ui/platform/r0_m;
  + Landroidx/compose/ui/platform/r0_n;
  + Landroidx/compose/ui/platform/r0_o;
  + Landroidx/compose/ui/platform/r0_p;
  + Landroidx/compose/ui/platform/r0_q;
  + Landroidx/compose/ui/platform/r0_r;
  + Landroidx/compose/ui/platform/v1_a;
  + Landroidx/compose/ui/platform/y_a;
  + Landroidx/compose/ui/platform/y_b;
  + Landroidx/compose/ui/platform/y_c;
  + Landroidx/compose/ui/platform/y_d;
  + Landroidx/compose/ui/platform/y_e;
  + Landroidx/compose/ui/platform/y_f;
  + Landroidx/compose/ui/platform/y_g;
  + Landroidx/compose/ui/platform/y_h;
  + Landroidx/compose/ui/platform/y_i;
  + Landroidx/compose/ui/platform/y_j;
  + Lcom/stripe/android/identity/navigation/a;
  + Ld0/f_b_a;
  + Ld0/g_a;
  + Ld0/g_b;
  + Ld0/g_c;
  + Ld0/g0_b;
  + Ld0/i_a;
  + Ld0/i_b;
  + Ld0/j0_a;
  + Ld0/l_a;
  + Ld0/l0_a;
  + Ld0/l0;
  + Ld0/o_b;
  + Ld0/o_c;
  + Ld0/o_d;
  + Ld0/o_e;
  + Ld0/p_a;
  + Ld0/t_a;
  + Ld0/x_a;
  + Ld0/z_a;
  + Ld1/c0_a;
  + Ld1/c0_b;
  + Ld1/c0_c;
  + Ld1/h0_a;
  + Ld1/o0_a;
  + Ld1/t0;
  + Ld1/x_a;
  + Lj3/h_a;
  + Lj3/h_b;
  + Lj3/h_c;
  + Lj3/l_a;
  + Lj3/l_b;
  + Lj3/l_c;
  + Lj3/l_d;
  + Lj3/l_e;
  + Lj3/l_f;
  + Lj3/l_g;
  + Lj3/l_h;
  + LoadingScreen.kt
  + Lu6/c1_a;
  + Lu6/d0_a;
  + Lu6/d1_a;
  + Lu6/e1_a;
  + Lu6/e1_b;
  + Lu6/e1_c;
  + Lu6/e1_
...✂

Co-authored-by: Till Hellmund <110940675+tillh-stripe@users.noreply.github.com>
@ccen-stripe ccen-stripe merged commit 03ae827 into master Nov 14, 2022
@ccen-stripe ccen-stripe deleted the ccen/processKill branch November 14, 2022 21:34
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.

None yet

3 participants