From fa376612ed188e5638df175cfb3b1130852bdc8d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 20 Sep 2012 12:26:27 +0200 Subject: [PATCH] Fixes & interface improvements --- .../chat_progressbar_background.jpg | Bin 6218 -> 0 bytes res/layout/chatlist.xml | 8 ++++++ res/values-FR/strings.xml | 1 + res/values/strings.xml | 1 + src/org/linphone/ChatListFragment.java | 20 +++++++++++++-- src/org/linphone/ChatStorage.java | 24 ++++++++++-------- 6 files changed, 42 insertions(+), 12 deletions(-) delete mode 100644 res/drawable-hdpi/chat_progressbar_background.jpg diff --git a/res/drawable-hdpi/chat_progressbar_background.jpg b/res/drawable-hdpi/chat_progressbar_background.jpg deleted file mode 100644 index bddac059f337ad86940e7f9768389cec900187e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6218 zcmeHHYgkiP);=LYK^Zj(2vr8-5fVTl7a#`8MaUs0;idsWEj0oO8WnOODqfJHAcTud zAcfdQs1QU(3I!EGDU2#iZTW)S{+fUD5gTb6Hx3tPoMdw->>h7`$^8a?6uar z)_e9o`rCRfVCA1Ehy?%^%MmaEJ}&*g05r5SX8Rrh0ia+v4*>L9q4A@lATFJz|$vD6cw|bFU3Xkw+Q0Bz~>j5K%9W*1xC09k%B~Y{#F5V zuY@1EH#jV2@AepX9_ZtZ^Gx(ej1$H2rBS%VxE=8c9*JJyRB;bjH@Jx)ZYo5&-3#P`h{UcHZscER<{^lHJ|i4K*kfCpf|>VNbj?D$yxEVcCZY5I-SC zA`nRh!g!paVpOznr_>9CJDnaOP81Y0Q}_?riiJ+wL;$~(s2z|nW@j8fUdn>JKzPTQC*XOI$TXP6m9C_f z6cUw2Ci^nzbay}cN(Pm_lH~47{!rtOa_NwtpD#r6W6&6Ira#$trMru-8;Qbjg{Y7} zgYqGl6`vrDijU!cz!ku_?{j_sW3C5X!jF;)C1FD0jt?hb%~qjQn6OnS!qG#iIQyWe z7(u+j;b3?{)AK@niC`C>$B+o)a8nF>2>zghl?;YE-JR^}N}8UWMxppJ++1iRy1Orx z>`n#W=koq9tP$a6h=$|wyW{e~1)o8KI&=78W9ItsB=Cmu0yqO{{1=q*9OP`{sa=E-XQ8|#G-eih>G7L+SX7w8 z*y5IDiWb9rQ4`&5PWD}U$!`$Zmd-p#hs2pHv@Blhsh)o2(Kg)%la;7l(Bdacn? z`Ay`DsN?1qWM6R#h#A%D?*eeoaLY(E-~&uP*7?SsefIXuW9uJA-t?b2S5@uP_OI}F z+T-1G-KvGx%UAt;sPTT;#hsq(_b%H7_`s)4n{m%;I+=7UK~5dW#dG!y@?c!=vNJ>>|5T=BoC z-LUEl~OTUw`pt$ zo3bpY_D!{w%G5fp@M5Co0dr_aQ$o!?O>2$|D@ANf>v2_DE|}+f9dE2L9tvzq!#-Jc zV|m-rm-*Y9|Knu`vN{NB8w*V}@b$u_080N>JD{kHijWQzohKtk$CjiBq|& z1nGBLOkwkO5~b#AytvLLP>qq%;Fj_oP$j{$7e_tp@U_oBR77nZTnkTHw`4_0)Fuk8 zf4&TA`H?5C1_7|1^6Mf9z65pkg~byY7Jo&vrXFdO~0qHe!26GZffZ zbgU%Sz}~B8STdYbUcOZ+uG{2V55EWlYl&9i^SVv-X4oT?ah{(%%SSRfFU z|41H;wdGuQHh**2Gf(Uq>wAP3!PXha9Ts(rV8;pb zpf!rDyM1EOn`OBrmmOH{riUo?nVdX{nQ5dyY|cVeC18KDy*Mb%yg?cR_i8$@IpO=; zi)tvTL!ABX#~d(gX}5e%?vt}Q!GVxsTYj2JnF9g8)V^0`Z^$Q`GSpiC0FFW#TF**K z!oj{Y6Sil2nFHxNI~$(CZ)Il_ADyb+5c*kNIdQ!v6C;=8f5vK2!;LAFmuO+Kn`4`L z+pxN`y}`L%AYt{R+*;8?=<&PJ*TL2WuqkUEXC8MT$S(0Q_H5Rm$nJx1h?VpG zIvy622P;qu8o!SDHq}T zc*WgYU7X_tjQ9pzl{FbUXiE=SdhU9m0r=YZNtxGDb%l++9x%f zZs+xr*(MbN%N5BCRM?rU0-sVN1M+jim_?hn%=|RF;mbj>;h;q<|1lVE8`hCb=3f|- zX%x)b)APmRhsn0<&nWjD_RJmry>jmJ0~cCt6`TEcUL_7#ttDWVSFsMfXh|KMcC1mY zbJ|$m@Bge}tb)X9&YU=-NK&G?b$Pj`jSa>MJM+w^geuBl?OX8t)u-9f0S^r}Sw_rr z}995-d$i)CP<>B_b%jd&NLpSKS8xm z+Y2&JML0hCsjS%Am*>CkQ~~Xk9!PCu{{5`vicRs0!mAeHH_p?BP=y$ei8XE#KSj-A;WSPcx+G2to_rM6-hS8%7!?i1_?7Fhs zYtNZ{t(kUM{gwyb?OdKw0XkK-)Tc~8?XoP!S~F4>y6UtV+i3qB?|QMRl{~teSRQ4@ ztUWgevt0()@^!(i_`c;}EK!+}JdpfXl^!_ZjlI0n=T<_W_gCcGY1L(tESe;cX;9!# ziY8;DF2X+8I-4m||Hdx9EZVEX4A(3Usamf{Jb3LW`i$;p+3F0;FcjzA5WRK~)gWI~ z-LER)=z;mcK2M-^`RO*PLsxV&N{t2YL9l1CdR6sV2Yhh}F5<2NzEwtzy(L?I;r!$5 zOX|f_1F1)I&ug4~(vq~9T8&9s`HSiw$)rJ)U(a~NfR$1_d->MFNAZjc*IVYkWy-k6 z2JC)q$^#=F?UwB?o|brYg~;`W$!VjyEWu8&b6-F*@m^WWDY?YiQ#Zh_App zK!c~>%fO6p)PZGK8D*&;S($gTjZm?`32$MQ2O6teN-@x?Gs-Z``V=lVxci2g+^Dhf zSjjHsj6{Z1mv5c?K9aL^o7`^1whuEUv1D*z1!j}h#Udj-f4*oaJMsDy z9ODDgH>9C*Z!QS8Z%Zwa8+Gqxd&{7Vh56lUU$LF@{_*$y#hL1C_a(N_eMgzCR>PE? zUxy*g1EHYqlX9Ba93JyslkD@60#th%_t+cg>O1tDrq4%Y`QuEO@*xOIcmX+i)|0a% zbl}3GNUN)|39;dA6wV?WG#h71!}F|Br+a;^_b>jM__CNKCX9?PAL{|QRZ61?X|v_i z6F}3KBxBt#UlIEP5eLq1o;$s19B_7`2w|T2&zD%!JRbKYb{4~550FVbo>PBu@2+uY zvu_S^tCfp7o4BOU3ZD)mS4NB^hf=gBK<-NyBRIhYAy4k?T$-OX)`Rq)DIXQ}8iuqa z!I-hIV%9PtZGm899Nf(>(?w#h+ze8s2YC6}vegy_@xNN!<^3-H>6lDvj2b4+* zh4@x>XqjC=%2A@y}9!`v9HrM@Y>i*lUTTEvs=#hCreLX zlJZtR6TUrqShdIUU1#%D&w22qi2QHIdQ5J9 + + Numéro ou adresse Conférence + Entrez une adresse SIP avec qui discuter… diff --git a/res/values/strings.xml b/res/values/strings.xml index 682a63cf8..369ac497e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -251,6 +251,7 @@ Number or address Conference + Enter a SIP address to chat with… Add to contacts button diff --git a/src/org/linphone/ChatListFragment.java b/src/org/linphone/ChatListFragment.java index b8da09b73..6c74c245e 100644 --- a/src/org/linphone/ChatListFragment.java +++ b/src/org/linphone/ChatListFragment.java @@ -24,6 +24,8 @@ import org.linphone.core.LinphoneCoreFactory; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.text.Editable; +import android.text.TextWatcher; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; @@ -35,6 +37,7 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; +import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -46,7 +49,8 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte private LayoutInflater mInflater; private List mConversations; private ListView chatList; - private ImageView edit, ok, newDiscussion; + private ImageView edit, ok, newDiscussion, isFastNewChatAddressOk; + private EditText fastNewChat; private boolean isEditMode = false; @Override @@ -66,6 +70,7 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte ok = (ImageView) view.findViewById(R.id.ok); ok.setOnClickListener(this); + fastNewChat = (EditText) view.findViewById(R.id.newFastChat); return view; } @@ -117,7 +122,18 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte chatList.setAdapter(new ChatListAdapter()); } else if (id == R.id.newDiscussion) { - LinphoneActivity.instance().displayContacts(); + String sipUri = fastNewChat.getText().toString(); + if (sipUri.equals("")) { + LinphoneActivity.instance().displayContacts(); + } else { + if (!LinphoneUtils.isSipAddress(sipUri)) { + sipUri = sipUri + "@" + LinphoneManager.getLc().getDefaultProxyConfig().getDomain(); + } + if (!LinphoneUtils.isStrictSipAddress(sipUri)) { + sipUri = "sip:" + sipUri; + } + LinphoneActivity.instance().displayChat(sipUri); + } } } diff --git a/src/org/linphone/ChatStorage.java b/src/org/linphone/ChatStorage.java index 5c7855381..7aed175e6 100644 --- a/src/org/linphone/ChatStorage.java +++ b/src/org/linphone/ChatStorage.java @@ -116,16 +116,20 @@ public class ChatStorage { Cursor c = db.query(TABLE_NAME, null, "remoteContact LIKE \"" + correspondent + "\"", null, null, null, "id ASC"); while (c.moveToNext()) { - String message, timestamp; - int id = c.getInt(c.getColumnIndex("id")); - int direction = c.getInt(c.getColumnIndex("direction")); - message = c.getString(c.getColumnIndex("message")); - timestamp = c.getString(c.getColumnIndex("time")); - int status = c.getInt(c.getColumnIndex("status")); - byte[] rawImage = c.getBlob(c.getColumnIndex("image")); - - ChatMessage chatMessage = new ChatMessage(id, message, rawImage, timestamp, direction == INCOMING, status); - chatMessages.add(chatMessage); + try { + String message, timestamp; + int id = c.getInt(c.getColumnIndex("id")); + int direction = c.getInt(c.getColumnIndex("direction")); + message = c.getString(c.getColumnIndex("message")); + timestamp = c.getString(c.getColumnIndex("time")); + int status = c.getInt(c.getColumnIndex("status")); + byte[] rawImage = c.getBlob(c.getColumnIndex("image")); + + ChatMessage chatMessage = new ChatMessage(id, message, rawImage, timestamp, direction == INCOMING, status); + chatMessages.add(chatMessage); + } catch (Exception e) { + e.printStackTrace(); + } } c.close();