diff --git a/app/src/main/java/org/mercury_im/messenger/ui/account/AccountsRecyclerViewAdapter.java b/app/src/main/java/org/mercury_im/messenger/ui/account/AccountsRecyclerViewAdapter.java index 6723b91..f022fac 100644 --- a/app/src/main/java/org/mercury_im/messenger/ui/account/AccountsRecyclerViewAdapter.java +++ b/app/src/main/java/org/mercury_im/messenger/ui/account/AccountsRecyclerViewAdapter.java @@ -7,9 +7,11 @@ import android.widget.ImageView; import android.widget.Switch; import android.widget.TextView; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.RecyclerView; +import org.jetbrains.annotations.NotNull; import org.mercury_im.messenger.R; import org.mercury_im.messenger.entity.Account; import org.mercury_im.messenger.ui.avatar.AvatarDrawable; @@ -30,6 +32,7 @@ public class AccountsRecyclerViewAdapter extends RecyclerView.Adapter values) { - DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new AccountsDiffCallback(values, accounts), true); + DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff( + new AccountsDiffCallback(values, accounts), true); accounts.clear(); accounts.addAll(values); diffResult.dispatchUpdatesTo(this); @@ -57,8 +61,13 @@ public class AccountsRecyclerViewAdapter extends RecyclerView.Adapter viewModel.setAccountEnabled(account, checked)); + holder.enabled.setOnCheckedChangeListener((compoundButton, checked) -> + viewModel.setAccountEnabled(account, checked)); + setClickListenersOnViewHolder(holder); + } + + private void setClickListenersOnViewHolder(ViewHolder holder) { holder.mView.setOnClickListener(v -> { if (null != onAccountClickListener) { onAccountClickListener.onAccountListItemClick(holder.account); @@ -73,13 +82,13 @@ public class AccountsRecyclerViewAdapter extends RecyclerView.Adapter