From 15cc7cf89edb8485f39e56d6d41f89fb4d1e7f15 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 20 Oct 2017 14:24:31 +0200 Subject: [PATCH] Moved chat related fragments to specific folder + fixed issue in resources + fixed click on remove icon which wasn't working --- res/drawable-xhdpi/contact_sip_default.png | Bin 0 -> 4220 bytes res/drawable-xhdpi/contacts_all.png | Bin 3807 -> 0 bytes res/drawable-xhdpi/contacts_all_.png | Bin 0 -> 4827 bytes res/drawable-xhdpi/contacts_all_default.png | Bin 4827 -> 3807 bytes res/drawable-xhdpi/contacts_sip.png | Bin 5248 -> 0 bytes res/drawable-xhdpi/contacts_sip_default.png | Bin 4220 -> 5248 bytes res/drawable/chat_room_creation_next.xml | 8 ++ res/layout/create_chat.xml | 2 +- .../org/linphone/ContactSelectView.java | 16 ++-- src/android/org/linphone/ContactsManager.java | 4 - .../org/linphone/ContactsUpdatedListener.java | 24 ++++++ .../org/linphone/LinphoneActivity.java | 7 +- .../linphone/SearchContactsListAdapter.java | 2 +- .../{ => chat}/ChatCreationFragment.java | 74 +++++++++--------- .../org/linphone/{ => chat}/ChatFragment.java | 11 ++- .../{ => chat}/ChatGroupCreationFragment.java | 2 +- .../linphone/{ => chat}/ChatListFragment.java | 12 ++- 17 files changed, 101 insertions(+), 61 deletions(-) create mode 100644 res/drawable-xhdpi/contact_sip_default.png delete mode 100644 res/drawable-xhdpi/contacts_all.png create mode 100644 res/drawable-xhdpi/contacts_all_.png delete mode 100644 res/drawable-xhdpi/contacts_sip.png create mode 100644 res/drawable/chat_room_creation_next.xml create mode 100644 src/android/org/linphone/ContactsUpdatedListener.java rename src/android/org/linphone/{ => chat}/ChatCreationFragment.java (84%) rename src/android/org/linphone/{ => chat}/ChatFragment.java (99%) rename src/android/org/linphone/{ => chat}/ChatGroupCreationFragment.java (97%) rename src/android/org/linphone/{ => chat}/ChatListFragment.java (97%) diff --git a/res/drawable-xhdpi/contact_sip_default.png b/res/drawable-xhdpi/contact_sip_default.png new file mode 100644 index 0000000000000000000000000000000000000000..48184b73ad4a378752ce2f3b970e1dd23e295c0f GIT binary patch literal 4220 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 IL%GEL2j2DhcK`qY literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/contacts_all.png b/res/drawable-xhdpi/contacts_all.png deleted file mode 100644 index eb98ed4243fffd0e155d829bcfc5136288a82403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3807 zcmV<54j}P~P)Dln& zi!YuUhM$EPhA|Jo-2fH<(DEp%2f!LB<#(ge=z&WbzF`=(%)C$tF%!UFGV^5sKt!Dh zjeLWMwgT7|iA2sM|Glp3(~0O20O0~x%>nS!%F4=nH*MN<;*x>i*w}cP>$+bAumr%& zOf{03*8zCKw(XYzP$(4oIx~M0KxGlDdt3M^T%I zNHB9#2G1TNqFn$wn7J#_t4K;Yo`|LaxDLSR0m@(^S``Qc?imcjTyXgF=g({S;Z^*z8g+d=? z=4SxZ6dC#fBD&A#^Q~LIe!ZJR&m663+HxZLR{&#DG{CcgKwxPxdqBb9>$<*_h}NX> zKqP>dh-f1-zfMHQh=`eaEHh6gqPfg`Gl0v}yhZ|8)XJ z9yU$$%ViBe91hn@DYvBXwci8qxZ^kv#$vH|)0NZI)KnRd$J+tiq{u!krTp7yG}=~Z z28Lm*0PvuS2Qz=#w(YfL318RsD})fgW#$hkvUd^DCr#7bpT)4XQBkjMDP=esjczZZ zEBsjiKLa3=vQ7#iu8u?^hYI~pk$3A6J(vRgM#pginS!4)XHFF}KcWDCP6%;JF~I|X zWm&5Md`*#6!^}S@#ydrxTL0GoZc}8v;y6xoEEYSRX<4I2jk*&+t)g-7ibNv+Js5ts zWmyjact$bwd@>XY1V2^8>wj>*a7z_qS0Qjn+eA6_|e;?#o{}%upRixir zHt>VN;N<`oDS)kPZ*M=EO<9_zEd_98^0eP^oG%XcdW&UQ-HElMWbI#|>-zMvfUjxV z%?hnQ==1r0nnMrzd&Q4kyLt2Gy`@<2^85X303_Qg5<+~YEZ`H7$~XRHwzEQA*T({w zuV~yKqePOJxIL;+h);470F|Btbjw7&}mgV}2BQAH!xmI?gYOzJ!6 z@THW$2EfUli^t+NDUlsT`ag z05>Xz#MjDU*Z~pUuh9O9uIoONspli5RISxFE?Tr`WGTrvG&IZtFe!N!ACJekl?8mu zvR);k4T?r-IC0{{!D=%XM9! zHPGMh+_^IjV1r_8y$dDUOBxIYFDIhUDzXY1NY5F5I2@i~7{(?dYR%GHP{~t@wCi+T zzqJ(bJs!{f0FsBjZm-w7p``GG!Qcp8*S{&H{5^n=rg`)vfLMmZ*DFvjVy#N7_YdY+ zKO4XuimWHv+S*Q*48CC)^E@8UYee)7q~EmqrVt`*+xD?6rt4d3ch@i1^BN3*bE?D9P=Q6&-?xU4`v$-i9{k%W`16gwRr2+tq&F( ze0_br*X#AJgJP8xz_%ii$nk;?ZyAj3qokBi0$7^nu>(Z(t{h5JhH`g z-Om+bhe3UPz1QdSEhD0Pka}zRsOswKYUCcYNhz-DP9RF@)jn<*#xf#WX_{t1!<&=_ zhDAg-s+0l1_Z`Q%rw|&U>-qvB`Y{IB&(F+J+qU&$XkZ`^sIIE2+6!Qy;P`KtdAV)d zyNd?jFpNh4+^NXwC8FC*(_CKw&*Dmt$MeGhY{~g?cP%sDk=W2w6lrX1oaVaje*pOK z0FS;0VAYv3XTJUN%P;5E3;V6VghHXu0QimyJTou0EGw@wOD!!e!sGGWA%u7yz=sBS z{J*4>x7oJ+!;X%QbH(&_4jeepxop|8rw$!D^alWS0Io>G?8b_UiltMgOxbhr;K7c9 zXns>u)3|s%z6bq}%)H0U3vJsr^BiKvCJs9~YKp^q{1eE_Z> zpjZAN9*?icWeBFE;pQm-sx^(}`MP-x4Gn)oL>q``a=OW`lyXHh8vPy0Lns^$FO*WQ zO7wn_*$zByS=O?AenBV{x}BMS0$@anM~*S`UAAqnK^aO@ zQ&XkmI4hX>o;1JVFf%tNj<06t=M#}?6|vKCoUi6N)O?+pSEr~n19;kToU6+fJOH${ zwVg9fbETB>Y5=L+%}GQQ3x~stveNu;I6PiT`F8Sp4Kx3XZQGCL0scNBTA3pIPt1I4 zzILQU_TWp*yb6G7cf&a%T4I{!uQSqo*L6RxSSUN*)6=s$kD+Eo8t|_QA!ZLj@BqN3 zY5oX61JuFvN@jlEFpR|+!52a-R#@>TbM<3&U0=@3-${|Z+Hst@kx1kqhOk(cwUvlI z1VA;$R{;2>VHh{0h2PTBBA8jV-TS#5!OtP0hf=s@k6V`YkA)1yl~PR8JW^FvWiWG8 z)dK)L7Yc$*>;SRZ-Jw(YN6YT(aHBoaAORaJF!iXrGGuh;vH zRAc@Gg_dT0`Hx{3w*t@=4f&Ga@Bi|p3jX3A;5g0_07n!&SInP3zfJ{zv;tUGm;N+0 zHPrx6h1rh8tKto6+N&x)*dL)4GYTfAQHzX8~%$htS#;HnNHOv>~{ z@p%06=)aZvjN>?W;m=gs+S<-RaiSi;tcHe$3z0!>^5n@Qi0E@k57kYbI`!t-+S*CA zwY6?tUEQ%a-+Z&*p@5c_7V-AmZ$Fa^pNJldMx*QSXDl5Z9s6r*YZn5Tn8c>Kqod$q0Hw}ZoFz9w(X6~T%YjO^NGy605%R| ze_y1OzfvgZ4M2+B3*m5hitD;fL=;5d>5MBfeAh0^vaTIQ{=Ou(rF13PRN33x>&s~W zdpI1PA*Gzn%rlATS^(Dq7^ir2wPjiVFpRw4(#sws#ek)hfs9TLMk0|t0QMvm_$c~r zWx7~)52Nlc%)C4K&IV1>CgrpB`f`OKIXsNIzYx(;g)Nwn5BwTM3wI8qR%-sA6v<=q zfv+iA*cnEx)O@K(6ZycGimv1xMy-UeQdG_d{s~2amkpy<4m*B@qITtT!JTSr+>~L| zN|~ITAcXj1KAQiAB5hWVckW!Wk~m4Pns~mE^C9EJhhw%Vvbu=K0?_z||LI2>C<2X)rKJdq&??W>KY5Hy=vZR#T0qn4Cdp|CrV0thZ^msg;YnXX9 zfE$P?gn@%muUnRN4dvOwTcEyQb09;#9l#DD#C8C$&z(E>t#bN!SSo35Zm#I;?3_kK z*8!MCM6;RsdSv#Eu8R%u_ifw$T3+x&p-_OC+t7d0Rkm^teKF5{M6^#zxmVM)gRbko zJ96a6cUoIpdj?UHeMB@#2r&^rEfLib(F|suo-myG+O!T$)8@6ew;wIY#|wyPF*7e9 zq6Vb+21%aM4d5{P_VITKAx;A5X6BRUW6;ce27TwHMiEiPMOxN_zMaEWcz>Jv7%62< zqON0z$cMg*v_Fuo7H23&0JJl6`^b?aThA*K6}Ve!-QC^SF|)zUivY|)0d6)Kg5m(! zMntVdWJMy8->K|eQLj`iTtVCm6i@v)Y#ts$AMD&i7avy+KiDx2+908A&M zsQ@N2^IxDZidHd*)#*Xs`KqHtbO^wHX5P!p`=pfnviTIrkbs|wQTKQ}SGuk{?!1vq z{Hr-{AenhI5qX*U)Wxf-%se7tYl&=z^?!oE V=EYVIk@Wxo002ovPDHLkV1nYYKhgjI diff --git a/res/drawable-xhdpi/contacts_all_.png b/res/drawable-xhdpi/contacts_all_.png new file mode 100644 index 0000000000000000000000000000000000000000..07d00c6a2fb573de6f2945fc279fa50f19303ce5 GIT binary patch literal 4827 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 S50Ui%0000RKBAza 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 IL%GEL2j2DhcK`qY diff --git a/res/drawable/chat_room_creation_next.xml b/res/drawable/chat_room_creation_next.xml new file mode 100644 index 000000000..52e7ebefc --- /dev/null +++ b/res/drawable/chat_room_creation_next.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/res/layout/create_chat.xml b/res/layout/create_chat.xml index 7bf28d99b..b61eae178 100644 --- a/res/layout/create_chat.xml +++ b/res/layout/create_chat.xml @@ -70,7 +70,7 @@ contactsList, LayoutInflater inflater, ProgressBar pB) { + public SearchContactsListAdapter(List contactsList, LayoutInflater inflater, ProgressBar pB) { mInflater = inflater; progressBar = pB; setContactsSelectedList(null); diff --git a/src/android/org/linphone/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java similarity index 84% rename from src/android/org/linphone/ChatCreationFragment.java rename to src/android/org/linphone/chat/ChatCreationFragment.java index 6dc60d67c..9d2838cf7 100644 --- a/src/android/org/linphone/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.linphone; +package org.linphone.chat; import android.app.Fragment; import android.os.Bundle; @@ -35,13 +35,16 @@ import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; +import org.linphone.ContactAddress; +import org.linphone.ContactSelectView; +import org.linphone.ContactsUpdatedListener; +import org.linphone.LinphoneActivity; +import org.linphone.R; +import org.linphone.SearchContactsListAdapter; + import java.util.ArrayList; import java.util.List; -/** - * Created by Erwan Croze. - */ - public class ChatCreationFragment extends Fragment implements View.OnClickListener, AdapterView.OnItemClickListener, ContactsUpdatedListener { private LayoutInflater mInflater; private ListView contactsList; @@ -62,39 +65,40 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mInflater = inflater; View view = inflater.inflate(R.layout.create_chat, container, false); - contactsSelected = new ArrayList(); + contactsSelected = new ArrayList<>(); - noSipContact = (TextView) view.findViewById(R.id.noSipContact); - noContact = (TextView) view.findViewById(R.id.noContact); + noSipContact = view.findViewById(R.id.noSipContact); + noContact = view.findViewById(R.id.noContact); - contactsList = (ListView) view.findViewById(R.id.contactsList); - contactsSelectedLayout = (LinearLayout) view.findViewById(R.id.contactsSelected); - contactsSelectLayout = (HorizontalScrollView) view.findViewById(R.id.layoutContactsSelected); + contactsList = view.findViewById(R.id.contactsList); + contactsSelectedLayout = view.findViewById(R.id.contactsSelected); + contactsSelectLayout = view.findViewById(R.id.layoutContactsSelected); - allContacts = (ImageView) view.findViewById(R.id.all_contacts); + allContacts = view.findViewById(R.id.all_contacts); allContacts.setOnClickListener(this); - linphoneContacts = (ImageView) view.findViewById(R.id.linphone_contacts); + linphoneContacts = view.findViewById(R.id.linphone_contacts); linphoneContacts.setOnClickListener(this); allContactsSelected = view.findViewById(R.id.all_contacts_select); linphoneContactsSelected = view.findViewById(R.id.linphone_contacts_select); - back = (ImageView) view.findViewById(R.id.back); + back = view.findViewById(R.id.back); back.setOnClickListener(this); - next = (ImageView) view.findViewById(R.id.next); + next = view.findViewById(R.id.next); next.setOnClickListener(this); + next.setEnabled(false); - clearSearchField = (ImageView) view.findViewById(R.id.clearSearchField); + clearSearchField = view.findViewById(R.id.clearSearchField); clearSearchField.setOnClickListener(this); - contactsFetchInProgress = (ProgressBar) view.findViewById(R.id.contactsFetchInProgress); + contactsFetchInProgress = view.findViewById(R.id.contactsFetchInProgress); contactsFetchInProgress.setVisibility(View.VISIBLE); searchAdapter = new SearchContactsListAdapter(null, mInflater, contactsFetchInProgress); - searchField = (EditText) view.findViewById(R.id.searchField); + searchField = view.findViewById(R.id.searchField); searchField.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { @@ -102,8 +106,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen } @Override - public void beforeTextChanged(CharSequence s, int start, int count, - int after) { + public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @@ -157,9 +160,9 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen if (contactsSelected.size() > 0) { contactsSelectLayout.setVisibility(View.VISIBLE); contactsSelectLayout.invalidate(); - next.setImageResource(R.drawable.next); + next.setEnabled(true); } else { - next.setImageResource(R.drawable.dialer_alt_next); + next.setEnabled(false); contactsSelectLayout.setVisibility(View.GONE); } } @@ -174,14 +177,16 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen private void updateContactsClick(ContactAddress ca, List caSelectedList) { ca.setSelect((getIndexOfCa(ca, caSelectedList) == -1)); - if(ca.isSelect()) { + if (ca.isSelect()) { ContactSelectView csv = new ContactSelectView(LinphoneActivity.instance()); csv.setListener(this); csv.setContactName(ca); contactsSelected.add(ca); View viewContact = LayoutInflater.from(LinphoneActivity.instance()).inflate(R.layout.contact_selected, null); ((TextView)viewContact.findViewById(R.id.sipUri)).setText(ca.getContact().getFullName()); - viewContact.findViewById(R.id.contactChatDelete).setOnClickListener(this); + View removeContact = viewContact.findViewById(R.id.contactChatDelete); + removeContact.setTag(ca); + removeContact.setOnClickListener(this); viewContact.setOnClickListener(this); ca.setView(viewContact); contactsSelectedLayout.addView(viewContact); @@ -197,13 +202,10 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen contactsSelectedLayout.invalidate(); } - private void removeContactFromView(View v) { - for (ContactAddress ca : contactsSelected) { - if (ca.getView() == v) { - ca.setSelect(false); - updateContactsClick(ca, searchAdapter.getContactsSelectedList()); - } - } + private void removeContactFromSelection(ContactAddress ca) { + updateContactsClick(ca, searchAdapter.getContactsSelectedList()); + updateList(); + updateListSelected(); } @Override @@ -250,9 +252,9 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen } else if (id == R.id.clearSearchField) { searchField.setText(""); searchAdapter.searchContacts("", contactsList); - } else if (id == R.id.deleteContact) { - //TODO - removeContactFromView(view); + } else if (id == R.id.contactChatDelete) { + ContactAddress ca = (ContactAddress) view.getTag(); + removeContactFromSelection(ca); } } @@ -260,9 +262,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen public void onItemClick(AdapterView adapterView, View view, int i, long l) { // Get contact ContactAddress ca = searchAdapter.getContacts().get(i); - updateContactsClick(ca, searchAdapter.getContactsSelectedList()); - updateList(); - updateListSelected(); + removeContactFromSelection(ca); } @Override diff --git a/src/android/org/linphone/ChatFragment.java b/src/android/org/linphone/chat/ChatFragment.java similarity index 99% rename from src/android/org/linphone/ChatFragment.java rename to src/android/org/linphone/chat/ChatFragment.java index 1097869e9..e234d9874 100644 --- a/src/android/org/linphone/ChatFragment.java +++ b/src/android/org/linphone/chat/ChatFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; /* ChatFragment.java @@ -76,6 +76,15 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import org.linphone.ContactsManager; +import org.linphone.ContactsUpdatedListener; +import org.linphone.LinphoneActivity; +import org.linphone.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.SearchContactsListAdapter; import org.linphone.compatibility.Compatibility; import org.linphone.core.Address; import org.linphone.core.Buffer; diff --git a/src/android/org/linphone/ChatGroupCreationFragment.java b/src/android/org/linphone/chat/ChatGroupCreationFragment.java similarity index 97% rename from src/android/org/linphone/ChatGroupCreationFragment.java rename to src/android/org/linphone/chat/ChatGroupCreationFragment.java index a05beb909..ca36a29c8 100644 --- a/src/android/org/linphone/ChatGroupCreationFragment.java +++ b/src/android/org/linphone/chat/ChatGroupCreationFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; /* ChatGroupCreationFragment.java diff --git a/src/android/org/linphone/ChatListFragment.java b/src/android/org/linphone/chat/ChatListFragment.java similarity index 97% rename from src/android/org/linphone/ChatListFragment.java rename to src/android/org/linphone/chat/ChatListFragment.java index abb764964..47c611e31 100644 --- a/src/android/org/linphone/ChatListFragment.java +++ b/src/android/org/linphone/chat/ChatListFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; /* ChatListFragment.java @@ -43,14 +43,20 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; +import org.linphone.ContactsManager; +import org.linphone.ContactsUpdatedListener; +import org.linphone.FragmentsAvailable; +import org.linphone.LinphoneActivity; +import org.linphone.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneUtils; +import org.linphone.R; import org.linphone.core.Address; import org.linphone.core.ChatMessage; import org.linphone.core.ChatRoom; import org.linphone.core.Core; -import org.linphone.core.CoreException; import org.linphone.core.Factory; import org.linphone.core.CoreListenerStub; -import org.linphone.mediastream.Log; import java.util.List;