Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
Signed-off-by: Mario Danic <mario@lovelyhq.com>

# Conflicts:
#	app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.java
#	app/src/main/java/com/nextcloud/talk/controllers/base/bottomnavigation/BottomNavigationController.java
  • Loading branch information
mario committed Apr 19, 2018
1 parent 84276a6 commit f5512be
Show file tree
Hide file tree
Showing 5 changed files with 168 additions and 172 deletions.
10 changes: 5 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ dependencies {
implementation 'net.zetetic:android-database-sqlcipher:3.5.9'
annotationProcessor 'io.requery:requery-processor:1.5.0'

compile 'org.parceler:parceler-api:1.1.9'
implementation 'org.parceler:parceler-api:1.1.9'
annotationProcessor 'org.parceler:parceler:1.1.9'

implementation 'net.orange-box.storebox:storebox-lib:1.4.0'
Expand All @@ -122,14 +122,14 @@ dependencies {
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

debugImplementation "javax.transaction:transaction-api:1.1-rev-1"

implementation 'com.github.HITGIF:TextFieldBoxes:1.4.1'
implementation 'com.github.HITGIF:TextFieldBoxes:1.4.3'

implementation 'eu.davidea:flexible-adapter:5.0.2'
implementation 'eu.davidea:flexible-adapter:5.0.3'
implementation 'eu.davidea:flexible-adapter-ui:1.0.0-b3'

implementation 'com.github.bumptech.glide:glide:4.3.0'
Expand Down
53 changes: 50 additions & 3 deletions app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import com.nextcloud.talk.events.SessionDescriptionSendEvent;
import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.models.json.call.CallOverall;
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.talk.models.json.generic.GenericOverall;
import com.nextcloud.talk.models.json.rooms.Room;
import com.nextcloud.talk.models.json.rooms.RoomsOverall;
Expand Down Expand Up @@ -200,6 +201,8 @@ public class CallActivity extends AppCompatActivity {
private boolean videoOn = false;
private boolean audioOn = false;

private boolean isMultiSession = false;

private Handler handler = new Handler();

private boolean isPTTActive = false;
Expand Down Expand Up @@ -770,7 +773,7 @@ public void onNext(SignalingSettingsOverall signalingSettingsOverall) {
}
}

joinRoomAndCall();
checkCapabilities();
}

@Override
Expand All @@ -790,6 +793,41 @@ private void startVideoCapture() {
}
}

private void checkCapabilities() {
ncApi.getCapabilities(credentials, ApiUtils.getUrlForCapabilities(baseUrl))
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CapabilitiesOverall>() {
@Override
public void onSubscribe(Disposable d) {

}

@Override
public void onNext(CapabilitiesOverall capabilitiesOverall) {
isMultiSession = capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability() != null &&
capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability()
.getFeatures() != null && capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability()
.getFeatures().contains("multi-room-users");

joinRoomAndCall();
}

@Override
public void onError(Throwable e) {
isMultiSession = false;
}

@Override
public void onComplete() {

}
});
}

private void joinRoomAndCall() {
if ("0".equals(callSession)) {
ncApi.joinRoom(credentials, ApiUtils.getUrlForRoomParticipants(baseUrl, roomToken), null)
Expand Down Expand Up @@ -871,7 +909,11 @@ public void onComplete() {
});

// Start pulling signaling messages
ncApi.pullSignalingMessages(credentials, ApiUtils.getUrlForSignaling(baseUrl))
String urlToken = null;
if (isMultiSession) {
urlToken = roomToken;
}
ncApi.pullSignalingMessages(credentials, ApiUtils.getUrlForSignaling(baseUrl, urlToken))
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.repeatWhen(observable -> observable)
Expand Down Expand Up @@ -1367,7 +1409,12 @@ public void onMessageEvent(SessionDescriptionSendEvent sessionDescriptionSend) t
String stringToSend = stringBuilder.toString();
strings.add(stringToSend);

ncApi.sendSignalingMessages(credentials, ApiUtils.getUrlForSignaling(baseUrl),
String urlToken = null;
if (isMultiSession) {
urlToken = roomToken;
}

ncApi.sendSignalingMessages(credentials, ApiUtils.getUrlForSignaling(baseUrl, urlToken),
strings.toString())
.retry(3)
.subscribeOn(Schedulers.newThread())
Expand Down
Loading

0 comments on commit f5512be

Please sign in to comment.