Real commit for Allow several calls with the same recipient.

This commit is contained in:
Guillaume Beraudo 2011-11-08 09:17:04 +01:00
parent b4b2f22e5c
commit 47ba198c78
2 changed files with 10 additions and 8 deletions

View file

@ -815,11 +815,13 @@ public class ConferenceActivity extends ListActivity implements
} else if (state == State.Paused || state == State.PausedByRemote || state == State.StreamsRunning) { } else if (state == State.Paused || state == State.PausedByRemote || state == State.StreamsRunning) {
Collections.sort(adapter.linphoneCalls, ConferenceActivity.this); Collections.sort(adapter.linphoneCalls, ConferenceActivity.this);
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
} else if (state == State.CallEnd) { } else if (state == State.CallEnd || state == State.Error || state == State.CallReleased) {
if (adapter.linphoneCalls.contains(call)) {
adapter.linphoneCalls.remove(call); adapter.linphoneCalls.remove(call);
Collections.sort(adapter.linphoneCalls, ConferenceActivity.this); Collections.sort(adapter.linphoneCalls, ConferenceActivity.this);
recreateActivity(adapter); recreateActivity(adapter);
} }
}
updateConfState(); updateConfState();
} }
@ -851,8 +853,7 @@ public class ConferenceActivity extends ListActivity implements
boolean invalidUri; boolean invalidUri;
try { try {
String target = lc().interpretUrl(uri).asStringUriOnly(); String target = lc().interpretUrl(uri).asStringUriOnly();
LinphoneCall alreadyInCall = lc().findCallFromUri(target); invalidUri = lc().isMyself(target);
invalidUri = alreadyInCall != null || lc().isMyself(target);
} catch (LinphoneCoreException e) { } catch (LinphoneCoreException e) {
invalidUri = true; invalidUri = true;
} }

View file

@ -55,10 +55,11 @@ public class IncomingCallActivity extends Activity implements LinphoneManagerRea
private void findIncomingCall(Intent intent) { private void findIncomingCall(Intent intent) {
String stringUri = intent.getStringExtra("stringUri"); String stringUri = intent.getStringExtra("stringUri");
mCall = LinphoneManager.getLc().findCallFromUri(stringUri); // Only one call ringing at a time is allowed
mCall = LinphoneManager.getLc().getCurrentCall();
if (mCall == null) { if (mCall == null) {
Log.e("Couldn't find incoming call from ", stringUri); Log.e("Couldn't find incoming call from ", stringUri);
Toast.makeText(this, "Error", Toast.LENGTH_SHORT); finish();
} }
} }