]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.java
Create a dark theme for `DomainsActivity` and `DomainsSettingsActivity`.
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / activities / DomainsActivity.java
index 2500fe9e850739d163bd53589df4d4a399a48d4f..e98b5fc13cbdd4e8fbe110681505a0ed87056fa6 100644 (file)
@@ -71,15 +71,25 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        // Set the activity theme.
+        if (MainWebViewActivity.darkTheme) {
+            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
+        } else {
+            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
+        }
+
+        // Run the default commands.
         super.onCreate(savedInstanceState);
+
+        // Set the content view.
         setContentView(R.layout.domains_coordinatorlayout);
 
         // Get a handle for the context.
         context = this;
 
         // We need to use the `SupportActionBar` from `android.support.v7.app.ActionBar` until the minimum API is >= 21.
-        final Toolbar bookmarksAppBar = (Toolbar) findViewById(R.id.domains_toolbar);
-        setSupportActionBar(bookmarksAppBar);
+        final Toolbar domainsAppBar = (Toolbar) findViewById(R.id.domains_toolbar);
+        setSupportActionBar(domainsAppBar);
 
         // Display the home arrow on `SupportActionBar`.
         ActionBar appBar = getSupportActionBar();
@@ -90,7 +100,7 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
         // The `0` specifies the database version, but that is ignored and set instead using a constant in `DomainsDatabaseHelper`.
         domainsDatabaseHelper = new DomainsDatabaseHelper(this, null, null, 0);
 
-        // Determine if we are in two pane mode.  `domains_settings_linearlayout` is only populated if two panes are present.
+        // Determine if we are in two pane mode.  `domains_settings_scrollview` is only populated if two panes are present.
         twoPaneMode = ((findViewById(R.id.domain_settings_scrollview)) != null);
 
         // Initialize `domainsListView`.
@@ -104,10 +114,6 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
                 // Display the Domain Settings.
                 if (twoPaneMode) {  // Display a fragment in two paned mode.
-                    // Enable the options `MenuItems`.
-                    saveMenuItem.setEnabled(true);
-                    deleteMenuItem.setEnabled(true);
-
                     // Store `databaseId` in `argumentsBundle`.
                     Bundle argumentsBundle = new Bundle();
                     argumentsBundle.putInt(DomainSettingsFragment.DATABASE_ID, databaseId);
@@ -118,11 +124,6 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
                     // Display `domainSettingsFragment`.
                     getSupportFragmentManager().beginTransaction().replace(R.id.domain_settings_scrollview, domainSettingsFragment).commit();
-
-                    // Enable the options `MenuItems`.
-                    deleteMenuItem.setEnabled(true);
-                    deleteMenuItem.setIcon(R.drawable.delete);
-                    saveMenuItem.setEnabled(true);
                 } else { // Load the second activity on smaller screens.
                     // Create `domainSettingsActivityIntent` with the `databaseId`.
                     Intent domainSettingsActivityIntent = new Intent(context, DomainSettingsActivity.class);
@@ -187,20 +188,22 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
                 Spinner userAgentSpinner = (Spinner) findViewById(R.id.domain_settings_user_agent_spinner);
                 EditText customUserAgentEditText = (EditText) findViewById(R.id.domain_settings_custom_user_agent_edittext);
                 Spinner fontSizeSpinner = (Spinner) findViewById(R.id.domain_settings_font_size_spinner);
+                Spinner displayWebpageImagesSpinner = (Spinner) findViewById(R.id.domain_settings_display_webpage_images_spinner);
 
                 // Extract the data for the domain settings.
                 String domainNameString = domainNameEditText.getText().toString();
-                boolean javaScriptEnabled = javaScriptEnabledSwitch.isChecked();
-                boolean firstPartyCookiesEnabled = firstPartyCookiesEnabledSwitch.isChecked();
-                boolean thirdPartyCookiesEnabled = thirdPartyCookiesEnabledSwitch.isChecked();
-                boolean domStorageEnabledEnabled = domStorageEnabledSwitch.isChecked();
-                boolean formDataEnabled = formDataEnabledSwitch.isChecked();
-                int userAgentPosition = userAgentSpinner.getSelectedItemPosition();
-                int fontSizePosition = fontSizeSpinner.getSelectedItemPosition();
+                boolean javaScriptEnabledBoolean = javaScriptEnabledSwitch.isChecked();
+                boolean firstPartyCookiesEnabledBoolean = firstPartyCookiesEnabledSwitch.isChecked();
+                boolean thirdPartyCookiesEnabledBoolean = thirdPartyCookiesEnabledSwitch.isChecked();
+                boolean domStorageEnabledEnabledBoolean  = domStorageEnabledSwitch.isChecked();
+                boolean formDataEnabledBoolean = formDataEnabledSwitch.isChecked();
+                int userAgentPositionInt = userAgentSpinner.getSelectedItemPosition();
+                int fontSizePositionInt = fontSizeSpinner.getSelectedItemPosition();
+                int displayWebpageImagesInt = displayWebpageImagesSpinner.getSelectedItemPosition();
 
                 // Get the data for the `Spinners` from the entry values string arrays.
-                String userAgentString = getResources().getStringArray(R.array.user_agent_entry_values)[userAgentPosition];
-                int fontSizeInt = Integer.parseInt(getResources().getStringArray(R.array.default_font_size_entry_values)[fontSizePosition]);
+                String userAgentString = getResources().getStringArray(R.array.user_agent_entry_values)[userAgentPositionInt];
+                int fontSizeInt = Integer.parseInt(getResources().getStringArray(R.array.default_font_size_entry_values)[fontSizePositionInt]);
 
                 // Check to see if we are using a custom user agent.
                 if (userAgentString.equals("Custom user agent")) {
@@ -209,7 +212,8 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
                 }
 
                 // Save the domain settings.
-                domainsDatabaseHelper.saveDomain(databaseId, domainNameString, javaScriptEnabled, firstPartyCookiesEnabled, thirdPartyCookiesEnabled, domStorageEnabledEnabled, formDataEnabled, userAgentString, fontSizeInt);
+                domainsDatabaseHelper.saveDomain(databaseId, domainNameString, javaScriptEnabledBoolean, firstPartyCookiesEnabledBoolean, thirdPartyCookiesEnabledBoolean, domStorageEnabledEnabledBoolean, formDataEnabledBoolean, userAgentString, fontSizeInt,
+                        displayWebpageImagesInt);
 
                 // Display a `Snackbar`.
                 Snackbar.make(domainsListView, R.string.domain_settings_saved, Snackbar.LENGTH_SHORT).show();
@@ -306,7 +310,7 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
                                         // Enable the options `MenuItems`.
                                         deleteMenuItem.setEnabled(true);
-                                        deleteMenuItem.setIcon(R.drawable.delete);
+                                        deleteMenuItem.setIcon(R.drawable.delete_light);
                                         saveMenuItem.setEnabled(true);
                                         break;
 
@@ -396,8 +400,14 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
             // Enable the options `MenuItems`.
             deleteMenuItem.setEnabled(true);
-            deleteMenuItem.setIcon(R.drawable.delete);
             saveMenuItem.setEnabled(true);
+
+            // Set the delete icon according to the theme.
+            if (MainWebViewActivity.darkTheme) {
+                deleteMenuItem.setIcon(R.drawable.delete_dark);
+            } else {
+                deleteMenuItem.setIcon(R.drawable.delete_light);
+            }
         } else {
             // Disable the options `MenuItems`.
             deleteMenuItem.setEnabled(false);