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