From 2e2ce205d79822e1f45254debb606ec08459e990 Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Tue, 18 May 2021 16:05:11 +0200 Subject: [PATCH] [EGD-5404] Added onBoarding Sim select window Added onBoarding Sim select window and skip sim select. Removed old PhoneLock settings selector from settings. --- .../application_onboarding/sim1_option.png | Bin 0 -> 1996 bytes .../application_onboarding/sim2_option.png | Bin 0 -> 2066 bytes art/phone/common/sim_card_W_G.png | Bin 0 -> 4756 bytes image/assets/images/sim1_option.vpi | Bin 0 -> 821 bytes .../images/{sim1.vpi => sim1_status.vpi} | Bin image/assets/images/sim2_option.vpi | Bin 0 -> 933 bytes .../images/{sim2.vpi => sim2_status.vpi} | Bin image/assets/images/sim_card_W_G.vpi | Bin 0 -> 7749 bytes image/assets/lang/English.json | 4 + module-apps/CMakeLists.txt | 1 - .../ApplicationOnBoarding.cpp | 10 +- .../ApplicationOnBoarding.hpp | 2 + .../application-onboarding/CMakeLists.txt | 9 +- .../style/OnBoardingStyle.hpp | 17 +++ .../windows/NoSimSelectedDialogWindow.cpp | 29 +++++ .../windows/NoSimSelectedDialogWindow.hpp | 19 ++++ .../OnBoardingChangeDateAndTimeWindow.cpp | 2 +- .../windows/OnBoardingDateAndTimeWindow.cpp | 4 +- .../windows/OnBoardingSimSelectWindow.cpp | 102 ++++++++++++++++++ .../windows/OnBoardingSimSelectWindow.hpp | 24 +++++ .../windows/StartConfigurationWindow.cpp | 20 ++-- .../windows/DateAndTimeMainWindow.cpp | 5 +- .../windows/DateAndTimeMainWindow.hpp | 2 + .../ApplicationSettings.cpp | 37 ------- .../ApplicationSettings.hpp | 14 +-- .../windows/SettingsMainWindow.cpp | 1 - module-apps/options/OptionStyle.hpp | 2 + module-apps/options/type/OptionChangePin.cpp | 86 --------------- module-apps/options/type/OptionChangePin.hpp | 45 -------- module-apps/options/type/OptionSetting.cpp | 6 ++ module-gui/gui/widgets/TopBar/SIM.cpp | 8 +- 31 files changed, 244 insertions(+), 205 deletions(-) create mode 100644 art/phone/application_onboarding/sim1_option.png create mode 100644 art/phone/application_onboarding/sim2_option.png create mode 100644 art/phone/common/sim_card_W_G.png create mode 100644 image/assets/images/sim1_option.vpi rename image/assets/images/{sim1.vpi => sim1_status.vpi} (100%) create mode 100644 image/assets/images/sim2_option.vpi rename image/assets/images/{sim2.vpi => sim2_status.vpi} (100%) create mode 100644 image/assets/images/sim_card_W_G.vpi create mode 100644 module-apps/application-onboarding/style/OnBoardingStyle.hpp create mode 100644 module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.cpp create mode 100644 module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.hpp create mode 100644 module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.cpp create mode 100644 module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.hpp delete mode 100644 module-apps/options/type/OptionChangePin.cpp delete mode 100644 module-apps/options/type/OptionChangePin.hpp diff --git a/art/phone/application_onboarding/sim1_option.png b/art/phone/application_onboarding/sim1_option.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3743d9ab4082e0daeee6f7d0ea10cf75762e9f GIT binary patch literal 1996 zcmbVNTWl0n7#?a%3WTI!YMKVjIK(KlvomLQc6Mjdg|xesu5@d&Y(tfh^z6);-AQ*Y zotbvGO%zI%w8nsmAZbx)G=jt^cmW=4#7azjQBfj380+;-2@j1SnkIT?Zxqtj#!Y7D z%sJox|KEQ*|3r7!?v3jk*AoP>G1d`H;5X?#wN?0kq2cBm__faJc+w$=4flJ`8e-~| z27*|7P)qi@z41;-Hgz9V%oOtFbqk{jqGea!f^t7{$rMU!Mwq(w(G`l+lrXg~5NG37 z1ZA|25gY9t=}O8Y{j#V~yLOT-c?m1fkqgPZo;4gPAEpX=CA{{w8Hy}G-2O1t>KP<^ zw(wV& z%DAp2F-$I(^X2?L(@rx$6h(&R7>=Vcf_8=t7v^ch*;dvNMUHH1maCZt>1l*1bI=V_ zm}$`k-KwZHoKl!@z?eL=7~o?)mkK~duHdXeJ6kZW$PCIN9T~2Jv7myrGNx-f8FLxc zmE*e%;Lyh76&p)((e;W6$88_NZj=JDB-%+1TZl;@#~id})INl1Zu7jcq==26YuZWE z%$5_?U8YP%A~-QXBp;1KSu;F8wl9)GQRt#Dg;U4UEKhS{5~mLE5+7({If-S9(735+ z>Tm@LXqKZnJ_&*n7nImw6ASJ@aos4;h5rdwWJxt`9b&IF9i|au8EJ~F#8QfwS<}Xb zF+2a_{a7T@ZJVl=#RpDecN-aNj|e~%1e)`K0^N9AiW!az4H?CvVG2jcr)i25fQo{F zA{_{VAk8B|p`kw|(~uWbQ3)X!QczhwYRZFN9hBu2EYGG8;5a!%tNs9>c@W@fQQ!gX zmsOBLyc&eOQkH+h)^H!f?Elt-`{hn3%34~nM-EQ3Q|hKRm@cid+D^|+k0xT-U`XaX z=Wv#I!4K(BFqNWVC$8wzfn@Ru|Etd@h5q(iQ5o2y;x;%|RQrrg8RG*9^>Z9yoAlW&W$H zsC)P?*F3A@&v8EP?oKX>$r)&*5x(yk%5$fX-ePW;d(&1pTXc(-;rMFymX(=+KPpoN z8CbQAXU5!%;5|HV=3~*;WXHtK$qJ23iBpZeF~$)6v8@Z^~vd#>Gnx~GRaI?bUF0gO<;>(GuL&x8r`J_R< zz6tcy{rS@OmkxY)V*HP~M>aj2nL0Awwa`k`&7ALlsG7KN{_17@?cW=T7r<-NV`G=I z*RS+_<$tD$+VN(hW}Vzv`}ZWcsDIGBC-M9bx6B=97rv}N`rP=ZgZkEU?@Wx(x$4l_ hw?em1z5dG#QC0WNu??5L{@9zhvG%U$yKQ}k{{=-dkS72D literal 0 HcmV?d00001 diff --git a/art/phone/application_onboarding/sim2_option.png b/art/phone/application_onboarding/sim2_option.png new file mode 100644 index 0000000000000000000000000000000000000000..09c8ba794f9d2ceb38c2d0e36faab574fe3325be GIT binary patch literal 2066 zcmbVNeQ4Zd7|+eAUEOf&U>2#6Wis7IE+3c6C9&77y{qe4)7I;;bw$DVlK1XH?~*LZ zwb#O29TQt9tHpNCtqegF1sSgDA5N(I%Q4t=f=v8qD;B5X))fRN>V|LbYu#9D@gSEc z@B4e6=l6WQ?_gWYt~HepS7I2pCejp+qBrh76)VvHKh;;?M6Xq5(_S0H9$4=_9_-k7 zHHO`HK#O%a9rDwXVr0BPHR8~l%a{m_VYNGQCQ!PdgU4Y~(}TpdPd+7ZO$`!z{4y<@ zA(+yd`YhPq*Ai3ux)f0*cGTguISCoaKnLKtOj@_4T#(4ym5}T%Qv{xeI9)-a-gSs~ z$ZdGYuprKRX;PtS9uJ6KhUa)r*p9O_%TP2!F)YdWB|j^%B3}Fv$eX1mq-glbqA&Cn zBvOuJN)*-8)8p;&c?~N`F`_6^G)u88i4dgSt2-b^>h`9Rg)p=gOEVqK&~euyh#Ofa zNFb(#5He=jtZo<6gc3&OfJrf4+6^fWRFyK$%v$NZb5)^W8fKvG*a*v%v1ZC}3_E2k zV!FJ2n*)?uSuXpyE0;{B?80^$yHOa$gxnQv$9hdjMWJnEEd@4qBbuAsXiO<&LEsox z%rMfWLba7BpTPZ=+d>rVCKn zP_;yF8Oo3}OR`*y2}mq2`RHvla|??4Mg3hMnX%Y4LiE40gp6>ct+%TlJzoqy0R=qblU;C0wdudfimRPG*tqS z^Yg42AX$Nqlbk>cq?kaG!n1-xb0QZ{AV>MKNnu0Dx_wa6SCKv)hYZUq0-5mn8IoiC z94Yb~L;92i6Ng+P064Xz-)d=S4ng{V+d=bkD-|Ux^(Z1671}ONQv*mArL8+_%Aj*%i_>J`s9WsH8x^V(2lKRIjne{|&am)4$74@IiS zuyH%Q5@S{j2&+T#&hy@N;?F<&e909PeD8@QcCmB)$Y>RI1fKhLWYh2Ojb!Kc&)m~L zI&pbm_uj6-igm-sJ3K#(uW!Kmqgz3&Vt(3Z*Brh+S%*)PzQ?ATJ$~W3 zef82`(%T~=b3Z*haMXEljsshM2UL2dcQy|p8aE#Z?5&ma63+Jdf* literal 0 HcmV?d00001 diff --git a/art/phone/common/sim_card_W_G.png b/art/phone/common/sim_card_W_G.png new file mode 100644 index 0000000000000000000000000000000000000000..fcaaded068512dae0bd201ac31c2ea252bacab59 GIT binary patch literal 4756 zcmYLNXHXMB(@sLf(3?O&gwVT&-i!1O(u+XoAWa0M2qY*?DT?$C(nAYXrGwI>2?(Kx zR6#m|1P}sW{N|na{js;Zw>xulJ9E!IdoPU)G$}}#NdW)=g|?QOF+rpL351xieo}N8 zCMcl4v8D>3c8q0<;HbG+YP;&|0|W>*1OSZn0D%9c5QLc^002=T5I{uGz<+y%p#Mfu zg+%|e|0QZAfr9`5nk#L!`=-Iby~TmoEPaeO4{;5bgG?!U7z!wPi`OS0J0)tFR4bQS z>MqwyqDv|*tz7BHE6TJWb}lfB3{0B+d0aol2_teJB_dOfA1(iCb2?`5D{CujD}Rso z1h=afi$2BAR9VzbqNCHD#dwg{_#oU)U6*SY9%mzaaXGGZ?c5nOhD<+sK`G0ZQ&3>I zdAa$CN=e?I<>{=$)^4^{idi5p0FFFciQR2G=p2r?{5=3ZD?nb!FyvmHc3pFGu!R4a znDZOBlX1s?MC7HoQ^;HttF;^mZV8nBiu}7(zPp6HwtaV(TSCV>)p03M;HS@sP1G5S zdDIESbG5B~WOUR;^G={Chbpz>G}`Q3SK#`iB-p66>+g0|z~u?nKK|9{i^se51Fo7Z zerjbUNvf9V_7UgY7grYtDSaNiOFcK)a`VEDhPDvg+psjA?t`xDe8Bb5@I4cL@@UqO z_2jwV18hoxV!3q@op{{B?q&fpiK`5~nrdR8?JWK0t14qx-F&PLt@6;{^%TPf-_CO$ zGPaX9s+8JaN=!@JU-inu1a(ga*pMY$Xj%jL-=BA@8^?5})u$(I`9T#6r@M10{Q6Ov zouMb&#=Ixzb`s z=rYYv2`_$ec|2|+W@>jP5NCA5*f0$+vR-T3)=<}VCF?-GJ7uV(a7PQS`|if?Ik$pR z&fM7)16h8#&0K%c>4hd|0kBb>NsO_fNVmDBz{$v!5ZOSo#PXWj4=bY21sZfuR>4N& z$itqSl`=QnOP9aL~GrtesDd9=@z!YKQV`$+Ay`%uZ%euI z=05H{BGbKetp=Z+t-WT{??l9rk7ftib1-Z@U{SrHK`n%iI@!Ty;IsQS6Qcoo*?Mtt zBIlxo`b%1V6mfU>l+j>38R@t*dSsHMFsm{A0(WcFWM0bmNA7mhs+DgoIRzx4<6^(9 z@+04?4<1uxlQ~1Bw8{$CxCP(xyVgC4!Zt0Yl0IxYwSTRyL3vL~0u`n_vL+@bA+Si_ zjuZ1oWA3Zk?rG0@(3D|{;khbY@Vk*d?|l}nt;vdRf%wjS+kb25EK6HvTlDMTbKlo$ zJ)Tf!OmigJ&@iizRhlKa^j>I5dy9E6CE=&m)rver)wP0I-T`T@aD1pxMZ>- z!bH+US|yv`w+BJr`=-8{Xfw+kgg2zSUIO9I=|>P)!_cu#xZ`vQg+WZwf*JM7c!pgl z|HZH3*T(YgBjQZqP9yK~CC`7FPCqEg%SQywdz7CDeNZ5wF0)@0t>wqQ;5&QCn?LB& zdAEx?S1fQ?>33pYn=j7ivrT z?8A>KZqhgvYCr5HBdh6F8Cc>y|GD;Bsdn7IsBbsGXSBk~J!_|)t4JM_>U;3WESyZZ zL0F!ENlqcy4{W4z(B6iefa>)>5>=|-@Eg_oCTHvpxGagW#J4iFGm!Y8pJ^6luBkzl zls;{HExRkRZ24u(F`-hs2#9Xx)3-@rxN0<8!~OM> zE85&v8_-tKNi>DKyvvCK#_@1N!;PcISd$XijkY6FczO9_9RI=a5GhB`-uopxIbDFN zW$&$)y@mt;F|=trzDZP*UgOL%D3*WbL?&^?RqJrxvyPkAJ+OlEAMid^FvlUG4X*HL z?=~S$l#70xixu;^A<@QWJy?fMbS4oT>4L}^2qXbI7OAg|hBn_hrn2NOIQhsKDckJB zh2qvTD}|2@(}JR2!WnA_z@ZG9j{If4hO#TpgG*}9y@Wo~aXq{dP+q5E(fm8u^}zfAXsuhG2KJn2RH$GA*0$R) zY%Eb2WtIkr^h4xBU@B_a8%yqBgd?^kJv`CHR^!=x@IGY%(XmWYe7>Y@tQiz1k?&== zUkQ3-#sK}qyn!ho+IqV!^Ge@fO>rH|8LJYdO$FuaQnBzFo3-aC7D*($Mr88 z1zF#e5qUxYO_Zs_pK-lMZO^kvt5fKp>^(dn%ljq$sU_XaIDZOYf5}f$r51MO=$x4(VT)C$^88Q%_2zZXOxs%{ zAI3UXPj5~6_9uG=p2_3?OwH*_E#7)vF)j0l>)uoz&gA)gK%c zAZ9-(pc=F~-0D`VjYLv_XNE`;06OI4TgYer>WdQ8mOJ#hzHFT4*paL}|7kOeQon<} zkgqdR1>-GyJWp!_tW;1|4FDeZ0J^Jrd(?f-R9n|*cn75cMq^Wt9If#9F=xtOr`(N?T~(e}S(x{r>Er1Aq7Shq|HzBHl1y zg0|(A8sNA8Vop+~toTZRK0a_;^~)Bv@3#MTS^hFR9l(h;oX5k}2*rBb7Zdih#&?Qm zrkUkN(ZWajAiwD}YUs_4mw>!73JV2J{lCOmfKqul6G{!R>sufxf3}t*hpvq@7zS{G zw1P9E;526AdMTYf64Zo;l#fXOFfjNyOA@>d5{xuBj;&DG+r#|FEdVT@Smfgr!JYxCG~c(icBv2dO`=+GyzuCXXRA4{zWd@uz*?dd?hbTYAxdvd>Wv)|nvd zxYQZ$VKs3UVeK}YvyEA8@3U<2C@md)mSr8GCDd=ap6_S(={nNoEO_t0S_44GnkoHd zA1gLxUG$iYQ8D|y7ql;;2anl8N9CTh7$3L3gObcZDPcJbO z-gx>Dt7kF*Aki<@z1I=&>t#lso$N@EWK!7v$IZ9zvP790E&Vgrsg7S2?XNgg*?SMF zS!6tXqK#XPzejmeE$ZtSZ5MI=(>d8II)~~?D1-_Wkir0*?0-=sJkV+@I&t6)n?u_( zTI**;r#DRTysa70JNf>^$RyM{;!E!fDn;oB;eSGzM!c9wKG{u9gAgQ7#XQ>|kK~)m zJtI+FxJoXYm2V}Tkftp7d-6)KRx8Qe=1KWc-Gpsj`;kt=TbuVjdvm!5+JH*rLC5Lj z-ESkpyw%Cuo(Sp@*%r`|Rg=CT8A9+$XX_QH>@m(0|3ktAM-Z_T4i?EKLr%Rd5l zW=ahx?^D@g5=~W!FsPT5d{7DwA{tZ(%`5uf4R=E5W#fs5c7^Q7i2g&$h&fO)#%zu`R{z zZ~{A2rRk2Jsk1K#ZI^~U9W=fvA<9JYRU&Vy11OJyniCi&qo`afbD~sAAv9dh%Q5@n zuO}*LD|>8G)^1E(mz%VfI;pM`XsTvfXGf&EeK*&ZZ2y=RqFlsXy#V_# zNSWxtW~@)(Z_2gbY{9FMhNU#!oW&8n#w4F7TlGcc3bP-Dt?p^&jqgrXN+PX{1%O;S z3eAKOU_?#L_HB-oZ|w;6Rzs>}<)-_l=k{-$OxX6N=tzVjzLc)}Q=l%XAv32hro{CX z|HH&vSQMlH_WB>Q1~0u*Dw<7mVpndrCjK`KK^z{o>S0I|1F)#c+C#{}(cz8n8XlWL z$SGu3LK?uX9(jG0%68IyrNnq^O5YaLN z6K<&57POhdMm)u=%OI`t-crx{&h%8hNqYH`;58jP3Ou;Jzu3lD1=jB)j9`CQ>gNSl z8jo^B!eab9R-=corE-Wh_<>U-V?*x0d!aT9K3E)9i2=FiKt z%ZM=|iEMHdm8P;&%D-7S0F!j6VSp7jn2L}a&vr9mJZ^fVO`l4?CGN7tYMhF=_oXsLI0jNrAk zfSh-EcXKBTbZB7#>@bzARCLxYN0qY4&jNhT*A(>$L}dD84%}Hct&pt=5S% z#*%=sejGK|b+`I~Ea@DS*r=aIZ$q}m{9sH~bg>lN4^uMa&wH8mi}^DQrwR)^HBmV7 zjZwHD5Y8RQ(%S$_oxFp(`Lh3ar?z|}4*aWxi}3eR>!13AZ*lCw>LS%=3?zhX!bkm~ cnCB64je)_lllZmOzaJrObpy3p6~y!Z1Gjet5C8xG literal 0 HcmV?d00001 diff --git a/image/assets/images/sim1_option.vpi b/image/assets/images/sim1_option.vpi new file mode 100644 index 0000000000000000000000000000000000000000..7fa222f5a9db10ffb51ffbc8a26ab7e713580018 GIT binary patch literal 821 zcmdT@OBRD53=H-e)LLU-FTnjz*_jj&w3{xw03_J45U3Z0DO(aAtzz^KR zB(m6uuQ4Ngw$3&eE4Yjn?jkE$i^z~!lOdS<(z2b<*r9ep)tC|ArSIOLTHhuTiL6*R zEV%GayBZRy{$3ebfIM5A2NS7RrdNvME0gtg>^82m`7$D~b3?~0J%aHQpS|7AEHt^k z?$!J;qn-D}NkBYDpNo>%k7u3JFV@mgD%5+9(YbPP`W>5gihbqDsH?42I1+HBb8hj= IAHjIZ-p&sTl>h($ literal 0 HcmV?d00001 diff --git a/image/assets/images/sim1.vpi b/image/assets/images/sim1_status.vpi similarity index 100% rename from image/assets/images/sim1.vpi rename to image/assets/images/sim1_status.vpi diff --git a/image/assets/images/sim2_option.vpi b/image/assets/images/sim2_option.vpi new file mode 100644 index 0000000000000000000000000000000000000000..172f017cee784aeb9b373301247d1d8bca4f1dd4 GIT binary patch literal 933 zcmb7@Ym$R741=BS66n)(_5$4hl&jChNn4oC^aljnk|Qf&vBlWz?hc zRdJcjPCn>sSS$0IJ^C@T!qTmr%`Tu$W``9uxtax+%KMc_2m!w10@wTZg;rDO%YB49%rO@-1!6PxA;HK4h&QP literal 0 HcmV?d00001 diff --git a/image/assets/images/sim2.vpi b/image/assets/images/sim2_status.vpi similarity index 100% rename from image/assets/images/sim2.vpi rename to image/assets/images/sim2_status.vpi diff --git a/image/assets/images/sim_card_W_G.vpi b/image/assets/images/sim_card_W_G.vpi new file mode 100644 index 0000000000000000000000000000000000000000..7f998580be21987349aab8efa351e2c9e1fc3e18 GIT binary patch literal 7749 zcmeHMO>Z1U5S`gid;Kx~$U4TxCQfX}V1ft-BISTMa6kxgKnNj(5JD)5_!ar-y!WQ6 zw_M(japL5}WoNs)>b+Oh-8C~kZ>l%d&bX?o7fn^w+f~)ys;bFmdu97YvyRc{HdfEe*K?Qj}Pdplj!@0c9d=v_!=U0YC zMWr8TXHq8Zz$hd5|8@32-y?CH29Da*0qf<0{!`8J2}hkBSl<}FbDl`aaq4Bn-v(S+ z!~0m)M}}EcVB|YPQ0`6Lk*v%7LWO&LpAo=!D7_C2#~FV}?T5lVaJG<#AK3?-q5!H6 zWIdf@{nH%lsT4fmNYMIoYCn+Ge(L=twfAMUmwJCq?LArTrrzIDdskLF>_tqT!{4J7 z`gdf-4HK>YNLG!kwv*ML$!c49+hQ*>8nP_Qm}UIm5~i#@Z|MCidAC-ZiRo{)LsXl> z+DN_sB(IHz^-Wf$?NzYY5C$t#nMW|lA}~#4wN9%LCAuQTBK zZ)&eKJ5W7NjE}uNf%jTfO%Ynn|3LVXV}WEa)0@7#RXZiXh>jmD5F4)(aX`uw{jKcLH1nk6;AIn9pofr{h5%Qtc1$RX4nNkgc|Ev?XWs$Co@Gzw~oQ{ zvUSWXm57!zjPY2fIu3g>`-)tdF=yNUh-{2OHDxgymb`ZLomk3!;p2`h(vQdH;m~41 z9eGDa({Qn5o^s_XjI1E2NuE{q#|o#lXL+j|%^NK|YRpN#a|^*%_&ioji>hH}x*)Ev z3F6P#d?sW;-LBn0yJd4ZLrs53ws~f&~EqbzBmCdex&rhTG z!Kl22Joc1bF^8PLH|D?*n1i18#vJn6GWWx7S;oqhugqgYRqaq6hUoM84M#( zjN3l#H&a-NIb`B7mCUK)i=IlPHu(3OeV`7AVmxyZ;UPrW+=vHNPKcJFfiwy&qvp2*p?IY58|bvd_W^62BXBm#n+YnXJWc;l-12fP zT>Z2|^N6;;XZgGeIoJ>No~Jl1W`76g>4v=VN8V5>Z{u%IIy__kesO~zZhSWJnf3FM ztYNhDwC4=Vlczp4+++OVj4012Zmdt~f%{CJv9aE##+-MbF?bg%cs}8p#g*f61+hKW z`5LQjdFDcVw@=PMjI%gc1!b=jXE>`1N@NwhTB}LK0^_Tw0M?TZCyc94DXF^KiRbFm zQ!FN&w6UGG>jEQ{6CknOIziuzXHM#Uk=-7i4#4@_uX*#yP1dj|>wpm?^lROJbb4-a(89l{cK_naSzi5h7dO8pUx@z$`}&sN literal 0 HcmV?d00001 diff --git a/image/assets/lang/English.json b/image/assets/lang/English.json index b4025008aef31a80d049790ee44defd0ec624ee9..7b83940895728257432b33f9457fdccf4796d5d0 100644 --- a/image/assets/lang/English.json +++ b/image/assets/lang/English.json @@ -310,6 +310,10 @@ "app_onboarding_title": "Onboarding", "app_onboarding_start_configuration": "

