token = GetTokenFromSession(); if (token == null){ Logout(); NavigateToAccountActivity(); } else { String userDetailsJson = GetUserDetailsFromToken(token.getToken(), MainActivity.this); AccountViewModel userDetails = DeserializeUserDetails(userDetailsJson); if (userDetails.getStatusCode() == 200){ } else { Toast messageBox = Toast.makeText(MainActivity.this , userDetails.getMessage() , Toast.LENGTH_LONG); messageBox.show(); Logout(); NavigateToAccountActivity(); } } private AccountViewModel DeserializeUserDetails(String userDetailsJson) { AccountViewModel result = new AccountViewModel(); JSONObject jsonResult = null; try { jsonResult = new JSONObject(userDetailsJson); result.setStatusCode(jsonResult.getInt("StatusCode")); result.setMessage(jsonResult.getString("Message")); if (result.getStatusCode() == 200) { result.setUserId(jsonResult.getInt("userid")); result.setUsername(jsonResult.getString("user")); result.setEmail(jsonResult.getString("email")); result.setPassword(jsonResult.getString("password")); result.setActive(jsonResult.getBoolean("isactive")); } } catch (JSONException e) { e.printStackTrace(); } return result; } private String GetUserDetailsFromToken(String token, MainActivity activity) { String result = null; try { result = new ValidToken(activity).execute(config.getValidTokenEndPoint(), token).get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } return result; } private void NavigateToAccountActivity() { Intent main = new Intent(MainActivity.this, AccountActivity.class); startActivity(main); } private void Logout() { sharedpreferences = getSharedPreferences(AccountActivity.tokenSession, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.clear(); editor.commit(); } private TokenViewModel GetTokenFromSession() { TokenViewModel result = new TokenViewModel(); sharedpreferences = getSharedPreferences(AccountActivity.tokenSession, Context.MODE_PRIVATE); result.setToken(sharedpreferences.getString(AccountActivity.tokenKey.toString(), "")); if (result.getToken() == "") return null; return result; }