Fix isFeatureEnabled namespace and overload usage
From service-connectivity, NAMESPACE_TETHERING must be used, as NAMESPACE_CONNECTIVITY is used for the NetworkStack module. Also the isFeatureEnabled with module name must be used, otherwise the "android" package version is queried instead of the tethering module version. BpfNetMaps is using flag value 1 to workaround this issue. flags in NsdService, AutomaticOnOffKeepaliveTracker, and ConnectivityFlags were not pushed currently. So, this change has no effect to devices. Bug: 279108992 Test: TH (cherry picked from https://android-review.googlesource.com/q/commit:278db58bf536551158e8082d3e7572650a908b05) Merged-In: I2b4b6a13c048c20beef52b1f43b9e21aca0c637a Change-Id: I2b4b6a13c048c20beef52b1f43b9e21aca0c637a
This commit is contained in:
committed by
Cherrypicker Worker
parent
fc6693065b
commit
6f4d8066b9
@@ -19,7 +19,6 @@ package com.android.server;
|
|||||||
import static android.net.ConnectivityManager.NETID_UNSET;
|
import static android.net.ConnectivityManager.NETID_UNSET;
|
||||||
import static android.net.nsd.NsdManager.MDNS_DISCOVERY_MANAGER_EVENT;
|
import static android.net.nsd.NsdManager.MDNS_DISCOVERY_MANAGER_EVENT;
|
||||||
import static android.net.nsd.NsdManager.MDNS_SERVICE_EVENT;
|
import static android.net.nsd.NsdManager.MDNS_SERVICE_EVENT;
|
||||||
import static android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY;
|
|
||||||
import static android.provider.DeviceConfig.NAMESPACE_TETHERING;
|
import static android.provider.DeviceConfig.NAMESPACE_TETHERING;
|
||||||
|
|
||||||
import static com.android.modules.utils.build.SdkLevel.isAtLeastU;
|
import static com.android.modules.utils.build.SdkLevel.isAtLeastU;
|
||||||
@@ -1352,8 +1351,8 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
* @return true if the MdnsDiscoveryManager feature is enabled.
|
* @return true if the MdnsDiscoveryManager feature is enabled.
|
||||||
*/
|
*/
|
||||||
public boolean isMdnsDiscoveryManagerEnabled(Context context) {
|
public boolean isMdnsDiscoveryManagerEnabled(Context context) {
|
||||||
return isAtLeastU() || DeviceConfigUtils.isFeatureEnabled(context,
|
return isAtLeastU() || DeviceConfigUtils.isFeatureEnabled(context, NAMESPACE_TETHERING,
|
||||||
NAMESPACE_CONNECTIVITY, MDNS_DISCOVERY_MANAGER_VERSION,
|
MDNS_DISCOVERY_MANAGER_VERSION, DeviceConfigUtils.TETHERING_MODULE_NAME,
|
||||||
false /* defaultEnabled */);
|
false /* defaultEnabled */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1364,8 +1363,9 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
* @return true if the MdnsAdvertiser feature is enabled.
|
* @return true if the MdnsAdvertiser feature is enabled.
|
||||||
*/
|
*/
|
||||||
public boolean isMdnsAdvertiserEnabled(Context context) {
|
public boolean isMdnsAdvertiserEnabled(Context context) {
|
||||||
return isAtLeastU() || DeviceConfigUtils.isFeatureEnabled(context,
|
return isAtLeastU() || DeviceConfigUtils.isFeatureEnabled(context, NAMESPACE_TETHERING,
|
||||||
NAMESPACE_CONNECTIVITY, MDNS_ADVERTISER_VERSION, false /* defaultEnabled */);
|
MDNS_ADVERTISER_VERSION, DeviceConfigUtils.TETHERING_MODULE_NAME,
|
||||||
|
false /* defaultEnabled */);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -281,8 +281,8 @@ public class BpfNetMaps {
|
|||||||
if (sEnableJavaBpfMap == null) {
|
if (sEnableJavaBpfMap == null) {
|
||||||
sEnableJavaBpfMap = SdkLevel.isAtLeastU() ||
|
sEnableJavaBpfMap = SdkLevel.isAtLeastU() ||
|
||||||
DeviceConfigUtils.isFeatureEnabled(context,
|
DeviceConfigUtils.isFeatureEnabled(context,
|
||||||
DeviceConfig.NAMESPACE_TETHERING, BPF_NET_MAPS_ENABLE_JAVA_BPF_MAP,
|
DeviceConfig.NAMESPACE_TETHERING, BPF_NET_MAPS_ENABLE_JAVA_BPF_MAP,
|
||||||
false /* defaultValue */);
|
DeviceConfigUtils.TETHERING_MODULE_NAME, false /* defaultValue */);
|
||||||
}
|
}
|
||||||
Log.d(TAG, "BpfNetMaps is initialized with sEnableJavaBpfMap=" + sEnableJavaBpfMap);
|
Log.d(TAG, "BpfNetMaps is initialized with sEnableJavaBpfMap=" + sEnableJavaBpfMap);
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ import static android.net.OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST;
|
|||||||
import static android.net.OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY;
|
import static android.net.OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY;
|
||||||
import static android.os.Process.INVALID_UID;
|
import static android.os.Process.INVALID_UID;
|
||||||
import static android.os.Process.VPN_UID;
|
import static android.os.Process.VPN_UID;
|
||||||
import static android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY;
|
import static android.provider.DeviceConfig.NAMESPACE_TETHERING;
|
||||||
import static android.system.OsConstants.ETH_P_ALL;
|
import static android.system.OsConstants.ETH_P_ALL;
|
||||||
import static android.system.OsConstants.IPPROTO_TCP;
|
import static android.system.OsConstants.IPPROTO_TCP;
|
||||||
import static android.system.OsConstants.IPPROTO_UDP;
|
import static android.system.OsConstants.IPPROTO_UDP;
|
||||||
@@ -1390,9 +1390,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
/**
|
/**
|
||||||
* @see DeviceConfigUtils#isFeatureEnabled
|
* @see DeviceConfigUtils#isFeatureEnabled
|
||||||
*/
|
*/
|
||||||
public boolean isFeatureEnabled(Context context, String name, boolean defaultEnabled) {
|
public boolean isFeatureEnabled(Context context, String name) {
|
||||||
return DeviceConfigUtils.isFeatureEnabled(context, NAMESPACE_CONNECTIVITY, name,
|
return DeviceConfigUtils.isFeatureEnabled(context, NAMESPACE_TETHERING, name,
|
||||||
TETHERING_MODULE_NAME, defaultEnabled);
|
TETHERING_MODULE_NAME, false /* defaultValue */);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -842,7 +842,7 @@ public class AutomaticOnOffKeepaliveTracker {
|
|||||||
*/
|
*/
|
||||||
public boolean isFeatureEnabled(@NonNull final String name, final boolean defaultEnabled) {
|
public boolean isFeatureEnabled(@NonNull final String name, final boolean defaultEnabled) {
|
||||||
return DeviceConfigUtils.isFeatureEnabled(mContext, NAMESPACE_TETHERING, name,
|
return DeviceConfigUtils.isFeatureEnabled(mContext, NAMESPACE_TETHERING, name,
|
||||||
defaultEnabled);
|
DeviceConfigUtils.TETHERING_MODULE_NAME, defaultEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -61,6 +61,6 @@ public final class ConnectivityFlags {
|
|||||||
*/
|
*/
|
||||||
public void loadFlags(ConnectivityService.Dependencies deps, Context ctx) {
|
public void loadFlags(ConnectivityService.Dependencies deps, Context ctx) {
|
||||||
mNoRematchAllRequestsOnRegister = deps.isFeatureEnabled(
|
mNoRematchAllRequestsOnRegister = deps.isFeatureEnabled(
|
||||||
ctx, NO_REMATCH_ALL_REQUESTS_ON_REGISTER, false /* defaultEnabled */);
|
ctx, NO_REMATCH_ALL_REQUESTS_ON_REGISTER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2076,12 +2076,12 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isFeatureEnabled(Context context, String name, boolean defaultEnabled) {
|
public boolean isFeatureEnabled(Context context, String name) {
|
||||||
switch (name) {
|
switch (name) {
|
||||||
case ConnectivityFlags.NO_REMATCH_ALL_REQUESTS_ON_REGISTER:
|
case ConnectivityFlags.NO_REMATCH_ALL_REQUESTS_ON_REGISTER:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return super.isFeatureEnabled(context, name, defaultEnabled);
|
return super.isFeatureEnabled(context, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user