Further reduce address parsing

pull/161/head
Unpublished 6 years ago
parent a14cfa71e3
commit 90ec110f41

@ -1844,7 +1844,7 @@ class Core {
return; return;
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
EntityMessage message = db.message().getMessage(id); DownloadMessage message = db.message().getDownloadMessageById(id);
if (message == null) if (message == null)
return; return;

@ -183,6 +183,11 @@ public interface DaoMessage {
" WHERE id = :id") " WHERE id = :id")
EntityMessage getMessage(long id); EntityMessage getMessage(long id);
@Query("SELECT id,size,content,warning" +
" FROM message" +
" WHERE id = :id")
DownloadMessage getDownloadMessageById(long id);
@Query("SELECT content" + @Query("SELECT content" +
" FROM message" + " FROM message" +
" WHERE id = :id") " WHERE id = :id")

@ -0,0 +1,24 @@
package eu.faircode.email;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.room.PrimaryKey;
import java.io.File;
class DownloadMessage {
@PrimaryKey(autoGenerate = true)
public Long id;
public Long size;
@NonNull
public Boolean content = false;
public String warning; // persistent
File getFile(Context context) {
File dir = new File(context.getFilesDir(), "messages");
if (!dir.exists())
dir.mkdir();
return new File(dir, id.toString());
}
}

@ -75,11 +75,9 @@ import static androidx.room.ForeignKey.SET_NULL;
@Index(value = {"ui_snoozed"}) @Index(value = {"ui_snoozed"})
} }
) )
public class EntityMessage implements Serializable { public class EntityMessage extends DownloadMessage implements Serializable {
static final String TABLE_NAME = "message"; static final String TABLE_NAME = "message";
@PrimaryKey(autoGenerate = true)
public Long id;
@NonNull @NonNull
public Long account; // performance public Long account; // performance
@NonNull @NonNull
@ -111,11 +109,8 @@ public class EntityMessage implements Serializable {
public String headers; public String headers;
public Boolean raw; public Boolean raw;
public String subject; public String subject;
public Long size;
@NonNull @NonNull
public Integer attachments = 0; // performance public Integer attachments = 0; // performance
@NonNull
public Boolean content = false;
public Boolean plain_only = null; public Boolean plain_only = null;
public Boolean encrypt = null; public Boolean encrypt = null;
public String preview; public String preview;
@ -152,7 +147,6 @@ public class EntityMessage implements Serializable {
public Integer color; public Integer color;
public Integer revision; // compose public Integer revision; // compose
public Integer revisions; // compose public Integer revisions; // compose
public String warning; // persistent
public String error; // volatile public String error; // volatile
public Long last_attempt; // send public Long last_attempt; // send
@ -194,13 +188,6 @@ public class EntityMessage implements Serializable {
return addresses.toArray(new Address[0]); return addresses.toArray(new Address[0]);
} }
File getFile(Context context) {
File dir = new File(context.getFilesDir(), "messages");
if (!dir.exists())
dir.mkdir();
return new File(dir, id.toString());
}
File getFile(Context context, int revision) { File getFile(Context context, int revision) {
File dir = new File(context.getFilesDir(), "revision"); File dir = new File(context.getFilesDir(), "revision");
if (!dir.exists()) if (!dir.exists())

Loading…
Cancel
Save