Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package umcsandroid.tracker;
- import android.app.Dialog;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.Window;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.io.UnsupportedEncodingException;
- import java.net.HttpURLConnection;
- import java.net.URL;
- public class LoginActivity extends AppCompatActivity {
- public static final String USER_NAME = "umcsandroid.tracker.USER_NAME";
- public static final String ROOM_NAME = "umcsandroid.tracker.ROOM_NAME";
- public static final String PASSWORD = "umcsandroid.tracker.PASSWORD";
- EditText editText;
- String roomName, userName, password;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- ((Button) findViewById(R.id.loginButton))
- .setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- editText = (EditText) findViewById(R.id.roomName);
- roomName = String.valueOf(editText.getText());
- editText = (EditText) findViewById(R.id.username);
- userName = String.valueOf(editText.getText());
- editText = (EditText) findViewById(R.id.password);
- password = String.valueOf(editText.getText());
- new WebServiceHandler()
- .execute("http://position-tracker.azurewebsites.net/api/v1/login");
- }
- });
- }
- @Override
- public void onBackPressed() {
- final Dialog dialog = new Dialog(LoginActivity.this);
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- dialog.setContentView(R.layout.close_dialog);
- TextView txt = (TextView) dialog.findViewById(R.id.close_text);
- txt.setText("Are you sure you want to close application?");
- Button button = (Button) dialog.findViewById(R.id.NoButton);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.dismiss();
- }
- });
- button = (Button) dialog.findViewById(R.id.YesButton);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- dialog.show();
- }
- public void click(View v) {
- new AlertDialog.Builder(this)
- .setMessage("Login successful !")
- .setCancelable(false)
- .setPositiveButton("Continue", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- LoginActivity.this.finish();
- }
- }).show();
- }
- private class WebServiceHandler extends AsyncTask<String, Void, String> {
- private ProgressDialog dialog = new ProgressDialog(LoginActivity.this);
- @Override
- protected void onPreExecute() {
- dialog.setMessage("Wait...");
- dialog.show();
- }
- @Override
- protected String doInBackground(String... urls) {
- HttpURLConnection urlConnection;
- JSONObject json = new JSONObject();
- String result = "";
- try {
- urlConnection = (HttpURLConnection) ((new URL(urls[0]).openConnection()));
- urlConnection.setRequestProperty("Content-Type", "application/json");
- urlConnection.setRequestProperty("Atccep", "application/json");
- urlConnection.setRequestMethod("POST");
- urlConnection.setInstanceFollowRedirects(false);
- urlConnection.connect();
- json.put("roomName", roomName);
- json.put("roomPassword", password);
- json.put("userName", userName);
- OutputStream outputStream = urlConnection.getOutputStream();
- BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
- writer.write(json.toString());
- writer.close();
- outputStream.close();
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
- String line;
- StringBuilder sb = new StringBuilder();
- while ((line = bufferedReader.readLine()) != null) {
- sb.append(line);
- }
- bufferedReader.close();
- result = sb.toString();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- return "ERROR";
- } catch (IOException e) {
- e.printStackTrace();
- return "ERROR";
- } catch (JSONException e) {
- e.printStackTrace();
- return "ERROR";
- }
- return result;
- }
- protected void onPostExecute(String result) {
- if(result.equals("ERROR")) {
- dialogShow(LoginActivity.this, result);
- }
- else {
- try {
- JSONObject jsonObject = new JSONObject(result);
- JSONObject responseData = jsonObject.getJSONObject("meta");
- int code = responseData.getInt("code");
- String message = responseData.getString("message");
- if (code == 200) {
- Toast.makeText(getBaseContext(), "Login successful !",
- Toast.LENGTH_SHORT).show();
- Intent intent = new Intent(LoginActivity.this, MapActivity.class);
- intent.putExtra(USER_NAME, userName);
- intent.putExtra(ROOM_NAME, roomName);
- intent.putExtra(PASSWORD, password);
- startActivity(intent);
- } else {
- dialogShow(LoginActivity.this, message);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- dialog.dismiss();
- }
- }
- public void dialogShow(final Context context, String message) {
- final Dialog dialog = new Dialog(LoginActivity.this);
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- dialog.setContentView(R.layout.error_dialog);
- TextView txt = (TextView) dialog.findViewById(R.id.errorText);
- txt.setText(message);
- Button dismissButton = (Button) dialog.findViewById(R.id.errorDialogButton);
- dismissButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.dismiss();
- }
- });
- dialog.show();
- }
- }
Add Comment
Please, Sign In to add comment