mirror of
https://github.com/M66B/FairEmail.git
synced 2025-12-31 10:01:22 +01:00
Use bottom bar for previous/next navigation
This commit is contained in:
36
app/src/main/java/eu/faircode/email/ViewModelMessages.java
Normal file
36
app/src/main/java/eu/faircode/email/ViewModelMessages.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package eu.faircode.email;
|
||||
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import androidx.paging.PagedList;
|
||||
|
||||
public class ViewModelMessages extends ViewModel {
|
||||
private PagedList<TupleMessageEx> messages = null;
|
||||
|
||||
void setMessages(PagedList<TupleMessageEx> messages) {
|
||||
this.messages = messages;
|
||||
}
|
||||
|
||||
String[] getPrevNext(String thread) {
|
||||
if (messages == null)
|
||||
return new String[]{null, null};
|
||||
|
||||
boolean found = false;
|
||||
TupleMessageEx prev = null;
|
||||
TupleMessageEx next = null;
|
||||
for (int i = 0; i < messages.size(); i++) {
|
||||
TupleMessageEx item = messages.get(i);
|
||||
if (item == null)
|
||||
continue;
|
||||
if (found) {
|
||||
next = item;
|
||||
messages.loadAround(i);
|
||||
break;
|
||||
}
|
||||
if (thread.equals(item.thread))
|
||||
found = true;
|
||||
else
|
||||
prev = item;
|
||||
}
|
||||
return new String[]{prev == null ? null : prev.thread, next == null ? null : next.thread};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user