Commit Graph

2205 Commits

Author SHA1 Message Date
Lucas Lin
3f8ccb072e Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde am: 5ecaf8f36b
Change-Id: I47f46d61c0cc9dacf24efc28ec900b35289eef5f
2020-05-07 09:37:17 +00:00
Lucas Lin
5ecaf8f36b Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde
Change-Id: I8996b46bbd71ddc27ef313e3d9d329faf56ac580
2020-05-07 09:21:25 +00:00
lucaslin
3648f0a35d Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler
There is a corner case which may cause the deadlock:
When NetworkStatsService tried to broadcast the intent,
NetworkStatsService was waiting for a lock which was hold by
ActivityManagerService. In the same time, ActivityManagerService
was waiting for ActiveService#startServiceInnerLocked() to get a
lock which was hold by ConnectivityService. ConnectivityService
was waiting for a lock which was hold by BatteryStatsImpl.
BatteryStatsImpl was waiting for a lock which was hold by
NetworkStatsService, and the lock was locked by
NetworkStatsService when NetworkStatsService tried to broadcast
the intent.

To prevent deadlock when broadcasting the intent in
performPollLocked(), move the intent broadcasting from
performPollLocked() to NetworkStatsHandler.

Bug: 150418178
Bug: 155155473
Test: 1. Create the second user and see if the device will
         do factory reset or not.
      2. Factory reset manually and see if there is a deadlock.
Change-Id: Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0
2020-05-07 08:49:39 +00:00
Treehugger Robot
a2de22278f [automerger skipped] Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e am: b4451fba20 -s ours
am skip reason: Change-Id I45c3aa9046b316c8cd0943543d620a22e4afefd1 with SHA-1 f0fcc339c3 is in history

Change-Id: I44a2ee47f6a88286b28d5165c67cfd4fdbdd0152
2020-05-05 11:54:36 +00:00
Treehugger Robot
b4451fba20 Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e
Change-Id: Ifadf4ad62820c6cbf536a3984b1cf4a0b78cbc31
2020-05-05 11:32:31 +00:00
junyulai
53c97ec4cf [SM10] Adopt helper class to monitor RAT type change per sub
Test: atest NetworkStatsServiceTest
Bug: 146415925
Change-Id: I45c3aa9046b316c8cd0943543d620a22e4afefd1
Merged-In: I45c3aa9046b316c8cd0943543d620a22e4afefd1
(cherry picked from commit ab1eb887a6)
2020-05-05 18:37:29 +08:00
TreeHugger Robot
eacbdf80e7 [automerger skipped] Merge "Filter debug entries for each vpn" into rvc-dev am: 1913e1d29b -s ours
am skip reason: Change-Id I3525edc385b07858b48c7add2d331c4b5a2e84ad with SHA-1 87ba308377 is in history

Change-Id: I89ff9147f99b03c5bd1e7f5aa34c5968cfbfc18e
2020-04-30 04:20:28 +00:00
Chiachang Wang
abfadbefef Filter debug entries for each vpn
NetworkStats calculation needs to filter out debug entries to
prevent over counting. While NetworkStatsFactory migrates data
usage over a VPN to the TUN network, NetworkStatsFactory does
not filter out debug entries per vpn which will cause debug
entries left and cause exception.

Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
      and verify no exception
Change-Id: I3525edc385b07858b48c7add2d331c4b5a2e84ad
Merged-In: I3525edc385b07858b48c7add2d331c4b5a2e84ad
2020-04-30 02:39:15 +00:00
Chiachang Wang
c16df4f73f Merge changes I3525edc3,I6e18915e am: c861b10841 am: fa9d473f26
Change-Id: I85b8798fc82873d22c338937bb61092fbde259e6
2020-04-29 09:24:10 +00:00
Chiachang Wang
fa9d473f26 Merge changes I3525edc3,I6e18915e am: c861b10841
Change-Id: Ie298cd37fdaa8d638298e8326c6f1db7a5d5b7b4
2020-04-29 09:08:45 +00:00
Chiachang Wang
87ba308377 Filter debug entries for each vpn
NetworkStats calculation needs to filter out debug entries to
prevent over counting. While NetworkStatsFactory migrates data
usage over a VPN to the TUN network, NetworkStatsFactory does
not filter out debug entries per vpn which will cause debug
entries left and cause exception.

Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
      and verify no exception
Change-Id: I3525edc385b07858b48c7add2d331c4b5a2e84ad
2020-04-29 15:07:45 +08:00
TreeHugger Robot
913f69a8c2 Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d
Change-Id: I2b7c846497690bfca7b12ad70aa778c785c416a2
2020-04-28 09:30:09 +00:00
TreeHugger Robot
0f3164c79d Merge "Enforce permission check in getUidStats function" into rvc-dev 2020-04-28 09:13:32 +00:00
Chenbo Feng
d80a6ed9e2 Enforce permission check in getUidStats function
The NetworkStatsService.getUidStats() currently doesn't have any
permission check to make sure unpriviledged apps cannot read the stats
of a different uid. It will protentially have security problem since
apps with ACCESS_NETWORK_STATS permission can directly calling into
NetworkStatsService and bypass the check in TrafficStats. Move the uid
check from TrafficStats to NetworkStatsService to fix the problem.

