Fix crashs during getting app activities

This commit is contained in:
Jonas L 2019-05-20 00:00:00 +00:00
parent 40a511db39
commit a625dcc1d9

View file

@ -118,15 +118,21 @@ object AndroidIntegrationApps {
fun getLocalAppActivities(deviceId: String, context: Context): Collection<AppActivity> {
return context.packageManager.getInstalledApplications(0).asSequence().map { applicationInfo ->
(context.packageManager.getPackageInfo(applicationInfo.packageName, PackageManager.GET_ACTIVITIES)?.activities ?: emptyArray())
.map {
AppActivity(
deviceId = deviceId,
appPackageName = applicationInfo.packageName,
activityClassName = it.name,
title = it.loadLabel(context.packageManager).toString()
)
(
try {
context.packageManager.getPackageInfo(applicationInfo.packageName, PackageManager.GET_ACTIVITIES)?.activities
} catch (ex: PackageManager.NameNotFoundException) {
null
}
?: emptyArray()
).map {
AppActivity(
deviceId = deviceId,
appPackageName = applicationInfo.packageName,
activityClassName = it.name,
title = it.loadLabel(context.packageManager).toString()
)
}
}.flatten().toSet()
}