diff options
author | Parménides GV <parmegv@sdf.org> | 2015-01-19 16:31:59 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-01-19 16:31:59 +0100 |
commit | 1e748855652780d225fd113320ffe1bceca5ba8e (patch) | |
tree | a0b257591ef9f3b4c662165c20ffad120fcdeba1 /app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java | |
parent | fab7a89f44d59f3c7ea7505ae05a3c8b4c67c0b8 (diff) | |
parent | 45cf8b1cc3085a575c5a460eb7d8191ee6033da4 (diff) |
Merge branch 'develop'
Diffstat (limited to 'app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java')
-rw-r--r-- | app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java | 71 |
1 files changed, 46 insertions, 25 deletions
diff --git a/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java b/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java index ce13d322..1dbe11d3 100644 --- a/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java +++ b/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java @@ -187,7 +187,7 @@ public class ProviderAPI extends IntentService { if(validUserLoginData(username, password)) { session_id_bundle = register(username, password); - broadcast_progress(progress++); + broadcastProgress(progress++); } else { if(!wellFormedPassword(password)) { session_id_bundle.putBoolean(RESULT_KEY, false); @@ -232,18 +232,18 @@ public class ProviderAPI extends IntentService { Bundle result = new Bundle(); int progress = 0; - String username = (String) task.get(SessionDialog.USERNAME); - String password = (String) task.get(SessionDialog.PASSWORD); + String username = task.getString(SessionDialog.USERNAME); + String password = task.getString(SessionDialog.PASSWORD); if(validUserLoginData(username, password)) { result = authenticate(username, password); - broadcast_progress(progress++); + broadcastProgress(progress++); } else { if(!wellFormedPassword(password)) { result.putBoolean(RESULT_KEY, false); result.putString(SessionDialog.USERNAME, username); result.putBoolean(SessionDialog.PASSWORD_INVALID_LENGTH, true); } - if(username.isEmpty()) { + if(!validUsername(username)) { result.putBoolean(RESULT_KEY, false); result.putBoolean(SessionDialog.USERNAME_MISSING, true); } @@ -317,7 +317,7 @@ public class ProviderAPI extends IntentService { * and sends it as a broadcast. * @param progress */ - private void broadcast_progress(int progress) { + private void broadcastProgress(int progress) { Intent intentUpdate = new Intent(); intentUpdate.setAction(UPDATE_PROGRESSBAR); intentUpdate.addCategory(Intent.CATEGORY_DEFAULT); @@ -327,21 +327,25 @@ public class ProviderAPI extends IntentService { /** * Validates parameters entered by the user to log in - * @param entered_username - * @param entered_password + * @param username + * @param password * @return true if both parameters are present and the entered password length is greater or equal to eight (8). */ - private boolean validUserLoginData(String entered_username, String entered_password) { - return !(entered_username.isEmpty()) && wellFormedPassword(entered_password); + private boolean validUserLoginData(String username, String password) { + return validUsername(username) && wellFormedPassword(password); } + private boolean validUsername(String username) { + return username != null && !username.isEmpty(); + } + /** * Validates a password - * @param entered_password + * @param password * @return true if the entered password length is greater or equal to eight (8). */ - private boolean wellFormedPassword(String entered_password) { - return entered_password.length() >= 8; + private boolean wellFormedPassword(String password) { + return password != null && password.length() >= 8; } /** @@ -503,16 +507,16 @@ public class ProviderAPI extends IntentService { if(!PROVIDER_JSON_DOWNLOADED) current_download = getAndSetProviderJson(last_provider_main_url, last_danger_on); if(PROVIDER_JSON_DOWNLOADED || (current_download.containsKey(RESULT_KEY) && current_download.getBoolean(RESULT_KEY))) { - broadcast_progress(progress++); + broadcastProgress(progress++); PROVIDER_JSON_DOWNLOADED = true; current_download = downloadCACert(last_danger_on); if(CA_CERT_DOWNLOADED || (current_download.containsKey(RESULT_KEY) && current_download.getBoolean(RESULT_KEY))) { - broadcast_progress(progress++); + broadcastProgress(progress++); CA_CERT_DOWNLOADED = true; current_download = getAndSetEipServiceJson(); if(current_download.containsKey(RESULT_KEY) && current_download.getBoolean(RESULT_KEY)) { - broadcast_progress(progress++); + broadcastProgress(progress++); EIP_SERVICE_JSON_DOWNLOADED = true; } } @@ -826,21 +830,24 @@ public class ProviderAPI extends IntentService { return string; } - /** - * Logs out from the api url retrieved from the task. - * @return true if there were no exceptions - */ + /** + * Logs out from the api url retrieved from the task. + * @return true if there were no exceptions + */ private boolean logOut() { + String delete_url = provider_api_url + "/logout"; + + HttpsURLConnection urlConnection = null; + int responseCode = 0; + int progress = 0; try { - String delete_url = provider_api_url + "/logout"; - int progress = 0; - HttpsURLConnection urlConnection = (HttpsURLConnection)new URL(delete_url).openConnection(); + urlConnection = (HttpsURLConnection)new URL(delete_url).openConnection(); urlConnection.setRequestMethod("DELETE"); urlConnection.setSSLSocketFactory(getProviderSSLSocketFactory()); - int responseCode = urlConnection.getResponseCode(); - broadcast_progress(progress++); + responseCode = urlConnection.getResponseCode(); + broadcastProgress(progress++); LeapSRPSession.setToken(""); Log.d(TAG, Integer.toString(responseCode)); } catch (ClientProtocolException e) { @@ -853,6 +860,20 @@ public class ProviderAPI extends IntentService { return false; } catch (IOException e) { // TODO Auto-generated catch block + try { + if(urlConnection != null) { + responseCode = urlConnection.getResponseCode(); + if(responseCode == 401) { + broadcastProgress(progress++); + LeapSRPSession.setToken(""); + Log.d(TAG, Integer.toString(responseCode)); + return true; + } + } + } catch (IOException e1) { + e1.printStackTrace(); + } + e.printStackTrace(); return false; } catch (KeyManagementException e) { |