Browse Source

Fixed UI navigation states

dev
Denys Podymskyy 4 years ago
parent
commit
e8919a23ea
3 changed files with 16 additions and 11 deletions
  1. +2
    -1
      ui/src/main/java/com/getbubblenow/android/activity/LoginActivity.java
  2. +0
    -1
      ui/src/main/java/com/getbubblenow/android/activity/MainActivity.java
  3. +14
    -9
      ui/src/main/java/com/getbubblenow/android/repository/DataRepository.java

+ 2
- 1
ui/src/main/java/com/getbubblenow/android/activity/LoginActivity.java View File

@@ -111,7 +111,8 @@ public class LoginActivity extends BaseActivityBubble {


private void sendListener() { private void sendListener() {
password.setOnEditorActionListener((v, actionId, event) -> { password.setOnEditorActionListener((v, actionId, event) -> {
if ((event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) || (actionId == EditorInfo.IME_ACTION_SEND)) {
if ((event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP)
|| (actionId == EditorInfo.IME_ACTION_SEND)) {
if (!TextUtils.isEmpty(password.getText().toString()) && !TextUtils.isEmpty(userName.getText().toString())) { if (!TextUtils.isEmpty(password.getText().toString()) && !TextUtils.isEmpty(userName.getText().toString())) {
signIn(); signIn();
} else { } else {


+ 0
- 1
ui/src/main/java/com/getbubblenow/android/activity/MainActivity.java View File

@@ -4,7 +4,6 @@ import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;


import android.animation.Animator; import android.animation.Animator;


+ 14
- 9
ui/src/main/java/com/getbubblenow/android/repository/DataRepository.java View File

@@ -105,7 +105,6 @@ public final class DataRepository {
private ObservableTunnel pendingTunnel; private ObservableTunnel pendingTunnel;


private List<String> nodes; private List<String> nodes;
private int nodeIndex = 0;
private String hostname = ""; private String hostname = "";
private boolean stopNetworkStatusLiveData = false; private boolean stopNetworkStatusLiveData = false;
private final MutableLiveData<StatusResource<Network>> networkStatusLiveData = new MutableLiveData<>(); private final MutableLiveData<StatusResource<Network>> networkStatusLiveData = new MutableLiveData<>();
@@ -201,9 +200,15 @@ public final class DataRepository {
} }




private void getNodeIndex(int index, String username, String password, Context context, NetworkBoundStatusResource<byte[]> liveData) {
private void getNodeIndex(
final int index,
final String username,
final String password,
final Context context,
final NetworkBoundStatusResource<byte[]> liveData
) {
if (index < nodes.size()) { if (index < nodes.size()) {
getNetwork(nodes.get(index), username, password, context, liveData);
getNetwork(index, username, password, context, liveData);
} else { } else {
liveData.postMutableLiveData(StatusResource.error(LOGIN_FAILED)); liveData.postMutableLiveData(StatusResource.error(LOGIN_FAILED));
} }
@@ -217,12 +222,13 @@ public final class DataRepository {
return progressLiveData; return progressLiveData;
} }


private void getNetwork(final String node,
private void getNetwork(final int nodeIdx,
final String username, final String username,
final String password, final String password,
final Context context, final Context context,
final NetworkBoundStatusResource<byte[]> liveData) { final NetworkBoundStatusResource<byte[]> liveData) {


final String node = nodes.get(nodeIdx);
final HashMap<String, String> data = new HashMap<>(); final HashMap<String, String> data = new HashMap<>();
data.put(ApiConstants.USERNAME, username); data.put(ApiConstants.USERNAME, username);
data.put(ApiConstants.PASSWORD, password); data.put(ApiConstants.PASSWORD, password);
@@ -253,9 +259,8 @@ public final class DataRepository {
UserStore.getInstance(context).setSageHostname(node); UserStore.getInstance(context).setSageHostname(node);
liveData.postMutableLiveData(StatusResource.auth(MFAuthType.TOTP)); liveData.postMutableLiveData(StatusResource.auth(MFAuthType.TOTP));
} else { } else {
nodeIndex++;
getNodeIndex(nodeIndex, username, password, context, liveData);
Log.e("ERR", "getSages-login");
getNodeIndex((nodeIdx + 1), username, password, context, liveData);
Log.e("ERR", "getSages-login : " + node);
} }
}); });
compositeDisposable.add(disposableLogin); compositeDisposable.add(disposableLogin);
@@ -491,9 +496,8 @@ public final class DataRepository {
.subscribeOn(Schedulers.newThread()) .subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(sages -> { .subscribe(sages -> {
nodeIndex = 0;
nodes = sages.getSages(); nodes = sages.getSages();
getNodeIndex(nodeIndex, username, password, context, this);
getNodeIndex(0, username, password, context, this);
}, throwable -> { }, throwable -> {
Log.d("ERR", "getSages"); Log.d("ERR", "getSages");
setErrorMessage(throwable, this.getMutableLiveData()); setErrorMessage(throwable, this.getMutableLiveData());
@@ -803,6 +807,7 @@ public final class DataRepository {
UserStore.getInstance(context).setToken(UserStore.getInstance(context).getToken()); UserStore.getInstance(context).setToken(UserStore.getInstance(context).getToken());
UserStore.getInstance(context).setDevice(deviceName, deviceID); UserStore.getInstance(context).setDevice(deviceName, deviceID);
setHostName(context, baseUrl); setHostName(context, baseUrl);
pendingTunnel = observableTunnel;
postMutableLiveData(StatusResource.success(null)); postMutableLiveData(StatusResource.success(null));
} else { } else {
Log.d("ERR", "createTunnel11"); Log.d("ERR", "createTunnel11");


Loading…
Cancel
Save