Load domain settings after creating a new domain in single-paned mode. Implements...
authorSoren Stoutner <soren@stoutner.com>
Tue, 18 Jul 2017 03:01:00 +0000 (20:01 -0700)
committerSoren Stoutner <soren@stoutner.com>
Tue, 18 Jul 2017 03:01:00 +0000 (20:01 -0700)
app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.java
app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java

index 7c0b17a..a269766 100644 (file)
@@ -377,11 +377,33 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
         EditText domainNameEditText = (EditText) dialogFragment.getDialog().findViewById(R.id.domain_name_edittext);
         String domainNameString = domainNameEditText.getText().toString();
 
-        // Create the domain.
-        domainsDatabaseHelper.addDomain(domainNameString);
+        // Create the domain and store the database ID in `currentDomainDatabaseId`.
+        currentDomainDatabaseId = domainsDatabaseHelper.addDomain(domainNameString);
 
-        // Populate the `ListView`.
-        populateDomainsListView();
+        // Add `currentDomainDatabaseId` to `argumentsBundle`.
+        Bundle argumentsBundle = new Bundle();
+        argumentsBundle.putInt(DomainSettingsFragment.DATABASE_ID, currentDomainDatabaseId);
+
+        // Add `argumentsBundle` to `domainSettingsFragment`.
+        DomainSettingsFragment domainSettingsFragment = new DomainSettingsFragment();
+        domainSettingsFragment.setArguments(argumentsBundle);
+
+        // Display the newly created domain.
+        if (twoPanedMode) {
+
+        } else {
+            // Hide `add_domain_fab`.
+            addDomainFAB.setVisibility(View.GONE);
+
+            // Show and enable `deleteMenuItem`.
+            DomainsActivity.deleteMenuItem.setVisible(true);
+
+            // Set `domainSettingsFragmentDisplayed`.
+            DomainsActivity.domainSettingsFragmentDisplayed = true;
+
+            // Display `domainSettingsFragment`.
+            supportFragmentManager.beginTransaction().replace(R.id.domains_listview_fragment_container, domainSettingsFragment).commit();
+        }
     }
 
     private void saveDomainSettings() {
index 86a1ed1..bb1a9c5 100644 (file)
@@ -131,7 +131,7 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper {
         return domainsDatabase.rawQuery(GET_CURSOR_FOR_DOMAIN_NAME, null);
     }
 
-    public void addDomain(String domainName) {
+    public int addDomain(String domainName) {
         // Store the domain data in a `ContentValues`.
         ContentValues domainContentValues = new ContentValues();
 
@@ -149,11 +149,13 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper {
         // Get a writable database handle.
         SQLiteDatabase domainsDatabase = this.getWritableDatabase();
 
-        // Insert a new row.  The second argument is `null`, which makes it so that a completely null row cannot be created.
-        domainsDatabase.insert(DOMAINS_TABLE, null, domainContentValues);
+        // Insert a new row and store the resulting database ID.  The second argument is `null`, which makes it so that a completely null row cannot be created.
+        int newDomainDatabaseId  = (int) domainsDatabase.insert(DOMAINS_TABLE, null, domainContentValues);
 
         // Close the database handle.
         domainsDatabase.close();
+
+        return newDomainDatabaseId;
     }
 
     public void saveDomain(int databaseId, String domainName, boolean javaScriptEnabled, boolean firstPartyCookiesEnabled, boolean thirdPartyCookiesEnabled, boolean domStorageEnabled, boolean formDataEnabled, String userAgent, int fontSize,