Guest User

Untitled

a guest
Jun 12th, 2017
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.53 KB | None | 0 0
  1. package operations.jam.jamdetector;
  2.  
  3. import android.app.Fragment;
  4. import android.app.FragmentManager;
  5. import android.app.ProgressDialog;
  6. import android.content.Context;
  7. import android.content.ContextWrapper;
  8. import android.content.DialogInterface;
  9. import android.content.Intent;
  10. import android.content.SharedPreferences;
  11. import android.os.AsyncTask;
  12. import android.support.v4.app.FragmentActivity;
  13. import android.support.v7.app.AppCompatActivity;
  14. import android.os.Bundle;
  15. import android.view.View;
  16. import android.widget.Button;
  17. import android.widget.EditText;
  18. import android.widget.ProgressBar;
  19. import android.widget.TextView;
  20. import android.widget.Toast;
  21.  
  22. import com.loopj.android.http.RequestParams;
  23.  
  24. public class MainActivity extends AppCompatActivity {
  25.  
  26.     private Button loginButton;
  27.     private EditText username;
  28.     private EditText password;
  29.     private TextView registerLabel, closeLabel;
  30.     private ProgressDialog progressDialog;
  31.     private Intent myIntent;
  32.     private Context ctx;
  33.     private String loginMessage;
  34.     private SoapWSHandler soapWSHandler;
  35.     public SessionIDGenerator sessionIDGenerator;
  36.     public int sessionID;
  37.  
  38.     public static final String PREFERENCES_NAME = "MARKO_PREFERENCES";
  39.     public static final String USERNAME = "USERNAME";
  40.     public static final String SESSION_ID = "SESSION_ID";
  41.  
  42.     SharedPreferences preferences;
  43.  
  44.     @Override
  45.     protected void onCreate(Bundle savedInstanceState) {
  46.         super.onCreate(savedInstanceState);
  47.         setContentView(R.layout.activity_main);
  48.  
  49.         loginButton = (Button) findViewById(R.id.login_button);
  50.         username = (EditText) findViewById(R.id.login_username);
  51.         password = (EditText) findViewById(R.id.login_password);
  52.         registerLabel = (TextView) findViewById(R.id.register_label);
  53.         closeLabel = (TextView) findViewById(R.id.close_label);
  54.         progressDialog = new ProgressDialog(this);
  55.  
  56.         soapWSHandler = new SoapWSHandler();
  57.         ctx = new ContextWrapper(getApplicationContext());
  58.         preferences = getApplicationContext().getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
  59.         sessionIDGenerator = new SessionIDGenerator();
  60.  
  61.         loginButton.setOnClickListener(loginClickListener);
  62.         registerLabel.setOnClickListener(registerSwitch);
  63.         closeLabel.setOnClickListener(exitListener);
  64.         progressDialog.setMessage("LOGIN PROCESS");
  65.  
  66.     }
  67.  
  68.     @Override
  69.     protected void onDestroy() {
  70.         android.os.Process.killProcess(android.os.Process.myPid());
  71.         super.onDestroy();
  72.  
  73.     }
  74.  
  75.     private View.OnClickListener loginClickListener = new View.OnClickListener() {
  76.  
  77.         @Override
  78.         public void onClick(View v) {
  79.             LoginTask loginTask = new LoginTask();
  80.             loginTask.execute(String.valueOf(username.getText()), String.valueOf(password.getText()));
  81.         }
  82.     };
  83.  
  84.     private View.OnClickListener registerSwitch = new View.OnClickListener() {
  85.  
  86.         @Override
  87.         public void onClick(View v) {
  88.             switchToRegisterForm();
  89.         }
  90.     };
  91.  
  92.     private View.OnClickListener exitListener = new View.OnClickListener() {
  93.  
  94.         @Override
  95.         public void onClick(View v) {
  96.             finish();
  97.         }
  98.     };
  99.  
  100.  
  101.     public void switchToRegisterForm() {
  102.         myIntent = new Intent(this, RegisterActivity.class);
  103.         startActivity(myIntent);
  104.     }
  105.  
  106.     public void switchToMapActivity() {
  107.         myIntent = new Intent(this, MapActivity.class);
  108.         startActivity(myIntent);
  109.     }
  110.  
  111.     public void sessionCreator(SharedPreferences preferences, String username, int sessionID) {
  112.         SharedPreferences.Editor editor = preferences.edit();
  113.         editor.putString(USERNAME, username);
  114.         editor.putInt(SESSION_ID, sessionID);
  115.         editor.commit();
  116.     }
  117.  
  118.     public class LoginTask extends AsyncTask<String, Integer, String> {
  119.  
  120.         @Override
  121.         protected  void onPreExecute() {
  122.             super.onPreExecute();
  123.             progressDialog.setIndeterminate(true);
  124.             progressDialog.setCancelable(true);
  125.             progressDialog.show();
  126.         }
  127.  
  128.         @Override
  129.         protected String doInBackground(String... params) {
  130.             if (NetworkStatus.getNetworkStatus(ctx).isConnected()) {
  131.                 if (soapWSHandler.sendUserLoginData(params[0], params[1])) {
  132.                     sessionID = sessionIDGenerator.generateNewSessionId();
  133.                     sessionCreator(preferences, params[0], sessionID);
  134.                     switchToMapActivity();
  135.                 } else
  136.                     loginMessage = "Wrong username or password";
  137.             } else {
  138.                 UserOperations userOperations = new UserOperations(ctx);
  139.                 long count = userOperations.searchUserLocal(params[0], params[1]);
  140.                 if (count > 0) {
  141.                     loginMessage = null;
  142.                     sessionID = sessionIDGenerator.generateNewSessionId();
  143.                     sessionCreator(preferences, params[0], sessionID);
  144.                     switchToMapActivity();
  145.                 } else
  146.                     loginMessage = "Wrong username or password";
  147.             }
  148.             return null;
  149.         }
  150.  
  151.         @Override
  152.         protected void onPostExecute(String result) {
  153.             progressDialog.dismiss();
  154.             if (loginMessage != null) {
  155.                 Toast.makeText(getApplicationContext(), loginMessage, Toast.LENGTH_LONG).show();
  156.                 loginMessage = null;
  157.             }
  158.         }
  159.     }
  160. }
Add Comment
Please, Sign In to add comment