Added message warnings

pull/147/head
M66B 6 years ago
parent e36427894c
commit 69b5448859

File diff suppressed because it is too large Load Diff

@ -517,8 +517,15 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ivThread.setVisibility(View.VISIBLE);
}
String error = message.error;
if (message.warning != null)
if (error == null)
error = message.warning;
else
error += " " + message.warning;
if (debug) {
String text = "error=" + message.error +
String text = "error=" + error +
"\nuid=" + message.uid + " id=" + message.id + " " + df.format(new Date(message.received)) +
"\n" + (message.ui_hide ? "HIDDEN " : "") +
"seen=" + message.seen + "/" + message.ui_seen +
@ -532,8 +539,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvError.setText(text);
tvError.setVisibility(View.VISIBLE);
} else {
tvError.setText(message.error);
tvError.setVisibility(message.error == null ? View.GONE : View.VISIBLE);
tvError.setText(error);
tvError.setVisibility(error == null ? View.GONE : View.VISIBLE);
}
// Unseen

@ -49,7 +49,7 @@ import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory;
// https://developer.android.com/topic/libraries/architecture/room.html
@Database(
version = 35,
version = 36,
entities = {
EntityIdentity.class,
EntityAccount.class,
@ -426,6 +426,13 @@ public abstract class DB extends RoomDatabase {
db.execSQL("ALTER TABLE `attachment` ADD COLUMN `error` TEXT");
}
})
.addMigrations(new Migration(35, 36) {
@Override
public void migrate(SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `warning` TEXT");
}
})
.build();
}

@ -296,6 +296,9 @@ public interface DaoMessage {
@Query("UPDATE message SET ui_ignored = :ui_ignored WHERE id = :id")
int setMessageUiIgnored(long id, boolean ui_ignored);
@Query("UPDATE message SET warning = :warning WHERE id = :id")
int setMessageWarning(long id, String warning);
@Query("UPDATE message SET error = :error WHERE id = :id")
int setMessageError(long id, String error);

@ -148,7 +148,8 @@ public class EntityMessage implements Serializable {
@NonNull
public Boolean ui_browsed = false;
public Long ui_snoozed;
public String error;
public String warning; // persistent
public String error; // volatile
public Long last_attempt; // send
@Ignore
@ -346,6 +347,7 @@ public class EntityMessage implements Serializable {
this.ui_ignored.equals(other.ui_ignored) &&
//this.ui_browsed.equals(other.ui_browsed) &&
(this.ui_snoozed == null ? other.ui_snoozed == null : this.ui_snoozed.equals(other.ui_snoozed)) &&
(this.warning == null ? other.warning == null : this.warning.equals(other.warning)) &&
(this.error == null ? other.error == null : this.error.equals(other.error)));
}
return false;
@ -393,6 +395,7 @@ public class EntityMessage implements Serializable {
this.ui_ignored.equals(other.ui_ignored) &&
this.ui_browsed.equals(other.ui_browsed) &&
(this.ui_snoozed == null ? other.ui_snoozed == null : this.ui_snoozed.equals(other.ui_snoozed)) &&
(this.warning == null ? other.warning == null : this.warning.equals(other.warning)) &&
(this.error == null ? other.error == null : this.error.equals(other.error)));
}
return false;

@ -1967,6 +1967,7 @@ public class ServiceSynchronize extends LifecycleService {
String preview = HtmlHelper.getPreview(body);
message.write(this, body);
db.message().setMessageContent(message.id, true, preview);
db.message().setMessageWarning(message.id, parts.getWarnings());
}
private void doAttachment(EntityFolder folder, EntityOperation op, IMAPFolder ifolder, EntityMessage message, JSONArray jargs, DB db) throws JSONException, MessagingException, IOException {
@ -2628,9 +2629,7 @@ public class ServiceSynchronize extends LifecycleService {
String body = parts.getHtml(context);
message.write(context, body);
db.message().setMessageContent(message.id, true, HtmlHelper.getPreview(body));
String warnings = parts.getWarnings();
if (warnings != null)
db.message().setMessageError(message.id, warnings);
db.message().setMessageWarning(message.id, parts.getWarnings());
Log.i(folder.name + " downloaded message id=" + message.id + " size=" + message.size);
}

Loading…
Cancel
Save