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

Commit 628cea45 authored by Doris Ling's avatar Doris Ling
Browse files

Added config system navigation keys.

1. Added config_supportSystemNavigationKeys to config and symbols
2. Added SYSTEM_NAVIGATION_KEYS_ENABLED to Settings.Global
3. Updated PhoneWindowManager to check for the system navigation keys enabled
   flag before expanding or collapsing the notification panel.

Bug 29120082

Change-Id: Ia73078520474ce5a1cbf2256c0d793ed74bbf589
parent c6bddb82
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -9025,6 +9025,13 @@ public final class Settings {
         * @hide
         */
        public static final String MAX_NOTIFICATION_ENQUEUE_RATE = "max_notification_enqueue_rate";

        /**
         * Whether SystemUI navigation keys is enabled.
         * @hide
         */
        public static final String SYSTEM_NAVIGATION_KEYS_ENABLED =
                "system_navigation_keys_enabled";
    }

    /**
+3 −0
Original line number Diff line number Diff line
@@ -2492,4 +2492,7 @@
    <!-- Flag indicating whether round icons should be parsed from the application manifest. -->
    <bool name="config_useRoundIcon">false</bool>

    <!-- True if the device supports system navigation keys. -->
    <bool name="config_supportSystemNavigationKeys">false</bool>

</resources>
+3 −0
Original line number Diff line number Diff line
@@ -2617,4 +2617,7 @@
  <java-symbol type="id" name="cross_task_transition" />

  <java-symbol type="bool" name="config_useRoundIcon" />

  <!-- For System navigation keys -->
  <java-symbol type="bool" name="config_supportSystemNavigationKeys" />
</resources>
+6 −1
Original line number Diff line number Diff line
@@ -5851,7 +5851,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
     */
    private void interceptStatusBarKey(KeyEvent event) {
        final int e = event.getKeyCode();
        if (event.getAction() == KeyEvent.ACTION_UP) {
        if (event.getAction() == KeyEvent.ACTION_UP && areSystemNavigationKeysEnabled()) {
            boolean doOpen = false;
            boolean doClose = false;
            doOpen = (e == KeyEvent.KEYCODE_FP_NAV_DOWN);
@@ -7264,6 +7264,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, 0) == 1;
    }

    private boolean areSystemNavigationKeysEnabled() {
        return Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.SYSTEM_NAVIGATION_KEYS_ENABLED, 0) == 1;
    }

    @Override
    public boolean performHapticFeedbackLw(WindowState win, int effectId, boolean always) {
        if (!mVibrator.hasVibrator()) {