- // Populate the URL edit text. This must be done before the text change listener is created below so that the file size isn't requested again.
- urlEditText.setText(urlString);
+ // 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);
+ }