aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Yu <jackyu@google.com>2017-09-15 03:33:41 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-09-15 03:33:41 +0000
commitca9cdf0f2b4b01e9364c3f599bfae928ccc5bd0e (patch)
tree01e4b5ca2d474851ef5d10a9447021412e2171cc
parent81cb84b8fcc47ad060dcfbc701d82f34dba3008d (diff)
parentc1a30c1a5f0e3b8fee03790b0a1bfc087f22075c (diff)
downloadtelephony-ca9cdf0f2b4b01e9364c3f599bfae928ccc5bd0e.tar.gz
Fixed that video calling data usage was not counted under phone app
am: c1a30c1a5f Change-Id: I9b97305814769d437bd4f0de0105a2e877e50f31
-rw-r--r--src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
index c19c28bc1f..11350e03e6 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
@@ -726,6 +726,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
return NetworkStats.UID_ALL;
}
+ // Initialize to UID_ALL so at least it can be counted to overall data usage if
+ // the dialer's package uid is not available.
int uid = NetworkStats.UID_ALL;
try {
uid = context.getPackageManager().getPackageUid(pkg, 0);
@@ -2999,6 +3001,17 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
// a separate entry if uid is different from the previous snapshot.
NetworkStats vtDataUsageUidSnapshot = new NetworkStats(currentTime, 1);
vtDataUsageUidSnapshot.combineAllValues(mVtDataUsageUidSnapshot);
+
+ // The dialer uid might not be initialized correctly during boot up due to telecom service
+ // not ready or its default dialer cache not ready. So we double check again here to see if
+ // default dialer uid is really not available.
+ if (mDefaultDialerUid.get() == NetworkStats.UID_ALL) {
+ final TelecomManager telecomManager =
+ (TelecomManager) mPhone.getContext().getSystemService(Context.TELECOM_SERVICE);
+ mDefaultDialerUid.set(
+ getPackageUid(mPhone.getContext(), telecomManager.getDefaultDialerPackage()));
+ }
+
// Since the modem only reports the total vt data usage rather than rx/tx separately,
// the only thing we can do here is splitting the usage into half rx and half tx.
vtDataUsageUidSnapshot.combineValues(new NetworkStats.Entry(