Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LoginScreenActivity extends Activity implements View.OnClickListener {
- private EditText mInputEmail, mInputPassword;
- private ProgressBar mProgressBar;
- private FirebaseAuth auth;
- private ArrayList<User> mUsersList;
- private DatabaseHelper mDatabaseHelper;
- private FirebaseUser mFireUser;
- private User mUser;
- private FirebaseUser user;
- private boolean isDataAvailable;
- private LinearLayout mLinearLayoutTop;
- /**
- * On create method for loginScreen
- * @param savedInstanceState
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- initialising();
- checkIfUserLoggedIn();
- }
- /**
- * Initialise layouts and set listeners
- */
- private void initialising() {
- mDatabaseHelper= new DatabaseHelper();
- auth = FirebaseAuth.getInstance();
- checkLanguageUser();
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT);
- setContentView(R.layout.activity_login);
- Button buttonLogin = (Button) findViewById(R.id.buttonLogin);
- buttonLogin.setOnClickListener(this);
- Button buttonCreate = (Button) findViewById(R.id.buttonCreateAccount);
- buttonCreate.setOnClickListener(this);
- Button buttonReset = (Button) findViewById(R.id.buttonResetPassword);
- buttonReset.setOnClickListener(this);
- mLinearLayoutTop = (LinearLayout) findViewById(R.id.LinearLayoutTop);
- mInputEmail = (EditText) findViewById(R.id.editTextEmailCreate);
- mInputPassword = (EditText) findViewById(R.id.editTextPasswordCreate);
- mProgressBar = (ProgressBar) findViewById(R.id.progressBarLogin);
- mProgressBar.setVisibility(View.GONE);
- mInputPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
- loggingIn();
- }
- return false;
- }
- });
- }
- /**
- * Check if the user is already logged in ,
- * if true start intent for profile
- */
- private void checkIfUserLoggedIn() {
- user = FirebaseAuth.getInstance().getCurrentUser();
- if (user != null) {
- if(mUser!=null) {
- Log.d("",mUser.getLanguage());
- Intent loggedIn =new Intent(LoginScreenActivity.this, ProfileActivity.class);
- checkLanguageUser();
- loggedIn.putExtra(Constants.TAB, 1);
- loggedIn.putExtra(Constants.LANGUAGE, mUser.getLanguage());
- startActivity(loggedIn);
- }else{
- Intent loggedIn =new Intent(LoginScreenActivity.this, ProfileActivity.class);
- checkLanguageUser();
- loggedIn.putExtra(Constants.TAB, 1);
- loggedIn.putExtra(Constants.LANGUAGE, "en");
- startActivity(loggedIn);
- }
- } else {
- Log.d(Constants.LOGGER, getString(R.string.no_user));
- }
- }
- /**
- * Authorising user on button login
- * reset password,
- * create new account.
- *
- * some code borrowed from google Firebase
- * @param view
- */
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.buttonLogin:
- loggingIn();
- break;
- case R.id.buttonCreateAccount:
- startActivity(new Intent(LoginScreenActivity.this, CreateAccountActivity.class));
- finish();
- break;
- case R.id.buttonResetPassword:
- startActivity(new Intent(LoginScreenActivity.this, ResetPasswordActivity.class));
- finish();
- break;
- }
- }
- private void loggingIn() {
- mProgressBar.setVisibility(View.VISIBLE);
- String email = mInputEmail.getText().toString();
- final String password = mInputPassword.getText().toString();
- if (TextUtils.isEmpty(email)) {
- Toast.makeText(getApplicationContext(), R.string.enter_email, Toast.LENGTH_SHORT).show();
- return;
- }
- if (TextUtils.isEmpty(password)) {
- Toast.makeText(getApplicationContext(), R.string.enter_password, Toast.LENGTH_SHORT).show();
- return;
- }
- auth.signInWithEmailAndPassword(email, password)
- .addOnCompleteListener(LoginScreenActivity.this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- mProgressBar.setVisibility(View.GONE);
- if (!task.isSuccessful()) {
- if (password.length() < 6) {
- mInputPassword.setError(getString(R.string.minimum_password));
- } else {
- Toast.makeText(LoginScreenActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
- }
- } else {
- Intent intent = new Intent(LoginScreenActivity.this, ProfileActivity.class);
- intent.putExtra(Constants.LANGUAGE, mUser.getLanguage());
- startActivity(intent);
- finish();
- }
- }
- });
- return;
- }
- private void checkLanguageUser() {
- mUsersList = mDatabaseHelper.getAllUsers(new DatabaseHelper.OnUserAdded() {
- @Override
- public void onUserAdded(User wikiUser) {
- try {
- Log.d("bajs igen","bajsade 1 ");
- mFireUser = FirebaseAuth.getInstance().getCurrentUser();
- if (mFireUser.getEmail().equals(wikiUser.getEmail())) {
- mUsersList.add(wikiUser);
- mUser = wikiUser;
- switch (mUser.getLanguage()) {
- case "sv":
- LanguageHelper.changeLocale(getResources(), "sv");
- break;
- case "en":
- LanguageHelper.changeLocale(getResources(), "en");
- break;
- default:
- LanguageHelper.changeLocale(getResources(), "en");
- break;
- }
- mProgressBar.setVisibility(View.GONE);
- }
- } catch (NullPointerException e) {
- Toast.makeText(getApplication(), R.string.check_connection, Toast.LENGTH_SHORT);
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement