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

Unverified Commit fbc92d47 authored by martincz's avatar martincz Committed by Michael Bestas
Browse files

PhoneWindowManager: Tap volume buttons to answer call

Change-Id: I5ebe1ad88950ba56ce1445b77b7f8cdf030463da
parent 0869a5e3
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -677,6 +677,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    boolean mVolumeUpWakeTriggered;
    boolean mVolumeUpWakeTriggered;
    boolean mVolumeMuteWakeTriggered;
    boolean mVolumeMuteWakeTriggered;


    boolean mVolumeAnswerCall;

    private boolean mPendingKeyguardOccluded;
    private boolean mPendingKeyguardOccluded;
    private boolean mKeyguardOccludedChanged;
    private boolean mKeyguardOccludedChanged;


@@ -1049,6 +1051,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            resolver.registerContentObserver(LineageSettings.System.getUriFor(
            resolver.registerContentObserver(LineageSettings.System.getUriFor(
                    LineageSettings.System.VOLUME_WAKE_SCREEN), false, this,
                    LineageSettings.System.VOLUME_WAKE_SCREEN), false, this,
                    UserHandle.USER_ALL);
                    UserHandle.USER_ALL);
            resolver.registerContentObserver(LineageSettings.System.getUriFor(
                    LineageSettings.System.VOLUME_ANSWER_CALL), false, this,
                    UserHandle.USER_ALL);
            updateSettings();
            updateSettings();
        }
        }


@@ -3318,6 +3323,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            mWakeOnVolumeKeyPress = (LineageSettings.System.getIntForUser(resolver,
            mWakeOnVolumeKeyPress = (LineageSettings.System.getIntForUser(resolver,
                    LineageSettings.System.VOLUME_WAKE_SCREEN, 0, UserHandle.USER_CURRENT) == 1)
                    LineageSettings.System.VOLUME_WAKE_SCREEN, 0, UserHandle.USER_CURRENT) == 1)
                    && ((mDeviceHardwareWakeKeys & KEY_MASK_VOLUME) != 0);
                    && ((mDeviceHardwareWakeKeys & KEY_MASK_VOLUME) != 0);
            mVolumeAnswerCall = (LineageSettings.System.getIntForUser(resolver,
                    LineageSettings.System.VOLUME_ANSWER_CALL, 0, UserHandle.USER_CURRENT) == 1)
                    && ((mDeviceHardwareWakeKeys & KEY_MASK_VOLUME) != 0);


            // Configure wake gesture.
            // Configure wake gesture.
            boolean wakeGestureEnabledSetting = Settings.Secure.getIntForUser(resolver,
            boolean wakeGestureEnabledSetting = Settings.Secure.getIntForUser(resolver,
@@ -5081,6 +5089,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        // When {@link #mHandleVolumeKeysInWM} is set, volume key events
                        // When {@link #mHandleVolumeKeysInWM} is set, volume key events
                        // should be dispatched to WM.
                        // should be dispatched to WM.
                        if (telecomManager.isRinging()) {
                        if (telecomManager.isRinging()) {
                            if (mVolumeAnswerCall) {
                                telecomManager.acceptRingingCall();
                            }

                            // If an incoming call is ringing, either VOLUME key means
                            // If an incoming call is ringing, either VOLUME key means
                            // "silence ringer".  We handle these keys here, rather than
                            // "silence ringer".  We handle these keys here, rather than
                            // in the InCallScreen, to make sure we'll respond to them
                            // in the InCallScreen, to make sure we'll respond to them