diff --git a/framework-t/src/android/app/usage/NetworkStatsManager.java b/framework-t/src/android/app/usage/NetworkStatsManager.java index f41475bea1..d139544fd4 100644 --- a/framework-t/src/android/app/usage/NetworkStatsManager.java +++ b/framework-t/src/android/app/usage/NetworkStatsManager.java @@ -19,6 +19,9 @@ package android.app.usage; import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; +import static android.net.NetworkStats.METERED_YES; +import static android.net.NetworkTemplate.MATCH_MOBILE; +import static android.net.NetworkTemplate.MATCH_WIFI; import android.Manifest; import android.annotation.CallbackExecutor; @@ -55,6 +58,7 @@ import com.android.net.module.util.NetworkIdentityUtils; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.concurrent.Executor; /** @@ -1020,14 +1024,17 @@ public class NetworkStatsManager { switch (networkType) { case ConnectivityManager.TYPE_MOBILE: template = subscriberId == null - ? NetworkTemplate.buildTemplateMobileWildcard() - : NetworkTemplate.buildTemplateMobileAll(subscriberId); + ? new NetworkTemplate.Builder(MATCH_MOBILE) + .setMeteredness(METERED_YES).build() + : new NetworkTemplate.Builder(MATCH_MOBILE) + .setMeteredness(METERED_YES) + .setSubscriberIds(Set.of(subscriberId)).build(); break; case ConnectivityManager.TYPE_WIFI: template = TextUtils.isEmpty(subscriberId) - ? NetworkTemplate.buildTemplateWifiWildcard() - : NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, - subscriberId); + ? new NetworkTemplate.Builder(MATCH_WIFI).build() + : new NetworkTemplate.Builder(MATCH_WIFI) + .setSubscriberIds(Set.of(subscriberId)).build(); break; default: throw new IllegalArgumentException("Cannot create template for network type " diff --git a/tests/unit/java/android/app/usage/NetworkStatsManagerTest.java b/tests/unit/java/android/app/usage/NetworkStatsManagerTest.java index b1b76ec8c4..71c03ff2db 100644 --- a/tests/unit/java/android/app/usage/NetworkStatsManagerTest.java +++ b/tests/unit/java/android/app/usage/NetworkStatsManagerTest.java @@ -16,6 +16,10 @@ package android.app.usage; +import static android.net.NetworkStats.METERED_YES; +import static android.net.NetworkTemplate.MATCH_MOBILE; +import static android.net.NetworkTemplate.MATCH_WIFI; + import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; @@ -52,6 +56,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.invocation.InvocationOnMock; +import java.util.Set; + @RunWith(DevSdkIgnoreRunner.class) @SmallTest @DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.S_V2) @@ -204,20 +210,20 @@ public class NetworkStatsManagerTest { @Test public void testNetworkTemplateWhenRunningQueryDetails_NoSubscriberId() throws RemoteException { runQueryDetailsAndCheckTemplate(ConnectivityManager.TYPE_MOBILE, - null /* subscriberId */, NetworkTemplate.buildTemplateMobileWildcard()); + null /* subscriberId */, new NetworkTemplate.Builder(MATCH_MOBILE) + .setMeteredness(METERED_YES).build()); runQueryDetailsAndCheckTemplate(ConnectivityManager.TYPE_WIFI, - "" /* subscriberId */, NetworkTemplate.buildTemplateWifiWildcard()); + "" /* subscriberId */, new NetworkTemplate.Builder(MATCH_WIFI).build()); runQueryDetailsAndCheckTemplate(ConnectivityManager.TYPE_WIFI, - null /* subscriberId */, NetworkTemplate.buildTemplateWifiWildcard()); + null /* subscriberId */, new NetworkTemplate.Builder(MATCH_WIFI).build()); } @Test public void testNetworkTemplateWhenRunningQueryDetails_MergedCarrierWifi() throws RemoteException { runQueryDetailsAndCheckTemplate(ConnectivityManager.TYPE_WIFI, - TEST_SUBSCRIBER_ID, - NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, - TEST_SUBSCRIBER_ID)); + TEST_SUBSCRIBER_ID, new NetworkTemplate.Builder(MATCH_WIFI) + .setSubscriberIds(Set.of(TEST_SUBSCRIBER_ID)).build()); } @Test