summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2014-07-07 15:51:46 +0800
committeremancebo <emancebo@cyngn.com>2014-09-04 15:20:00 -0700
commit9185b33784377f1aabd91ec5ff68170de341f135 (patch)
tree91d4a1e9b9fa4b6e941e826dbe01bf8070b3c08d
parent37621fae82dcad13eec91816174a597ac6bef3a4 (diff)
downloadpackages_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.xml31
-rw-r--r--src/com/android/incallui/InCallPresenter.java12
-rw-r--r--src/com/android/incallui/MSimInCallActivity.java3
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);