From 64cdd016e635c1857c059d2d98f1772d88f564f1 Mon Sep 17 00:00:00 2001 From: anthony restaino Date: Sun, 7 May 2017 23:16:59 -0400 Subject: [PATCH] Documentation for BookmarkExporter --- .../database/bookmark/BookmarkDatabase.java | 18 +++++++--- .../database/bookmark/BookmarkExporter.java | 35 +++++++++++++++++++ .../database/bookmark/BookmarkModel.java | 1 - .../lightning/fragment/BookmarksFragment.java | 3 -- .../browser/lightning/utils/ThemeUtils.java | 2 -- 5 files changed, 48 insertions(+), 11 deletions(-) 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 67e5eae..e82904b 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 @@ -29,6 +29,8 @@ import acr.browser.lightning.database.HistoryItem; /** * The disk backed bookmark database. + * See {@link BookmarkModel} for method + * documentation. *

* Created by anthonycr on 5/6/17. */ @@ -64,6 +66,12 @@ public class BookmarkDatabase extends SQLiteOpenHelper implements BookmarkModel DEFAULT_BOOKMARK_TITLE = application.getString(R.string.untitled); } + /** + * Lazily initializes the database + * field when called. + * + * @return a non null writable database. + */ @NonNull private SQLiteDatabase lazyDatabase() { if (mDatabase == null) { @@ -96,12 +104,12 @@ public class BookmarkDatabase extends SQLiteOpenHelper implements BookmarkModel } @NonNull - private static ContentValues bindBookmarkToContentValues(@NonNull HistoryItem historyItem) { + private static ContentValues bindBookmarkToContentValues(@NonNull HistoryItem bookmarkItem) { ContentValues contentValues = new ContentValues(4); - contentValues.put(KEY_TITLE, historyItem.getTitle()); - contentValues.put(KEY_URL, historyItem.getUrl()); - contentValues.put(KEY_FOLDER, historyItem.getFolder()); - contentValues.put(KEY_POSITION, historyItem.getPosition()); + contentValues.put(KEY_TITLE, bookmarkItem.getTitle()); + contentValues.put(KEY_URL, bookmarkItem.getUrl()); + contentValues.put(KEY_FOLDER, bookmarkItem.getFolder()); + contentValues.put(KEY_POSITION, bookmarkItem.getPosition()); return contentValues; } diff --git a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkExporter.java b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkExporter.java index 05557f8..005f395 100644 --- a/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkExporter.java +++ b/app/src/main/java/acr/browser/lightning/database/bookmark/BookmarkExporter.java @@ -47,6 +47,13 @@ public class BookmarkExporter { private static final String KEY_FOLDER = "folder"; private static final String KEY_ORDER = "order"; + /** + * Retrieves all the default bookmarks stored + * in the raw file within assets. + * + * @param context the context necessary to open assets. + * @return a non null list of the bookmarks stored in assets. + */ @NonNull public static List importBookmarksFromAssets(@NonNull Context context) { List bookmarks = new ArrayList<>(); @@ -82,6 +89,15 @@ public class BookmarkExporter { return bookmarks; } + /** + * Exports the list of bookmarks to a file. + * + * @param bookmarkList the bookmarks to export. + * @param file the file to export to. + * @return an observable that emits a completion + * event when the export is complete, or an error + * event if there is a problem. + */ @NonNull public static Completable exportBookmarksToFile(@NonNull final List bookmarkList, @NonNull final File file) { @@ -113,6 +129,16 @@ public class BookmarkExporter { }); } + /** + * Attempts to import bookmarks from the + * given file. If the file is not in a + * supported format, it will fail. + * + * @param file the file to import from. + * @return an observable that emits the + * imported bookmarks, or an error if the + * file cannot be imported. + */ @NonNull public static Single> importBookmarksFromFile(@NonNull final File file) { return Single.create(new SingleAction>() { @@ -146,6 +172,15 @@ public class BookmarkExporter { }); } + /** + * A blocking call that creates a new export file with + * the name "BookmarkExport.txt" and an appropriate + * numerical appendage if a file already exists with + * that name. + * + * @return a non null empty file that can be used + * to export bookmarks to. + */ @WorkerThread @NonNull public static File createNewExportFile() { 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 0326f21..04d8f00 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 @@ -7,7 +7,6 @@ import android.support.annotation.WorkerThread; import com.anthonycr.bonsai.Completable; import com.anthonycr.bonsai.Single; -import java.io.File; import java.util.List; import acr.browser.lightning.database.HistoryItem; 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 be9724e..8c4964f 100644 --- a/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java +++ b/app/src/main/java/acr/browser/lightning/fragment/BookmarksFragment.java @@ -22,10 +22,7 @@ import android.widget.ImageView; import android.widget.TextView; import com.anthonycr.bonsai.Schedulers; -import com.anthonycr.bonsai.Single; -import com.anthonycr.bonsai.SingleAction; import com.anthonycr.bonsai.SingleOnSubscribe; -import com.anthonycr.bonsai.SingleSubscriber; import com.anthonycr.bonsai.Subscription; import java.lang.ref.WeakReference; diff --git a/app/src/main/java/acr/browser/lightning/utils/ThemeUtils.java b/app/src/main/java/acr/browser/lightning/utils/ThemeUtils.java index 165f8d8..0660f39 100644 --- a/app/src/main/java/acr/browser/lightning/utils/ThemeUtils.java +++ b/app/src/main/java/acr/browser/lightning/utils/ThemeUtils.java @@ -9,7 +9,6 @@ import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; -import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.support.annotation.AttrRes; @@ -19,7 +18,6 @@ import android.support.annotation.NonNull; import android.support.v4.content.ContextCompat; import android.support.v4.graphics.drawable.DrawableCompat; import android.util.TypedValue; -import android.widget.ImageView; import acr.browser.lightning.R;