Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.group.travilling.travilling.chat;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.PreferenceManager;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import com.example.group.travilling.travilling.R;
- import com.example.group.travilling.travilling.common.Common;
- import com.quickblox.auth.QBAuth;
- import com.quickblox.auth.session.QBSession;
- import com.quickblox.chat.QBChatService;
- import com.quickblox.chat.QBSignaling;
- import com.quickblox.chat.QBWebRTCSignaling;
- import com.quickblox.chat.listeners.QBVideoChatSignalingManagerListener;
- import com.quickblox.core.QBEntityCallback;
- import com.quickblox.core.exception.QBResponseException;
- import com.quickblox.users.model.QBUser;
- import com.quickblox.videochat.webrtc.QBRTCClient;
- import com.quickblox.videochat.webrtc.QBRTCSession;
- import com.quickblox.videochat.webrtc.QBRTCTypes;
- import com.quickblox.videochat.webrtc.callbacks.QBRTCClientSessionCallbacks;
- import com.quickblox.videochat.webrtc.callbacks.QBRTCClientVideoTracksCallbacks;
- import com.quickblox.videochat.webrtc.callbacks.QBRTCSessionConnectionCallbacks;
- import com.quickblox.videochat.webrtc.exception.QBRTCException;
- import com.quickblox.videochat.webrtc.view.QBRTCSurfaceView;
- import com.quickblox.videochat.webrtc.view.QBRTCVideoTrack;
- import org.webrtc.RendererCommon;
- import org.webrtc.VideoRenderer;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import static com.quickblox.videochat.webrtc.QBRTCTypes.QBConferenceType.QB_CONFERENCE_TYPE_VIDEO;
- public class call_activity extends AppCompatActivity {
- SharedPreferences prefs;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_audio_activity);
- prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
- QBChatService.ConfigurationBuilder chatServiceConfigurationBuilder = new QBChatService.ConfigurationBuilder();
- chatServiceConfigurationBuilder.setSocketTimeout(180); //Sets chat socket's read timeout in seconds
- chatServiceConfigurationBuilder.setKeepAlive(true); //Sets connection socket's keepAlive option.
- QBChatService.setConfigurationBuilder(chatServiceConfigurationBuilder);
- // String login = "login";
- // String password = "password";
- // final QBUser user = new QBUser(login, password);
- final QBUser user = new QBUser("u" + prefs.getInt("account_phone_chat", 0) + "", Common.pass);
- // CREATE SESSION WITH USER
- // If you use create session with user data,
- // then the user will be logged in automatically
- QBAuth.createSession().performAsync(new QBEntityCallback<QBSession>() {
- @Override
- public void onSuccess(final QBSession qbSession, Bundle bundle) {
- user.setId(Integer.parseInt(prefs.getString("user_id","0")));
- // qbUser.setPassword(BaseService.getBaseService().getToken());
- if (!QBChatService.getInstance().isLoggedIn()) {
- QBChatService.getInstance().login(user, new QBEntityCallback() {
- @Override
- public void onSuccess(Object o, Bundle bundle) {
- call();
- }
- @Override
- public void onError(QBResponseException e) {
- call();
- Log.e("errorwhyis!", e.getMessage());
- }
- });
- // mDialog.dismiss();
- } else {
- System.out.println("SFSSFFSFSFSDF");
- call();
- }
- }
- @Override
- public void onError(QBResponseException e) {
- Log.e("error", e.getMessage() + "");
- }
- });
- }
- private void call() {
- //Add signalling manager
- add_signlling_manager();
- //Notify RTCClient that you are ready to receive calls
- QBRTCClient.getInstance(getBaseContext()).prepareToProcessCalls();
- //To listen for the callbacks use the following methods:
- QBRTCClient.getInstance(getBaseContext()).addSessionCallbacksListener(new QBRTCClientSessionCallbacks() {
- // * Called each time when new session request is received.
- public void onReceiveNewSession(QBRTCSession session) {
- // obtain received user info
- Map<String, String> userInfo = session.getUserInfo();
- // .....
- // ..... your code
- // .....
- // Set userInfo
- // User can set any string key and value in user info
- // Map<String,String> userInfo = new HashMap<String,String>();
- // userInfo.put("Key", "Value");
- // Accept incoming call
- session.acceptCall(userInfo);
- // Rejecting call
- // session.rejectCall(userInfo);
- // session.hangUp(userInfo);
- }
- /**
- * Called in case when user didn't answer in timer expiration period
- */
- public void onUserNotAnswer(QBRTCSession session, Integer userID) {
- System.out.println("NOOOOOOAAAAAA");
- }
- /**
- * Called in case when opponent has rejected you call
- */
- public void onCallRejectByUser(QBRTCSession session, Integer userID, Map<String, String> userInfo) {
- System.out.println("NOOOOOOAAAAAA22");
- }
- /**
- * Called in case when opponent has accepted you call
- */
- public void onCallAcceptByUser(QBRTCSession session, Integer userID, Map<String, String> userInfo) {
- System.out.println("NOOOOOOAAAAAA233");
- }
- /**
- * Called in case when opponent hung up
- */
- @Override
- public void onReceiveHangUpFromUser(QBRTCSession qbrtcSession, Integer integer, Map<String, String> map) {
- }
- /**
- * Called in case when user didn't make any actions on received session
- */
- public void onUserNoActions(QBRTCSession session, Integer userID) {
- System.out.println("NOOOOOOAAAAAA555");
- }
- /**
- * Called in case when session will close
- */
- public void onSessionStartClose(QBRTCSession session) {
- }
- /**
- * Called when session is closed.
- */
- public void onSessionClosed(QBRTCSession session) {
- }
- });
- // QBRTCClient.getInstance(getBaseContext()).removeSessionsCallbacksListener(this);
- //Track connection state
- addSessionCallbacksListener(new QBRTCSessionConnectionCallbacks() {
- @Override
- public void onStartConnectToUser(QBRTCSession qbrtcSession, Integer integer) {
- System.out.println("NOOOOOOAAAAAA88");
- }
- @Override
- public void onConnectedToUser(QBRTCSession qbrtcSession, Integer integer) {
- System.out.println("NOOOOOOAAAAAA999");
- }
- @Override
- public void onConnectionClosedForUser(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onDisconnectedFromUser(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onDisconnectedTimeoutFromUser(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onConnectionFailedWithUser(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onError(QBRTCSession qbrtcSession, QBRTCException e) {
- }
- });
- //Obtain video tracks via QBRTCClientVideoTracksCallbacks interface
- addVideoTrackCallbacksListener(new QBRTCClientVideoTracksCallbacks() {
- @Override
- public void onLocalVideoTrackReceive(QBRTCSession qbrtcSession, QBRTCVideoTrack qbrtcVideoTrack) {
- }
- @Override
- public void onRemoteVideoTrackReceive(QBRTCSession qbrtcSession, QBRTCVideoTrack qbrtcVideoTrack, Integer integer) {
- }
- });
- start_call();
- }
- //Render video stream to view
- private void fillVideoView(int userId, QBRTCSurfaceView videoView, QBRTCVideoTrack videoTrack,
- boolean remoteRenderer) {
- videoTrack.addRenderer(new VideoRenderer(videoView));
- updateVideoView(videoView, !remoteRenderer, RendererCommon.ScalingType.SCALE_ASPECT_FILL);
- }
- private void updateVideoView(QBRTCSurfaceView surfaceView, boolean mirror, RendererCommon.ScalingType scalingType) {
- surfaceView.setScalingType(scalingType);
- surfaceView.setMirror(mirror);
- surfaceView.requestLayout();
- }
- private void add_signlling_manager() {
- try {
- QBChatService.getInstance().getVideoChatWebRTCSignalingManager()
- .addSignalingManagerListener(new QBVideoChatSignalingManagerListener() {
- @Override
- public void signalingCreated(QBSignaling qbSignaling, boolean createdLocally) {
- if (!createdLocally) {
- QBRTCClient.getInstance(getBaseContext()).addSignaling((QBWebRTCSignaling) qbSignaling);
- }
- }
- });
- } catch (NullPointerException e) {
- }
- }
- //Prepare your activity class to audio/video calls
- public void addSessionCallbacksListener(QBRTCSessionConnectionCallbacks callback) {
- }
- public void addVideoTrackCallbacksListener(QBRTCClientVideoTracksCallbacks callback) {
- }
- //and next method on QBRTCClient instance:
- public void addSessionCallbacksListener(QBRTCClientSessionCallbacks callback) {
- }
- void start_call() {
- //start call
- QBRTCTypes.QBConferenceType qbConferenceType = QB_CONFERENCE_TYPE_VIDEO;
- //Initiate opponents list
- List<Integer> opponents = new ArrayList<Integer>();
- opponents.add(Common.admin_id); //12345 - QBUser ID
- //Set user information
- // User can set any string key and value in user info
- // Then retrieve this data from sessions which is returned in callbacks
- // and parse them as he wish
- Map<String, String> userInfo = new HashMap<>();
- userInfo.put("Test", "state");
- //Init session
- QBRTCSession session =
- QBRTCClient.getInstance(this).createNewSessionWithOpponents(opponents, qbConferenceType);
- //Start call
- System.out.println("SSSSSSSSSSSTTTTTTTTTTTA");
- session.startCall(userInfo);
- }
- }
- package com.example.group.test_calender.traveling_admin.booking.chat;
- import android.app.Service;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.IBinder;
- import android.util.Log;
- import com.example.group.test_calender.traveling_admin.booking.common.Common;
- import com.quickblox.auth.QBAuth;
- import com.quickblox.auth.session.QBSession;
- import com.quickblox.auth.session.QBSettings;
- import com.quickblox.chat.QBChatService;
- import com.quickblox.chat.QBSignaling;
- import com.quickblox.chat.QBWebRTCSignaling;
- import com.quickblox.chat.listeners.QBVideoChatSignalingManagerListener;
- import com.quickblox.core.QBEntityCallback;
- import com.quickblox.core.exception.QBResponseException;
- import com.quickblox.users.model.QBUser;
- import com.quickblox.videochat.webrtc.QBRTCClient;
- import com.quickblox.videochat.webrtc.QBRTCSession;
- import com.quickblox.videochat.webrtc.callbacks.QBRTCClientSessionCallbacks;
- import java.util.Map;
- //import static com.dev.trueme.TrueMeConstants.TRUE_ME_USERNEME;
- public class VideoCallService extends Service implements QBRTCClientSessionCallbacks {
- public VideoCallService() {
- }
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- try {
- QBSettings.getInstance().init(getBaseContext(), Common.APP_ID, Common.AUTH_KEY, Common.AUTH_SECURITY);
- QBSettings.getInstance().setAccountKey(Common.ACCOUNT_KEY);
- QBChatService.setDebugEnabled(true);
- QBChatService.ConfigurationBuilder chatServiceConfigurationBuilder = new QBChatService.ConfigurationBuilder();
- chatServiceConfigurationBuilder.setSocketTimeout(180); //Sets chat socket's read timeout in seconds
- chatServiceConfigurationBuilder.setKeepAlive(true); //Sets connection socket's keepAlive option.
- QBChatService.setConfigurationBuilder(chatServiceConfigurationBuilder);
- Log.wtf("service", "start");
- }catch (Exception e){
- Log.wtf("ex",""+e);
- }
- return START_STICKY;
- }
- private void InitSignalling() {
- QBChatService.getInstance().getVideoChatWebRTCSignalingManager()
- .addSignalingManagerListener(new QBVideoChatSignalingManagerListener() {
- @Override
- public void signalingCreated(QBSignaling qbSignaling, boolean createdLocally) {
- if (!createdLocally) {
- QBRTCClient.getInstance(VideoCallService.this).addSignaling((QBWebRTCSignaling) qbSignaling);
- }
- }
- });
- }
- public void LoginChatService()
- {
- final QBUser user = new QBUser(Common.user, Common.pass);
- // SharedPreferences s=getSharedPreferences("QBid",0);
- user.setId(30586775);
- QBAuth.createSession().performAsync(new QBEntityCallback<QBSession>() {
- @Override
- public void onSuccess(final QBSession qbSession, Bundle bundle) {
- // user.setId(qbSession.getUserId());
- // qbUser.setPassword(BaseService.getBaseService().getToken());
- if (!QBChatService.getInstance().isLoggedIn()) {
- QBChatService.getInstance().login(user, new QBEntityCallback() {
- @Override
- public void onSuccess(Object o, Bundle bundle) {
- ProcessCalls();
- InitSignalling();
- QBRTCClient.getInstance(getBaseContext()).addSessionCallbacksListener (VideoCallService.this);
- }
- @Override
- public void onError(QBResponseException e) {
- Log.e("errorwhyis!", e.getMessage());
- ProcessCalls();
- InitSignalling();
- QBRTCClient.getInstance(getBaseContext()).addSessionCallbacksListener(VideoCallService.this);
- }
- });
- // mDialog.dismiss();
- } else {
- System.out.println("SFSSFFSFSFSDF");
- ProcessCalls();
- InitSignalling();
- QBRTCClient.getInstance(getBaseContext()).addSessionCallbacksListener(VideoCallService.this);
- }
- }
- @Override
- public void onError(QBResponseException e) {
- Log.e("error", e.getMessage() + "");
- }
- });
- }
- private void ProcessCalls() {
- QBRTCClient.getInstance(this).prepareToProcessCalls();
- }
- @Override
- public void onReceiveNewSession(QBRTCSession qbrtcSession) {
- System.out.println("oiioikjskdkj");
- // DataHolder.getInstance().setServiceData(qbrtcSession,qbrtcSession.getUserInfo());
- startActivity(new Intent(this,VideoCallActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).putExtra("service",true));
- }
- @Override
- public void onUserNoActions(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onSessionStartClose(QBRTCSession qbrtcSession) {
- }
- @Override
- public void onUserNotAnswer(QBRTCSession qbrtcSession, Integer integer) {
- }
- @Override
- public void onCallRejectByUser(QBRTCSession qbrtcSession, Integer integer, Map<String, String> map) {
- }
- @Override
- public void onCallAcceptByUser(QBRTCSession qbrtcSession, Integer integer, Map<String, String> map) {
- }
- @Override
- public void onReceiveHangUpFromUser(QBRTCSession qbrtcSession, Integer integer, Map<String, String> map) {
- }
- @Override
- public void onSessionClosed(QBRTCSession qbrtcSession) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement