mirror of https://github.com/M66B/FairEmail.git
Show if drafts
This commit is contained in:
parent
47fed9180b
commit
186d6e1943
|
@ -153,6 +153,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
private TextView tvFrom;
|
||||
private TextView tvSize;
|
||||
private TextView tvTime;
|
||||
private ImageView ivDraft;
|
||||
private ImageView ivAnswered;
|
||||
private ImageView ivAttachments;
|
||||
private TextView tvSubject;
|
||||
|
@ -211,6 +212,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
tvFrom = itemView.findViewById(R.id.tvFrom);
|
||||
tvSize = itemView.findViewById(R.id.tvSize);
|
||||
tvTime = itemView.findViewById(R.id.tvTime);
|
||||
ivDraft = itemView.findViewById(R.id.ivDraft);
|
||||
ivAnswered = itemView.findViewById(R.id.ivAnswered);
|
||||
ivAttachments = itemView.findViewById(R.id.ivAttachments);
|
||||
tvSubject = itemView.findViewById(R.id.tvSubject);
|
||||
|
@ -295,6 +297,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
tvFrom.setText(null);
|
||||
tvSize.setText(null);
|
||||
tvTime.setText(null);
|
||||
ivDraft.setVisibility(View.GONE);
|
||||
ivAnswered.setVisibility(View.GONE);
|
||||
ivAttachments.setVisibility(View.GONE);
|
||||
tvSubject.setText(null);
|
||||
|
@ -340,6 +343,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
tvFrom.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
tvSize.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
tvTime.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
ivDraft.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
ivAnswered.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
ivAttachments.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
tvSubject.setAlpha(message.duplicate ? LOW_LIGHT : 1.0f);
|
||||
|
@ -423,6 +427,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
tvSize.setVisibility(message.size == null || message.content ? View.GONE : View.VISIBLE);
|
||||
tvTime.setText(DateUtils.getRelativeTimeSpanString(context, message.received));
|
||||
|
||||
ivDraft.setVisibility(message.drafts > 0 ? View.VISIBLE : View.GONE);
|
||||
ivAnswered.setVisibility(message.ui_answered ? View.VISIBLE : View.GONE);
|
||||
ivAttachments.setVisibility(message.attachments > 0 ? View.VISIBLE : View.GONE);
|
||||
tvNoInternetAttachments.setVisibility(View.GONE);
|
||||
|
|
|
@ -53,6 +53,7 @@ public interface DaoMessage {
|
|||
", " + unseen_unified + " AS unseen" +
|
||||
", " + unflagged_unified + " AS unflagged" +
|
||||
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
|
||||
", SUM(CASE WHEN folder.type = '" + EntityFolder.DRAFTS + "' THEN 1 ELSE 0 END) AS drafts" +
|
||||
", 0 AS duplicate" +
|
||||
", COUNT(DISTINCT message.msgid) AS visible" +
|
||||
", MAX(CASE WHEN folder.unified THEN message.received ELSE 0 END) AS dummy" +
|
||||
|
@ -90,6 +91,7 @@ public interface DaoMessage {
|
|||
", " + unseen_folder + " AS unseen" +
|
||||
", " + unflagged_folder + " AS unflagged" +
|
||||
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
|
||||
", SUM(CASE WHEN folder.type = '" + EntityFolder.DRAFTS + "' THEN 1 ELSE 0 END) AS drafts" +
|
||||
", COUNT(DISTINCT message.msgid) AS visible" +
|
||||
", 0 AS duplicate" +
|
||||
", MAX(CASE WHEN folder.id = :folder THEN message.received ELSE 0 END) AS dummy" +
|
||||
|
@ -120,6 +122,7 @@ public interface DaoMessage {
|
|||
", CASE WHEN message.ui_seen THEN 0 ELSE 1 END AS unseen" +
|
||||
", CASE WHEN message.ui_flagged THEN 0 ELSE 1 END AS unflagged" +
|
||||
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
|
||||
", CASE WHEN folder.type = '" + EntityFolder.DRAFTS + "' THEN 1 ELSE 0 END AS drafts" +
|
||||
", 1 AS visible" +
|
||||
|
||||
", ((folder.type = '" + EntityFolder.ARCHIVE + "' OR folder.type = '" + EntityFolder.SENT + "')" +
|
||||
|
@ -201,6 +204,7 @@ public interface DaoMessage {
|
|||
", CASE WHEN message.ui_seen THEN 0 ELSE 1 END AS unseen" +
|
||||
", CASE WHEN message.ui_flagged THEN 0 ELSE 1 END AS unflagged" +
|
||||
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
|
||||
", CASE WHEN folder.type = '" + EntityFolder.DRAFTS + "' THEN 1 ELSE 0 END AS drafts" +
|
||||
", 1 AS visible" +
|
||||
", 0 AS duplicate" +
|
||||
" FROM message" +
|
||||
|
@ -217,6 +221,7 @@ public interface DaoMessage {
|
|||
", 1 AS unseen" +
|
||||
", 0 AS unflagged" +
|
||||
", 0 AS attachments" +
|
||||
", 0 AS drafts" +
|
||||
", 1 AS visible" +
|
||||
", 0 AS duplicate" +
|
||||
" FROM message" +
|
||||
|
|
|
@ -30,6 +30,7 @@ public class TupleMessageEx extends EntityMessage {
|
|||
public int unseen;
|
||||
public int unflagged;
|
||||
public int attachments;
|
||||
public int drafts;
|
||||
public int visible;
|
||||
public boolean duplicate;
|
||||
|
||||
|
@ -48,6 +49,7 @@ public class TupleMessageEx extends EntityMessage {
|
|||
this.unseen == other.unseen &&
|
||||
this.unflagged == other.unflagged &&
|
||||
this.attachments == other.attachments &&
|
||||
this.drafts == other.drafts &&
|
||||
this.visible == other.visible &&
|
||||
this.duplicate == other.duplicate);
|
||||
}
|
||||
|
|
|
@ -208,6 +208,26 @@
|
|||
app:layout_constraintStart_toEndOf="@id/ivAttachment"
|
||||
app:layout_constraintTop_toTopOf="@id/ivAttachment" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivDraft"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@drawable/baseline_edit_24"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ivAttachment" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDraft"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="18dp"
|
||||
android:text="@string/title_legend_draft"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ivDraft"
|
||||
app:layout_constraintStart_toEndOf="@id/ivDraft"
|
||||
app:layout_constraintTop_toTopOf="@id/ivDraft" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivAnswered"
|
||||
android:layout_width="24dp"
|
||||
|
@ -215,7 +235,7 @@
|
|||
android:layout_marginTop="12dp"
|
||||
android:src="@drawable/baseline_reply_24"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ivAttachment" />
|
||||
app:layout_constraintTop_toBottomOf="@id/ivDraft" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAnswered"
|
||||
|
|
|
@ -102,6 +102,16 @@
|
|||
app:layout_constraintEnd_toStartOf="@+id/ivFlagged"
|
||||
app:layout_constraintTop_toBottomOf="@id/paddingTop" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivDraft"
|
||||
android:layout_width="21dp"
|
||||
android:layout_height="21dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:src="@drawable/baseline_edit_24"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvSubject"
|
||||
app:layout_constraintStart_toEndOf="@id/paddingStart"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvSubject" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivAnswered"
|
||||
android:layout_width="21dp"
|
||||
|
@ -109,7 +119,7 @@
|
|||
android:layout_marginStart="6dp"
|
||||
android:src="@drawable/baseline_reply_24"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvSubject"
|
||||
app:layout_constraintStart_toEndOf="@id/paddingStart"
|
||||
app:layout_constraintStart_toEndOf="@id/ivDraft"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvSubject" />
|
||||
|
||||
<ImageView
|
||||
|
|
|
@ -125,6 +125,16 @@
|
|||
app:layout_constraintEnd_toEndOf="@id/paddingEnd"
|
||||
app:layout_constraintTop_toBottomOf="@id/paddingTop" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivDraft"
|
||||
android:layout_width="21dp"
|
||||
android:layout_height="21dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:src="@drawable/baseline_edit_24"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvFolder"
|
||||
app:layout_constraintStart_toEndOf="@id/ivAvatar"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvFolder" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivAnswered"
|
||||
android:layout_width="21dp"
|
||||
|
@ -132,7 +142,7 @@
|
|||
android:layout_marginStart="6dp"
|
||||
android:src="@drawable/baseline_reply_24"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvFolder"
|
||||
app:layout_constraintStart_toEndOf="@id/ivAvatar"
|
||||
app:layout_constraintStart_toEndOf="@id/ivDraft"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvFolder" />
|
||||
|
||||
<ImageView
|
||||
|
|
|
@ -370,6 +370,7 @@
|
|||
<string name="title_legend_thread">Conversation</string>
|
||||
<string name="title_legend_cc">CC/BCC</string>
|
||||
<string name="title_legend_attachment">Attachment</string>
|
||||
<string name="title_legend_draft">Draft/edit</string>
|
||||
<string name="title_legend_answered">Answered</string>
|
||||
<string name="title_legend_contacts">Contacts</string>
|
||||
<string name="title_legend_view">View content</string>
|
||||
|
|
Loading…
Reference in New Issue