Currently, users file performance issues and it's up to the Fenix team
to triage them and tag them appropriately. I think it'd save the Fenix
team time and ensure the performance team sees more issues if there was
a new issue type.
* Add PWA events to metrics.
Track events for add to homescreen and install.
Map PWA facts to events
* Map component facts to local metrics
Add events pings to fragments
Supress long method for events
Move install event to AC and collect facts
Retrieve fg and bg events from Facts. Do not track intent fg/bg events, only views
* Allow onPause in base fragment to send telemetry for PWA in the external app fragment. Track foreground and bg locally in fenix, and route install and home screen taps from AC facts
* Rebase
App can be installed on devices with no camera modules. Like Android TV boxes.
Will skip presenting the option to sign in by scanning a qr code in this case
and default to login with email and password.
Item is now refreshed by calling notifyDataSetChanged on the adapter when the last tab from the collection has been swiped away and the user cancels the deletion by pressing the cancel button from the dialog.
Also added a "wasSwiped" flag to onCollectionRemoveTab in order to check if the tab was deleted from a swipe action and not by pressing the "X" button.
Our kotlin code is not catching the `MissingResourceException` in the `LeanplumMetricsService` which results in the app crashing when the locale isn't known by the device.
Catches the exception, and falls back to the ISO 639 language code. This isn't a great solution, because ISO 639 isn't especially stable.
In practice however this is almost certainly never going to be a problem because Leanplum isn't going to be supported in such exotic locales.
In this case, using the ISO 639 language code allows the error message to be more informative.