diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 57ed99d3..fdb0ec50 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -32,6 +32,7 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; @@ -58,6 +59,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0 ? View.VISIBLE : View.GONE); holder.tvSubject.setTypeface(null, visibility); holder.tvCount.setTypeface(null, visibility); diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index b867c825..806ca0ed 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -33,6 +33,7 @@ public interface DaoMessage { @Query("SELECT message.*, folder.name as folderName, folder.type as folderType" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread) AS count" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread AND NOT m.ui_seen) AS unseen" + + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + " FROM folder" + " JOIN message ON folder = folder.id" + " WHERE folder.type = '" + EntityFolder.TYPE_INBOX + "'" + @@ -45,6 +46,7 @@ public interface DaoMessage { @Query("SELECT message.*, folder.name as folderName, folder.type as folderType" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread) AS count" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread AND NOT m.ui_seen) AS unseen" + + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + " FROM folder" + " JOIN message ON folder = folder.id" + " WHERE folder.id = :folder" + @@ -56,6 +58,7 @@ public interface DaoMessage { @Query("SELECT message.*, folder.name as folderName, folder.type as folderType" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread) AS count" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread AND NOT m.ui_seen) AS unseen" + + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + " FROM message" + " JOIN folder ON folder.id = message.folder" + " JOIN message m1 ON m1.id = :msgid AND m1.account = message.account AND m1.thread = message.thread" + @@ -71,6 +74,7 @@ public interface DaoMessage { @Query("SELECT message.*, folder.name as folderName, folder.type as folderType" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread) AS count" + ", (SELECT COUNT(m.id) FROM message m WHERE m.account = message.account AND m.thread = message.thread AND NOT m.ui_seen) AS unseen" + + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + " FROM message" + " JOIN folder ON folder.id = message.folder" + " WHERE message.id = :id") diff --git a/app/src/main/java/eu/faircode/email/TupleMessageEx.java b/app/src/main/java/eu/faircode/email/TupleMessageEx.java index ce3bd068..c516bf65 100644 --- a/app/src/main/java/eu/faircode/email/TupleMessageEx.java +++ b/app/src/main/java/eu/faircode/email/TupleMessageEx.java @@ -24,6 +24,7 @@ public class TupleMessageEx extends EntityMessage { public String folderType; public int count; public int unseen; + public int attachments; @Override public boolean equals(Object obj) { @@ -32,7 +33,8 @@ public class TupleMessageEx extends EntityMessage { return (super.equals(obj) && this.folderType.equals(other.folderType) && this.count == other.count && - this.unseen == other.unseen); + this.unseen == other.unseen && + this.attachments == other.attachments); } return super.equals(obj); } diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_black_18.png b/app/src/main/res/drawable-hdpi/baseline_attachment_black_18.png new file mode 100755 index 00000000..577ef454 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_black_18.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_black_24.png b/app/src/main/res/drawable-hdpi/baseline_attachment_black_24.png new file mode 100755 index 00000000..a2ec7aad Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_black_24.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_black_36.png b/app/src/main/res/drawable-hdpi/baseline_attachment_black_36.png new file mode 100755 index 00000000..d3fab2eb Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_black_36.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_black_48.png b/app/src/main/res/drawable-hdpi/baseline_attachment_black_48.png new file mode 100755 index 00000000..8674f98c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_black_48.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_white_18.png b/app/src/main/res/drawable-hdpi/baseline_attachment_white_18.png new file mode 100755 index 00000000..0636d8b2 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_white_18.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_white_24.png b/app/src/main/res/drawable-hdpi/baseline_attachment_white_24.png new file mode 100755 index 00000000..fee7322d Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_white_24.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_white_36.png b/app/src/main/res/drawable-hdpi/baseline_attachment_white_36.png new file mode 100755 index 00000000..5a94e6dc Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_white_36.png differ diff --git a/app/src/main/res/drawable-hdpi/baseline_attachment_white_48.png b/app/src/main/res/drawable-hdpi/baseline_attachment_white_48.png new file mode 100755 index 00000000..b15e1370 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/baseline_attachment_white_48.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_black_18.png b/app/src/main/res/drawable-mdpi/baseline_attachment_black_18.png new file mode 100755 index 00000000..18aad9a3 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_black_18.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_black_24.png b/app/src/main/res/drawable-mdpi/baseline_attachment_black_24.png new file mode 100755 index 00000000..53c3364b Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_black_24.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_black_36.png b/app/src/main/res/drawable-mdpi/baseline_attachment_black_36.png new file mode 100755 index 00000000..a2ec7aad Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_black_36.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_black_48.png b/app/src/main/res/drawable-mdpi/baseline_attachment_black_48.png new file mode 100755 index 00000000..e1d37bd3 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_black_48.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_white_18.png b/app/src/main/res/drawable-mdpi/baseline_attachment_white_18.png new file mode 100755 index 00000000..cb9907dc Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_white_18.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_white_24.png b/app/src/main/res/drawable-mdpi/baseline_attachment_white_24.png new file mode 100755 index 00000000..0fc01d6c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_white_24.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_white_36.png b/app/src/main/res/drawable-mdpi/baseline_attachment_white_36.png new file mode 100755 index 00000000..fee7322d Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_white_36.png differ diff --git a/app/src/main/res/drawable-mdpi/baseline_attachment_white_48.png b/app/src/main/res/drawable-mdpi/baseline_attachment_white_48.png new file mode 100755 index 00000000..bfa3d8cf Binary files /dev/null and b/app/src/main/res/drawable-mdpi/baseline_attachment_white_48.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_black_18.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_18.png new file mode 100755 index 00000000..a2ec7aad Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_18.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_black_24.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_24.png new file mode 100755 index 00000000..e1d37bd3 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_24.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_black_36.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_36.png new file mode 100755 index 00000000..8674f98c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_36.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_black_48.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_48.png new file mode 100755 index 00000000..56f30409 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_black_48.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_white_18.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_18.png new file mode 100755 index 00000000..fee7322d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_18.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_white_24.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_24.png new file mode 100755 index 00000000..bfa3d8cf Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_24.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_white_36.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_36.png new file mode 100755 index 00000000..b15e1370 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_36.png differ diff --git a/app/src/main/res/drawable-xhdpi/baseline_attachment_white_48.png b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_48.png new file mode 100755 index 00000000..89993fa2 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/baseline_attachment_white_48.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_18.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_18.png new file mode 100755 index 00000000..d3fab2eb Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_18.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_24.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_24.png new file mode 100755 index 00000000..8674f98c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_24.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_36.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_36.png new file mode 100755 index 00000000..b5120226 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_36.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_48.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_48.png new file mode 100755 index 00000000..b2f81c79 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_black_48.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_18.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_18.png new file mode 100755 index 00000000..5a94e6dc Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_18.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_24.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_24.png new file mode 100755 index 00000000..b15e1370 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_24.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_36.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_36.png new file mode 100755 index 00000000..ebb463de Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_36.png differ diff --git a/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_48.png b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_48.png new file mode 100755 index 00000000..5be12f0d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/baseline_attachment_white_48.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_18.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_18.png new file mode 100755 index 00000000..8674f98c Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_18.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_24.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_24.png new file mode 100755 index 00000000..56f30409 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_24.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_36.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_36.png new file mode 100755 index 00000000..b2f81c79 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_36.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_48.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_48.png new file mode 100755 index 00000000..7c88d41c Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_black_48.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_18.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_18.png new file mode 100755 index 00000000..b15e1370 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_18.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_24.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_24.png new file mode 100755 index 00000000..89993fa2 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_24.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_36.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_36.png new file mode 100755 index 00000000..5be12f0d Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_36.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_48.png b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_48.png new file mode 100755 index 00000000..37ccd91b Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/baseline_attachment_white_48.png differ diff --git a/app/src/main/res/drawable/baseline_attachment_24.xml b/app/src/main/res/drawable/baseline_attachment_24.xml new file mode 100755 index 00000000..5a5b39fe --- /dev/null +++ b/app/src/main/res/drawable/baseline_attachment_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/item_message.xml b/app/src/main/res/layout/item_message.xml index 1e7b6d6a..573711fc 100644 --- a/app/src/main/res/layout/item_message.xml +++ b/app/src/main/res/layout/item_message.xml @@ -29,6 +29,15 @@ app:layout_constraintBottom_toBottomOf="@id/tvFrom" app:layout_constraintEnd_toEndOf="parent" /> + +