Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.63 KB | None | 0 0
  1. package com.android.udl.miniact6_firebase;
  2.  
  3. import android.support.annotation.NonNull;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12.  
  13. import com.google.android.gms.common.ConnectionResult;
  14. import com.google.android.gms.common.GoogleApiAvailability;
  15. import com.google.android.gms.tasks.OnCompleteListener;
  16. import com.google.android.gms.tasks.OnSuccessListener;
  17. import com.google.android.gms.tasks.Task;
  18. import com.google.firebase.auth.AuthResult;
  19. import com.google.firebase.auth.FirebaseAuth;
  20. import com.google.firebase.auth.FirebaseUser;
  21. import com.google.firebase.database.DataSnapshot;
  22. import com.google.firebase.database.DatabaseError;
  23. import com.google.firebase.database.DatabaseReference;
  24. import com.google.firebase.database.FirebaseDatabase;
  25. import com.google.firebase.database.ValueEventListener;
  26. import com.google.firebase.iid.FirebaseInstanceId;
  27. import com.google.firebase.messaging.FirebaseMessaging;
  28.  
  29. public class MainActivity extends AppCompatActivity {
  30.  
  31. private FirebaseAuth firebaseAuth;
  32. private FirebaseAuth.AuthStateListener authStateListener;
  33. //private MyFirebaseMessagingService messagingService;
  34.  
  35. @Override
  36. protected void onCreate(Bundle savedInstanceState) {
  37. super.onCreate(savedInstanceState);
  38. setContentView(R.layout.activity_main);
  39.  
  40. IsPlayServicesAvailable();
  41.  
  42. final Button button = (Button) findViewById(R.id.button2);
  43. final EditText editText = (EditText) findViewById(R.id.editText);
  44. final TextView textView = (TextView) findViewById(R.id.textview);
  45. final Button buttonReg = (Button) findViewById(R.id.btn_reg);
  46. final Button buttonIn = (Button) findViewById(R.id.btn_login);
  47. final Button buttonOut = (Button) findViewById(R.id.btn_logout);
  48. final EditText editTextMail = (EditText) findViewById(R.id.editTextMail);
  49. final EditText editTextPass = (EditText) findViewById(R.id.editTextPass);
  50. final TextView textView_user = (TextView) findViewById(R.id.textview_user);
  51. final Button buttonRegisterTopic = (Button) findViewById(R.id.buttonRegisterTopic);
  52. final Button buttonUnregisterTopic = (Button) findViewById(R.id.buttonUnregisterTopic);
  53.  
  54. final Button button_token = (Button) findViewById(R.id.btn_idtoken);
  55.  
  56. firebaseAuth = FirebaseAuth.getInstance();
  57. //messagingService = new MyFirebaseMessagingService();
  58. FirebaseDatabase db = FirebaseDatabase.getInstance();
  59. final DatabaseReference reference = db.getReference("message");
  60.  
  61.  
  62. authStateListener = new FirebaseAuth.AuthStateListener() {
  63. @Override
  64. public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  65. FirebaseUser user = firebaseAuth.getCurrentUser();
  66. if (user != null) {
  67. // User is signed in
  68. Log.d("Auth", "onAuthStateChanged:signed_in:" + user.getUid());
  69. button.setEnabled(true);
  70. buttonIn.setEnabled(false);
  71. buttonOut.setEnabled(true);
  72. buttonReg.setEnabled(false);
  73. textView_user.setText("Signed in as "+user.getEmail());
  74.  
  75. reference.addValueEventListener(new ValueEventListener() {
  76. @Override
  77. public void onDataChange(DataSnapshot dataSnapshot) {
  78. String message = dataSnapshot.getValue(String.class);
  79. textView.setText(message);
  80. }
  81.  
  82. @Override
  83. public void onCancelled(DatabaseError databaseError) {
  84. Toast.makeText(getApplicationContext(), "Database error: No logged user",
  85. Toast.LENGTH_SHORT).show();
  86. }
  87. });
  88.  
  89. } else {
  90. // User is signed out
  91. Log.d("Auth", "onAuthStateChanged:signed_out");
  92. button.setEnabled(false);
  93. buttonIn.setEnabled(true);
  94. buttonOut.setEnabled(false);
  95. buttonReg.setEnabled(true);
  96. textView.setText("Please login");
  97. textView_user.setText("No logged user");
  98. }
  99. }
  100. };
  101.  
  102.  
  103.  
  104.  
  105. button.setOnClickListener(new View.OnClickListener() {
  106. @Override
  107. public void onClick(View v) {
  108.  
  109. reference.setValue(editText.getText().toString());
  110. }
  111. });
  112.  
  113. buttonReg.setOnClickListener(new View.OnClickListener() {
  114. @Override
  115. public void onClick(View v) {
  116. if (!editTextMail.getText().toString().equals("") &&
  117. editTextPass.getText().toString().length() > 5) {
  118. firebaseAuth.createUserWithEmailAndPassword(editTextMail.getText().toString(),
  119. editTextPass.getText().toString())
  120. .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  121. @Override
  122. public void onComplete(@NonNull Task<AuthResult> task) {
  123. if (!task.isSuccessful()) {
  124. Toast.makeText(getApplicationContext(), "Register failed",
  125. Toast.LENGTH_SHORT).show();
  126. } else {
  127. Toast.makeText(getApplicationContext(), "Register succesful",
  128. Toast.LENGTH_SHORT).show();
  129. editTextMail.setText("");
  130. editTextPass.setText("");
  131. }
  132. }
  133. });
  134. } else {
  135. Toast.makeText(getApplicationContext(), "Mail is blank or pass is shorter than 6 characters",
  136. Toast.LENGTH_SHORT).show();
  137. }
  138. }
  139. });
  140.  
  141. buttonIn.setOnClickListener(new View.OnClickListener() {
  142. @Override
  143. public void onClick(View v) {
  144. if (!editTextMail.getText().toString().equals("") &&
  145. !editTextPass.getText().toString().equals("")) {
  146. firebaseAuth.signInWithEmailAndPassword(editTextMail.getText().toString(),
  147. editTextPass.getText().toString())
  148. .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  149. @Override
  150. public void onComplete(@NonNull Task<AuthResult> task) {
  151. if (!task.isSuccessful()) {
  152. Toast.makeText(getApplicationContext(), "Login failed",
  153. Toast.LENGTH_SHORT).show();
  154. }
  155. editTextMail.setText("");
  156. editTextPass.setText("");
  157. }
  158. });
  159. } else {
  160. Toast.makeText(getApplicationContext(), "Mail and pass cannot be empty",
  161. Toast.LENGTH_SHORT).show();
  162. }
  163. }
  164. });
  165.  
  166. buttonOut.setOnClickListener(new View.OnClickListener() {
  167. @Override
  168. public void onClick(View v) {
  169. firebaseAuth.signOut();
  170. }
  171. });
  172.  
  173.  
  174. button_token.setOnClickListener(new View.OnClickListener() {
  175. @Override
  176. public void onClick(View v) {
  177. String token = FirebaseInstanceId.getInstance().getToken();
  178.  
  179. String msg = "Your token is: " + token;
  180.  
  181. Log.d("ID Token", msg);
  182. Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
  183.  
  184. DatabaseReference fcmRef = FirebaseDatabase.getInstance().getReference("fcmTokens");
  185. fcmRef.child(token).setValue(true).addOnSuccessListener(new OnSuccessListener<Void>() {
  186. @Override
  187. public void onSuccess(Void aVoid) {
  188. Log.d("aa", "Token updated");
  189. }
  190. });
  191.  
  192. }
  193. });
  194.  
  195.  
  196. buttonRegisterTopic.setOnClickListener(new View.OnClickListener() {
  197. @Override
  198. public void onClick(View v) {
  199. //messagingService.subscribeToTopic("news");
  200. FirebaseMessaging.getInstance().subscribeToTopic("news");
  201. Toast.makeText(getApplicationContext(),"subscribed to topic news",Toast.LENGTH_SHORT).show();
  202. Log.i("FIREBASEMESAGINGSERV: ","subscribed to topic news");
  203. }
  204. });
  205.  
  206. buttonUnregisterTopic.setOnClickListener(new View.OnClickListener() {
  207. @Override
  208. public void onClick(View v) {
  209. //messagingService.unsubscribeFromTopic("news");
  210. FirebaseMessaging.getInstance().unsubscribeFromTopic("news");
  211. Toast.makeText(getApplicationContext(),"unsubscribed from topic news",Toast.LENGTH_SHORT).show();
  212. Log.i("FIREBASEMESAGINGSERV: ","unsubscribed from topic news");
  213. }
  214. });
  215.  
  216.  
  217. }
  218.  
  219. @Override
  220. public void onStart() {
  221. super.onStart();
  222. firebaseAuth.addAuthStateListener(authStateListener);
  223. }
  224.  
  225. @Override
  226. public void onStop() {
  227. super.onStop();
  228. if (authStateListener != null) {
  229. firebaseAuth.removeAuthStateListener(authStateListener);
  230. }
  231. }
  232.  
  233. @Override
  234. protected void onResume() {
  235. super.onResume();
  236. IsPlayServicesAvailable();
  237. }
  238.  
  239. protected void IsPlayServicesAvailable() {
  240. int resultCode = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this);
  241. if (resultCode == ConnectionResult.SUCCESS){
  242. Toast.makeText(getApplicationContext(), "isGooglePlayServicesAvailable SUCCESS",
  243. Toast.LENGTH_SHORT).show();
  244. } else {
  245. GoogleApiAvailability.getInstance().getErrorDialog(this, resultCode, 1).show();
  246. }
  247. }
  248.  
  249.  
  250. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement