Commit e30e946e authored by Filipe de Lima Brito's avatar Filipe de Lima Brito

Merge branch 'iss321' of github.com:filipedelimabrito/Rocket.Chat.Android into iss321

parents d575ffb6 1260037d
package chat.rocket.android.fragment.add_server; package chat.rocket.android.fragment.add_server;
import chat.rocket.android.BackgroundLooper;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import chat.rocket.android.RocketChatCache; import chat.rocket.android.RocketChatCache;
import chat.rocket.android.api.rest.DefaultServerPolicyApi; import chat.rocket.android.api.rest.DefaultServerPolicyApi;
...@@ -13,14 +13,11 @@ import chat.rocket.android.helper.ServerPolicyHelper; ...@@ -13,14 +13,11 @@ import chat.rocket.android.helper.ServerPolicyHelper;
import chat.rocket.android.service.ConnectivityManagerApi; import chat.rocket.android.service.ConnectivityManagerApi;
import chat.rocket.android.shared.BasePresenter; import chat.rocket.android.shared.BasePresenter;
public class InputHostnamePresenter extends BasePresenter<InputHostnameContract.View> public class InputHostnamePresenter extends BasePresenter<InputHostnameContract.View> implements InputHostnameContract.Presenter {
implements InputHostnameContract.Presenter {
private final RocketChatCache rocketChatCache; private final RocketChatCache rocketChatCache;
private final ConnectivityManagerApi connectivityManager; private final ConnectivityManagerApi connectivityManager;
public InputHostnamePresenter(RocketChatCache rocketChatCache, public InputHostnamePresenter(RocketChatCache rocketChatCache, ConnectivityManagerApi connectivityManager) {
ConnectivityManagerApi connectivityManager) {
this.rocketChatCache = rocketChatCache; this.rocketChatCache = rocketChatCache;
this.connectivityManager = connectivityManager; this.connectivityManager = connectivityManager;
} }
...@@ -28,21 +25,17 @@ public class InputHostnamePresenter extends BasePresenter<InputHostnameContract. ...@@ -28,21 +25,17 @@ public class InputHostnamePresenter extends BasePresenter<InputHostnameContract.
@Override @Override
public void connectTo(final String hostname) { public void connectTo(final String hostname) {
view.showLoader(); view.showLoader();
connectToEnforced(ServerPolicyHelper.enforceHostname(hostname)); connectToEnforced(ServerPolicyHelper.enforceHostname(hostname));
} }
public void connectToEnforced(final String hostname) { public void connectToEnforced(final String hostname) {
final ServerPolicyApi serverPolicyApi = final ServerPolicyApi serverPolicyApi = new DefaultServerPolicyApi(OkHttpHelper.getClientForUploadFile(), hostname);
new DefaultServerPolicyApi(OkHttpHelper.getClientForUploadFile(), hostname); final ServerPolicyApiValidationHelper validationHelper = new ServerPolicyApiValidationHelper(serverPolicyApi);
final ServerPolicyApiValidationHelper validationHelper =
new ServerPolicyApiValidationHelper(serverPolicyApi);
clearSubscriptions(); clearSubscriptions();
final Disposable subscription = ServerPolicyHelper.isApiVersionValid(validationHelper) final Disposable subscription = ServerPolicyHelper.isApiVersionValid(validationHelper)
.subscribeOn(Schedulers.io()) .subscribeOn(AndroidSchedulers.from(BackgroundLooper.get()))
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.doOnTerminate(() -> view.hideLoader()) .doOnTerminate(() -> view.hideLoader())
.subscribe( .subscribe(
...@@ -54,14 +47,14 @@ public class InputHostnamePresenter extends BasePresenter<InputHostnameContract. ...@@ -54,14 +47,14 @@ public class InputHostnamePresenter extends BasePresenter<InputHostnameContract.
} }
}, },
throwable -> view.showConnectionError()); throwable -> view.showConnectionError());
addSubscription(subscription); addSubscription(subscription);
} }
private void onServerValid(final String hostname, boolean usesSecureConnection) { private void onServerValid(String hostname, boolean usesSecureConnection) {
rocketChatCache.setSelectedServerHostname(hostname); rocketChatCache.setSelectedServerHostname(hostname);
connectivityManager.addOrUpdateServer(hostname, hostname, !usesSecureConnection); String server = hostname.replace("/", ".");
connectivityManager.addOrUpdateServer(server, server, !usesSecureConnection);
connectivityManager.keepAliveServer(); connectivityManager.keepAliveServer();
view.showHome(); view.showHome();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment