Updated ongoing call notification to reflect video call state.

screenshots:
ongoing: http://screen/FkAM9hOU5Rq
paused:  http://screen/mrp6UJCoWAu
Bug: 63274792,63271690
Test: StatusBarNotifierTest
PiperOrigin-RevId: 169469414
Change-Id: I442e21d93b7e11dea191311acd28846ea257c156
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index a2fa7e4..becfad4 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -678,7 +678,8 @@
     if (call.getState() == DialerCall.State.ONHOLD) {
       return R.drawable.ic_phone_paused_white_24dp;
     } else if (call.getVideoTech().getSessionModificationState()
-        == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+            == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST
+        || call.isVideoCall()) {
       return R.drawable.quantum_ic_videocam_white_24;
     } else if (call.hasProperty(PROPERTY_HIGH_DEF_AUDIO)
         && MotorolaUtils.shouldShowHdIconInNotification(mContext)) {
@@ -730,6 +731,11 @@
       }
     } else if (call.getState() == DialerCall.State.ONHOLD) {
       resId = R.string.notification_on_hold;
+    } else if (call.isVideoCall()) {
+      resId =
+          call.getVideoTech().isPaused()
+              ? R.string.notification_ongoing_paused_video_call
+              : R.string.notification_ongoing_video_call;
     } else if (DialerCall.State.isDialing(call.getState())) {
       resId = R.string.notification_dialing;
     } else if (call.getVideoTech().getSessionModificationState()
diff --git a/java/com/android/incallui/videotech/VideoTech.java b/java/com/android/incallui/videotech/VideoTech.java
index e3753bc..410c357 100644
--- a/java/com/android/incallui/videotech/VideoTech.java
+++ b/java/com/android/incallui/videotech/VideoTech.java
@@ -39,6 +39,14 @@
 
   boolean shouldUseSurfaceView();
 
+  /**
+   * Returns true if the video is paused. This is different than if the video stream has been turned
+   * off.
+   *
+   * <p>See {@link #isTransmitting()}
+   */
+  boolean isPaused();
+
   VideoCallScreenDelegate createVideoCallScreenDelegate(
       Context context, VideoCallScreen videoCallScreen);
 
diff --git a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
index 76766df..f156a14 100644
--- a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
+++ b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
@@ -49,6 +49,11 @@
   }
 
   @Override
+  public boolean isPaused() {
+    return false;
+  }
+
+  @Override
   public VideoCallScreenDelegate createVideoCallScreenDelegate(
       Context context, VideoCallScreen videoCallScreen) {
     throw Assert.createUnsupportedOperationFailException();
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
index c12474d..0ef07d6 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
@@ -108,6 +108,11 @@
   }
 
   @Override
+  public boolean isPaused() {
+    return paused;
+  }
+
+  @Override
   public VideoCallScreenDelegate createVideoCallScreenDelegate(
       Context context, VideoCallScreen videoCallScreen) {
     // TODO move creating VideoCallPresenter here
diff --git a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
index 4b6f5ec..1ddf371 100644
--- a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
+++ b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
@@ -104,6 +104,11 @@
   }
 
   @Override
+  public boolean isPaused() {
+    return false;
+  }
+
+  @Override
   public VideoCallScreenDelegate createVideoCallScreenDelegate(
       Context context, VideoCallScreen videoCallScreen) {
     throw Assert.createUnsupportedOperationFailException();