Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.unfreezeday.unfreezeday.activities;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.Rect;
- import android.media.MediaPlayer;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.util.DisplayMetrics;
- import android.util.Log;
- import android.util.TypedValue;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.ViewTreeObserver;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.EditText;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.unfreezeday.unfreezeday.R;
- import com.unfreezeday.unfreezeday.interfaces.OnTaskCompleted;
- import com.unfreezeday.unfreezeday.utils.FontsLoader;
- import com.unfreezeday.unfreezeday.utils.SharedPreference;
- /**
- * Created by Arnau on 18/3/17.
- */
- public class LoginActivity extends AppCompatActivity implements OnTaskCompleted {
- private RelativeLayout rlLogin, rlRegister, rlBackLogin;
- private EditText etNomUsuari, password;
- private boolean soundMuted;
- private FirebaseAuth mAuth;
- private FirebaseAuth.AuthStateListener mAuthListener;
- private Handler mHandler;
- private static final String TAG = "UFD, LoginActivity: ";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //makes the activity fullscreen
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.activity_login);
- soundMuted = SharedPreference.isSoundMuted(this);
- initComponents();
- initListeners();
- initGUI();
- }
- private Runnable decor_view_settings = new Runnable()
- {
- public void run()
- {
- getWindow().getDecorView().setSystemUiVisibility(
- View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_FULLSCREEN
- | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
- }
- };
- private void initComponents() {
- // TextView
- rlRegister = (RelativeLayout) findViewById(R.id.rlRegister);
- rlLogin = (RelativeLayout) findViewById(R.id.rlLogin);
- rlBackLogin = (RelativeLayout) findViewById(R.id.rlBackLogin);
- mHandler = new Handler();
- // EditText
- etNomUsuari = (EditText) findViewById(R.id.uernameok);
- etNomUsuari.setTypeface(FontsLoader.getTypeface(this, FontsLoader.frosw));
- password = (EditText) findViewById(R.id.password);
- password.setTypeface(FontsLoader.getTypeface(this, FontsLoader.frosw));
- // Firebase
- mAuth = FirebaseAuth.getInstance();
- }
- private void initListeners(){
- final MediaPlayer mp = MediaPlayer.create(this, R.raw.click_sound);
- rlRegister.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!soundMuted) mp.start();
- Intent myIntent = new Intent(LoginActivity.this, RegisterActivity.class);
- LoginActivity.this.startActivity(myIntent);
- }
- });
- ((RelativeLayout) findViewById(R.id.activity_login)).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mHandler.post(decor_view_settings);
- }
- });
- password.setOnFocusChangeListener(new View.OnFocusChangeListener() {
- @Override
- public void onFocusChange(View v, boolean hasFocus) {
- if (hasFocus) {
- //got focus
- } else {
- mHandler.post(decor_view_settings);
- }
- }
- });
- rlBackLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!soundMuted) mp.start();
- LoginActivity.this.finish();
- }
- });
- rlLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!soundMuted) mp.start();
- if (etNomUsuari.getText().toString().equals("") || password.getText().toString().equals("")) {
- Toast.makeText(LoginActivity.this, R.string.error_empty_data, Toast.LENGTH_SHORT).show();
- } else {
- new FirebaseLogin(etNomUsuari.getText().toString(), password.getText().toString(), LoginActivity.this).execute();
- }
- }
- });
- mAuthListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- FirebaseUser user = firebaseAuth.getCurrentUser();
- if (user != null) {
- // User is signed in
- Log.d(TAG, "onAuthStateChanged: signed_in: " + user.getUid());
- } else {
- // User is signed out
- Log.d(TAG, "onAuthStateChanged: signed_out");
- }
- }
- };
- }
- private void initGUI() {
- // setFont
- ((TextView)findViewById(R.id.txtLogin)).setTypeface(FontsLoader.getTypeface(LoginActivity.this, FontsLoader.frosw));
- ((TextView)findViewById(R.id.txtRegister)).setTypeface(FontsLoader.getTypeface(LoginActivity.this, FontsLoader.frosw));
- }
- @Override
- protected void onStart() {
- super.onStart();
- mAuth.addAuthStateListener(mAuthListener);
- }
- @Override
- protected void onStop() {
- super.onStop();
- if (mAuthListener != null) {
- mAuth.removeAuthStateListener(mAuthListener);
- }
- }
- @Override
- public void onWindowFocusChanged(boolean hasFocus)
- {
- super.onWindowFocusChanged(hasFocus);
- if(hasFocus)
- {
- mHandler.post(decor_view_settings);
- }
- }
- @Override
- public void onTaskCompleted(boolean successful) {
- if (successful) {
- SharedPreference.setUserName(LoginActivity.this, etNomUsuari.getText().toString());
- Intent myIntent = new Intent(LoginActivity.this, ProfileActivity.class);
- LoginActivity.this.startActivity(myIntent);
- LoginActivity.this.finish();
- } else {
- Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.error_user_password),
- Toast.LENGTH_SHORT).show();
- }
- }
- private class FirebaseLogin extends AsyncTask<Void, Void, Void> {
- private String userName, password;
- private OnTaskCompleted listener;
- public FirebaseLogin(String userName, String password, OnTaskCompleted listener) {
- super();
- this.userName = userName;
- this.password = password;
- this.listener = listener;
- }
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- }
- @Override
- protected Void doInBackground(Void... params) {
- mAuth.signInWithEmailAndPassword(userName, password)
- .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- // If sign in fails, display a message to the user. If sign in succeeds
- // the auth state listener will be notified and logic to handle the
- // signed in user can be handled in the listener.
- listener.onTaskCompleted(task.isSuccessful());
- }
- });
- return null;
- }
- @Override
- protected void onPostExecute(Void aVoid) {
- super.onPostExecute(aVoid);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement