Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.15 KB | None | 0 0
  1. public class LoginScreenActivity extends Activity implements View.OnClickListener {
  2. private EditText mInputEmail, mInputPassword;
  3. private ProgressBar mProgressBar;
  4. private FirebaseAuth auth;
  5. private ArrayList<User> mUsersList;
  6. private DatabaseHelper mDatabaseHelper;
  7. private FirebaseUser mFireUser;
  8. private User mUser;
  9. private FirebaseUser user;
  10. private boolean isDataAvailable;
  11. private LinearLayout mLinearLayoutTop;
  12.  
  13. /**
  14. * On create method for loginScreen
  15. * @param savedInstanceState
  16. */
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20.  
  21.  
  22. initialising();
  23. checkIfUserLoggedIn();
  24. }
  25.  
  26. /**
  27. * Initialise layouts and set listeners
  28. */
  29. private void initialising() {
  30. mDatabaseHelper= new DatabaseHelper();
  31. auth = FirebaseAuth.getInstance();
  32.  
  33. checkLanguageUser();
  34. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT);
  35.  
  36. setContentView(R.layout.activity_login);
  37.  
  38. Button buttonLogin = (Button) findViewById(R.id.buttonLogin);
  39. buttonLogin.setOnClickListener(this);
  40.  
  41. Button buttonCreate = (Button) findViewById(R.id.buttonCreateAccount);
  42. buttonCreate.setOnClickListener(this);
  43.  
  44. Button buttonReset = (Button) findViewById(R.id.buttonResetPassword);
  45. buttonReset.setOnClickListener(this);
  46. mLinearLayoutTop = (LinearLayout) findViewById(R.id.LinearLayoutTop);
  47. mInputEmail = (EditText) findViewById(R.id.editTextEmailCreate);
  48. mInputPassword = (EditText) findViewById(R.id.editTextPasswordCreate);
  49. mProgressBar = (ProgressBar) findViewById(R.id.progressBarLogin);
  50. mProgressBar.setVisibility(View.GONE);
  51. mInputPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  52. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  53. if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
  54. loggingIn();
  55. }
  56. return false;
  57. }
  58. });
  59.  
  60. }
  61.  
  62. /**
  63. * Check if the user is already logged in ,
  64. * if true start intent for profile
  65. */
  66. private void checkIfUserLoggedIn() {
  67. user = FirebaseAuth.getInstance().getCurrentUser();
  68. if (user != null) {
  69.  
  70. if(mUser!=null) {
  71. Log.d("",mUser.getLanguage());
  72. Intent loggedIn =new Intent(LoginScreenActivity.this, ProfileActivity.class);
  73. checkLanguageUser();
  74. loggedIn.putExtra(Constants.TAB, 1);
  75. loggedIn.putExtra(Constants.LANGUAGE, mUser.getLanguage());
  76.  
  77.  
  78. startActivity(loggedIn);
  79. }else{
  80. Intent loggedIn =new Intent(LoginScreenActivity.this, ProfileActivity.class);
  81. checkLanguageUser();
  82. loggedIn.putExtra(Constants.TAB, 1);
  83. loggedIn.putExtra(Constants.LANGUAGE, "en");
  84.  
  85.  
  86. startActivity(loggedIn);
  87. }
  88.  
  89. } else {
  90. Log.d(Constants.LOGGER, getString(R.string.no_user));
  91.  
  92. }
  93. }
  94.  
  95. /**
  96. * Authorising user on button login
  97. * reset password,
  98. * create new account.
  99. *
  100. * some code borrowed from google Firebase
  101. * @param view
  102. */
  103. @Override
  104. public void onClick(View view) {
  105. switch (view.getId()) {
  106. case R.id.buttonLogin:
  107. loggingIn();
  108. break;
  109.  
  110. case R.id.buttonCreateAccount:
  111. startActivity(new Intent(LoginScreenActivity.this, CreateAccountActivity.class));
  112. finish();
  113. break;
  114. case R.id.buttonResetPassword:
  115. startActivity(new Intent(LoginScreenActivity.this, ResetPasswordActivity.class));
  116. finish();
  117. break;
  118. }
  119. }
  120.  
  121. private void loggingIn() {
  122. mProgressBar.setVisibility(View.VISIBLE);
  123. String email = mInputEmail.getText().toString();
  124. final String password = mInputPassword.getText().toString();
  125. if (TextUtils.isEmpty(email)) {
  126. Toast.makeText(getApplicationContext(), R.string.enter_email, Toast.LENGTH_SHORT).show();
  127. return;
  128. }
  129. if (TextUtils.isEmpty(password)) {
  130. Toast.makeText(getApplicationContext(), R.string.enter_password, Toast.LENGTH_SHORT).show();
  131. return;
  132. }
  133. auth.signInWithEmailAndPassword(email, password)
  134. .addOnCompleteListener(LoginScreenActivity.this, new OnCompleteListener<AuthResult>() {
  135.  
  136. @Override
  137. public void onComplete(@NonNull Task<AuthResult> task) {
  138. mProgressBar.setVisibility(View.GONE);
  139. if (!task.isSuccessful()) {
  140. if (password.length() < 6) {
  141. mInputPassword.setError(getString(R.string.minimum_password));
  142. } else {
  143. Toast.makeText(LoginScreenActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
  144. }
  145. } else {
  146. Intent intent = new Intent(LoginScreenActivity.this, ProfileActivity.class);
  147. intent.putExtra(Constants.LANGUAGE, mUser.getLanguage());
  148. startActivity(intent);
  149. finish();
  150. }
  151. }
  152. });
  153.  
  154. return;
  155. }
  156. private void checkLanguageUser() {
  157. mUsersList = mDatabaseHelper.getAllUsers(new DatabaseHelper.OnUserAdded() {
  158. @Override
  159. public void onUserAdded(User wikiUser) {
  160. try {
  161. Log.d("bajs igen","bajsade 1 ");
  162.  
  163. mFireUser = FirebaseAuth.getInstance().getCurrentUser();
  164. if (mFireUser.getEmail().equals(wikiUser.getEmail())) {
  165. mUsersList.add(wikiUser);
  166. mUser = wikiUser;
  167. switch (mUser.getLanguage()) {
  168. case "sv":
  169. LanguageHelper.changeLocale(getResources(), "sv");
  170. break;
  171. case "en":
  172. LanguageHelper.changeLocale(getResources(), "en");
  173. break;
  174. default:
  175. LanguageHelper.changeLocale(getResources(), "en");
  176. break;
  177.  
  178. }
  179. mProgressBar.setVisibility(View.GONE);
  180.  
  181. }
  182. } catch (NullPointerException e) {
  183. Toast.makeText(getApplication(), R.string.check_connection, Toast.LENGTH_SHORT);
  184. }
  185. }
  186. });
  187. }
  188.  
  189.  
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement