Read experiment flag(populate the link address lifetime) only once. am: ee744e5f1d Original change: https://android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/2976831 Change-Id: I229472f052088ed82e170c287d67c1c9d12721f1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java index ab01a7c..c1d18ae 100644 --- a/src/android/net/ip/IpClient.java +++ b/src/android/net/ip/IpClient.java
@@ -952,7 +952,7 @@ IPCLIENT_POPULATE_LINK_ADDRESS_LIFETIME_VERSION); IpClientLinkObserver.Configuration config = new IpClientLinkObserver.Configuration( - mMinRdnssLifetimeSec); + mMinRdnssLifetimeSec, mPopulateLinkAddressLifetime); mLinkObserver = new IpClientLinkObserver( mContext, getHandler(),
diff --git a/src/android/net/ip/IpClientLinkObserver.java b/src/android/net/ip/IpClientLinkObserver.java index f91f569..738a50b 100644 --- a/src/android/net/ip/IpClientLinkObserver.java +++ b/src/android/net/ip/IpClientLinkObserver.java
@@ -30,7 +30,6 @@ import static com.android.net.module.util.netlink.NetlinkConstants.RT_SCOPE_UNIVERSE; import static com.android.networkstack.util.NetworkStackUtils.IPCLIENT_ACCEPT_IPV6_LINK_LOCAL_DNS_VERSION; import static com.android.networkstack.util.NetworkStackUtils.IPCLIENT_PARSE_NETLINK_EVENTS_FORCE_DISABLE; -import static com.android.networkstack.util.NetworkStackUtils.IPCLIENT_POPULATE_LINK_ADDRESS_LIFETIME_VERSION; import android.app.AlarmManager; import android.content.Context; @@ -144,9 +143,11 @@ /** Configuration parameters for IpClientLinkObserver. */ public static class Configuration { public final int minRdnssLifetime; + public final boolean populateLinkAddressLifetime; - public Configuration(int minRdnssLifetime) { + public Configuration(int minRdnssLifetime, boolean populateLinkAddressLifetime) { this.minRdnssLifetime = minRdnssLifetime; + this.populateLinkAddressLifetime = populateLinkAddressLifetime; } } @@ -163,7 +164,6 @@ private final String mClatInterfaceName; private final IpClientNetlinkMonitor mNetlinkMonitor; private final boolean mNetlinkEventParsingEnabled; - private final boolean mPopulateLinkAddressLifetime; private boolean mClatInterfaceExists; @@ -196,8 +196,6 @@ mDependencies = deps; mNetlinkEventParsingEnabled = deps.isFeatureNotChickenedOut(context, IPCLIENT_PARSE_NETLINK_EVENTS_FORCE_DISABLE); - mPopulateLinkAddressLifetime = deps.isFeatureEnabled(context, - IPCLIENT_POPULATE_LINK_ADDRESS_LIFETIME_VERSION); mNetlinkMonitor = new IpClientNetlinkMonitor(h, log, mTag); mHandler.post(() -> { if (!mNetlinkMonitor.start()) { @@ -642,7 +640,7 @@ // the same as before. private long getDeprecationOrExpirationTime(@Nullable final StructIfacacheInfo cacheInfo, long now, boolean deprecationTime) { - if (!mPopulateLinkAddressLifetime || (cacheInfo == null)) { + if (!mConfig.populateLinkAddressLifetime || (cacheInfo == null)) { return LinkAddress.LIFETIME_UNKNOWN; } final long lifetime = deprecationTime ? cacheInfo.preferred : cacheInfo.valid;