Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.41 KB | None | 0 0
  1. package com.fishfriend.fishfriend;
  2.  
  3. import android.content.Intent;
  4. import android.support.annotation.NonNull;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.text.TextUtils;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.ProgressBar;
  12. import android.widget.Toast;
  13.  
  14.  
  15. import com.google.android.gms.tasks.OnFailureListener;
  16. import com.google.android.gms.tasks.OnSuccessListener;
  17. import com.google.firebase.auth.AuthResult;
  18. import com.google.firebase.auth.FirebaseAuth;
  19.  
  20. public class SignInActivity extends AppCompatActivity {
  21.  
  22. private EditText mEmail_editTxt;
  23. private EditText mPassword_editTxt;
  24.  
  25. private Button mSignIn_btn;
  26. private Button mRegister_btn;
  27. private Button mBack_btn;
  28.  
  29. private ProgressBar mProgress_bar;
  30.  
  31. private FirebaseAuth mAuth;
  32.  
  33. @Override
  34. protected void onCreate(Bundle savedInstanceState) {
  35. super.onCreate(savedInstanceState);
  36. setContentView(R.layout.activity_sign_in);
  37. mAuth = FirebaseAuth.getInstance();
  38.  
  39. mEmail_editTxt = (EditText) findViewById(R.id.email_editText);
  40. mPassword_editTxt = (EditText) findViewById(R.id.password_editText);
  41.  
  42. mSignIn_btn = (Button) findViewById(R.id.signin_btn);
  43. mRegister_btn = (Button) findViewById(R.id.register_btn);
  44. mBack_btn = (Button) findViewById(R.id.login);
  45.  
  46. mProgress_bar = (ProgressBar) findViewById(R.id.loading_progressBar);
  47.  
  48. mSignIn_btn.setOnClickListener(new View.OnClickListener() {
  49. @Override
  50. public void onClick(View v) {
  51. if(isEmpty()) return;
  52. inProgress(true);
  53. mAuth.signInWithEmailAndPassword(mEmail_editTxt.getText().toString(),
  54. mPassword_editTxt.getText().toString())
  55. .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
  56. @Override
  57. public void onSuccess(AuthResult authResult) {
  58. Toast.makeText(SignInActivity.this, "User signed in",
  59. Toast.LENGTH_LONG).show();
  60. Intent intent = new Intent(SignInActivity.this, MainActivity.class);
  61. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  62. startActivity(intent);
  63. finish(); return;
  64.  
  65. }
  66. }).addOnFailureListener(new OnFailureListener() {
  67. @Override
  68. public void onFailure(@NonNull Exception e) {
  69. inProgress(false);
  70. Toast.makeText(SignInActivity.this, "Sign in failed!"+e.getMessage(), Toast.LENGTH_SHORT).show();
  71. }
  72. });
  73. }
  74. });
  75.  
  76. mRegister_btn.setOnClickListener(new View.OnClickListener() {
  77. @Override
  78. public void onClick(View v) {
  79. if(isEmpty()) return;
  80. inProgress(true);
  81. mAuth.createUserWithEmailAndPassword(mEmail_editTxt.getText().toString(),
  82. mPassword_editTxt.getText().toString())
  83. .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
  84. @Override
  85. public void onSuccess(AuthResult authResult) {
  86. Toast.makeText(SignInActivity.this, "User registered successfully!",
  87. Toast.LENGTH_LONG).show();
  88. inProgress(false);
  89. }
  90. }).addOnFailureListener(new OnFailureListener() {
  91. @Override
  92. public void onFailure(@NonNull Exception e) {
  93. inProgress(false);
  94. Toast.makeText(SignInActivity.this, "Registration failed."+e.getMessage(), Toast.LENGTH_SHORT).show();
  95. }
  96. });
  97.  
  98. }
  99. });
  100.  
  101. mBack_btn.setOnClickListener(new View.OnClickListener() {
  102. @Override
  103. public void onClick(View v) {
  104. finish(); return;
  105. }
  106. });
  107.  
  108. }
  109.  
  110. private void inProgress(boolean x){
  111. if(x){
  112. mProgress_bar.setVisibility(View.VISIBLE);
  113. mBack_btn.setEnabled(false);
  114. mSignIn_btn.setEnabled(false);
  115. mRegister_btn.setEnabled(false);
  116. }else{
  117. mProgress_bar.setVisibility(View.GONE);
  118. mBack_btn.setEnabled(true);
  119. mSignIn_btn.setEnabled(true);
  120. mRegister_btn.setEnabled(true);
  121. }
  122. }
  123.  
  124. private boolean isEmpty(){
  125. if(TextUtils.isEmpty(mEmail_editTxt.getText().toString())){
  126. mEmail_editTxt.setError("REQUIRED!");
  127. return true;
  128. }
  129. if(TextUtils.isEmpty(mPassword_editTxt.getText().toString())){
  130. mPassword_editTxt.setError("REQUIRED!");
  131. return true;
  132. }
  133. return false;
  134. }
  135.  
  136. }
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143. <?xml version="1.0" encoding="utf-8"?>
  144. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  145. xmlns:app="http://schemas.android.com/apk/res-auto"
  146. xmlns:tools="http://schemas.android.com/tools"
  147. android:layout_width="match_parent"
  148. android:layout_height="match_parent"
  149. tools:context=".SignInActivity">
  150.  
  151. <EditText
  152. android:id="@+id/email_editText"
  153. android:layout_width="wrap_content"
  154. android:layout_height="wrap_content"
  155. android:layout_marginTop="8dp"
  156. android:ems="10"
  157. android:hint="e-mail address"
  158. android:inputType="textEmailAddress"
  159. app:layout_constraintEnd_toEndOf="parent"
  160. app:layout_constraintHorizontal_bias="0.5"
  161. app:layout_constraintStart_toStartOf="parent"
  162. app:layout_constraintTop_toTopOf="parent" />
  163.  
  164. <EditText
  165. android:id="@+id/password_editText"
  166. android:layout_width="wrap_content"
  167. android:layout_height="wrap_content"
  168. android:layout_marginTop="8dp"
  169. android:ems="10"
  170. android:hint="password"
  171. android:inputType="textPassword"
  172. app:layout_constraintEnd_toEndOf="parent"
  173. app:layout_constraintHorizontal_bias="0.5"
  174. app:layout_constraintStart_toStartOf="parent"
  175. app:layout_constraintTop_toBottomOf="@+id/email_editText" />
  176.  
  177. <Button
  178. android:id="@+id/signin_btn"
  179. android:layout_width="wrap_content"
  180. android:layout_height="wrap_content"
  181. android:layout_marginTop="32dp"
  182. android:text="SIGN IN"
  183. app:layout_constraintEnd_toEndOf="parent"
  184. app:layout_constraintHorizontal_bias="0.5"
  185. app:layout_constraintStart_toStartOf="parent"
  186. app:layout_constraintTop_toBottomOf="@+id/password_editText" />
  187.  
  188. <Button
  189. android:id="@+id/register_btn"
  190. android:layout_width="wrap_content"
  191. android:layout_height="wrap_content"
  192. android:layout_marginTop="8dp"
  193. android:text="REGISTER"
  194. app:layout_constraintEnd_toEndOf="parent"
  195. app:layout_constraintHorizontal_bias="0.5"
  196. app:layout_constraintStart_toStartOf="parent"
  197. app:layout_constraintTop_toBottomOf="@+id/signin_btn" />
  198.  
  199. <Button
  200. android:id="@+id/login"
  201. android:layout_width="wrap_content"
  202. android:layout_height="wrap_content"
  203. android:layout_marginTop="8dp"
  204. android:text="BACK"
  205. app:layout_constraintEnd_toEndOf="parent"
  206. app:layout_constraintHorizontal_bias="0.5"
  207. app:layout_constraintStart_toStartOf="parent"
  208. app:layout_constraintTop_toBottomOf="@+id/register_btn" />
  209.  
  210. <ProgressBar
  211. android:id="@+id/loading_progressBar"
  212. style="?android:attr/progressBarStyle"
  213. android:layout_width="wrap_content"
  214. android:layout_height="wrap_content"
  215. android:visibility="invisible"
  216. app:layout_constraintBottom_toBottomOf="parent"
  217. app:layout_constraintEnd_toEndOf="parent"
  218. app:layout_constraintHorizontal_bias="0.5"
  219. app:layout_constraintStart_toStartOf="parent"
  220. app:layout_constraintTop_toBottomOf="@+id/login" />
  221. </android.support.constraint.ConstraintLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement