kopia lustrzana https://github.com/sh123/codec2_talkie
44 wiersze
1.4 KiB
Java
44 wiersze
1.4 KiB
Java
package com.radio.codec2talkie.storage.log;
|
|
|
|
import android.view.ViewGroup;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.DiffUtil;
|
|
import androidx.recyclerview.widget.ListAdapter;
|
|
|
|
public class LogItemAdapter extends ListAdapter<LogItem, LogItemHolder> {
|
|
|
|
private final boolean _isClickable;
|
|
|
|
public LogItemAdapter(@NonNull DiffUtil.ItemCallback<LogItem> diffCallback, boolean isClickable) {
|
|
super(diffCallback);
|
|
_isClickable = isClickable;
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public LogItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
return LogItemHolder.create(parent, _isClickable);
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(LogItemHolder holder, int position) {
|
|
LogItem current = getItem(position);
|
|
holder.bind(current.getTimestampEpoch(), current.getSrcCallsign(), current.getLogLine(), current.getIsTransmit());
|
|
}
|
|
|
|
static class LogItemDiff extends DiffUtil.ItemCallback<LogItem> {
|
|
|
|
@Override
|
|
public boolean areItemsTheSame(@NonNull LogItem oldItem, @NonNull LogItem newItem) {
|
|
return oldItem.getTimestampEpoch() == newItem.getTimestampEpoch();
|
|
}
|
|
|
|
@Override
|
|
public boolean areContentsTheSame(@NonNull LogItem oldItem, @NonNull LogItem newItem) {
|
|
return oldItem.getTimestampEpoch() == newItem.getTimestampEpoch();
|
|
}
|
|
}
|
|
}
|
|
|