Set transient state on expand only

This commit is contained in:
M66B
2018-12-18 18:09:23 +01:00
parent deab962e8a
commit 8979eab674
2 changed files with 33 additions and 2 deletions

View File

@@ -247,8 +247,6 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvBody.setMovementMethod(new UrlHandler());
if (viewType == ViewType.THREAD)
itemView.setHasTransientState(true);
}
private void wire() {
@@ -313,6 +311,20 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
boolean show_addresses = properties.showAddresses(message.id);
boolean show_headers = properties.showHeaders(message.id);
if (viewType == ViewType.THREAD) {
if (show_expanded) {
if (!properties.isFrozen(message.id)) {
itemView.setHasTransientState(true);
properties.setFrozen(message.id, true);
}
} else {
if (properties.isFrozen(message.id)) {
itemView.setHasTransientState(false);
properties.setFrozen(message.id, false);
}
}
}
pbLoading.setVisibility(View.GONE);
if (viewType == ViewType.THREAD) {
@@ -1664,6 +1676,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
interface IProperties {
void setExpanded(long id, boolean expand);
void setFrozen(long id, boolean freeze);
void setAddresses(long id, boolean show);
void setHeaders(long id, boolean show);
@@ -1672,6 +1686,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
boolean isExpanded(long id);
boolean isFrozen(long id);
boolean showAddresses(long id);
boolean showHeaders(long id);