summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Svet Ganov <svetoslavganov@google.com> 2018-06-05 14:34:22 -0700
committer android-build-merger <android-build-merger@google.com> 2018-06-05 14:34:22 -0700
commit54f78810ccfc00a47814eb2c961305646a9d92aa (patch)
tree29004b572ac2672d0101f8abd48794eb39cfe53f
parent0bd972083a43365ef753e5e09b9f1e6735864139 (diff)
parente5a3125c1c398fd96939ac3abff6c0a0b81b2d5d (diff)
Don't access keyguard from instant apps.
am: e5a3125c1c Change-Id: I1a6574d771f3e94727d85d24eb5f1abe1a0f388d
-rw-r--r--core/java/com/android/internal/policy/PhoneFallbackEventHandler.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
index 19593011e751..d8ee4dd34269 100644
--- a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
+++ b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
@@ -112,7 +112,7 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
}
case KeyEvent.KEYCODE_CALL: {
- if (getKeyguardManager().inKeyguardRestrictedInputMode() || dispatcher == null) {
+ if (isNotInstantAppAndKeyguardRestricted(dispatcher)) {
break;
}
if (event.getRepeatCount() == 0) {
@@ -139,7 +139,7 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
}
case KeyEvent.KEYCODE_CAMERA: {
- if (getKeyguardManager().inKeyguardRestrictedInputMode() || dispatcher == null) {
+ if (isNotInstantAppAndKeyguardRestricted(dispatcher)) {
break;
}
if (event.getRepeatCount() == 0) {
@@ -164,7 +164,7 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
}
case KeyEvent.KEYCODE_SEARCH: {
- if (getKeyguardManager().inKeyguardRestrictedInputMode() || dispatcher == null) {
+ if (isNotInstantAppAndKeyguardRestricted(dispatcher)) {
break;
}
if (event.getRepeatCount() == 0) {
@@ -202,6 +202,11 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
return false;
}
+ private boolean isNotInstantAppAndKeyguardRestricted(KeyEvent.DispatcherState dispatcher) {
+ return !mContext.getPackageManager().isInstantApp()
+ && (getKeyguardManager().inKeyguardRestrictedInputMode() || dispatcher == null);
+ }
+
boolean onKeyUp(int keyCode, KeyEvent event) {
if (DEBUG) {
Log.d(TAG, "up " + keyCode);
@@ -238,7 +243,7 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
}
case KeyEvent.KEYCODE_CAMERA: {
- if (getKeyguardManager().inKeyguardRestrictedInputMode()) {
+ if (isNotInstantAppAndKeyguardRestricted(dispatcher)) {
break;
}
if (event.isTracking() && !event.isCanceled()) {
@@ -248,7 +253,7 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
}
case KeyEvent.KEYCODE_CALL: {
- if (getKeyguardManager().inKeyguardRestrictedInputMode()) {
+ if (isNotInstantAppAndKeyguardRestricted(dispatcher)) {
break;
}
if (event.isTracking() && !event.isCanceled()) {