mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-24 23:12:55 +00:00
Fixed missing compose/answer button
This commit is contained in:
parent
8d7ee2d0d2
commit
5c5792b9b1
2 changed files with 50 additions and 17 deletions
|
@ -950,6 +950,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
itemView.addOnLayoutChangeListener(this);
|
||||||
ibAvatar.setOnClickListener(this);
|
ibAvatar.setOnClickListener(this);
|
||||||
ibVerified.setOnClickListener(this);
|
ibVerified.setOnClickListener(this);
|
||||||
ibAuth.setOnClickListener(this);
|
ibAuth.setOnClickListener(this);
|
||||||
|
@ -1063,6 +1064,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||||
final View touch = (viewType == ViewType.THREAD ? ibExpander : header);
|
final View touch = (viewType == ViewType.THREAD ? ibExpander : header);
|
||||||
touch.setOnClickListener(null);
|
touch.setOnClickListener(null);
|
||||||
|
|
||||||
|
itemView.removeOnLayoutChangeListener(this);
|
||||||
ibAvatar.setOnClickListener(null);
|
ibAvatar.setOnClickListener(null);
|
||||||
ibVerified.setOnClickListener(null);
|
ibVerified.setOnClickListener(null);
|
||||||
ibAuth.setOnClickListener(null);
|
ibAuth.setOnClickListener(null);
|
||||||
|
@ -3782,6 +3784,11 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
|
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
|
||||||
|
if (itemView.getId() == v.getId()) {
|
||||||
|
properties.layoutChanged();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
TupleMessageEx message = getMessage();
|
TupleMessageEx message = getMessage();
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
int h = bottom - top;
|
int h = bottom - top;
|
||||||
|
@ -7971,6 +7978,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||||
|
|
||||||
void lock(long id);
|
void lock(long id);
|
||||||
|
|
||||||
|
void layoutChanged();
|
||||||
|
|
||||||
void refresh();
|
void refresh();
|
||||||
|
|
||||||
void finish();
|
void finish();
|
||||||
|
|
|
@ -753,6 +753,16 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
Log.w(ex);
|
Log.w(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemsAdded(@NonNull RecyclerView recyclerView, int positionStart, int itemCount) {
|
||||||
|
iProperties.layoutChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemsRemoved(@NonNull RecyclerView recyclerView, int positionStart, int itemCount) {
|
||||||
|
iProperties.layoutChanged();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
rvMessage.setLayoutManager(llm);
|
rvMessage.setLayoutManager(llm);
|
||||||
|
|
||||||
|
@ -1005,16 +1015,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
@Override
|
@Override
|
||||||
public void onScrolled(@NonNull RecyclerView rv, int dx, int dy) {
|
public void onScrolled(@NonNull RecyclerView rv, int dx, int dy) {
|
||||||
if (dy != 0) {
|
if (dy != 0) {
|
||||||
boolean down = (dy > 0 && rv.canScrollVertically(RecyclerView.FOCUS_DOWN));
|
boolean down = (dy > 0 && rv.canScrollVertically(1));
|
||||||
if (scrolling != down) {
|
if (scrolling != down) {
|
||||||
scrolling = down;
|
scrolling = down;
|
||||||
if (!accessibility &&
|
updateCompose();
|
||||||
(viewType == AdapterMessage.ViewType.UNIFIED ||
|
|
||||||
viewType == AdapterMessage.ViewType.FOLDER))
|
|
||||||
if (down)
|
|
||||||
fabCompose.hide();
|
|
||||||
else
|
|
||||||
fabCompose.show();
|
|
||||||
updateExpanded();
|
updateExpanded();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2126,11 +2130,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("headers".equals(name)) {
|
|
||||||
scrolling = false;
|
|
||||||
updateExpanded();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -2210,9 +2209,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value)
|
scrolling = false;
|
||||||
scrolling = false;
|
|
||||||
|
|
||||||
updateExpanded();
|
updateExpanded();
|
||||||
if (value)
|
if (value)
|
||||||
handleExpand(message.id);
|
handleExpand(message.id);
|
||||||
|
@ -2412,6 +2409,24 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
}.execute(FragmentMessages.this, args, "message:lock");
|
}.execute(FragmentMessages.this, args, "message:lock");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void layoutChanged() {
|
||||||
|
rvMessage.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
if (scrolling && !rvMessage.canScrollVertically(-1)) {
|
||||||
|
scrolling = false;
|
||||||
|
updateCompose();
|
||||||
|
updateExpanded();
|
||||||
|
}
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
Log.e(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void refresh() {
|
public void refresh() {
|
||||||
rvMessage.post(new Runnable() {
|
rvMessage.post(new Runnable() {
|
||||||
|
@ -4437,7 +4452,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
positions.remove(id);
|
positions.remove(id);
|
||||||
attachments.remove(id);
|
attachments.remove(id);
|
||||||
}
|
}
|
||||||
updateExpanded();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -6570,6 +6584,16 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateCompose() {
|
||||||
|
if (!accessibility &&
|
||||||
|
(viewType == AdapterMessage.ViewType.UNIFIED ||
|
||||||
|
viewType == AdapterMessage.ViewType.FOLDER))
|
||||||
|
if (scrolling)
|
||||||
|
fabCompose.hide();
|
||||||
|
else
|
||||||
|
fabCompose.show();
|
||||||
|
}
|
||||||
|
|
||||||
private void updateExpanded() {
|
private void updateExpanded() {
|
||||||
if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
|
if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue