From ae8057e405fadd6e8c756d4d2e5091aadbe0d024 Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Tue, 29 May 2018 14:34:37 +0200 Subject: [PATCH] Partly fix notifications Signed-off-by: Mario Danic --- .../talk/activities/CallActivity.java | 15 ++++------ .../talk/controllers/ChatController.java | 29 ++++++++++++++++++- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 80f6fdea4..220ee7e57 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -501,9 +501,9 @@ public class CallActivity extends AppCompatActivity { if (b && cameraSwitchCount != -1) { if (cameraSwitchCount == camerasCount) { cameraSwitchCount = 0; - pipVideoView.setMirror(true); - } else { pipVideoView.setMirror(false); + } else { + pipVideoView.setMirror(true); } } } @@ -688,7 +688,7 @@ public class CallActivity extends AppCompatActivity { //Create a new PeerConnectionFactory instance. PeerConnectionFactory.Options options = new PeerConnectionFactory.Options(); - peerConnectionFactory = new PeerConnectionFactory(options); + peerConnectionFactory = PeerConnectionFactory.builder().createPeerConnectionFactory(); peerConnectionFactory.setVideoHwAccelerationOptions(rootEglBase.getEglBaseContext(), rootEglBase.getEglBaseContext()); @@ -745,11 +745,7 @@ public class CallActivity extends AppCompatActivity { localMediaStream.addTrack(localVideoTrack); localVideoTrack.setEnabled(false); - //create a videoRenderer based on SurfaceViewRenderer instance - localRenderer = new VideoRenderer(pipVideoView); - // And finally, with our VideoRenderer ready, we - // can add our renderer to the VideoTrack. - localVideoTrack.addRenderer(localRenderer); + localVideoTrack.addSink(pipVideoView); } } @@ -1405,8 +1401,7 @@ public class CallActivity extends AppCompatActivity { if (mediaStream != null && mediaStream.videoTracks != null && mediaStream.videoTracks.size() > 0 && enable) { VideoTrack videoTrack = mediaStream.videoTracks.get(0); - VideoRenderer remoteRenderer = new VideoRenderer(surfaceViewRenderer); - videoTrack.addRenderer(remoteRenderer); + videoTrack.addSink(surfaceViewRenderer); imageView.setVisibility(View.INVISIBLE); surfaceViewRenderer.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java index b06dc5639..698db9029 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java @@ -405,7 +405,7 @@ public class ChatController extends BaseController implements MessagesListAdapte inChat = false; dispose(); ApplicationWideCurrentRoomHolder.getInstance().clear(); - super.onDestroy(); + leaveRoom(); } private void dispose() { @@ -488,6 +488,33 @@ public class ChatController extends BaseController implements MessagesListAdapte } } + private void leaveRoom() { + ncApi.leaveRoom(credentials, ApiUtils.getUrlForRoomParticipants(baseUrl, roomToken)) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(GenericOverall genericOverall) { + getRouter().popCurrentController(); + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + private void setSenderId() { try { final Field senderId = adapter.getClass().getDeclaredField("senderId");