A base class for Android apps that implements the App interface and makes use of the Android PackageManager to query the required information for the given app package name.
This class allows mocking of PackageManager functionality in tests.
displayName resolves to an empty string if the package is not found so it can be used to filter out recently uninstalled apps.
Provides an icon for the app which can be displayed in the UI.
Provides a unique identifier for the App instance.
Provides a description of the app which can be displayed in the UI.