Merge "Edits ethernet interface details settings subpage with more info" into main

This commit is contained in:
Nikhil Nayunigari
2025-03-11 15:57:38 -07:00
committed by Android (Google) Code Review
7 changed files with 225 additions and 18 deletions

View File

@@ -18,22 +18,30 @@ package com.android.settings.network.ethernet
import android.content.Context
import android.content.ContextWrapper
import androidx.lifecycle.Lifecycle
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.mock
@RunWith(AndroidJUnit4::class)
class EthernetInterfaceDetailsControllerTest {
private val ethernetInterfaceDetailsFragment = EthernetInterfaceDetailsFragment()
private val lifecycle = mock<Lifecycle>()
private val context: Context =
object : ContextWrapper(ApplicationProvider.getApplicationContext()) {}
private val ethernetInterfaceDetailsController =
EthernetInterfaceDetailsController(context, ethernetInterfaceDetailsFragment, "eth0")
EthernetInterfaceDetailsController(
context,
ethernetInterfaceDetailsFragment,
"eth0",
lifecycle,
)
@Test
fun isAvailable_ShouldReturnTrue() {

View File

@@ -18,14 +18,19 @@ package com.android.settings.network.ethernet
import android.content.Context
import android.content.ContextWrapper
import android.net.ConnectivityManager
import android.net.EthernetManager
import android.net.EthernetManager.STATE_ABSENT
import android.net.EthernetManager.STATE_LINK_DOWN
import android.net.EthernetManager.STATE_LINK_UP
import android.net.IpConfiguration
import android.net.LinkProperties
import android.net.Network
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.mock
@@ -34,12 +39,15 @@ import org.mockito.kotlin.mock
class EthernetInterfaceTest {
private val mockEthernetManager = mock<EthernetManager>()
private val mockConnectivityManager = mock<ConnectivityManager>()
private val mockNetwork = mock<Network>()
private val context: Context =
object : ContextWrapper(ApplicationProvider.getApplicationContext()) {
override fun getSystemService(name: String): Any? =
when (name) {
Context.ETHERNET_SERVICE -> mockEthernetManager
Context.CONNECTIVITY_SERVICE -> mockConnectivityManager
else -> super.getSystemService(name)
}
}
@@ -85,4 +93,27 @@ class EthernetInterfaceTest {
IpConfiguration.IpAssignment.UNASSIGNED,
)
}
@Test
fun linkPropertiesChanged_shouldUpdate() {
val linkProperties = LinkProperties()
linkProperties.setInterfaceName("eth0")
linkProperties.setUsePrivateDns(true)
ethernetInterface.networkCallback.onLinkPropertiesChanged(mockNetwork, linkProperties)
assertEquals(ethernetInterface.getLinkProperties().getInterfaceName(), "eth0")
assertTrue(ethernetInterface.getLinkProperties().isPrivateDnsActive())
}
@Test
fun linkPropertiesChanged_iddoesnotmatch_shouldNotUpdate() {
val linkProperties = LinkProperties()
linkProperties.setInterfaceName("eth1")
linkProperties.setUsePrivateDns(true)
ethernetInterface.networkCallback.onLinkPropertiesChanged(mockNetwork, linkProperties)
assertFalse(ethernetInterface.getLinkProperties().isPrivateDnsActive())
}
}