From 9185b33784377f1aabd91ec5ff68170de341f135 Mon Sep 17 00:00:00 2001 From: kaiyiz Date: Mon, 7 Jul 2014 15:51:46 +0800 Subject: 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 --- res/values/config.xml | 31 ++++++++++++++++++++++++ src/com/android/incallui/InCallPresenter.java | 12 +++++++-- src/com/android/incallui/MSimInCallActivity.java | 3 +-- 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 res/values/config.xml 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 @@ + + + + + true + 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); -- cgit v1.2.3