Advertisement
rachmadi

PostActivity.java

Dec 11th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.16 KB | None | 0 0
  1. import android.support.annotation.NonNull;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.util.Log;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.EditText;
  8. import android.widget.ProgressBar;
  9.  
  10. import com.google.android.gms.tasks.OnCompleteListener;
  11. import com.google.android.gms.tasks.Task;
  12. import com.google.firebase.auth.FirebaseAuth;
  13. import com.google.firebase.database.DataSnapshot;
  14. import com.google.firebase.database.DatabaseError;
  15. import com.google.firebase.database.DatabaseReference;
  16. import com.google.firebase.database.FirebaseDatabase;
  17. import com.google.firebase.database.ValueEventListener;
  18.  
  19. public class PostActivity extends AppCompatActivity {
  20.  
  21.     private static final String TAG = "PostActivity";
  22.     EditText contentText;
  23.     Button postButton;
  24.     ProgressBar progressBar;
  25.  
  26.     FirebaseDatabase mDatabase;
  27.     FirebaseAuth mAuth;
  28.     DatabaseReference mRootRef, mPostRef, mUserRef;
  29.  
  30.     String mUserId;
  31.     String mFullName;
  32.  
  33.     @Override
  34.     protected void onCreate(Bundle savedInstanceState) {
  35.         super.onCreate(savedInstanceState);
  36.         setContentView(R.layout.activity_post);
  37.  
  38.         contentText = findViewById(R.id.postContent);
  39.         postButton = findViewById(R.id.postButton);
  40.         progressBar = findViewById(R.id.progressBar);
  41.  
  42.         postButton.setOnClickListener(new View.OnClickListener() {
  43.             @Override
  44.             public void onClick(View v) {
  45.                 savePost();
  46.             }
  47.         });
  48.     }
  49.  
  50.     @Override
  51.     protected void onResume() {
  52.         super.onResume();
  53.         mDatabase = FirebaseDatabase.getInstance();
  54.         mRootRef = mDatabase.getReference();
  55.         mAuth = FirebaseAuth.getInstance();
  56.         getFullName();
  57.     }
  58.  
  59.     private void savePost() {
  60.         mRootRef = mDatabase.getReference();
  61.         mPostRef = mRootRef.child("post");
  62.  
  63.         progressBar.setVisibility(View.VISIBLE);
  64.  
  65.         String content = contentText.getText().toString();
  66.         Post post = new Post(mFullName, content);
  67.         mPostRef.push().setValue(post).addOnCompleteListener(new OnCompleteListener<Void>() {
  68.             @Override
  69.             public void onComplete(@NonNull Task<Void> task) {
  70.                 if (task.isSuccessful()) {
  71.                     finish();
  72.                     progressBar.setVisibility(View.INVISIBLE);
  73.                 } else {
  74.                     Log.d(TAG, task.getException().getMessage());
  75.                     progressBar.setVisibility(View.INVISIBLE);
  76.                 }
  77.             }
  78.         });
  79.  
  80.     }
  81.  
  82.     private String getFullName() {
  83.         mUserId = mAuth.getUid();
  84.         mUserRef = mRootRef.child("user");
  85.         mUserRef.child(mUserId).addValueEventListener(new ValueEventListener() {
  86.             @Override
  87.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  88.                 User user = dataSnapshot.getValue(User.class);
  89.                 mFullName = user.name;
  90.             }
  91.  
  92.             @Override
  93.             public void onCancelled(@NonNull DatabaseError databaseError) {
  94.  
  95.             }
  96.         });
  97.         return mFullName;
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement