From 3c06490b2fd2d29e2eef5e3d40eeb0f86864459d Mon Sep 17 00:00:00 2001 From: dkadrikj Date: Mon, 7 Apr 2025 11:12:27 +0200 Subject: [PATCH] feat(auth): Add Signup flow and UI. --- .idea/codeStyles/Project.xml | 35 + app/build.gradle.kts | 2 + .../protonmail/android/navigation/Launcher.kt | 2 + .../android/navigation/LauncherViewModel.kt | 10 +- ...ageLoadingTests.kt => MessageLoadTests.kt} | 2 +- gradle/libs.versions.toml | 3 +- .../core/auth/presentation/build.gradle.kts | 2 + .../presentation/ActivityResultContracts.kt | 12 +- .../auth/presentation/AuthOrchestrator.kt | 7 +- .../android/core/auth/presentation/LogTag.kt | 1 + ...sswordState.kt => ProtonSecureActivity.kt} | 21 +- .../addaccount/AddAccountActivity.kt | 13 +- .../auth/presentation/login/LoginActivity.kt | 9 +- .../signup/CountryCodeDropDown.kt | 143 ---- .../signup/CreatePasswordViewModel.kt | 61 -- .../signup/CreateRecoveryOperation.kt | 35 - .../signup/CreateRecoveryState.kt | 76 -- .../signup/CreateRecoveryViewModel.kt | 94 --- .../signup/CreateUsernameScreen.kt | 468 ------------ .../signup/CreateUsernameState.kt | 63 -- .../signup/CreateUsernameViewModel.kt | 101 --- .../presentation/signup/SignUpActivity.kt | 68 +- .../presentation/signup/SignUpOperation.kt | 90 ++- .../auth/presentation/signup/SignUpRoutes.kt | 175 ++++- .../auth/presentation/signup/SignUpScreen.kt | 62 -- ...nameOperation.kt => SignUpScreenMapper.kt} | 29 +- .../auth/presentation/signup/SignUpState.kt | 189 ++++- .../presentation/signup/SignUpViewModel.kt | 50 -- ...tePasswordOperation.kt => SignupOutput.kt} | 9 +- .../signup/ui/CountryCodeDropDown.kt | 104 +++ .../signup/ui/CountryPickerScreen.kt | 247 +++++++ .../signup/{ => ui}/CreatePasswordScreen.kt | 177 +++-- .../signup/{ => ui}/CreateRecoveryScreen.kt | 229 ++++-- .../signup/ui/CreateRecoverySkipDialog.kt | 124 ++++ .../signup/ui/CreateUsernameScreen.kt | 693 ++++++++++++++++++ .../signup/{ => ui}/DomainDropDown.kt | 5 +- .../signup/ui/NavigationBackButton.kt | 51 ++ .../signup/ui/SignUpCongratsScreen.kt | 165 +++++ .../signup/{ => ui}/SignUpLoadingScreen.kt | 59 +- .../signup/{ => ui}/TrailingIcon.kt | 2 +- .../signup/viewmodel/PasswordHandler.kt | 92 +++ .../signup/viewmodel/RecoveryHandler.kt | 236 ++++++ .../signup/viewmodel/SignUpViewModel.kt | 192 +++++ .../signup/viewmodel/UsernameHandler.kt | 224 ++++++ .../src/main/res/drawable/flag_ad.xml | 6 + .../src/main/res/drawable/flag_ae.xml | 6 + .../src/main/res/drawable/flag_af.xml | 7 + .../src/main/res/drawable/flag_ag.xml | 7 + .../src/main/res/drawable/flag_ai.xml | 9 + .../src/main/res/drawable/flag_al.xml | 4 + .../src/main/res/drawable/flag_am.xml | 5 + .../src/main/res/drawable/flag_ao.xml | 7 + .../src/main/res/drawable/flag_ar.xml | 5 + .../src/main/res/drawable/flag_as.xml | 10 + .../src/main/res/drawable/flag_at.xml | 4 + .../src/main/res/drawable/flag_au.xml | 11 + .../src/main/res/drawable/flag_aw.xml | 6 + .../src/main/res/drawable/flag_az.xml | 7 + .../src/main/res/drawable/flag_ba.xml | 16 + .../src/main/res/drawable/flag_bb.xml | 5 + .../src/main/res/drawable/flag_bd.xml | 12 + .../src/main/res/drawable/flag_be.xml | 5 + .../src/main/res/drawable/flag_bf.xml | 5 + .../src/main/res/drawable/flag_bg.xml | 5 + .../src/main/res/drawable/flag_bh.xml | 7 + .../src/main/res/drawable/flag_bi.xml | 8 + .../src/main/res/drawable/flag_bj.xml | 5 + .../src/main/res/drawable/flag_bl.xml | 8 + .../src/main/res/drawable/flag_bm.xml | 21 + .../src/main/res/drawable/flag_bn.xml | 9 + .../src/main/res/drawable/flag_bo.xml | 5 + .../src/main/res/drawable/flag_bq.xml | 7 + .../src/main/res/drawable/flag_br.xml | 6 + .../src/main/res/drawable/flag_bs.xml | 5 + .../src/main/res/drawable/flag_bt.xml | 5 + .../src/main/res/drawable/flag_bw.xml | 5 + .../src/main/res/drawable/flag_by.xml | 6 + .../src/main/res/drawable/flag_bz.xml | 9 + .../src/main/res/drawable/flag_ca.xml | 4 + .../src/main/res/drawable/flag_cd.xml | 6 + .../src/main/res/drawable/flag_cf.xml | 7 + .../src/main/res/drawable/flag_cg.xml | 5 + .../src/main/res/drawable/flag_ch.xml | 4 + .../src/main/res/drawable/flag_ci.xml | 5 + .../src/main/res/drawable/flag_ck.xml | 6 + .../src/main/res/drawable/flag_cl.xml | 6 + .../src/main/res/drawable/flag_cm.xml | 5 + .../src/main/res/drawable/flag_cn.xml | 4 + .../src/main/res/drawable/flag_co.xml | 5 + .../src/main/res/drawable/flag_cr.xml | 5 + .../src/main/res/drawable/flag_cu.xml | 6 + .../src/main/res/drawable/flag_cv.xml | 6 + .../src/main/res/drawable/flag_cw.xml | 5 + .../src/main/res/drawable/flag_cy.xml | 5 + .../src/main/res/drawable/flag_cz.xml | 5 + .../src/main/res/drawable/flag_de.xml | 5 + .../src/main/res/drawable/flag_dj.xml | 6 + .../src/main/res/drawable/flag_dk.xml | 4 + .../src/main/res/drawable/flag_dm.xml | 11 + .../src/main/res/drawable/flag_do.xml | 11 + .../src/main/res/drawable/flag_dz.xml | 6 + .../src/main/res/drawable/flag_ec.xml | 8 + .../src/main/res/drawable/flag_ee.xml | 5 + .../src/main/res/drawable/flag_eg.xml | 6 + .../src/main/res/drawable/flag_eh.xml | 7 + .../src/main/res/drawable/flag_er.xml | 6 + .../src/main/res/drawable/flag_es.xml | 4 + .../src/main/res/drawable/flag_et.xml | 8 + .../src/main/res/drawable/flag_fi.xml | 4 + .../src/main/res/drawable/flag_fj.xml | 9 + .../src/main/res/drawable/flag_fk.xml | 14 + .../src/main/res/drawable/flag_fm.xml | 4 + .../src/main/res/drawable/flag_fo.xml | 5 + .../src/main/res/drawable/flag_fr.xml | 5 + .../src/main/res/drawable/flag_ga.xml | 5 + .../src/main/res/drawable/flag_gb.xml | 14 + .../src/main/res/drawable/flag_gd.xml | 10 + .../src/main/res/drawable/flag_ge.xml | 5 + .../src/main/res/drawable/flag_gf.xml | 5 + .../src/main/res/drawable/flag_gg.xml | 5 + .../src/main/res/drawable/flag_gh.xml | 6 + .../src/main/res/drawable/flag_gi.xml | 5 + .../src/main/res/drawable/flag_gl.xml | 6 + .../src/main/res/drawable/flag_gm.xml | 6 + .../src/main/res/drawable/flag_gn.xml | 5 + .../src/main/res/drawable/flag_gp.xml | 13 + .../src/main/res/drawable/flag_gq.xml | 9 + .../src/main/res/drawable/flag_gr.xml | 7 + .../src/main/res/drawable/flag_gt.xml | 6 + .../src/main/res/drawable/flag_gu.xml | 10 + .../src/main/res/drawable/flag_gw.xml | 6 + .../src/main/res/drawable/flag_gy.xml | 7 + .../src/main/res/drawable/flag_hk.xml | 4 + .../src/main/res/drawable/flag_hn.xml | 4 + .../src/main/res/drawable/flag_hr.xml | 9 + .../src/main/res/drawable/flag_ht.xml | 10 + .../src/main/res/drawable/flag_hu.xml | 5 + .../src/main/res/drawable/flag_id.xml | 4 + .../src/main/res/drawable/flag_ie.xml | 5 + .../src/main/res/drawable/flag_il.xml | 4 + .../src/main/res/drawable/flag_im.xml | 4 + .../src/main/res/drawable/flag_in.xml | 8 + .../src/main/res/drawable/flag_io.xml | 25 + .../src/main/res/drawable/flag_iq.xml | 6 + .../src/main/res/drawable/flag_ir.xml | 6 + .../src/main/res/drawable/flag_is.xml | 5 + .../src/main/res/drawable/flag_it.xml | 5 + .../src/main/res/drawable/flag_je.xml | 7 + .../src/main/res/drawable/flag_jm.xml | 6 + .../src/main/res/drawable/flag_jo.xml | 7 + .../src/main/res/drawable/flag_jp.xml | 4 + .../src/main/res/drawable/flag_ke.xml | 10 + .../src/main/res/drawable/flag_kg.xml | 7 + .../src/main/res/drawable/flag_kh.xml | 5 + .../src/main/res/drawable/flag_ki.xml | 10 + .../src/main/res/drawable/flag_km.xml | 9 + .../src/main/res/drawable/flag_kn.xml | 7 + .../src/main/res/drawable/flag_kp.xml | 8 + .../src/main/res/drawable/flag_kr.xml | 6 + .../src/main/res/drawable/flag_kw.xml | 6 + .../src/main/res/drawable/flag_ky.xml | 12 + .../src/main/res/drawable/flag_kz.xml | 6 + .../src/main/res/drawable/flag_la.xml | 5 + .../src/main/res/drawable/flag_lb.xml | 5 + .../src/main/res/drawable/flag_lc.xml | 6 + .../src/main/res/drawable/flag_li.xml | 5 + .../src/main/res/drawable/flag_lk.xml | 10 + .../src/main/res/drawable/flag_lr.xml | 6 + .../src/main/res/drawable/flag_ls.xml | 6 + .../src/main/res/drawable/flag_lt.xml | 5 + .../src/main/res/drawable/flag_lu.xml | 5 + .../src/main/res/drawable/flag_lv.xml | 4 + .../src/main/res/drawable/flag_ly.xml | 7 + .../src/main/res/drawable/flag_ma.xml | 4 + .../src/main/res/drawable/flag_mc.xml | 4 + .../src/main/res/drawable/flag_md.xml | 8 + .../src/main/res/drawable/flag_me.xml | 7 + .../src/main/res/drawable/flag_mf.xml | 5 + .../src/main/res/drawable/flag_mg.xml | 5 + .../src/main/res/drawable/flag_mh.xml | 5 + .../src/main/res/drawable/flag_mk.xml | 7 + .../src/main/res/drawable/flag_ml.xml | 5 + .../src/main/res/drawable/flag_mm.xml | 6 + .../src/main/res/drawable/flag_mn.xml | 5 + .../src/main/res/drawable/flag_mo.xml | 6 + .../src/main/res/drawable/flag_mp.xml | 7 + .../src/main/res/drawable/flag_mq.xml | 5 + .../src/main/res/drawable/flag_mr.xml | 21 + .../src/main/res/drawable/flag_ms.xml | 14 + .../src/main/res/drawable/flag_mt.xml | 5 + .../src/main/res/drawable/flag_mu.xml | 6 + .../src/main/res/drawable/flag_mv.xml | 5 + .../src/main/res/drawable/flag_mw.xml | 6 + .../src/main/res/drawable/flag_mx.xml | 7 + .../src/main/res/drawable/flag_my.xml | 7 + .../src/main/res/drawable/flag_mz.xml | 10 + .../src/main/res/drawable/flag_na.xml | 7 + .../src/main/res/drawable/flag_nc.xml | 6 + .../src/main/res/drawable/flag_ne.xml | 6 + .../src/main/res/drawable/flag_nf.xml | 4 + .../src/main/res/drawable/flag_ng.xml | 4 + .../src/main/res/drawable/flag_ni.xml | 8 + .../src/main/res/drawable/flag_nl.xml | 5 + .../src/main/res/drawable/flag_no.xml | 5 + .../src/main/res/drawable/flag_np.xml | 6 + .../src/main/res/drawable/flag_nr.xml | 5 + .../src/main/res/drawable/flag_nu.xml | 18 + .../src/main/res/drawable/flag_nz.xml | 12 + .../src/main/res/drawable/flag_om.xml | 6 + .../src/main/res/drawable/flag_pa.xml | 7 + .../src/main/res/drawable/flag_pe.xml | 4 + .../src/main/res/drawable/flag_pf.xml | 7 + .../src/main/res/drawable/flag_pg.xml | 6 + .../src/main/res/drawable/flag_ph.xml | 6 + .../src/main/res/drawable/flag_pk.xml | 6 + .../src/main/res/drawable/flag_pl.xml | 5 + .../src/main/res/drawable/flag_pm.xml | 7 + .../src/main/res/drawable/flag_pr.xml | 6 + .../src/main/res/drawable/flag_ps.xml | 6 + .../src/main/res/drawable/flag_pt.xml | 7 + .../src/main/res/drawable/flag_pw.xml | 4 + .../src/main/res/drawable/flag_py.xml | 7 + .../src/main/res/drawable/flag_qa.xml | 7 + .../src/main/res/drawable/flag_re.xml | 6 + .../src/main/res/drawable/flag_ro.xml | 5 + .../src/main/res/drawable/flag_rs.xml | 8 + .../src/main/res/drawable/flag_ru.xml | 6 + .../src/main/res/drawable/flag_rw.xml | 6 + .../src/main/res/drawable/flag_sa.xml | 6 + .../src/main/res/drawable/flag_sb.xml | 6 + .../src/main/res/drawable/flag_sc.xml | 7 + .../src/main/res/drawable/flag_sd.xml | 6 + .../src/main/res/drawable/flag_se.xml | 4 + .../src/main/res/drawable/flag_sg.xml | 6 + .../src/main/res/drawable/flag_sh.xml | 14 + .../src/main/res/drawable/flag_si.xml | 8 + .../src/main/res/drawable/flag_sk.xml | 9 + .../src/main/res/drawable/flag_sl.xml | 5 + .../src/main/res/drawable/flag_sm.xml | 9 + .../src/main/res/drawable/flag_sn.xml | 5 + .../src/main/res/drawable/flag_so.xml | 4 + .../src/main/res/drawable/flag_sr.xml | 6 + .../src/main/res/drawable/flag_ss.xml | 8 + .../src/main/res/drawable/flag_st.xml | 6 + .../src/main/res/drawable/flag_sv.xml | 7 + .../src/main/res/drawable/flag_sx.xml | 9 + .../src/main/res/drawable/flag_sy.xml | 20 + .../src/main/res/drawable/flag_sz.xml | 7 + .../src/main/res/drawable/flag_tc.xml | 16 + .../src/main/res/drawable/flag_td.xml | 5 + .../src/main/res/drawable/flag_tg.xml | 6 + .../src/main/res/drawable/flag_th.xml | 5 + .../src/main/res/drawable/flag_tj.xml | 6 + .../src/main/res/drawable/flag_tk.xml | 5 + .../src/main/res/drawable/flag_tl.xml | 6 + .../src/main/res/drawable/flag_tm.xml | 12 + .../src/main/res/drawable/flag_tn.xml | 6 + .../src/main/res/drawable/flag_to.xml | 5 + .../src/main/res/drawable/flag_tr.xml | 5 + .../src/main/res/drawable/flag_tt.xml | 5 + .../src/main/res/drawable/flag_tv.xml | 16 + .../src/main/res/drawable/flag_tw.xml | 7 + .../src/main/res/drawable/flag_tz.xml | 6 + .../src/main/res/drawable/flag_ua.xml | 4 + .../src/main/res/drawable/flag_ug.xml | 9 + .../src/main/res/drawable/flag_us.xml | 6 + .../src/main/res/drawable/flag_uy.xml | 6 + .../src/main/res/drawable/flag_uz.xml | 8 + .../src/main/res/drawable/flag_va.xml | 6 + .../src/main/res/drawable/flag_vc.xml | 5 + .../src/main/res/drawable/flag_ve.xml | 6 + .../src/main/res/drawable/flag_vg.xml | 15 + .../src/main/res/drawable/flag_vi.xml | 9 + .../src/main/res/drawable/flag_vn.xml | 4 + .../src/main/res/drawable/flag_vu.xml | 11 + .../src/main/res/drawable/flag_wf.xml | 6 + .../src/main/res/drawable/flag_ws.xml | 5 + .../src/main/res/drawable/flag_xk.xml | 5 + .../src/main/res/drawable/flag_ye.xml | 5 + .../src/main/res/drawable/flag_yt.xml | 9 + .../src/main/res/drawable/flag_za.xml | 11 + .../src/main/res/drawable/flag_zm.xml | 10 + .../src/main/res/drawable/flag_zw.xml | 11 + .../main/res/drawable/ic_congratulations.xml | 138 ++++ .../src/main/res/values/strings.xml | 22 + ...st.kt => CreatePasswordStateScreenTest.kt} | 5 +- ...st.kt => CreateRecoveryStateScreenTest.kt} | 5 +- ...st.kt => CreateUsernameStateScreenTest.kt} | 4 +- ...gScreenTest.kt => SignUpLoadScreenTest.kt} | 11 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 290 files changed, 4877 insertions(+), 1397 deletions(-) rename app/src/uiTest/kotlin/ch/protonmail/android/uitest/e2e/mailbox/{MessageLoadingTests.kt => MessageLoadTests.kt} (99%) rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/{signup/CreatePasswordState.kt => ProtonSecureActivity.kt} (60%) delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CountryCodeDropDown.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreatePasswordViewModel.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateRecoveryOperation.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateRecoveryState.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateRecoveryViewModel.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateUsernameScreen.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateUsernameState.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/CreateUsernameViewModel.kt delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/SignUpScreen.kt rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{CreateUsernameOperation.kt => SignUpScreenMapper.kt} (50%) delete mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/SignUpViewModel.kt rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{CreatePasswordOperation.kt => SignupOutput.kt} (75%) create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/CountryCodeDropDown.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/CountryPickerScreen.kt rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{ => ui}/CreatePasswordScreen.kt (54%) rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{ => ui}/CreateRecoveryScreen.kt (64%) create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/CreateRecoverySkipDialog.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/CreateUsernameScreen.kt rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{ => ui}/DomainDropDown.kt (97%) create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/NavigationBackButton.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/ui/SignUpCongratsScreen.kt rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{ => ui}/SignUpLoadingScreen.kt (69%) rename shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/{ => ui}/TrailingIcon.kt (95%) create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/viewmodel/PasswordHandler.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/viewmodel/RecoveryHandler.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/viewmodel/SignUpViewModel.kt create mode 100644 shared/core/auth/presentation/src/main/kotlin/me/proton/android/core/auth/presentation/signup/viewmodel/UsernameHandler.kt create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ad.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ae.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_af.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ag.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ai.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_al.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_am.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ao.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ar.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_as.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_at.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_au.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_aw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_az.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ba.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bb.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bd.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_be.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bi.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bj.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bo.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bq.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_br.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bs.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_by.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_bz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ca.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cd.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ch.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ci.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ck.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_co.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cv.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cy.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_cz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_de.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_dj.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_dk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_dm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_do.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_dz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ec.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ee.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_eg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_eh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_er.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_es.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_et.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fi.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fj.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fo.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_fr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ga.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gb.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gd.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ge.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gi.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gp.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gq.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_gy.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_hk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_hn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_hr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ht.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_hu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_id.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ie.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_il.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_im.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_in.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_io.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_iq.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ir.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_is.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_it.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_je.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_jm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_jo.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_jp.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ke.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ki.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_km.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kp.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ky.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_kz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_la.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lb.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_li.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ls.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_lv.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ly.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ma.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_md.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_me.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ml.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mo.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mp.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mq.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ms.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mv.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mx.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_my.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_mz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_na.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ne.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ng.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ni.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_no.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_np.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_nz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_om.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pa.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pe.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ph.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ps.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_pw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_py.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_qa.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_re.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ro.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_rs.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ru.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_rw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sa.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sb.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sd.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_se.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sh.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_si.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_so.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ss.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_st.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sv.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sx.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sy.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_sz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_td.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_th.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tj.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tl.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_to.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tr.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tv.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_tz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ua.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ug.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_us.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_uy.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_uz.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_va.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_vc.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ve.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_vg.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_vi.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_vn.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_vu.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_wf.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ws.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_xk.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_ye.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_yt.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_za.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_zm.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/flag_zw.xml create mode 100644 shared/core/auth/presentation/src/main/res/drawable/ic_congratulations.xml rename shared/core/auth/presentation/src/test/kotlin/me/proton/android/core/auth/presentation/signup/{CreatePasswordScreenTest.kt => CreatePasswordStateScreenTest.kt} (93%) rename shared/core/auth/presentation/src/test/kotlin/me/proton/android/core/auth/presentation/signup/{CreateRecoveryScreenTest.kt => CreateRecoveryStateScreenTest.kt} (90%) rename shared/core/auth/presentation/src/test/kotlin/me/proton/android/core/auth/presentation/signup/{CreateUsernameScreenTest.kt => CreateUsernameStateScreenTest.kt} (93%) rename shared/core/auth/presentation/src/test/kotlin/me/proton/android/core/auth/presentation/signup/{SignUpLoadingScreenTest.kt => SignUpLoadScreenTest.kt} (70%) diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 1b6bac1db2..c71197a832 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -7,6 +7,41 @@