Hello!



Let's configure your Mudita Pure.", "app_onboarding_eula_license": "License agreement (EULA)", + "app_onboarding_select_sim": "Choose active SIM", + "app_onboarding_select_sim_description": "Only one SIM can be active at a time.

You can choose it now and switch in

the Settings whenever needed.
", + "app_onboarding_no_sim_selected_title": "SIM setup", + "app_onboarding_no_sim_selected_description": "No SIM card set up.

To connect to network, set up

SIM cards in Settings.
>", "app_onboarding_title_configuration": "Configuration", "app_onboarding_title_update_info": "MuditaOS update", "app_onboarding_skip_confirm": "Sim setup is required for network connection. Skip the setup anyway? ", diff --git a/module-apps/CMakeLists.txt b/module-apps/CMakeLists.txt index 6804af901302bc5e5056c4f6a2f06b1dff4c8fce..1893c0eafafefa0382bf9d5375d2d7305c73ceed 100644 --- a/module-apps/CMakeLists.txt +++ b/module-apps/CMakeLists.txt @@ -47,7 +47,6 @@ set( SOURCES "options/type/OptionCall.cpp" "options/type/OptionContact.cpp" "options/type/OptionSetting.cpp" - "options/type/OptionChangePin.cpp" "options/type/OptionWithActiveIcons.cpp" "notifications/NotificationData.cpp") diff --git a/module-apps/application-onboarding/ApplicationOnBoarding.cpp b/module-apps/application-onboarding/ApplicationOnBoarding.cpp index b4e09aec9a77b11da4bdf445a6865388e7ae0087..09256291dd14cfeceb0fb267f0fa7b485fe46526 100644 --- a/module-apps/application-onboarding/ApplicationOnBoarding.cpp +++ b/module-apps/application-onboarding/ApplicationOnBoarding.cpp @@ -9,6 +9,8 @@ #include "windows/StartConfigurationWindow.hpp" #include "windows/OnBoardingLanguagesWindow.hpp" #include "windows/EULALicenseWindow.hpp" +#include "windows/OnBoardingSimSelectWindow.hpp" +#include "windows/NoSimSelectedDialogWindow.hpp" #include "windows/ConfigurationSuccessfulDialogWindow.hpp" #include "windows/NoConfigurationDialogWindow.hpp" #include "windows/UpdateDialogWindow.hpp" @@ -123,6 +125,13 @@ namespace app std::move(eulaRepository)); return std::make_unique(app, std::move(presenter)); }); + windowsFactory.attach(gui::window::name::onBoarding_sim_select, [](Application *app, const std::string &name) { + return std::make_unique(app, gui::window::name::onBoarding_sim_select); + }); + windowsFactory.attach(gui::window::name::onBoarding_no_sim_selected, + [](Application *app, const std::string &name) { + return std::make_unique(app); + }); windowsFactory.attach(gui::window::name::onBoarding_configuration_successful, [](Application *app, const std::string &name) { return std::make_unique(app); @@ -134,7 +143,6 @@ namespace app windowsFactory.attach(gui::window::name::onBoarding_update, [](Application *app, const std::string &name) { return std::make_unique(app); }); - windowsFactory.attach(gui::window::name::onBoarding_skip, [](Application *app, const std::string &name) { return std::make_unique(app); }); diff --git a/module-apps/application-onboarding/ApplicationOnBoarding.hpp b/module-apps/application-onboarding/ApplicationOnBoarding.hpp index dbe234248a9488e81a66cc9c9b40a33d367f388a..6db95d4fcd644052ba0953078fb93410f6558f27 100644 --- a/module-apps/application-onboarding/ApplicationOnBoarding.hpp +++ b/module-apps/application-onboarding/ApplicationOnBoarding.hpp @@ -16,6 +16,8 @@ namespace gui::window::name inline constexpr auto onBoarding_skip = "OnBoardingSkipConfirm"; inline constexpr auto onBoarding_date_and_time = "OnBoardingDateAndTime"; inline constexpr auto onBoarding_change_date_and_time = "OnBoardingChangeDateAndTime"; + inline constexpr auto onBoarding_sim_select = "OnBoardingSimSelect"; + inline constexpr auto onBoarding_no_sim_selected = "OnBoardingNoSimSelected"; } // namespace gui::window::name namespace app diff --git a/module-apps/application-onboarding/CMakeLists.txt b/module-apps/application-onboarding/CMakeLists.txt index e210f975e51ca8227434064efe1244a60c7620ae..fa692904c712c4b19fb6593f972890a883c30c5f 100644 --- a/module-apps/application-onboarding/CMakeLists.txt +++ b/module-apps/application-onboarding/CMakeLists.txt @@ -24,7 +24,9 @@ target_sources(${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/windows/SkipDialogWindow.cpp" "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingDateAndTimeWindow.cpp" "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingChangeDateAndTimeWindow.cpp" - PUBLIC + "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingSimSelectWindow.cpp" + "${CMAKE_CURRENT_LIST_DIR}/windows/NoSimSelectedDialogWindow.cpp" + PUBLIC "${CMAKE_CURRENT_LIST_DIR}/ApplicationOnBoarding.hpp" "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingMainWindow.hpp" "${CMAKE_CURRENT_LIST_DIR}/windows/StartConfigurationWindow.hpp" @@ -38,8 +40,11 @@ target_sources(${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/windows/UpdateDialogWindow.hpp" "${CMAKE_CURRENT_LIST_DIR}/windows/SkipDialogWindow.hpp" "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingDateAndTimeWindow.hpp" - + "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingSimSelectWindow.hpp" + "${CMAKE_CURRENT_LIST_DIR}/windows/NoSimSelectedDialogWindow.hpp" + "${CMAKE_CURRENT_LIST_DIR}/style/OnBoardingStyle.hpp" ) + target_include_directories(${PROJECT_NAME} PRIVATE service-db diff --git a/module-apps/application-onboarding/style/OnBoardingStyle.hpp b/module-apps/application-onboarding/style/OnBoardingStyle.hpp new file mode 100644 index 0000000000000000000000000000000000000000..32986358424148c3e7cd73fae271ccb75fe7e4b5 --- /dev/null +++ b/module-apps/application-onboarding/style/OnBoardingStyle.hpp @@ -0,0 +1,17 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#pragma once + +#include "Style.hpp" + +namespace style::onboarding +{ + namespace sim_select + { + inline constexpr auto description_y = 400; + inline constexpr auto description_h = 150; + inline constexpr auto description_top_padding = 30; + } // namespace sim_select + +} // namespace style::onboarding diff --git a/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.cpp b/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.cpp new file mode 100644 index 0000000000000000000000000000000000000000..44b4a8f43b2f179bcb5fd6c1e997804f35817a2d --- /dev/null +++ b/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#include "NoSimSelectedDialogWindow.hpp" + +#include + +#include +#include + +namespace app::onBoarding +{ + NoSimSelectedDialogWindow::NoSimSelectedDialogWindow(app::Application *app) + : gui::Dialog(app, gui::window::name::onBoarding_no_sim_selected) + { + bottomBar->setText(gui::BottomBar::Side::CENTER, utils::translate(style::strings::common::ok)); + bottomBar->setActive(gui::BottomBar::Side::RIGHT, true); + } + + bool NoSimSelectedDialogWindow::onInput(const gui::InputEvent &inputEvent) + { + if (inputEvent.isShortRelease()) { + if (inputEvent.is(gui::KeyCode::KEY_ENTER)) { + application->getPhoneLockSubject().setPhoneLock(); + } + } + return AppWindow::onInput(inputEvent); + } +} // namespace app::onBoarding diff --git a/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.hpp b/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.hpp new file mode 100644 index 0000000000000000000000000000000000000000..3b1af3f918b020538680187aae7384c4c511ed45 --- /dev/null +++ b/module-apps/application-onboarding/windows/NoSimSelectedDialogWindow.hpp @@ -0,0 +1,19 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#pragma once + +#include + +#include + +namespace app::onBoarding +{ + class NoSimSelectedDialogWindow : public gui::Dialog + { + public: + explicit NoSimSelectedDialogWindow(app::Application *app); + + bool onInput(const gui::InputEvent &inputEvent) override; + }; +} // namespace app::onBoarding diff --git a/module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp b/module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp index e1001a963669e2912564b66ce0fbb01afd3e91e9..90c9fc4be4ff7ddf0c297ec29e84a47d70a8f8d7 100644 --- a/module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp +++ b/module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp @@ -13,7 +13,7 @@ namespace gui bool OnBoardingChangeDateAndTimeWindow::onInput(const gui::InputEvent &inputEvent) { - if (inputEvent.is(gui::KeyCode::KEY_ENTER)) { + if (inputEvent.isKeyRelease(gui::KeyCode::KEY_ENTER)) { auto ret = ChangeDateAndTimeWindow::onInput(inputEvent); application->returnToPreviousWindow(); return ret; diff --git a/module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp b/module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp index 60c6cb5fb9470d377aae49ba074467e2fbf611a0..88254d99065c0f9178da8611c87e8180da297fa4 100644 --- a/module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp +++ b/module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp @@ -13,7 +13,9 @@ namespace app::onBoarding { OnBoardingDateAndTimeWindow::OnBoardingDateAndTimeWindow(app::Application *app) : DateAndTimeMainWindow(app) - {} + { + changeDateAndTimeWindow = gui::window::name::onBoarding_change_date_and_time; + } OnBoardingDateAndTimeWindow::~OnBoardingDateAndTimeWindow() { diff --git a/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.cpp b/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.cpp new file mode 100644 index 0000000000000000000000000000000000000000..43cc9d0afed7bcb102a23e7b1b47baea7c682c93 --- /dev/null +++ b/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.cpp @@ -0,0 +1,102 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#include "OnBoardingSimSelectWindow.hpp" + +#include +#include +#include + +#include + +namespace gui +{ + OnBoardingSimSelectWindow::OnBoardingSimSelectWindow(app::Application *app, std::string name) + : BaseSettingsWindow(app, std::move(name)) + { + buildInterface(); + } + + void OnBoardingSimSelectWindow::buildInterface() + { + setTitle(utils::translate("app_onboarding_select_sim")); + + bottomBar->setText(gui::BottomBar::Side::CENTER, utils::translate(::style::strings::common::select)); + bottomBar->setText(gui::BottomBar::Side::RIGHT, utils::translate(::style::strings::common::back)); + bottomBar->setText(gui::BottomBar::Side::LEFT, utils::translate(::style::strings::common::skip)); + + descriptionText = new gui::Text(this, + style::window::default_left_margin, + style::onboarding::sim_select::description_y, + style::window::default_body_width, + style::onboarding::sim_select::description_h); + descriptionText->setFont(style::window::font::medium); + descriptionText->setAlignment( + gui::Alignment{gui::Alignment::Horizontal::Center, gui::Alignment::Vertical::Top}); + descriptionText->setEdges(RectangleEdge::Top); + descriptionText->setPenWidth(style::window::default_border_rect_no_focus); + descriptionText->setPadding(Padding(0, style::onboarding::sim_select::description_top_padding, 0, 0)); + descriptionText->setRichText(utils::translate("app_onboarding_select_sim_description")); + } + + void OnBoardingSimSelectWindow::onBeforeShow(ShowMode mode, SwitchData *data) + { + refreshOptionsList(); + } + + auto OnBoardingSimSelectWindow::buildOptionsList() -> std::list + { + std::list options; + + options.emplace_back(std::make_unique( + "SIM1", + [=](const gui::Item &item) { + application->getPhoneLockSubject().setPhoneLock(); + return true; + }, + nullptr, + this, + gui::option::SettingRightItem::SIM1)); + + options.emplace_back(std::make_unique( + "SIM2", + [=](const gui::Item &item) { + application->getPhoneLockSubject().setPhoneLock(); + return true; + }, + nullptr, + this, + gui::option::SettingRightItem::SIM2)); + + return options; + } + + bool OnBoardingSimSelectWindow::onInput(const gui::InputEvent &inputEvent) + { + if (inputEvent.isShortRelease(gui::KeyCode::KEY_LF)) { + auto metaData = std::make_unique(gui::DialogMetadata{ + utils::translate("app_onboarding_title"), + "info_icon_W_G", + utils::translate("app_onboarding_skip_confirm"), + "", + [=]() -> bool { + auto metaData = std::make_unique( + gui::DialogMetadata{utils::translate("app_onboarding_no_sim_selected_title"), + "sim_card_W_G", + utils::translate("app_onboarding_no_sim_selected_description"), + "", + [=]() -> bool { return true; }}); + + application->switchWindow(gui::window::name::onBoarding_no_sim_selected, + gui::ShowMode::GUI_SHOW_INIT, + std::move(metaData)); + return true; + }}); + + application->switchWindow( + gui::window::name::onBoarding_skip, gui::ShowMode::GUI_SHOW_INIT, std::move(metaData)); + return true; + } + return AppWindow::onInput(inputEvent); + } +} /* namespace gui */ diff --git a/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.hpp b/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.hpp new file mode 100644 index 0000000000000000000000000000000000000000..23c19b2e4c5183b0af2ceec09f141febaaac7533 --- /dev/null +++ b/module-apps/application-onboarding/windows/OnBoardingSimSelectWindow.hpp @@ -0,0 +1,24 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#pragma once + +#include +#include + +namespace gui +{ + class OnBoardingSimSelectWindow : public BaseSettingsWindow + { + public: + explicit OnBoardingSimSelectWindow(app::Application *app, std::string name); + void buildInterface() override; + + private: + gui::Text *descriptionText = nullptr; + + auto buildOptionsList() -> std::list