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

Commit 75d3caaf authored by Mike Lockwood's avatar Mike Lockwood
Browse files

When phone is ringing, power button should hang up phone in addition to turning off the screen.



Fixes bug b/2201585 (Pressing power button when phone ringing should mute ringer)

Change-Id: Ief3e26044f9b0ceaf41c5dc6be52f0d1e9897810
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent fcb39240
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -1686,19 +1686,22 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    // key repeats are generated by the window manager, and we don't see them
                    // here, so unless the driver is doing something it shouldn't be, we know
                    // this is the real press event.
                    if (code == KeyEvent.KEYCODE_ENDCALL) {
                        try {
                    ITelephony phoneServ = getPhoneInterface();
                    if (phoneServ != null) {
                        try {
                            // power button should hang up only when ringing
                            // but not after the call has been answered
                            if (code == KeyEvent.KEYCODE_ENDCALL || phoneServ.isRinging()) {
                                hungUp = phoneServ.endCall();
                            } else {
                                Log.w(TAG, "!!! Unable to find ITelephony interface !!!");
                            }
                        } catch (RemoteException ex) {
                            Log.w(TAG, "ITelephony.endCall() threw RemoteException" + ex);
                            Log.w(TAG, "ITelephony threw RemoteException" + ex);
                        }
                    } else {
                        Log.w(TAG, "!!! Unable to find ITelephony interface !!!");
                    }
                    if (hungUp || !screenIsOn) {
                    // power button should turn off screen in addition to hanging up the phone
                    if ((hungUp && code != KeyEvent.KEYCODE_POWER) || !screenIsOn) {
                        mShouldTurnOffOnKeyUp = false;
                    } else {
                        // only try to turn off the screen if we didn't already hang up