From 4b074e982b287eaee17b728430dc89500d6b35ae Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 8 Nov 2018 16:44:04 +0100 Subject: [PATCH] Added icons in side menu --- res/drawable-xhdpi/menu_about.png | Bin 0 -> 3435 bytes res/drawable-xhdpi/menu_assistant.png | Bin 0 -> 5273 bytes res/drawable-xhdpi/menu_options.png | Bin 0 -> 1397 bytes res/layout/side_menu_item_cell.xml | 30 +++++--- .../linphone/activities/LinphoneActivity.java | 67 ++++++++++++++++-- 5 files changed, 83 insertions(+), 14 deletions(-) create mode 100644 res/drawable-xhdpi/menu_about.png create mode 100644 res/drawable-xhdpi/menu_assistant.png create mode 100644 res/drawable-xhdpi/menu_options.png diff --git a/res/drawable-xhdpi/menu_about.png b/res/drawable-xhdpi/menu_about.png new file mode 100644 index 0000000000000000000000000000000000000000..37b24bbaa96e8022ce14d3d6ae5365976abb07e8 GIT binary patch literal 3435 zcmV-x4V3bUP)S8h>RpY{oi!{8HHVhdsjak?Nl67&gjczhS)|M(*XsMs? zvwNT1d+xc<%YE+il!fOeH|Lz+`JLa(_q?Bb@AH(57{+VGiWQ&f@9+QW&6_vtN=i!V zFr{v2Xy{Jj6@(QEWghW9;(bnd2~sEV&eGD-&hql|)2*$om&G?6S4kn2u3EKfY;SMx zLUb+wv;~ASxO25(2pMMp^C;ob%F4=)J$v?CBVLdzSL4$fNlPiIudkm=xQ15r5aGDA zg>qm(#}#z!C2TozQBuYEjM-moo@Ohz%_GMM>8wlQh@jY_g1?1^Kp0YSOKJ~t^l;{+;?RN!4Qu91K!sN zI~f-{M~)o%Hu2uEW5@Qo_j2z8gd>D6SU5)5ki>}28O66Y<`A-1ipCT(vqadYR#=6nn-Q8PZ+7QNwBR9$0jWa*P&@*9t z`Jhv=GtmDdWUoelX$l=X#*ZK0%-DE61y5*Jsu~I{)X>my2VJHW!)ApsVSF3o*;9uP zAMOm}DFl7-;>C50o6llvLzq5nJ;ji+qOGm%qcEN@de#84JgH&4YeV34n^27D;(nU3 zZLckVxM+-(T7&+AyC%ejbE8I$YGAq36_RfyX9b{Bo9!6!Ijb}#2k07CG*R4g7u{MD zjK*tCHi3(ZzeulHlufV67(lf=mJ_FJ;Gwu5dNaU17qIFUBmm@kY~G5^<)(Q8k>%5@ zOj}|`0BX!*9C-z0wr<-)tu-=!DE||4;nN&^+K<7u)x$Y_nv=8A z34_}D7xad>XIN+N{3y=NAmK&ybr9}sZ*PB{Fz3sesoRi0$rOgJQ&m+}^V7}F zX#qsZc7z9(DguvtHj~8#Q+d?1GrRA^p;QZUtto#ydGh4-ajYkoEn8N5{rdG2HW2Y+ z2aRK6Dt}S}2zXi~Yho}jEkftU+47bzUp|?$!DBdbkEzU-2E@P7LKf0O{$tC}hNhMX z|8Z_xcW%PZ(8YG>0u!NA5U3f;cVT$H#=JPe)5#6s{W(+cWDvafGqkk$jEk6%FY-yg zSwy_xU}4D`F(MQ|gzcb&twuJ*Jz=n}+yEdmtrn&rQs$dDw=4xq##xR}n=A#Y94stZ zApkn3DzA-&l3Y(81UAa;K>s9irCT?5<$>S41CH< zi!+XV+apOWD*_keWf{aki)9F~$q1Csh9IBiySI$65k_8G5d z&?CXGXq{xxV@)z}cOvjhhR^}hTLDNX*<%PFCVb4`Q4e{Eu~7^D*e~o-Pk4hniIbF| za~?YXqPVvOt`Wg|$@qMOCw=JoiC3=^S9kq^Q>g+m03P|;*8S8{HWre67Y3#t%$_~_hZ*ulW^*v`t$l@+^NLEc3oo!}*cZoXhefWHq=hgG z)p|hO#(mw&1d+UM)}$NhUXL*=`)0|oGP%$l3~Wod1ZEm%Mz9R90T@^Zq&r5B9=-R#fdk!{$cvFjSbWMu zo{5*PcwT2VwJ2Ks9P}gra>J`vua1}UOfT#%$Nq1?pVxJ&V~;TL0Z6N?E5nF7(_oD1 zG-+|AsmZSc)Jw>#h(jj!X9apxox;RyXwasX+5iOEya9*<&&35^R4}5Hvtc6aN)a~E z6v#&UZIc#P+E!udWK+|F+}iKHm5w)G`5~B0EXA-uSAynSIL2(0cP2AMUqkmB+%Izf zn0qw?^$Zr-pJGz`BJt&_+eo zr&-wFE|J8kYoJ?4RbZB5FkT1kLz8Z#A2HIyp0r^i?9_z=0P2PAd|9lAMZ6I@1^HiQ zQg{IUYb?5ye@k69OoW{#kpO_u^d4Q_F6Yo7(Umz@JI$-YErznmMtazjHcS#N5X%DH ziM{CEg|gTI)29x@%(F>f{%|C0n9u?*sS5{o9dxb0_HH?|#bBz`hkFL?wo5t~_%;^8N|*_Z1b}*JkU?^|Q>?Y<)66^Jb#dDCtjdoH_iH-vYr8;?7b@4~>8>%}VZ zU|kG613u0JpYud(Jq6%Rd@}m5hn90xA82#B@c_o@S3K@91wuF9LQSw>%lqV+><{AT zdIt5&oY}p4@ZiCBO@^px`HnuVNW9m1VMSho=52v`(`k#B(}}OvM}`)9B$D3yB4Zk~9mx5k9|JG= z=yi#$UIxVx)DTzABCghyZ=_H2K6c=pJeP+9+0De0Ex@IF!gTUItoEpUmCt6bun|UH zy4k-+Xi(4RXAX>4shrnjrsdRsy+&H%+FFgY&=VwH^$7SC#%t2CFSpMeG(F?QMpG~b z>;06#r(Y&tu4(j)q58F=*e}VI{A>lw7x^ULEM@f@ z5bs&&2~yg@7UA3B4AcO|=Jdg}KCVWt&EPOw)6x5xy{$W#R0Z?;!L<}KD;NBe|5Ogg znWvUVLujMrO)}*|kLQzr307;NiN8X$_@fgB(xGFZmrq@Tv891px#*=k@hVpT?J>;G z7SZ`3$yV8n^uR}o@=?BKIvk`O1HCR3e|X1>#>erDTA*7@AKm7;4k;=PCb__e0z!5CB;GDR>i4{m zPUmQz^4RSuZ(yc%%43}(u@Q`?19e0kbU?z2dqKw{@Kh>}$cP%?pyP0v8T$P{_TKKj z_S)ZN+~4=@>9C$>&tC7l-u15cUGG}&y6$gEOA;2wj~{(a~`am0KHEC1I?!80uzv)%v)27L!j=3^Z=s zxYIDoT`2yKc~t)A80$+oXRSr^KtgPHQa^%Q8n>TMh?$Dt_gW*xl zb1G?*;B{dpW5eg(nwpwhkfAeO*-1<*h=Ha|nR4t~Z@smU3Q&bch2K%(_cAM6_QVrU z?295Y@t0nDXo1=dB> zMiYkl>WURBe!}~31WiUX{7dWV>SoZhWz+Z6vnwb zjdAAo=+Wa0#)yaCiE*TZ^2^BL2RPTJm*kK?9@U(I@HzKKsFoHqkuoHKDZo2j6lhT`oE+8?2{HyHTX!AmZ= zWD+tw0^o6wdEEq5MnZC0Tx0(bW#j1nprS9d|uw}$f4gD^yBAO`m=GpK(qv~g4(<$hM> zn`P6BLUNik#fD=y5UuqRT5FA|7`U%6z17OT;6df8d`rP&B(DXZ7*y;AqNRS+)DGNc zT-#z3Ur1QxBgZDQOq;wWO)=qE4MZy~W!5y=REUYe9aKb@7ojGKGT2WtLzu$r{ zILeV@g;{Wf+$LF3;8+cWt2oc1#Zn8dXef;FsHN}^Sa69z#cCjw*FIPv;P(@CUjP}m z1Oz++oNmD-0u`HqblyV`8e-AvWecvDsE|C8Tk;oEsHn1I6KdnejmJ<(U^YZ+?daRL z@2gRT7Xv?L%$Qdsmr-`9Bfo(zJ{X&UP`bB8o!v=0dvQ)xcbl?C$ZwJr9FEOEefsoi zu}I&~f-5=-m)6%5f_=HHPjSt>`GjLL5Iv=hRv1`gP!T<+O`Fy~p9ckIg`iLa&*MaTg)5a5d8l4M)fmlDp7yMU@w;f#@-z84_D5?~N+F7CkrsTxQ1l+%I-P137$L7oRx~(v1F^NU1h?^msS$o&H$ICN zn7z$03zwXd*Tg3Y4qfVdr^0R9w(anU5hJv5T4(SAJ!0Q;&po%nz~>#L_uhm&pEV1j z_uS3`H8k@y>52)*-h-q}zkdCGK17%P#&EU@C5{KS-4U;BKsy=Ywz;Eb1gN=d?v-kGFq~D2?%z5cSVl3q` z#`hHW2dA8l4nKJNH+*Im~G<1DclM;GnC*By+bI?0=X=t0L(IaVWpuid+M@0hra z;^)`Y)bv5h8Rf_M;yoCbPV~WvjaI}h+2qNSd((1n#J$}D@5ti@2I#ys4o4?*!R)Du z;jRbx1mn|ve7$$ivSrKmdWi{(#8ychgjLWguiL+W|Fh1NHqtn_m{oj|nAh18C#Q0; ztD@=~BlY3=5{+p)a^H||mm4KVCVXH3&qN%RPD>nxvJa7-Y3KS7H1`h}FhJLU+oJfz zg{RW1aHU#*{R>ZzbbK-9)9CP-l`B^kd>N2du5^i+(liin-@g5;D5kBPbnfyH9<845 zPiH^=_~T8P_{N=14;f0Yz8Su=c&gIy*X`H;s;a8GIVlHtUG70l0?uTdnU6x+LWv6M zF+ax7&nbpsOrbO}z)&~QTW+9H+3rxdS^i9en!)!)n_Wb)-d!>fF749@{2i3+X%n0Z z(C6+CvP*nt5)5O?sPz$JuHt9rmE#xwyO+&HROgt-?hKfWZ2a`kS;uee!M% zDE17`ELvY)Cjr*Nb3{60r}pBiBeMQ02D(2Ytsv;EXL0-T6@R!CDwx`ExxrbQ<|7O|8bRO=yq5e&15=Nb(2M;|(|QH@1w z*REZRJ{P1BvT^X>!A0Nc&e(&r@TAu~5oH_{T*&NfY&SB_P;}Xl#yD@%*uF4!?AXak z_$njq807p)$p4^>?X!}@DDrhSJ?}`<3KNxtn;yb%{rnQ4PK^+332yBM8rzPD^n#<) zx;PejIvuqcN0$_@F7{`QxzyH#2@?il99?R$8K)h6K8HS`&0Vt$e&gpZsL&A>efH36 z>asD8@-h}b2%n468Ao(V7oF$@cQsfI#2~8s19zEBF^<+ZSJEPWX{IF^X162iR~=tr ztu_Xiw#t-WpQGRs&!y*`?xs=U8WPTT;Vj?kY2HvGe&Q?s+2r>!y2LYQ&g`{w=g!~3 z^gS-lebdrzM49_sxI4UA>r6+NMHX3GXmB5*=R9quQGqAW@^zL}qcrFi3?DxHT3mi7 zPrFH<31;uHf~SmzG7p}b+KcBpJkd066s5g(95N8S=N{Wy2ZrB5naBldCLxQFu8Z=m zt*!cXVDs!p-^`9<5xT~d%Q4O>@|V zlCxEw8ihgcfdK>2t?wko+?L;uz*pfjbMD$+DMg6j+TKsGp-B$7Mk@1uQzTWADhvGC zW?DL!x_QZ;Zo>YwhMEA6-8AnxCHo>)0Zf5NRaOK=hs);20Q_=&mpK?Ai0%xs;RyT6)iE$R1k1fxC;{ z^<91$)pOd~+BAy`^&IG1c{=^{ii6w1^KBaMIb1%O?@t#jywXMIPjm8if^RkPz*Zxr z45Y!-)_cgLi+zdw^30;3he8)!RP-935~!4BHgdo35fRZ;mxlQWQJZo0!Q*1`&ERoA zkK6|B#~F`LX2SIOsO>G`l`cBb^C+K!W{xu)zAn!rDM$XEt=Xf03a*(&316LQ>K8a^ zgwdYr>gsx>cc;KCRCf)o<_U<6KC{hZcE0R>A9SG&U}#&x*WubXz+?lxOq-@BFxyIv zH+Yo+^wO!&Oa-rF{=qy7&E(z6dnvB;Q7U>b@r8QeF@*PP@HoJ`gpGhYXjj6ck6p(Jb;y7FZEW)`X|$L4A2n^bDO$wP)PaSmLCn;J%31}bqX z^(Czlo12?&;-X2^jiuA6H!W;G0!<5zg}FfWomIG zjCB*;H;brxH{PAzRC=hffqTT}su_>|OxgldKPpal%jeSSy%S@d!m@y0O#_$%eLpjg z1@0$Wq|E!1l}SJGta90|G0=*!_EImSZ#FvPd$Q*a)P8|F> z+a-_Wa*-7%@LmuuoO*-%Z2-}I01d8Y*ku0NiH;1IE&Z5*Uambg4x5>PQ{OXb%%Og4 zJx4zf_yBbC_)21{^0&0KoXP828vQKZUL`9{Jj9Ery9q7+KT(=5OwwK-a)cH^vm0sjT^{1MxITL~aDGm5#o=;eI!8by< zkqZ8A-U~3wAb&>WyJh0Ui9gU)WAW$MT|Zqt)KBBYWtR&jr^cX@ECkP5aEV8u>^Y{8 z;C^G`fJ2iaKMj??nDMOh;K74a!JA`+PLgfL@mR11l1sgkC+M2s zA0p8-qDL<|HJ$XPl1|DYb3y0jNPfg@?V7gk$wqAGI-qM}FKwo8halwsp_!KrKZnLf z>+xhEyhY_f+vJq*WPAH1Ul#}vmIn~s3+Qi(ODoRGK(zQ!UBJuTA@JC`69NyBCL&q} zeUl=<)7i_LFCr!eq244H*XHLyk1EquD?hFq#kJ@T1h%W*3?RB0AOnRq?bzKtzMJXc ziW@Sq}D-A^qRm-4%}&^znCs#64Q`-FS-QW z9Mj~1$ofhqdA0T+?@Kz*@f{&(F?qU?_gY|0r?Uy74FqHiEMd5{tN*cdJNO}#AD|VW z9^~!&_)_2Pi+7tS3Wgj$%F93*19>&}4uig){mHYGfl3SggtHc*q<=UQLkxbAvtTtz zm%0d*qw;`IxR6YcYTZ*JCUME~*~_ zT?TL&!j`OAv!;zHp}uHX4{ihRr}5h_@D4jsmqTIRo6KU6TL!z`kEc;y%U;}r;Lhi< zO|RdDj{ij3LY?PuWN;aLM)`RV*FO^Z6z@-2rqTv!syA#BFE_#AKh%Ydw;KOyhl4Gj%D-7;w4nk;yW zRtMj}1;=TN7A?}fg;Znrd?d4p_o3X!5PAZ{p)-1yaaZ0H_8NTE!bYyRDof;BqebRdVy@;LxE%J86k2;n^K7-LYdw6>|5% zee|YR97`6R+f*vAFI>T@eUT6LqPn;J{PWLi;2!TGod}gW#H~~rNk<0oHhYqpEdZnM zCN^ECxqOtU<8O4?5gzwCaCE^Z8z_^y@JV3d_vxpz3v?K;(GhJRvOz@$tAxHi;8f25J zi&{K!?^cgf@%7;JWEJFka1MD*)oLte-~J%{go;H zhf#b>j>?x}jNAQr95`p=sC;IOT6zS+Q3E;E(N!bivNZU6!Gyhp=t!#PsC*kqu9mj( z_`AZTad(X!OJ-&qI> z-00Dxbs~^)s(#c!hG8;+Y;tPKeqkm$U;0z*18M@&rEt{63 fL?20%MZ(_zS1A56tZLi@00000NkvXXu0mjfiB(@W literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/menu_options.png b/res/drawable-xhdpi/menu_options.png new file mode 100644 index 0000000000000000000000000000000000000000..3a1c7800f3d47609eca32a6781cc12c5b580a711 GIT binary patch literal 1397 zcmV-*1&aEKP)m2{d-&(F_)qpEG5@V_R)I~203>-d$Z-mKqiQ{V)V<#uxHA;yVxHa2ue&u-ip}+s&o!Qyh zU(U4g@$sW8EB{_o{1sIB8%tWEjmeGzOX@9D~G1F=l@9-AH9u6%WM^`sv=yUi9WRt39EwK}&*iMUrx?2*qG7H9&z zXm`Lg*(C~NUAX75WoPcNAwZuim9np)jap#x4{QuLy)ezq$CzcE@%Av%VP}uSIj=mY zjTKe`Aa+$Ohiu=2Sm(JxY%O814&1ebaVgJMbo*3^g*4ouZahQX_(t2c?K9koOk%dh z#DcLA-L}>8cEQ8$Or=t}wVm7JB;%2unB+_*{ebR;uhIoO?}Y~m)(h&E#`5x?mOnek zJe!ksY;D=Xo~KH5VR(rR0BlLo1km*Knqz=`$RA`Q0mUc-5YAvL3R_ZiT1Pm*Q5V_D zLitJoghPOcEh&s;2zwo{gMH9_K&xD3CK1aa`*$~HWHB?HFJ;g*(x{-u|T`TXcT zJmB%Ni+ehh36?sGp31FFL7j!CR-%Vrfe!3CsYmqs!p_%{0g|F^ZHl^Z=jyEP2zkQB z5Jq_+sk5RK@`T}LbY+C3&T0vHJg?KQoo7Lk4KM~m(FS!^;AKoMS9nU@-YLlGKu*gh ztJU%o$xMW+54?LJq=33r!-t z+V<-+5grR2rwM2Rnt&#t31|YEfF_^`XaXJtLc0_3sK-}w67ObW0Wir5FX;f2uJDoy zPz8mTG=QooygJ$s^ffcM7|D87lgs4@M@wmeDk;1|5f=&nd^Tsv> - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index 9610b33e1..4f52f23b8 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -36,6 +36,8 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v4.widget.DrawerLayout; @@ -153,7 +155,7 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick private RelativeLayout sideMenuContent, quitLayout, defaultAccount; private ListView accountsList, sideMenuItemList; private ImageView menu; - private List sideMenuItems; + private List sideMenuItems; private boolean callTransfer = false; private boolean isOnBackground = false; @@ -1587,20 +1589,20 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick sideMenu = findViewById(R.id.side_menu); sideMenuItems = new ArrayList<>(); if (!getResources().getBoolean(R.bool.hide_assistant_from_side_menu)) { - sideMenuItems.add(getResources().getString(R.string.menu_assistant)); + sideMenuItems.add(new MenuItem(getResources().getString(R.string.menu_assistant), R.drawable.menu_assistant)); } if (!getResources().getBoolean(R.bool.hide_settings_from_side_menu)) { - sideMenuItems.add(getResources().getString(R.string.menu_settings)); + sideMenuItems.add(new MenuItem(getResources().getString(R.string.menu_settings), R.drawable.menu_options)); } if (getResources().getBoolean(R.bool.enable_in_app_purchase)) { - sideMenuItems.add(getResources().getString(R.string.inapp)); + sideMenuItems.add(new MenuItem(getResources().getString(R.string.inapp), R.drawable.menu_options)); } - sideMenuItems.add(getResources().getString(R.string.menu_about)); + sideMenuItems.add(new MenuItem(getResources().getString(R.string.menu_about), R.drawable.menu_about)); sideMenuContent = findViewById(R.id.side_menu_content); sideMenuItemList = findViewById(R.id.item_list); menu = findViewById(R.id.side_menu_button); - sideMenuItemList.setAdapter(new ArrayAdapter<>(this, R.layout.side_menu_item_cell, sideMenuItems)); + sideMenuItemList.setAdapter(new MenuAdapter(this, R.layout.side_menu_item_cell, sideMenuItems)); sideMenuItemList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { @@ -1862,4 +1864,57 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } return -1; } + + private class MenuItem { + public String name; + public int icon; + + public MenuItem(String name, int icon) { + this.name = name; + this.icon = icon; + } + + public String toString() { + return name; + } + } + + private class MenuAdapter extends ArrayAdapter { + private List mItems; + private int mResource; + + public MenuAdapter(@NonNull Context context, int resource, @NonNull List objects) { + super(context, resource, objects); + mResource = resource; + mItems = objects; + } + + @Nullable + @Override + public MenuItem getItem(int position) { + return mItems.get(position); + } + + @Override + public int getCount() { + return mItems.size(); + } + + @NonNull + @Override + public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + View rowView = inflater.inflate(mResource, parent, false); + + TextView textView = rowView.findViewById(R.id.item_name); + ImageView imageView = rowView.findViewById(R.id.item_icon); + + MenuItem item = getItem(position); + textView.setText(item.name); + imageView.setImageResource(item.icon); + + return rowView; + } + } }