2018-02-09 17:31:07 +01:00
|
|
|
package me.impy.aegis;
|
|
|
|
|
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
|
import android.view.View;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.LinearLayout;
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
2018-02-13 13:25:13 +01:00
|
|
|
import me.impy.aegis.crypto.KeyStoreHandle;
|
2018-02-09 17:31:07 +01:00
|
|
|
import me.impy.aegis.crypto.slots.FingerprintSlot;
|
|
|
|
import me.impy.aegis.crypto.slots.PasswordSlot;
|
|
|
|
import me.impy.aegis.crypto.slots.RawSlot;
|
|
|
|
import me.impy.aegis.crypto.slots.Slot;
|
|
|
|
|
|
|
|
public class SlotHolder extends RecyclerView.ViewHolder {
|
|
|
|
private TextView _slotUsed;
|
|
|
|
private TextView _slotName;
|
|
|
|
private ImageView _slotImg;
|
|
|
|
private LinearLayout _buttonEdit;
|
|
|
|
private ImageView _buttonDelete;
|
|
|
|
|
|
|
|
public SlotHolder(final View view) {
|
|
|
|
super(view);
|
|
|
|
_slotUsed = view.findViewById(R.id.text_slot_used);
|
|
|
|
_slotName = view.findViewById(R.id.text_slot_name);
|
|
|
|
_slotImg = view.findViewById(R.id.img_slot);
|
|
|
|
_buttonEdit = view.findViewById(R.id.button_edit);
|
|
|
|
_buttonDelete = view.findViewById(R.id.button_delete);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setData(Slot slot) {
|
|
|
|
if (slot instanceof PasswordSlot) {
|
2018-02-13 13:25:13 +01:00
|
|
|
_slotName.setText("Password");
|
2018-02-09 17:31:07 +01:00
|
|
|
_slotImg.setImageResource(R.drawable.ic_create_black_24dp);
|
|
|
|
} else if (slot instanceof FingerprintSlot) {
|
2018-02-13 13:25:13 +01:00
|
|
|
_slotName.setText("Finger");
|
2018-02-09 17:31:07 +01:00
|
|
|
_slotImg.setImageResource(R.drawable.ic_fingerprint_black_24dp);
|
2018-02-13 13:25:13 +01:00
|
|
|
try {
|
|
|
|
KeyStoreHandle keyStore = new KeyStoreHandle();
|
|
|
|
if (keyStore.containsKey(slot.getID())) {
|
|
|
|
_slotUsed.setVisibility(View.VISIBLE);
|
|
|
|
}
|
|
|
|
} catch (Exception e) { }
|
2018-02-09 17:31:07 +01:00
|
|
|
} else if (slot instanceof RawSlot) {
|
2018-02-13 13:25:13 +01:00
|
|
|
_slotName.setText("Raw");
|
2018-02-09 17:31:07 +01:00
|
|
|
_slotImg.setImageResource(R.drawable.ic_vpn_key_black_24dp);
|
|
|
|
} else {
|
|
|
|
throw new RuntimeException();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setOnEditClickListener(View.OnClickListener listener) {
|
|
|
|
_buttonEdit.setOnClickListener(listener);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setOnDeleteClickListener(View.OnClickListener listener) {
|
|
|
|
_buttonDelete.setOnClickListener(listener);
|
|
|
|
}
|
|
|
|
}
|