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:
Motomu Utsumi
2023-04-21 12:35:22 +09:00
committed by Cherrypicker Worker
parent fc6693065b
commit 6f4d8066b9
6 changed files with 15 additions and 15 deletions

View File

@@ -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 */);
} }
/** /**

View File

@@ -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);

View File

@@ -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 */);
} }
/** /**

View File

@@ -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);
} }
/** /**

View File

@@ -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);
} }
} }

View File

@@ -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);
} }
} }