Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kosmoglou.antogkou.learninganalytics;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.DefaultItemAnimator;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnFailureListener;
- import com.google.android.gms.tasks.OnSuccessListener;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.firestore.EventListener;
- import com.google.firebase.firestore.FirebaseFirestore;
- import com.google.firebase.firestore.FirebaseFirestoreException;
- import com.google.firebase.firestore.QuerySnapshot;
- import com.google.firebase.firestore.SetOptions;
- import java.util.ArrayList;
- import java.util.List;
- public class NotificationFeedActivity extends AppCompatActivity {
- private Button return_button;
- Button submit,fetch;
- EditText fullname,username;
- RecyclerView recyclerView;
- ArrayList<FavModel> favModelArrayList;
- private ArrayList<String> userName = new ArrayList<>();
- private ArrayList<String> fullName = new ArrayList<>();
- private RecyclerView.LayoutManager layoutManager;
- public static String TAG = "MainActivity";
- private FirebaseFirestore mFirestore;
- private DatabaseReference UsersRef;
- String currentUserID;
- private FirebaseAuth mAuth;
- private void SendUserToMainActivity() {
- Intent mainIntent = new Intent (NotificationFeedActivity.this, MainActivity.class);
- mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- startActivity(mainIntent);
- finish();
- }
- @Override
- protected void onStart() {
- mAuth = FirebaseAuth.getInstance();
- currentUserID = mAuth.getCurrentUser().getUid();
- UsersRef = FirebaseDatabase.getInstance().getReference().child("Users").child(currentUserID);
- super.onStart();
- mFirestore.collection("Users").addSnapshotListener(this,new EventListener<QuerySnapshot>() {
- @Override
- public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
- if(documentSnapshots.isEmpty()){
- Log.w(TAG,"Exec "+e);
- }else{
- List<FavModel> favModel = documentSnapshots.toObjects(FavModel.class);
- CustomAdapter customAdapter = new CustomAdapter(favModel);
- recyclerView.setAdapter(customAdapter);
- Log.w(TAG,"Size onstart "+favModel.size());
- }
- }
- });
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.content_notification_feed);
- /*return_button = (Button) findViewById(R.id.return_button);
- return_button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view)
- {
- SendUserToMainActivity();
- }
- });*/
- //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- // setSupportActionBar(toolbar);
- mFirestore = FirebaseFirestore.getInstance();
- initviews();
- //fetchdata();
- //final CollectionReference samplesref = mFirestore.collection("sampleData");
- submit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- insertdata();
- }
- });
- fetch.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- fetchdata();
- }
- });
- }
- private void fetchdata() {
- //DocumentReference userRef = mFirestore.collection("cities").document("SF");
- mFirestore.collection("Users")
- .get()
- .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
- @Override
- public void onSuccess(QuerySnapshot documentSnapshots) {
- List<FavModel> favModel = documentSnapshots.toObjects(FavModel.class);
- Log.w(TAG,"fetch successful : "+favModel.size());
- for(int i=0;i<favModel.size();i++){
- Log.w(TAG,"data"+favModel.get(i).getFullname()+" "+favModel.get(i).getUsername());
- }
- CustomAdapter customAdapter = new CustomAdapter(favModel);
- recyclerView.setAdapter(customAdapter);
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- Log.w(TAG,"failed to fetch");
- }
- });
- }
- private void insertdata() {
- String sfullname = fullname.getText().toString();
- String susername = username.getText().toString();
- if(sfullname.isEmpty()|| susername.isEmpty()){
- Toast.makeText(NotificationFeedActivity.this, "Both fields Required", Toast.LENGTH_SHORT).show();
- }else {
- FavModel favModel = new FavModel(sfullname,susername);
- mFirestore.collection("Users").document(currentUserID)
- .set(favModel, SetOptions.merge())
- .addOnSuccessListener(new OnSuccessListener<Void>() {
- @Override
- public void onSuccess(Void aVoid) {
- Log.w(TAG,"submitted");
- // fetchdata();
- fullname.setText("");
- username.setText("");
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- Log.w(TAG,"not submitted");
- }
- });
- }
- }
- private void initviews() {
- fullname = (EditText) findViewById(R.id.fullname);
- username = (EditText)findViewById(R.id.username);
- submit = (Button)findViewById(R.id.submit);
- fetch = (Button)findViewById(R.id.fetch);
- recyclerView = (RecyclerView)findViewById(R.id.recycler_view);
- recyclerView.setHasFixedSize(true);
- layoutManager = new LinearLayoutManager(this);
- recyclerView.setLayoutManager(layoutManager);
- recyclerView.setItemAnimator(new DefaultItemAnimator());
- }
- boolean doubleBackToExitPressedOnce = false;
- @Override
- public void onBackPressed() {
- if (doubleBackToExitPressedOnce) {
- super.onBackPressed();
- return;
- }
- this.doubleBackToExitPressedOnce = true;
- Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- doubleBackToExitPressedOnce=false;
- }
- }, 2000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement