Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kiretech.com.sinchtest;
- import android.media.AudioManager;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import com.sinch.android.rtc.ClientRegistration;
- import com.sinch.android.rtc.PushPair;
- import com.sinch.android.rtc.Sinch;
- import com.sinch.android.rtc.SinchClient;
- import com.sinch.android.rtc.SinchClientListener;
- import com.sinch.android.rtc.SinchError;
- import com.sinch.android.rtc.calling.Call;
- import com.sinch.android.rtc.calling.CallClient;
- import com.sinch.android.rtc.calling.CallClientListener;
- import com.sinch.android.rtc.calling.CallListener;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- private static final String APP_KEY = "d2c0c095-5468-4953-9a42-d91d23bcd52a";
- private static final String APP_SECRET = "20GMb2GNdkK/N+NbAP9KbA==";
- private static final String ENVIRONMENT = "sandbox.sinch.com";
- Button btnStartClient;
- Button btnCall;
- EditText etAppUser, etCallUser;
- TextView tvCallStatus;
- private Call call;
- SinchClient sinchClient;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- etAppUser = (EditText)findViewById(R.id.appUser);
- btnStartClient = (Button) findViewById(R.id.btnStartClient);
- btnStartClient.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- sinchClient = Sinch.getSinchClientBuilder().context(getApplicationContext())
- .applicationKey(APP_KEY)
- .applicationSecret(APP_SECRET)
- .environmentHost(ENVIRONMENT)
- .userId(etAppUser.getText().toString())
- .build();
- sinchClient.setSupportCalling(true);
- sinchClient.setSupportActiveConnectionInBackground(true);
- sinchClient.startListeningOnActiveConnection();
- sinchClient.addSinchClientListener(new SinchClientListener() {
- public void onClientStarted(SinchClient client) {
- Log.d("onClientStarted",client.toString());
- }
- public void onClientStopped(SinchClient client) {
- Log.d("onClientStopped", "");
- }
- public void onClientFailed(SinchClient client, SinchError error) {
- Log.d("onClientFailed", error.getMessage());
- }
- public void onRegistrationCredentialsRequired(SinchClient client, ClientRegistration registrationCallback) {
- }
- public void onLogMessage(int level, String area, String message) {
- Log.d("onLogMessage", message);
- }
- });
- sinchClient.getCallClient().addCallClientListener(new CallClientListener() {
- @Override
- public void onIncomingCall(CallClient callClient, Call incomingCall) {
- call = incomingCall;
- call.answer();
- call.addCallListener(new CallListener() {
- @Override
- public void onCallProgressing(Call call) {
- Log.d("CallListener", "Call progressing");
- tvCallStatus.setText("connecting");
- }
- @Override
- public void onCallEstablished(Call call) {
- Log.d("CallListener", "Call established");
- tvCallStatus.setText("connected");
- setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
- }
- @Override
- public void onCallEnded(Call call) {
- Log.d("CallListener", "Call ended");
- tvCallStatus.setText("disconnected");
- setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
- }
- @Override
- public void onShouldSendPushNotification(Call call, List<PushPair> list) {
- }
- });
- btnCall.setText("HANG UP");
- }
- });
- sinchClient.start();
- }
- });
- tvCallStatus = (TextView)findViewById(R.id.callStatus);
- etCallUser = (EditText)findViewById(R.id.callUser);
- btnCall = (Button)findViewById(R.id.btnCall);
- btnCall.setOnClickListener(new View.OnClickListener() {
- String userToCall;
- @Override
- public void onClick(View v) {
- if(call == null){
- userToCall = etCallUser.getText().toString();
- Log.d("CallListener", "Calling user: "+userToCall);
- call = sinchClient.getCallClient().callConference(userToCall);
- call.addCallListener(new CallListener() {
- @Override
- public void onCallProgressing(Call call) {
- Log.d("CallListener", "Call progressing");
- tvCallStatus.setText("connecting");
- }
- @Override
- public void onCallEstablished(Call call) {
- Log.d("CallListener", "Call established");
- tvCallStatus.setText("connected");
- setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
- }
- @Override
- public void onCallEnded(Call call) {
- Log.d("CallListener", "Call ended");
- tvCallStatus.setText("disconnected");
- setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
- }
- @Override
- public void onShouldSendPushNotification(Call call, List<PushPair> list) {
- }
- });
- btnCall.setText("HANG UP");
- }else{
- call.hangup();
- call = null;
- btnCall.setText("CALL");
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement