From 6e368d1bdd5062c96881ed28c4fe5a3deecfe9ac Mon Sep 17 00:00:00 2001 From: Mark Chien Date: Mon, 22 Jan 2024 11:09:55 +0000 Subject: [PATCH] Revert "Add experiment flag for tethering refactor" This reverts commit cf11be9eb2c7b727594ff515c8e2584cdca854ba. Reason for revert: avoid some IpServer(s) running the new sync state machine while others use the async state machine. Bug: 319212113 Change-Id: Ib086a7ccd102f38e579c79f94aceae9971f1853a --- Tethering/src/android/net/ip/IpServer.java | 9 ++++---- .../tethering/TetheringConfiguration.java | 15 +++---------- .../tethering/TetheringConfigurationTest.java | 22 ------------------- 3 files changed, 7 insertions(+), 39 deletions(-) diff --git a/Tethering/src/android/net/ip/IpServer.java b/Tethering/src/android/net/ip/IpServer.java index a8c840803b..c065cd6652 100644 --- a/Tethering/src/android/net/ip/IpServer.java +++ b/Tethering/src/android/net/ip/IpServer.java @@ -33,6 +33,7 @@ import static android.system.OsConstants.RT_SCOPE_UNIVERSE; import static com.android.net.module.util.Inet4AddressUtils.intToInet4AddressHTH; import static com.android.net.module.util.NetworkStackConstants.RFC7421_PREFIX_LENGTH; +import static com.android.networkstack.tethering.TetheringConfiguration.USE_SYNC_SM; import static com.android.networkstack.tethering.UpstreamNetworkState.isVcnInterface; import static com.android.networkstack.tethering.util.PrefixUtils.asIpPrefix; import static com.android.networkstack.tethering.util.TetheringMessageBase.BASE_IPSERVER; @@ -315,7 +316,6 @@ public class IpServer extends StateMachineShim { private final TetheringMetrics mTetheringMetrics; private final Handler mHandler; - private final boolean mIsSyncSM; // TODO: Add a dependency object to pass the data members or variables from the tethering // object. It helps to reduce the arguments of the constructor. @@ -325,7 +325,7 @@ public class IpServer extends StateMachineShim { @Nullable LateSdk routingCoordinator, Callback callback, TetheringConfiguration config, PrivateAddressCoordinator addressCoordinator, TetheringMetrics tetheringMetrics, Dependencies deps) { - super(ifaceName, config.isSyncSM() ? null : handler.getLooper()); + super(ifaceName, USE_SYNC_SM ? null : handler.getLooper()); mHandler = handler; mLog = log.forSubComponent(ifaceName); mNetd = netd; @@ -338,7 +338,6 @@ public class IpServer extends StateMachineShim { mLinkProperties = new LinkProperties(); mUsingLegacyDhcp = config.useLegacyDhcpServer(); mP2pLeasesSubnetPrefixLength = config.getP2pLeasesSubnetPrefixLength(); - mIsSyncSM = config.isSyncSM(); mPrivateAddressCoordinator = addressCoordinator; mDeps = deps; mTetheringMetrics = tetheringMetrics; @@ -516,7 +515,7 @@ public class IpServer extends StateMachineShim { private void handleError() { mLastError = TETHER_ERROR_DHCPSERVER_ERROR; - if (mIsSyncSM) { + if (USE_SYNC_SM) { sendMessage(CMD_SERVICE_FAILED_TO_START, TETHER_ERROR_DHCPSERVER_ERROR); } else { sendMessageAtFrontOfQueueToAsyncSM(CMD_SERVICE_FAILED_TO_START, @@ -1171,7 +1170,7 @@ public class IpServer extends StateMachineShim { // in previous versions of the mainline module. // TODO : remove sendMessageAtFrontOfQueueToAsyncSM after migrating to the Sync // StateMachine. - if (mIsSyncSM) { + if (USE_SYNC_SM) { sendSelfMessageToSyncSM(CMD_SERVICE_FAILED_TO_START, mLastError); } else { sendMessageAtFrontOfQueueToAsyncSM(CMD_SERVICE_FAILED_TO_START, mLastError); diff --git a/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java b/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java index d09183af2c..0678525efd 100644 --- a/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java +++ b/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java @@ -132,15 +132,15 @@ public class TetheringConfiguration { public static final String TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION = "tether_force_random_prefix_base_selection"; - - public static final String TETHER_ENABLE_SYNC_SM = "tether_enable_sync_sm"; - /** * Default value that used to periodic polls tether offload stats from tethering offload HAL * to make the data warnings work. */ public static final int DEFAULT_TETHER_OFFLOAD_POLL_INTERVAL_MS = 5000; + /** A flag for using synchronous or asynchronous state machine. */ + public static final boolean USE_SYNC_SM = false; + public final String[] tetherableUsbRegexs; public final String[] tetherableWifiRegexs; public final String[] tetherableWigigRegexs; @@ -174,7 +174,6 @@ public class TetheringConfiguration { private final boolean mEnableWearTethering; private final boolean mRandomPrefixBase; - private final boolean mEnableSyncSm; private final int mUsbTetheringFunction; protected final ContentResolver mContentResolver; @@ -293,7 +292,6 @@ public class TetheringConfiguration { mEnableWearTethering = shouldEnableWearTethering(ctx); mRandomPrefixBase = mDeps.isFeatureEnabled(ctx, TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION); - mEnableSyncSm = mDeps.isFeatureEnabled(ctx, TETHER_ENABLE_SYNC_SM); configLog.log(toString()); } @@ -387,10 +385,6 @@ public class TetheringConfiguration { return mRandomPrefixBase; } - public boolean isSyncSM() { - return mEnableSyncSm; - } - /** Does the dumping.*/ public void dump(PrintWriter pw) { pw.print("activeDataSubId: "); @@ -444,9 +438,6 @@ public class TetheringConfiguration { pw.print("mRandomPrefixBase: "); pw.println(mRandomPrefixBase); - - pw.print("mEnableSyncSm: "); - pw.println(mEnableSyncSm); } /** Returns the string representation of this object.*/ diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java index 19c6e5a6a1..aa322dc8eb 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java @@ -754,26 +754,4 @@ public class TetheringConfigurationTest { new TetheringConfiguration(mMockContext, mLog, INVALID_SUBSCRIPTION_ID, mDeps); assertEquals(p2pLeasesSubnetPrefixLength, p2pCfg.getP2pLeasesSubnetPrefixLength()); } - - private void setTetherEnableSyncSMFlagEnabled(Boolean enabled) { - mDeps.setFeatureEnabled(TetheringConfiguration.TETHER_ENABLE_SYNC_SM, enabled); - } - - private void assertEnableSyncSMIs(boolean value) { - assertEquals(value, new TetheringConfiguration( - mMockContext, mLog, INVALID_SUBSCRIPTION_ID, mDeps).isSyncSM()); - } - - @Test - public void testEnableSyncSMFlag() throws Exception { - // Test default disabled - setTetherEnableSyncSMFlagEnabled(null); - assertEnableSyncSMIs(false); - - setTetherEnableSyncSMFlagEnabled(true); - assertEnableSyncSMIs(true); - - setTetherEnableSyncSMFlagEnabled(false); - assertEnableSyncSMIs(false); - } }