Merge "Remove defaultEnabled arg from isNetworkStackFeatureEnabled" into main
This commit is contained in:
@@ -168,32 +168,18 @@ public final class DeviceConfigUtils {
|
||||
*
|
||||
* This is useful to ensure that if a module install is rolled back, flags are not left fully
|
||||
* rolled out on a version where they have not been well tested.
|
||||
*
|
||||
* If the feature is disabled by default and enabled by flag push, this method should be used.
|
||||
* If the feature is enabled by default and disabled by flag push (kill switch),
|
||||
* {@link #isNetworkStackFeatureNotChickenedOut(Context, String)} should be used.
|
||||
*
|
||||
* @param context The global context information about an app environment.
|
||||
* @param name The name of the property to look up.
|
||||
* @return true if this feature is enabled, or false if disabled.
|
||||
*/
|
||||
public static boolean isNetworkStackFeatureEnabled(@NonNull Context context,
|
||||
@NonNull String name) {
|
||||
return isNetworkStackFeatureEnabled(context, name, false /* defaultEnabled */);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether or not one specific experimental feature for a particular namespace from
|
||||
* {@link DeviceConfig} is enabled by comparing module package version
|
||||
* with current version of property. If this property version is valid, the corresponding
|
||||
* experimental feature would be enabled, otherwise disabled.
|
||||
*
|
||||
* This is useful to ensure that if a module install is rolled back, flags are not left fully
|
||||
* rolled out on a version where they have not been well tested.
|
||||
* @param context The global context information about an app environment.
|
||||
* @param name The name of the property to look up.
|
||||
* @param defaultEnabled The value to return if the property does not exist or its value is
|
||||
* null.
|
||||
* @return true if this feature is enabled, or false if disabled.
|
||||
*/
|
||||
public static boolean isNetworkStackFeatureEnabled(@NonNull Context context,
|
||||
@NonNull String name, boolean defaultEnabled) {
|
||||
return isFeatureEnabled(NAMESPACE_CONNECTIVITY, name, defaultEnabled,
|
||||
return isFeatureEnabled(NAMESPACE_CONNECTIVITY, name, false /* defaultEnabled */,
|
||||
() -> getPackageVersion(context));
|
||||
}
|
||||
|
||||
|
||||
@@ -305,15 +305,12 @@ public class DeviceConfigUtilsTest {
|
||||
assertFalse(DeviceConfigUtils.isNetworkStackFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG));
|
||||
assertFalse(DeviceConfigUtils.isTetheringFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG));
|
||||
|
||||
// Follow defaultEnabled if the flag is not set
|
||||
// If the flag is not set feature is disabled
|
||||
doReturn(null).when(() -> DeviceConfig.getProperty(NAMESPACE_CONNECTIVITY,
|
||||
TEST_EXPERIMENT_FLAG));
|
||||
doReturn(null).when(() -> DeviceConfig.getProperty(NAMESPACE_TETHERING,
|
||||
TEST_EXPERIMENT_FLAG));
|
||||
assertFalse(DeviceConfigUtils.isNetworkStackFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG,
|
||||
false /* defaultEnabled */));
|
||||
assertTrue(DeviceConfigUtils.isNetworkStackFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG,
|
||||
true /* defaultEnabled */));
|
||||
assertFalse(DeviceConfigUtils.isNetworkStackFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG));
|
||||
assertFalse(DeviceConfigUtils.isTetheringFeatureEnabled(mContext, TEST_EXPERIMENT_FLAG));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user