+ // Set the domain name from the the database cursor.
+ domainNameEditText.setText(domainNameString);
+
+ // Set the status of the `Switches` from the database cursor.
+ javaScriptEnabledSwitch.setChecked(javaScriptEnabledInt == 1);
+ firstPartyCookiesEnabledSwitch.setChecked(firstPartyCookiesEnabledInt == 1);
+ thirdPartyCookiesEnabledSwitch.setChecked(thirdPartyCookiesEnabledInt == 1);
+ domStorageEnabledSwitch.setChecked(domStorageEnabledInt == 1);
+ formDataEnabledSwitch.setChecked(formDataEnabledInt == 1);
+
+ // We need to inflated a `WebView` to get the default user agent.
+ // `@SuppressLint("InflateParams")` removes the warning about using `null` as the `ViewGroup`, which in this case makes sense because we don't want to display `bare_webview` on the screen. `false` does not attach the view to the root.
+ @SuppressLint("InflateParams") View bareWebViewLayout = inflater.inflate(R.layout.bare_webview, null, false);
+ WebView bareWebView = (WebView) bareWebViewLayout.findViewById(R.id.bare_webview);
+ final String webViewDefaultUserAgentString = bareWebView.getSettings().getUserAgentString();
+
+ // Get the position of the user agent in `userAgentEntryValuesArrayAdapter`.
+ int userAgentArrayPosition = userAgentEntryValuesArrayAdapter.getPosition(currentUserAgentString);
+
+ // Set the user agent.
+ if (userAgentArrayPosition == -1) { // We are using a custom `userAgentString`.
+ // Set `userAgentSpinner` to `Custom`.
+ userAgentSpinner.setSelection(userAgentEntryValuesArrayAdapter.getPosition("Custom user agent"));
+
+ // Hide `userAgentTextView`.
+ userAgentTextView.setVisibility(View.GONE);
+
+ // Show `customUserAgentEditText` and set `userAgentString` as the text.
+ customUserAgentEditText.setVisibility(View.VISIBLE);
+ customUserAgentEditText.setText(currentUserAgentString);
+ } else if (currentUserAgentString.equals("WebView default user agent")) { // We are using the `WebView` default user agent.
+ // Set the `userAgentSpinner` selection.
+ userAgentSpinner.setSelection(userAgentArrayPosition);
+
+ // Show `userAgentTextView` and set the text.
+ userAgentTextView.setVisibility(View.VISIBLE);
+ userAgentTextView.setText(webViewDefaultUserAgentString);
+
+ // Hide `customUserAgentEditText`.
+ customUserAgentEditText.setVisibility(View.GONE);
+ } else { // We are using a standard user agent.
+ // Set the `userAgentSpinner` selection.
+ userAgentSpinner.setSelection(userAgentArrayPosition);
+
+ // Show `userAgentTextView` and set the text.
+ userAgentTextView.setVisibility(View.VISIBLE);
+ userAgentTextView.setText(currentUserAgentString);
+
+ // Hide `customUserAgentEditText`.
+ customUserAgentEditText.setVisibility(View.GONE);
+ }