Drop the redundant type and caller uid checks for TrafficStats

This commit removes the redundant type and caller uid
checks in TrafficStats to address the review feedback at
aosp/3313055.

Test: TH
Bug: 343260158
Change-Id: I0ed6e850835136c9a324efd7271dd80a34160aa6
diff --git a/framework-t/src/android/net/TrafficStats.java b/framework-t/src/android/net/TrafficStats.java
index 1294b3e..231f21b 100644
--- a/framework-t/src/android/net/TrafficStats.java
+++ b/framework-t/src/android/net/TrafficStats.java
@@ -17,8 +17,6 @@
 package android.net;
 
 import static android.annotation.SystemApi.Client.MODULE_LIBRARIES;
-import static android.net.NetworkStats.UID_ALL;
-import static android.os.Process.SYSTEM_UID;
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
 
@@ -188,8 +186,6 @@
     private static INetworkStatsService sStatsService;
     @GuardedBy("TrafficStats.class")
     private static INetworkStatsService sStatsServiceForTest = null;
-    @GuardedBy("TrafficStats.class")
-    private static int sMyUidForTest = UID_ALL;
 
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 130143562)
     private synchronized static INetworkStatsService getStatsService() {
@@ -202,12 +198,7 @@
     }
 
     /** @hide */
-    protected static int getMyUid() {
-        synchronized (TrafficStats.class) {
-            if (sMyUidForTest != UID_ALL) {
-                return sMyUidForTest;
-            }
-        }
+    private static int getMyUid() {
         return android.os.Process.myUid();
     }
 
@@ -224,18 +215,6 @@
     }
 
     /**
-     * Set myUid for test, or UID_ALL to reset.
-     *
-     * @hide
-     */
-    @VisibleForTesting(visibility = PRIVATE)
-    public static void setMyUidForTest(int myUid) {
-        synchronized (TrafficStats.class) {
-            sMyUidForTest = myUid;
-        }
-    }
-
-    /**
      * Snapshot of {@link NetworkStats} when the currently active profiling
      * session started, or {@code null} if no session active.
      *
@@ -1006,13 +985,6 @@
 
     /** @hide */
     public static long getUidStats(int uid, int type) {
-        // Perform a quick check on the UID to avoid unnecessary work.
-        // This mirrors a similar check on the service side, but is primarily for
-        // efficiency rather than security, as user-space checks can be bypassed.
-        final int myUid = getMyUid();
-        if (!isEntryValueTypeValid(type) || (myUid != SYSTEM_UID && myUid != uid)) {
-            return UNSUPPORTED;
-        }
         final StatsResult stats;
         try {
             stats = getStatsService().getUidStats(uid);
@@ -1024,9 +996,6 @@
 
     /** @hide */
     public static long getTotalStats(int type) {
-        if (!isEntryValueTypeValid(type)) {
-            return UNSUPPORTED;
-        }
         final StatsResult stats;
         try {
             stats = getStatsService().getTotalStats();
@@ -1038,9 +1007,6 @@
 
     /** @hide */
     public static long getIfaceStats(String iface, int type) {
-        if (!isEntryValueTypeValid(type)) {
-            return UNSUPPORTED;
-        }
         final StatsResult stats;
         try {
             stats = getStatsService().getIfaceStats(iface);
diff --git a/tests/unit/java/android/net/TrafficStatsTest.kt b/tests/unit/java/android/net/TrafficStatsTest.kt
deleted file mode 100644
index 6e8f3db..0000000
--- a/tests/unit/java/android/net/TrafficStatsTest.kt
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net
-
-import android.net.NetworkStats.UID_ALL
-import android.net.TrafficStats.UNSUPPORTED
-import android.net.netstats.StatsResult
-import android.os.Build
-import android.os.Process.SYSTEM_UID
-import com.android.testutils.DevSdkIgnoreRule
-import com.android.testutils.DevSdkIgnoreRunner
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.Mockito.doReturn
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
-
-@RunWith(DevSdkIgnoreRunner::class)
-@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.S_V2)
-class TrafficStatsTest {
-    private val binder = mock(INetworkStatsService::class.java)
-    private val myUid = android.os.Process.myUid()
-    private val notMyUid = myUid + 1
-    private val mockSystemUidStatsResult = StatsResult(1L, 2L, 3L, 4L)
-    private val mockMyUidStatsResult = StatsResult(5L, 6L, 7L, 8L)
-    private val mockNotMyUidStatsResult = StatsResult(9L, 10L, 11L, 12L)
-    private val unsupportedStatsResult =
-            StatsResult(UNSUPPORTED.toLong(), UNSUPPORTED.toLong(),
-                    UNSUPPORTED.toLong(), UNSUPPORTED.toLong())
-
-    @Before
-    fun setUp() {
-        TrafficStats.setServiceForTest(binder)
-        doReturn(mockSystemUidStatsResult).`when`(binder).getUidStats(SYSTEM_UID)
-        doReturn(mockMyUidStatsResult).`when`(binder).getUidStats(myUid)
-        doReturn(mockNotMyUidStatsResult).`when`(binder).getUidStats(notMyUid)
-    }
-
-    @After
-    fun tearDown() {
-        TrafficStats.setServiceForTest(null)
-        TrafficStats.setMyUidForTest(UID_ALL)
-    }
-
-    private fun assertUidStats(uid: Int, stats: StatsResult) {
-        assertEquals(stats.rxBytes, TrafficStats.getUidRxBytes(uid))
-        assertEquals(stats.rxPackets, TrafficStats.getUidRxPackets(uid))
-        assertEquals(stats.txBytes, TrafficStats.getUidTxBytes(uid))
-        assertEquals(stats.txPackets, TrafficStats.getUidTxPackets(uid))
-    }
-
-    // Verify a normal caller could get a quick UNSUPPORTED result in the TrafficStats
-    // without accessing the service if query stats other than itself.
-    @Test
-    fun testGetUidStats_appCaller() {
-        assertUidStats(SYSTEM_UID, unsupportedStatsResult)
-        assertUidStats(notMyUid, unsupportedStatsResult)
-        verify(binder, never()).getUidStats(anyInt())
-        assertUidStats(myUid, mockMyUidStatsResult)
-    }
-
-    // Verify that callers with SYSTEM_UID can access network
-    // stats for other UIDs. While this behavior is not officially documented
-    // in the API, it exists for compatibility with existing callers that may
-    // rely on it.
-    @Test
-    fun testGetUidStats_systemCaller() {
-        TrafficStats.setMyUidForTest(SYSTEM_UID)
-        assertUidStats(SYSTEM_UID, mockSystemUidStatsResult)
-        assertUidStats(myUid, mockMyUidStatsResult)
-        assertUidStats(notMyUid, mockNotMyUidStatsResult)
-    }
-}