Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5a3125c authored by Svet Ganov's avatar Svet Ganov Committed by Svetoslav Ganov
Browse files

Don't access keyguard from instant apps.

Test: manual

bug:109652548

Change-Id: Ife1302e39e4f71f66d032619068a7e0214856b32
parent f5976be9
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -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()) {