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

Commit dbd843f6 authored by Yifei Zhang's avatar Yifei Zhang Committed by Justin Chung
Browse files

services: silence ringer with SLEEP key

Bug: 157451556
Bug: 160664278
Bug: 297848198
Test: Manual
Change-Id: I2ff956265d408d20053bc4d87a2615f955b31c44
(cherry picked from commit ce698abd4238551864a789df6a6a8b13aa8a2f9e)
(cherry picked from commit ea33beaad5a6f7f06ad6d47a9e2487300c43f651)
parent 4d386e22
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1185,6 +1185,9 @@
    -->
    <integer name="config_shortPressOnSleepBehavior">0</integer>

    <!-- Whether to silence telephony ringer on sleep key event -->
    <bool name="config_silenceRingerOnSleepKey">false</bool>

    <!-- Control the behavior when the user long presses the stem primary button.
         Stem primary button is only used on watch form factor. If a device is not
         a watch, setting this config is no-op.
+1 −0
Original line number Diff line number Diff line
@@ -464,6 +464,7 @@
  <java-symbol type="integer" name="config_toastDefaultGravity" />
  <java-symbol type="integer" name="config_triplePressOnPowerBehavior" />
  <java-symbol type="integer" name="config_shortPressOnSleepBehavior" />
  <java-symbol type="bool" name="config_silenceRingerOnSleepKey" />
  <java-symbol type="integer" name="config_longPressOnStemPrimaryBehavior" />
  <java-symbol type="integer" name="config_shortPressOnStemPrimaryBehavior" />
  <java-symbol type="integer" name="config_doublePressOnStemPrimaryBehavior" />
+12 −0
Original line number Diff line number Diff line
@@ -557,6 +557,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    boolean mWakeOnDpadKeyPress;
    boolean mWakeOnAssistKeyPress;
    boolean mWakeOnBackKeyPress;
    boolean mSilenceRingerOnSleepKey;
    long mWakeUpToLastStateTimeout;
    int mSearchKeyBehavior;
    ComponentName mSearchKeyTargetActivity;
@@ -1418,6 +1419,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    }

    private void sleepRelease(long eventTime) {
        if (mSilenceRingerOnSleepKey) {
            TelecomManager telecomManager = getTelecommService();
            if (telecomManager != null && telecomManager.isRinging()) {
                telecomManager.silenceRinger();
                Slog.i(TAG, "sleepRelease() silence ringer");
                return;
            }
        }

        switch (mShortPressOnSleepBehavior) {
            case SHORT_PRESS_SLEEP_GO_TO_SLEEP:
            case SHORT_PRESS_SLEEP_GO_TO_SLEEP_AND_GO_HOME:
@@ -2297,6 +2307,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                com.android.internal.R.string.config_doublePressOnPowerTargetActivity));
        mShortPressOnSleepBehavior = mContext.getResources().getInteger(
                com.android.internal.R.integer.config_shortPressOnSleepBehavior);
        mSilenceRingerOnSleepKey = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_silenceRingerOnSleepKey);
        mAllowStartActivityForLongPressOnPowerDuringSetup = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_allowStartActivityForLongPressOnPowerInSetup);