diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-06-05 23:10:35 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-06-05 23:10:35 +0300 |
commit | 3d5afce677122e2b33cb13b8ebd39808a1009ee5 (patch) | |
tree | b295e70168b3fddbe33cd735049872f3500721cd /app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java | |
parent | 6e4cc2ae2ad413e1790eced216611427bf8641af (diff) |
ManageAccountsActivity
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java new file mode 100644 index 00000000..e20528cd --- /dev/null +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java @@ -0,0 +1,42 @@ +package it.niedermann.owncloud.notes.manageaccounts; + +import android.net.Uri; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Consumer; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; + +import it.niedermann.owncloud.notes.R; +import it.niedermann.owncloud.notes.databinding.ItemAccountChooseBinding; +import it.niedermann.owncloud.notes.model.LocalAccount; + +public class ManageAccountViewHolder extends RecyclerView.ViewHolder { + + ItemAccountChooseBinding binding; + + public ManageAccountViewHolder(@NonNull View itemView) { + super(itemView); + binding = ItemAccountChooseBinding.bind(itemView); + } + + public void bind(@NonNull LocalAccount localAccount, @NonNull Consumer<LocalAccount> onAccountClick, @Nullable Consumer<LocalAccount> onAccountDelete) { + binding.accountItemLabel.setText(localAccount.getAccountName()); + Glide.with(itemView.getContext()) + .load(localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64") + .error(R.drawable.ic_account_circle_grey_24dp) + .apply(RequestOptions.circleCropTransform()) + .into(binding.accountItemAvatar); + itemView.setOnClickListener((v) -> onAccountClick.accept(localAccount)); + if (onAccountDelete == null) { + binding.delete.setVisibility(View.GONE); + } else { + binding.delete.setVisibility(View.VISIBLE); + binding.delete.setOnClickListener((v) -> onAccountDelete.accept(localAccount)); + } + } +} |