X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fhelpers%2FDomainsDatabaseHelper.java;h=0e1448b4bd53a234c2762580b663c6ca9a714c71;hp=d30839fac6fdbece4c8e0ad40650808c1909d1d6;hb=f82135d919d64d4909c37c79a18e14ceba802579;hpb=b3b4105e9acd9cf8e202abef3b811d49c6c36bec diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java b/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java index d30839fa..0e1448b4 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java @@ -1,5 +1,5 @@ /* - * Copyright 2017 Soren Stoutner . + * Copyright © 2017 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -29,8 +29,8 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper { private static final int SCHEMA_VERSION = 1; private static final String DOMAINS_DATABASE = "domains.db"; private static final String DOMAINS_TABLE = "domains"; - private static final String _ID = "_id"; + public static final String _ID = "_id"; public static final String DOMAIN_NAME = "domainname"; public static final String ENABLE_JAVASCRIPT = "enablejavascript"; public static final String ENABLE_FIRST_PARTY_COOKIES = "enablefirstpartycookies"; @@ -68,30 +68,57 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper { // Code for upgrading the database will be added here when the schema version > 1. } - public Cursor getCursorOrderedByDomain() { + public Cursor getDomainNameCursorOrderedByDomain() { // Get a readable database handle. SQLiteDatabase domainsDatabase = this.getReadableDatabase(); // Get everything in `DOMAINS_TABLE` ordered by `DOMAIN_NAME`. - final String GET_CURSOR_SORTED_BY_DOMAIN = "Select * FROM " + DOMAINS_TABLE + + final String GET_CURSOR_ORDERED_BY_DOMAIN = "SELECT " + _ID + ", " + DOMAIN_NAME + + " FROM " + DOMAINS_TABLE + " ORDER BY " + DOMAIN_NAME + " 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 domainsDatabase.rawQuery(GET_CURSOR_SORTED_BY_DOMAIN, null); + return domainsDatabase.rawQuery(GET_CURSOR_ORDERED_BY_DOMAIN, null); + } + + public Cursor getDomainNameCursorOrderedByDomainExcept(int databaseId) { + // Get a readable database handle. + SQLiteDatabase domainsDatabase = this.getReadableDatabase(); + + // Prepare the SQL statement to select all rows except that with `databaseId`. + final String GET_CURSOR_ORDERED_BY_DOMAIN_EXCEPT = "SELECT " + _ID + ", " + DOMAIN_NAME + + " FROM " + DOMAINS_TABLE + + " WHERE " + _ID + " IS NOT " + databaseId + + " ORDER BY " + DOMAIN_NAME + " 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 calling activity. + return domainsDatabase.rawQuery(GET_CURSOR_ORDERED_BY_DOMAIN_EXCEPT, null); } public Cursor getCursorForId(int databaseId) { // Get a readable database handle. SQLiteDatabase domainsDatabase = this.getReadableDatabase(); - // Prepare the SQL statement to ge the `Cursor` for `databaseId`. - final String GET_CURSOR_FOR_ID = "Select * FROM " + DOMAINS_TABLE + + // Prepare the SQL statement to get the `Cursor` for `databaseId`. + final String GET_CURSOR_FOR_ID = "SELECT * FROM " + DOMAINS_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 calling activity. return domainsDatabase.rawQuery(GET_CURSOR_FOR_ID, null); } + public Cursor getCursorForDomainName(String domainName) { + // Get a readable database handle. + SQLiteDatabase domainsDatabase = this.getReadableDatabase(); + + // Prepare the SQL statement to get the `Cursor` for `domainName`. + final String GET_CURSOR_FOR_DOMAIN_NAME = "SELECT * FROM " + DOMAINS_TABLE + + " WHERE " + DOMAIN_NAME + " = " + "\"" + domainName + "\""; + + // 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 us it in the calling activity. + return domainsDatabase.rawQuery(GET_CURSOR_FOR_DOMAIN_NAME, null); + } + public void addDomain(String domainName) { // Store the domain data in a `ContentValues`. ContentValues domainContentValues = new ContentValues(); @@ -150,4 +177,4 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper { // Close the database handle. domainsDatabase.close(); } -} +} \ No newline at end of file