X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;ds=sidebyside;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fhelpers%2FBookmarksDatabaseHelper.java;h=0cd2b683e9efb25237096a30b1a0c3d329dd4075;hb=f82135d919d64d4909c37c79a18e14ceba802579;hp=051da66828f490b137c4e9099cc2ba0d4cf4e4f9;hpb=ae2ee09aa7a2afc19f5603c9bc021f98888d7b78;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/BookmarksDatabaseHelper.java b/app/src/main/java/com/stoutner/privacybrowser/helpers/BookmarksDatabaseHelper.java index 051da668..0cd2b683 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/BookmarksDatabaseHelper.java +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/BookmarksDatabaseHelper.java @@ -1,5 +1,5 @@ -/** - * Copyright 2016 Soren Stoutner . +/* + * Copyright © 2016-2017 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -40,14 +40,14 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { public static final String FAVORITE_ICON = "favoriteicon"; // Initialize the database. The lint warnings for the unused parameters are suppressed. - public BookmarksDatabaseHelper(Context context, @SuppressWarnings("UnusedParameters") String name, SQLiteDatabase.CursorFactory factory, @SuppressWarnings("UnusedParameters") int version) { - super(context, BOOKMARKS_DATABASE, factory, SCHEMA_VERSION); + public BookmarksDatabaseHelper(Context context, @SuppressWarnings("UnusedParameters") String name, SQLiteDatabase.CursorFactory cursorFactory, @SuppressWarnings("UnusedParameters") int version) { + super(context, BOOKMARKS_DATABASE, cursorFactory, SCHEMA_VERSION); } @Override public void onCreate(SQLiteDatabase bookmarksDatabase) { - // Create the database if it doesn't exist. - String CREATE_BOOKMARKS_TABLE = "CREATE TABLE " + BOOKMARKS_TABLE + " (" + + // Setup the SQL string to create the `bookmarks` table. + final String CREATE_BOOKMARKS_TABLE = "CREATE TABLE " + BOOKMARKS_TABLE + " (" + _ID + " integer primary key, " + DISPLAY_ORDER + " integer, " + BOOKMARK_NAME + " text, " + @@ -56,6 +56,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { IS_FOLDER + " boolean, " + FAVORITE_ICON + " blob);"; + // Create the `bookmarks` table if it doesn't exist. bookmarksDatabase.execSQL(CREATE_BOOKMARKS_TABLE); } @@ -65,6 +66,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { } public void createBookmark(String bookmarkName, String bookmarkURL, int displayOrder, String parentFolder, byte[] favoriteIcon) { + // We need to store the bookmark data in a `ContentValues`. ContentValues bookmarkContentValues = new ContentValues(); // ID is created automatically. @@ -78,7 +80,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { // Get a writable database handle. SQLiteDatabase bookmarksDatabase = this.getWritableDatabase(); - // The second argument is `null`, which makes it so that completely null rows cannot be created. Not a problem in our case. + // Insert a new row. The second argument is `null`, which makes it so that a completely null row cannot be created. bookmarksDatabase.insert(BOOKMARKS_TABLE, null, bookmarkContentValues); // Close the database handle. @@ -110,11 +112,10 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { SQLiteDatabase bookmarksDatabase = this.getReadableDatabase(); // Prepare the SQL statement to get the `Cursor` for `databaseId` - final String GET_ONE_BOOKMARK = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_ONE_BOOKMARK = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + _ID + " = " + databaseId; - // Return the results as a `Cursor`. The second argument is `null` because there are no `selectionArgs`. - // We can't close the `Cursor` because we need to use it in the parent activity. + // Return the results as a `Cursor`. The second argument is `null` because there are no `selectionArgs`. We can't close the `Cursor` because we need to use it in the parent activity. return bookmarksDatabase.rawQuery(GET_ONE_BOOKMARK, null); } @@ -123,7 +124,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { SQLiteDatabase bookmarksDatabase = this.getReadableDatabase(); // Prepare the SQL statement to get the `Cursor` for the folder. - final String GET_FOLDER = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_FOLDER = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + _ID + " = " + databaseId; // Get `folderCursor`. The second argument is `null` because there are no `selectionArgs`. @@ -149,7 +150,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { folderName = DatabaseUtils.sqlEscapeString(folderName); // Prepare the SQL statement to get the `Cursor` for the folder. - final String GET_FOLDER = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_FOLDER = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + BOOKMARK_NAME + " = " + folderName + " AND " + IS_FOLDER + " = " + 1; @@ -163,7 +164,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { SQLiteDatabase bookmarksDatabase = this.getReadableDatabase(); // Prepare the SQL statement to get the `Cursor` for the folders. - final String GET_FOLDERS_EXCEPT = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_FOLDERS_EXCEPT = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + IS_FOLDER + " = " + 1 + " AND " + BOOKMARK_NAME + " NOT IN (" + exceptFolders + ") ORDER BY " + BOOKMARK_NAME + " ASC"; @@ -181,7 +182,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { currentFolder = DatabaseUtils.sqlEscapeString(currentFolder); // Prepare the SQL statement to get the `Cursor` for the subfolders. - final String GET_SUBFOLDERS = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_SUBFOLDERS = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + PARENT_FOLDER + " = " + currentFolder + " AND " + IS_FOLDER + " = " + 1; @@ -198,7 +199,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { currentFolder = DatabaseUtils.sqlEscapeString(currentFolder); // Prepare the SQL statement to get the parent folder. - final String GET_PARENT_FOLDER = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_PARENT_FOLDER = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + IS_FOLDER + " = " + 1 + " AND " + BOOKMARK_NAME + " = " + currentFolder; @@ -219,8 +220,8 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { // Get a readable database handle. SQLiteDatabase bookmarksDatabase = this.getReadableDatabase(); - // Get everything in the BOOKMARKS_TABLE. - final String GET_ALL_BOOKMARKS = "Select * FROM " + BOOKMARKS_TABLE; + // Get everything in `BOOKMARKS_TABLE`. + final String GET_ALL_BOOKMARKS = "SELECT * FROM " + BOOKMARKS_TABLE; // Return the results as a Cursor. The second argument is `null` because there are no selectionArgs. // We can't close the Cursor because we need to use it in the parent activity. @@ -234,13 +235,12 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { // SQL escape `folderName`. folderName = DatabaseUtils.sqlEscapeString(folderName); - // Get everything in the BOOKMARKS_TABLE. - final String GET_ALL_BOOKMARKS = "Select * FROM " + BOOKMARKS_TABLE + + // Get everything in the `BOOKMARKS_TABLE` with `folderName` as the `PARENT_FOLDER`. + final String GET_ALL_BOOKMARKS = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + PARENT_FOLDER + " = " + folderName + " ORDER BY " + DISPLAY_ORDER + " ASC"; - // Return the results as a Cursor. The second argument is `null` because there are no selectionArgs. - // We can't close the Cursor because we need to use it in the parent activity. + // Return the results as a `Cursor`. The second argument is `null` because there are no `selectionArgs`. We can't close the `Cursor` because we need to use it in the parent activity. return bookmarksDatabase.rawQuery(GET_ALL_BOOKMARKS, null); } @@ -264,7 +264,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { folderName = DatabaseUtils.sqlEscapeString(folderName); // Prepare the SQL statement to select all items except those with the specified IDs. - final String GET_All_BOOKMARKS_EXCEPT_SPECIFIED = "Select * FROM " + BOOKMARKS_TABLE + + final String GET_All_BOOKMARKS_EXCEPT_SPECIFIED = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + PARENT_FOLDER + " = " + folderName + " AND " + _ID + " NOT IN (" + doNotGetIdsString + ") ORDER BY " + DISPLAY_ORDER + " ASC"; @@ -279,7 +279,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { SQLiteDatabase bookmarksDatabase = this.getReadableDatabase(); // Prepare the SQL statement to determine if `databaseId` is a folder. - final String CHECK_IF_FOLDER = "Select * FROM " + BOOKMARKS_TABLE + + final String CHECK_IF_FOLDER = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + _ID + " = " + databaseId; // Populate folderCursor. The second argument is `null` because there are no `selectionArgs`. @@ -409,7 +409,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { // Get the highest `DISPLAY_ORDER` in the new folder String newFolderSqlEscaped = DatabaseUtils.sqlEscapeString(newFolder); - final String NEW_FOLDER = "Select * FROM " + BOOKMARKS_TABLE + + final String NEW_FOLDER = "SELECT * FROM " + BOOKMARKS_TABLE + " WHERE " + PARENT_FOLDER + " = " + newFolderSqlEscaped + " ORDER BY " + DISPLAY_ORDER + " ASC"; // The second argument is `null` because there are no `selectionArgs`. @@ -428,7 +428,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { bookmarkContentValues.put(DISPLAY_ORDER, displayOrder); bookmarkContentValues.put(PARENT_FOLDER, newFolder); - // Update the database. The last argument is 'null' because there are no 'whereArgs'. + // Update the database. The last argument is `null` because there are no `whereArgs`. bookmarksDatabase.update(BOOKMARKS_TABLE, bookmarkContentValues, _ID + " = " + databaseId, null); // Close the database handle. @@ -439,7 +439,7 @@ public class BookmarksDatabaseHelper extends SQLiteOpenHelper { // Get a writable database handle. SQLiteDatabase bookmarksDatabase = this.getWritableDatabase(); - // Deletes the row with the given databaseId. The last argument is null because we don't need additional parameters. + // Deletes the row with the given `databaseId`. The last argument is `null` because we don't need additional parameters. bookmarksDatabase.delete(BOOKMARKS_TABLE, _ID + " = " + databaseId, null); // Close the database handle.