- // Create a default file name string.
- String defaultFileName = "";
-
- // Set the default file name according to the type.
- switch (saveType) {
- case StoragePermissionDialog.SAVE_ARCHIVE:
- defaultFileName = getString(R.string.webpage_mht);
- break;
-
- case StoragePermissionDialog.SAVE_IMAGE:
- defaultFileName = getString(R.string.webpage_png);
- break;
- }
-
- // Create a string for the default file path.
- String defaultFilePath;
+ // Remove the incorrect warnings that the views might be null.
+ assert urlTextInputLayout != null;
+ assert urlEditText != null;
+ assert fileNameEditText != null;
+ assert browseButton != null;
+ assert fileSizeTextView != null;
+ assert fileExistsWarningTextView != null;
+ assert storagePermissionTextView != null;
+
+ // Set the file size text view.
+ fileSizeTextView.setText(fileSizeString);
+
+ // Modify the layout based on the save type.
+ if (saveType == StoragePermissionDialog.SAVE_URL) { // A URL is being saved.
+ // Remove the incorrect lint error below that the URL string might be null.
+ assert urlString != null;
+
+ // Populate the URL edit text according to the type. This must be done before the text change listener is created below so that the file size isn't requested again.
+ if (urlString.startsWith("data:")) { // The URL contains the entire data of an image.
+ // Get a substring of the data URL with the first 100 characters. Otherwise, the user interface will freeze while trying to layout the edit text.
+ String urlSubstring = urlString.substring(0, 100) + "…";
+
+ // Populate the URL edit text with the truncated URL.
+ urlEditText.setText(urlSubstring);
+
+ // Disable the editing of the URL edit text.
+ urlEditText.setInputType(InputType.TYPE_NULL);
+ } else { // The URL contains a reference to the location of the data.
+ // Populate the URL edit text with the full URL.
+ urlEditText.setText(urlString);
+ }