Merge "Add metered filter for API: buildTemplateCarrier" into sc-dev am: c95482c53d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14622495

Change-Id: Ic72650951d9e03c5bb3c1861f4c39aac47065357
This commit is contained in:
Les Lee
2021-05-19 14:50:04 +00:00
committed by Automerger Merge Worker

View File

@@ -40,7 +40,7 @@ import android.net.NetworkTemplate.OEM_MANAGED_YES
import android.net.NetworkTemplate.SUBSCRIBER_ID_MATCH_RULE_EXACT import android.net.NetworkTemplate.SUBSCRIBER_ID_MATCH_RULE_EXACT
import android.net.NetworkTemplate.buildTemplateWifi import android.net.NetworkTemplate.buildTemplateWifi
import android.net.NetworkTemplate.buildTemplateWifiWildcard import android.net.NetworkTemplate.buildTemplateWifiWildcard
import android.net.NetworkTemplate.buildTemplateCarrier import android.net.NetworkTemplate.buildTemplateCarrierMetered
import android.net.NetworkTemplate.buildTemplateMobileWithRatType import android.net.NetworkTemplate.buildTemplateMobileWithRatType
import android.telephony.TelephonyManager import android.telephony.TelephonyManager
import com.android.testutils.assertParcelSane import com.android.testutils.assertParcelSane
@@ -73,11 +73,12 @@ class NetworkTemplateTest {
type: Int, type: Int,
subscriberId: String? = null, subscriberId: String? = null,
ssid: String? = null, ssid: String? = null,
oemManaged: Int = OEM_NONE oemManaged: Int = OEM_NONE,
metered: Boolean = true
): NetworkStateSnapshot { ): NetworkStateSnapshot {
val lp = LinkProperties() val lp = LinkProperties()
val caps = NetworkCapabilities().apply { val caps = NetworkCapabilities().apply {
setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED, false) setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED, !metered)
setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, true) setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, true)
setSSID(ssid) setSSID(ssid)
setCapability(NetworkCapabilities.NET_CAPABILITY_OEM_PAID, setCapability(NetworkCapabilities.NET_CAPABILITY_OEM_PAID,
@@ -167,25 +168,38 @@ class NetworkTemplateTest {
} }
@Test @Test
fun testCarrierMatches() { fun testCarrierMeteredMatches() {
val templateCarrierImsi1 = buildTemplateCarrier(TEST_IMSI1) val templateCarrierImsi1Metered = buildTemplateCarrierMetered(TEST_IMSI1)
val identMobile1 = buildNetworkIdentity(mockContext, buildMobileNetworkState(TEST_IMSI1), val mobileImsi1 = buildMobileNetworkState(TEST_IMSI1)
false, TelephonyManager.NETWORK_TYPE_UMTS) val mobileImsi1Unmetered = buildNetworkState(TYPE_MOBILE, TEST_IMSI1, null /* ssid */,
val identMobile2 = buildNetworkIdentity(mockContext, buildMobileNetworkState(TEST_IMSI2), OEM_NONE, false /* metered */)
false, TelephonyManager.NETWORK_TYPE_UMTS) val mobileImsi2 = buildMobileNetworkState(TEST_IMSI2)
val identWifiSsid1 = buildNetworkIdentity( val wifiSsid1 = buildWifiNetworkState(null /* subscriberId */, TEST_SSID1)
mockContext, buildWifiNetworkState(null, TEST_SSID1), true, 0) val wifiImsi1Ssid1 = buildWifiNetworkState(TEST_IMSI1, TEST_SSID1)
val identCarrierWifiImsi1 = buildNetworkIdentity( val wifiImsi1Ssid1Unmetered = buildNetworkState(TYPE_WIFI, TEST_IMSI1, TEST_SSID1,
mockContext, buildWifiNetworkState(TEST_IMSI1, TEST_SSID1), true, 0) OEM_NONE, false /* metered */)
val identCarrierWifiImsi2 = buildNetworkIdentity(
mockContext, buildWifiNetworkState(TEST_IMSI2, TEST_SSID1), true, 0)
templateCarrierImsi1.assertMatches(identCarrierWifiImsi1) val identMobileImsi1Metered = buildNetworkIdentity(mockContext,
templateCarrierImsi1.assertDoesNotMatch(identCarrierWifiImsi2) mobileImsi1, false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS)
templateCarrierImsi1.assertDoesNotMatch(identWifiSsid1) val identMobileImsi1Unmetered = buildNetworkIdentity(mockContext,
templateCarrierImsi1.assertMatches(identMobile1) mobileImsi1Unmetered, false /* defaultNetwork */,
templateCarrierImsi1.assertDoesNotMatch(identMobile2) TelephonyManager.NETWORK_TYPE_UMTS)
val identMobileImsi2Metered = buildNetworkIdentity(mockContext,
mobileImsi2, false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS)
val identWifiSsid1Metered = buildNetworkIdentity(
mockContext, wifiSsid1, true /* defaultNetwork */, 0 /* subType */)
val identCarrierWifiImsi1Metered = buildNetworkIdentity(
mockContext, wifiImsi1Ssid1, true /* defaultNetwork */, 0 /* subType */)
val identCarrierWifiImsi1NonMetered = buildNetworkIdentity(mockContext,
wifiImsi1Ssid1Unmetered, true /* defaultNetwork */, 0 /* subType */)
templateCarrierImsi1Metered.assertMatches(identMobileImsi1Metered)
templateCarrierImsi1Metered.assertDoesNotMatch(identMobileImsi1Unmetered)
templateCarrierImsi1Metered.assertDoesNotMatch(identMobileImsi2Metered)
templateCarrierImsi1Metered.assertDoesNotMatch(identWifiSsid1Metered)
templateCarrierImsi1Metered.assertMatches(identCarrierWifiImsi1Metered)
templateCarrierImsi1Metered.assertDoesNotMatch(identCarrierWifiImsi1NonMetered)
} }
@Test @Test