Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pc.ltechz.totalsport;
- import android.app.Dialog;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ScrollView;
- import android.widget.Toast;
- import com.google.android.gms.appindexing.Action;
- import com.google.android.gms.appindexing.AppIndex;
- import com.google.android.gms.appindexing.Thing;
- import com.google.android.gms.common.api.GoogleApiClient;
- 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;
- public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
- FirebaseAuth firebaseAuth;
- FirebaseUser firebaseUser;
- Button btnReg, btnLogin;//dialog buttons
- Button btnMainLogin, btnMainRegister;
- EditText etEmail, etPass, etName;
- Button btnRecover;
- Dialog d;
- Dialog dialogs;
- int mode = 0; // o means register 1 means login
- ProgressDialog progressDialog;
- Button btnAllPost;
- String EmailReset;
- Button btnForgot;
- EditText etRecoverEmail;
- Button btnSettings_home;
- boolean isLogin = false;
- ScrollView mScrollView;
- Handler mHandler;
- int k=0;
- /**
- * ATTENTION: This was auto-generated to implement the App Indexing API.
- * See https://g.co/AppIndexing/AndroidStudio for more information.
- */
- private GoogleApiClient client;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_home);
- firebaseAuth = FirebaseAuth.getInstance();
- btnMainLogin = (Button) findViewById(R.id.btnLogin);
- btnMainLogin.setOnClickListener(this);
- btnAllPost = (Button) findViewById(R.id.btnAllPost);
- btnMainRegister = (Button) findViewById(R.id.btnRegister);
- btnMainRegister.setOnClickListener(this);
- progressDialog = new ProgressDialog(this);
- btnSettings_home = (Button) findViewById(R.id.btnSettings_home);
- btnSettings_home.setOnClickListener(this);
- mScrollView = (ScrollView) findViewById(R.id.mScroll);
- mScrollView.setHorizontalScrollBarEnabled(false);
- mScrollView.setVerticalScrollBarEnabled(false);
- mScrollView.setEnabled(false);
- firebaseUser = firebaseAuth.getCurrentUser();
- if (firebaseUser != null) {
- isLogin = true;
- if (isLogin) {
- btnMainRegister.setVisibility(View.GONE);
- btnSettings_home.setVisibility(View.VISIBLE);
- btnMainLogin.setText("התנתקות");
- }
- }
- if (firebaseUser == null) {
- isLogin = false;
- if (!isLogin) {
- btnMainRegister.setVisibility(View.VISIBLE);
- btnSettings_home.setVisibility(View.GONE);
- btnMainLogin.setText("התחברות");
- }
- }
- // ATTENTION: This was auto-generated to implement the App Indexing API.
- // See https://g.co/AppIndexing/AndroidStudio for more information.
- client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
- }
- private void refreshView() {
- mScrollView.setVisibility(View.GONE);
- mScrollView.setVisibility(View.VISIBLE);
- }
- public boolean isVisible(Button btn){
- if(btn.getVisibility()==View.VISIBLE){
- return true;
- }
- return false;
- }
- public void createRegisterDialog() {
- d = new Dialog(this);
- d.setContentView(R.layout.register_layout);
- d.setTitle("Register");
- d.setCancelable(true);
- etName = (EditText) d.findViewById(R.id.etName);
- etEmail = (EditText) d.findViewById(R.id.etEmail);
- etPass = (EditText) d.findViewById(R.id.etPass);
- btnReg = (Button) d.findViewById(R.id.btReg);
- btnReg.setOnClickListener(this);
- d.show();
- }
- public void createLoginDialog() {
- d = new Dialog(this);
- d.setContentView(R.layout.login_layout);
- d.setTitle("Login");
- d.setCancelable(true);
- etEmail = (EditText) d.findViewById(R.id.etEmail);
- etPass = (EditText) d.findViewById(R.id.etPass);
- btnLogin = (Button) d.findViewById(R.id.btnLogin);
- btnForgot = (Button) d.findViewById(R.id.forgotPass);
- btnForgot.setOnClickListener(this);
- btnLogin.setOnClickListener(this);
- d.show();
- }
- //This method used to recovery forgotten password by requesting user to enter registered email id.
- public void showRecoveryForgottenPasswordDialog() {
- dialogs = new Dialog(this);
- dialogs.setContentView(R.layout.forgot_pass);
- etRecoverEmail = (EditText) dialogs.findViewById(R.id.etEmailRecover);
- btnRecover = (Button) dialogs.findViewById(R.id.btnRecover);
- btnRecover.setOnClickListener(this);
- dialogs.show();
- }
- //This method used to recovery forgotten password by sending reset link to registered email id.
- private void recoveryForgottenPassword(String currentEmailId) {
- if (TextUtils.isEmpty(currentEmailId)) {
- Toast.makeText(HomeActivity.this, "Enter your registered email id", Toast.LENGTH_SHORT).show();
- return;
- }
- //You can send a password reset email to a user with the sendPasswordResetEmail method.
- firebaseAuth.sendPasswordResetEmail(currentEmailId)
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()) {
- Toast.makeText(HomeActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
- } else {
- Toast.makeText(HomeActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- public void register() {
- progressDialog.setMessage("Registering, Please Wait...");
- progressDialog.show();
- firebaseAuth.createUserWithEmailAndPassword(etEmail.getText().toString(), etPass.getText().toString()).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(Task<AuthResult> task) {
- if (task.isSuccessful()) {
- Toast.makeText(HomeActivity.this, "Successfully registered", Toast.LENGTH_LONG).show();
- btnMainLogin.setText("התנתקות");
- } else {
- Toast.makeText(HomeActivity.this, "Registration Error", Toast.LENGTH_LONG).show();
- }
- d.dismiss();
- progressDialog.dismiss();
- }
- });
- }
- public void login() {
- progressDialog.setMessage("Login, Please Wait...");
- progressDialog.show();
- firebaseAuth.signInWithEmailAndPassword(etEmail.getText().toString(), etPass.getText().toString())
- .addOnCompleteListener(HomeActivity.this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(Task<AuthResult> task) {
- if (task.isSuccessful()) {
- Toast.makeText(HomeActivity.this, "auth_success", Toast.LENGTH_SHORT).show();
- btnMainLogin.setText("התנתקות");
- } else {
- Toast.makeText(HomeActivity.this, "auth_failed", Toast.LENGTH_SHORT).show();
- }
- d.dismiss();
- progressDialog.dismiss();
- }
- });
- }
- @Override
- public void onClick(View v) {
- if (v == btnMainLogin) {
- if (btnMainLogin.getText().toString().equals("התחברות")) {
- createLoginDialog();
- } else if (btnMainLogin.getText().toString().equals("התנתקות")) {
- firebaseAuth.signOut();
- btnMainLogin.setText("התחברות");
- }
- } else if (v == btnMainRegister) {
- createRegisterDialog();
- } else if (btnReg == v) {
- register();
- } else if (v == btnLogin) {
- login();
- } else if (v == btnRecover) {
- recoveryForgottenPassword(etRecoverEmail.getText().toString());
- dialogs.dismiss();
- } else if (v == btnForgot) {
- showRecoveryForgottenPasswordDialog();
- }
- else if (v == btnSettings_home){
- Intent intent = new Intent(HomeActivity.this,SettingsActivity.class);
- startActivity(intent);
- }
- }
- /**
- * ATTENTION: This was auto-generated to implement the App Indexing API.
- * See https://g.co/AppIndexing/AndroidStudio for more information.
- */
- public Action getIndexApiAction() {
- Thing object = new Thing.Builder()
- .setName("Home Page") // TODO: Define a title for the content shown.
- // TODO: Make sure this auto-generated URL is correct.
- .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]"))
- .build();
- return new Action.Builder(Action.TYPE_VIEW)
- .setObject(object)
- .setActionStatus(Action.STATUS_TYPE_COMPLETED)
- .build();
- }
- @Override
- public void onStart() {
- super.onStart();
- // ATTENTION: This was auto-generated to implement the App Indexing API.
- // See https://g.co/AppIndexing/AndroidStudio for more information.
- client.connect();
- AppIndex.AppIndexApi.start(client, getIndexApiAction());
- }
- @Override
- public void onStop() {
- super.onStop();
- // ATTENTION: This was auto-generated to implement the App Indexing API.
- // See https://g.co/AppIndexing/AndroidStudio for more information.
- AppIndex.AppIndexApi.end(client, getIndexApiAction());
- client.disconnect();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement