Compare commits

...

2 Commits
1.103 ... 1.104

Author SHA1 Message Date
M66B
07d0893bbb 1.104 release 2018-10-20 19:06:32 +00:00
M66B
74216a2e4d Fixed previous/next cross account 2018-10-20 19:04:05 +00:00
4 changed files with 22 additions and 10 deletions

Binary file not shown.

View File

@@ -6,8 +6,8 @@ android {
applicationId "eu.faircode.email"
minSdkVersion 23
targetSdkVersion 28
versionCode 103
versionName "1.103"
versionCode 104
versionName "1.104"
archivesBaseName = "FairEmail-v$versionName"
javaCompileOptions {

View File

@@ -464,13 +464,13 @@ public class FragmentMessages extends FragmentEx {
bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
String[] pn = (String[]) bottom_navigation.getTag();
String thread = (menuItem.getItemId() == R.id.action_prev ? pn[0] : pn[1]);
ViewModelMessages.AccountThread[] pn = (ViewModelMessages.AccountThread[]) bottom_navigation.getTag();
ViewModelMessages.AccountThread target = (menuItem.getItemId() == R.id.action_prev ? pn[0] : pn[1]);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
lbm.sendBroadcast(
new Intent(ActivityView.ACTION_VIEW_THREAD)
.putExtra("account", account)
.putExtra("thread", thread));
.putExtra("account", target.account)
.putExtra("thread", target.thread));
return true;
}
});
@@ -587,7 +587,7 @@ public class FragmentMessages extends FragmentEx {
if (viewType == AdapterMessage.ViewType.THREAD) {
// Navigation
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
String[] pn = model.getPrevNext(thread);
ViewModelMessages.AccountThread[] 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);

View File

@@ -10,9 +10,9 @@ public class ViewModelMessages extends ViewModel {
this.messages = messages;
}
String[] getPrevNext(String thread) {
AccountThread[] getPrevNext(String thread) {
if (messages == null)
return new String[]{null, null};
return new AccountThread[]{null, null};
boolean found = false;
TupleMessageEx prev = null;
@@ -31,6 +31,18 @@ public class ViewModelMessages extends ViewModel {
else
prev = item;
}
return new String[]{prev == null ? null : prev.thread, next == null ? null : next.thread};
return new AccountThread[]{
prev == null ? null : new AccountThread(prev.account, prev.thread),
next == null ? null : new AccountThread(next.account, next.thread)};
}
class AccountThread {
long account;
String thread;
AccountThread(long account, String thread) {
this.account = account;
this.thread = thread;
}
}
}