Skip to content
Snippets Groups Projects
Commit 56b84abe authored by Adrien Béraud's avatar Adrien Béraud Committed by Guillaume Roguez
Browse files

conversation: improve number matching

Tuleap: #102
Change-Id: I9546e3a338443afb9b7143056eb54c5c12594f16
parent 32137dc4
No related branches found
No related tags found
No related merge requests found
...@@ -154,10 +154,10 @@ public class ConversationActivity extends AppCompatActivity { ...@@ -154,10 +154,10 @@ public class ConversationActivity extends AppCompatActivity {
scrolltoBottom(); scrolltoBottom();
} }
private int getIndex(Spinner spinner, String myString)
{ private int getIndex(Spinner spinner, String myString) {
for (int i=0, n=spinner.getCount();i<n;i++) for (int i=0, n=spinner.getCount();i<n;i++)
if (((CallContact.Phone)spinner.getItemAtPosition(i)).getNumber().equalsIgnoreCase(myString)) if (CallContact.canonicalNumber(((CallContact.Phone)spinner.getItemAtPosition(i)).getNumber()).equalsIgnoreCase(myString))
return i; return i;
return 0; return 0;
} }
...@@ -461,15 +461,29 @@ public class ConversationActivity extends AppCompatActivity { ...@@ -461,15 +461,29 @@ public class ConversationActivity extends AppCompatActivity {
// overridePendingTransition(R.anim.slide_down, R.anim.slide_up); // overridePendingTransition(R.anim.slide_down, R.anim.slide_up);
} }
/**
* Guess account and number to use to initiate a call
*/
private Pair<Account, String> guess() { private Pair<Account, String> guess() {
String number = numberAdapter == null ? preferredNumber : CallContact.canonicalNumber(((CallContact.Phone) numberSpinner.getSelectedItem()).getNumber());
Account a = service.getAccount(conversation.getLastAccountUsed()); Account a = service.getAccount(conversation.getLastAccountUsed());
String number = numberAdapter == null ? conversation.contact.getPhones().get(0).getNumber() : CallContact.canonicalNumber(((CallContact.Phone) numberSpinner.getSelectedItem()).getNumber());
if (a == null) // Guess account from number
if (a == null && number != null)
a = service.guessAccount(conversation.getContact(), number); a = service.guessAccount(conversation.getContact(), number);
// Guess number from account/call history
if (a != null && (number == null/* || number.isEmpty()*/))
number = CallContact.canonicalNumber(conversation.getLastNumberUsed(a.getAccountID()));
// If no account found, use first active
if (a == null)
a = service.getAccounts().get(0);
// If no number found, use first from contact
if (number == null || number.isEmpty()) if (number == null || number.isEmpty())
number = conversation.getLastNumberUsed(a.getAccountID()); number = CallContact.canonicalNumber(conversation.contact.getPhones().get(0).getNumber());
if (number == null || number.isEmpty())
number = conversation.contact.getPhones().get(0).getNumber();
return new Pair<>(a, number); return new Pair<>(a, number);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment