Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2018
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.15 KB | None | 0 0
  1. public class UsersActivity extends AppCompatActivity {
  2.     private static final String TAG = "UsersActivity";
  3.  
  4.     @BindView(R.id.users_recyclerview) RecyclerView mUsersRecyclerView;
  5.  
  6.     private String mCurrentUid;
  7.     UserAdapter mAdapter;
  8.     private DatabaseReference mDatabase;
  9.     private List<User> mUserList = new ArrayList<>();
  10.  
  11.    // private FirebaseUser mcurrentuser;
  12.     @Override
  13.     protected void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);
  15.         setContentView(R.layout.activity_users);
  16.         ButterKnife.bind(this);
  17.  
  18.         mUsersRecyclerView.setHasFixedSize(true);
  19.         mUsersRecyclerView.setLayoutManager(new LinearLayoutManager(this));
  20.         mCurrentUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
  21.         mDatabase = FirebaseDatabase.getInstance().getReference("users");
  22.         mDatabase.keepSynced(true);  // offline capabilities
  23.         mDatabase.child(FirebaseAuth.getInstance().getCurrentUser().getUid() + "/online").setValue("true");
  24.     }
  25.  
  26.     @Override
  27.     protected void onStart() {
  28.         super.onStart();
  29.         setRecyclerView();
  30.     }
  31.  
  32.     private void setRecyclerView() {
  33.         mUsersRecyclerView.setHasFixedSize(true);
  34.         mUsersRecyclerView.setLayoutManager(new LinearLayoutManager(this));
  35.         mAdapter = new UserAdapter();
  36.         mUsersRecyclerView.setAdapter(mAdapter);
  37.         mDatabase.addValueEventListener(new ValueEventListener() {
  38.             @Override
  39.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  40.                 Iterable<DataSnapshot> list = dataSnapshot.getChildren();
  41.  
  42.                 // Filter current user
  43.                 //List<User> userList = new ArrayList<>();
  44.                 for (DataSnapshot user : list) {
  45.                     if (!user.getKey().equals(mCurrentUid)) {
  46.                         mUserList.add(user.getValue(User.class));
  47.                     }
  48.                 }
  49.                 // Setting data
  50.                 // mAdapter.setItems(userList);
  51.             }
  52.  
  53.             @Override public void onCancelled(@NonNull DatabaseError databaseError) {}
  54.         });
  55.         mUsersRecyclerView.setAdapter(mAdapter);
  56.     }
  57.  
  58.     private class UserAdapter extends RecyclerView.Adapter<UserViewHolder> {
  59.  
  60.         @NonNull
  61.         @Override
  62.         public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  63.             return new UserViewHolder(LayoutInflater.from(parent.getContext())
  64.                     .inflate(R.layout.user_item_layout, parent, false));
  65.         }
  66.  
  67.         @Override
  68.         public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
  69.             User user = mUserList.get(position);
  70.             holder.bind(user);
  71.  
  72.             // TODO: move this to holder.bind() method
  73.             holder.setThumb_image(user.getThumb_image(),getApplicationContext());
  74.             holder.mView.setOnClickListener(new View.OnClickListener() {
  75.                 @Override
  76.                 public void onClick(View view) {
  77.                     Intent intent9 = new Intent(UsersActivity.this,ProfileActivity.class);
  78.                     intent9.putExtra("user_id", uid); // TODO: get uid here
  79.                     startActivity(intent9);
  80.                 }
  81.             });
  82.         }
  83.  
  84.         @Override
  85.         public int getItemCount() {
  86.             return mUserList.size();
  87.         }
  88.     }
  89.  
  90.     private class UserViewHolder extends RecyclerView.ViewHolder {
  91.  
  92.         View mView;
  93.  
  94.         public UserViewHolder(View itemView) {
  95.             super(itemView);
  96.             mView = itemView;
  97.         }
  98.  
  99.         public void bind(User user) {
  100.             TextView nameView = mView.findViewById(R.id.item_name);
  101.             nameView.setText(user.getName());
  102.  
  103.             TextView statusView = mView.findViewById(R.id.item_status);
  104.             statusView.setText(user.getStatus());
  105.         }
  106.  
  107.         public void setThumb_image(String thumb_image, Context ctx) {
  108.             CircleImageView imageView = mView.findViewById(R.id.item_image);
  109.             Picasso.with(ctx).load(thumb_image).placeholder(R.mipmap.icon).into(imageView);
  110.         }
  111.     }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement