mirror of
https://github.com/M66B/FairEmail.git
synced 2025-12-29 00:51:44 +01:00
Cache formatted bodies
This commit is contained in:
@@ -490,11 +490,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
tvBody.setTextSize(textSize / context.getResources().getDisplayMetrics().density);
|
||||
ta.recycle();
|
||||
|
||||
tvBody.setText(null);
|
||||
tvBody.setMovementMethod(null);
|
||||
Spanned body = properties.getBody(message.id);
|
||||
tvBody.setText(body);
|
||||
tvBody.setMovementMethod(new UrlHandler());
|
||||
pbBody.setVisibility(View.VISIBLE);
|
||||
|
||||
if (message.content) {
|
||||
if (body == null && message.content) {
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("message", message);
|
||||
bodyTask.load(context, owner, args);
|
||||
@@ -580,7 +581,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
Helper.unexpectedError(context, owner, ex);
|
||||
}
|
||||
}.load(context, owner, sargs);
|
||||
}
|
||||
} else
|
||||
properties.setBody(message.id, null);
|
||||
|
||||
itemView.setActivated(selectionTracker != null && selectionTracker.isSelected(message.id));
|
||||
}
|
||||
@@ -850,6 +852,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
tvBody.setText(body);
|
||||
tvBody.setMovementMethod(new UrlHandler());
|
||||
pbBody.setVisibility(View.GONE);
|
||||
properties.setBody(message.id, body);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1755,6 +1758,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
|
||||
boolean getValue(String name, long id);
|
||||
|
||||
void setBody(long id, Spanned body);
|
||||
|
||||
Spanned getBody(long id);
|
||||
|
||||
void move(long id, String target, boolean type);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user