Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package operations.jam.jamdetector;
- import android.app.Fragment;
- import android.app.FragmentManager;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.ContextWrapper;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.AsyncTask;
- import android.support.v4.app.FragmentActivity;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.loopj.android.http.RequestParams;
- public class MainActivity extends AppCompatActivity {
- private Button loginButton;
- private EditText username;
- private EditText password;
- private TextView registerLabel, closeLabel;
- private ProgressDialog progressDialog;
- private Intent myIntent;
- private Context ctx;
- private String loginMessage;
- private SoapWSHandler soapWSHandler;
- public SessionIDGenerator sessionIDGenerator;
- public int sessionID;
- public static final String PREFERENCES_NAME = "MARKO_PREFERENCES";
- public static final String USERNAME = "USERNAME";
- public static final String SESSION_ID = "SESSION_ID";
- SharedPreferences preferences;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- loginButton = (Button) findViewById(R.id.login_button);
- username = (EditText) findViewById(R.id.login_username);
- password = (EditText) findViewById(R.id.login_password);
- registerLabel = (TextView) findViewById(R.id.register_label);
- closeLabel = (TextView) findViewById(R.id.close_label);
- progressDialog = new ProgressDialog(this);
- soapWSHandler = new SoapWSHandler();
- ctx = new ContextWrapper(getApplicationContext());
- preferences = getApplicationContext().getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
- sessionIDGenerator = new SessionIDGenerator();
- loginButton.setOnClickListener(loginClickListener);
- registerLabel.setOnClickListener(registerSwitch);
- closeLabel.setOnClickListener(exitListener);
- progressDialog.setMessage("LOGIN PROCESS");
- }
- @Override
- protected void onDestroy() {
- android.os.Process.killProcess(android.os.Process.myPid());
- super.onDestroy();
- }
- private View.OnClickListener loginClickListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- LoginTask loginTask = new LoginTask();
- loginTask.execute(String.valueOf(username.getText()), String.valueOf(password.getText()));
- }
- };
- private View.OnClickListener registerSwitch = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- switchToRegisterForm();
- }
- };
- private View.OnClickListener exitListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- };
- public void switchToRegisterForm() {
- myIntent = new Intent(this, RegisterActivity.class);
- startActivity(myIntent);
- }
- public void switchToMapActivity() {
- myIntent = new Intent(this, MapActivity.class);
- startActivity(myIntent);
- }
- public void sessionCreator(SharedPreferences preferences, String username, int sessionID) {
- SharedPreferences.Editor editor = preferences.edit();
- editor.putString(USERNAME, username);
- editor.putInt(SESSION_ID, sessionID);
- editor.commit();
- }
- public class LoginTask extends AsyncTask<String, Integer, String> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- progressDialog.setIndeterminate(true);
- progressDialog.setCancelable(true);
- progressDialog.show();
- }
- @Override
- protected String doInBackground(String... params) {
- if (NetworkStatus.getNetworkStatus(ctx).isConnected()) {
- if (soapWSHandler.sendUserLoginData(params[0], params[1])) {
- sessionID = sessionIDGenerator.generateNewSessionId();
- sessionCreator(preferences, params[0], sessionID);
- switchToMapActivity();
- } else
- loginMessage = "Wrong username or password";
- } else {
- UserOperations userOperations = new UserOperations(ctx);
- long count = userOperations.searchUserLocal(params[0], params[1]);
- if (count > 0) {
- loginMessage = null;
- sessionID = sessionIDGenerator.generateNewSessionId();
- sessionCreator(preferences, params[0], sessionID);
- switchToMapActivity();
- } else
- loginMessage = "Wrong username or password";
- }
- return null;
- }
- @Override
- protected void onPostExecute(String result) {
- progressDialog.dismiss();
- if (loginMessage != null) {
- Toast.makeText(getApplicationContext(), loginMessage, Toast.LENGTH_LONG).show();
- loginMessage = null;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment