summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/EipFragment.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/EipFragment.java37
1 files changed, 25 insertions, 12 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
index 680f21e1..2057a80b 100644
--- a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
+++ b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
@@ -23,6 +23,8 @@ import android.util.*;
import android.view.*;
import android.widget.*;
+import org.jetbrains.annotations.NotNull;
+
import java.util.*;
import butterknife.*;
@@ -80,18 +82,20 @@ public class EipFragment extends Fragment implements Observer {
Bundle arguments = getArguments();
if(arguments != null && arguments.containsKey(START_ON_BOOT) && arguments.getBoolean(START_ON_BOOT))
startEipFromScratch();
+ if(savedInstanceState != null) restoreState(savedInstanceState);
- if (savedInstanceState != null) {
- status_message.setText(savedInstanceState.getString(STATUS_MESSAGE));
- if(savedInstanceState.getBoolean(IS_PENDING))
- eip_status.setConnecting();
- else if(savedInstanceState.getBoolean(IS_CONNECTED)) {
- eip_status.setConnectedOrDisconnected();
- }
- }
return view;
}
+ private void restoreState(@NotNull Bundle savedInstanceState) {
+ if(savedInstanceState.getBoolean(IS_PENDING))
+ eip_status.setConnecting();
+ else if(savedInstanceState.getBoolean(IS_CONNECTED))
+ eip_status.setConnectedOrDisconnected();
+ else
+ status_message.setText(savedInstanceState.getString(STATUS_MESSAGE));
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -103,17 +107,19 @@ public class EipFragment extends Fragment implements Observer {
public void onSaveInstanceState(Bundle outState) {
outState.putBoolean(IS_PENDING, eip_status.isConnecting());
outState.putBoolean(IS_CONNECTED, eip_status.isConnected());
- Log.d(TAG, "status message onSaveInstanceState = " + status_message.getText().toString());
outState.putString(STATUS_MESSAGE, status_message.getText().toString());
super.onSaveInstanceState(outState);
}
protected void saveStatus() {
boolean is_on = eip_switch.isChecked();
- Log.d(TAG, "saveStatus: is_on = " + is_on);
Dashboard.preferences.edit().putBoolean(Dashboard.START_ON_BOOT, is_on).commit();
}
+ void handleNewVpnCertificate() {
+ handleSwitch(!eip_switch.isEnabled());
+ }
+
@OnCheckedChanged(R.id.eipSwitch)
void handleSwitch(boolean isChecked) {
if(isChecked)
@@ -154,7 +160,8 @@ public class EipFragment extends Fragment implements Observer {
askPendingStartCancellation();
} else if(eip_status.isConnected()) {
askToStopEIP();
- }
+ } else
+ setDisconnectedUI();
}
private void askPendingStartCancellation() {
@@ -294,16 +301,22 @@ public class EipFragment extends Fragment implements Observer {
String logmessage = eip_status.getLogMessage();
String prefix = dashboard.getString(localizedResId);
+ showProgressBar();
status_message.setText(prefix + " " + logmessage);
is_starting_to_connect = false;
adjustSwitch();
}
private void updatingCertificateUI() {
- progress_bar.setVisibility(View.VISIBLE);
+ showProgressBar();
status_message.setText(getString(R.string.updating_certificate_message));
}
+ private void showProgressBar() {
+ if(progress_bar != null)
+ progress_bar.setVisibility(View.VISIBLE);
+ }
+
private void hideProgressBar() {
if(progress_bar != null)
progress_bar.setVisibility(View.GONE);