From d01ada4e8700fa147bbc9d351567118edbfa3cf8 Mon Sep 17 00:00:00 2001 From: Eunyoung Lee Date: Thu, 2 Jul 2015 11:59:23 +0900 Subject: [PATCH] Remove feature : Dual Sim Change-Id: I98305c36da4ac50b553952fcd311c8f5b09cfad5 --- daemon/main.c | 30 +- daemon/main.h | 4 +- data/resource/icons/Dual SIM/B03_Dual_Sim_00.png | Bin 1105 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_01.png | Bin 1264 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_1.png | Bin 1118 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_2.png | Bin 1249 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_MMS.png | Bin 1211 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_SMS.png | Bin 1137 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_data.png | Bin 1198 -> 0 bytes .../icons/Dual SIM/B03_Dual_Sim_global.png | Bin 1348 -> 0 bytes .../resource/icons/Dual SIM/B03_Dual_Sim_heart.png | Bin 1250 -> 0 bytes data/resource/icons/Dual SIM/B03_Dual_Sim_home.png | Bin 1181 -> 0 bytes .../icons/Dual SIM/B03_Dual_Sim_messages.png | Bin 1137 -> 0 bytes .../icons/Dual SIM/B03_Dual_Sim_office.png | Bin 1149 -> 0 bytes .../resource/icons/Dual SIM/B03_Dual_Sim_phone.png | Bin 1258 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_1.png | Bin 1352 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_2.png | Bin 1367 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_MMS.png | Bin 1375 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_SMS.png | Bin 1375 -> 0 bytes .../Processing/B03_Call_divert_Sim_global.png | Bin 1423 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_heart.png | Bin 1406 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_home.png | Bin 1390 -> 0 bytes .../Processing/B03_Call_divert_Sim_office.png | Bin 1380 -> 0 bytes .../icons/Processing/B03_Call_divert_Sim_phone.png | Bin 1423 -> 0 bytes data/resource/icons/RSSI/B03_RSSI_Dual_Sim_00.png | Bin 1128 -> 0 bytes data/resource/icons/RSSI/B03_RSSI_Dual_Sim_01.png | Bin 1130 -> 0 bytes data/resource/icons/RSSI/B03_RSSI_Dual_Sim_02.png | Bin 1130 -> 0 bytes data/resource/icons/RSSI/B03_RSSI_Dual_Sim_03.png | Bin 1131 -> 0 bytes data/resource/icons/RSSI/B03_RSSI_Dual_Sim_04.png | Bin 1124 -> 0 bytes .../icons/RSSI/B03_RSSI_Dual_Sim_roaming_00.png | Bin 1192 -> 0 bytes .../icons/RSSI/B03_RSSI_Dual_Sim_roaming_01.png | Bin 1190 -> 0 bytes .../icons/RSSI/B03_RSSI_Dual_Sim_roaming_02.png | Bin 1193 -> 0 bytes .../icons/RSSI/B03_RSSI_Dual_Sim_roaming_03.png | Bin 1194 -> 0 bytes .../icons/RSSI/B03_RSSI_Dual_Sim_roaming_04.png | Bin 1186 -> 0 bytes modules/connection/connection.c | 16 +- modules/network/rssi.c | 880 +++++---------------- modules/network/rssi.h | 26 - modules/processing/call_divert.c | 233 ++---- 38 files changed, 309 insertions(+), 880 deletions(-) delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_00.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_01.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_1.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_2.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_MMS.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_SMS.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_data.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_global.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_heart.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_home.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_messages.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_office.png delete mode 100755 data/resource/icons/Dual SIM/B03_Dual_Sim_phone.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_1.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_2.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_MMS.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_SMS.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_global.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_heart.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_home.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_office.png delete mode 100644 data/resource/icons/Processing/B03_Call_divert_Sim_phone.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_00.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_01.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_02.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_03.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_04.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_00.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_01.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_02.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_03.png delete mode 100755 data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_04.png delete mode 100644 modules/network/rssi.h diff --git a/daemon/main.c b/daemon/main.c index cd0d8db..a18e2cc 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -666,7 +666,7 @@ static void _create_win(void* data) // root = ecore_x_window_root_first_get(); // ecore_x_window_size_get(root, &root_w, &root_h); -#if 1 +#if 0 if (root_w > qHD_RESOLUTION_WIDTH) { // HD _D("Window w, h (%d,%d)", root_w, root_h); ad->win.port_w = root_w; @@ -687,15 +687,29 @@ static void _create_win(void* data) /* Create socket window */ ad->win.win = elm_win_add(NULL, "portrait_indicator", ELM_WIN_SOCKET_IMAGE); + ret_if(!(ad->win.win)); indi_name = "elm_indicator"; elm_win_title_set(ad->win.win, "win sock test:port"); - /*FIXME*/ + /* FIXME : get indicator width and height withour ecore_x API */ + elm_win_screen_size_get(ad->win.win, NULL, NULL, &root_w, &root_h); + _D("Window w (%d)", root_w); + if (root_w > qHD_RESOLUTION_WIDTH) { // HD + ad->win.port_w = root_w; + ad->win.land_w = 1280; + ad->win.h = root_h; + } else if (root_w < qHD_RESOLUTION_WIDTH) { // WVGA + ad->win.port_w = root_w; + ad->win.land_w = 800; + ad->win.h = root_h; + } else { // qHD + ad->win.port_w = root_w; + ad->win.land_w = 960; + ad->win.h = root_h; + } ad->win.w = root_w; - ret_if(!(ad->win.win)); - if (!elm_win_socket_listen(ad->win.win , indi_name, 0, EINA_FALSE)) { _E("failed 1st to elm_win_socket_listen() %x", ad->win.win); /* Start timer */ @@ -810,13 +824,11 @@ static void _init_win_info(void * data) static void _init_tel_info(void * data) { - int i = 0; struct appdata *ad = data; - retif(data == NULL, , "Invalid parameter!"); - for(i = 0; i < SIM_CNT_MAX; i++) { - memset(&(ad->tel_info[i]),0x00,sizeof(telephony_info)); - } + ret_if(!ad); + + memset(&(ad->tel_info), 0x00, sizeof(telephony_info)); } diff --git a/daemon/main.h b/daemon/main.h index 1a06ff1..3998861 100644 --- a/daemon/main.h +++ b/daemon/main.h @@ -84,8 +84,6 @@ #define MSG_DOMAIN_CONTROL_ACCESS (int)ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL -#define SIM_CNT_MAX 2 - enum _win_type { /* Clock view */ TOP_WIN_NORMAL = 0, @@ -122,7 +120,7 @@ typedef struct _telephony_info struct appdata { win_info win; - telephony_info tel_info[SIM_CNT_MAX]; + telephony_info tel_info; int prefered_data; // Data prefered Evas_Object* win_overlay; diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_00.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_00.png deleted file mode 100755 index 44da375a4f8d70da3c1d13090e2bb222ba300a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1105 zcmbVLO=#0l9FK1JF_?%0ne!5|DT=oFXp*L3b!+olSG03>1&beGn!K)YOI}RgY&JaT zmEF5x(BJ0iOP`9+4=}9K;4`;{T%jE zR7=GwmT)P5P&JSp)k91)uwBBYsNTN7)s0bz=`tL#oFwz@=`)75%p`L}%5!;FgH>x_ z(u2d3gGFO<)JT|2-#)rGP>FyIu}%l}nB%KKlBw&eWFBs_3|)ud(Im6vR4G41YsiDN z6pcj;j^}Avj`E@;%luwi;CO-M$SX&9QI%v>h|`USA=W&zq8325VT-JiOci5SW!YM- z7Olmi$Qxn#L?RJt2ttG)BL0Mf^&sN--Ax4meZ#X{Y$1mZ74U6zk>tZj$)s-t~efPdXs5$zWzT*wxnkH$TN!ZYTs2Z`4Dc zMUtYA0c4EZ(7`#7WXMU>v`m!~6%xg`$i)RtR(M|Fl$a7rNF3l4SpuM`u@YAS3IQry zT$9o~pAl0D5oA-G0yHJ7r8TL^%{e~S9RoJ)TEy-WH=bRUt7;z9G4hHCjWsJ^sERQ1 ztH`CbVVT}_#Bxkj^LK~oS-LHNo^=MASr6HCJ-({7f_;z{g&2sDA*V7T&!;&dp@>{U z%P2}b6HhY@uK7PPV~I0tSRDTpOLL1|?9_Wyc@kndL-JL&4Tb<8=R56$< z|6W||Yq`IsW9y^Ep7~q-FAm(@aeM6^`s2FU504+WwvL?(_H6cFzuB_+;rjWP@AsBx zw|u{LXZl3{!rx%w4BiJE>o5dp0F=$7aGN&t(R|gY?O%Kjime?EnA( diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_01.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_01.png deleted file mode 100755 index 1553dc9a64186322145722a94191f5c9d4d83146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1264 zcmbVMZD<>19KXC!=f)sg>!8}T=dBfAn%qlrm&?(tx#TV`v}sEkSpDL5$vth(L*G9kVtvQ6{(#7Nv9G3nFt&(XbB+!YC+A9LDF`r23)kgU3C0 z&;Pmq@ArSd6C*>9@7{U;P6R=Arw$1j_-=RBju!Y_{q?!LBiQ1YJ*tn}Wyu5xFY7sg zrc`MHWPl`3Pp*MJ1o4b3*)e-8J;>#CH6S@Ufr@HCG=lW?R}3j%1U8xj6N(naZhd?i zLlrrS9j4Pn+DL$ca%jc`qccO<{7f+)k+J@RXkUec1S+s4w4#pMj4PFlJonstB zH&pCm6x(!aEIooIbQ7R-An4B%B#AOifDF+LL-wK+K~gvYZ^loCIGW+8Fxt2w%s*z4_5o=Z>Q7~nAMKW+QK;WwC#I>Pq*%|P!8{2AI*=Ymd8DQyC zW**jK{6G^7b9Z+`jw1Ai8#WbK6saWW`6(4>c1nn1@Jm2eWR3{2FpJ?35vB-+B}tZG zgKRKD69U09v>-G&w!=m!kqyzIcsN1FNm2~)e3Iay$n$($Oj401Hl4)IT*3sBt(#e0FEu-0q@dfnRnQGIG0LD1A67J3FI$f|<=Ko@0H*RZkdvmaq8s_; zlx^$_@emahf^ads7$V6yK}FaQ5lM(F8y3THtbvvPPtI`Y4DK|?f10Iv1Ut~#ZnZuX zwuT32aAHh28h=aQ}bWz&8_ZTKXvZd53%2pFZ6WHRT$qbPc0m~;9Wf#>zMl#OJ-Z= zmrhIeO6zg4`nKoi8})0h=eb<%Cf)XhYjVFYj8xgIM)|rPD!BI?bj`mLyVHK+vM2RS z&x3ES_}X86qA+{2?e~{o>lofK>#0%Qp9DWx*wyl+yGk!!Cvw;uZ3D~hs(bO$QS|Rr zdLZDcqS?+g%kZk8hzg2=HxKSG1VKSPiHHXef*^>u9mM&vwbR4!V93XNFTdaK|9yEle|XEr zj*T40ZOIO)1@_$?JR92Bd*SN^J=oApiH?vlTGL$2r3_NWAZuykxPUcd>hw$8&vDIT zX0b#|xudd9tgsef!oKA&Hplf3_>QJmF$HBjZrVxy`?KdfFpVTX8q2|)lg1TuXxhai z)A^!4UDXo?KX4HA`!W--Fx7x>P1v67C;4SvnXQ9kfd|VFT21mRPL*=QAWd8hVqr0) zLxg}Ng;6vnNvIb@Ac_c(-BJie<(MQ#`au2SnKjoKlMCu#-4@#=`3j|uEC{t)EnE}B z#2ptmmsZLgjv zmNLQD907%)U|B(2%V>`l@E?42MY!4kx5r)^%(1HkXi2jZ72XTZ{%aH$%>*) zs6?N%uuZdSl4pOyhH1z!8fRJTi^9GLl;Q}*VO)%hi5OI2T#Bh`Lt`zj1Vt4pi42OT z6ofKSB`v~uN>or9N=l{=Hn>^aqnfSbhFz1{t#j3Xa^tfArp-b7_JaXyb5tZ zdPD;IMorrwHE(}Vo|R}-?3!n=G3XKtEaz7?*RZb)Midq$ibey^S=^$SNlUEwnGAvn zF~Qfl#{c9@V9p3ZbNtmTjU(29!E&|r*=BWku+1jMWuvj_KHAL2>RMJ!75xw8pG!*v z%@5aY+wo*+@8{cxULASRb*HHZd}>?x`1EN@%fyV|v(&}kumIIfDFP6Kv zHSd|f*LC~Gl@p4Z8ob`*M)PeqyLxB&s~sGe=Wb1(J+5E4I}}WOHj`H$DW}f=2FW~O AYybcN diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_2.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_2.png deleted file mode 100755 index 7fe60214519d059d8626355b2e1a04aba9f2f7be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1249 zcmbVMTWH%>7?v9^T>>s?niZO-Gc_q4wRN#&SyJM}v86O7b(T3U^}{wQODD02b(y5h zO4vhKJ8)rRw2ZwjV`CeIT|%=`*hBYVSXvTjOCGW^I`Bq!VWXrk%R^aql*HK{LLVk{ zIhX(Y{_npWT^b)d9cu4x$1p6E9TD^Bd(3~HZAI_;Z*M97#FdKfggNO}WgB8cs#$^{ ztIJa`4`p@swOgT~LBknvujGeRC5B znwrGV#dB27%D}QVGH1hyxv_#WH?8n0J~#mSJpmEu(3OFwR}4q+lK3{SfX4nZiGytu zcRGphh$`mBLB_Nph!e4hLeVr}S%PNbEK7$$l%k^~g>E)NGeVpdq6x5j;mDhJBTRdWqkn&oPy0enWe zWX`xr94XxiLAP?bJz~SzO%zHQ>B$yJ6BMcIeq7tuj+=-7%GlT1Da=}s%tObVu@zL0 z$>U8h%H7i)`G!c1@S?4uqR17|RAzK&xLGlYqa8xkRDohRl*I%?C889|(KJVKF)qf( zDUssXxF|L`_QS>{is$%@L~}!FnwA)jXGAV0CDK$}%)~jqiOm|0D;o-I`qhx%U99+2 ztdOyx?3#ALG%L*x7%!Wy>6A?iWF}Z}@|(t*yb9&jUw}E^hTSK1!{OUhVz(z$x&cwf@7>QZQJV z_fB;^5$$63h*Mp_Q;K8AKWodb1HT6bY?d*co7cB;!`>w6_bx&9A9c%egXL$M7 sms0s_1M@mBz#`(&yj&2ixSG>;M1& diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_MMS.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_MMS.png deleted file mode 100755 index 47d586465833ddc8614cc70f014d7caaaae0ab4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmbVMO-vkR7#<3O5?B#q6H(&FP-+eA{Lk#p$d>(?UAn1DaoMEAsOjv?x9kY>6liP?k1dZ;I3tTEiwgW`!p6Z{5t(F5th$^3jj@AJIx z`+V;^?@dmOcX#%65(LqmJ)`FF_vzqyv>m_ezg^UW2})0+DW`-gng@x5;S?drTG|ZE zL(N!ta|@0VL~F?`Orz=CON#DTlor@fRm;U_f*2jEx|%)<5h%hL(~gmUe)Tm8Oe02~ z7jsO`O~JBxX3>LFixUNXaaNZNa_lr1ttyznf=B~ZYtHtSYK+|HRq!}irb)1Gf@Wjn zK~U4VNsw|p2tkP{RNupRmlq7Zpa16`Q48El>D=4C*a1qeBNbJosN=jbMG<@M% zj4UJMDl}cGRHzD1Io=G-%Ca1Aa9kK$g#85@Y1Odp4>lQ8=%$OuU(Dez5f*7lKR>#*t9#C{uC@u65H-2Sei??0)ydU>Ep>^^FSMSjE7re zqDO%8wS6$*MGi!yRB_*xjNkA z-}|Ar=ZlW*?|&RAZg|hW*s`;T5}A=}AM|Z~xc2esf#L0Eme-&9oqKh?zxMWDSB`a3 z!lka)TX!A-cfQ#Ot=?bWZ7=k5@t4QHeZDWg)LVPJWoHx|UwQw#mYu%xt^1++$;-QK zCrhFF%*t+m&$*86&G-^goB#Ch2fItj8$;l3S6z-Tg=$w<)}P3RHiuR}Vg}b9t36j6 z>nit_2Eb-#-KjC-YrSXfdxJc8=@ssctzYk~UYxv{=_YzE5J_sFL;d8nYr*d%o1RcV IPhNQEAC=>V=l}o! diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_SMS.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_SMS.png deleted file mode 100755 index 2e9862dd79a3715fb5129ae548219a6ea317c373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmbVMPiPcZ7@wG+A{EmJ(gv!JQK4#f=kLz$3|Zr3W}-{7YuGF#2ZhegyvA*Eh*-+C%WrVg9^7 z-|zQ*-|v0jTpTPM-?^i62Srgkb0_p7`F$t@)~QAtS(p9YPKCf)+Oq7?PM zhA%S9(p8Log<)#7TCyf2Q83DIvMk3OJf9#IiEz@xW|Z*4{Y?fPhF0MC*g+nM8O<`9 zz*(9^x}JjT=kpuHUf2+dNXA5_&u~eWaosqtHR});;lE*QY8{p)eaIAHh$aGyoJVDU z6HK&wzoXcYM5CMx9C9e;xQ?s|7kW6SXKAvNv>jVv#SBp~EwX8zl`^$6I_!8hs)dK*<5|yEhk^42wEF_&f;D{=XA}RbD$APG zYw&_37$V7=OB+UCikG!?nkbT?8(91QXvUCWn7BCpQ!LFTQi1Vsqx8vSqj{i5Iwl~k zvG@|slD4{*)74V+efghyy{Gkd%kDk*>IdG;AA8z=>)`b*N5D^8mw#ATXlomvj*hg4 zFIGC*?{0hZ>~&Xpx#Q2TZk{`R?DxW0|D#`44lh0~oNgH${&1-!`qlu8ALabjy86kf z`Kuos?Vp>TnVs&u^5ucIc-z2Ib*BCA*5xy8ujXfRmk)x~T^EE456+!Gd*A82Gxzo0 p8>`jJ`?g%Y+kQ#>oSLRuslT3o_uJCX4}Oe)0y(3g-|7AA>^t7abIWq3rKp~oRj%Ml;fP`&JE4a0#`R05Q8e5wVVw7`^TTsz%n!R zOsc>ZTou->$wd!NFBZ$jV#AP4dh7`>8YqOohFAxIJ?HpJkfGOk6|xVH85*ps;6{et zaH>+60xI$#NF|bSgXK6NiV03gi6R#RJj?M6OKvgF2}(*-_%!HTG_mHHHKn8->ewPu zhOT4mDh$(XHWSTc0(r9xC(Clk!SivV5%(7ytOs$&?}&^J8G#TIfv$f#G*JkHR> z(~S^pw@}z5cKlAFNXnQ%cNs3hGPWJYwXW^s68zVVEw%mff(w}v^wGR$kb2aHyI_*L zyBi7>i8sno&mu+9=QL!@+t9&zEklzp3DYtaR**;*(*m33SyAFRiItL4QckfND~Tyh z>vC*`<#<8n(kdrr1&-r#LN=Y_C)A{-Wkos5i)t5}cYLfn2JG6kh}{mBy(?BxJ*Z>k zl@XfjcED5}VdU453)E>5?4Pk56E*zAIonkeu|ElHM` z%@Ow}SYDO{R#tP8l+L9m=nmHWKRIKFGfdbV|7n))5$V8iyV?3g*c=|{kcsigXsqs9 zy-ddHW?svdgYT+$*4D;)E^OQVz{RzZTc^gqI(&BD>3a@>n|Gom&bHM*VMA z2csYExOM$TtlA#@pe)_T&iGFaV-P%|8R$>>I+k?Y&{KqS^J3kq@v-gC&^w*=U zhsUBXy*)qpcO*p(ot$bNf9mDRTalB09=QJ4cCFGn`udBlW4VF*9{l0z%*gHCm6F&~ z6+vxBwGmr*<@~oPzW?g3=XT!v&g7{+D#B96=OZh(i_2e!e~^5xsJ%b&?6H3UXpMzo diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_global.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_global.png deleted file mode 100755 index ece731c1ec3ebe37f065f32684743ea8db3ddb44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1348 zcmbVMZA=?w9Pgrmy~rYL@-h>>99!Is?cKG#>-D4~ZLb}Og|3th1HK%05A+7TD|g3Q zh-iW%0TwfHQQRVNWkLDi%Yt)^m!x}>p&=Ot*atOpZjdlP40Tg7Uxv>CML&>z@N#$0 z^MCID`~Baq-Cw*XZR56$27@83uz(G~HAjEer@;56TdlkECT7K1gAsPSUFR^HjZnj=HcA>7GfHZ1l7R&(uZR&% zlqE!GP`u zVPq-4jJSqEUO zx2vrWh1KB!5}X(Xjz-O`cl`##I#?-ZF!t^EbOL+Wx%FKAWzWo^${lEZud6vDzj*t$ z^o6Xxpmv};5bvQoLt8UiLx(OMNl8z%1mY6~l^46$KXx@LY`>B{FmTg5GIR91V*}65 zn?JWazNzKJ*U@0bA1!U0Cm#KxU}|nO<)`M%y`ATojNOO(<}M!p#6RBubE0|68T|V2 z*yXeR>DZk(nt7@{bt<047YvSEsIEKtq_6z^hJzDr)QoG7e-gY^-}Xp{cQNPqmlk{O zA{Y;NUg{iulQ`$d7`5!0dHw0YfuY}jd$oiwyF35m3#Yq?)*W4>{puT6t_SbF+~Ykx zedC84W4&W1&+c1P_AR`~XLK_kT|2Yk=KcPx*RH)?)N|sF{N9$qyUyQ+AB0Wjm;e9( diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_heart.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_heart.png deleted file mode 100755 index ff78ba08a55f41149de25770542a05eae878155d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 zcmbVMZD`zN9M5!gZAZZ?o7!$_$XeK(m$$o1a-mt5yIi`=UU%M|w8M!_lc&AV=A}ul zcRluH71;~;VH=%(8MrYgEo>H?pLDKM5nt#;a7ZiSl!9~&=1_2`Wj<-|svpWe7?M0M z`Tu_Z-~Z*w@k~!wQ)6o*f*?)GJ}C>wmf)$cgYQq5UekhwpX&2-_Ml%~#Sei^bNl-BMRa}s(^yIb5uol;`&OK;HnTG@>@Kv;Ij#wUF7O)jw9?pYp0z+3! z{9yrG71fu{ph?>WXbg{pHIkxGhQX<5jA5wfP@1G@f`m5{rlNd|;b|7FUKsS|>Vte% zlB>SpO27)f@9+dsDwXh31h?HGf{MrE0S8Top+(pmw|uo6w!9rR1_^kYYdF4PTWG+j z4%kIsz@XCA5KJeXUL&@=YNBAuh_dPs6iyPR8N{_>?fF^ouZ(rAz5KWXh%E5zqN~Ar z4DP6bVeTI8C@_R-_yev1i=vK5wpKKO4aZ$i;Ka1QbIA&GDaRscpdy45n+X4;O2P2UzgL zxbSGa_xbZ2f^2A3Br#uJ_;B)S2;_YFs;q@Q4Zf4ppDcd@^ujam1PG5PyMLV;^O|<3~H=dYoz8Rfu-O{~(XL{z5 z%SyxBO=qx^Veb9~R^42=*nW3BZN3qme{-xdE&RH-$-nmaSRI@B>Gs6InU}YVhsmE8 z>TWfBcIfJZsZ9-YE$#F53&+k~*mF`je`E34DFU-5!JoptVp}++bp3JbrBlnlOidiU zaXr_OIT2c%J+kecwsYH$><;O(-K2alG5_lMz2xNY-<`_fZ~eV=ded*mK3Zu0@~LmH z;}>5k^qhTn=D{a_P2S&q=gDXKm$es-Qtu5`m6iQMGeJCB>NNjyrmMsw{{*c|enVsMm>O%*WrI%PZ(o?0E zTFIqpX*POGlQG7w4W%`-B+$axV9RKB7+nu7-RQ>HA&0@BFbX?tFy=iacGg4ap+b6k z|EK@&_y5+l@#3k2`;YFYDC%JTv{EAPKL2@hFIhK!U(kF3XDfIDP2z^?Kq{r9Dg=2` zoq{E(>a!QVgF_V6J!zCHxKemu){q%ieVwpp+5}BeLnEH8YITS~6;2seg8t*nuW4ZD z3Hofbz!vNbtQn{095^voENgRhP15O+VKC&$gusMY1)e!=xw4m_w|Hf;_m3GGY^mUS zg5GwjQWysrP+$1^Os#SkaRQBme&pncKAnxjw3B_-Fk zMWh5>!`PM?rqO7G8<8+_rWj6=B%g!lLqsFw&RSUYLYCX#VNjr}Ifji5WC5R1t)dy6 zpoyp3A((cdutRLQ?L?83F`jBOT$p7{(~oOQ+r=gLzZ<)1yX9FMG9~Du8Al`anC$O> zN$y^4$X6uZ$YYK{ilR;{NSiUCh4V^+CSSt3q06igCs~XMY>a2cILF1=cqAT?qO8Kk z#i*imICjIPBJrHSr(;4aEpc2{Agh?oWTH7qQ6jk*-@)cB7ps;AJ9Z6Xw~ZBFiIp=B zR55bO2u*i7V7!Jfa%;#2nF$fRd)BaY)NtSP%d;J=0v+Qb)N>9p!B&1{V;B3ebT%z2 zqUd{{6*x{}(_%Usurb)Px>R&qG?;Pdr5_;H~bc#K}$ z%5uw<(c!?F^qCxN4cs66JFro#JiWXc3AR?AE{!CgfApZM_t1yU{)bDKlE+5ZyLyWY z&67VZ$>7L|Cq0W_96I+&aCxlvT7KoPKUWt&9s75=CjId6?%U`09q7A$#!1OXPiFcz f`)-^2lJf!Tc=Pz;SJ&6R^?w-oY*D$JK7Zvu!jOVh diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_messages.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_messages.png deleted file mode 100755 index 2e9862dd79a3715fb5129ae548219a6ea317c373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmbVMPiPcZ7@wG+A{EmJ(gv!JQK4#f=kLz$3|Zr3W}-{7YuGF#2ZhegyvA*Eh*-+C%WrVg9^7 z-|zQ*-|v0jTpTPM-?^i62Srgkb0_p7`F$t@)~QAtS(p9YPKCf)+Oq7?PM zhA%S9(p8Log<)#7TCyf2Q83DIvMk3OJf9#IiEz@xW|Z*4{Y?fPhF0MC*g+nM8O<`9 zz*(9^x}JjT=kpuHUf2+dNXA5_&u~eWaosqtHR});;lE*QY8{p)eaIAHh$aGyoJVDU z6HK&wzoXcYM5CMx9C9e;xQ?s|7kW6SXKAvNv>jVv#SBp~EwX8zl`^$6I_!8hs)dK*<5|yEhk^42wEF_&f;D{=XA}RbD$APG zYw&_37$V7=OB+UCikG!?nkbT?8(91QXvUCWn7BCpQ!LFTQi1Vsqx8vSqj{i5Iwl~k zvG@|slD4{*)74V+efghyy{Gkd%kDk*>IdG;AA8z=>)`b*N5D^8mw#ATXlomvj*hg4 zFIGC*?{0hZ>~&Xpx#Q2TZk{`R?DxW0|D#`44lh0~oNgH${&1-!`qlu8ALabjy86kf z`Kuos?Vp>TnVs&u^5ucIc-z2Ib*BCA*5xy8ujXfRmk)x~T^EE456+!Gd*A82Gxzo0 p8>`jJ`?g%Y+kQ#>oSLRuslT3o_uJCX4}Oe)0y(3g-|7AA>^t7abIL%M{H49Cdni6EB>DZm zzkENR@Bb_g4t&f*{mMwuz~FoG)49G2d-|6LrhoUsO6-Y7kBP4v}LB5 z;bf67x;Z#z9hmXp(9A&Dm>D-xCey#4?h6z`U_-3afj!~)N|0t&conh_k2!{3QNiPB zX4R=magfd-57J3C9y53VXi;QAA}NZXmlk*+a6Gxi7)U5dQ4u7%c`?MAXV#RGsx@s9 zDb0*w>?#~ruh-dnoJHO!2U4k2$RP+Zq7n0_9jpg2$M0-0sL(e&%f%LQ=#WvbqA8qa zh^MO|*lw}7M(p^_M3Iznf$nmEBMdFR}xo450=o2b3rflfof|_Q?7uK{)g-^&Ni&BD@1YVQ@ka;;S$5TmO25k2(J$0r-$Y~<66Km6I&SZte{5B79i*FoFqYagAD zh!L=lJ^0=BE0JSg1)Uwfe!+aOrKhp?=ZXG~*B|~nY-WzW+7R6}AM99~y-yYApDaKA zwqvBL``llfcOPxrc9>u8eRXDQZ=gxXb=^vM8-KP(GmQ$A|AJw$) wqrc8=dHBtwt6%?n&qD3@&Yx;OD%3`vx^?lHvF*s+U&0?kAwQsA&5j&@3uJL|kN^Mx diff --git a/data/resource/icons/Dual SIM/B03_Dual_Sim_phone.png b/data/resource/icons/Dual SIM/B03_Dual_Sim_phone.png deleted file mode 100755 index 42b07daf696a395a65530a39e7f511111648eed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1258 zcmbVMZD<>19KWQo)s;$_o7&Bn>vf~blH6PFa(6asnq1PvnyjRe7Gb!{-P7i5?k?V4 zm$ZJckqOP0xj{GfMcA;&5I5Y&5FI#>eCS|9EJcQjNSKIHkfDq!vie+`R6mq`@VL9@ z`9Jsn{r>M)9Ze5+?b^2sL6ELwLd?Lm$9W!Yhwu6?@5+u~$0qDCW6~~3CP0Q1BL~o= zCQX41kd)asZ-M~?X`58D6ZS;v6+t#MzvSrn%UThl5oBPnT$JQ#V52!OrRpKOQIFlk$#VE+Di8&LD&84&Q+_cOq*x+Gwpe#TF4cHP|)(W~Mltb7iuK@SXF^-{| zD)w{;+j43mHHtPHnaZS) z5#vo;Pzqsr+b#+?UMiLRCE9P8Q#i@N80fPdZCQQOMS76G0CmN8?> zupX0rEila8!wor#&>P{1sluX21<{aaG@#o_F@(V{ennLTBEZ2c1_MNpB3Ogv6Hw_Kl%&(yC zV4q{(;WY4mevvMKxez%`cT*& z9-zaCG2v*)!xWDou6;>yC|mwE_xHxeVB00v6Hi{*IMDbYd~4*RgG=s1=nw7n?`t)W zr!ZeW)NOsevb+0}j>hdf-duh6y~Pht91X9fPab@#a;{_HOtrRfdhy4<+Ui=k&|V+8 zd4KM+Z(h3~9P7RN>Kn*B(uSOr&PtCY-cp>uPcoJk JFGr5O^AAsxqYeN7 diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_1.png b/data/resource/icons/Processing/B03_Call_divert_Sim_1.png deleted file mode 100644 index 45c9397e74c383417c405f866cfaae4b9ee6de25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1352 zcmb7EZA=?w9KWuPz>o>kh3O1A4`?OG9u`B4RamH)!p}o=G)w`=L zNWxeKDIYY;vJv$QCd{4Qu3( zNTMhb#L3szP#-~<-dMtdHPbe9yVAxm-nJh*VMBhLmD$fRYBFLu=SQ0h>NRG1thUGZWOWJL~PTTO!SpdVc9B+4$TNj1ZRB@b- z!r+z`o_VO0u4j3g&gb*iyu+%fNgBA_ZiB;aw_pp4HYw{u!6Iv&H3o>ZgeqlqNs&o| zQHU!!-9uqd?}d=bMx|s**Xrc5wv{ZLHo72WX<)U{YSqSwuZ9YTcSd9~b!$zJqW_$~ zFTXZ6nMHIIX-ZB_;3|%HZj;(s$S~ZBfe#Dn1j1De3TX{hH^O25IqbY73u&k%av3D+ zA?TrUIZ5P$EW@&p@p?hf7QnS}Gk}FIx6=n)OaMYyBiIhaT2>Kbp)=s}vCsw}^aBuJ zd_F()x;UrH?&H{i-(SOqWK9?31TsVotW?MPgF9k*zlsE1QO6V|UF)VuO3@W9rDRF} zC`UeZRFXv{uk{$E#@skmh*aryBnDL_LsqlSOZU+aKn}7#zZ-iF0}KEz8?<@t3~)M} zUWb?QQd?N@ebbj=cuf28m`oonq^UR6wW=|jba`5A&!_A)%%LA8-L$~00 z>1A{2rO3@?=`Qj7U%QH5-ML`>qpQh$^|u3WrPp%g3teYV2@i7Q-8pf=)3&kFUYr|V z>;7P{+}QKY?3r81LbPdr#I>47pcZlK6K+?``5j~wROiu_bdC~?OoV?W4^!p+kG*$;oPyOXE#A> z<#S=R?eY0|%=hLq&EFHj-tv)WBcBeXnr8R*n?U8x@k_)52Z*_w^FO}51l}19KUq3^~H8s!Mdtt$93&0B=?eBlHQrLz2-@_SW|0SSY$GLxqF(NZSLaT zrAa$+X?2p(X^Vc@heBlxaf;4j6+vXUMWKq|2kD22SR4q7uvHKZE7OF%r5 z7LzarMS1G^Rp`gCJ(rb{xEYT=!An}26fGMvpUxmOhWUH*8BrRCCZ2#vMGX))KfOZW ziX0%0d!lqS6ND+{*t8CZrw2!*>2ZmZiQXREpXU)l8k!=WPfw@@pAQgQygV9P%M^ic znV91N;;vKi=nx*%bclOMw^O1S2KRbNhV^*8j01PkjEkbt?R7FN@A2|3AHIDNNKKc= z_!tOpYoS?yNSS7ar>I;mN9Nq5rY9+e<2Z}M<#Hkmr!l3PV&175?G*+94M|rrrlP61 z#V97UtQjDXr*}h0XJSe+Wg1m-)!0rJN*k3IGZaJ8l)hzS#aBT^qq`&0>8iD1#^8U> z-;>`MnaV&a1`RE%OQ?!t?K`A)7qSeuW8kBrJ`Pb8!{USiw>F|t{z>G#qKXqhld@^3 znh_8nvROsu!yeY-0jwY}VLF6r!?BD9baTFbrkf1`04fAKfk=y#5f=1^K+x@>832L| z6Jj|ZOAB;A-Oc#ALq3kKU?ZwwimC)HQ46b7v21u(EFaXNXlnY1rcG43X(*+cnvv2n zcyQQ@cO6$$S<4xZTBSzZC{zG-WfIC^T}$IzS?85|=!bw8c>04J@*IR%hUumOEx1_5 z=k^J1ffa~tto*+dMj=lqtIKwDU1bTivNf!pAvCF;La3sm>FA7szdPnI%+?bD!btvl z;;+rk-aYTxZhWx(^4Xft_RYlS*LrSaS-IAJ^TKz{E%?u05dUDs+l8{vp2Rl%i=73B zaLv)T*i=du%HN;$!?#YZD1WZ{Uui#~w-q0#d;6smSNE2#EI5{rTs%-bH4`t^ zW^WyKG?eBSn%laR7vGwE?eu&n`S@(>QXgk)%&mWQ1 z*dJ?4`X{b~Ed!%39O&BY@DAKJQzq-CZqzg_jmFQNoV--C(TT6&AHP%h(nd1jXW)Ym zul#nst~5VW_BAa%A{ZYXj1|}asN>dqZO=9a1`Zd>9W8U0601j3bu-R4e&2t2t-h~d Z!yfzkeAD7NN8I|=MM8t%{r=I}e*r_R$!h=r diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_MMS.png b/data/resource/icons/Processing/B03_Call_divert_Sim_MMS.png deleted file mode 100644 index f5c33a5bc16aa7598ab636f909d08a4652523962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1375 zcmb7EZA=?w96!d(2FU29+Z1uT9U3sSy%DViDIVxoy}%LI*YVY>JQ5+**!DC5II;^khR zm;dkg`@cOm(b@iFO;ueLf*>`~HZ}&o51G%l3ivMk{!+@E=;4IkCHLuhUIhpv$Vq@k zvwRxF051#=UIQ%%QhHI0C-ek&fKJI-J8#<9jjRIE2-4DOD153P=x7q8Mahr-b@_b^ z6$L-m$StTZ>GrG1;E@^AYf@#AIUcm{w16NmV%=n5Zj@ulO&8}N(dJNok z{+|3=d{_Z^3}|vrO~ESmHEfXDT*x$Bi-G2NwI9GLM)&~@tZr}|-2t5!C4PXFQ@JdV z^eF4caye0;BW}{|W=V!2B91VujgKVUtk>rW5?(UQvTTuHBM@rY1&DPKgq!h(JftTW zB8V^hvvrdcm(D#JGL5iiQAoM;=!nhqlDj0SX z4C!zH@j>@*Au7%#Cu(Yd=jI!spDR)kE_{{kKzp2F|xN<*q(B5Lm9hw(|vSO2IAF zJ5Kz-M-#ip_w9d-?)+-`z(W1XUhcV*Wv&;Gs9Wl8esrqi=Kk`Y>Pp|fJ#T!t`_>~F z@yd?zUlicLtV@%h?PSm^PY17G3VblNa_JNMGwAiQLS3PI*O%Tyh3@3l*%@QHrgvze zZ0_U0^20ATA4iwQN+xUnJrS$A|GaJ6(%8gP&z79lpGRg~C%Lcx*z@D)#lWY>9!SS$ ne%@+%d*1SE{lN>nMv+qF@_qBo3*G0+&0k(L+|IrkJaqIw<%rN{ diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_SMS.png b/data/resource/icons/Processing/B03_Call_divert_Sim_SMS.png deleted file mode 100644 index cae35ff011acd8d53f40aefb89ee59d151c54af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1375 zcmb7EeP|nH9KINvW!>sxrYqf4&RfTvF1cKCcWG|T(p)ZSW0zXez+#!qOYUuRG`UOf zF6LSbZpDps>p-n;oeWn{u?o(0;s*|?h3FW_n1~?a5MwJ0{}@G(;zsLxUDNfCQSi8r z_v80G&+qHKk1)!AE<4C&*0;OpuK~gkL>_y!!!i~G&O*;sZp=ieKMOQ8iswqMb z6Xzl;T5#saGMbiWaJ*P7I*T5stn}i9&*w8Z+-?W7aHs>4#_JAA-C1SefSOjsye7&L zYB2ICxuE$m=;_@Ma{0K}o6*!&a!FlD7EBwi^Ldni$9fJPuU3prm0Hdv>moT3^U8T#12+@k$?nRgCai6)bPWV$5^Uc~RoCoSZJ? zfTTq^KUOG+0u!M~isHy%kcha#ur@xDptvTVmnE9WFvoFKg0(=XsfsTwb(fgx&O#d}zKT`Ut)0I$hPLYA}DZtBd)nyhBz zJR0hv(WefIk{}n=Jw~Y^Hw={niue)`B8r?tm$S}@_tE!;!Ys|vGz+~ClQ3=ALC?Y-MA(dWPU+^%MdL7EOU?Oq=?OL=aOX$^{ep zFR43AO9Au8rmg13znS=A7PbBL@cZ^hb_*eTps;-XxNF?mUl0XZCFI6%ulwDAJqeAw+)$6uN>+h z{(dC#E)Y(~0TE+ppSBwk*`x_Pu-ic=!IGsa} mhQ@0GlQ+j^e&{w?UC4WL$KGRva!~N-)4I+TNohtG=iJdgv=_L$a(AVL z%q-z0>X;j9#xhy57u~*?714#5RB^lvXVmb4Z7d9DKh{UZ3i7?_~UvpyxCjeM|@=v`$x277KI!I;dhbFvyEGd^YhF zj`0B-UQN46ci0X?{Pt!URy9|6{mpfLYXC1R#Y$ofA`qa;VKJdzRG63zU*cuZSX(A= zY{^8ev*8b%^0_N9yCg%5))y7}Ns7WuCOu`OO(v=UGmw;lAkl3qq>K!0Vhm<%`NEN! z9H?bHz`3l2W;Q&es$qs8qS2^6TBMicAVFEJR*l18C`1;8N|UH^u|iSVnq&Y_@ymQz z4Ol2u!j$ZRAq%+RF;#4(niF%FhS`_LSC}b;!C33?$r^3uwt#K z9{8X0kK|XpO<_oQpdv+NKdNHw)`z547t#!uV_@8zTnAAVom{;Fmp0sP<`v{TFLL!j z@<#+HsxDx|BN0BpIB6qI10%~)PSSyDV>MDVuvpFIl*Q-(03-<>1|lteK*N$nfVNU3 z1%RER97cIfYO}MU&AP1M1o-oi3%( z1z2xv;=5}-FSoMKe*K4SX21joFP_;)eol6`q<;WD;V=BQJ}vQDLH^*+izywxVY*{Y zYU===meb;*wpDEcmLH!uG51U3XivlYZ`@41(U2IuJE=rROU`=Fjnkcfy*a(mnYQE0 ztm7l8U3=Q*FTWbQeEP6_D}7+vFn@i7o_L|@_o2@Yjc0o<9-WT&_l7dx9Xom{yEYLk zJ?R^2npDqku5LVpf7AT-rcrJ^4 z@6_ufW5MyKb1xNS-TdLt!w2Yz%)F6M>XB=ez3uydVlN!4YP(e+Bz%46;|F`E?vuHF z18aB7cS~>Vs?PoXsqR^4+vJ&p%&vR<>A}W-KHA&mx?>KkBP>^h&4yv~)ZE^a@ot|Z z`@_FGjdwiz0)alKAp(uFV1{C qfAnf`|Hko|;`E%Ejsy8+kFD3uXFR`2cE597`$f7O6(C-|ujOC=3;~h= diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_heart.png b/data/resource/icons/Processing/B03_Call_divert_Sim_heart.png deleted file mode 100644 index 43493fa48f4c726d86a86872ea749320c2b7b317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmb7EZA=?w9KQ}ItjN}&)94^OZzj5h_ImC0+FmGJ+q;eii(SD`U>dG>4{(9rb$7>F z*vMdk*e%g)L@`-N*s_?+`LZ#iGttE9nkc$`&>)MGPoPWYJ}|#QLd547MLsMfUhd_2 z`Tu^u|J!q?V@-!DEH79P1gVHLuyOc(-gwH)@ST4!CKwZ)OX$r?m!9EOfCNM(3D8K2 z?*?(eivvezKrMn4U6ooAdLsHNEhs5FZ`jzgsWe0*NNs&K%?rIiN0XpilKt4ySKnZ$ zB>J&dchnJ0hd__iFsOp&!KM~ruvhSjSbZH@o24N^3g|qVP4&qdo%Lhuyfhpe%Q%Lv zo9MlM?6FgcXbcT0DnQ+KmrZaG1WHkMf^<_9QG+@igcEnbo3ark?WSm_2i>?ZsHTct zbes)uXu+8u>(TWzjpLb2#-4H66}1~Dd_JGS;dI)dg-sifbv|p8wfzMK7HEPhrFBV> zQG=0BD*d`2gPuMPA(f6x-95UtNiJ&}$%1LavwRvS><(OAw=v=?prX<35vkOswWi0x zf6hOVUuzji13V5irC$|b6}$Ftk=kC!Fx-fNj`C_RfK?3heHvKbh(_txp!1T<_pyr5 zp8~QTVf|Qtza-LOH|ch>WFSC<9UQEUk0jiz*XIcmUXo*3wm`5I2(|2@f%S$6!a%Vs z9B^cSa)f;@j&M>QisL-t0yZLRIxh>r5H+yUCYB9vi={&<;B`f9QIx(yH^q7sUD0}! zG#YBA&{tX|SyVFG0i)EA8-~gPRXPU5u&Sic^{ms<6ZAQjV%@=z4|>jWBtdu`tRvtg z36IMYa0SQ!wt*G@cfxS!32t=RmaZ!-!B#egn`a14HcugtVbN50#(dx6jR<0b=?b)D z?;d*^6a(Il3dAjXBfR-vS4E-NADKL{tDiz zVJ3IwyN8#5Ke-TaSzSqD_pQpqXx-mawU0`3)z{iiRUNs_d~M0ynaNFEWvZUamzI^Z zlIMS#L#Cg#x&*D-dUE*6aZ|p_JKI@&H}F#Vu|=ZlxABL}#|=#Nd?khcGbWz)zxXyY zU!D)Lmxa#Ji8rn@t7QkCSs7k-eXgw@CyySkyuDm}rk$K0xigM4C-y~ZPZu|4r*rR_ zrc1w={dHvG{@#(qu2ysCyDx7x_I=oB%`J_eU9qEW*OA=f$nwE=-!$*}{`}(W7iY#3 z$Y-PFKX$$K%lr=$7oIzN~~8k6YI>ZE7>xOtZ zA@;&36y?FAGq4`R3a=^cF*6oEYgYxG#%osgSJafio)G)2gR^%H&u(foRo`nqT6k!7>;#wt~z|}B9NLc z_i#}VTGK)^9}zdrBuA2|RLYT}9h%-tQeLmu;&8d_$ii+6s-~E>t42+p0YF32m87X? zDsC}~-P(ZZBao-hLr5f}N^jgW*2z_4EmHcu z{LlFp@*C}gNk~Sap$+H~s$x&g2C2=3EW@=JxQM9tK~%+%*l)nqjYx#skDOOju^(vC zKmw{}82E^R0Y&CQEW@&Z5d@=OP-s&u7to<-YI?h-_2;{(HLjVO z5!aG|mgUgZaP!%I1J?)pe^ws^8Dgg+|2Z|5(J+%0N- z?7vydU#Q6SW|n?GabKWqbT_r_X5|6A;jfGJf0kyeuXmoTdT*BhzC3$pCVTN3U-fdX zw5+&;IsenI*yQUrS~99_Co)%#7vy?8b6rJuh22|@J)o+78+*cEZQ`pJD&6=$r{q!J zTOacaTXKGIS?U@&claxQxoq!i&oWE&*T(X3=IDXS*`=b>hnR)oJ7XmO{;qKSXi;-| zGJCdQvh>E>{P4L)Zw|*QI!XdRemm9NKi+K1E{>gf=D5`PbX#`2pzN4B|KQ*kGh?x- zj4V`qex&JkWlS$QdwAdQ5@lPtB~HJxyZQ9bvvK~$$fxD=Yxz5WEKN{91u%aE<^sYSkk+Xwtz4FT_^tq!baHd diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_office.png b/data/resource/icons/Processing/B03_Call_divert_Sim_office.png deleted file mode 100644 index c0568223e130d65c6856d7d8ec205e58168e6af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1380 zcmb7EZA=?w9KV7=UIYtfC^N|A>c&jkUa!47dY2YBdhJ%R3=7G+%onbA5A6+lSMRR0 zutYixri$BeUvv{4nPgcs&MYp`WFMx`nP9SHAB>5bWjGh(%ZH7aMV9I2bBrP%77{P_ z^1S?izu*7uxi@-ycGgyJtws=}HoS|E!f%uLR93)u@wZ9QoEX8F(Wed?SwRB`C#i9O zhEqZUM1dfUzOo2>2vYv3+#fSyk>^-ZO*sYA#+gf{AsRt^9l5k14gmv=gM_U3u^Z58l+)u7T?B#Bw38qynkMY1+eNr>7rbc)L9!Ihy4%pT3xjH! zG{{Ez(3%#U`LU#7q*)x#X0y($$Ej)woM0Hn>Dh}EVI8b)L?Y~N=)9~5!@MeH zQa~}nydTSCWQh$?Bt`Kg#}Oe{5Y~nv35xeJZC!+y4Dvi*BG?FoT22XKg9JxX1nnYt zK0pvblA$RVPmo<6cYyYKnLr5}R&+y9L|}@VSa}^wg*L^q0SyR-s`abtaH*Smld7TW zNi~fI`e<~=9$Asptp1EyYRC;k<$)%T04b!YDRedKto$H-p602p00TYegCs$CUA&8P zlSG@Rjq`9Mhpl0y|D7-#dV-r>wxR1vOR$yA;rbbZll4;w6j(G3p0VZYjaLxF(jDfx z{@f4ozwh1aDF4LrSb6i8v!7o_t$);iIQ{m7_coG|Dy=t8e%sK9{&Eq!ixh6>SK6!z zWZ5^fJ#Xh0?42`p#YBGP$MI{N$Lfg_k1jMkkG3zL@ZEg4&|JB9{*mIH#dAwF);r>7 z$d#i>^3YH|RFSX46{t|Mw$ysyR!4#yg6yNK%eOhy2OV#Pu_RUumFHGCdw$9ZT z4jhaXDl<2qw$~JoOgA*|kY7DDa(Mj6cIUGbO(!}TOKo=Po7TUkCqABhcOV}hUTU!( z7?@hAJ4arvENWl4pRjayE^VW`A3C_=tQ!5f?C7>%8~?OT+1{C-%`GF>p5(utY;Sn4 zW$WXv;{)GctZ2j>Pat<>*F-#WGT*3``I s)5>D2y<$B7X5S0{)SdaRx-)McyYtJ~01#;b0GcrfXp0U*ucTc>n+a diff --git a/data/resource/icons/Processing/B03_Call_divert_Sim_phone.png b/data/resource/icons/Processing/B03_Call_divert_Sim_phone.png deleted file mode 100644 index cf1e69f7ef012ce46fbf7f6322645058c4fb5e34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1423 zcmb7EeM}Q)9KO<7KGh0jL~+~gfT06=z4rQb()H`EP+gIfCgS22uk8z5pm*i&Y7gcz zirECkFoR*Z7{x8dnQUV&(=9O>Gijn`A2C@>oS9oz(Ph~ZV$2r)V6gX)GX5|myWGe7 zzV~~c=lAu#!>uh%>x;G&AqcWQ&`gKmceDBw=-@l^`&&_UA~WrBo6sSrSP>wem=FPI zAkKDz5MX0{y*EH3f@r6>aJ$?de3^<0aRaN`7?gMdq7kIgr6kyBH;~Z?=;U}OHhX0n zL%Em}+hYkDg9#t#;+p$K(AM7)j`nv)9Wl)H656OxkRT3Z7FFUsyhJHZY>AhGV|5wF z&?OVO+lf7Psy*0>`UDZ67K6DVY9t8MYBdm~#cCz$QInA{;YN5{8wirJSSgbYUA{1= zCdN9b5ba;qf-@)9CCdp4$5W}4A!RlQVkb^G91fMkWNLsG4N@O3vq}RmRpl6HAVozk zA#(zcs*G$zNXkwOdipqocp}7gcFEETIWH|I3#JWM*aS`(jJUXDqsEs*1%qoN;_(%0 zNe+SkoPQ#}6z)p^JOm^mDMn!xJE~Smtu3S)F2_IxS+N_yD*D+T2`v2x2C3c9d5&j$ zXd#-616~f$PAr+^VwB%PS}Zi_@eqC^18d_T2@7p^*t~?DWN4bs5v&G6EkjJj`Wy^n zvlt1Q_7Ma_+G*Nh_xotG$-$TzhRk6Dyd<-H6sV#qmRrG+{xz|bPXw$ih+#qK$#qj} zmmmvLmykexZB}&K9*&O*DQUY}YRC;krGdyD05QKP#L=a!Q`{5u8QMx)ygmo?oMuRZ zup4Qk$3zk~v(01nkREIq8~fi0!=Wd*+GVS{F1G|*SskwIAvjstg@A`e6X71Kd$DR7 zK{N*fv?r|GiOer9y0jl_%CygXJ^959s{dotxzh65Sazd(zHsPn!39u_W%mwDR2-et zq7Ss$U)-lOnMchJ3ybyVwGTI=3xA(cZkA+5ZXX;pphcP5g|Ykv1x|?ZMvzfqUP$z?#WXFZ|_LlAA7y|>MgJL`)j%d z&Bgr7L$mH(kB+(P57!+!yEiYixb?gD-@RSG>8b3M>X~E3t#6>kAEoV;N4I?XEsa**2Wn>M1gmp+6t~ruIbnU)Ot0Wv}r6 zr2W*9nvw8__dL4!brBc(0LlL5ZY�rYDZScMCV`r}E($`Bh1#@|~IszmARGEX~s` oxa+9a7w(@QuQ~L=r9Az9WM6UhbHc`gS@nnvFfH^a-u;9B0_;cRIsgCw diff --git a/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_00.png b/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_00.png deleted file mode 100755 index 4a4da5417dfdd8de8c9bb57e65edfa93c70fcdc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1128 zcmb7D&ui0A9FI)=G2KP+prC}*g9Dr7rAeBE)!8dO+?hJYF{9Lu;4KCF199qC#D}+?mL3KzMJ*xpL&~la+ci|L8jcvNs8m^i5 zH5+-X72B{qFCb`&nwstfmfeDwuEU1wXPDn#w;0-WGR(YW@@9~SO?PG`gmWvUs=d;( zRfn0rLr?WILf}Dc(LJy2M_Mn#^m#S1j*mHp?wjCNhBfj7RJUs}(3o34-iK7v@9}SX4(#G|y zfCDVgg?*biz9GsqPeyp&$U4FmcLGq@A_6-M|Q`9J}&ARrqgj9&5%S%(#32R7<_@$MiqgiD{49i6tSS| z`jFr#kZ7?E!OC(PCN+B@rfqO$g!-MC^r{BxS#rrvH|ROGGoQat;`LP`Iad-UWV DuaIT# diff --git a/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_01.png b/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_01.png deleted file mode 100755 index cd3590d6afa23ea5cff3e90c6e1fb26b95d553ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1130 zcmb7D&ui0A9M2d`o!dnbR1iWc=)fj@M zEY9g=^1T*6=f}u<_xHLTZ*ZZC7tj*!SRtfx4yr-A=vj4GhL*Fsya%T#YINJJRB_dO zpxVe|t=NX`dI3RG)bwmOu ztvJl=3_aad34sT(MR&cHAF16e)8kdiIzHwYx@Ur$S?0*8s#&5n6hc~JQ%Rc#fR<$z zh>|RWJG8(9f#b<7CxNI+vMQwM{>2cr&{bxZ z0S8!~3wt(kd;^qeo{jLlp>>4I@YwlN`J>8e0J$=ZP&>3q6_*kxq|O$K4f`>urWH0J zsiI-EBG~(3n(9O1yz5&n9ocOU`nafPnReTCR6`OaNf&cDVDJS}8$|??o>9_ykP!>I zt`7)K0*Myu5UecZa(P2DfRfSyD2O>t1e&4|Le0=Jd1Zht`VqE#8^)qB);-1+&cv!( z2rZ1l3PPsP<0r(E6_1Q(le~gDF>> zf3diG`NrP+WdSGNZ5~|NZ@itDxqo%@wT|5_{^$2w)W{h1YI`DcA+hr#p8jHCUjLAP G^6Vc8U}c8@ diff --git a/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_02.png b/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_02.png deleted file mode 100755 index ef4000688a7346eab5012b9f536329c2856044ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1130 zcmb7DJ#W)M7&fW|sL%x#V8L=hq7t!viJjP1LrHQ8jf6vRBbpJ%z9uHI&)Ap7>4Xri z0F{Z6-vE^WF~9&wRi$o742VuF3{3n1L^-EP+M%k1<&V4b`#jJ4`J`I8F*SK%l3|#s z@;o%?_k8@EJWk)6zgDeyLyC2>fR{+m3=osEaRaes*K8sKnRfsFHkxIai4CV#Cw2X% zW?`2%V;eqleTrt7*}2F!tu`WT12r8l%l-cFkz*Y@%Pq>fsQU%fa^_b8w6IdCSu1Tz zwYj-#>};e_0v8dJjogkGYEhOO@M?4&9}65iFd^+Mx93z{ud)RkAXes62}=ZkO{aMv z$>}t>$|gmS6hwNb6F}1Bw3f`U!;7P8fxV;|ur$=7yDZlt#McC&*X!}U6pw?Z08~|t zIg-f)wMc}0kC;)y3#Ug65QSFY_{6~;8#9^>+$C9#db$^a>l;q9MZz(;7Y>s}(S&?Za2SK8n?W1V zDwfPnhz37&UAsk{cRaHLvDI~vN6IkEb-RwOm1Ielp_I#kl31j*Q6(TlMa|@aA{8No zBZ7lKs>RzBD;Ek-EhH77rXT=CDVNXX6+EAQM`E=? zfJ}me8pfSbH&t7h;IM^#wy=<9uPi#AjeFrtTx!ZqLxm`CmXTcwu*(jzt~rP3OF1Pa zC-a$<3e=)R<4()@QU*XVMZ-}=i5p_=|4x`dJrUwAJJ5BbBihRGay&zHGoC`^(V_)( z#=iZXY|;6=U52?@wA1*ryE`}W^4O^}FYdepudClbl`bu3*FSGwKOx@R{_*C~>duTK zRn`_aQ--niY-{_=6fh`&jGNzS_RA!O=*9 zi5$eEUi6|DCDFu-2S0)b4&JzEVq)USi$=~S_&T=1fsokrdj|`n3 zVi;zmFat~UdoFwiPto`G&ov|55Vb<)@Dge2K4LN^UPNrc(W|J0baUnQ4w_(?{w=#) zAr*aG8w>AjS*yPDFsHNC_pDWIGo})qHbFDZzY4i|*2#MTn>He6!h%Hsew3 zS9u`Ia>x;jMW{t2SaFHoinzgOmjR-{@NJLS*kwaTeGxZEnxmc`gy483yK0f3NA3ol zWYM(oE#2cmRN(!#O&DJnrD-Q49H(a;kPUD^XhJ##EfN8GLuuUZ|iIN1xOa|lymDWZUfdo@> zG7D0o3L)$g90gLXs7bL>Qq8I$1A!ce0H~szO~RBQCi6l}qBY5Mu?06Ex@(|NG{oA6 z*xZR&CFdiZV84uUz1vMi3lkhz*kf~Z33hzJc1_$2E`_D0+%!~(e0v$0c^^A$JL`&l zjJ}vj#idv_8JB^qiZt$ol+7mr6yhoBx*&2Ltoh#w9ddK-+))eFYohX%jx?cwyz8bw|2h2 zzPq{mX{Nq+apU2W3xDABp7nV6+xoNd&FLSeRr$ESJNEQyZSBGQWZ$5`Y-|mu2F@5( OIQ|877QW2hyz>vL{b(E zc5oti^Ws0CqM!#oC@R8k3ZC>Pf+&c3^B~NZuI+Xh14Dki_wxOGKHs0K#lo41@yT(D zq9*clYKeT0M92FXhC5~esf>-Pkj}ei9hRVJFJD@R(-bxO&?#4N z#W<%}$c>wkO}y*+1Wi%Xvt8e`nh?`fSa-ZM^Yi%&hIZ^Uvm_dv;pbq(nOh0q!b+iR ztu!s!W@cyT>8?TuT!>A&>$bd5>86<;uR_+*G0V_B6WmNQn@&}XBAr74q{Vn5W^n+} zk`xDmC`sTH&2xZfIdV%eASj}w@JYIVF+?q}Yf4Gg`&wj|W*Qj#3d?pnop>h^M?swh zvMfg&JRc(#v2fYLW;f=AQv(JShF0MC*g+m0F`8A>#%YFlx*3A&mz;V7heL8N>?ez) zjqRE~3*sCb^lYN|1}MYW9pSn|>kyaVmh(IEhvj7-vLzUzc3_bz)~2>e?Jg7<_G3^C zGiX9mMcr(Lu=m3-lzHO3^1A^^9q7}CZR?xX5rzes?PN)EAgoMweG%cCqc)$Zr8({NZh)vIek!XZ^pdO@hNy*{B*jtR;%6{J^aM}b>UU^#~oqv z*z1#@SJ%G0PaS!7VE+8kTW{Cj-TbprK9qZO?e^l#$QVa`DC}3hzWjY9n)|#~P#kOWbvQ}FCwUyWiNv4Y0-lUy51MumvN@{AO%Cd-pl{@`~5$2 zxiWEb_m0Cm7>3zh9@ne%`DuE6vW?#FJzsXx1u^Pm63>#h9U-RR;syd`-=0HNWV@ZS z56~#X4E*BN>ZER+(j4q_c51^Ven`;_Gdh-pwlj|iXrMVS$g{8S++~61=Gkf460ER< zn%?+ggeDg!YR=-kqq^+a2{4*yl)y*C28q8A#9ESPySy5GPq%p%bWO;7o_*(3-Ku~R zju4Q!k&Gii2o!~blB_83I1mLW@&Y}T43sok(Znq19V}Ig+*z%vn>{VM%Ck*ELXGF! z?KamQ;czs^LseB%4pGcdi%i@Jh@E7Dc&N{yqu7bOka#!%DWl!MEs|%cr|&}W!>Tve zB=I_V5ciTr)5a%u$U{!xqpnRFUms;zn!^xpXo^2fDKi1;dsaVv6Y6=#Pw zNNp~Z8unt)EIXPrM0zRMi0vEUAFVa#|ZW^kNBJUh> z%?SITn|00mfWD}RrJRy8N~Wk95`;xrG)z?-5tX896ik!tVcm~T7*9Rn(=OZ4b^R^c z%IWL+4AI5<6rz9@Euu5Fy1$a4^Z9LAFVvDJjsM=h9UJ&*%g((wrf$LC*LJSGxw@1L z?s>V-n;F`BXYl?EyY~FZo|Baq2hLnyy7-E_cK)lW>tOrMUGmW2^xv2M{Og$T>(^5! zI@|A^zED5-@H1`r`^IIke=1FH*WtJoZb_iw8kP&|az+K|F~UTWITD(3f#$-GeL`^7UT+zu)iw znX{7`EfxQ*kuoz-zvW6yorwRJPQ-+p$+%@)*b&?z!UJ5G$bl1G{tR0C%o*RbO) zow$ofIBw%_e!W2(_7TG+f#75|LK;L2&2b~6Y2>&In1Uvr_roIp-}M_j@Vz2GquP=k zRdCB6UykwA@YVDH(s$b+s4T`2Oeood*V zph98{RAD&hN)Q4~6QH7M8axDK3Cg0xPAvx&L)8p94|)gB)M9VWs3EJT#a2bWMQLP+ zVyDv)I>Q2q=S8UNdd4BkIcAYdmO|>JxiA^(Ga#I}u^&;Ngdk&dnxsvOJoEH*2ticy z=UX&cB@dHcvRK;0)QLnWNMhWz$>QsyYgMPJtBNTF$y5Id7ry#t`Xbo!;|_IbaOUypzaD%n{r>Ir z;iWCNkAB_Qd+#ITzz@x{VE0sUxcTSz^}8!ac2JJ~ar(^pC(Wmu9{&GbdguO^@{62< lJ|DP$`RdK_gFkWaeZcL$yw~85{d_6=b5zX<^lN$c)GPQ4f3pAp diff --git a/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_02.png b/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_02.png deleted file mode 100755 index 1b0aef83cf0cb305bc538e2e44fa33aedad8aba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1193 zcmb7E&x_Pn9FGWEbzMYTtVNbbhN^{5GB1;4Ct+uonR$s0nsu2ScIV(>Gs)YXu$#P? zym7J%Mcpc`hk};k!BX9eM}O3VJt#!N@8|RR z{>+t$@#A}Uf3ch6xV_aAsK%a$((98Q?7sT)vXd^T(V&xLmUiq2b0wEFF{t|X9Ij#8 zT|B#nM>uZ#J+I!N4eONd5MQuU8zJ#ShUU1Du_Uyec}zhQ&v`+SfBonQ4?MTXPb*f= z3M;tfomh(S@-0e3 zT@*W=j?l>qB$^YUrfDgMBxRXJHeL*8F|VUSKaE;l+4idi%WkzKbpJ${nY5< z&ehWw8wb~q=wDuIUICv@7W2(#SLmcSf<5eEWp|ckS?EC)Jh-cS*o&fx5zVG}7mA_7UzDMJO26AfM0djuPSM2mF^RsotU>wHd7bO3-M7IH;VD@bBdR76n&Lp^LM zh_M|wFcnR)-bd`vrdYKYK^vo}f>5K^O%pYQQCveIU7VEZW7A&XqE>u7Ej8gLq3SU5 z&O+CWkWY8Au6m!)7i6KBlXFJV6cj@Qpdbl`sR)CDTu=?yS}CWz;9FkfWKGzS6=^c zJ{j2m;-EL1IdE&>-&tnm*%$jqC!QZV(>}lSlKtuX3sY@+`|rD@%)s=ci}xRV&EL2@ z)xO>L`2VrSnLBXx3bVYI)sFqKIJesV^4b;c*TZYnT6Jgt&8Pdm(sJjP>dENvliJB6 oZ`(X0Ew4Q|ZD0NQ6t#6XwKa3-&A0dbU(&xv$r#uFEX*#w2iW$2W&i*H diff --git a/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_04.png b/data/resource/icons/RSSI/B03_RSSI_Dual_Sim_roaming_04.png deleted file mode 100755 index 37c13029ee51593ee5e87fda87442c48f1cfca9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmb7EOK8(z9FNZTRD2+8f)FyrXOn(uk~Lvszu*6viNS#*n>Os+ zKvC4Dd`>NpXLoe1TSM+MKdxBO0&68aghp_~3?P-ZQ5n*C*Q~$-H0`l7?_nQBbv$#5 zC0sI&DHd{BGqPcuu20Yu)z{zjO=}clx(q9hmtuase#_8~onlUkM%?hTuk(SrkB8WD_wf z4gf7lED%IV0*7cm4tOq3PALWiMU)i2m!3Zuq88XAN4r?W#6z3-&s*{Bijk4jCrNvJ9eoU_o@1LV@J ztSinE`n<$vlTuR4>b$H80Axg7(`7!vOBq>9>%{jtto`2!0D&JJy~r{}iLYMqV3GpJs+H{RPwhd;$Of diff --git a/modules/connection/connection.c b/modules/connection/connection.c index 8591a04..c15100d 100644 --- a/modules/connection/connection.c +++ b/modules/connection/connection.c @@ -37,7 +37,6 @@ #include "util.h" #include "box.h" #include "log.h" -#include "network/rssi.h" #define ICON_PRIORITY INDICATOR_PRIORITY_FIXED5 #define MODULE_NAME "connection" @@ -289,9 +288,7 @@ static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, voi } } - int index = rssi_get_sim_number(handle_obj); - default_subscription = ad->tel_info[index].prefered_data; - + default_subscription = ad->tel_info.prefered_data; if(default_subscription == TAPI_NETWORK_DEFAULT_DATA_SUBS_UNKNOWN) { hide_image_icon(); @@ -309,13 +306,15 @@ static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, voi } } - val = ad->tel_info[0].network_service_type; - ps_type = ad->tel_info[0].network_ps_type; + val = ad->tel_info.network_service_type; + ps_type = ad->tel_info.network_ps_type; DBG("TAPI_NETWORK_DEFAULT_DATA_SUBS_SIM1 %d",val); DBG("TAPI_NETWORK_DEFAULT_DATA_SUBS_SIM1 %d",ps_type); _show_proper_icon(val,ps_type, user_data); } + /* FIXME : remove? */ +#if 0 else { int ret = 0; @@ -336,6 +335,7 @@ static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, voi DBG("TAPI_NETWORK_DEFAULT_DATA_SUBS_SIM2 %d",ps_type); _show_proper_icon(val,ps_type, user_data); } +#endif } @@ -580,11 +580,11 @@ static void dnet_state_callback(keynode_t *node, void *data) -static void dnet2_state_callback(keynode_t *node, void *data) +/*static void dnet2_state_callback(keynode_t *node, void *data) { DBG("dnet_state_callback"); on_noti(tapi_handle[1], NULL, NULL, data); -} +}*/ diff --git a/modules/network/rssi.c b/modules/network/rssi.c index b1a4ed4..c5d2c94 100644 --- a/modules/network/rssi.c +++ b/modules/network/rssi.c @@ -17,7 +17,6 @@ * */ - #include #include #include @@ -38,6 +37,7 @@ #include "util.h" #include "connection/connection.h" #include "processing/call_divert.h" +#include "log.h" #define VCONFKEY_TELEPHONY_PREFERRED_VOICE_SUBSCRIPTION "db/telephony/dualsim/preferred_voice_subscription" @@ -46,8 +46,6 @@ #define SIMCARD_ICON_PRIORITY INDICATOR_PRIORITY_FIXED4 #define MODULE_NAME "RSSI" -#define MODULE_NAME_SIM2 "RSSI2" -#define MODULE_NAME_DUAL_SIM "RSSI_DS" #define ICON_NOSIM _("IDS_COM_BODY_NO_SIM") #define ICON_SEARCH _("IDS_COM_BODY_SEARCHING") @@ -59,8 +57,7 @@ static int register_rssi_module(void *data); static int unregister_rssi_module(void); static int language_changed_cb(void *data); static int wake_up_cb(void *data); -static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data); -static int _get_sim_icon(int sim_number); +static void _on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data); static void _flight_mode(keynode_t *key, void *data); #ifdef _SUPPORT_SCREEN_READER static char *access_info_cb(void *data, Evas_Object *obj); @@ -68,24 +65,6 @@ static char *access_info_cb(void *data, Evas_Object *obj); TapiHandle *tapi_handle[TAPI_HANDLE_MAX+1] = {0, }; -static int registered = 0; - - -icon_s rssi_ds = { - .type = INDICATOR_IMG_ICON, - .name = MODULE_NAME_DUAL_SIM, - .priority = SIMCARD_ICON_PRIORITY, - .always_top = EINA_FALSE, - .exist_in_view = EINA_FALSE, - .img_obj = {0,}, - .obj_exist = EINA_FALSE, - .area = INDICATOR_ICON_AREA_FIXED, -#ifdef _SUPPORT_SCREEN_READER - .tts_enable = EINA_TRUE, - .access_cb = access_info_cb -#endif -}; - icon_s rssi = { .type = INDICATOR_IMG_ICON, .name = MODULE_NAME, @@ -105,26 +84,6 @@ icon_s rssi = { #endif }; -icon_s rssi2 = { - .type = INDICATOR_IMG_ICON, - .name = MODULE_NAME_SIM2, - .priority = RSSI2_ICON_PRIORITY, - .always_top = EINA_FALSE, - .exist_in_view = EINA_FALSE, - .img_obj = {0,}, - .obj_exist = EINA_FALSE, - .area = INDICATOR_ICON_AREA_FIXED, -#ifdef _SUPPORT_SCREEN_READER - .tts_enable = EINA_TRUE, - .access_cb = access_info_cb -#endif -}; - -enum { - SIM_1 = 1, - SIM_2 -}; - enum { LEVEL_RSSI_MIN = 0, LEVEL_FLIGHT, @@ -137,40 +96,19 @@ enum { LEVEL_RSSI_SIM1_2, LEVEL_RSSI_SIM1_3, LEVEL_RSSI_SIM1_4, - LEVEL_RSSI_SIM2_0, - LEVEL_RSSI_SIM2_1, - LEVEL_RSSI_SIM2_2, - LEVEL_RSSI_SIM2_3, - LEVEL_RSSI_SIM2_4, LEVEL_RSSI_ROAMING_0, LEVEL_RSSI_ROAMING_1, LEVEL_RSSI_ROAMING_2, LEVEL_RSSI_ROAMING_3, LEVEL_RSSI_ROAMING_4, - LEVEL_RSSI_ROAMING2_0, - LEVEL_RSSI_ROAMING2_1, - LEVEL_RSSI_ROAMING2_2, - LEVEL_RSSI_ROAMING2_3, - LEVEL_RSSI_ROAMING2_4, - LEVEL_SIM_ICON_SIM1, - LEVEL_SIM_ICON_SIM2, - LEVEL_SIM_ICON_CALL, - LEVEL_SIM_ICON_SMS, - LEVEL_SIM_ICON_MMS, - LEVEL_SIM_ICON_INTERNET, - LEVEL_SIM_ICON_HOME, - LEVEL_SIM_ICON_OFFICE, - LEVEL_SIM_ICON_HEART, LEVEL_MAX }; -static int bRoaming = 0; +static int registered = 0; static int updated_while_lcd_off = 0; -static int prevIndex = -1; -static int prevRoam = -1; #ifdef _SUPPORT_SCREEN_READER -static int bRssiShown = 0; #endif + static const char *icon_path[LEVEL_MAX] = { [LEVEL_FLIGHT] = "RSSI/B03_RSSI_Flightmode.png", [LEVEL_NOSIM] = "RSSI/B03_RSSI_NoSim.png", @@ -182,135 +120,48 @@ static const char *icon_path[LEVEL_MAX] = { [LEVEL_RSSI_SIM1_2] = "RSSI/B03_RSSI_Sim_02.png", [LEVEL_RSSI_SIM1_3] = "RSSI/B03_RSSI_Sim_03.png", [LEVEL_RSSI_SIM1_4] = "RSSI/B03_RSSI_Sim_04.png", - [LEVEL_RSSI_SIM2_0] = "RSSI/B03_RSSI_Dual_Sim_00.png", - [LEVEL_RSSI_SIM2_1] = "RSSI/B03_RSSI_Dual_Sim_01.png", - [LEVEL_RSSI_SIM2_2] = "RSSI/B03_RSSI_Dual_Sim_02.png", - [LEVEL_RSSI_SIM2_3] = "RSSI/B03_RSSI_Dual_Sim_03.png", - [LEVEL_RSSI_SIM2_4] = "RSSI/B03_RSSI_Dual_Sim_04.png", [LEVEL_RSSI_ROAMING_0] = "RSSI/B03_RSSI_roaming_00.png", [LEVEL_RSSI_ROAMING_1] = "RSSI/B03_RSSI_roaming_01.png", [LEVEL_RSSI_ROAMING_2] = "RSSI/B03_RSSI_roaming_02.png", [LEVEL_RSSI_ROAMING_3] = "RSSI/B03_RSSI_roaming_03.png", [LEVEL_RSSI_ROAMING_4] = "RSSI/B03_RSSI_roaming_04.png", - [LEVEL_RSSI_ROAMING2_0] = "RSSI/B03_RSSI_Dual_Sim_roaming_00.png", - [LEVEL_RSSI_ROAMING2_1] = "RSSI/B03_RSSI_Dual_Sim_roaming_01.png", - [LEVEL_RSSI_ROAMING2_2] = "RSSI/B03_RSSI_Dual_Sim_roaming_02.png", - [LEVEL_RSSI_ROAMING2_3] = "RSSI/B03_RSSI_Dual_Sim_roaming_03.png", - [LEVEL_RSSI_ROAMING2_4] = "RSSI/B03_RSSI_Dual_Sim_roaming_04.png", - [LEVEL_SIM_ICON_SIM1] = "Dual SIM/B03_Dual_Sim_00.png", - [LEVEL_SIM_ICON_SIM2] = "Dual SIM/B03_Dual_Sim_01.png", - [LEVEL_SIM_ICON_CALL] = "Dual SIM/B03_Dual_Sim_phone.png", - [LEVEL_SIM_ICON_SMS] = "Dual SIM/B03_Dual_Sim_messages.png", - [LEVEL_SIM_ICON_MMS] = "Dual SIM/B03_Dual_Sim_data.png", - [LEVEL_SIM_ICON_INTERNET] = "Dual SIM/B03_Dual_Sim_global.png", - [LEVEL_SIM_ICON_HOME] = "Dual SIM/B03_Dual_Sim_home.png", - [LEVEL_SIM_ICON_OFFICE] = "Dual SIM/B03_Dual_Sim_office.png", - [LEVEL_SIM_ICON_HEART] = "Dual SIM/B03_Dual_Sim_heart.png" }; static void set_app_state(void* data) { - rssi_ds.ad = data; rssi.ad = data; - rssi2.ad = data; -} - -static void show_sim_ds_image_icon(void *data, int index) -{ - if (index < LEVEL_RSSI_MIN) - index = LEVEL_RSSI_MIN; - else if (index >= LEVEL_MAX) - index = LEVEL_NOSVC; - - rssi_ds.img_obj.width = DEFAULT_ICON_WIDTH; - - rssi_ds.img_obj.data = icon_path[index]; - - icon_show(&rssi_ds); - - prevRoam = bRoaming; - prevIndex = index; - isSimShowing = 1; // It is for judgement to show S1 icon(Sound, Wi-fi direct, bluetooth) or not. - util_signal_emit(rssi_ds.ad,"indicator.simicon.show","indicator.prog"); } -static void show_image_icon(void *data, int index) +static void _show_image_icon(void *data, int index) { - if (index < LEVEL_RSSI_MIN) + if (index < LEVEL_RSSI_MIN) { index = LEVEL_RSSI_MIN; - else if (index >= LEVEL_MAX) + } else if (index >= LEVEL_MAX) { index = LEVEL_NOSVC; + } rssi.img_obj.width = DEFAULT_ICON_WIDTH; - rssi.img_obj.data = icon_path[index]; icon_show(&rssi); - prevRoam = bRoaming; - prevIndex = index; - isRSSI1Showing = 1; - util_signal_emit(rssi.ad,"indicator.rssi1.show","indicator.prog"); -} - -static void show_sim2_image_icon(void *data, int index) -{ - if (index < LEVEL_RSSI_MIN) - index = LEVEL_RSSI_MIN; - else if (index >= LEVEL_MAX) - index = LEVEL_NOSVC; - - rssi2.img_obj.width = DEFAULT_ICON_WIDTH; - - rssi2.img_obj.data = icon_path[index]; - - icon_show(&rssi2); - - prevRoam = bRoaming; - prevIndex = index; - isRSSI2Showing = 1; - util_signal_emit(rssi2.ad,"indicator.rssi2.show","indicator.prog"); -} - -static void hide_sim_ds_image_icon(void) -{ - icon_hide(&rssi_ds); - - isSimShowing = 0; // It is for judgement to show S1 icon(Sound, Wi-fi direct, bluetooth) or not. - util_signal_emit(rssi_ds.ad,"indicator.simicon.hide","indicator.prog"); -} - -static void hide_sim_image_icon(void) -{ - icon_hide(&rssi); - - isRSSI1Showing = 0; - util_signal_emit(rssi.ad,"indicator.rssi1.hide","indicator.prog"); -} - -static void hide_sim2_image_icon(void) -{ - icon_hide(&rssi2); - - isRSSI2Showing = 0; - util_signal_emit(rssi2.ad,"indicator.rssi2.hide","indicator.prog"); + util_signal_emit(rssi.ad, "indicator.rssi1.show", "indicator.prog"); } static int language_changed_cb(void *data) { - on_noti(NULL, NULL, NULL, data); - return OK; + _on_noti(NULL, NULL, NULL, data); + + return INDICATOR_ERROR_NONE; } static int wake_up_cb(void *data) { - if(updated_while_lcd_off==0) - { - return OK; - } + if (!updated_while_lcd_off) return INDICATOR_ERROR_NONE; - on_noti(NULL, NULL, NULL, data); - return OK; + _on_noti(NULL, NULL, NULL, data); + + return INDICATOR_ERROR_NONE; } #ifdef _SUPPORT_SCREEN_READER @@ -322,633 +173,342 @@ static char *access_info_cb(void *data, Evas_Object *obj) char buf1[256] = {0,}; int status = 0; - if(bRssiShown == 0) - { - ERR("No rssi level"); - return NULL; - } - vconf_get_int(VCONFKEY_TELEPHONY_RSSI, &status); snprintf(buf1, sizeof(buf1), _("IDS_IDLE_BODY_PD_OUT_OF_4_BARS_OF_SIGNAL_STRENGTH"), status); snprintf(buf, sizeof(buf), "%s, %s", buf1,_("IDS_IDLE_BODY_STATUS_BAR_ITEM")); + _D("buf: %s", buf); - INFO("buf: %s", buf); tmp = strdup(buf); - if (!tmp) return NULL; + retv_if(!tmp, NULL); + return tmp; } #endif -static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { - DBG("On noti funtion"); int sim1_service = 0; - int sim2_service = 0; int status = 0; - int sim_slot_count = 0; int ret = 0; int val = 0; - int preferred_subscription = 0; struct appdata *ad = (struct appdata *)user_data; + TelSimCardStatus_t sim_status_sim1 = 0x00; - if(icon_get_update_flag()==0) - { + if (!icon_get_update_flag()) { updated_while_lcd_off = 1; - DBG("need to update %d",updated_while_lcd_off); + _D("need to update %d", updated_while_lcd_off); return; } - updated_while_lcd_off = 0; ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &status); if (ret == OK && status == TRUE) { - DBG("RSSI Status: Flight Mode"); - show_image_icon(user_data, LEVEL_FLIGHT); - hide_sim2_image_icon(); - hide_sim_ds_image_icon(); + _D("Flight mode"); + _show_image_icon(user_data, LEVEL_FLIGHT); return; } - ret = vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT_COUNT, &sim_slot_count); - if (ret != OK) - LOGE("Failed to get dual_sim vconf"); - DBG("Target's Sim Slot COUNT : %d", sim_slot_count); - TelSimCardStatus_t sim_status_sim1 = 0x00; - TelSimCardStatus_t sim_status_sim2 = 0x00; + sim_status_sim1 = ad->tel_info.sim_status; - sim_status_sim1 = ad->tel_info[0].sim_status; - if(sim_slot_count == 1) - { - DBG("Single Sim target"); - sim_status_sim2 = TAPI_SIM_STATUS_CARD_NOT_PRESENT; - } - else if(sim_slot_count == 2) - { - DBG("Dual Sim target"); - sim_status_sim2 = ad->tel_info[1].sim_status; - } + if (sim_status_sim1 != TAPI_SIM_STATUS_CARD_NOT_PRESENT) { - // Sim 2 - if(sim_status_sim2 != TAPI_SIM_STATUS_CARD_NOT_PRESENT) - { - DBG("Sim2 inserted"); - val = ad->tel_info[1].network_service_type; - DBG("Get SIM2 service type : %d", val); - switch(val) - { - case TAPI_NETWORK_SERVICE_TYPE_NO_SERVICE: - DBG("Service type: NO_SERVICE"); - show_sim2_image_icon(user_data, LEVEL_NOSVC); - break; - case TAPI_NETWORK_SERVICE_TYPE_EMERGENCY: - DBG("Service type: EMERGENCY : Signal-strength level : %d", val); - val = ad->tel_info[1].signal_level; - if(ret != OK) - { - ERR("Can not get signal strength level"); - } - show_sim2_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); - break; - case TAPI_NETWORK_SERVICE_TYPE_SEARCH: - DBG("Service type: SEARCH"); - show_sim2_image_icon(user_data, LEVEL_SEARCH); - break; - case TAPI_NETWORK_SERVICE_TYPE_UNKNOWN: DBG("Service type : UNKNOWN"); - default: - sim2_service = 1; - break; - } - if(sim2_service) - { - val = ad->tel_info[1].signal_level; - DBG("Get SIM2 signal strength level: %d", val); - int roaming = 0; - roaming = ad->tel_info[1].roaming_status; - preferred_subscription = ad->tel_info[1].default_network; - if(roaming) - { - if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM2 && sim_status_sim1 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - show_sim2_image_icon(user_data, LEVEL_RSSI_ROAMING2_0+val); - } - else - { - show_sim2_image_icon(user_data, LEVEL_RSSI_ROAMING_0+val); - } - } - else - { - if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM2 && sim_status_sim1 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - show_sim2_image_icon(user_data, LEVEL_RSSI_SIM2_0+val); - } - else - { - show_sim2_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); - } - } - } - } + val = ad->tel_info.network_service_type; + _D("Network service type : %d", val); - // SIM 1 - if(sim_status_sim1 != TAPI_SIM_STATUS_CARD_NOT_PRESENT) - { - DBG("Sim1 inserted"); - val = ad->tel_info[0].network_service_type; - DBG("Get SIM1 service type : %d", val); - switch(val) - { - case TAPI_NETWORK_SERVICE_TYPE_NO_SERVICE: - DBG("Service type: NO_SERVICE"); - show_image_icon(user_data, LEVEL_NOSVC); - break; - case TAPI_NETWORK_SERVICE_TYPE_EMERGENCY: - DBG("Service type: EMERGENCY : Signal-strength level : %d", val); - val = ad->tel_info[0].signal_level; - if(ret != OK) - { - ERR("Can not get signal strength level"); - } - show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); - break; - case TAPI_NETWORK_SERVICE_TYPE_SEARCH: - DBG("Service type: SEARCH"); - show_image_icon(user_data, LEVEL_SEARCH); - break; - case TAPI_NETWORK_SERVICE_TYPE_UNKNOWN: DBG("Service type : UNKNOWN"); - default: - DBG("Service type : UNKNOWN (%d)", val); - sim1_service = 1; - break; - } - if(sim1_service) - { - val = ad->tel_info[0].signal_level; - DBG("Get SIM1 signal strength level: %d", val); - int roaming = 0; - roaming = ad->tel_info[0].roaming_status; - preferred_subscription = ad->tel_info[0].default_network; - if(roaming) - { - if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM1 && sim_status_sim2 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - show_image_icon(user_data, LEVEL_RSSI_ROAMING2_0+val); - } - else - { - show_image_icon(user_data, LEVEL_RSSI_ROAMING_0+val); - } + switch (val) { + case TAPI_NETWORK_SERVICE_TYPE_NO_SERVICE: + _D("Service type : NO_SERVICE"); + _show_image_icon(user_data, LEVEL_NOSVC); + break; + case TAPI_NETWORK_SERVICE_TYPE_EMERGENCY: + _D("Service type : EMERGENCY"); + val = ad->tel_info.signal_level; + if (ret != OK) { + _E("Can not get signal strength level"); } - else - { - if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM1 && sim_status_sim2 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - show_image_icon(user_data, LEVEL_RSSI_SIM2_0+val); - } - else - { - show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); - } - } - + _show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); + break; + case TAPI_NETWORK_SERVICE_TYPE_SEARCH: + _D("Service type : SEARCH"); + _show_image_icon(user_data, LEVEL_SEARCH); + break; + default: + _D("Service type : UNKNOWN (%d)", val); + sim1_service = 1; + break; } - } - if(sim_status_sim1 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED && sim_status_sim2 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - DBG("Dual Sim : Check preferred network subscription"); - if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM1) - { - DBG("Preferred voice subscription set to sim1 : %d", preferred_subscription); - show_sim_ds_image_icon(user_data, _get_sim_icon(SIM_1)); + if (sim1_service) { + val = ad->tel_info.signal_level; + _D("get Sim1 signal strength level: %d", val); - } - else if(preferred_subscription == TAPI_NETWORK_DEFAULT_SUBS_SIM2) - { - DBG("Preferred voice subscription set to sim2 : %d", preferred_subscription); - show_sim_ds_image_icon(user_data, _get_sim_icon(SIM_2)); - } - else - { - hide_sim_ds_image_icon(); - ERR("Preferred voice subscription is: %d", preferred_subscription); - } - } - else if(sim_status_sim1 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED && sim_status_sim2 != TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - DBG("Single Sim : Show Sim card 1 icon"); - hide_sim2_image_icon(); - show_sim_ds_image_icon(user_data, _get_sim_icon(SIM_1)); - } - else if(sim_status_sim1 != TAPI_SIM_STATUS_SIM_INIT_COMPLETED && sim_status_sim2 == TAPI_SIM_STATUS_SIM_INIT_COMPLETED) - { - DBG("Single Sim : Show Sim card 2 icon"); - hide_sim_image_icon(); - show_sim_ds_image_icon(user_data, _get_sim_icon(SIM_2)); - } + int roaming = 0; + roaming = ad->tel_info.roaming_status; - if(sim_status_sim1 == TAPI_SIM_STATUS_CARD_NOT_PRESENT && - sim_status_sim2 == TAPI_SIM_STATUS_CARD_NOT_PRESENT) - { - hide_sim_image_icon(); - hide_sim2_image_icon(); - hide_sim_ds_image_icon(); - val = ad->tel_info[0].signal_level; - DBG("No sim card : Signal-strength level : %d", val); - if(ret != OK) - { - ERR("Can not get signal strength level"); + if (roaming) { + _show_image_icon(user_data, LEVEL_RSSI_ROAMING_0+val); + } else { + _show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); + } } - show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); } - else if(sim_slot_count !=2 ) - { - DBG("Single Sim target"); - hide_sim2_image_icon(); - hide_sim_ds_image_icon(); - } -} - -static int _get_sim_icon(int sim_number) -{ - int status = 0; - int ret = 0; - if(sim_number == SIM_1) - { -// ret = vconf_get_int(VCONFKEY_SETAPPL_SIM1_ICON, &status); - if (ret == OK) - { - LOGD("Sim 1 icon: %d", status); - } - } - else - { -// ret = vconf_get_int(VCONFKEY_SETAPPL_SIM2_ICON, &status); - if (ret == OK) - { - LOGD("Sim 2 icon: %d", status); + if (sim_status_sim1 == TAPI_SIM_STATUS_CARD_NOT_PRESENT) { + val = ad->tel_info.signal_level; + _D("No sim card : Signal-strength level : %d", val); + if (ret != OK) { + _E("Can not get signal strength level"); } + _show_image_icon(user_data, LEVEL_RSSI_SIM1_0+val); } - - return status+LEVEL_SIM_ICON_SIM1; -} - -static void _sim_icon_update(keynode_t *key, void *data) -{ - on_noti(NULL, NULL, NULL, data); } static void _flight_mode(keynode_t *key, void *data) { - on_noti(NULL, NULL, NULL, data); + _on_noti(NULL, NULL, NULL, data); } -int rssi_get_sim_number(TapiHandle *handle_obj) -{ - DBG("tapi_handle[0](%x),tapi_handle[1](%x),current(%x)",tapi_handle[0],tapi_handle[1],handle_obj); - - int ret = -1; - if(tapi_handle[0]!=NULL) - { - if(tapi_handle[0]==handle_obj) - ret = 0; - } - - if(tapi_handle[1]!=NULL) - { - if(tapi_handle[1]==handle_obj) - ret = 1; - } - - if(ret == -1) - { - ERR("no handle %x",handle_obj); - ret = 0; - } - - DBG("sim %d",ret); - - return ret; -} -static void init_tel_info(void* data) +static void _init_tel_info(void* data) { int ret = 0; struct appdata *ad = (struct appdata *)data; int i = 0; int val = 0; TelSimCardStatus_t sim_status; - retif(data == NULL, , "invalid parameter !!"); - for(i=0;i<2;i++) - { - if(tapi_handle[i]==NULL) - { - DBG("i %d,NULL"); - continue; - } - DBG("tapi handle %x %d",tapi_handle[i],i); + ret_if(!ad); + + /* FIXME : modem_num? */ +// for (i = 0; i < 2; i++) { + if (!tapi_handle[i]) return; + ret = tel_get_property_int(tapi_handle[i], TAPI_PROP_NETWORK_ROAMING_STATUS, &val); - if(ret != OK) - { - ERR("Can not get %s",TAPI_PROP_NETWORK_ROAMING_STATUS); + if (ret != OK) { + _E("Can not get %s",TAPI_PROP_NETWORK_ROAMING_STATUS); } - DBG("TAPI_PROP_NETWORK_ROAMING_STATUS %d",val); - ad->tel_info[i].roaming_status = val; + ad->tel_info.roaming_status = val; ret = tel_get_property_int(tapi_handle[i], TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL, &val); - if(ret != OK) - { - ERR("Can not get %s",TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL); + if (ret != OK) { + _E("Can not get %s",TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL); } - DBG("TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL %d",val); - ad->tel_info[i].signal_level = val; + ad->tel_info.signal_level = val; ret = tel_get_property_int(tapi_handle[i], TAPI_PROP_NETWORK_SERVICE_TYPE, &val); - if(ret != OK) - { - ERR("Can not get %s",TAPI_PROP_NETWORK_SERVICE_TYPE); + if (ret != OK) { + _E("Can not get %s",TAPI_PROP_NETWORK_SERVICE_TYPE); } - DBG("TAPI_PROP_NETWORK_SERVICE_TYPE %d",val); - ad->tel_info[i].network_service_type = val; + ad->tel_info.network_service_type = val; ret = tel_get_property_int(tapi_handle[i], TAPI_PROP_NETWORK_PS_TYPE, &val); - if(ret != OK) - { - ERR("Can not get %s",TAPI_PROP_NETWORK_SERVICE_TYPE); + if (ret != OK) { + _E("Can not get %s",TAPI_PROP_NETWORK_SERVICE_TYPE); } - DBG("TAPI_PROP_NETWORK_PS_TYPE %d",val); - ad->tel_info[i].network_ps_type = val; - + ad->tel_info.network_ps_type = val; TelCallPreferredVoiceSubs_t preferred_sub = TAPI_CALL_PREFERRED_VOICE_SUBS_UNKNOWN; ret = tel_get_call_preferred_voice_subscription(tapi_handle[i], &preferred_sub); - if(ret != OK) - { - ERR("Can not get %s",TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION); + if (ret != OK) { + _E("Can not get %s",TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION); } - DBG("TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION %d",preferred_sub); - ad->tel_info[i].prefered_voice = preferred_sub; + ad->tel_info.prefered_voice = preferred_sub; #ifdef DEVICE_BUILD TelNetworkDefaultDataSubs_t preferred_data = TAPI_NETWORK_DEFAULT_DATA_SUBS_UNKNOWN; - ret = tel_get_network_default_data_subscription(tapi_handle[i], &preferred_data); - if(ret != OK) - { - ERR("Can not get %s",TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION); + ret = tel_get_network_default_data_subscription(tapi_handle[i], &preferred_data); + if (ret != OK) { + _E("Can not get %s",TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION); } - DBG("TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION %d",preferred_data); - ad->tel_info[i].prefered_data = preferred_data; + ad->tel_info.prefered_data = preferred_data; TelNetworkDefaultSubs_t default_subs = TAPI_NETWORK_DEFAULT_SUBS_UNKNOWN; - ret = tel_get_network_default_subscription(tapi_handle[i], &default_subs); - if(ret != OK) - { - ERR("Can not get %s",TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION); + ret = tel_get_network_default_subscription(tapi_handle[i], &default_subs); + if (ret != OK) { + _E("Can not get %s",TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION); } - DBG("TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION %d",default_subs); - - ad->tel_info[i].default_network = default_subs; + ad->tel_info.default_network = default_subs; ret = tel_get_property_int(tapi_handle[i], TAPI_PROP_SIM_CALL_FORWARD_STATE, &val); - if(ret != OK) - { - ERR("Can not get %s",TAPI_PROP_SIM_CALL_FORWARD_STATE); + if (ret != OK) { + _E("Can not get %s",TAPI_PROP_SIM_CALL_FORWARD_STATE); } - ad->tel_info[i].call_forward = val; - DBG("TAPI_PROP_SIM_CALL_FORWARD_STATE %d",val); -#endif // DEVICE_BUILD + ad->tel_info.call_forward = val; +#endif int changed = 0; ret = tel_get_sim_init_info(tapi_handle[i], &sim_status, &changed); - if(ret != OK) - { - ERR("Can not get sim init info"); + if (ret != OK) { + _E("Can not get sim init info"); } - DBG("sim info %d",sim_status); - ad->tel_info[i].sim_status = sim_status; - } + ad->tel_info.sim_status = sim_status; +// } } -static void signal_strength_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) + +static void _signal_strength_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *sig_level = data; struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); - DBG ("property(%s) receive !!", TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL); - DBG (" - sig_level = %d", *sig_level); - ad->tel_info[sim_number].signal_level= *sig_level; + ret_if(!ad); + + _D("Signal level = %d", *sig_level); + + ad->tel_info.signal_level= *sig_level; - on_noti(handle_obj,noti_id,data,user_data); + _on_noti(handle_obj, noti_id, data, user_data); } -static void sim_status_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _sim_status_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *sim_status = data; - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - ERR ("sim %d",sim_number); - ERR ("property(%s) receive !!", TAPI_NOTI_SIM_STATUS); - ERR (" - sim_status = %d", *sim_status); + ret_if(!ad); + + _D("Sim status = %d ", *sim_status); - ad->tel_info[sim_number].sim_status= *sim_status; + ad->tel_info.sim_status= *sim_status; - on_noti(handle_obj,noti_id,data,user_data); - connection_icon_on_noti(handle_obj,noti_id,data,user_data); + _on_noti(handle_obj, noti_id, data, user_data); + connection_icon_on_noti(handle_obj, noti_id, data, user_data); } -static void network_service_type_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _network_service_type_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *service_type = data; - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); - DBG ("property(%s) receive !!", TAPI_PROP_NETWORK_SERVICE_TYPE); - DBG (" - service_type = %d", *service_type); + ret_if(!ad); - ad->tel_info[sim_number].network_service_type= *service_type; + _D ("Network service type = %d", *service_type); - on_noti(handle_obj,noti_id,data,user_data); - connection_icon_on_noti(handle_obj,noti_id,data,user_data); + ad->tel_info.network_service_type= *service_type; + + _on_noti(handle_obj, noti_id, data, user_data); + connection_icon_on_noti(handle_obj, noti_id, data, user_data); } -static void network_ps_type_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _network_ps_type_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *ps_type = data; - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); - DBG ("property(%s) receive !!", TAPI_PROP_NETWORK_PS_TYPE); - DBG (" - ps_type = %d", *ps_type); + ret_if(!ad); + + _D ("Network ps type = %d", *ps_type); - ad->tel_info[sim_number].network_ps_type= *ps_type; + ad->tel_info.network_ps_type= *ps_type; - connection_icon_on_noti(handle_obj,noti_id,data,user_data); + connection_icon_on_noti(handle_obj, noti_id, data, user_data); } -static void roaming_status_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _roaming_status_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *roaming_status = data; - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); - - DBG ("property(%s) receive !!", TAPI_PROP_NETWORK_ROAMING_STATUS); - DBG (" - roaming_status = %d", *roaming_status); - - ad->tel_info[sim_number].roaming_status= *roaming_status; - on_noti(handle_obj,noti_id,data,user_data); -} - - -#if 0 -static void preferred_voice_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) -{ - int *prefered_voice = data; - - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); + ret_if(!ad); - DBG ("property(%s) receive !!", TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION); - DBG (" - preferred_voice = %d", *prefered_voice); + _D ("Roaming status = %d", *roaming_status); - ad->tel_info[sim_number].prefered_voice = *prefered_voice; + ad->tel_info.roaming_status= *roaming_status; - on_noti(handle_obj,noti_id,data,user_data); + _on_noti(handle_obj, noti_id, data, user_data); } -#endif - - -static void preferred_data_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +/* FIXME : remove? */ +static void _preferred_data_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; struct tel_noti_network_default_data_subs *noti = data; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); + struct appdata *ad = (struct appdata *)user_data; + + ret_if(!ad); - DBG ("property(%s) receive !!", TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION); - DBG (" - preferred_data = %d", noti->default_subs); + _D ("Preferred data = %d", noti->default_subs); //Data preferred calback comes from only the sim handle which changed //SIM1->SIM2 , callback comes only for SIM2 handle - ad->tel_info[0].prefered_data = noti->default_subs; - ad->tel_info[1].prefered_data = noti->default_subs; + ad->tel_info.prefered_data = noti->default_subs; //data prefered is not controllered - connection_icon_on_noti(handle_obj,noti_id,data,user_data); + connection_icon_on_noti(handle_obj, noti_id, data, user_data); } -static void default_network_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _default_network_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; struct tel_noti_network_default_subs *noti = data; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); + struct appdata *ad = (struct appdata *)user_data; + + ret_if(!ad); - DBG ("property(%s) receive !!", TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION); - DBG (" - default_network = %d", noti->default_subs); + _D ("Default network = %d", noti->default_subs); - ad->tel_info[sim_number].default_network = noti->default_subs; + ad->tel_info.default_network = noti->default_subs; - on_noti(handle_obj,noti_id,data,user_data); + _on_noti(handle_obj, noti_id, data, user_data); } -static void call_forward_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _call_forward_cb(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { int *call_forward = data; - struct appdata *ad = (struct appdata *)user_data; - retif(user_data == NULL, , "invalid parameter!!"); - int sim_number = 0; - sim_number = rssi_get_sim_number(handle_obj); - DBG ("sim %d",sim_number); -#ifdef DEVICE_BUILD - DBG ("property(%s) receive !!", TAPI_PROP_SIM_CALL_FORWARD_STATE); -#endif // DEVICE_BUILD - DBG (" - call_forward = %d", *call_forward); + ret_if(!ad); - ad->tel_info[sim_number].call_forward = *call_forward; + _D ("Call forward = %d", *call_forward); - call_forward_on_noti(handle_obj,noti_id,data,user_data); -} + ad->tel_info.call_forward = *call_forward; + call_forward_on_noti(handle_obj, noti_id,data, user_data); +} /* Initialize TAPI */ -static void __init_tel(void *data) +static void _init_tel(void *data) { - DBG("__init_tel"); char **cp_list = NULL; unsigned int modem_num = 0; - if(registered ==1) - { - ERR("already registered"); + _D("Initialize TAPI"); + + if (registered) { + _E("TAPI Already registered"); return; } cp_list = tel_get_cp_name_list(); - retif(cp_list == NULL, , "tel_get_cp_name_list() return NULL !!"); + ret_if(!cp_list); + while (cp_list[modem_num]) { tapi_handle[modem_num] = tel_init(cp_list[modem_num]); - if(!tapi_handle[modem_num]) - { - ERR("tapi_handle[%d] is null !!", modem_num); - } - else - { - tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL, signal_strength_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_SIM_STATUS, sim_status_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_SERVICE_TYPE, network_service_type_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_PS_TYPE, network_ps_type_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_ROAMING_STATUS, roaming_status_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION, preferred_data_cb, data); - tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION, default_network_cb, data); + if (!tapi_handle[modem_num]) { + _E("tapi_handle[%d] is NULL", modem_num); + } else { + tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL, _signal_strength_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_SIM_STATUS, _sim_status_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_SERVICE_TYPE, _network_service_type_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_PS_TYPE, _network_ps_type_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_NETWORK_ROAMING_STATUS, _roaming_status_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION, _preferred_data_cb, data); + tel_register_noti_event(tapi_handle[modem_num], TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION, _default_network_cb, data); #ifdef DEVICE_BUILD - tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_SIM_CALL_FORWARD_STATE , call_forward_cb, data); -#endif // DEVICE_BUILD + tel_register_noti_event(tapi_handle[modem_num], TAPI_PROP_SIM_CALL_FORWARD_STATE , _call_forward_cb, data); +#endif } modem_num++; } - DBG("Model num: %d", modem_num); + _D("modem num: %d", modem_num); + tapi_handle[modem_num] = NULL; g_strfreev(cp_list); - init_tel_info(data); - on_noti(NULL, NULL, NULL, data); + _init_tel_info(data); + _on_noti(NULL, NULL, NULL, data); registered = 1; } /* De-initialize TAPI */ -static void __deinit_tel() +static void _deinit_tel() { - DBG("__deinit_tel"); + _D("De-initialize TAPI"); unsigned int i = 0; while (tapi_handle[i]) { @@ -963,7 +523,7 @@ static void __deinit_tel() tel_deregister_noti_event(tapi_handle[i], TAPI_NOTI_NETWORK_DEFAULT_SUBSCRIPTION); #ifdef DEVICE_BUILD tel_deregister_noti_event(tapi_handle[i], TAPI_PROP_SIM_CALL_FORWARD_STATE); -#endif // DEVICE_BUILD +#endif } tel_deinit(tapi_handle[i]); tapi_handle[i] = NULL; @@ -974,75 +534,61 @@ static void __deinit_tel() registered = 0; } -static void tel_ready_cb(keynode_t *key, void *data) +static void _tel_ready_cb(keynode_t *key, void *data) { gboolean status = FALSE; status = vconf_keynode_get_bool(key); if (status == TRUE) { /* Telephony State - READY */ - __init_tel(data); + _init_tel(data); } - else { /* Telephony State – NOT READY */ + else { /* Telephony State – NOT READY */ /* De-initialization is optional here (ONLY if required) */ - __deinit_tel(); + _deinit_tel(); } } static int register_rssi_module(void *data) { - int r = 0; - gboolean state = FALSE; + int ret; - retif(data == NULL, FAIL, "Invalid parameter!"); + retv_if(!data, 0); set_app_state(data); - DBG("RSSI initialization"); - vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode, data); -// vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM1_ICON, _sim_icon_update, data); -// vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM2_ICON, _sim_icon_update, data); - - vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state); + ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode, data); + if (ret != OK) _E("Failed to register callback for VCONFKEY_TELEPHONY_FLIGHT_MODE"); - if(state) - { - DBG("Telephony ready"); - __init_tel(data); + ret = vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state); + if (ret != OK) { + _E("Failed to get value for VCONFKEY_TELEPHONY_READY"); + return ret; } - else - { - DBG("Telephony not ready"); - vconf_notify_key_changed(VCONFKEY_TELEPHONY_READY, tel_ready_cb, data); + + if(state) { + _D("Telephony ready"); + _init_tel(data); + } else { + _D("Telephony not ready"); + vconf_notify_key_changed(VCONFKEY_TELEPHONY_READY, _tel_ready_cb, data); } - r = OK; - return r; + return ret; } static int unregister_rssi_module(void) { int ret; - ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_READY, - tel_ready_cb); - if (ret != OK) - ERR("Failed to unregister callback!"); - - ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, - _flight_mode); - if (ret != OK) - ERR("Failed to unregister callback!"); -#if 0 - ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM1_ICON, _sim_icon_update); - if (ret != OK) - ERR("Failed to unregister callback!"); - - ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM2_ICON, _sim_icon_update); - if (ret != OK) - ERR("Failed to unregister callback!"); -#endif - __deinit_tel(); - ret = OK; + ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_READY, _tel_ready_cb); + if (ret != OK) _E("Failed to unregister callback for VCONFKEY_TELEPHONY_READY"); + + ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode); + if (ret != OK) _E("Failed to unregister callback for VCONFKEY_TELEPHONY_FLIGHT_MODE"); + + _deinit_tel(); + return ret; } +/* End of file */ diff --git a/modules/network/rssi.h b/modules/network/rssi.h deleted file mode 100644 index 0ace0dd..0000000 --- a/modules/network/rssi.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Indicator - * - * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - - -#ifndef __INDICATOR_RSSI_H__ -#define __INDICATOR_RSSI_H__ - -extern int rssi_get_sim_number(TapiHandle *handle_obj); - -#endif diff --git a/modules/processing/call_divert.c b/modules/processing/call_divert.c index 0973d03..01a2f55 100644 --- a/modules/processing/call_divert.c +++ b/modules/processing/call_divert.c @@ -17,7 +17,6 @@ * */ - #include #include #include @@ -27,26 +26,26 @@ #include #include #include + #include "common.h" #include "indicator.h" #include "main.h" #include "modules.h" #include "icon.h" +#include "log.h" #define ICON_PRIORITY INDICATOR_PRIORITY_SYSTEM_2 #define MODULE_NAME "call_divert" -#define MODULE_NAME_SIM2 "call_divert2" #define TAPI_HANDLE_MAX 2 static int register_call_divert_module(void *data); static int unregister_call_divert_module(void); +static void _on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data); #ifdef _SUPPORT_SCREEN_READER static char *access_info_cb(void *data, Evas_Object *obj); #endif -static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data); - icon_s call_divert = { .type = INDICATOR_IMG_ICON, .name = MODULE_NAME, @@ -64,92 +63,24 @@ icon_s call_divert = { #endif }; -icon_s call_divert2 = { - .type = INDICATOR_IMG_ICON, - .name = MODULE_NAME_SIM2, - .priority = ICON_PRIORITY, - .always_top = EINA_FALSE, - .exist_in_view = EINA_FALSE, - .img_obj = {0,}, - .obj_exist = EINA_FALSE, - .area = INDICATOR_ICON_AREA_SYSTEM, -#ifdef _SUPPORT_SCREEN_READER - .tts_enable = EINA_TRUE, - .access_cb = access_info_cb -#endif -}; - -/*FIXME*/ -enum { - SIM_ICON_SIM1 = 0, - SIM_ICON_SIM2, - SIM_ICON_CALL, - SIM_ICON_SMS, - SIM_ICON_MMS, - SIM_ICON_INTERNET, - SIM_ICON_HOME, - SIM_ICON_OFFICE, - SIM_ICON_HEART, - SIM_ICON_MAX -}; - -static const char *icon_path[SIM_ICON_MAX] = { - [SIM_ICON_SIM1] = "Processing/B03_Call_divert_Sim_1.png", - [SIM_ICON_SIM2] = "Processing/B03_Call_divert_Sim_2.png", - [SIM_ICON_CALL] = "Processing/B03_Call_divert_Sim_phone.png", - [SIM_ICON_SMS] = "Processing/B03_Call_divert_Sim_SMS.png", - [SIM_ICON_MMS] = "Processing/B03_Call_divert_Sim_MMS.png", - [SIM_ICON_INTERNET] = "Processing/B03_Call_divert_Sim_global.png", - [SIM_ICON_HOME] = "Processing/B03_Call_divert_Sim_home.png", - [SIM_ICON_OFFICE] = "Processing/B03_Call_divert_Sim_office.png", - [SIM_ICON_HEART] = "Processing/B03_Call_divert_Sim_heart.png", -}; - -enum { - SIM_1 = 1, - SIM_2 -}; - - +static const char *icon_path = "call_devert/B03_Call_divert_default.png"; static void set_app_state(void* data) { call_divert.ad = data; - call_divert2.ad = data; } - - -static void show_image_icon(void *data, int icon) +static void _show_image_icon(void *data) { - call_divert.img_obj.data = icon_path[icon]; + call_divert.img_obj.data = icon_path; icon_show(&call_divert); } - - -static void hide_image_icon(void) +static void _hide_image_icon(void) { icon_hide(&call_divert); } - - -static void show_sim2_image_icon(void *data, int icon) -{ - call_divert2.img_obj.data = icon_path[icon]; - icon_show(&call_divert2); -} - - - -static void hide_sim2_image_icon(void) -{ - icon_hide(&call_divert2); -} - - - #ifdef _SUPPORT_SCREEN_READER static char *access_info_cb(void *data, Evas_Object *obj) { @@ -157,8 +88,7 @@ static char *access_info_cb(void *data, Evas_Object *obj) char buf[256] = {0,}; int status = 0; - switch (status) - { + switch (status) { case VCONFKEY_TELEPHONY_CALL_FORWARD_ON: snprintf(buf, sizeof(buf), "%s, %s, %s",_("IDS_CST_BODY_CALL_FORWARDING"),_("IDS_IDLE_BODY_ICON"),_("IDS_IDLE_BODY_STATUS_BAR_ITEM")); break; @@ -168,143 +98,113 @@ static char *access_info_cb(void *data, Evas_Object *obj) tmp = strdup(buf); if (!tmp) return NULL; + return tmp; } #endif -static int _get_sim_icon(int sim_number) -{ - int status = 0; -// int ret = 0; - - if(sim_number == SIM_1) - { - /* ret = vconf_get_int(VCONFKEY_SETAPPL_SIM1_ICON, &status); - if (ret == OK) - { - LOGD("Sim 1 icon: %d", status); - }*/ - } - else - { - /* ret = vconf_get_int(VCONFKEY_SETAPPL_SIM2_ICON, &status); - if (ret == OK) - { - LOGD("Sim 2 icon: %d", status); - }*/ - } - - return status; -} - -static void on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) +static void _on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { - DBG("on_noti"); int status = 0; int ret = 0; - int ret_for_sim1 = 0; - int ret_for_sim2 = 0; - int icon = 0; - retif(user_data == NULL, , "invalid parameter!!"); + int call_divert_state = 0; + + ret_if(!user_data); ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &status); if (ret == OK && status == TRUE) { - DBG("Flight Mode"); - hide_sim2_image_icon(); - hide_image_icon(); + _D("Flight Mode"); + _hide_image_icon(); return; } - if(ret_for_sim1 == VCONFKEY_TELEPHONY_CALL_FORWARD_ON) - { - DBG("Show call_farward 1 icon."); - icon = _get_sim_icon(SIM_1); - show_image_icon(data, icon); - } - else // VCONFKEY_TELEPHONY_CALL_FORWARD_OFF - { - DBG("Hide call_farward 1 icon."); - hide_image_icon(); + /* + *\note + * Call forward function like call divert. + */ + /* FIXME */ + if (call_divert_state == VCONFKEY_TELEPHONY_CALL_FORWARD_ON) { + _D("Show call divert icon"); + _show_image_icon(data); + } else { /* VCONFKEY_TELEPHONY_CALL_FORWARD_OFF */ + _D("Hide call divert icon"); + _hide_image_icon(); } - if(ret_for_sim2 == VCONFKEY_TELEPHONY_CALL_FORWARD_ON) - { - DBG("Show call_farward 2 icon."); - icon = _get_sim_icon(SIM_2); - show_sim2_image_icon(data, icon); - } - else // VCONFKEY_TELEPHONY_CALL_FORWARD_OFF - { - DBG("Hide call_farward 2 icon."); - hide_sim2_image_icon(); - } + return; } void call_forward_on_noti(TapiHandle *handle_obj, const char *noti_id, void *data, void *user_data) { - DBG(""); - on_noti(NULL, NULL, NULL, user_data); + _D(""); + _on_noti(NULL, NULL, NULL, user_data); } /* Initialize TAPI */ -static void __init_tel(void *data) +static void _init_tel(void *data) { - on_noti(NULL, NULL, NULL, data); + _on_noti(NULL, NULL, NULL, data); } /* De-initialize TAPI */ -static void __deinit_tel() +static void _deinit_tel() { - DBG("__deinit_tel"); + _D(""); } -static void tel_ready_cb(keynode_t *key, void *data) +static void _tel_ready_cb(keynode_t *key, void *data) { gboolean status = FALSE; status = vconf_keynode_get_bool(key); - if (status == TRUE) { /* Telephony State - READY */ - __init_tel(data); - } - else { /* Telephony State – NOT READY */ - /* De-initialization is optional here (ONLY if required) */ - __deinit_tel(); + if (status == TRUE) { /* Telephony State - READY */ + _init_tel(data); + } else { /* Telephony State – NOT READY */ + /* + *\note + * De-initialization is optional here. (ONLY if required) + */ + _deinit_tel(); } } static void _flight_mode(keynode_t *key, void *data) { - on_noti(NULL, NULL, NULL, data); + _on_noti(NULL, NULL, NULL, data); } -#if 0 + static void _sim_icon_update(keynode_t *key, void *data) { - on_noti(NULL, NULL, NULL, data); + _on_noti(NULL, NULL, NULL, data); } -#endif + static int register_call_divert_module(void *data) { - int ret = 0; - - retif(data == NULL, FAIL, "Invalid parameter!"); - gboolean state = FALSE; + int ret; + + retv_if(!data, 0); set_app_state(data); - vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode, data); - vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state); + ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode, data); + if (ret != OK) { + _E("Failed to register callback for VCONFKEY_TELEPHONY_FLIGHT_MODE"); + } - if(state) - { - DBG("Telephony ready"); - __init_tel(data); + ret = vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state); + if (ret != OK) { + _E("Failed to get value for VCONFKEY_TELEPHONY_READY"); + return ret; } - else - { - DBG("Telephony not ready"); - vconf_notify_key_changed(VCONFKEY_TELEPHONY_READY, tel_ready_cb, data); + + if (state) { + _D("Telephony ready"); + _init_tel(data); + } else { + _D("Telephony not ready"); + vconf_notify_key_changed(VCONFKEY_TELEPHONY_READY, _tel_ready_cb, data); } return ret; @@ -314,11 +214,10 @@ static int unregister_call_divert_module(void) { int ret = 0; - __deinit_tel(); + _deinit_tel(); vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, _flight_mode); - //vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM1_ICON, _sim_icon_update); - //vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM2_ICON, _sim_icon_update); return ret; } +/* End of file */ -- 2.7.4