mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-08 01:53:25 +02:00
Fixed visibility state attachments
This commit is contained in:
@@ -201,7 +201,6 @@ public class FragmentMessage extends FragmentEx {
|
||||
|
||||
tvCount.setTag(tvCount.getVisibility());
|
||||
tvCc.setTag(grpAddresses.getVisibility());
|
||||
rvAttachment.setTag(grpAttachments.getVisibility());
|
||||
tvError.setTag(tvError.getVisibility());
|
||||
|
||||
tvCount.setVisibility(View.GONE);
|
||||
@@ -222,9 +221,11 @@ public class FragmentMessage extends FragmentEx {
|
||||
vSeparatorBody.setVisibility(View.VISIBLE);
|
||||
fab.setVisibility(View.VISIBLE);
|
||||
|
||||
RecyclerView.Adapter adapter = rvAttachment.getAdapter();
|
||||
|
||||
tvCount.setVisibility((int) tvCount.getTag());
|
||||
grpAddresses.setVisibility((int) tvCc.getTag());
|
||||
grpAttachments.setVisibility((int) rvAttachment.getTag());
|
||||
grpAttachments.setVisibility(adapter != null && adapter.getItemCount() > 0 ? View.VISIBLE : View.GONE);
|
||||
tvError.setVisibility((int) tvError.getTag());
|
||||
|
||||
return true;
|
||||
@@ -287,7 +288,6 @@ public class FragmentMessage extends FragmentEx {
|
||||
if (free) {
|
||||
outState.putInt("tag_count", (int) tvCount.getTag());
|
||||
outState.putInt("tag_cc", (int) tvCc.getTag());
|
||||
outState.putInt("tag_attachment", (int) rvAttachment.getTag());
|
||||
outState.putInt("tag_error", (int) tvError.getTag());
|
||||
}
|
||||
}
|
||||
@@ -380,13 +380,26 @@ public class FragmentMessage extends FragmentEx {
|
||||
if (free) {
|
||||
tvCount.setVisibility((int) tvCount.getTag());
|
||||
grpAddresses.setVisibility((int) tvCc.getTag());
|
||||
grpAttachments.setVisibility((int) rvAttachment.getTag());
|
||||
tvError.setVisibility((int) tvError.getTag());
|
||||
} else {
|
||||
tvCount.setVisibility(!free && message.count > 1 ? View.VISIBLE : View.GONE);
|
||||
tvError.setVisibility(free || message.error == null ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
// Observe attachments
|
||||
db.attachment().liveAttachments(id).removeObservers(getViewLifecycleOwner());
|
||||
db.attachment().liveAttachments(id).observe(getViewLifecycleOwner(),
|
||||
new Observer<List<EntityAttachment>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable List<EntityAttachment> attachments) {
|
||||
if (attachments == null)
|
||||
attachments = new ArrayList<>();
|
||||
|
||||
adapter.set(attachments);
|
||||
grpAttachments.setVisibility(!free && attachments.size() > 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
db.folder().liveFolders(message.account).removeObservers(getViewLifecycleOwner());
|
||||
db.folder().liveFolders(message.account).observe(getViewLifecycleOwner(), new Observer<List<TupleFolderEx>>() {
|
||||
@Override
|
||||
@@ -428,21 +441,6 @@ public class FragmentMessage extends FragmentEx {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Observe attachments
|
||||
db.attachment().liveAttachments(id).observe(getViewLifecycleOwner(),
|
||||
new Observer<List<EntityAttachment>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable List<EntityAttachment> attachments) {
|
||||
if (attachments == null)
|
||||
attachments = new ArrayList<>();
|
||||
|
||||
adapter.set(attachments);
|
||||
if (!free)
|
||||
grpAttachments.setVisibility(attachments.size() > 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user