Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package validate.com;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.ActionBarActivity;
- import android.text.Spannable;
- import android.text.Spanned;
- import android.text.method.HideReturnsTransformationMethod;
- import android.text.method.LinkMovementMethod;
- import android.text.method.PasswordTransformationMethod;
- import android.text.style.ClickableSpan;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.ViewGroup;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.andreabaccega.formedittextvalidator.EmailValidator;
- import com.andreabaccega.formedittextvalidator.OrValidator;
- import com.andreabaccega.widget.FormEditText;
- import com.dd.processbutton.iml.ActionProcessButton;
- import com.facebook.CallbackManager;
- import com.facebook.FacebookCallback;
- import com.facebook.FacebookException;
- import com.facebook.FacebookSdk;
- import com.facebook.login.LoginResult;
- import com.facebook.login.widget.LoginButton;
- import com.validate.R;
- import org.apache.http.NameValuePair;
- import org.apache.http.message.BasicNameValuePair;
- import org.json.JSONArray;
- import org.json.JSONException;
- 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;
- import java.net.URLEncoder;
- import java.util.ArrayList;
- import java.util.List;
- import validate.com.Customer.CustomerMainActivity;
- import validate.com.WebService_API.API;
- import validate.com.WebService_API.AlertManger;
- import validate.com.WebService_API.AppStaticMembers;
- import validate.com.WebService_API.ConnectionExecutor.HTTPResponse;
- import validate.com.WebService_API.ConnectionExecutor.ResponseType;
- import validate.com.WebService_API.ConnectionExecutor.onHttpRequestListener;
- import validate.com.WebService_API.JsonParser;
- import validate.com.classes.User;
- public class LoginActivity extends ActionBarActivity implements OnClickListener {
- private static final String TAG = "login_activity";
- Button signup, showpass;
- FormEditText email, password;
- ActionProcessButton sign_in;
- TextView terms_textview, singup_tv;
- private CallbackManager mCallbackManager;
- private LoginButton mLoginButton;
- private String Token = null;
- private CheckBox Remember_toggle;
- private API api;
- private ProgressDialog progress;
- private boolean remember_me = false;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- FacebookSdk.sdkInitialize(getApplicationContext());
- setContentView(R.layout.activity_login);
- init();
- }
- private void init() {
- api = new API(LoginActivity.this);
- progress = new ProgressDialog(this);
- progress.setCancelable(false);
- progress.setMessage(getResources().getString(R.string.Loading));
- progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
- mLoginButton = (LoginButton) findViewById(R.id.login_button);
- email = (FormEditText) findViewById(R.id.emailtext);
- password = (FormEditText) findViewById(R.id.passwordtext);
- Remember_toggle = (CheckBox) findViewById(R.id.rememberme);
- if (api.getSetting(AppStaticMembers.TAG_REMEMBER) != null) {
- if (api.getSetting(AppStaticMembers.TAG_REMEMBER).equals("true")) {
- email.setText(api.getSetting(AppStaticMembers.TAG_EMAIL));
- }
- }
- Remember_toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- remember_me = true;
- } else {
- remember_me = false;
- }
- }
- });
- setupUI(findViewById(R.id.loginrelative));
- mCallbackManager = CallbackManager.Factory.create();
- mLoginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
- @Override
- public void onSuccess(LoginResult loginResult) {
- }
- @Override
- public void onCancel() {
- }
- @Override
- public void onError(FacebookException e) {
- }
- });
- sign_in = (ActionProcessButton) findViewById(R.id.signin);
- sign_in.setMode(ActionProcessButton.Mode.PROGRESS);
- showpass = (Button) findViewById(R.id.showpass);
- password.setTransformationMethod(new PasswordTransformationMethod());
- email.addValidator(new OrValidator("This not E-mail",
- new EmailValidator(null))
- );
- terms_textview = (TextView) findViewById(R.id.termstv);
- singup_tv = (TextView) findViewById(R.id.singuptv);
- String terms_text = "By using this application, you agree to the (terms and conditions)";
- int start = terms_text.indexOf("(");
- int end = terms_text.indexOf(")");
- terms_textview.setMovementMethod(LinkMovementMethod.getInstance());
- terms_textview.setText(terms_text, TextView.BufferType.SPANNABLE);
- Spannable mSpannable = (Spannable) terms_textview.getText();
- ClickableSpan mClickableSpan = new ClickableSpan() {
- @Override
- public void onClick(View widget) {
- Toast.makeText(LoginActivity.this, "text to show", Toast.LENGTH_LONG).show();
- }
- };
- mSpannable.setSpan(mClickableSpan, start, end + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- String sign_up_tv = "Don't have account ? Sign Up Now";
- int start2 = sign_up_tv.indexOf("?");
- int end2 = sign_up_tv.indexOf("w");
- singup_tv.setMovementMethod(LinkMovementMethod.getInstance());
- singup_tv.setText(sign_up_tv, TextView.BufferType.SPANNABLE);
- Spannable mspannable2 = (Spannable) singup_tv.getText();
- ClickableSpan mclickspan2 = new ClickableSpan() {
- @Override
- public void onClick(View widget) {
- Intent intent = new Intent(LoginActivity.this, loginup.class);
- startActivity(intent);
- }
- };
- mspannable2.setSpan(mclickspan2, start2 + 1, end2 + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- sign_in.setOnClickListener(this);
- //signup.setOnClickListener(this);
- showpass.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN)
- password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
- else if (event.getAction() == MotionEvent.ACTION_UP)
- password.setTransformationMethod(PasswordTransformationMethod.getInstance());
- return false;
- }
- });
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_login, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- mCallbackManager.onActivityResult(requestCode, resultCode, data);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.signin:
- loginmethod();
- break;
- }
- }
- private void loginmethod() {
- if (api.isNetworkConneted(LoginActivity.this)) {
- if (email.testValidity() && password.testValidity()) {
- User user = new User();
- user.email = email.getText().toString();
- user.password = password.getText().toString();
- try {
- progress.show();
- api.SingIn(user, sign_response);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- } else {
- Toast.makeText(getApplicationContext() , getApplicationContext().getString(R.string.no_internet) , Toast.LENGTH_LONG).show();
- }
- }
- onHttpRequestListener sign_response = new onHttpRequestListener() {
- @Override
- public void onHttpResult(HTTPResponse response, String send_data) {
- progress.hide();
- API api = new API(LoginActivity.this);
- User user = null;
- Intent intent = null;
- if (response.response == ResponseType.SUCCESS) {
- api.SetSetting(AppStaticMembers.TAG_TOKEN, response.token);
- JSONArray jsonArray = (JSONArray) response.data;
- JsonParser jsonparser = new JsonParser();
- try {
- user = jsonparser.getUserData(jsonArray.getJSONObject(0));
- api.SetSetting(AppStaticMembers.TAG_EMAIL, user.getEmail());
- api.SetSetting(AppStaticMembers.TAG_ID, user.getId());
- api.SetSetting(AppStaticMembers.IS_LOGGEDIN , AppStaticMembers.TRUE);
- if(remember_me){
- api.SetSetting(AppStaticMembers.TAG_REMEMBER , AppStaticMembers.TRUE);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- if(user.getType() != null){
- if (user.getType().equals(AppStaticMembers.TAG_MERCHANT)){
- intent = new Intent(LoginActivity.this, MainActivity.class);
- }else if(user.getType().equals(AppStaticMembers.TAG_CUSTOMER)){
- intent = new Intent(LoginActivity.this, CustomerMainActivity.class);
- }
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- finish();
- }else {
- AlertManger.showAlertDialog(LoginActivity.this, "Error", "Invaild user", false);
- //Toast.makeText(LoginActivity.this , "Invaild user" , Toast.LENGTH_LONG).show();
- }
- } else {
- AlertManger.showAlertDialog(LoginActivity.this , "Error" , response.value , false);
- // Toast.makeText(LoginActivity.this, response.value, Toast.LENGTH_LONG).show();
- }
- }
- };
- public String get_request() {
- final StringBuilder stringBuilder = new StringBuilder();
- final String[] line = {null};
- final BufferedReader[] reader = {null};
- new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new BasicNameValuePair(AppStaticMembers.TAG_TOKEN, Token));
- URL url = new URL(AppStaticMembers.BASE_URL);
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setRequestMethod("GET");
- connection.setReadTimeout(AppStaticMembers.WAIT_RESPONSE_TIMEOUT);
- OutputStream outputStream = connection.getOutputStream();
- BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
- writer.write(getQuery(params));
- writer.flush();
- writer.close();
- outputStream.close();
- connection.connect();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
- reader[0] = new BufferedReader(new InputStreamReader(connection.getInputStream()));
- while ((line[0] = reader[0].readLine()) != null) {
- stringBuilder.append(line[0]);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (reader[0] != null) {
- try {
- reader[0].close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- try {
- String message = stringBuilder.toString();
- Toast.makeText(LoginActivity.this, "token is : " + message, Toast.LENGTH_LONG).show();
- } catch (Exception e) {
- }
- }
- });
- }
- }).start();
- return stringBuilder.toString();
- }
- private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException {
- StringBuilder result = new StringBuilder();
- boolean first = true;
- for (NameValuePair pair : params) {
- if (first)
- first = false;
- else
- result.append("&");
- result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
- result.append("=");
- result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
- }
- return result.toString();
- }
- private void hideKeyboard(View view) {
- InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
- inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
- }
- private void setupUI(final View view) {
- if (!(view instanceof EditText)) {
- view.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- hideKeyboard(view);
- return false;
- }
- });
- }
- if (view instanceof ViewGroup) {
- for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
- View innerView = ((ViewGroup) view).getChildAt(i);
- setupUI(innerView);
- }
- }
- }
- @Override
- protected void onResume() {
- super.onResume();
- //AppEventsLogger.activateApp(this);
- if (sign_in != null) {
- sign_in.setProgress(0);
- }
- }
- @Override
- protected void onStop() {
- super.onStop();
- // AppEventsLogger.deactivateApp(this);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment