mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-04 11:54:10 +01:00
Fixed single message previous/next navigation
This commit is contained in:
@@ -283,7 +283,7 @@ public class FragmentMessages extends FragmentBase {
|
||||
if (viewType == AdapterMessage.ViewType.THREAD) {
|
||||
if (actionbar) {
|
||||
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
||||
model.observePrevNext(getViewLifecycleOwner(), thread, new ViewModelMessages.IPrevNext() {
|
||||
model.observePrevNext(getViewLifecycleOwner(), id, new ViewModelMessages.IPrevNext() {
|
||||
@Override
|
||||
public void onPrevious(boolean exists, Long id) {
|
||||
bottom_navigation.getMenu().findItem(R.id.action_prev).setIntent(new Intent().putExtra("id", id));
|
||||
@@ -1777,7 +1777,7 @@ public class FragmentMessages extends FragmentBase {
|
||||
private void loadMessages() {
|
||||
if (viewType == AdapterMessage.ViewType.THREAD && autonext) {
|
||||
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
||||
model.observePrevNext(getViewLifecycleOwner(), thread, new ViewModelMessages.IPrevNext() {
|
||||
model.observePrevNext(getViewLifecycleOwner(), id, new ViewModelMessages.IPrevNext() {
|
||||
boolean once = false;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -75,22 +75,22 @@ public class ViewModelMessages extends ViewModel {
|
||||
messages.clear();
|
||||
}
|
||||
|
||||
void observePrevNext(LifecycleOwner owner, final String thread, final IPrevNext intf) {
|
||||
void observePrevNext(LifecycleOwner owner, final long id, final IPrevNext intf) {
|
||||
LiveData<PagedList<TupleMessageEx>> list = messages.get(false);
|
||||
if (list == null) {
|
||||
Log.w("Observe previous/next without list");
|
||||
return;
|
||||
}
|
||||
|
||||
Log.i("Observe previous/next thread=" + thread);
|
||||
Log.i("Observe previous/next id=" + id);
|
||||
list.observe(owner, new Observer<PagedList<TupleMessageEx>>() {
|
||||
@Override
|
||||
public void onChanged(PagedList<TupleMessageEx> messages) {
|
||||
Log.i("Observe previous/next thread=" + thread + " messages=" + messages.size());
|
||||
Log.i("Observe previous/next id=" + id + " messages=" + messages.size());
|
||||
|
||||
for (int pos = 0; pos < messages.size(); pos++) {
|
||||
TupleMessageEx item = messages.get(pos);
|
||||
if (item != null && thread.equals(item.thread)) {
|
||||
if (item != null && id == item.id) {
|
||||
boolean load = false;
|
||||
|
||||
if (pos - 1 >= 0) {
|
||||
@@ -116,7 +116,7 @@ public class ViewModelMessages extends ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
Log.w("Observe previous/next gone thread=" + thread);
|
||||
Log.w("Observe previous/next gone id=" + id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user