Update oc-dr1-dev to v11.1 RC06

This moves the branch forward from v11 RC17.

This release contains fixes for the following bugs:

Bug: 63584851 63803282 63917358 64099380
64101648 64105912 64119808 64122858
64125770 64300111

Test: TH, on device
Merged-In: I858e3665253139b8aab4e4c063bfc4c419f33cc9
Merged-In: Ifc146f2fec24fd2f8a51cd32feb3699bb1c07136
Change-Id: I48296c56fb1d275a06b7c314f5380266c1195ef2
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 1528e7d..563468e 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -189,6 +189,8 @@
   /** 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 @@
   }
 
   private void attemptFinishActivity() {
+    mScreenTimeoutEnabled = true;
     final boolean doFinish = (mInCallActivity != null && isActivityStarted());
     LogUtil.i("InCallPresenter.attemptFinishActivity", "Hide in call UI: " + doFinish);
     if (doFinish) {
@@ -1064,6 +1067,7 @@
       // TODO - b/36649622: Investigate this redundant call
       mStatusBarNotifier.updateNotification(mCallList);
     }
+    applyScreenTimeout();
   }
 
   /*package*/
@@ -1577,13 +1581,18 @@
 
   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);
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index a106022..5b4178d 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -867,7 +867,7 @@
         false /* isRemotelyHeld */);
     enableCamera(mVideoCall, false);
     InCallPresenter.getInstance().setFullScreen(false);
-
+    InCallPresenter.getInstance().enableScreenTimeout(false);
     mIsVideoMode = false;
   }
 
diff --git a/java/com/android/incallui/contactgrid/ContactGridManager.java b/java/com/android/incallui/contactgrid/ContactGridManager.java
index 502cc52..708bfab 100644
--- a/java/com/android/incallui/contactgrid/ContactGridManager.java
+++ b/java/com/android/incallui/contactgrid/ContactGridManager.java
@@ -32,6 +32,7 @@
 import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
 import com.android.contacts.common.lettertiles.LetterTileDrawable;
 import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
 import com.android.dialer.util.DrawableConverter;
 import com.android.incallui.incall.protocol.ContactPhotoType;
 import com.android.incallui.incall.protocol.PrimaryCallState;
@@ -347,12 +348,16 @@
     }
 
     if (info.isTimerVisible) {
+      bottomTextSwitcher.setDisplayedChild(1);
+      bottomTimerView.setBase(
+          primaryCallState.connectTimeMillis
+              - System.currentTimeMillis()
+              + SystemClock.elapsedRealtime());
       if (!isTimerStarted) {
-        bottomTextSwitcher.setDisplayedChild(1);
-        bottomTimerView.setBase(
-            primaryCallState.connectTimeMillis
-                - System.currentTimeMillis()
-                + SystemClock.elapsedRealtime());
+        LogUtil.i(
+            "ContactGridManager.updateBottomRow",
+            "starting timer with base: %d",
+            bottomTimerView.getBase());
         bottomTimerView.start();
         isTimerStarted = true;
       }