diff --git a/src/org/linphone/ConferenceActivity.java b/src/org/linphone/ConferenceActivity.java index 66e57acde..8b5075c5e 100644 --- a/src/org/linphone/ConferenceActivity.java +++ b/src/org/linphone/ConferenceActivity.java @@ -51,6 +51,7 @@ import android.widget.BaseAdapter; import android.widget.ListAdapter; import android.widget.TextView; import android.widget.Toast; +import android.widget.ToggleButton; /** * @author Guillaume Beraudo @@ -94,6 +95,12 @@ public class ConferenceActivity extends ListActivity implements WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } + private void pauseCurrentCallOrLeaveConference() { + LinphoneCall call = lc().getCurrentCall(); + if (call != null) lc().pauseCall(call); + lc().leaveConference(); + } + @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.conferencing); @@ -108,6 +115,9 @@ public class ConferenceActivity extends ListActivity implements findViewById(R.id.incallNumpadShow).setOnClickListener(this); findViewById(R.id.conf_simple_merge).setOnClickListener(this); + findViewById(R.id.toggleMuteMic).setOnClickListener(this); + findViewById(R.id.toggleSpeaker).setOnClickListener(this); + List calls = getInitialCalls(); setListAdapter(new CalleeListAdapter(calls)); workaroundStatusBarBug(); @@ -201,7 +211,7 @@ public class ConferenceActivity extends ListActivity implements Intent intent = new Intent().setClass(this, UriPickerActivity.class); intent.putExtra(UriPickerActivity.EXTRA_PICKER_TYPE, UriPickerActivity.EXTRA_PICKER_TYPE_ADD); startActivityForResult(intent, ID_ADD_CALL); - lc().pauseAllCalls(); + pauseCurrentCallOrLeaveConference(); break; case R.id.conf_header: View content = getLayoutInflater().inflate(R.layout.conf_choices_admin, null); @@ -247,6 +257,16 @@ public class ConferenceActivity extends ListActivity implements case R.id.conf_simple_merge: lc().addAllToConference(); break; + case R.id.toggleMuteMic: + lc().muteMic(((ToggleButton) v).isChecked()); + break; + case R.id.toggleSpeaker: + if (((ToggleButton) v).isChecked()) { + LinphoneManager.getInstance().routeAudioToSpeaker(); + } else { + LinphoneManager.getInstance().routeAudioToReceiver(); + } + break; default: break; }