Fix crash when activity for file upload is not present.

Ensure that there is an activity to handle the intents
that the file upload control fires. If not, fallback to
the default upload control. This CL also refactors the
code to be (hopefully :)) easier to follow.

Bug:3447924
Change-Id: Ie5f7b448ec1c6abc7da7df29b94cc120d3b2c60e
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b61385a..8005e14 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -18,6 +18,9 @@
     <string name="application_name">Browser</string>
     <!-- Displayed with a file picker to choose a file to upload -->
     <string name="choose_upload">Choose file for upload</string>
+    <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+    <string name="uploads_disabled">File uploads are disabled.</string>
     <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
     <string name="new_tab">New window</string>
     <!-- Name of menu item of a new incognito tab.  Also used in the