diff options
author | Parménides GV <parmegv@sdf.org> | 2015-03-27 13:41:23 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-03-27 13:41:23 +0100 |
commit | 88fd90e85c8aa584520ad67978e1ed4c419e2fd9 (patch) | |
tree | 4f559d0e698d3365cfcaafdb488101dee3ffcd8d /app/src/main/java/se/leap/bitmaskclient/EipFragment.java | |
parent | ea748b512ecb4eaff6ad7e212d9356a1caf7ed98 (diff) | |
parent | 8cd10bcac50a7e76085d5d7384dc8910a80e44c6 (diff) |
Merge branch 'develop' into release-0.9.3
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/EipFragment.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/EipFragment.java | 162 |
1 files changed, 77 insertions, 85 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java index 5e5b76b2..02eedd77 100644 --- a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java @@ -23,7 +23,7 @@ import android.util.*; import android.view.*; import android.widget.*; -import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.*; import java.util.*; @@ -53,7 +53,6 @@ public class EipFragment extends Fragment implements Observer { private boolean is_starting_to_connect; private boolean wants_to_connect; - @Override public void onAttach(Activity activity) { super.onAttach(activity); @@ -77,20 +76,18 @@ public class EipFragment extends Fragment implements Observer { if (eip_status.isConnecting()) eip_switch.setVisibility(View.VISIBLE); - Log.d(TAG, "onCreateView, eip_switch is checked? " + eip_switch.isChecked()); - Bundle arguments = getArguments(); - if(arguments != null && arguments.containsKey(START_ON_BOOT) && arguments.getBoolean(START_ON_BOOT)) + if (arguments != null && arguments.containsKey(START_ON_BOOT) && arguments.getBoolean(START_ON_BOOT)) startEipFromScratch(); - if(savedInstanceState != null) restoreState(savedInstanceState); + if (savedInstanceState != null) restoreState(savedInstanceState); return view; } private void restoreState(@NotNull Bundle savedInstanceState) { - if(savedInstanceState.getBoolean(IS_PENDING)) + if (savedInstanceState.getBoolean(IS_PENDING)) eip_status.setConnecting(); - else if(savedInstanceState.getBoolean(IS_CONNECTED)) + else if (savedInstanceState.getBoolean(IS_CONNECTED)) eip_status.setConnectedOrDisconnected(); else status_message.setText(savedInstanceState.getString(STATUS_MESSAGE)); @@ -122,7 +119,7 @@ public class EipFragment extends Fragment implements Observer { @OnCheckedChanged(R.id.eipSwitch) void handleSwitch(boolean isChecked) { - if(isChecked) + if (isChecked) handleSwitchOn(); else handleSwitchOff(); @@ -131,9 +128,9 @@ public class EipFragment extends Fragment implements Observer { } private void handleSwitchOn() { - if(canStartEIP()) + if (canStartEIP()) startEipFromScratch(); - else if(canLogInToStartEIP()) { + else if (canLogInToStartEIP()) { wants_to_connect = true; Bundle bundle = new Bundle(); bundle.putBoolean(IS_PENDING, true); @@ -150,15 +147,13 @@ public class EipFragment extends Fragment implements Observer { private boolean canLogInToStartEIP() { boolean isAllowedRegistered = Dashboard.preferences.getBoolean(Constants.ALLOWED_REGISTERED, false); boolean isLoggedIn = !LeapSRPSession.getToken().isEmpty(); - Log.d(TAG, "Allow registered? " + isAllowedRegistered); - Log.d(TAG, "Is logged in? " + isLoggedIn); return isAllowedRegistered && !isLoggedIn && !eip_status.isConnecting() && !eip_status.isConnected(); } private void handleSwitchOff() { - if(eip_status.isConnecting()) { + if (eip_status.isConnecting()) { askPendingStartCancellation(); - } else if(eip_status.isConnected()) { + } else if (eip_status.isConnected()) { askToStopEIP(); } else setDisconnectedUI(); @@ -191,7 +186,7 @@ public class EipFragment extends Fragment implements Observer { String status = dashboard.getString(R.string.eip_status_start_pending); status_message.setText(status); - if(!eip_switch.isChecked()) { + if (!eip_switch.isChecked()) { eip_switch.setChecked(true); } saveStatus(); @@ -199,7 +194,7 @@ public class EipFragment extends Fragment implements Observer { } private void stop() { - if(eip_status.isConnecting()) + if (eip_status.isConnecting()) VoidVpnService.stop(); disconnect(); } @@ -246,10 +241,10 @@ public class EipFragment extends Fragment implements Observer { /** * Send a command to EIP * - * @param action A valid String constant from EIP class representing an Intent - * filter for the EIP class + * @param action A valid String constant from EIP class representing an Intent + * filter for the EIP class */ - private void eipCommand(String action){ + private void eipCommand(String action) { // TODO validate "action"...how do we get the list of intent-filters for a class via Android API? Intent vpn_intent = new Intent(dashboard.getApplicationContext(), EIP.class); vpn_intent.setAction(action); @@ -258,8 +253,8 @@ public class EipFragment extends Fragment implements Observer { } @Override - public void update (Observable observable, Object data) { - if(observable instanceof EipStatus) { + public void update(Observable observable, Object data) { + if (observable instanceof EipStatus) { eip_status = (EipStatus) observable; final EipStatus eip_status = (EipStatus) observable; dashboard.runOnUiThread(new Runnable() { @@ -272,9 +267,9 @@ public class EipFragment extends Fragment implements Observer { } private void handleNewState(EipStatus eip_status) { - if(eip_status.wantsToDisconnect()) + if (eip_status.wantsToDisconnect()) setDisconnectedUI(); - else if(eip_status.isConnecting() || is_starting_to_connect) + else if (eip_status.isConnecting() || is_starting_to_connect) setInProgressUI(eip_status); else if (eip_status.isConnected()) setConnectedUI(); @@ -284,33 +279,30 @@ public class EipFragment extends Fragment implements Observer { private void setConnectedUI() { hideProgressBar(); - Log.d(TAG, "setConnectedUi? " + eip_status.isConnected()); adjustSwitch(); is_starting_to_connect = false; status_message.setText(dashboard.getString(R.string.eip_state_connected)); } - private void setDisconnectedUI(){ + private void setDisconnectedUI() { hideProgressBar(); adjustSwitch(); - String last_log_message = eip_status.getLastLogMessage(dashboard.getApplicationContext()); - if((last_log_message.contains("error") || last_log_message.contains("ERROR")) - && !status_message.getText().toString().equalsIgnoreCase(dashboard.getString(R.string.eip_state_not_connected))){ + if (eip_status.errorInLast(5, dashboard.getApplicationContext()) + && !status_message.getText().toString().equalsIgnoreCase(dashboard.getString(R.string.eip_state_not_connected))) { dashboard.showLog(); + VoidVpnService.stop(); } status_message.setText(dashboard.getString(R.string.eip_state_not_connected)); } private void adjustSwitch() { - if(eip_status.isConnected() || eip_status.isConnecting() || is_starting_to_connect) { - Log.d(TAG, "adjustSwitch, isConnected || isConnecting, is checked"); - if(!eip_switch.isChecked()) { + if (eip_status.isConnected() || eip_status.isConnecting() || is_starting_to_connect) { + if (!eip_switch.isChecked()) { eip_switch.setChecked(true); } } else { - Log.d(TAG, "adjustSwitch, !isConnected && !isConnecting? " + eip_status.toString()); - if(eip_switch.isChecked()) { + if (eip_switch.isChecked()) { eip_switch.setChecked(false); } } @@ -333,72 +325,72 @@ public class EipFragment extends Fragment implements Observer { } private void showProgressBar() { - if(progress_bar != null) + if (progress_bar != null) progress_bar.setVisibility(View.VISIBLE); } private void hideProgressBar() { - if(progress_bar != null) + if (progress_bar != null) progress_bar.setVisibility(View.GONE); } -protected class EIPReceiver extends ResultReceiver { + protected class EIPReceiver extends ResultReceiver { - protected EIPReceiver(Handler handler){ - super(handler); - } + protected EIPReceiver(Handler handler) { + super(handler); + } - @Override - protected void onReceiveResult(int resultCode, Bundle resultData) { - super.onReceiveResult(resultCode, resultData); + @Override + protected void onReceiveResult(int resultCode, Bundle resultData) { + super.onReceiveResult(resultCode, resultData); - String request = resultData.getString(Constants.REQUEST_TAG); + String request = resultData.getString(Constants.REQUEST_TAG); - if (request.equals(Constants.ACTION_START_EIP)) { - switch (resultCode){ - case Activity.RESULT_OK: - break; - case Activity.RESULT_CANCELED: + if (request.equals(Constants.ACTION_START_EIP)) { + switch (resultCode) { + case Activity.RESULT_OK: + break; + case Activity.RESULT_CANCELED: - break; - } - } else if (request.equals(Constants.ACTION_STOP_EIP)) { - switch (resultCode){ - case Activity.RESULT_OK: - stop(); - break; - case Activity.RESULT_CANCELED: - break; - } - } else if (request.equals(Constants.EIP_NOTIFICATION)) { - switch (resultCode){ - case Activity.RESULT_OK: - break; - case Activity.RESULT_CANCELED: - break; - } - } else if (request.equals(Constants.ACTION_CHECK_CERT_VALIDITY)) { - switch (resultCode) { - case Activity.RESULT_OK: - break; - case Activity.RESULT_CANCELED: - updatingCertificateUI(); - dashboard.downloadVpnCertificate(); - break; - } - } else if (request.equals(Constants.ACTION_UPDATE_EIP_SERVICE)) { - switch (resultCode) { - case Activity.RESULT_OK: - if(wants_to_connect) - startEipFromScratch(); - break; - case Activity.RESULT_CANCELED: - handleNewState(eip_status); - break; + break; + } + } else if (request.equals(Constants.ACTION_STOP_EIP)) { + switch (resultCode) { + case Activity.RESULT_OK: + stop(); + break; + case Activity.RESULT_CANCELED: + break; + } + } else if (request.equals(Constants.EIP_NOTIFICATION)) { + switch (resultCode) { + case Activity.RESULT_OK: + break; + case Activity.RESULT_CANCELED: + break; + } + } else if (request.equals(Constants.ACTION_CHECK_CERT_VALIDITY)) { + switch (resultCode) { + case Activity.RESULT_OK: + break; + case Activity.RESULT_CANCELED: + updatingCertificateUI(); + dashboard.downloadVpnCertificate(); + break; + } + } else if (request.equals(Constants.ACTION_UPDATE_EIP_SERVICE)) { + switch (resultCode) { + case Activity.RESULT_OK: + if (wants_to_connect) + startEipFromScratch(); + break; + case Activity.RESULT_CANCELED: + handleNewState(eip_status); + break; + } } } } -} public static EIPReceiver getReceiver() { |