Browse Source

Refactor code.

pull/8/head
Mushegh Sahakyan 4 years ago
parent
commit
e7aef377d0
4 changed files with 35 additions and 13 deletions
  1. +1
    -1
      ui/src/main/java/com/wireguard/android/activity/LoginActivity.java
  2. +6
    -11
      ui/src/main/java/com/wireguard/android/activity/MainActivity.java
  3. +23
    -1
      ui/src/main/java/com/wireguard/android/repository/DataRepository.java
  4. +5
    -0
      ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java

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

@@ -48,7 +48,7 @@ public class LoginActivity extends BaseActivityBubble {
@Override public void onClick(final View v) {
final String url = BASE_URL_PREFIX + bubbleName.getText().toString() + BASE_URL_SUFFIX;
if(url.split(SEPARATOR).length!=3){
Toast.makeText(LoginActivity.this,"Bubble name is not valid",Toast.LENGTH_LONG).show();
Toast.makeText(LoginActivity.this,"Hostname not valid",Toast.LENGTH_LONG).show();
return;
}
if(DataRepository.getRepositoryInstance()==null) {


+ 6
- 11
ui/src/main/java/com/wireguard/android/activity/MainActivity.java View File

@@ -2,6 +2,7 @@ package com.wireguard.android.activity;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import android.content.Intent;
import android.os.Bundle;
@@ -43,10 +44,7 @@ public class MainActivity extends AppCompatActivity {
}
initUI();
mainViewModel.buildRepositoryInstance(this,mainViewModel.getUserURL(this));
tunnel = mainViewModel.getTunnelManager().getLastUsedTunnel();
if(tunnel == null) {
tunnel = mainViewModel.getTunnel(this, connectionStateFlag);
}
tunnel = mainViewModel.getTunnel(this,connectionStateFlag);
}

@Override protected void onResume() {
@@ -86,13 +84,10 @@ public class MainActivity extends AppCompatActivity {
}

private void connect() {
mainViewModel.getTunnelManager().getTunnelState(pendingTunnel).whenComplete((state, throwable) -> {
if (state == State.DOWN) {
connectionStateFlag = true;
setTunnelState(true);
} else if (state == State.UP) {
setTunnelState(false);
connectionStateFlag = false;
mainViewModel.getTunnelState(pendingTunnel).observe(this, new Observer<Boolean>() {
@Override public void onChanged(final Boolean state) {
connectionStateFlag = state;
setTunnelState(state);
}
});
}


+ 23
- 1
ui/src/main/java/com/wireguard/android/repository/DataRepository.java View File

@@ -321,7 +321,7 @@ public class DataRepository {
return tunnelManager;
}

public ObservableTunnel getTunnel(final Context context, final boolean stateTunnel){
public ObservableTunnel createTunnel(final Context context, final boolean stateTunnel){
//TODO implement config is null case
Config config = null;
try {
@@ -344,4 +344,26 @@ public class DataRepository {
public void setUserURL(Context context, String url){
UserStore.getInstance(context).setUserURL(url);
}

public ObservableTunnel getTunnel(Context context, boolean connectionStateFlag)
{
ObservableTunnel tunnel = tunnelManager.getLastUsedTunnel();
if(tunnel == null) {
tunnel = createTunnel(context, connectionStateFlag);
}
return tunnel;
}

public MutableLiveData<Boolean> getTunnelState(ObservableTunnel pendingTunnel)
{
MutableLiveData<Boolean> liveData = new MutableLiveData<>();
tunnelManager.getTunnelState(pendingTunnel).whenComplete((state, throwable) -> {
if (state == State.DOWN) {
liveData.postValue(true);
} else if (state == State.UP) {
liveData.postValue(false);
}
});
return liveData;
}
}

+ 5
- 0
ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java View File

@@ -8,6 +8,7 @@ import com.wireguard.android.repository.DataRepository;
import com.wireguard.android.util.TunnelStore;
import com.wireguard.android.util.UserStore;

import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;

public class MainViewModel extends ViewModel {
@@ -30,4 +31,8 @@ public class MainViewModel extends ViewModel {
public String getUserURL(Context context){
return UserStore.getInstance(context).getUserURL();
}

public MutableLiveData<Boolean> getTunnelState(ObservableTunnel pendingTunnel){
return DataRepository.getRepositoryInstance().getTunnelState(pendingTunnel);
}
}

Loading…
Cancel
Save