package uk.co.alt236.btlescan.ui.details.recyclerview.binder; import android.content.Context; import uk.co.alt236.btlescan.R; import uk.co.alt236.btlescan.ui.common.recyclerview.BaseViewBinder; import uk.co.alt236.btlescan.ui.common.recyclerview.BaseViewHolder; import uk.co.alt236.btlescan.ui.common.recyclerview.RecyclerViewItem; import uk.co.alt236.btlescan.ui.details.recyclerview.holder.RssiInfoHolder; import uk.co.alt236.btlescan.ui.details.recyclerview.model.RssiItem; import uk.co.alt236.btlescan.util.TimeFormatter; public class RssiBinder extends BaseViewBinder<RssiItem> { public RssiBinder(Context context) { super(context); } private static String formatTime(final long time) { return TimeFormatter.getIsoDateTime(time); } @Override public void bind(BaseViewHolder<RssiItem> holder, RssiItem item) { final RssiInfoHolder actualHolder = (RssiInfoHolder) holder; actualHolder.getFirstTimestamp().setText(formatTime(item.getFirstTimestamp())); actualHolder.getFirstRssi().setText(formatRssi(item.getFirstRssi())); actualHolder.getLastTimestamp().setText(formatTime(item.getTimestamp())); actualHolder.getLastRssi().setText(formatRssi(item.getRssi())); actualHolder.getRunningAverageRssi().setText(formatRssi(item.getRunningAverageRssi())); } @Override public boolean canBind(RecyclerViewItem item) { return item instanceof RssiItem; } private String formatRssi(final double rssi) { return getContext().getString(R.string.formatter_db, String.valueOf(rssi)); } private String formatRssi(final int rssi) { return getContext().getString(R.string.formatter_db, String.valueOf(rssi)); } }