|
|
@ -280,20 +280,22 @@ public class FragmentMessages extends FragmentBase {
|
|
|
|
rvMessage.setAdapter(adapter);
|
|
|
|
rvMessage.setAdapter(adapter);
|
|
|
|
|
|
|
|
|
|
|
|
if (viewType == AdapterMessage.ViewType.THREAD) {
|
|
|
|
if (viewType == AdapterMessage.ViewType.THREAD) {
|
|
|
|
|
|
|
|
if (actionbar) {
|
|
|
|
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
|
|
|
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
|
|
|
model.observePrevNext(getViewLifecycleOwner(), thread, new ViewModelMessages.IPrevNext() {
|
|
|
|
model.observePrevNext(getViewLifecycleOwner(), thread, new ViewModelMessages.IPrevNext() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onPrevious(Long id) {
|
|
|
|
public void onPrevious(boolean exists, Long id) {
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_prev).setIntent(new Intent().putExtra("id", id));
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_prev).setIntent(new Intent().putExtra("id", id));
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_prev).setEnabled(id != null);
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_prev).setEnabled(id != null);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onNext(Long id) {
|
|
|
|
public void onNext(boolean exists, Long id) {
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_next).setIntent(new Intent().putExtra("id", id));
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_next).setIntent(new Intent().putExtra("id", id));
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_next).setEnabled(id != null);
|
|
|
|
bottom_navigation.getMenu().findItem(R.id.action_next).setEnabled(id != null);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
final SelectionPredicateMessage predicate = new SelectionPredicateMessage(rvMessage);
|
|
|
|
final SelectionPredicateMessage predicate = new SelectionPredicateMessage(rvMessage);
|
|
|
|
|
|
|
|
|
|
|
@ -2069,12 +2071,21 @@ public class FragmentMessages extends FragmentBase {
|
|
|
|
if (autoclose)
|
|
|
|
if (autoclose)
|
|
|
|
finish();
|
|
|
|
finish();
|
|
|
|
else if (autonext) {
|
|
|
|
else if (autonext) {
|
|
|
|
Intent intent = bottom_navigation.getMenu().findItem(R.id.action_next).getIntent();
|
|
|
|
ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class);
|
|
|
|
Long id = (intent == null ? null : intent.getLongExtra("id", -1));
|
|
|
|
model.observePrevNext(getViewLifecycleOwner(), thread, new ViewModelMessages.IPrevNext() {
|
|
|
|
if (id == null || id < 0)
|
|
|
|
@Override
|
|
|
|
finish();
|
|
|
|
public void onPrevious(boolean exists, Long id) {
|
|
|
|
else
|
|
|
|
// Do nothing
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onNext(boolean exists, Long id) {
|
|
|
|
|
|
|
|
if (id != null)
|
|
|
|
navigate(id);
|
|
|
|
navigate(id);
|
|
|
|
|
|
|
|
if (!exists)
|
|
|
|
|
|
|
|
finish();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|