diff options
author | Jack Yu <jackyu@google.com> | 2017-09-15 03:33:41 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-09-15 03:33:41 +0000 |
commit | ca9cdf0f2b4b01e9364c3f599bfae928ccc5bd0e (patch) | |
tree | 01e4b5ca2d474851ef5d10a9447021412e2171cc | |
parent | 81cb84b8fcc47ad060dcfbc701d82f34dba3008d (diff) | |
parent | c1a30c1a5f0e3b8fee03790b0a1bfc087f22075c (diff) | |
download | telephony-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.java | 13 |
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( |