From f34ac1b2552d59508e17de70191b2db0c622c6f5 Mon Sep 17 00:00:00 2001 From: anthony restaino Date: Fri, 12 May 2017 22:22:58 -0400 Subject: [PATCH] Add sorting back to bookmarks --- .../acr/browser/lightning/constant/BookmarkPage.java | 2 +- .../lightning/database/bookmark/BookmarkDatabase.java | 10 +++++++--- .../lightning/database/bookmark/BookmarkModel.java | 4 ++-- .../browser/lightning/fragment/BookmarksFragment.java | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java b/app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java index 208dc81..afdc439 100644 --- a/app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java +++ b/app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java @@ -117,7 +117,7 @@ public final class BookmarkPage { } private void buildBookmarkPage(@Nullable final String folder) { - mManager.getBookmarksFromFolder(folder) + mManager.getBookmarksFromFolderSorted(folder) .subscribe(new SingleOnSubscribe>() { @Override public void onItem(@Nullable List list) { diff --git a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkDatabase.java b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkDatabase.java index e82904b..d00f461 100644 --- a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkDatabase.java +++ b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkDatabase.java @@ -18,6 +18,7 @@ import com.anthonycr.bonsai.SingleAction; import com.anthonycr.bonsai.SingleSubscriber; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.inject.Inject; @@ -311,14 +312,16 @@ public class BookmarkDatabase extends SQLiteOpenHelper implements BookmarkModel @NonNull @Override - public Single> getBookmarksFromFolder(@Nullable final String folder) { + public Single> getBookmarksFromFolderSorted(@Nullable final String folder) { return Single.create(new SingleAction>() { @Override public void onSubscribe(@NonNull SingleSubscriber> subscriber) { String finalFolder = folder != null ? folder : ""; Cursor cursor = lazyDatabase().query(TABLE_BOOKMARK, null, KEY_FOLDER + "=?", new String[]{finalFolder}, null, null, null); - subscriber.onItem(bindCursorToHistoryItemList(cursor)); + List list = bindCursorToHistoryItemList(cursor); + Collections.sort(list); + subscriber.onItem(list); subscriber.onComplete(); } }); @@ -326,7 +329,7 @@ public class BookmarkDatabase extends SQLiteOpenHelper implements BookmarkModel @NonNull @Override - public Single> getFolders() { + public Single> getFoldersSorted() { return Single.create(new SingleAction>() { @Override public void onSubscribe(@NonNull SingleSubscriber> subscriber) { @@ -350,6 +353,7 @@ public class BookmarkDatabase extends SQLiteOpenHelper implements BookmarkModel cursor.close(); + Collections.sort(folders); subscriber.onItem(folders); subscriber.onComplete(); } diff --git a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkModel.java b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkModel.java index 04d8f00..ec10e06 100644 --- a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkModel.java +++ b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkModel.java @@ -132,7 +132,7 @@ public interface BookmarkModel { * in the given folder. */ @NonNull - Single> getBookmarksFromFolder(@Nullable String folder); + Single> getBookmarksFromFolderSorted(@Nullable String folder); /** * Returns all folders as {@link HistoryItem}. @@ -141,7 +141,7 @@ public interface BookmarkModel { * @return an observable that emits a list of folders. */ @NonNull - Single> getFolders(); + Single> getFoldersSorted(); /** * Returns the names of all folders. diff --git a/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java b/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java index c268f49..97583c2 100644 --- a/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java +++ b/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java @@ -254,7 +254,7 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener, } private void setBookmarksShown(@Nullable final String folder, final boolean animate) { - mBookmarksSubscription = mBookmarkManager.getBookmarksFromFolder(folder) + mBookmarksSubscription = mBookmarkManager.getBookmarksFromFolderSorted(folder) .subscribeOn(Schedulers.io()) .observeOn(Schedulers.main()) .subscribe(new SingleOnSubscribe>() { @@ -265,7 +265,7 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener, mUiModel.setCurrentFolder(folder); if (folder == null) { - mBookmarkManager.getFolders() + mBookmarkManager.getFoldersSorted() .subscribeOn(Schedulers.io()) .observeOn(Schedulers.main()) .subscribe(new SingleOnSubscribe>() {