Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bertho.chat;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.support.v7.widget.Toolbar;
- import android.view.View;
- import android.widget.TextView;
- import com.firebase.ui.database.FirebaseRecyclerAdapter;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.squareup.picasso.Callback;
- import com.squareup.picasso.NetworkPolicy;
- import com.squareup.picasso.Picasso;
- import de.hdodenhof.circleimageview.CircleImageView;
- public class UsersActivity extends AppCompatActivity {
- private Toolbar mToolbar;
- private RecyclerView mUsersList;
- private DatabaseReference mUsersDatabase;
- private ProgressDialog mDialog;
- private CircleImageView mDisplayImage;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_users);
- mDialog = new ProgressDialog(this);
- mToolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(mToolbar);
- getSupportActionBar().setTitle("User List");
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- mDisplayImage = (CircleImageView) findViewById(R.id.user_single_image);
- mUsersDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
- mUsersDatabase.keepSynced( true );
- mUsersList = (RecyclerView) findViewById(R.id.users_list);
- mUsersList.setHasFixedSize(true);
- mUsersList.setLayoutManager(new LinearLayoutManager(this));
- }
- @Override
- protected void onStart() {
- super.onStart();
- showLoading("Get All User Data...");
- FirebaseRecyclerAdapter<Users, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
- Users.class,
- R.layout.users_single_layout,
- UsersViewHolder.class,
- mUsersDatabase
- ) {
- @Override
- protected void populateViewHolder(UsersViewHolder usersViewHolder, Users users, int position) {
- usersViewHolder.setDisplayName(users.getName());
- usersViewHolder.setStatus(users.getStatus());
- usersViewHolder.setThumbImage(users.getThumb_image(), getApplicationContext());
- final String user_id = getRef(position).getKey();
- usersViewHolder.mView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent profile_intent = new Intent(UsersActivity.this, ProfileActivity.class);
- profile_intent.putExtra("user_id", user_id);
- startActivity(profile_intent);
- }
- });
- mDialog.dismiss();
- }
- };
- mUsersList.setAdapter(firebaseRecyclerAdapter);
- }
- public static class UsersViewHolder extends RecyclerView.ViewHolder {
- View mView;
- public UsersViewHolder(View itemView) {
- super(itemView);
- mView = itemView;
- }
- public void setDisplayName(String name) {
- TextView userNameView = (TextView) mView.findViewById(R.id.user_single_name);
- userNameView.setText(name);
- }
- public void setStatus(String status) {
- TextView statusView = (TextView) mView.findViewById(R.id.user_single_status);
- statusView.setText(status);
- }
- public void setThumbImage(final String thumb_image, final Context ctx) {
- final CircleImageView userImageView = (CircleImageView) mView.findViewById(R.id.user_single_image);
- /*Picasso.with(ctx)
- .load(thumb_image)
- .placeholder(R.drawable.no_profile)
- .into( userImageView);*/
- Picasso.with(ctx)
- .load(thumb_image)
- .networkPolicy( NetworkPolicy.OFFLINE )
- .placeholder(R.drawable.no_profile)
- .into( userImageView, new Callback() {
- @Override
- public void onSuccess() {
- }
- @Override
- public void onError() {
- Picasso.with(ctx)
- .load(thumb_image)
- .placeholder(R.drawable.no_profile)
- .into(userImageView);
- }
- } );
- }
- }
- private void showLoading(String s) {
- mDialog.setTitle("Please wait a moment");
- mDialog.setMessage(s);
- mDialog.setCanceledOnTouchOutside(false);
- mDialog.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement