Reviewed-on: https://git.bubblev.org/bubblev/bubble-droid/pulls/14pull/17/head
@@ -26,6 +26,7 @@ public class MainActivity extends AppCompatActivity { | |||||
private ImageView mark; | private ImageView mark; | ||||
private ImageButton myBubbleButton; | private ImageButton myBubbleButton; | ||||
private ImageButton accountButton; | private ImageButton accountButton; | ||||
private TextView logout; | |||||
private boolean connectionStateFlag; | private boolean connectionStateFlag; | ||||
private static final int REQUEST_CODE_VPN_PERMISSION = 23491; | private static final int REQUEST_CODE_VPN_PERMISSION = 23491; | ||||
@@ -77,6 +78,7 @@ public class MainActivity extends AppCompatActivity { | |||||
titleMyBubble = findViewById(R.id.titleMyBubble); | titleMyBubble = findViewById(R.id.titleMyBubble); | ||||
myBubbleButton = findViewById(R.id.myBubbleButton); | myBubbleButton = findViewById(R.id.myBubbleButton); | ||||
accountButton = findViewById(R.id.accountButton); | accountButton = findViewById(R.id.accountButton); | ||||
logout = findViewById(R.id.logout); | |||||
} | } | ||||
private void initListeners() { | private void initListeners() { | ||||
@@ -95,6 +97,11 @@ public class MainActivity extends AppCompatActivity { | |||||
showAccount(); | showAccount(); | ||||
} | } | ||||
}); | }); | ||||
logout.setOnClickListener(new OnClickListener() { | |||||
@Override public void onClick(final View v) { | |||||
logout(); | |||||
} | |||||
}); | |||||
} | } | ||||
private void showAccount() { | private void showAccount() { | ||||
@@ -159,4 +166,11 @@ public class MainActivity extends AppCompatActivity { | |||||
titleMyBubble.setVisibility(View.VISIBLE); | 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); | |||||
} | |||||
} | } |
@@ -499,4 +499,9 @@ public class DataRepository { | |||||
return "did not work"; | 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(); | |||||
} | |||||
} | } |
@@ -7,7 +7,7 @@ public class TunnelStore { | |||||
private static TunnelStore instance; | private static TunnelStore instance; | ||||
private SharedPreferences sharedPreferences; | 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 TUNNEL_DATA_KEY = "com.wireguard.android.util.bubbleResponse"; | ||||
private static final String CONFIG_DATA_KEY = "com.wireguard.android.util.bubbleConfigResponse"; | private static final String CONFIG_DATA_KEY = "com.wireguard.android.util.bubbleConfigResponse"; | ||||
public static final String TUNNEL_DEFAULT_VALUE = ""; | public static final String TUNNEL_DEFAULT_VALUE = ""; | ||||
@@ -7,7 +7,7 @@ public class UserStore { | |||||
private static UserStore instance; | private static UserStore instance; | ||||
private SharedPreferences sharedPreferences; | 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 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_DATA_KEY = "com.wireguard.android.util.bubbleDeviceResponse"; | ||||
private static final String DEVICE_ID_KEY = "com.wireguard.android.util.bubbleDeviceIDResponse"; | private static final String DEVICE_ID_KEY = "com.wireguard.android.util.bubbleDeviceIDResponse"; | ||||
@@ -43,4 +43,8 @@ public class MainViewModel extends ViewModel { | |||||
public String getHostname(Context context){ | public String getHostname(Context context){ | ||||
return DataRepository.getRepositoryInstance().getHostname(context); | return DataRepository.getRepositoryInstance().getHostname(context); | ||||
} | } | ||||
public void removeSharedPreferences(Context context){ | |||||
DataRepository.getRepositoryInstance().removeSharedPreferences(context); | |||||
} | |||||
} | } |
@@ -10,6 +10,7 @@ | |||||
<ImageView | <ImageView | ||||
android:id="@+id/union" | |||||
android:layout_width="450dp" | android:layout_width="450dp" | ||||
android:layout_height="770dp" | android:layout_height="770dp" | ||||
android:layout_marginBottom="8dp" | android:layout_marginBottom="8dp" | ||||
@@ -50,6 +51,19 @@ | |||||
app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
app:layout_constraintTop_toBottomOf="@+id/bubbleConnectionTitle" /> | 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 | <ImageView | ||||
android:id="@+id/imageMyBubble" | android:id="@+id/imageMyBubble" | ||||
@@ -43,4 +43,5 @@ | |||||
<color name="sign_in_enable_start_color">#EC2F91</color> | <color name="sign_in_enable_start_color">#EC2F91</color> | ||||
<color name="sign_in_enable_end_color">#C037C0</color> | <color name="sign_in_enable_end_color">#C037C0</color> | ||||
<color name="toast_color">#4E4E4E</color> | <color name="toast_color">#4E4E4E</color> | ||||
<color name="logout">#159F97</color> | |||||
</resources> | </resources> |
@@ -255,8 +255,9 @@ | |||||
<string name="email">Email:</string> | <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="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="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="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="error_title">Sadface. We have \n encountered \n an error.</string> | ||||
<string name="contact_support">CONTACT SUPPORT</string> | <string name="contact_support">CONTACT SUPPORT</string> | ||||
<string name="log_out">Log out</string> | |||||
</resources> | </resources> |