mirror of https://github.com/M66B/FairEmail.git
Swa previous/next
This commit is contained in:
parent
b887b323e6
commit
e1b4d70543
|
@ -464,8 +464,8 @@ public class FragmentMessages extends FragmentEx {
|
|||
bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
|
||||
ViewModelMessages.AccountThread[] pn = (ViewModelMessages.AccountThread[]) bottom_navigation.getTag();
|
||||
ViewModelMessages.AccountThread target = (menuItem.getItemId() == R.id.action_prev ? pn[0] : pn[1]);
|
||||
ViewModelMessages.Target[] pn = (ViewModelMessages.Target[]) bottom_navigation.getTag();
|
||||
ViewModelMessages.Target target = (menuItem.getItemId() == R.id.action_prev ? pn[0] : pn[1]);
|
||||
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
|
||||
lbm.sendBroadcast(
|
||||
new Intent(ActivityView.ACTION_VIEW_THREAD)
|
||||
|
@ -587,7 +587,7 @@ public class FragmentMessages extends FragmentEx {
|
|||
if (viewType == AdapterMessage.ViewType.THREAD) {
|
||||
// Navigation
|
||||
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
||||
ViewModelMessages.AccountThread[] pn = model.getPrevNext(thread);
|
||||
ViewModelMessages.Target[] pn = model.getPrevNext(thread);
|
||||
bottom_navigation.setTag(pn);
|
||||
bottom_navigation.getMenu().findItem(R.id.action_prev).setEnabled(pn[0] != null);
|
||||
bottom_navigation.getMenu().findItem(R.id.action_next).setEnabled(pn[1] != null);
|
||||
|
|
|
@ -10,9 +10,9 @@ public class ViewModelMessages extends ViewModel {
|
|||
this.messages = messages;
|
||||
}
|
||||
|
||||
AccountThread[] getPrevNext(String thread) {
|
||||
Target[] getPrevNext(String thread) {
|
||||
if (messages == null)
|
||||
return new AccountThread[]{null, null};
|
||||
return new Target[]{null, null};
|
||||
|
||||
boolean found = false;
|
||||
TupleMessageEx prev = null;
|
||||
|
@ -22,25 +22,25 @@ public class ViewModelMessages extends ViewModel {
|
|||
if (item == null)
|
||||
continue;
|
||||
if (found) {
|
||||
next = item;
|
||||
prev = item;
|
||||
messages.loadAround(i);
|
||||
break;
|
||||
}
|
||||
if (thread.equals(item.thread))
|
||||
found = true;
|
||||
else
|
||||
prev = item;
|
||||
next = item;
|
||||
}
|
||||
return new AccountThread[]{
|
||||
prev == null ? null : new AccountThread(prev.account, prev.thread),
|
||||
next == null ? null : new AccountThread(next.account, next.thread)};
|
||||
return new Target[]{
|
||||
prev == null ? null : new Target(prev.account, prev.thread),
|
||||
next == null ? null : new Target(next.account, next.thread)};
|
||||
}
|
||||
|
||||
class AccountThread {
|
||||
class Target {
|
||||
long account;
|
||||
String thread;
|
||||
|
||||
AccountThread(long account, String thread) {
|
||||
Target(long account, String thread) {
|
||||
this.account = account;
|
||||
this.thread = thread;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue