* (Android) Get rid of double bangs by using Kotlin view binding
Instead of holding a nullable reference to the WebView, we are now
accessing the WebView using the view binding utility of Kotlin's
Android Extensions.
Further reading:
https://kotlinlang.org/docs/tutorials/android-plugin.html
* (Android) Enable WebView debugging in debug builds
This enables debugging the app's WebView using Chrome's DevTools.
https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews
* (Android) Make MainActivity.kt adhere to common Kotlin conventions
* (Android) Update dependencies and improve formatting of Gradle files
This updates the Kotlin plugin to 1.3.21 and the Gradle plugin to 3.3.2
* (Android) Remove unnecessary ConstraintLayout container
Layout files should generally have as few nested layers as possible,
because every layer affects the performance.
* (Android) Use JSONObject class to construct a JSON string
It is way safer to construct a JSON string using classes that are
meant for doing that, instead of concatenating raw strings.
* (Android) Suppress JavaScript lint warning
* (Android) Use Kotlin string templates instead of concatenating strings
* (Android) Add missing SuppressLint import
To do so, we clear the webview history once the login process is complete so that the intermediate redirect urls used by the login process are not in the history.
Also, update the versions of some of the libraries we use.
Java has nulls, and any object reference in Java can be null, but in Kotlin parameters default to not null unless the type is specified as `Type?`; our override of onActivityResult was specifying the type of the intent parameter as `Intent` instead of `Intent?`, causing an exception before our code was called. Figuring out how to turn on "break on all exceptions" in Android Studio (which is non-trivial for some reason) finally showed me the stack trace.
* Implement the mechanics of fxa login on android, but don't show ui for it yet. Also, scopedKeys are not yet implemented.
* Hopefully fix the package-lock conflict?
* WIP on android scoped keys
* Finish implementing login.
* created android/user.js to handle android logins
* Merge branch 'vnext' of https://github.com/mozilla/send into android-preferences
Fix conflicts
* Implement wss preference url in html; Update to work with the tip of vnext branch; allow viewing the android ui from the webpack server
* Use a try/catch in case localStorage isn't available, which it isn't in a ServiceWorker
* Fix #877 Implement Start page (Empty State) Design
* Update some kotlin and android sdk things, and update to the latest code in vnext
* Begin implementing the card ui which shows after uploading.
* Implement a progress bar.