Fix regression: accept incoming call when other exist.

This commit is contained in:
Guillaume Beraudo 2011-11-09 14:33:06 +01:00
parent e2585f9330
commit 68f2df4abc

View file

@ -18,6 +18,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.linphone;
import java.util.List;
import org.linphone.LinphoneManagerWaitHelper.LinphoneManagerReadyListener;
import org.linphone.LinphoneSimpleListener.LinphoneOnCallStateChangedListener;
import org.linphone.core.LinphoneAddress;
@ -28,7 +30,6 @@ import org.linphone.ui.SlidingTab;
import org.linphone.ui.SlidingTab.OnTriggerListener;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
@ -53,16 +54,6 @@ public class IncomingCallActivity extends Activity implements LinphoneManagerRea
private LinphoneManagerWaitHelper mHelper;
private SlidingTab mIncomingCallWidget;
private void findIncomingCall(Intent intent) {
String stringUri = intent.getStringExtra("stringUri");
// Only one call ringing at a time is allowed
mCall = LinphoneManager.getLc().getCurrentCall();
if (mCall == null) {
Log.e("Couldn't find incoming call from ", stringUri);
finish();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.incoming);
@ -98,8 +89,16 @@ public class IncomingCallActivity extends Activity implements LinphoneManagerRea
@Override
public void onResumeWhenManagerReady() {
LinphoneManager.addListener(this);
findIncomingCall(getIntent());
// Only one call ringing at a time is allowed
List<LinphoneCall> calls = LinphoneUtils.getLinphoneCalls(LinphoneManager.getLc());
for (LinphoneCall call : calls) {
if (State.IncomingReceived == call.getState()) {
mCall = call;
break;
}
}
if (mCall == null) {
Log.e("Couldn't find incoming call");
finish();
return;
}