diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipAdapter.java new file mode 100644 index 000000000..4f7bc6642 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipAdapter.java @@ -0,0 +1,63 @@ +package org.sufficientlysecure.keychain.ui.chips; + + +import android.content.Context; +import android.support.v4.content.ContextCompat; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.view.ViewGroup; + +import com.pchmn.materialchips.ChipView; +import com.pchmn.materialchips.ChipsInput; +import com.pchmn.materialchips.adapter.ChipsAdapter; +import com.pchmn.materialchips.simple.SimpleChip; +import com.pchmn.materialchips.util.ViewUtil; +import com.pchmn.materialchips.views.DetailedChipView; +import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.ui.chips.EncryptRecipientChipAdapter.ItemViewHolder; +import org.sufficientlysecure.keychain.ui.chips.EncryptRecipientChipsInput.EncryptRecipientChip; + + +public class EncryptRecipientChipAdapter extends ChipsAdapter { + public EncryptRecipientChipAdapter(Context context, ChipsInput chipsInput) { + super(context, chipsInput); + } + + @Override + public ItemViewHolder onCreateChipViewHolder(ViewGroup parent, int viewType) { + int padding = ViewUtil.dpToPx(4); + ChipView chipView = new ChipView.Builder(context) + // .labelColor(mChipLabelColor) + // .deletable(mChipDeletable) + // .deleteIcon(mChipDeleteIcon) + // .deleteIconColor(mChipDeleteIconColor) + .build(); + chipView.setPadding(padding, padding, padding, padding); + + return new ItemViewHolder(chipView); + } + + @Override + public void onBindChipViewHolder(ItemViewHolder holder, int position) { + EncryptRecipientChip chip = getItem(position); + holder.chipView.inflate(new SimpleChip(chip.keyInfo.name(), chip.keyInfo.email())); + handleClickOnEditText(holder.chipView, position); + } + + @Override + public DetailedChipView getDetailedChipView(EncryptRecipientChip chip) { + return new DetailedChipView.Builder(context) + .chip(new SimpleChip(chip.keyInfo.name(), chip.keyInfo.email())) + .backgroundColor(ContextCompat.getColorStateList(context, R.color.cardview_light_background)) + .build(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + private final ChipView chipView; + + ItemViewHolder(View view) { + super(view); + chipView = (ChipView) view; + } + } +} diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipsInput.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipsInput.java index 2a291791f..41fd161fc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipsInput.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/chips/EncryptRecipientChipsInput.java @@ -25,8 +25,8 @@ public class EncryptRecipientChipsInput extends ChipsInput } private void init() { -// ChipsAdapter chipsAdapter = new SimpleChipsAdapter(getContext(), this); -// setChipsAdapter(chipsAdapter); + EncryptRecipientChipAdapter chipsAdapter = new EncryptRecipientChipAdapter(getContext(), this); + setChipsAdapter(chipsAdapter); } public void setData(List keyInfoChips) { diff --git a/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/ChipsInput.java b/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/ChipsInput.java index 5320a397b..961a1fda4 100644 --- a/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/ChipsInput.java +++ b/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/ChipsInput.java @@ -307,7 +307,7 @@ public abstract class ChipsInput extends ScrollViewMax mDropdownListView = new DropdownListView(mContext, this); } mDropdownListView.build(filterableAdapter); - chipsAdapter.setFilterableListView(mDropdownListView); + chipsInputEditText.setFilterableListView(mDropdownListView); mDropdownListView.getRecyclerView().addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new OnItemClickListener() { @Override public void onItemClick(View view, int position) { diff --git a/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/adapter/ChipsAdapter.java b/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/adapter/ChipsAdapter.java index 1770a2b77..df012a5d2 100644 --- a/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/adapter/ChipsAdapter.java +++ b/extern/MaterialChipsInput/src/main/java/com/pchmn/materialchips/adapter/ChipsAdapter.java @@ -21,7 +21,6 @@ import com.pchmn.materialchips.adapter.FilterableAdapter.FilterableItem; import com.pchmn.materialchips.util.ViewUtil; import com.pchmn.materialchips.views.ChipsInputEditText; import com.pchmn.materialchips.views.DetailedChipView; -import com.pchmn.materialchips.views.DropdownListView; public abstract class ChipsAdapter @@ -177,12 +176,6 @@ public abstract class ChipsAdapter chipList) { if (chipList != null) { if (chipList.size() > 0) {