+ domainContentValues.put(DISPLAY_IMAGES, displayImages);
+ domainContentValues.put(NIGHT_MODE, nightMode);
+ domainContentValues.put(PINNED_SSL_CERTIFICATE, pinnedSslCertificate);
+
+ // Get a writable database handle.
+ SQLiteDatabase domainsDatabase = this.getWritableDatabase();
+
+ // Update the row for `databaseId`. The last argument is `null` because there are no `whereArgs`.
+ domainsDatabase.update(DOMAINS_TABLE, domainContentValues, _ID + " = " + databaseId, null);
+
+ // Close the database handle.
+ domainsDatabase.close();
+ }
+
+ public void updateDomainWithCertificate(int databaseId, String domainName, boolean javaScriptEnabled, boolean firstPartyCookiesEnabled, boolean thirdPartyCookiesEnabled, boolean domStorageEnabled,
+ boolean formDataEnabled, boolean easyListEnabled, boolean easyPrivacyEnabled, boolean fanboysAnnoyanceEnabled, boolean fanboysSocialBlockingEnabled, String userAgent,
+ int fontSize, int displayImages, int nightMode, boolean pinnedSslCertificate, String sslIssuedToCommonName, String sslIssuedToOrganization,
+ String sslIssuedToOrganizationalUnit, String sslIssuedByCommonName, String sslIssuedByOrganization, String sslIssuedByOrganizationalUnit, long sslStartDate,
+ long sslEndDate) {
+
+ // Store the domain data in a `ContentValues`.
+ ContentValues domainContentValues = new ContentValues();
+
+ // Add entries for each field in the database.
+ domainContentValues.put(DOMAIN_NAME, domainName);
+ domainContentValues.put(ENABLE_JAVASCRIPT, javaScriptEnabled);
+ domainContentValues.put(ENABLE_FIRST_PARTY_COOKIES, firstPartyCookiesEnabled);
+ domainContentValues.put(ENABLE_THIRD_PARTY_COOKIES, thirdPartyCookiesEnabled);
+ domainContentValues.put(ENABLE_DOM_STORAGE, domStorageEnabled);
+ domainContentValues.put(ENABLE_FORM_DATA, formDataEnabled);
+ domainContentValues.put(ENABLE_EASYLIST, easyListEnabled);
+ domainContentValues.put(ENABLE_EASYPRIVACY, easyPrivacyEnabled);
+ domainContentValues.put(ENABLE_FANBOYS_ANNOYANCE_LIST, fanboysAnnoyanceEnabled);
+ domainContentValues.put(ENABLE_FANBOYS_SOCIAL_BLOCKING_LIST, fanboysSocialBlockingEnabled);
+ domainContentValues.put(USER_AGENT, userAgent);
+ domainContentValues.put(FONT_SIZE, fontSize);
+ domainContentValues.put(DISPLAY_IMAGES, displayImages);
+ domainContentValues.put(NIGHT_MODE, nightMode);
+ domainContentValues.put(PINNED_SSL_CERTIFICATE, pinnedSslCertificate);
+ domainContentValues.put(SSL_ISSUED_TO_COMMON_NAME, sslIssuedToCommonName);
+ domainContentValues.put(SSL_ISSUED_TO_ORGANIZATION, sslIssuedToOrganization);
+ domainContentValues.put(SSL_ISSUED_TO_ORGANIZATIONAL_UNIT, sslIssuedToOrganizationalUnit);
+ domainContentValues.put(SSL_ISSUED_BY_COMMON_NAME, sslIssuedByCommonName);
+ domainContentValues.put(SSL_ISSUED_BY_ORGANIZATION, sslIssuedByOrganization);
+ domainContentValues.put(SSL_ISSUED_BY_ORGANIZATIONAL_UNIT, sslIssuedByOrganizationalUnit);
+ domainContentValues.put(SSL_START_DATE, sslStartDate);
+ domainContentValues.put(SSL_END_DATE, sslEndDate);
+
+ // Get a writable database handle.
+ SQLiteDatabase domainsDatabase = this.getWritableDatabase();
+
+ // Update the row for `databaseId`. The last argument is `null` because there are no `whereArgs`.
+ domainsDatabase.update(DOMAINS_TABLE, domainContentValues, _ID + " = " + databaseId, null);
+
+ // Close the database handle.
+ domainsDatabase.close();
+ }
+
+ public void updateCertificate(int databaseId, String sslIssuedToCommonName, String sslIssuedToOrganization, String sslIssuedToOrganizationalUnit, String sslIssuedByCommonName,
+ String sslIssuedByOrganization, String sslIssuedByOrganizationalUnit, long sslStartDate, long sslEndDate) {
+ // Store the domain data in a `ContentValues`.
+ ContentValues domainContentValues = new ContentValues();
+
+ // Add entries for each field in the certificate.
+ domainContentValues.put(SSL_ISSUED_TO_COMMON_NAME, sslIssuedToCommonName);
+ domainContentValues.put(SSL_ISSUED_TO_ORGANIZATION, sslIssuedToOrganization);
+ domainContentValues.put(SSL_ISSUED_TO_ORGANIZATIONAL_UNIT, sslIssuedToOrganizationalUnit);
+ domainContentValues.put(SSL_ISSUED_BY_COMMON_NAME, sslIssuedByCommonName);
+ domainContentValues.put(SSL_ISSUED_BY_ORGANIZATION, sslIssuedByOrganization);
+ domainContentValues.put(SSL_ISSUED_BY_ORGANIZATIONAL_UNIT, sslIssuedByOrganizationalUnit);
+ domainContentValues.put(SSL_START_DATE, sslStartDate);
+ domainContentValues.put(SSL_END_DATE, sslEndDate);