Merge "Add metered filter for API: buildTemplateCarrier" into sc-dev
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user