Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class UsersActivity extends AppCompatActivity {
- private static final String TAG = "UsersActivity";
- @BindView(R.id.users_recyclerview) RecyclerView mUsersRecyclerView;
- private String mCurrentUid;
- UserAdapter mAdapter;
- private DatabaseReference mDatabase;
- private List<User> mUserList = new ArrayList<>();
- // private FirebaseUser mcurrentuser;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_users);
- ButterKnife.bind(this);
- mUsersRecyclerView.setHasFixedSize(true);
- mUsersRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- mCurrentUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
- mDatabase = FirebaseDatabase.getInstance().getReference("users");
- mDatabase.keepSynced(true); // offline capabilities
- mDatabase.child(FirebaseAuth.getInstance().getCurrentUser().getUid() + "/online").setValue("true");
- }
- @Override
- protected void onStart() {
- super.onStart();
- setRecyclerView();
- }
- private void setRecyclerView() {
- mUsersRecyclerView.setHasFixedSize(true);
- mUsersRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- mAdapter = new UserAdapter();
- mUsersRecyclerView.setAdapter(mAdapter);
- mDatabase.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- Iterable<DataSnapshot> list = dataSnapshot.getChildren();
- // Filter current user
- //List<User> userList = new ArrayList<>();
- for (DataSnapshot user : list) {
- if (!user.getKey().equals(mCurrentUid)) {
- mUserList.add(user.getValue(User.class));
- }
- }
- // Setting data
- // mAdapter.setItems(userList);
- }
- @Override public void onCancelled(@NonNull DatabaseError databaseError) {}
- });
- mUsersRecyclerView.setAdapter(mAdapter);
- }
- private class UserAdapter extends RecyclerView.Adapter<UserViewHolder> {
- @NonNull
- @Override
- public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- return new UserViewHolder(LayoutInflater.from(parent.getContext())
- .inflate(R.layout.user_item_layout, parent, false));
- }
- @Override
- public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
- User user = mUserList.get(position);
- holder.bind(user);
- // TODO: move this to holder.bind() method
- holder.setThumb_image(user.getThumb_image(),getApplicationContext());
- holder.mView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent9 = new Intent(UsersActivity.this,ProfileActivity.class);
- intent9.putExtra("user_id", uid); // TODO: get uid here
- startActivity(intent9);
- }
- });
- }
- @Override
- public int getItemCount() {
- return mUserList.size();
- }
- }
- private class UserViewHolder extends RecyclerView.ViewHolder {
- View mView;
- public UserViewHolder(View itemView) {
- super(itemView);
- mView = itemView;
- }
- public void bind(User user) {
- TextView nameView = mView.findViewById(R.id.item_name);
- nameView.setText(user.getName());
- TextView statusView = mView.findViewById(R.id.item_status);
- statusView.setText(user.getStatus());
- }
- public void setThumb_image(String thumb_image, Context ctx) {
- CircleImageView imageView = mView.findViewById(R.id.item_image);
- Picasso.with(ctx).load(thumb_image).placeholder(R.mipmap.icon).into(imageView);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement