Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.android.udl.miniact6_firebase;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.common.ConnectionResult;
- import com.google.android.gms.common.GoogleApiAvailability;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.OnSuccessListener;
- 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.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.ValueEventListener;
- import com.google.firebase.iid.FirebaseInstanceId;
- import com.google.firebase.messaging.FirebaseMessaging;
- public class MainActivity extends AppCompatActivity {
- private FirebaseAuth firebaseAuth;
- private FirebaseAuth.AuthStateListener authStateListener;
- //private MyFirebaseMessagingService messagingService;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- IsPlayServicesAvailable();
- final Button button = (Button) findViewById(R.id.button2);
- final EditText editText = (EditText) findViewById(R.id.editText);
- final TextView textView = (TextView) findViewById(R.id.textview);
- final Button buttonReg = (Button) findViewById(R.id.btn_reg);
- final Button buttonIn = (Button) findViewById(R.id.btn_login);
- final Button buttonOut = (Button) findViewById(R.id.btn_logout);
- final EditText editTextMail = (EditText) findViewById(R.id.editTextMail);
- final EditText editTextPass = (EditText) findViewById(R.id.editTextPass);
- final TextView textView_user = (TextView) findViewById(R.id.textview_user);
- final Button buttonRegisterTopic = (Button) findViewById(R.id.buttonRegisterTopic);
- final Button buttonUnregisterTopic = (Button) findViewById(R.id.buttonUnregisterTopic);
- final Button button_token = (Button) findViewById(R.id.btn_idtoken);
- firebaseAuth = FirebaseAuth.getInstance();
- //messagingService = new MyFirebaseMessagingService();
- FirebaseDatabase db = FirebaseDatabase.getInstance();
- final DatabaseReference reference = db.getReference("message");
- authStateListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- FirebaseUser user = firebaseAuth.getCurrentUser();
- if (user != null) {
- // User is signed in
- Log.d("Auth", "onAuthStateChanged:signed_in:" + user.getUid());
- button.setEnabled(true);
- buttonIn.setEnabled(false);
- buttonOut.setEnabled(true);
- buttonReg.setEnabled(false);
- textView_user.setText("Signed in as "+user.getEmail());
- reference.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String message = dataSnapshot.getValue(String.class);
- textView.setText(message);
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- Toast.makeText(getApplicationContext(), "Database error: No logged user",
- Toast.LENGTH_SHORT).show();
- }
- });
- } else {
- // User is signed out
- Log.d("Auth", "onAuthStateChanged:signed_out");
- button.setEnabled(false);
- buttonIn.setEnabled(true);
- buttonOut.setEnabled(false);
- buttonReg.setEnabled(true);
- textView.setText("Please login");
- textView_user.setText("No logged user");
- }
- }
- };
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- reference.setValue(editText.getText().toString());
- }
- });
- buttonReg.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!editTextMail.getText().toString().equals("") &&
- editTextPass.getText().toString().length() > 5) {
- firebaseAuth.createUserWithEmailAndPassword(editTextMail.getText().toString(),
- editTextPass.getText().toString())
- .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (!task.isSuccessful()) {
- Toast.makeText(getApplicationContext(), "Register failed",
- Toast.LENGTH_SHORT).show();
- } else {
- Toast.makeText(getApplicationContext(), "Register succesful",
- Toast.LENGTH_SHORT).show();
- editTextMail.setText("");
- editTextPass.setText("");
- }
- }
- });
- } else {
- Toast.makeText(getApplicationContext(), "Mail is blank or pass is shorter than 6 characters",
- Toast.LENGTH_SHORT).show();
- }
- }
- });
- buttonIn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!editTextMail.getText().toString().equals("") &&
- !editTextPass.getText().toString().equals("")) {
- firebaseAuth.signInWithEmailAndPassword(editTextMail.getText().toString(),
- editTextPass.getText().toString())
- .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (!task.isSuccessful()) {
- Toast.makeText(getApplicationContext(), "Login failed",
- Toast.LENGTH_SHORT).show();
- }
- editTextMail.setText("");
- editTextPass.setText("");
- }
- });
- } else {
- Toast.makeText(getApplicationContext(), "Mail and pass cannot be empty",
- Toast.LENGTH_SHORT).show();
- }
- }
- });
- buttonOut.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- firebaseAuth.signOut();
- }
- });
- button_token.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String token = FirebaseInstanceId.getInstance().getToken();
- String msg = "Your token is: " + token;
- Log.d("ID Token", msg);
- Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
- DatabaseReference fcmRef = FirebaseDatabase.getInstance().getReference("fcmTokens");
- fcmRef.child(token).setValue(true).addOnSuccessListener(new OnSuccessListener<Void>() {
- @Override
- public void onSuccess(Void aVoid) {
- Log.d("aa", "Token updated");
- }
- });
- }
- });
- buttonRegisterTopic.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //messagingService.subscribeToTopic("news");
- FirebaseMessaging.getInstance().subscribeToTopic("news");
- Toast.makeText(getApplicationContext(),"subscribed to topic news",Toast.LENGTH_SHORT).show();
- Log.i("FIREBASEMESAGINGSERV: ","subscribed to topic news");
- }
- });
- buttonUnregisterTopic.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //messagingService.unsubscribeFromTopic("news");
- FirebaseMessaging.getInstance().unsubscribeFromTopic("news");
- Toast.makeText(getApplicationContext(),"unsubscribed from topic news",Toast.LENGTH_SHORT).show();
- Log.i("FIREBASEMESAGINGSERV: ","unsubscribed from topic news");
- }
- });
- }
- @Override
- public void onStart() {
- super.onStart();
- firebaseAuth.addAuthStateListener(authStateListener);
- }
- @Override
- public void onStop() {
- super.onStop();
- if (authStateListener != null) {
- firebaseAuth.removeAuthStateListener(authStateListener);
- }
- }
- @Override
- protected void onResume() {
- super.onResume();
- IsPlayServicesAvailable();
- }
- protected void IsPlayServicesAvailable() {
- int resultCode = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this);
- if (resultCode == ConnectionResult.SUCCESS){
- Toast.makeText(getApplicationContext(), "isGooglePlayServicesAvailable SUCCESS",
- Toast.LENGTH_SHORT).show();
- } else {
- GoogleApiAvailability.getInstance().getErrorDialog(this, resultCode, 1).show();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement