From afc612e02e09e49bb7df88f204d0558f70fbe43f Mon Sep 17 00:00:00 2001 From: Chuwei He Date: Fri, 20 Jun 2025 17:41:33 +0900 Subject: [PATCH] Add methods to get metered override and persistence config in string This patch adds methods to get metered override and persistence config in human readable string in EthernetConfiguration. This allows more informative logging. Bug: 397536853 Test: atest ConnectivityCoverageTests Flag: EXEMPT mainline Change-Id: Ia5a2f4b9f624bfc1c96b197533426925dacfa554 --- .../android/net/EthernetConfiguration.java | 32 +++++++++++++++++-- .../net/EthernetConfigurationTest.java | 6 ++-- .../android/net/EthernetPortStateTest.java | 10 +++--- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/framework-t/src/android/net/EthernetConfiguration.java b/framework-t/src/android/net/EthernetConfiguration.java index 6057511745..8c1a81abc5 100644 --- a/framework-t/src/android/net/EthernetConfiguration.java +++ b/framework-t/src/android/net/EthernetConfiguration.java @@ -160,8 +160,36 @@ public class EthernetConfiguration implements Parcelable { public String toString() { return "IP configurations: " + mIpConfiguration + "Network capabilities: " + mNetworkCapabilities - + ", Metered override: " + mMeteredOverride - + ", Is persisted: " + mPersistence; + + ", Metered override: " + getMeteredOverrideString() + + ", Is persisted: " + getPersistenceString(); + } + + /** Get metered override configuration in human readable string. */ + private String getMeteredOverrideString() { + switch(mMeteredOverride) { + case METERED_OVERRIDE_NONE: + return "NONE"; + case METERED_OVERRIDE_FORCE_METERED: + return "FORCE_METERED"; + case METERED_OVERRIDE_FORCE_UNMETERED: + return "FORCE_UNMETERED"; + default: + // We should not reach this branch. + return "UNKNOWN"; + } + } + + /** Get persistence configuration in human readable string. */ + private String getPersistenceString() { + switch(mPersistence) { + case PERSISTENCE_IS_PERSISTED: + return "IS_PERSISTED"; + case PERSISTENCE_NOT_PERSISTED: + return "NOT_PERSISTED"; + default: + // We should not reach this branch. + return "UNKNOWN"; + } } @Override diff --git a/tests/unit/java/android/net/EthernetConfigurationTest.java b/tests/unit/java/android/net/EthernetConfigurationTest.java index 7b09b12b34..f684fc74d1 100644 --- a/tests/unit/java/android/net/EthernetConfigurationTest.java +++ b/tests/unit/java/android/net/EthernetConfigurationTest.java @@ -249,7 +249,7 @@ public class EthernetConfigurationTest { + "HTTP proxy: [test1] 8888\n" + "Network capabilities: [ Transports: ETHERNET Capabilities: NOT_RESTRICTED" + "&TRUSTED&NOT_VPN&NOT_BANDWIDTH_CONSTRAINED UnderlyingNetworks: Null]" - + ", Metered override: 1, Is persisted: 0"; + + ", Metered override: FORCE_METERED, Is persisted: NOT_PERSISTED"; } else { expect = "IP configurations: IP assignment: STATIC\n" + "Static configuration: IP address 192.168.1.100/25 Gateway 192.168.1.1 " @@ -257,8 +257,8 @@ public class EthernetConfigurationTest { + "Proxy settings: PAC\n" + "HTTP proxy: [test1] 8888\n" + "Network capabilities: [ Transports: ETHERNET Capabilities: NOT_RESTRICTED" - + "&TRUSTED&NOT_VPN UnderlyingNetworks: Null], Metered override: 1, Is " - + "persisted: 0"; + + "&TRUSTED&NOT_VPN UnderlyingNetworks: Null], Metered override: FORCE_METERED" + + ", Is persisted: NOT_PERSISTED"; } assertEquals(config.toString(), expect); } diff --git a/tests/unit/java/android/net/EthernetPortStateTest.java b/tests/unit/java/android/net/EthernetPortStateTest.java index f7025ff61a..edcb388a57 100644 --- a/tests/unit/java/android/net/EthernetPortStateTest.java +++ b/tests/unit/java/android/net/EthernetPortStateTest.java @@ -227,8 +227,9 @@ public class EthernetPortStateTest { + "HTTP proxy: [test1] 8888\n" + "Network capabilities: [ Transports: ETHERNET Capabilities: " + "NOT_RESTRICTED&TRUSTED&NOT_VPN&NOT_BANDWIDTH_CONSTRAINED " - + "UnderlyingNetworks: Null], Metered override: 1, Is persisted: 0," - + " Interface name:eth0, MAC address:0a:1b:2c:3d:4e:5f, Interface index:1"; + + "UnderlyingNetworks: Null], Metered override: FORCE_METERED, Is persisted:" + + " NOT_PERSISTED, Interface name:eth0, MAC address:0a:1b:2c:3d:4e:5f," + + " Interface index:1"; } else { expect = "Role:1, State:2, Configurations: IP configurations: " + "IP assignment: STATIC\n" @@ -238,8 +239,9 @@ public class EthernetPortStateTest { + "HTTP proxy: [test1] 8888\n" + "Network capabilities: [ Transports: ETHERNET Capabilities: " + "NOT_RESTRICTED&TRUSTED&NOT_VPN UnderlyingNetworks: Nu" - + "ll], Metered override: 1, Is persisted: 0, Interface name:eth0, " - + "MAC address:0a:1b:2c:3d:4e:5f, Interface index:1"; + + "ll], Metered override: FORCE_METERED, Is persisted: NOT_PERSISTED, " + + "Interface name:eth0, MAC address:0a:1b:2c:3d:4e:5f, Interface index:1"; + } assertEquals(mEthernetPortState1.toString(), expect); }