diff options
Diffstat (limited to 'java/com/android/incallui/InCallPresenter.java')
-rw-r--r-- | java/com/android/incallui/InCallPresenter.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java index 0dd654903..563468e84 100644 --- a/java/com/android/incallui/InCallPresenter.java +++ b/java/com/android/incallui/InCallPresenter.java @@ -189,6 +189,8 @@ public class InCallPresenter implements CallList.Listener { /** Determines if the InCall UI is in fullscreen mode or not. */ private boolean mIsFullScreen = false; + private boolean mScreenTimeoutEnabled = true; + private PhoneStateListener mPhoneStateListener = new PhoneStateListener() { @Override @@ -395,6 +397,7 @@ public class InCallPresenter implements CallList.Listener { } private void attemptFinishActivity() { + mScreenTimeoutEnabled = true; final boolean doFinish = (mInCallActivity != null && isActivityStarted()); LogUtil.i("InCallPresenter.attemptFinishActivity", "Hide in call UI: " + doFinish); if (doFinish) { @@ -852,7 +855,7 @@ public class InCallPresenter implements CallList.Listener { if (newState == InCallState.NO_CALLS) { if (mBoundAndWaitingForOutgoingCall) { - return InCallState.PENDING_OUTGOING; + return InCallState.OUTGOING; } } @@ -870,7 +873,7 @@ public class InCallPresenter implements CallList.Listener { mBoundAndWaitingForOutgoingCall = isBound; mThemeColorManager.setPendingPhoneAccountHandle(handle); if (isBound && mInCallState == InCallState.NO_CALLS) { - mInCallState = InCallState.PENDING_OUTGOING; + mInCallState = InCallState.OUTGOING; } } @@ -1061,9 +1064,10 @@ public class InCallPresenter implements CallList.Listener { LogUtil.d("InCallPresenter.onActivityStarted", "onActivityStarted"); notifyVideoPauseController(true); if (mStatusBarNotifier != null) { - // TODO(maxwelb) - b/36649622: Investigate this redundant call + // TODO - b/36649622: Investigate this redundant call mStatusBarNotifier.updateNotification(mCallList); } + applyScreenTimeout(); } /*package*/ @@ -1577,13 +1581,18 @@ public class InCallPresenter implements CallList.Listener { public void enableScreenTimeout(boolean enable) { LogUtil.v("InCallPresenter.enableScreenTimeout", "enableScreenTimeout: value=" + enable); + mScreenTimeoutEnabled = enable; + applyScreenTimeout(); + } + + private void applyScreenTimeout() { if (mInCallActivity == null) { - LogUtil.e("InCallPresenter.enableScreenTimeout", "InCallActivity is null."); + LogUtil.e("InCallPresenter.applyScreenTimeout", "InCallActivity is null."); return; } final Window window = mInCallActivity.getWindow(); - if (enable) { + if (mScreenTimeoutEnabled) { window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } else { window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |