From db75d68801c5583698e53f404565122b09c4e5df Mon Sep 17 00:00:00 2001 From: Junyu Lai Date: Mon, 31 Mar 2025 14:44:06 +0800 Subject: [PATCH] Enable TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION by default Since the feature was fully rolled out via experiment without regression, this commit replaced with a kill switch. Flag: EXEMPT refactor Test: atest ConnectivityCoverageTests:PrivateAddressCoordinatorTest Fix: 312647670 Fix: 406955982 Change-Id: I18adcca45fa5f698adc80cea044d8006de097977 --- .../tethering/PrivateAddressCoordinatorTest.java | 3 ++- .../android/networkstack/tethering/TetheringTest.java | 4 ++-- .../net/module/util/PrivateAddressCoordinator.java | 11 ++++++----- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java index f9e3a6a237..15653692cd 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java @@ -325,7 +325,8 @@ public final class PrivateAddressCoordinatorTest { @Test public void testStartedPrefixRange() throws Exception { - when(mDeps.isFeatureEnabled(TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION)).thenReturn(true); + when(mDeps.isFeatureNotChickenedOut(TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION)) + .thenReturn(true); startedPrefixBaseTest("192.168.0.0/16", 0); diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java index bbe15b461f..160f28ccb7 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java @@ -538,8 +538,8 @@ public class TetheringTest { public RoutingCoordinatorManager getRoutingCoordinator( final Context context, SharedLog log) { ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); - when(mPrivateAddressCoordinatorDependencies.isFeatureEnabled(anyString())) - .thenReturn(false); + when(mPrivateAddressCoordinatorDependencies.isFeatureNotChickenedOut(anyString())) + .thenReturn(true); RoutingCoordinatorService service = new RoutingCoordinatorService( getINetd(context, log), cm::getAllNetworks, diff --git a/staticlibs/device/com/android/net/module/util/PrivateAddressCoordinator.java b/staticlibs/device/com/android/net/module/util/PrivateAddressCoordinator.java index bb955853ee..e21d27127e 100644 --- a/staticlibs/device/com/android/net/module/util/PrivateAddressCoordinator.java +++ b/staticlibs/device/com/android/net/module/util/PrivateAddressCoordinator.java @@ -34,6 +34,7 @@ import android.net.LinkProperties; import android.net.Network; import android.net.NetworkCapabilities; import android.os.RemoteException; +import android.provider.DeviceConfig; import android.util.ArrayMap; import androidx.annotation.Nullable; @@ -98,14 +99,14 @@ public class PrivateAddressCoordinator { } /** - * Check whether or not one specific experimental feature is enabled according to {@link - * DeviceConfigUtils}. + * Check whether one specific experimental feature in Tethering module + * from {@link DeviceConfig} is not disabled. * * @param featureName The feature's name to look up. * @return true if this feature is enabled, or false if disabled. */ - public boolean isFeatureEnabled(String featureName) { - return DeviceConfigUtils.isTetheringFeatureEnabled(mContext, featureName); + public boolean isFeatureNotChickenedOut(String featureName) { + return DeviceConfigUtils.isTetheringFeatureNotChickenedOut(mContext, featureName); } } @@ -259,7 +260,7 @@ public class PrivateAddressCoordinator { } private int getRandomPrefixIndex() { - if (!mDeps.isFeatureEnabled(TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION)) return 0; + if (!mDeps.isFeatureNotChickenedOut(TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION)) return 0; final int random = getRandomInt() & 0xffffff; // This is to select the starting prefix range (/8, /12, or /16) instead of the actual