Browse Source

Preparing call activity for notifications

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 7 years ago
parent
commit
de02ad278c
1 changed files with 40 additions and 3 deletions
  1. 40 3
      app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

+ 40 - 3
app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

@@ -70,6 +70,7 @@ import com.nextcloud.talk.events.MediaStreamEvent;
 import com.nextcloud.talk.events.PeerConnectionEvent;
 import com.nextcloud.talk.events.SessionDescriptionSendEvent;
 import com.nextcloud.talk.persistence.entities.UserEntity;
+import com.nextcloud.talk.utils.database.user.UserUtils;
 import com.nextcloud.talk.webrtc.MagicAudioManager;
 import com.nextcloud.talk.webrtc.MagicPeerConnectionWrapper;
 import com.nextcloud.talk.webrtc.MagicWebRTCUtils;
@@ -101,6 +102,7 @@ import org.webrtc.VideoSource;
 import org.webrtc.VideoTrack;
 
 import java.io.IOException;
+import java.net.CookieManager;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -153,6 +155,11 @@ public class CallActivity extends AppCompatActivity {
     NcApi ncApi;
     @Inject
     EventBus eventBus;
+    @Inject
+    UserUtils userUtils;
+    @Inject
+    CookieManager cookieManager;
+
     PeerConnectionFactory peerConnectionFactory;
     MediaConstraints audioConstraints;
     MediaConstraints videoConstraints;
@@ -205,11 +212,41 @@ public class CallActivity extends AppCompatActivity {
         roomToken = getIntent().getExtras().getString("roomToken", "");
         userEntity = Parcels.unwrap((Parcelable) getIntent().getExtras().get("userEntity"));
         callSession = "0";
-
         credentials = ApiHelper.getCredentials(userEntity.getUsername(), userEntity.getToken());
-        initViews();
 
-        checkPermissions();
+        if (userUtils.getCurrentUser() != null && userUtils.getCurrentUser() != userEntity) {
+            userUtils.createOrUpdateUser(userEntity.getUsername(),
+                    userEntity.getToken(), userEntity.getBaseUrl(), null,
+                    null, true)
+                    .subscribe(new Observer<UserEntity>() {
+                        @Override
+                        public void onSubscribe(Disposable d) {
+
+                        }
+
+                        @Override
+                        public void onNext(UserEntity userEntity) {
+                            cookieManager.getCookieStore().removeAll();
+                            userUtils.disableAllUsersWithoutId(userEntity.getId());
+                            initViews();
+                            checkPermissions();
+                        }
+
+                        @Override
+                        public void onError(Throwable e) {
+
+                        }
+
+                        @Override
+                        public void onComplete() {
+
+                        }
+                    });
+
+        } else {
+            initViews();
+            checkPermissions();
+        }
 
     }