Merge "Force TETHER_ENABLE_SYNC_SM to be enabled by default on 25Q2+" into main

This commit is contained in:
Treehugger Robot 2025-03-18 23:56:52 -07:00 • committed by Gerrit Code Review
commit 811db343cd
3 changed files with 16 additions and 3 deletions

View file

@ -24,6 +24,7 @@ import static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI;
import static android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY; import static android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY;
import static com.android.networkstack.apishim.ConstantsShim.KEY_CARRIER_SUPPORTS_TETHERING_BOOL; import static com.android.networkstack.apishim.ConstantsShim.KEY_CARRIER_SUPPORTS_TETHERING_BOOL;
import static com.android.net.module.util.SdkUtil.isAtLeast25Q2;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@ -395,7 +396,7 @@ public class TetheringConfiguration {
* use the async state machine. * use the async state machine.
*/ */
public void readEnableSyncSM(final Context ctx) { public void readEnableSyncSM(final Context ctx) {
USE_SYNC_SM = mDeps.isFeatureNotChickenedOut(ctx, TETHER_ENABLE_SYNC_SM); USE_SYNC_SM = isAtLeast25Q2() || mDeps.isFeatureNotChickenedOut(ctx, TETHER_ENABLE_SYNC_SM);
} }
/** Does the dumping.*/ /** Does the dumping.*/

View file

@ -63,6 +63,7 @@ import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.internal.util.test.FakeSettingsProvider; import com.android.internal.util.test.FakeSettingsProvider;
import com.android.modules.utils.build.SdkLevel; import com.android.modules.utils.build.SdkLevel;
import com.android.net.module.util.DeviceConfigUtils; import com.android.net.module.util.DeviceConfigUtils;
import com.android.net.module.util.SdkUtil;
import com.android.net.module.util.SharedLog; import com.android.net.module.util.SharedLog;
import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter; import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter;
@ -779,7 +780,10 @@ public class TetheringConfigurationTest {
setTetherEnableSyncSMFlagEnabled(true); setTetherEnableSyncSMFlagEnabled(true);
assertEnableSyncSM(true); assertEnableSyncSM(true);
setTetherEnableSyncSMFlagEnabled(false); // Feature is enabled by default after 25Q2 release.
assertEnableSyncSM(false); if (!SdkUtil.isAtLeast25Q2()) {
setTetherEnableSyncSMFlagEnabled(false);
assertEnableSyncSM(false);
}
} }
} }

View file

@ -16,7 +16,10 @@
package com.android.net.module.util; package com.android.net.module.util;
import static android.os.Build.VERSION.SDK_INT;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.os.Build;
/** /**
* Utilities to deal with multiple SDKs in a single mainline module. * Utilities to deal with multiple SDKs in a single mainline module.
@ -46,4 +49,9 @@ public class SdkUtil {
this.value = value; this.value = value;
} }
} }
/** Checks if the device is running on a release version of Android Baklava or newer */
public static boolean isAtLeast25Q2() {
return SDK_INT >= 36 || (SDK_INT == 35 && "Baklava".equals(Build.VERSION.CODENAME));
}
} }