Advertisement
Guest User

Untitled

a guest
May 14th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.49 KB | None | 0 0
  1. package com.example.firebaselogin;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.annotation.NonNull;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.support.v7.widget.Toolbar;
  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. import com.google.android.gms.tasks.OnCompleteListener;
  15. import com.google.android.gms.tasks.Task;
  16. import com.google.firebase.auth.FirebaseAuth;
  17. import com.google.firebase.auth.FirebaseUser;
  18.  
  19. public class MainActivity extends AppCompatActivity {
  20.  
  21. private Button btnChangeEmail, btnChangePassword, btnSendResetEmail, btnRemoveUser,
  22. changeEmail, changePassword, sendEmail, remove, signOut;
  23.  
  24. private EditText oldEmail, newEmail, password, newPassword;
  25. private ProgressBar progressBar;
  26. private FirebaseAuth.AuthStateListener authListener;
  27. private FirebaseAuth auth;
  28.  
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. setContentView(R.layout.activity_main);
  33.  
  34.  
  35.  
  36. //get firebase auth instance
  37. auth = FirebaseAuth.getInstance();
  38.  
  39. //get current user
  40. final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  41.  
  42. authListener = new FirebaseAuth.AuthStateListener() {
  43. @Override
  44. public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  45. FirebaseUser user = firebaseAuth.getCurrentUser();
  46. if (user == null) {
  47. // user auth state is changed - user is null
  48. // launch login activity
  49. startActivity(new Intent(MainActivity.this, LoginActivity.class));
  50. finish();
  51. }
  52. }
  53. };
  54.  
  55. btnChangeEmail = (Button) findViewById(R.id.change_email_button);
  56. btnChangePassword = (Button) findViewById(R.id.change_password_button);
  57. btnSendResetEmail = (Button) findViewById(R.id.sending_pass_reset_button);
  58. btnRemoveUser = (Button) findViewById(R.id.remove_user_button);
  59. changeEmail = (Button) findViewById(R.id.changeEmail);
  60. changePassword = (Button) findViewById(R.id.changePass);
  61. sendEmail = (Button) findViewById(R.id.send);
  62. remove = (Button) findViewById(R.id.remove);
  63. signOut = (Button) findViewById(R.id.sign_out);
  64.  
  65. oldEmail = (EditText) findViewById(R.id.old_email);
  66. newEmail = (EditText) findViewById(R.id.new_email);
  67. password = (EditText) findViewById(R.id.password);
  68. newPassword = (EditText) findViewById(R.id.newPassword);
  69.  
  70. oldEmail.setVisibility(View.GONE);
  71. newEmail.setVisibility(View.GONE);
  72. password.setVisibility(View.GONE);
  73. newPassword.setVisibility(View.GONE);
  74. changeEmail.setVisibility(View.GONE);
  75. changePassword.setVisibility(View.GONE);
  76. sendEmail.setVisibility(View.GONE);
  77. remove.setVisibility(View.GONE);
  78.  
  79. progressBar = (ProgressBar) findViewById(R.id.progressBar);
  80.  
  81. if (progressBar != null) {
  82. progressBar.setVisibility(View.GONE);
  83. }
  84.  
  85. btnChangeEmail.setOnClickListener(new View.OnClickListener() {
  86. @Override
  87. public void onClick(View v) {
  88. oldEmail.setVisibility(View.GONE);
  89. newEmail.setVisibility(View.VISIBLE);
  90. password.setVisibility(View.GONE);
  91. newPassword.setVisibility(View.GONE);
  92. changeEmail.setVisibility(View.VISIBLE);
  93. changePassword.setVisibility(View.GONE);
  94. sendEmail.setVisibility(View.GONE);
  95. remove.setVisibility(View.GONE);
  96. }
  97. });
  98.  
  99. changeEmail.setOnClickListener(new View.OnClickListener() {
  100. @Override
  101. public void onClick(View v) {
  102. progressBar.setVisibility(View.VISIBLE);
  103. if (user != null && !newEmail.getText().toString().trim().equals("")) {
  104. user.updateEmail(newEmail.getText().toString().trim())
  105. .addOnCompleteListener(new OnCompleteListener<Void>() {
  106. @Override
  107. public void onComplete(@NonNull Task<Void> task) {
  108. if (task.isSuccessful()) {
  109. Toast.makeText(MainActivity.this, "Email address is updated. Please sign in with new email id!", Toast.LENGTH_LONG).show();
  110. signOut();
  111. progressBar.setVisibility(View.GONE);
  112. } else {
  113. Toast.makeText(MainActivity.this, "Failed to update email!", Toast.LENGTH_LONG).show();
  114. progressBar.setVisibility(View.GONE);
  115. }
  116. }
  117. });
  118. } else if (newEmail.getText().toString().trim().equals("")) {
  119. newEmail.setError("Enter email");
  120. progressBar.setVisibility(View.GONE);
  121. }
  122. }
  123. });
  124.  
  125. btnChangePassword.setOnClickListener(new View.OnClickListener() {
  126. @Override
  127. public void onClick(View v) {
  128. oldEmail.setVisibility(View.GONE);
  129. newEmail.setVisibility(View.GONE);
  130. password.setVisibility(View.GONE);
  131. newPassword.setVisibility(View.VISIBLE);
  132. changeEmail.setVisibility(View.GONE);
  133. changePassword.setVisibility(View.VISIBLE);
  134. sendEmail.setVisibility(View.GONE);
  135. remove.setVisibility(View.GONE);
  136. }
  137. });
  138.  
  139. changePassword.setOnClickListener(new View.OnClickListener() {
  140. @Override
  141. public void onClick(View v) {
  142. progressBar.setVisibility(View.VISIBLE);
  143. if (user != null && !newPassword.getText().toString().trim().equals("")) {
  144. if (newPassword.getText().toString().trim().length() < 6) {
  145. newPassword.setError("Password too short, enter minimum 6 characters");
  146. progressBar.setVisibility(View.GONE);
  147. } else {
  148. user.updatePassword(newPassword.getText().toString().trim())
  149. .addOnCompleteListener(new OnCompleteListener<Void>() {
  150. @Override
  151. public void onComplete(@NonNull Task<Void> task) {
  152. if (task.isSuccessful()) {
  153. Toast.makeText(MainActivity.this, "Password is updated, sign in with new password!", Toast.LENGTH_SHORT).show();
  154. signOut();
  155. progressBar.setVisibility(View.GONE);
  156. } else {
  157. Toast.makeText(MainActivity.this, "Failed to update password!", Toast.LENGTH_SHORT).show();
  158. progressBar.setVisibility(View.GONE);
  159. }
  160. }
  161. });
  162. }
  163. } else if (newPassword.getText().toString().trim().equals("")) {
  164. newPassword.setError("Enter password");
  165. progressBar.setVisibility(View.GONE);
  166. }
  167. }
  168. });
  169.  
  170. btnSendResetEmail.setOnClickListener(new View.OnClickListener() {
  171. @Override
  172. public void onClick(View v) {
  173. oldEmail.setVisibility(View.VISIBLE);
  174. newEmail.setVisibility(View.GONE);
  175. password.setVisibility(View.GONE);
  176. newPassword.setVisibility(View.GONE);
  177. changeEmail.setVisibility(View.GONE);
  178. changePassword.setVisibility(View.GONE);
  179. sendEmail.setVisibility(View.VISIBLE);
  180. remove.setVisibility(View.GONE);
  181. }
  182. });
  183.  
  184. sendEmail.setOnClickListener(new View.OnClickListener() {
  185. @Override
  186. public void onClick(View v) {
  187. progressBar.setVisibility(View.VISIBLE);
  188. if (!oldEmail.getText().toString().trim().equals("")) {
  189. auth.sendPasswordResetEmail(oldEmail.getText().toString().trim())
  190. .addOnCompleteListener(new OnCompleteListener<Void>() {
  191. @Override
  192. public void onComplete(@NonNull Task<Void> task) {
  193. if (task.isSuccessful()) {
  194. Toast.makeText(MainActivity.this, "Reset password email is sent!", Toast.LENGTH_SHORT).show();
  195. progressBar.setVisibility(View.GONE);
  196. } else {
  197. Toast.makeText(MainActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
  198. progressBar.setVisibility(View.GONE);
  199. }
  200. }
  201. });
  202. } else {
  203. oldEmail.setError("Enter email");
  204. progressBar.setVisibility(View.GONE);
  205. }
  206. }
  207. });
  208.  
  209. btnRemoveUser.setOnClickListener(new View.OnClickListener() {
  210. @Override
  211. public void onClick(View v) {
  212. progressBar.setVisibility(View.VISIBLE);
  213. if (user != null) {
  214. user.delete()
  215. .addOnCompleteListener(new OnCompleteListener<Void>() {
  216. @Override
  217. public void onComplete(@NonNull Task<Void> task) {
  218. if (task.isSuccessful()) {
  219. Toast.makeText(MainActivity.this, "Your profile is deleted:( Create a account now!", Toast.LENGTH_SHORT).show();
  220. startActivity(new Intent(MainActivity.this, SignUpActivity.class));
  221. finish();
  222. progressBar.setVisibility(View.GONE);
  223. } else {
  224. Toast.makeText(MainActivity.this, "Failed to delete your account!", Toast.LENGTH_SHORT).show();
  225. progressBar.setVisibility(View.GONE);
  226. }
  227. }
  228. });
  229. }
  230. }
  231. });
  232.  
  233.  
  234. signOut.setOnClickListener(new View.OnClickListener() {
  235. @Override
  236. public void onClick(View v) {
  237. signOut();
  238. }
  239. });
  240.  
  241. }
  242.  
  243. //sign out method
  244. public void signOut() {
  245. auth.signOut();
  246. }
  247.  
  248. @Override
  249. protected void onResume() {
  250. super.onResume();
  251. progressBar.setVisibility(View.GONE);
  252. }
  253.  
  254. @Override
  255. public void onStart() {
  256. super.onStart();
  257. auth.addAuthStateListener(authListener);
  258. }
  259.  
  260. @Override
  261. public void onStop() {
  262. super.onStop();
  263. if (authListener != null) {
  264. auth.removeAuthStateListener(authListener);
  265. }
  266. }
  267. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement