diff --git a/res/layout/conference_paused_row.xml b/res/layout/conference_paused_row.xml new file mode 100644 index 000000000..e37fb45a3 --- /dev/null +++ b/res/layout/conference_paused_row.xml @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/org/linphone/CallActivity.java b/src/org/linphone/CallActivity.java index 6354fadc0..525ad7991 100644 --- a/src/org/linphone/CallActivity.java +++ b/src/org/linphone/CallActivity.java @@ -1471,27 +1471,31 @@ public class CallActivity extends Activity implements OnClickListener { } private void displayPausedCalls(Resources resources, final LinphoneCall call, int index) { - LinphoneAddress lAddress = call.getRemoteAddress(); - // Control Row - LinearLayout callView = (LinearLayout) inflater.inflate(R.layout.call_inactive_row, container, false); - callView.setId(index+1); - - TextView contactName = (TextView) callView.findViewById(R.id.contact_name); - ImageView contactImage = (ImageView) callView.findViewById(R.id.contact_picture); + LinearLayout callView; if(call == null) { - if(isConferenceRunning){ - Log.w("conf running"); - } - contactName.setText(resources.getString(R.string.conference)); - contactImage.setImageResource(R.drawable.conference_start); + callView = (LinearLayout) inflater.inflate(R.layout.conference_paused_row, container, false); + callView.setId(index + 1); + callView.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + pauseOrResumeConference(); + } + }); } else { + callView = (LinearLayout) inflater.inflate(R.layout.call_inactive_row, container, false); + callView.setId(index+1); + + TextView contactName = (TextView) callView.findViewById(R.id.contact_name); + ImageView contactImage = (ImageView) callView.findViewById(R.id.contact_picture); + + LinphoneAddress lAddress = call.getRemoteAddress(); setContactInformation(contactName, contactImage, lAddress); displayCallStatusIconAndReturnCallPaused(callView, call); registerCallDurationTimer(callView, call); - callsList.addView(callView); } + callsList.addView(callView); } private void setContactInformation(TextView contactName, ImageView contactPicture, LinphoneAddress lAddress) { @@ -1563,7 +1567,6 @@ public class CallActivity extends Activity implements OnClickListener { conferenceList.setVisibility(View.GONE); } - //TODO DON'T SHOW CALLLIST IF THERE IS VIDEO CALL if(callsList != null) { callsList.setVisibility(View.VISIBLE); callsList.removeAllViews(); @@ -1574,24 +1577,31 @@ public class CallActivity extends Activity implements OnClickListener { return; } + boolean isConfPaused = false; for (LinphoneCall call : LinphoneManager.getLc().getCalls()) { - if(call.isInConference()) break; - if (call != LinphoneManager.getLc().getCurrentCall()) { - displayPausedCalls(resources, call, index); + if(call.isInConference() && !isConferenceRunning) { + isConfPaused = true; index++; } else { - displayCurrentCall(call); + if (call != LinphoneManager.getLc().getCurrentCall()) { + displayPausedCalls(resources, call, index); + index++; + } else { + displayCurrentCall(call); + } } } - if (LinphoneManager.getLc().getCurrentCall() == null && !isConferenceRunning ) { + if(isConfPaused && !isConferenceRunning){ + displayPausedCalls(resources, null, index); + } + + if (LinphoneManager.getLc().getCurrentCall() == null && !isConferenceRunning) { showAudioView(); mActiveCallHeader.setVisibility(View.GONE); mNoCurrentCall.setVisibility(View.VISIBLE); video.setEnabled(false); } - - //callsList.invalidate(); } } @@ -1625,6 +1635,7 @@ public class CallActivity extends Activity implements OnClickListener { conferenceStatus.setImageResource(R.drawable.pause_big_default); lc.enterConference(); } + refreshCallList(getResources()); } private void displayConferenceParticipant(int index, final LinphoneCall call){ @@ -1680,7 +1691,6 @@ public class CallActivity extends Activity implements OnClickListener { index++; } } - conferenceList.setVisibility(View.VISIBLE); } } diff --git a/src/org/linphone/assistant/AssistantActivity.java b/src/org/linphone/assistant/AssistantActivity.java index fb517673a..d604467fe 100644 --- a/src/org/linphone/assistant/AssistantActivity.java +++ b/src/org/linphone/assistant/AssistantActivity.java @@ -351,7 +351,6 @@ public class AssistantActivity extends Activity implements OnClickListener { } builder.setExpires("604800") - .setOutboundProxyEnabled(true) .setAvpfEnabled(true) .setAvpfRRInterval(3) .setQualityReportingCollector("sip:voip-metrics@sip.linphone.org")