AddVideo handles already in video directly.

Before that it required a listener.
This commit is contained in:
Guillaume Beraudo 2011-03-18 10:54:36 +01:00
parent bc134cfec9
commit ed627d416e
2 changed files with 13 additions and 22 deletions

View file

@ -598,6 +598,7 @@ public final class LinphoneManager implements LinphoneCoreListener {
void onCallStateChanged(LinphoneCall call, State state, String message);
void onRingerPlayerCreated(MediaPlayer mRingerPlayer);
void onDisplayStatus(String message);
void onAlreadyInVideoCall();
}
public interface EcCalibrationListener {
@ -803,4 +804,11 @@ public final class LinphoneManager implements LinphoneCoreListener {
e.commit();
}
public void addVideo() {
if (!LinphoneManager.getLc().isIncall()) return;
if (!reinviteWithVideo()) {
serviceListener.onAlreadyInVideoCall();
}
}
}

View file

@ -26,35 +26,18 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
/**
* @author Guillaume Beraudo
*
*/
public class AddVideoButton extends ImageButton implements OnClickListener {
private AlreadyInVideoCallListener alreadyInVideoCallListener;
public AddVideoButton(Context context, AttributeSet attrs) {
super(context, attrs);
setOnClickListener(this);
}
public void onClick(View v) {
if (!LinphoneManager.getLc().isIncall()) return;
// If not in video call; try to reinvite with video
boolean alreadyInVideoCall = !LinphoneManager.reinviteWithVideo();
if (alreadyInVideoCall && alreadyInVideoCallListener != null) {
// In video call; going back to video call activity
alreadyInVideoCallListener.onAlreadyInVideoCall();
LinphoneManager.getInstance().addVideo();
}
}
public void setOnAlreadyInVideoCallListener(AlreadyInVideoCallListener listener) {
this.alreadyInVideoCallListener = listener;
}
public static interface AlreadyInVideoCallListener {
void onAlreadyInVideoCall();
}
}