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();