Search improvements

pull/146/head
M66B 7 years ago
parent a234d0f6b5
commit 2a2280c15d

@ -35,6 +35,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
private ViewModelBrowse model; private ViewModelBrowse model;
private Handler handler; private Handler handler;
private IBoundaryCallbackMessages intf; private IBoundaryCallbackMessages intf;
private boolean searching = false;
private static ExecutorService executor = Executors.newSingleThreadExecutor(Helper.backgroundThreadFactory); private static ExecutorService executor = Executors.newSingleThreadExecutor(Helper.backgroundThreadFactory);
@ -66,7 +67,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
} }
boolean isSearching() { boolean isSearching() {
return model.isSearching(); return searching;
} }
int getLoaded() { int getLoaded() {
@ -90,6 +91,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
@Override @Override
public void run() { public void run() {
try { try {
searching = true;
handler.post(new Runnable() { handler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
@ -106,6 +108,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
} }
}); });
} finally { } finally {
searching = false;
handler.post(new Runnable() { handler.post(new Runnable() {
@Override @Override
public void run() { public void run() {

@ -650,7 +650,7 @@ public class FragmentMessages extends FragmentEx {
new SimpleTask<Void>() { new SimpleTask<Void>() {
@Override @Override
protected Void onLoad(Context context, Bundle args) throws Throwable { protected Void onLoad(Context context, Bundle args) {
DB.getInstance(context).message().deleteFoundMessages(); DB.getInstance(context).message().deleteFoundMessages();
return null; return null;
} }

@ -36,8 +36,8 @@ public class ViewModelBrowse extends ViewModel {
private IMAPStore istore = null; private IMAPStore istore = null;
private IMAPFolder ifolder = null; private IMAPFolder ifolder = null;
private Message[] imessages = null; private Message[] imessages = null;
private int index;
private boolean searching = false; private int index = -1;
private int loaded = 0; private int loaded = 0;
void set(Context context, long folder, String search, int pageSize) { void set(Context context, long folder, String search, int pageSize) {
@ -47,7 +47,6 @@ public class ViewModelBrowse extends ViewModel {
this.pageSize = pageSize; this.pageSize = pageSize;
this.index = -1; this.index = -1;
this.searching = false;
this.loaded = 0; this.loaded = 0;
} }
@ -55,18 +54,11 @@ public class ViewModelBrowse extends ViewModel {
return context; return context;
} }
boolean isSearching() {
return searching;
}
int getLoaded() { int getLoaded() {
return loaded; return loaded;
} }
void load() throws MessagingException, FolderClosedIOException { void load() throws MessagingException, FolderClosedIOException {
try {
searching = true;
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
EntityFolder folder = db.folder().getFolder(fid); EntityFolder folder = db.folder().getFolder(fid);
if (folder.account == null) // outbox if (folder.account == null) // outbox
@ -131,9 +123,12 @@ public class ViewModelBrowse extends ViewModel {
try { try {
long uid = ifolder.getUID(isub[j]); long uid = ifolder.getUID(isub[j]);
Log.i(Helper.TAG, "Boundary sync uid=" + uid); Log.i(Helper.TAG, "Boundary sync uid=" + uid);
EntityMessage message = db.message().getMessageByUid(fid, uid, search != null);
if (message == null) {
ServiceSynchronize.synchronizeMessage(context, folder, ifolder, (IMAPMessage) isub[j], search != null); ServiceSynchronize.synchronizeMessage(context, folder, ifolder, (IMAPMessage) isub[j], search != null);
count++; count++;
loaded++; loaded++;
}
} catch (MessageRemovedException ex) { } catch (MessageRemovedException ex) {
Log.w(Helper.TAG, "Boundary " + ex + "\n" + Log.getStackTraceString(ex)); Log.w(Helper.TAG, "Boundary " + ex + "\n" + Log.getStackTraceString(ex));
} catch (FolderClosedException ex) { } catch (FolderClosedException ex) {
@ -153,9 +148,6 @@ public class ViewModelBrowse extends ViewModel {
} }
Log.i(Helper.TAG, "Boundary done"); Log.i(Helper.TAG, "Boundary done");
} finally {
searching = false;
}
} }
void clear() { void clear() {

Loading…
Cancel
Save