Bug: 129151407
Test: atest AppSecurityTests#testAppFailAccessPrivateData_full
Test: atest AppSecurityTests#testAppFailAccessPrivateData_instant
Test: atest android.app.usage.cts.NetworkUsageStatsTest
Test: atest NetworkStatsBinderTest

Change-Id: Iae85676cfe5f114da69ec278afc2c904bc907234
2020-04-27 18:38:56 +08:00
Benedict Wong
d9c923b26d Merge "Use TransformRecord to get SPI instead of SpiRecord" am: ba714fa495 am: ff540abc9f
Change-Id: Ibc3090627699aecb4ab5e183219b5848005d0412
2020-04-24 23:27:36 +00:00
Benedict Wong
ff540abc9f Merge "Use TransformRecord to get SPI instead of SpiRecord" am: ba714fa495
Change-Id: If9d23537009ea1359d7dc198ba4662c85f8f4b0c
2020-04-24 23:12:27 +00:00
Benedict Wong
ba714fa495 Merge "Use TransformRecord to get SPI instead of SpiRecord" 2020-04-24 22:32:41 +00:00
TreeHugger Robot
44603228fc Merge "Narrow access to getDataLayerSnapshotForUid()." into rvc-dev am: fdbc50b386
Change-Id: Id800ea9c8fd9462c362afc35fde5ab06c5615696
2020-04-18 01:07:02 +00:00
TreeHugger Robot
fdbc50b386 Merge "Narrow access to getDataLayerSnapshotForUid()." into rvc-dev 2020-04-18 00:42:17 +00:00
Junyu Lai
f4c980e3ec Merge "[SM10] Adopt helper class to monitor RAT type change per sub" into rvc-dev am: cdd7c94ec0
Change-Id: I5dd2e734cd8ce6637c39e57a6b302447bc0f295f
2020-04-15 17:26:19 +00:00
junyulai
f0fcc339c3 [SM10] Adopt helper class to monitor RAT type change per sub
Test: atest NetworkStatsServiceTest
Bug: 146415925
Change-Id: I45c3aa9046b316c8cd0943543d620a22e4afefd1
Merged-In: I45c3aa9046b316c8cd0943543d620a22e4afefd1
(cherry picked from commit 219faff07bdc58c14fe58fc525e86383db1f8167)
2020-04-15 10:30:49 +00:00
Jeff Sharkey
7bab8e86df Narrow access to getDataLayerSnapshotForUid().
This method is used in TrafficStats to obtain the snapshot for the
calling UID, so narrow it to only return data for that specific case.

We might be tempted to throw an exception or adjust the method
signature, but apps are using the raw AIDL in the greylist, so we
return them an empty NetworkStats if they ask about other UIDs.

Bug: 119672472
Test: manual
Change-Id: I3064630039f1d8473d6425dd663f17813a4ae3a1
2020-04-10 13:54:45 -06:00
Xin Li
b82e17d4ae [automerger skipped] Merge "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6382244 into stag-aosp-master" into stage-aosp-master am: f68e6a03f1 -s ours
am skip reason: subject contains skip directive

Change-Id: I99ef66bbbf796a104bedf3da2909e47cbe023f6f
2020-04-10 19:07:11 +00:00
Automerger Merge Worker
5a316e581e Merge "Merge "[SM09] Add helper class to monitor RAT type change per sub" am: 64ccb88948 am: 57aa3c8c94" into qt-qpr1-dev-plus-aosp 2020-04-09 11:06:06 +00:00
Treehugger Robot
49e6672c9b Merge "[SM09] Add helper class to monitor RAT type change per sub" am: 64ccb88948 am: 57aa3c8c94
Change-Id: I182886d7fd1e9dad96c43c339bda7acf1c749397
2020-04-09 11:05:45 +00:00
Treehugger Robot
dabeb3d324 [automerger skipped] Merge "[SM09] Add helper class to monitor RAT type change per sub" am: 64ccb88948 am: 57aa3c8c94 -s ours
am skip reason: Change-Id I0055f6b55c209a073ce997fc7a144477f9db7069 with SHA-1 5d0d638f54 is in history

Change-Id: I7ebe73a3ffffaae14a1f557a9f15136e460b2969
2020-04-09 10:30:33 +00:00
Treehugger Robot
e8bbe6d329 Merge "[SM09] Add helper class to monitor RAT type change per sub" am: 64ccb88948 am: 57aa3c8c94
Change-Id: Ic269c912268a9c8cd6a4fc9f9e3f2a28a54d88be
2020-04-09 10:23:17 +00:00
Treehugger Robot
57aa3c8c94 Merge "[SM09] Add helper class to monitor RAT type change per sub" am: 64ccb88948
Change-Id: I27acccfe6e8c892090a979dd3c2f96970627fdac
2020-04-09 08:21:21 +00:00
junyulai
af1b5c3f4f [SM09] Add helper class to monitor RAT type change per sub
In current design, Rat type change in NSS is only for default
subscription. This is only correct for single sim project.
However, it does not correct for multi-sim scenarios such as
CBRS or DSDS, given that all data usage will be attributed
to the Rat type of default sub.

Thus, add a helper class to monitor subscription change event,
and register/unregister dynamically for Rat type change for
every subscription.

Note that unit test of the helper class will be addressed
in follow-up patch.

Test: m -j
Bug: 146415925
Change-Id: I0055f6b55c209a073ce997fc7a144477f9db7069
Merged-In: I0055f6b55c209a073ce997fc7a144477f9db7069
(cherry picked from ag/10977156 and fixed conflict)
2020-04-09 07:11:17 +00:00
Junyu Lai
7aaca95d10 Merge "[SM09] Add helper class to monitor RAT type change per sub" into rvc-dev am: cc0c65dbb5
Change-Id: I95d1a1c1931c194c7f751a444e669adc16a65897
2020-04-08 10:35:10 +00:00
junyulai
5d0d638f54 [SM09] Add helper class to monitor RAT type change per sub
In current design, Rat type change in NSS is only for default
subscription. This is only correct for single sim project.
However, it does not correct for multi-sim scenarios such as
CBRS or DSDS, given that all data usage will be attributed
to the Rat type of default sub.

Thus, add a helper class to monitor subscription change event,
and register/unregister dynamically for Rat type change for
every subscription.

Note that unit test of the helper class will be addressed
in follow-up patch.

Test: m -j
Bug: 146415925
Change-Id: I0055f6b55c209a073ce997fc7a144477f9db7069
Merged-In: I0055f6b55c209a073ce997fc7a144477f9db7069
(cherry picked from commit 306de26c138ec135846f2a74a952464cf00dce54)
2020-04-08 08:50:22 +00:00
Junyu Lai
1d29cc9ca2 [automerger skipped] Merge changes from topic "am-5ce58db354ac494a84904378ca35c013-rvc-dev" into rvc-dev am: ae9a901cbb -s ours
am skip reason: Change-Id I690704b43cfd16de70c4c83916f6d750cf613f67 with SHA-1 863f390810 is in history

Change-Id: I1a97a8cb46302c29425781b9252640c1eec4b50b
2020-04-06 04:27:56 +00:00
junyulai
d81034383d [SP26.2] add a method in NetworkStats that removes empty entries
In current design, entries with zeros are preserved after
addition/subtraction. These entries are not very useful
and lead to difficulty of verifying the result of
addition/subtraction.

However, change the behavior in the original NetworkStats
is considered risky in current stage.

Thus, this change provide a function that could remove these
empty entries in tests.

Test: atest FrameworksNetTests
Bug: 152827872
Bug: 150644692

Change-Id: I40a76935d55712b8083ee1e17e137a8a4ef5e029
Merged-In: I40a76935d55712b8083ee1e17e137a8a4ef5e029
(cherry picked from commit 6c7bef3064dbe949b7b213036b8e70c125ddd343)
2020-04-06 02:18:50 +00:00
Junyu Lai
c5c5992227 Merge changes from topic "sp26-networkstats-cts" am: 4d4ddc78cf am: d9074a21fc
Change-Id: Icd22765bf76b3b37935928169722afed65469105
2020-04-02 02:41:02 +00:00
junyulai
aa5c856269 [SP26.2] add a method in NetworkStats that removes empty entries am: 5d9bc0c75e am: ba57ab6eb9
Change-Id: I99eef67c05afb7d6432d5dbf32494d2f5b56b1a5
2020-04-02 02:41:00 +00:00
Junyu Lai
b1c77732ee Merge changes from topic "sp26-networkstats-cts" am: 4d4ddc78cf am: d9074a21fc
Change-Id: I0964b1752acbba767135c960aba12f169b3f852c
2020-04-02 02:40:53 +00:00
junyulai
06a3b668d3 [SP26.2] add a method in NetworkStats that removes empty entries am: 5d9bc0c75e am: ba57ab6eb9
Change-Id: I388b1d3677d362da2595739913880efa9a643a03
2020-04-02 02:40:42 +00:00
Junyu Lai
d9074a21fc Merge changes from topic "sp26-networkstats-cts" am: 4d4ddc78cf
Change-Id: I124f0def6fdaad8f1726df23edc87b6aa7856586
2020-04-02 02:21:26 +00:00
junyulai
ba57ab6eb9 [SP26.2] add a method in NetworkStats that removes empty entries am: 5d9bc0c75e
Change-Id: Ieee0896672625f3bab9ec02a5efa495a9d1f001b
2020-04-02 02:21:20 +00:00
Junyu Lai
4d4ddc78cf Merge changes from topic "sp26-networkstats-cts"
* changes:
  [SP26] add CTS for NetworkStats
  [SP26.2] add a method in NetworkStats that removes empty entries
2020-04-02 02:00:59 +00:00
junyulai
5d9bc0c75e [SP26.2] add a method in NetworkStats that removes empty entries
In current design, entries with zeros are preserved after
addition/subtraction. These entries are not very useful
and lead to difficulty of verifying the result of
addition/subtraction.

However, change the behavior in the original NetworkStats
is considered risky in current stage.

Thus, this change provide a function that could remove these
empty entries in tests.

Test: atest FrameworksNetTests
Bug: 152827872
Bug: 150644692
Change-Id: I40a76935d55712b8083ee1e17e137a8a4ef5e029
2020-04-01 16:46:08 +08:00
TreeHugger Robot
de5bb18c21 Merge "[SM06] Collect mobile NetworkStats metrics by collapsed rat type" into rvc-dev am: 8444a9440f
Change-Id: I70609ad40ecb40a8b6b352e6789a4900313f91fb
2020-04-01 01:29:09 +00:00
TreeHugger Robot
8444a9440f Merge "[SM06] Collect mobile NetworkStats metrics by collapsed rat type" into rvc-dev 2020-04-01 01:12:41 +00:00
Benedict Wong
3ebc200d00 [automerger skipped] Merge "Automatically set IPsec tunnel interface as up" into rvc-dev am: ef5732b053 -s ours
am skip reason: Change-Id I55b63a748463a388e1e2991d2d5d6b3023545e60 with SHA-1 529e8aae25 is in history

Change-Id: I10aae07c044231d9b6fcdd61488a146b21d8dd8f
2020-03-31 17:03:21 +00:00
junyulai
eba72cd4ef [SM06] Collect mobile NetworkStats metrics by collapsed rat type
Test: adb shell cmd stats pull-source 10000~10003
      adb shell dumpsys netstats --uid
Bug: 129082217

Change-Id: I726e74f5c63a6ed456cb13ea259b58c7a33bec76
Merged-In: I726e74f5c63a6ed456cb13ea259b58c7a33bec76
(cherry picked from commit c82dfeb4225e1a8a17eedc969a90f921e0bf845c)
2020-03-31 09:25:27 +00:00
Lorenzo Colitti
8375dbdb87 [automerger skipped] Merge "Relax IPsec resource count restrictions." into rvc-dev am: 0741d3b855 -s ours
am skip reason: Change-Id Id53d14e5698e5fcc410868424176b00350c7ae79 with SHA-1 7bcf9c28ac is in history

Change-Id: Icb265e846177c8ee1013529034534f46dec4de47
2020-03-30 07:06:45 +00:00
Daulet Zhanguzin
a62847119f [automerger skipped] Merge "Replace com.android.internal.util.Preconditions.checkNotNull with java.util.Objects.requireNonNull" am: f8098ddadf am: 35045271d1 -s ours
am skip reason: Change-Id Idb1b6ba41af3b52f3376b1157259af3c30328c4e with SHA-1 c120601182 is in history

Change-Id: Ib70273007ee56039d0645f33f59c677ea5f7b1aa
2020-03-27 12:28:12 +00:00
Daulet Zhanguzin
b87f6cd89c Merge "Replace com.android.internal.util.Preconditions.checkNotNull with java.util.Objects.requireNonNull" am: f8098ddadf am: 35045271d1
Change-Id: I024e79fc24b8962ff6bd10e4b7c7fc4ad13cbf27
2020-03-27 12:27:58 +00:00
Daulet Zhanguzin
35045271d1 Merge "Replace com.android.internal.util.Preconditions.checkNotNull with java.util.Objects.requireNonNull" am: f8098ddadf
Change-Id: I9f9ba24036e19f568942466c866c7be23112c10a
2020-03-27 12:07:53 +00:00
Daulet Zhanguzin
a12c44da4d Replace com.android.internal.util.Preconditions.checkNotNull with
java.util.Objects.requireNonNull

Bug: 126528330
Bug: 149348618

Test: Treehugger
Change-Id: Idb1b6ba41af3b52f3376b1157259af3c30328c4e
Merged-In: Idb1b6ba41af3b52f3376b1157259af3c30328c4e
2020-03-26 12:44:56 +00:00