Disable actions on conference detail participants.
Removing participant from conference doesn't work in liblinphone. The only remaining action would be to terminate the conference for the selected participant.
This commit is contained in:
parent
057e0ad872
commit
1e4bf0547f
1 changed files with 37 additions and 40 deletions
|
@ -24,12 +24,9 @@ import org.linphone.core.LinphoneAddress;
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
import org.linphone.mediastream.Version;
|
import org.linphone.mediastream.Version;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.View.OnClickListener;
|
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
@ -78,19 +75,19 @@ public class ConferenceDetailsActivity extends AbstractCalleesActivity {
|
||||||
((TextView) v.findViewById(R.id.name)).setText(mainText);
|
((TextView) v.findViewById(R.id.name)).setText(mainText);
|
||||||
((TextView) v.findViewById(R.id.address)).setText("");
|
((TextView) v.findViewById(R.id.address)).setText("");
|
||||||
|
|
||||||
v.setOnClickListener(new OnClickListener() {
|
// v.setOnClickListener(new OnClickListener() {
|
||||||
public void onClick(View v) {
|
// public void onClick(View v) {
|
||||||
if (lc().soundResourcesLocked()) {
|
// if (lc().soundResourcesLocked()) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
View content = getLayoutInflater().inflate(R.layout.conf_details_participant_choices_dialog, null);
|
// View content = getLayoutInflater().inflate(R.layout.conf_details_participant_choices_dialog, null);
|
||||||
Dialog dialog = new AlertDialog.Builder(ConferenceDetailsActivity.this).setView(content).create();
|
// Dialog dialog = new AlertDialog.Builder(ConferenceDetailsActivity.this).setView(content).create();
|
||||||
OnClickListener l = new CallActionListener(call, dialog);
|
// OnClickListener l = new CallActionListener(call, dialog);
|
||||||
enableView(content, R.id.remove_from_conference, l, true);
|
// enableView(content, R.id.remove_from_conference, l, true);
|
||||||
enableView(content, R.id.terminate_call, l, true);
|
// enableView(content, R.id.terminate_call, l, true);
|
||||||
dialog.show();
|
// dialog.show();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
// May be greatly sped up using a drawable cache
|
// May be greatly sped up using a drawable cache
|
||||||
ImageView pictureView = (ImageView) v.findViewById(R.id.picture);
|
ImageView pictureView = (ImageView) v.findViewById(R.id.picture);
|
||||||
|
@ -102,30 +99,30 @@ public class ConferenceDetailsActivity extends AbstractCalleesActivity {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CallActionListener implements OnClickListener {
|
// private class CallActionListener implements OnClickListener {
|
||||||
private LinphoneCall call;
|
// private LinphoneCall call;
|
||||||
private Dialog dialog;
|
// private Dialog dialog;
|
||||||
public CallActionListener(LinphoneCall call, Dialog dialog) {
|
// public CallActionListener(LinphoneCall call, Dialog dialog) {
|
||||||
this.call = call;
|
// this.call = call;
|
||||||
this.dialog = dialog;
|
// this.dialog = dialog;
|
||||||
}
|
// }
|
||||||
public void onClick(View v) {
|
// public void onClick(View v) {
|
||||||
switch (v.getId()) {
|
// switch (v.getId()) {
|
||||||
case R.id.terminate_call:
|
// case R.id.terminate_call:
|
||||||
lc().terminateCall(call);
|
// lc().terminateCall(call);
|
||||||
break;
|
// break;
|
||||||
case R.id.remove_from_conference:
|
// case R.id.remove_from_conference:
|
||||||
lc().removeFromConference(call);
|
// lc().removeFromConference(call);
|
||||||
if (LinphoneUtils.countConferenceCalls(lc()) == 0) {
|
// if (LinphoneUtils.countConferenceCalls(lc()) == 0) {
|
||||||
finish();
|
// finish();
|
||||||
}
|
// }
|
||||||
break;
|
// break;
|
||||||
default:
|
// default:
|
||||||
throw new RuntimeException("unknown id " + v.getId());
|
// throw new RuntimeException("unknown id " + v.getId());
|
||||||
}
|
// }
|
||||||
if (dialog != null) dialog.dismiss();
|
// if (dialog != null) dialog.dismiss();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue