You are on page 1of 3

package com.example.meplusplus.

Adapters;

import android.content.Context;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.example.meplusplus.DataSets.PostItem;
import com.example.meplusplus.DataSets.User;
import com.example.meplusplus.R;
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.squareup.picasso.Picasso;

import java.util.List;

import de.hdodenhof.circleimageview.CircleImageView;

public class PostAdapter extends RecyclerView.Adapter<PostAdapter.ViewHolder> {

Context context;
List<PostItem> list;
PostItem postItem;
User u;
//Firebase
FirebaseDatabase database;
DatabaseReference databaseReference;
FirebaseAuth auth;
FirebaseUser user;

public PostAdapter( List<PostItem> items,Context context) {


this.list=items;
this.context=context;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new
PostAdapter.ViewHolder(LayoutInflater.from(context).inflate(R.layout.social_page_po
st_item,parent,false));
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
postItem= list.get(position);
init();
String imageURL=postItem.getImageurl();

Picasso.get().load(imageURL).into(holder.social_page_image_content);
holder.social_page_image_description.setText(postItem.getDescription());
databaseReference.child(postItem.getPublisher()).addValueEventListener(new
ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {

if(!u.getImageurl().equals("default")){
u=snapshot.getValue(User.class);

Picasso.get().load(u.getImageurl()).into(holder.social_page_image_profile);
holder.social_page_username.setText(u.getUsername());

}
else{
u=snapshot.getValue(User.class);

holder.social_page_image_profile.setBackgroundResource(R.drawable.ic_baseline_accou
nt_circle_24);
holder.social_page_username.setText(u.getUsername());
}

@Override
public void onCancelled(@NonNull DatabaseError error) {

}
});

private void init() {


//FirebaseDatabase
auth=FirebaseAuth.getInstance();
user=auth.getCurrentUser();
FirebaseDatabase.getInstance("https://meplusplus-d17e9-default-rtdb.europe-
west1.firebasedatabase.app");
databaseReference = database.getReference().child("users");
}

@Override
public int getItemCount() {
return list.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {

CircleImageView social_page_image_profile;
TextView social_page_username;
TextView social_page_image_description;
ImageView social_page_image_content;
TextView social_page_place_a_comment;
TextView social_page_number_of_likes, social_page_number_of_comments;

public ViewHolder(@NonNull View itemView) {


super(itemView);

social_page_image_profile=itemView.findViewById(R.id.social_page_image_profile);
social_page_username=itemView.findViewById(R.id.social_page_username);

social_page_image_description=itemView.findViewById(R.id.social_page_image_descript
ion);

social_page_image_content=itemView.findViewById(R.id.social_page_image_content);

social_page_place_a_comment=itemView.findViewById(R.id.social_page_place_a_comment)
;

social_page_number_of_likes=itemView.findViewById(R.id.social_page_number_of_likes)
;

social_page_number_of_comments=itemView.findViewById(R.id.social_page_number_of_com
ments);
}
}
}

You might also like