Show precise timestamp when pressing on message time (closes #90).
This commit is contained in:
committed by
Jannis Mattheis
parent
10b6741cd5
commit
077eaff084
@@ -24,6 +24,7 @@ import io.noties.markwon.ext.tables.TablePlugin;
|
|||||||
import io.noties.markwon.image.picasso.PicassoImagesPlugin;
|
import io.noties.markwon.image.picasso.PicassoImagesPlugin;
|
||||||
import io.noties.markwon.movement.MovementMethodPlugin;
|
import io.noties.markwon.movement.MovementMethodPlugin;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import org.threeten.bp.OffsetDateTime;
|
||||||
|
|
||||||
public class ListMessageAdapter extends RecyclerView.Adapter<ListMessageAdapter.ViewHolder> {
|
public class ListMessageAdapter extends RecyclerView.Adapter<ListMessageAdapter.ViewHolder> {
|
||||||
|
|
||||||
@@ -88,10 +89,10 @@ public class ListMessageAdapter extends RecyclerView.Adapter<ListMessageAdapter.
|
|||||||
.error(R.drawable.ic_alarm)
|
.error(R.drawable.ic_alarm)
|
||||||
.placeholder(R.drawable.ic_placeholder)
|
.placeholder(R.drawable.ic_placeholder)
|
||||||
.into(holder.image);
|
.into(holder.image);
|
||||||
holder.date.setText(
|
|
||||||
message.message.getDate() != null
|
holder.setDateTime(message.message.getDate());
|
||||||
? Utils.dateToRelative(message.message.getDate())
|
holder.date.setOnClickListener((ignored) -> holder.switchPreciseDate());
|
||||||
: "?");
|
|
||||||
holder.delete.setOnClickListener(
|
holder.delete.setOnClickListener(
|
||||||
(ignored) -> delete.delete(holder.getAdapterPosition(), message.message, false));
|
(ignored) -> delete.delete(holder.getAdapterPosition(), message.message, false));
|
||||||
}
|
}
|
||||||
@@ -123,9 +124,37 @@ public class ListMessageAdapter extends RecyclerView.Adapter<ListMessageAdapter.
|
|||||||
@BindView(R.id.message_delete)
|
@BindView(R.id.message_delete)
|
||||||
ImageButton delete;
|
ImageButton delete;
|
||||||
|
|
||||||
|
private boolean preciseDate;
|
||||||
|
private OffsetDateTime dateTime;
|
||||||
|
|
||||||
ViewHolder(final View view) {
|
ViewHolder(final View view) {
|
||||||
super(view);
|
super(view);
|
||||||
ButterKnife.bind(this, view);
|
ButterKnife.bind(this, view);
|
||||||
|
preciseDate = false;
|
||||||
|
dateTime = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
void switchPreciseDate() {
|
||||||
|
preciseDate = !preciseDate;
|
||||||
|
updateDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setDateTime(OffsetDateTime dateTime) {
|
||||||
|
this.dateTime = dateTime;
|
||||||
|
preciseDate = false;
|
||||||
|
updateDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateDate() {
|
||||||
|
String text = "?";
|
||||||
|
if (dateTime != null) {
|
||||||
|
if (preciseDate) {
|
||||||
|
text = dateTime.toString();
|
||||||
|
} else {
|
||||||
|
text = Utils.dateToRelative(dateTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
date.setText(text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user