summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fabian Kozynski <kozynski@google.com> 2019-01-29 18:33:07 -0500
committer Fabian Kozynski <kozynski@google.com> 2019-01-29 18:33:07 -0500
commit873e19384cb538b77d003d99f202b73fc0d3963f (patch)
treef86ba49c926cd06116115e81733810c50e718844
parent2d10bd04816b2931cc232602855a08f1c031de64 (diff)
Fixed NPE when passing intent to permissioncontroller
OngoingPrivacyDialog only assigns clickListeners to lines with a valid package name. Test: manual, Device Services is not clickable Bug: 123581716 Change-Id: I7775cc39b7446fc93c53cbf0c70b9214e406cd74
-rw-r--r--packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt26
1 files changed, 16 insertions, 10 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
index db5c244d95b2..e2688f13134c 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
@@ -19,6 +19,7 @@ import android.app.Dialog
import android.content.Context
import android.content.DialogInterface
import android.content.Intent
+import android.content.pm.PackageManager
import android.content.res.ColorStateList
import android.os.UserHandle
import android.util.IconDrawableFactory
@@ -157,16 +158,21 @@ class OngoingPrivacyDialog constructor(
} else {
icons.visibility = View.GONE
}
- item.setOnClickListener(object : View.OnClickListener {
- val intent = Intent(Intent.ACTION_REVIEW_APP_PERMISSION_USAGE)
- .putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
- .putExtra(Intent.EXTRA_USER, UserHandle.getUserHandleForUid(app.uid))
- override fun onClick(v: View?) {
- Dependency.get(ActivityStarter::class.java)
- .postStartActivityDismissingKeyguard(intent, 0)
- dismissDialog?.invoke()
- }
- })
+ try {
+ // Check if package exists
+ context.packageManager.getPackageInfo(app.packageName, 0)
+ item.setOnClickListener(object : View.OnClickListener {
+ val intent = Intent(Intent.ACTION_REVIEW_APP_PERMISSION_USAGE)
+ .putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
+ .putExtra(Intent.EXTRA_USER, UserHandle.getUserHandleForUid(app.uid))
+ override fun onClick(v: View?) {
+ Dependency.get(ActivityStarter::class.java)
+ .postStartActivityDismissingKeyguard(intent, 0)
+ dismissDialog?.invoke()
+ }
+ })
+ } catch (e: PackageManager.NameNotFoundException) {}
+
itemList.addView(item)
}
}