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() {
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())) {
signIn();
} 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.fragment.app.DialogFragment;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;

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 List<String> nodes;
private int nodeIndex = 0;
private String hostname = "";
private boolean stopNetworkStatusLiveData = false;
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()) {
getNetwork(nodes.get(index), username, password, context, liveData);
getNetwork(index, username, password, context, liveData);
} else {
liveData.postMutableLiveData(StatusResource.error(LOGIN_FAILED));
}
@@ -217,12 +222,13 @@ public final class DataRepository {
return progressLiveData;
}

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

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


Loading…
Cancel
Save