Skip to content

Instantly share code, notes, and snippets.

@glnix
Created October 27, 2016 06:25
Show Gist options
  • Save glnix/4e43c3bac54fa71c0decf519e3c2314c to your computer and use it in GitHub Desktop.
Save glnix/4e43c3bac54fa71c0decf519e3c2314c to your computer and use it in GitHub Desktop.
public class CallPresenter implements ICallPresenter {
ICallActivity activity;
TimConnectSdk timConnectSdk;
private CallsController mController;
boolean flagEndCall = false;
public CallPresenter(final ICallActivity activity) {
this.activity = activity;
timConnectSdk = ((Application) ((AppCompatActivity) activity).getApplication()).getTimConnectSdk();
mController = timConnectSdk.getCallsController();
// Вот это блок кода не работает совсем, все завязано на иницализацию в Application.
String userPhone = timConnectSdk.getAuth().phone_number;
Logger.e("User phone is ::::::: " + userPhone);
mController.setUserPhone(userPhone);
// -----------------------------------------------
mController.setCallStateListener(new CallsController.CallStateListener() {
@Override
public void onPrepare() {
if (flagEndCall) mController.hangUpCall();
Logger.e(":::::::::::::: onPrepare");
}
@Override
public void onUnregistered() {
Logger.e("::::::::::::::: onUnregistered");
if (activity != null && !((AppCompatActivity) activity).isFinishing()) {
activity.stopStopWatch();
((AppCompatActivity) activity).finish();
}
}
@Override
public void onCallEnded() {
Logger.e(":::::::::::::::: onCallEnded");
if (activity != null && !((AppCompatActivity) activity).isFinishing())
((AppCompatActivity) activity).finish();
}
@Override
public void onCallStarted() {
Logger.e(":::::::::::::::: onCallStarted");
if (flagEndCall) mController.hangUpCall();
if (activity != null && !((AppCompatActivity) activity).isFinishing())
activity.startStopWatch();
}
@Override
public void onError(int error) {
Logger.e("Calls controller error: " + error);
if (activity != null && !((AppCompatActivity) activity).isFinishing()) {
Toast.makeText((AppCompatActivity) activity, "Невозможно соединиться с сервером IP-телефонии", Toast.LENGTH_LONG).show();
((AppCompatActivity) activity).finish();
}
}
});
activity.setPrepareText();
mController.startCallFlow();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment