Commit graph android_packages_modules_Co.../framework-t/src/android/net/TrafficStats.java
Message SHA1
remove unused TcpTx/RxPackets java & jni constants
(is this a valid change from hiddenapi perspective?)

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2dc1c54c56a628770149382f1e25b90a71f62167

Maciej Żenczykowski   commited 2023-08-13 09:32:33 +00:00
6f0ec43200
simplify tcpTx/RxPackets
On T+ this is mainline code, and the bpf program (netd.c)
does not support collecting tcp specific stats.

(note: this *is* a behaviour change, as it currently
just always returns 0, but UNSUPPORTED/-1 seems to make
more sense)

Test: TreeHugger
Bug: 294604315
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifda15e67d9167a2be98ab6f4e3817ff7c0bb3fea

Maciej Żenczykowski   commited 2023-08-13 09:31:53 +00:00
66645a8d68
[MS83.1] Make some APIs module-lib instead of system current
Some of the internal classes are not available for priv-apps.
Thus, make them module-lib instead.

This change also adds some nullability annotations for existing
APIs according to go/android-api-guidelines.

Test: m
Test: m frameworks-base-api-system-current-compat
Fix: 217479745
  (cherry-picked from ag/17117903)
Change-Id: I18de46b11df7232ab82b9465856fdde621283156
Merged-In: I18de46b11df7232ab82b9465856fdde621283156
Merged-In: Ief3f2304f11b7940a18b98b8533fbca85ffa4dc1

junyulai   commited 2022-04-11 18:44:20 +08:00
44e61e2140
Move socket tagging implementation to mainline.
Currently, socket tagging is implemented in the framework. The
Java code is in NetworkManagmentSocketTagger.java and the JNI is
in libandroid and loaded by the general framework JNI loader.

- Move the Java implementation to TrafficStats, which is the only
  caller of NetworkManagmentSocketTagger. This simplifies the
  code a bit because a number of methods can be deleted.

- Move the JNI code to a new JNI library in the APEX. The library
  depends only on the NDK and statically links the NDK-only
  version of libnativehelper. Its size is only 5k on ARM and 10k
  on ARM64.

- Temporarily make the framework depend on this library until the
  rest of the T connectivity code moves to the APEX.

Test: atest NetworkUsageStatsTest CtsNetTestCases:TrafficStatsTest
Change-Id: I050c7c515237f68b78d08987bc443f50a7949c06

Lorenzo Colitti   commited 2022-01-30 15:59:44 +09:00
d2ae7390f5
[MS69.1] Fix TrafficStats.init crashs for supplemental process
Supplemental apps has limited capabilities and service discovery
is restricted. Hence, calling TrafficStats.init would result in
crash.

This change includes:
1. Print log instead of crashing process when running into
   any unexpected cases.

Test: atest SupplementalProcessManagerTests
Bug: 216062904
Change-Id: I7f827ccc485c997745779053b5936a6cb30e8219

Junyu Lai   commited 2022-01-25 09:59:38 +00:00
3355c400b7
[MS61] Remove NetworkManagementSocketTagger#install dependency
Expose TrafficStats#attachSocketTagger and use it instead.

Test: atest TrafficStatsTest
Bug: 204830222
CTS-Coverage-Bug: 214979748
Change-Id: I1748d349b499053ad08bd62202325fa759ad8da5

Junyu Lai   authored and   junyulai   commited 2022-01-22 13:51:55 +08:00
8e58c82591
[MS66] Initialize TrafficStats with context
TrafficStats has static methods created in API level 8 that need
access to NetworkStatsManager but doesn't take a context.
Previously this was achieved by using ServiceManager, but
with TrafficStats moving to the connectivity module, this
is no longer possible.

Instead, make sure TrafficStats has an appropriate context by
the time any client code can call the relevant methods.
• In app code, this achieved by passing the application
  context from ActivityThread#handleBindApplication, before any
  app code can run.
• In the system server, this is achieved by passing the context
  right after creating service.

Test: atest TrafficStatsTest CtsWebkitTestCases
Bug: 204830222

Change-Id: I251bb8a4431ad12ff61929879ef1363cf06b9244

Junyu Lai   authored and   junyulai   commited 2022-01-22 01:01:49 +08:00
92d5b4cbc2
[MS63.1] Remove TrafficStats.TAG_SYSTEM_DOWNLOAD dependency
Replace with system Api.

Test: TH
Bug: 204830222
CTS-Coverage-Bug: 215043101
Change-Id: Ic14b26d2862f6fe8bee18fe0c9eaf183052452ee

Junyu Lai   commited 2022-01-18 02:54:27 +00:00
ab2c35e440
[MS30] Remove ServiceManager#getService dependency
Since TrafficStats is moving into the mainline module,
ServiceManager#getService can no longer be accessed.

This change use reflection to access getService, since
there is no offical way to get the service binder,
and TrafficStats is a static utility that doesn't have
the context to invoke Context#getSystemService.

This change also fixes minor lint errors.

Test: atest CtsNetTestCases:TrafficStatsTest
Bug: 204830222
Change-Id: I5caec42a71431b39f747fc791b8511d92e5cf7cc

Junyu Lai   commited 2022-01-17 13:54:06 +00:00
3f7bb338bd
[MS21] Remove DataUnit dependency
DataUnit is a hidden class, remove the references to
it from files that about to be moved into the module.

Test: TH
Bug: 204830222

Change-Id: Ibfb82ab74f283686fb2af6c3a550d541440c890d

Junyu Lai   commited 2021-12-29 01:43:53 +00:00
1d3ce85882
[MS08] Move NetworkStats files to f/b/package/ConnectivityT
NetworkStatsService is going to be moved into ConnectivityService
module. Move all related files to packages/ConnectivityT so that
it can be easily migrate these files to connectivity module
after clearing the hidden API usages.

Bug: 197717846
Test: TH
Change-Id: Iead00832b5eb7b1dc40a92027c5a14ae8316b16c

Junyu Lai   commited 2021-12-10 16:11:08 +00:00
ad166b43df
Renamed from core/java/android/net/TrafficStats.java (Browse further)