Merge "Remove code which prevents making a video call when one is in progress." into mm-wireless-dev
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index 8fe6fc1..fbfd2a4 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -65,6 +65,9 @@
*/
@VisibleForTesting
public class Call implements CreateConnectionResponse {
+ public final static String CALL_ID_UNKNOWN = "-1";
+ public final static long DATA_USAGE_NOT_SET = -1;
+
/**
* Listener for events on the call.
*/
@@ -332,6 +335,11 @@
private boolean mIsLocallyDisconnecting = false;
/**
+ * Tracks the current call data usage as reported by the video provider.
+ */
+ private long mCallDataUsage = DATA_USAGE_NOT_SET;
+
+ /**
* Persists the specified parameters and initializes the new instance.
*
* @param context The context.
@@ -1681,4 +1689,22 @@
public boolean isDisconnected() {
return (getState() == CallState.DISCONNECTED || getState() == CallState.ABORTED);
}
+
+ /**
+ * Sets the call data usage for the call.
+ *
+ * @param callDataUsage The new call data usage (in bytes).
+ */
+ public void setCallDataUsage(long callDataUsage) {
+ mCallDataUsage = callDataUsage;
+ }
+
+ /**
+ * Returns the call data usage for the call.
+ *
+ * @return The call data usage (in bytes).
+ */
+ public long getCallDataUsage() {
+ return mCallDataUsage;
+ }
}
diff --git a/src/com/android/server/telecom/CallLogManager.java b/src/com/android/server/telecom/CallLogManager.java
index 1fe491e..718f2ea 100755
--- a/src/com/android/server/telecom/CallLogManager.java
+++ b/src/com/android/server/telecom/CallLogManager.java
@@ -145,10 +145,12 @@
accountHandle = null;
}
- // TODO(vt): Once data usage is available, wire it up here.
+ Long callDataUsage = call.getCallDataUsage() == Call.DATA_USAGE_NOT_SET ? null :
+ call.getCallDataUsage();
+
int callFeatures = getCallFeatures(call.getVideoStateHistory());
logCall(call.getCallerInfo(), logNumber, call.getHandlePresentation(),
- callLogType, callFeatures, accountHandle, creationTime, age, null,
+ callLogType, callFeatures, accountHandle, creationTime, age, callDataUsage,
call.isEmergencyCall());
}
diff --git a/src/com/android/server/telecom/VideoProviderProxy.java b/src/com/android/server/telecom/VideoProviderProxy.java
index 7dcfdfb..b531242 100644
--- a/src/com/android/server/telecom/VideoProviderProxy.java
+++ b/src/com/android/server/telecom/VideoProviderProxy.java
@@ -206,6 +206,9 @@
* Proxies a request from the {@link #mConectionServiceVideoProvider} to the
* {@link InCallService} when the call data usage changes.
*
+ * Also tracks the current call data usage on the {@link Call} for use when writing to the
+ * call log.
+ *
* @param dataUsage The data usage.
*/
@Override
@@ -213,6 +216,7 @@
synchronized (mLock) {
logFromVideoProvider("changeCallDataUsage: " + dataUsage);
VideoProviderProxy.this.setCallDataUsage(dataUsage);
+ mCall.setCallDataUsage(dataUsage);
}
}