mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-29 18:08:58 +03:00
Add web button and use capabilities
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
ea35890f7e
commit
209b0b3103
2 changed files with 63 additions and 7 deletions
|
@ -21,6 +21,7 @@
|
|||
package com.nextcloud.talk.controllers.bottomsheet;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -39,6 +40,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication;
|
|||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.BottomSheetLockEvent;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
|
||||
import com.nextcloud.talk.models.json.rooms.Room;
|
||||
import com.nextcloud.talk.models.json.rooms.RoomOverall;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
|
@ -76,6 +78,9 @@ public class OperationsMenuController extends BaseController {
|
|||
@BindView(R.id.ok_button)
|
||||
Button okButton;
|
||||
|
||||
@BindView(R.id.web_button)
|
||||
Button webButton;
|
||||
|
||||
@Inject
|
||||
NcApi ncApi;
|
||||
|
||||
|
@ -203,11 +208,42 @@ public class OperationsMenuController extends BaseController {
|
|||
@Override
|
||||
public void onNext(RoomOverall roomOverall) {
|
||||
room = roomOverall.getOcs().getData();
|
||||
if (room.isHasPassword() && room.isGuest()) {
|
||||
ncApi.getCapabilities(null, ApiUtils.getUrlForCapabilities(baseUrl))
|
||||
.subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<CapabilitiesOverall>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
} else {
|
||||
initiateCall();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(CapabilitiesOverall capabilitiesOverall) {
|
||||
if (capabilitiesOverall.getOcs().getData()
|
||||
.getCapabilities().getSpreedCapability() != null &&
|
||||
capabilitiesOverall.getOcs().getData()
|
||||
.getCapabilities().getSpreedCapability()
|
||||
.getFeatures() != null) {
|
||||
if (room.isHasPassword() && room.isGuest()) {
|
||||
|
||||
} else {
|
||||
initiateCall();
|
||||
}
|
||||
} else {
|
||||
showResultImage(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
showResultImage(false, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -236,7 +272,7 @@ public class OperationsMenuController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
private void showResultImage(boolean everythingOK, boolean isSignalingSettingsError) {
|
||||
private void showResultImage(boolean everythingOK, boolean isGuestSupportError) {
|
||||
progressBar.setVisibility(View.GONE);
|
||||
|
||||
if (everythingOK) {
|
||||
|
@ -253,10 +289,16 @@ public class OperationsMenuController extends BaseController {
|
|||
resultsTextView.setText(R.string.nc_all_ok_operation);
|
||||
} else {
|
||||
resultsTextView.setTextColor(getResources().getColor(R.color.nc_darkRed));
|
||||
if (!isSignalingSettingsError) {
|
||||
if (!isGuestSupportError) {
|
||||
resultsTextView.setText(R.string.nc_failed_to_perform_operation);
|
||||
} else {
|
||||
resultsTextView.setText(R.string.nc_failed_signaling_settings);
|
||||
webButton.setOnClickListener(v -> {
|
||||
new BottomSheetLockEvent(true, 0, false, true);
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(callUrl));
|
||||
startActivity(browserIntent);
|
||||
});
|
||||
webButton.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -74,4 +74,18 @@
|
|||
android:text="@string/nc_ok"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/web_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/result_text_view"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toStartOf="@id/ok_button"
|
||||
android:background="#0000"
|
||||
android:text="@string/nc_join_via_web"
|
||||
android:textColor="@color/nc_darkGreen"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</RelativeLayout>
|
Loading…
Reference in a new issue