minafaw3

LoginActivity

Aug 24th, 2015
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.45 KB | None | 0 0
  1. public class LoginActivity extends ActionBarActivity implements OnClickListener {
  2.  
  3. private static final String TAG = "login_activity";
  4.  
  5. Button signup, showpass;
  6.  
  7. FormEditText email, password;
  8. ActionProcessButton sign_in;
  9.  
  10. TextView terms_textview, singup_tv;
  11.  
  12. private CallbackManager mCallbackManager;
  13. private LoginButton mLoginButton;
  14. private String Token = null;
  15.  
  16. private CheckBox Remember_toggle;
  17. private API api;
  18. private ProgressDialog progress;
  19. private boolean remember_me = false;
  20.  
  21.  
  22. @Override
  23. protected void onCreate(Bundle savedInstanceState) {
  24. super.onCreate(savedInstanceState);
  25. FacebookSdk.sdkInitialize(getApplicationContext());
  26. setContentView(R.layout.activity_login);
  27. init();
  28. }
  29.  
  30. private void init() {
  31. api = new API(LoginActivity.this);
  32.  
  33. progress = new ProgressDialog(this);
  34. progress.setCancelable(false);
  35. progress.setMessage(getResources().getString(R.string.Loading));
  36. progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  37.  
  38. mLoginButton = (LoginButton) findViewById(R.id.login_button);
  39. email = (FormEditText) findViewById(R.id.emailtext);
  40. password = (FormEditText) findViewById(R.id.passwordtext);
  41.  
  42. Remember_toggle = (CheckBox) findViewById(R.id.rememberme);
  43. if (api.getSetting(AppStaticMembers.TAG_REMEMBER) != null) {
  44. if (api.getSetting(AppStaticMembers.TAG_REMEMBER).equals("true")) {
  45. email.setText(api.getSetting(AppStaticMembers.TAG_EMAIL));
  46. }
  47. }
  48.  
  49. Remember_toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  50. @Override
  51. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  52. if (isChecked) {
  53. remember_me = true;
  54. } else {
  55. remember_me = false;
  56.  
  57. }
  58. }
  59. });
  60.  
  61. setupUI(findViewById(R.id.loginrelative));
  62.  
  63. mCallbackManager = CallbackManager.Factory.create();
  64.  
  65.  
  66. mLoginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
  67. @Override
  68. public void onSuccess(LoginResult loginResult) {
  69.  
  70. }
  71.  
  72. @Override
  73. public void onCancel() {
  74.  
  75. }
  76.  
  77. @Override
  78. public void onError(FacebookException e) {
  79.  
  80. }
  81. });
  82.  
  83. sign_in = (ActionProcessButton) findViewById(R.id.signin);
  84. sign_in.setMode(ActionProcessButton.Mode.PROGRESS);
  85.  
  86.  
  87. showpass = (Button) findViewById(R.id.showpass);
  88.  
  89.  
  90. password.setTransformationMethod(new PasswordTransformationMethod());
  91.  
  92.  
  93. email.addValidator(new OrValidator("This not E-mail",
  94. new EmailValidator(null))
  95. );
  96.  
  97. terms_textview = (TextView) findViewById(R.id.termstv);
  98. singup_tv = (TextView) findViewById(R.id.singuptv);
  99.  
  100. String terms_text = "By using this application, you agree to the (terms and conditions)";
  101. int start = terms_text.indexOf("(");
  102. int end = terms_text.indexOf(")");
  103. terms_textview.setMovementMethod(LinkMovementMethod.getInstance());
  104.  
  105. terms_textview.setText(terms_text, TextView.BufferType.SPANNABLE);
  106. Spannable mSpannable = (Spannable) terms_textview.getText();
  107. ClickableSpan mClickableSpan = new ClickableSpan() {
  108. @Override
  109. public void onClick(View widget) {
  110. Toast.makeText(LoginActivity.this, "text to show", Toast.LENGTH_LONG).show();
  111. }
  112. };
  113. mSpannable.setSpan(mClickableSpan, start, end + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
  114.  
  115. String sign_up_tv = "Don't have account ? Sign Up Now";
  116. int start2 = sign_up_tv.indexOf("?");
  117. int end2 = sign_up_tv.indexOf("w");
  118.  
  119. singup_tv.setMovementMethod(LinkMovementMethod.getInstance());
  120. singup_tv.setText(sign_up_tv, TextView.BufferType.SPANNABLE);
  121. Spannable mspannable2 = (Spannable) singup_tv.getText();
  122. ClickableSpan mclickspan2 = new ClickableSpan() {
  123. @Override
  124. public void onClick(View widget) {
  125. Intent intent = new Intent(LoginActivity.this, loginup.class);
  126. startActivity(intent);
  127. }
  128. };
  129. mspannable2.setSpan(mclickspan2, start2 + 1, end2 + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
  130.  
  131.  
  132. sign_in.setOnClickListener(this);
  133. //signup.setOnClickListener(this);
  134. showpass.setOnTouchListener(new View.OnTouchListener() {
  135. @Override
  136. public boolean onTouch(View v, MotionEvent event) {
  137.  
  138. if (event.getAction() == MotionEvent.ACTION_DOWN)
  139. password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
  140.  
  141.  
  142. else if (event.getAction() == MotionEvent.ACTION_UP)
  143. password.setTransformationMethod(PasswordTransformationMethod.getInstance());
  144.  
  145.  
  146. return false;
  147. }
  148. });
  149. }
  150.  
  151. @Override
  152. public boolean onCreateOptionsMenu(Menu menu) {
  153. // Inflate the menu; this adds items to the action bar if it is present.
  154. getMenuInflater().inflate(R.menu.menu_login, menu);
  155. return true;
  156. }
  157.  
  158. @Override
  159. public boolean onOptionsItemSelected(MenuItem item) {
  160. // Handle action bar item clicks here. The action bar will
  161. // automatically handle clicks on the Home/Up button, so long
  162. // as you specify a parent activity in AndroidManifest.xml.
  163. int id = item.getItemId();
  164.  
  165. //noinspection SimplifiableIfStatement
  166. if (id == R.id.action_settings) {
  167. return true;
  168. }
  169.  
  170. return super.onOptionsItemSelected(item);
  171. }
  172.  
  173. @Override
  174. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  175. mCallbackManager.onActivityResult(requestCode, resultCode, data);
  176. }
  177.  
  178. @Override
  179. public void onClick(View v) {
  180.  
  181. switch (v.getId()) {
  182. case R.id.signin:
  183. loginmethod();
  184. break;
  185.  
  186.  
  187. }
  188. }
  189.  
  190. private void loginmethod() {
  191.  
  192. if (api.isNetworkConneted(LoginActivity.this)) {
  193.  
  194. if (email.testValidity() && password.testValidity()) {
  195. User user = new User();
  196. user.email = email.getText().toString();
  197. user.password = password.getText().toString();
  198.  
  199. try {
  200. progress.show();
  201. api.SingIn(user, sign_response);
  202. } catch (Exception e) {
  203. e.printStackTrace();
  204. }
  205.  
  206. }
  207. } else {
  208. Toast.makeText(getApplicationContext() , getApplicationContext().getString(R.string.no_internet) , Toast.LENGTH_LONG).show();
  209. }
  210.  
  211.  
  212. }
  213.  
  214. onHttpRequestListener sign_response = new onHttpRequestListener() {
  215. @Override
  216. public void onHttpResult(HTTPResponse response, String send_data) {
  217.  
  218. progress.hide();
  219. API api = new API(LoginActivity.this);
  220. User user = null;
  221. Intent intent = null;
  222. if (response.response == ResponseType.SUCCESS) {
  223.  
  224. api.SetSetting(AppStaticMembers.TAG_TOKEN, response.token);
  225. JSONArray jsonArray = (JSONArray) response.data;
  226. JsonParser jsonparser = new JsonParser();
  227. try {
  228. user = jsonparser.getUserData(jsonArray.getJSONObject(0));
  229. api.SetSetting(AppStaticMembers.TAG_EMAIL, user.getEmail());
  230. api.SetSetting(AppStaticMembers.TAG_ID, user.getId());
  231. api.SetSetting(AppStaticMembers.IS_LOGGEDIN , AppStaticMembers.TRUE);
  232.  
  233. if(remember_me){
  234. api.SetSetting(AppStaticMembers.TAG_REMEMBER , AppStaticMembers.TRUE);
  235. }
  236.  
  237. } catch (JSONException e) {
  238. e.printStackTrace();
  239. }
  240. if(user.getType() != null){
  241. if (user.getType().equals(AppStaticMembers.TAG_MERCHANT)){
  242. intent = new Intent(LoginActivity.this, MainActivity.class);
  243. }else if(user.getType().equals(AppStaticMembers.TAG_CUSTOMER)){
  244. intent = new Intent(LoginActivity.this, CustomerMainActivity.class);
  245. }
  246.  
  247. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  248. startActivity(intent);
  249. finish();
  250. }else {
  251. AlertManger.showAlertDialog(LoginActivity.this, "Error", "Invaild user", false);
  252. //Toast.makeText(LoginActivity.this , "Invaild user" , Toast.LENGTH_LONG).show();
  253. }
  254.  
  255. } else {
  256. AlertManger.showAlertDialog(LoginActivity.this , "Error" , response.value , false);
  257. // Toast.makeText(LoginActivity.this, response.value, Toast.LENGTH_LONG).show();
  258. }
  259.  
  260. }
  261. };
  262.  
  263. public String get_request() {
  264.  
  265. final StringBuilder stringBuilder = new StringBuilder();
  266. final String[] line = {null};
  267. final BufferedReader[] reader = {null};
  268.  
  269.  
  270. new Thread(new Runnable() {
  271. @Override
  272. public void run() {
  273. try {
  274.  
  275. List<NameValuePair> params = new ArrayList<NameValuePair>();
  276. params.add(new BasicNameValuePair(AppStaticMembers.TAG_TOKEN, Token));
  277.  
  278. URL url = new URL(AppStaticMembers.BASE_URL);
  279. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  280.  
  281. connection.setRequestMethod("GET");
  282. connection.setReadTimeout(AppStaticMembers.WAIT_RESPONSE_TIMEOUT);
  283.  
  284. OutputStream outputStream = connection.getOutputStream();
  285. BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
  286. writer.write(getQuery(params));
  287. writer.flush();
  288. writer.close();
  289. outputStream.close();
  290. connection.connect();
  291. if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
  292. reader[0] = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  293. while ((line[0] = reader[0].readLine()) != null) {
  294. stringBuilder.append(line[0]);
  295. }
  296. }
  297.  
  298.  
  299. } catch (Exception e) {
  300. e.printStackTrace();
  301.  
  302. } finally {
  303. if (reader[0] != null) {
  304. try {
  305. reader[0].close();
  306. } catch (IOException e) {
  307. e.printStackTrace();
  308. }
  309. }
  310. }
  311.  
  312. runOnUiThread(new Runnable() {
  313. @Override
  314. public void run() {
  315. try {
  316. String message = stringBuilder.toString();
  317.  
  318. Toast.makeText(LoginActivity.this, "token is : " + message, Toast.LENGTH_LONG).show();
  319. } catch (Exception e) {
  320.  
  321. }
  322.  
  323. }
  324. });
  325.  
  326. }
  327.  
  328. }).start();
  329. return stringBuilder.toString();
  330.  
  331. }
  332.  
  333. private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException {
  334. StringBuilder result = new StringBuilder();
  335. boolean first = true;
  336.  
  337. for (NameValuePair pair : params) {
  338. if (first)
  339. first = false;
  340. else
  341. result.append("&");
  342.  
  343. result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
  344. result.append("=");
  345. result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
  346. }
  347.  
  348. return result.toString();
  349. }
  350.  
  351.  
  352. private void hideKeyboard(View view) {
  353. InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
  354. inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
  355.  
  356. }
  357.  
  358. private void setupUI(final View view) {
  359.  
  360. if (!(view instanceof EditText)) {
  361. view.setOnTouchListener(new View.OnTouchListener() {
  362. @Override
  363. public boolean onTouch(View v, MotionEvent event) {
  364.  
  365. hideKeyboard(view);
  366. return false;
  367. }
  368. });
  369. }
  370.  
  371. if (view instanceof ViewGroup) {
  372. for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
  373. View innerView = ((ViewGroup) view).getChildAt(i);
  374. setupUI(innerView);
  375. }
  376. }
  377.  
  378. }
  379.  
  380.  
  381. @Override
  382. protected void onResume() {
  383. super.onResume();
  384. //AppEventsLogger.activateApp(this);
  385. if (sign_in != null) {
  386. sign_in.setProgress(0);
  387. }
  388. }
  389.  
  390. @Override
  391. protected void onStop() {
  392. super.onStop();
  393. // AppEventsLogger.deactivateApp(this);
  394. }
  395. }
Advertisement
Add Comment
Please, Sign In to add comment