diff options
author | kaiyiz <kaiyiz@codeaurora.org> | 2014-07-07 15:51:46 +0800 |
---|---|---|
committer | emancebo <emancebo@cyngn.com> | 2014-09-04 15:20:00 -0700 |
commit | 9185b33784377f1aabd91ec5ff68170de341f135 (patch) | |
tree | 91d4a1e9b9fa4b6e941e826dbe01bf8070b3c08d | |
parent | 37621fae82dcad13eec91816174a597ac6bef3a4 (diff) | |
download | packages_apps_InCallUI-9185b33784377f1aabd91ec5ff68170de341f135.tar.gz packages_apps_InCallUI-9185b33784377f1aabd91ec5ff68170de341f135.tar.bz2 packages_apps_InCallUI-9185b33784377f1aabd91ec5ff68170de341f135.zip |
InCallUI: Do not dismiss the keyguard when there is active call
The InCallUI will dismiss the keyguard when there is active call.
Add a config to check whether we need to dismiss the Keyguard screen
when there is active call, we set false as default.
CRs-Fixed: 688484
Conflicts:
src/com/android/incallui/InCallPresenter.java
Change-Id: Ifd0dbb322562464efacb9c5a8234d55055c9e8e4
-rw-r--r-- | res/values/config.xml | 31 | ||||
-rw-r--r-- | src/com/android/incallui/InCallPresenter.java | 12 | ||||
-rw-r--r-- | src/com/android/incallui/MSimInCallActivity.java | 3 |
3 files changed, 42 insertions, 4 deletions
diff --git a/res/values/config.xml b/res/values/config.xml new file mode 100644 index 00000000..434a0c3d --- /dev/null +++ b/res/values/config.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Copyright (c) 2014, The Linux Foundation. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> +<resources> + <!-- Dismiss the Keyguard screen when there is active call. --> + <bool name="config_incall_dismiss_keyguard">true</bool> +</resources> diff --git a/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java index b697e393..e328169c 100644 --- a/src/com/android/incallui/InCallPresenter.java +++ b/src/com/android/incallui/InCallPresenter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * Not a Contribution, Apache license notifications and license are retained * for attribution purposes only. * @@ -368,7 +368,12 @@ public class InCallPresenter implements CallList.Listener { if (newState != InCallState.DISCONNECTING) { mInCallActivity.updateSystemBarTranslucency(); } + } + // Get the config whether we need to dismiss the keyguard screen, Google design is true. + boolean shouldDismissKeyguard = (mInCallActivity != null && + mInCallActivity.getResources().getBoolean(R.bool.config_incall_dismiss_keyguard)); + if (isActivityStarted() && shouldDismissKeyguard) { final boolean hasCall = callList.getActiveOrBackgroundCall() != null || callList.getOutgoingCall() != null; mInCallActivity.dismissKeyguard(hasCall); @@ -418,7 +423,10 @@ public class InCallPresenter implements CallList.Listener { // We need to do the run the same code as onCallListChange. onCallListChange(CallList.getInstance()); - if (isActivityStarted()) { + // Get the config whether we need to dismiss the keyguard screen, Google design is true. + boolean shouldDismissKeyguard = (mInCallActivity != null && + mInCallActivity.getResources().getBoolean(R.bool.config_incall_dismiss_keyguard)); + if (isActivityStarted() && shouldDismissKeyguard) { mInCallActivity.dismissKeyguard(false); } } diff --git a/src/com/android/incallui/MSimInCallActivity.java b/src/com/android/incallui/MSimInCallActivity.java index a8350af2..42a26be5 100644 --- a/src/com/android/incallui/MSimInCallActivity.java +++ b/src/com/android/incallui/MSimInCallActivity.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2006 The Android Open Source Project @@ -61,7 +61,6 @@ public class MSimInCallActivity extends InCallActivity { // Have the WindowManager filter out touch events that are "too fat". getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON - | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES); setTheme(R.style.InCallScreenWithActionBar); |