Browse Source

Add logout functionality.

pull/14/head
Mushegh Sahakyan 4 years ago
parent
commit
058b8a5cef
9 changed files with 43 additions and 4 deletions
  1. +14
    -0
      ui/src/main/java/com/wireguard/android/activity/MainActivity.java
  2. +6
    -1
      ui/src/main/java/com/wireguard/android/repository/DataRepository.java
  3. +1
    -1
      ui/src/main/java/com/wireguard/android/util/TunnelStore.java
  4. +1
    -1
      ui/src/main/java/com/wireguard/android/util/UserStore.java
  5. +4
    -0
      ui/src/main/java/com/wireguard/android/viewmodel/MainViewModel.java
  6. BIN
     
  7. +14
    -0
      ui/src/main/res/layout/activity_main.xml
  8. +1
    -0
      ui/src/main/res/values/colors.xml
  9. +2
    -1
      ui/src/main/res/values/strings.xml

+ 14
- 0
ui/src/main/java/com/wireguard/android/activity/MainActivity.java View File

@@ -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);
}
}

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

@@ -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();
}
}

+ 1
- 1
ui/src/main/java/com/wireguard/android/util/TunnelStore.java View File

@@ -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 = "";


+ 1
- 1
ui/src/main/java/com/wireguard/android/util/UserStore.java View File

@@ -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";


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

@@ -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);
}
}

BIN
View File


+ 14
- 0
ui/src/main/res/layout/activity_main.xml View File

@@ -10,6 +10,7 @@


<ImageView
android:id="@+id/union"
android:layout_width="450dp"
android:layout_height="770dp"
android:layout_marginBottom="8dp"
@@ -50,6 +51,19 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/bubbleConnectionTitle" />

<TextView
android:id="@+id/logout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/log_out"
android:textColor="@color/logout"
android:textSize="@dimen/text_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title" />

<ImageView
android:id="@+id/imageMyBubble"


+ 1
- 0
ui/src/main/res/values/colors.xml View File

@@ -43,4 +43,5 @@
<color name="sign_in_enable_start_color">#EC2F91</color>
<color name="sign_in_enable_end_color">#C037C0</color>
<color name="toast_color">#4E4E4E</color>
<color name="logout">#159F97</color>
</resources>

+ 2
- 1
ui/src/main/res/values/strings.xml View File

@@ -255,8 +255,9 @@
<string name="email">Email:</string>
<string name="you_can_find_your_bubble_name_in_your_email">You can find your Bubble name in your email</string>
<string name="enter_your_bubble_name">Enter your Bubble Name</string>
<string name="your_private_bubble">Your private Bubble provides \n protection on this device.</string>
<string name="your_private_bubble">You are safe in your Bubble!</string>
<string name="network_not_found">Sorry, friends. Network not currently available.</string>
<string name="error_title">Sadface. We have \n encountered \n an error.</string>
<string name="contact_support">CONTACT SUPPORT</string>
<string name="log_out">Log out</string>
</resources>

Loading…
Cancel
Save