diff --git a/ui/src/main/java/com/wireguard/android/activity/MainActivity.java b/ui/src/main/java/com/wireguard/android/activity/MainActivity.java
index d5363ee..8be3a2a 100644
--- a/ui/src/main/java/com/wireguard/android/activity/MainActivity.java
+++ b/ui/src/main/java/com/wireguard/android/activity/MainActivity.java
@@ -26,6 +26,7 @@ public class MainActivity extends AppCompatActivity {
private ImageView mark;
private ImageButton myBubbleButton;
private ImageButton accountButton;
+ private TextView logout;
private boolean connectionStateFlag;
private static final int REQUEST_CODE_VPN_PERMISSION = 23491;
@@ -77,6 +78,7 @@ public class MainActivity extends AppCompatActivity {
titleMyBubble = findViewById(R.id.titleMyBubble);
myBubbleButton = findViewById(R.id.myBubbleButton);
accountButton = findViewById(R.id.accountButton);
+ logout = findViewById(R.id.logout);
}
private void initListeners() {
@@ -95,6 +97,11 @@ public class MainActivity extends AppCompatActivity {
showAccount();
}
});
+ logout.setOnClickListener(new OnClickListener() {
+ @Override public void onClick(final View v) {
+ logout();
+ }
+ });
}
private void showAccount() {
@@ -159,4 +166,11 @@ public class MainActivity extends AppCompatActivity {
titleMyBubble.setVisibility(View.VISIBLE);
}
}
+
+ private void logout(){
+ final Intent intent = new Intent(MainActivity.this, LoginActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ mainViewModel.removeSharedPreferences(MainActivity.this);
+ startActivity(intent);
+ }
}
diff --git a/ui/src/main/java/com/wireguard/android/repository/DataRepository.java b/ui/src/main/java/com/wireguard/android/repository/DataRepository.java
index 210b10c..2bb399b 100644
--- a/ui/src/main/java/com/wireguard/android/repository/DataRepository.java
+++ b/ui/src/main/java/com/wireguard/android/repository/DataRepository.java
@@ -475,7 +475,7 @@ public class DataRepository {
liveData.postMutableLiveData(StatusResource.error(NO_INTERNET_CONNECTION));
}
if(throwable instanceof HttpException){
- if(((HttpException) throwable).code() == 500){
+ if(((HttpException) throwable).code() == 404){
final String requestURL = ((HttpException) throwable).response().raw().request().url().toString();
final String requestMethod = ((HttpException) throwable).response().raw().request().method();
final String requestBody = bodyToString(((HttpException) throwable).response().raw().request());
@@ -499,4 +499,9 @@ public class DataRepository {
return "did not work";
}
}
+
+ public void removeSharedPreferences(Context context){
+ context.getSharedPreferences(UserStore.USER_SHARED_PREF,0).edit().clear().apply();
+ context.getSharedPreferences(TunnelStore.TUNNEL_SHARED_PREF,0).edit().clear().apply();
+ }
}
diff --git a/ui/src/main/java/com/wireguard/android/util/TunnelStore.java b/ui/src/main/java/com/wireguard/android/util/TunnelStore.java
index d57914d..9384c79 100644
--- a/ui/src/main/java/com/wireguard/android/util/TunnelStore.java
+++ b/ui/src/main/java/com/wireguard/android/util/TunnelStore.java
@@ -7,7 +7,7 @@ public class TunnelStore {
private static TunnelStore instance;
private SharedPreferences sharedPreferences;
- private static final String TUNNEL_SHARED_PREF = "com.wireguard.android.util.bubbleTunnelSharedPref";
+ public static final String TUNNEL_SHARED_PREF = "com.wireguard.android.util.bubbleTunnelSharedPref";
private static final String TUNNEL_DATA_KEY = "com.wireguard.android.util.bubbleResponse";
private static final String CONFIG_DATA_KEY = "com.wireguard.android.util.bubbleConfigResponse";
public static final String TUNNEL_DEFAULT_VALUE = "";
diff --git a/ui/src/main/java/com/wireguard/android/util/UserStore.java b/ui/src/main/java/com/wireguard/android/util/UserStore.java
index 4a45181..44c9750 100644
--- a/ui/src/main/java/com/wireguard/android/util/UserStore.java
+++ b/ui/src/main/java/com/wireguard/android/util/UserStore.java
@@ -7,7 +7,7 @@ public class UserStore {
private static UserStore instance;
private SharedPreferences sharedPreferences;
- private static final String USER_SHARED_PREF = "com.wireguard.android.util.bubbleUserSharedPref";
+ public static final String USER_SHARED_PREF = "com.wireguard.android.util.bubbleUserSharedPref";
private static final String USER_DATA_KEY = "com.wireguard.android.util.bubbleUserResponse";
private static final String DEVICE_DATA_KEY = "com.wireguard.android.util.bubbleDeviceResponse";
private static final String DEVICE_ID_KEY = "com.wireguard.android.util.bubbleDeviceIDResponse";
diff --git a/ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java b/ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java
index ec3ba8a..98a2c43 100644
--- a/ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java
+++ b/ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java
@@ -43,4 +43,8 @@ public class MainViewModel extends ViewModel {
public String getHostname(Context context){
return DataRepository.getRepositoryInstance().getHostname(context);
}
+
+ public void removeSharedPreferences(Context context){
+ DataRepository.getRepositoryInstance().removeSharedPreferences(context);
+ }
}
diff --git a/ui/src/main/res/font/roboto.ttf b/ui/src/main/res/font/roboto.ttf
new file mode 100644
index 0000000..2c97eea
Binary files /dev/null and b/ui/src/main/res/font/roboto.ttf differ
diff --git a/ui/src/main/res/layout/activity_main.xml b/ui/src/main/res/layout/activity_main.xml
index 25b30c8..aced237 100644
--- a/ui/src/main/res/layout/activity_main.xml
+++ b/ui/src/main/res/layout/activity_main.xml
@@ -10,6 +10,7 @@
+
#EC2F91
#C037C0
#4E4E4E
+ #159F97
diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml
index a1094c5..8730bc0 100644
--- a/ui/src/main/res/values/strings.xml
+++ b/ui/src/main/res/values/strings.xml
@@ -255,8 +255,9 @@
Email:
You can find your Bubble name in your email
Enter your Bubble Name
- Your private Bubble provides \n protection on this device.
+ You are safe in your Bubble!
Sorry, friends. Network not currently available.
Sadface. We have \n encountered \n an error.
CONTACT SUPPORT
+ Log out