summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-12-09 18:57:35 +0100
committerParménides GV <parmegv@sdf.org>2014-12-09 18:57:35 +0100
commit062e4c4597f947816282b1c9c5e63c034549f057 (patch)
treef66170fd661f658beca3f941b6ee7b097bcd842d /app/src/main/java/se/leap/bitmaskclient/Dashboard.java
parente980e1f888f29806ab0933495fdb0dd383c944e7 (diff)
Final refactoring for this bug.
Removed the sign up dialog, log in one is enough with the third button I added some time ago to sign up. Removed classes we don't need due to the libraries I have recently introduced.
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/Dashboard.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/Dashboard.java148
1 files changed, 62 insertions, 86 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
index b84b834c..c7691ed4 100644
--- a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
+++ b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
@@ -40,6 +40,8 @@ import org.json.JSONObject;
import java.net.MalformedURLException;
import java.net.URL;
+import butterknife.ButterKnife;
+import butterknife.InjectView;
import de.blinkt.openvpn.activities.LogWindow;
import se.leap.bitmaskclient.eip.Constants;
import se.leap.bitmaskclient.eip.EIP;
@@ -52,7 +54,7 @@ import se.leap.bitmaskclient.eip.EipStatus;
* @author Sean Leonard <meanderingcode@aetherislands.net>
* @author parmegv
*/
-public class Dashboard extends Activity implements LogInDialog.LogInDialogInterface, SignUpDialog.SignUpDialogInterface, ProviderAPIResultReceiver.Receiver {
+public class Dashboard extends Activity implements SessionDialog.LogInDialogInterface, ProviderAPIResultReceiver.Receiver {
protected static final int CONFIGURE_LEAP = 0;
protected static final int SWITCH_PROVIDER = 1;
@@ -70,12 +72,13 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
protected static SharedPreferences preferences;
private FragmentManagerEnhanced fragment_manager;
- private ProgressBar mProgressBar;
- private TextView status_message;
- public ProviderAPIResultReceiver providerAPI_result_receiver;
+ @InjectView(R.id.providerName)
+ TextView provider_name;
+ EipServiceFragment eip_fragment;
private Provider provider;
private static boolean authed_eip;
+ public ProviderAPIResultReceiver providerAPI_result_receiver;
@Override
protected void onSaveInstanceState(Bundle outState) {
@@ -91,8 +94,6 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
app = this;
PRNGFixes.apply();
-
- mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
preferences = getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE);
fragment_manager = new FragmentManagerEnhanced(getFragmentManager());
@@ -157,7 +158,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
}
buildDashboard(false);
invalidateOptionsMenu();
- if (data.hasExtra(LogInDialog.TAG)) {
+ if (data.hasExtra(SessionDialog.TAG)) {
logInDialog(Bundle.EMPTY);
}
} else if (resultCode == RESULT_CANCELED && data.hasExtra(ACTION_QUIT)) {
@@ -200,24 +201,21 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
* service dependent UI elements to include.
*/
private void buildDashboard(boolean hide_and_turn_on_eip) {
- setContentView(R.layout.client_dashboard);
-
- TextView providerNameTV = (TextView) findViewById(R.id.providerName);
- providerNameTV.setText(provider.getDomain());
- providerNameTV.setTextSize(28);
-
- mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
+ setContentView(R.layout.dashboard);
+ ButterKnife.inject(this);
+
+ provider_name.setText(provider.getDomain());
if ( provider.hasEIP()){
fragment_manager.removePreviousFragment(EipServiceFragment.TAG);
- EipServiceFragment eip_fragment = new EipServiceFragment();
+ eip_fragment = new EipServiceFragment();
if (hide_and_turn_on_eip) {
preferences.edit().remove(Dashboard.START_ON_BOOT).apply();
Bundle arguments = new Bundle();
arguments.putBoolean(EipServiceFragment.START_ON_BOOT, true);
- eip_fragment.setArguments(arguments);
+ if(eip_fragment != null) eip_fragment.setArguments(arguments);
}
fragment_manager.replace(R.id.servicesCollection, eip_fragment, EipServiceFragment.TAG);
@@ -279,10 +277,10 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
return true;
case R.id.switch_provider:
if (provider.hasEIP()){
- if (preferences.getBoolean(Constants.AUTHED_EIP, false)){
- logOut();
- }
- eipStop();
+ if (preferences.getBoolean(Constants.AUTHED_EIP, false)) {
+ logOut();
+ }
+ eip_fragment.stopEIP();
}
preferences.edit().clear().apply();
startActivityForResult(new Intent(this,ConfigurationWizard.class), SWITCH_PROVIDER);
@@ -302,10 +300,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
}
- private Intent prepareProviderAPICommand() {
- mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
- status_message = (TextView) findViewById(R.id.status_message);
-
+ private Intent prepareProviderAPICommand() {
providerAPI_result_receiver = new ProviderAPIResultReceiver(new Handler());
providerAPI_result_receiver.setReceiver(this);
@@ -319,12 +314,12 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
* Shows the log in dialog.
*/
public void logInDialog(Bundle resultData) {
- FragmentTransaction transaction = fragment_manager.removePreviousFragment(LogInDialog.TAG);
+ FragmentTransaction transaction = fragment_manager.removePreviousFragment(SessionDialog.TAG);
- DialogFragment newFragment = LogInDialog.newInstance();
+ DialogFragment newFragment = SessionDialog.newInstance();
if(resultData != null && !resultData.isEmpty())
newFragment.setArguments(resultData);
- newFragment.show(transaction, LogInDialog.TAG);
+ newFragment.show(transaction, SessionDialog.TAG);
}
@Override
@@ -334,12 +329,13 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
if(parameters == null)
parameters = new Bundle();
- parameters.putString(SessionDialogInterface.USERNAME, username);
- parameters.putString(SessionDialogInterface.PASSWORD, password);
-
- mProgressBar.setVisibility(ProgressBar.VISIBLE);
- status_message.setText(R.string.authenticating_message);
+ parameters.putString(SessionDialog.USERNAME, username);
+ parameters.putString(SessionDialog.PASSWORD, password);
+ if(eip_fragment != null) {
+ eip_fragment.progress_bar.setVisibility(ProgressBar.VISIBLE);
+ eip_fragment.status_message.setText(R.string.authenticating_message);
+ }
provider_API_command.putExtra(ProviderAPI.PARAMETERS, parameters);
provider_API_command.setAction(ProviderAPI.SRP_AUTH);
startService(provider_API_command);
@@ -354,12 +350,11 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
*/
public void logOut() {
Intent provider_API_command = prepareProviderAPICommand();
-
- if(mProgressBar == null) mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
- mProgressBar.setVisibility(ProgressBar.VISIBLE);
- if(status_message == null) status_message = (TextView) findViewById(R.id.status_message);
- status_message.setText(R.string.logout_message);
-
+ if(eip_fragment != null) {
+
+ eip_fragment.progress_bar.setVisibility(ProgressBar.VISIBLE);
+ eip_fragment.status_message.setText(R.string.logout_message);
+ }
provider_API_command.setAction(ProviderAPI.LOG_OUT);
startService(provider_API_command);
}
@@ -368,13 +363,13 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
* Shows the sign up dialog.
*/
public void signUpDialog(Bundle resultData) {
- FragmentTransaction transaction = fragment_manager.removePreviousFragment(SignUpDialog.TAG);
+ FragmentTransaction transaction = fragment_manager.removePreviousFragment(SessionDialog.TAG);
- DialogFragment newFragment = SignUpDialog.newInstance();
+ DialogFragment newFragment = SessionDialog.newInstance();
if(resultData != null && !resultData.isEmpty()) {
newFragment.setArguments(resultData);
}
- newFragment.show(transaction, SignUpDialog.TAG);
+ newFragment.show(transaction, SessionDialog.TAG);
}
@Override
@@ -384,12 +379,12 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
if(parameters == null)
parameters = new Bundle();
- parameters.putString(SessionDialogInterface.USERNAME, username);
- parameters.putString(SessionDialogInterface.PASSWORD, password);
-
- mProgressBar.setVisibility(ProgressBar.VISIBLE);
- status_message.setText(R.string.signingup_message);
-
+ parameters.putString(SessionDialog.USERNAME, username);
+ parameters.putString(SessionDialog.PASSWORD, password);
+ if(eip_fragment != null) {
+ eip_fragment.progress_bar.setVisibility(ProgressBar.VISIBLE);
+ eip_fragment.status_message.setText(R.string.signingup_message);
+ }
provider_API_command.putExtra(ProviderAPI.PARAMETERS, parameters);
provider_API_command.setAction(ProviderAPI.SRP_REGISTER);
startService(provider_API_command);
@@ -418,8 +413,8 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
public void onReceiveResult(int resultCode, Bundle resultData) {
Log.d(TAG, "onReceiveResult");
if(resultCode == ProviderAPI.SRP_REGISTRATION_SUCCESSFUL) {
- String username = resultData.getString(SessionDialogInterface.USERNAME);
- String password = resultData.getString(SessionDialogInterface.PASSWORD);
+ String username = resultData.getString(SessionDialog.USERNAME);
+ String password = resultData.getString(SessionDialog.PASSWORD);
logIn(username, password);
} else if(resultCode == ProviderAPI.SRP_REGISTRATION_FAILED) {
changeStatusMessage(resultCode);
@@ -477,8 +472,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
String request = resultData.getString(Constants.REQUEST_TAG);
if(request.equalsIgnoreCase(Constants.ACTION_UPDATE_EIP_SERVICE)) {
if(resultCode == Activity.RESULT_OK) {
- if(authed_eip)
- eipStart();
+ if(authed_eip && eip_fragment != null) eip_fragment.startEipFromScratch();
}
}
}
@@ -493,17 +487,16 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
protected void onReceiveResult(int resultCode, Bundle resultData){
super.onReceiveResult(resultCode, resultData);
String request = resultData.getString(Constants.REQUEST_TAG);
- if(status_message == null) status_message = (TextView) findViewById(R.id.status_message);
- if (request.equalsIgnoreCase(Constants.ACTION_IS_EIP_RUNNING)){
+ if (request.equalsIgnoreCase(Constants.ACTION_IS_EIP_RUNNING)){
if (resultCode == Activity.RESULT_OK){
switch(previous_result_code){
- case ProviderAPI.SRP_AUTHENTICATION_SUCCESSFUL: status_message.setText(R.string.succesful_authentication_message); break;
- case ProviderAPI.SRP_AUTHENTICATION_FAILED: status_message.setText(R.string.authentication_failed_message); break;
- case ProviderAPI.CORRECTLY_DOWNLOADED_CERTIFICATE: status_message.setText(R.string.authed_secured_status); break;
- case ProviderAPI.INCORRECTLY_DOWNLOADED_CERTIFICATE: status_message.setText(R.string.incorrectly_downloaded_certificate_message); break;
- case ProviderAPI.LOGOUT_SUCCESSFUL: status_message.setText(R.string.logged_out_message); break;
- case ProviderAPI.LOGOUT_FAILED: status_message.setText(R.string.log_out_failed_message); break;
+ case ProviderAPI.SRP_AUTHENTICATION_SUCCESSFUL: eip_fragment.status_message.setText(R.string.succesful_authentication_message); break;
+ case ProviderAPI.SRP_AUTHENTICATION_FAILED: eip_fragment.status_message.setText(R.string.authentication_failed_message); break;
+ case ProviderAPI.CORRECTLY_DOWNLOADED_CERTIFICATE: eip_fragment.status_message.setText(R.string.authed_secured_status); break;
+ case ProviderAPI.INCORRECTLY_DOWNLOADED_CERTIFICATE: eip_fragment.status_message.setText(R.string.incorrectly_downloaded_certificate_message); break;
+ case ProviderAPI.LOGOUT_SUCCESSFUL: eip_fragment.status_message.setText(R.string.logged_out_message); break;
+ case ProviderAPI.LOGOUT_FAILED: eip_fragment.status_message.setText(R.string.log_out_failed_message); break;
}
}
@@ -511,13 +504,13 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
switch(previous_result_code){
- case ProviderAPI.SRP_AUTHENTICATION_SUCCESSFUL: status_message.setText(R.string.succesful_authentication_message); break;
- case ProviderAPI.SRP_AUTHENTICATION_FAILED: status_message.setText(R.string.authentication_failed_message); break;
- case ProviderAPI.SRP_REGISTRATION_FAILED: status_message.setText(R.string.registration_failed_message); break;
+ case ProviderAPI.SRP_AUTHENTICATION_SUCCESSFUL: eip_fragment.status_message.setText(R.string.succesful_authentication_message); break;
+ case ProviderAPI.SRP_AUTHENTICATION_FAILED: eip_fragment.status_message.setText(R.string.authentication_failed_message); break;
+ case ProviderAPI.SRP_REGISTRATION_FAILED: eip_fragment.status_message.setText(R.string.registration_failed_message); break;
case ProviderAPI.CORRECTLY_DOWNLOADED_CERTIFICATE: break;
- case ProviderAPI.INCORRECTLY_DOWNLOADED_CERTIFICATE: status_message.setText(R.string.incorrectly_downloaded_certificate_message); break;
- case ProviderAPI.LOGOUT_SUCCESSFUL: status_message.setText(R.string.logged_out_message); break;
- case ProviderAPI.LOGOUT_FAILED: status_message.setText(R.string.log_out_failed_message); break;
+ case ProviderAPI.INCORRECTLY_DOWNLOADED_CERTIFICATE: eip_fragment.status_message.setText(R.string.incorrectly_downloaded_certificate_message); break;
+ case ProviderAPI.LOGOUT_SUCCESSFUL: eip_fragment.status_message.setText(R.string.logged_out_message); break;
+ case ProviderAPI.LOGOUT_FAILED: eip_fragment.status_message.setText(R.string.log_out_failed_message); break;
}
}
}
@@ -528,11 +521,10 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
}
private void hideProgressBar() {
- if(mProgressBar == null)
- mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
-
- mProgressBar.setProgress(0);
- mProgressBar.setVisibility(ProgressBar.GONE);
+ if(eip_fragment != null) {
+ eip_fragment.progress_bar.setProgress(0);
+ eip_fragment.progress_bar.setVisibility(ProgressBar.GONE);
+ }
}
/**
@@ -559,20 +551,4 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
eip_intent.putExtra(Constants.RECEIVER_TAG, eip_receiver);
startService(eip_intent);
}
-
- private void eipStop(){
- EipServiceFragment eipFragment = (EipServiceFragment) getFragmentManager().findFragmentByTag(EipServiceFragment.TAG);
- eipFragment.stopEIP();
- }
-
- private void eipStart() {
- EipServiceFragment eipFragment = (EipServiceFragment) getFragmentManager().findFragmentByTag(EipServiceFragment.TAG);
- eipFragment.startEipFromScratch();
- }
-
- protected void showProgressBar() {
- if(mProgressBar == null)
- mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
- mProgressBar.setVisibility(ProgressBar.VISIBLE);
- }
}