diff options
| author | 2024-03-14 04:59:51 +0000 | |
|---|---|---|
| committer | 2024-03-14 04:59:51 +0000 | |
| commit | 8cdacba76f1c8321ad88258ccf63f5e9136a103e (patch) | |
| tree | 82edc53caf29b6a57886427735d301d9905bfeea | |
| parent | e15ab5e20cf58121695423f548b2f3c3c8cf1de8 (diff) | |
| parent | 0fa9120b8f72916951b2d070afd6c3dfd3c13f77 (diff) | |
Merge "Clear dns cache when restoring network access" into main
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 7 | ||||
| -rw-r--r-- | core/java/android/app/network-policy.aconfig | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 6ddb36a72aa9..0e66010ae2c3 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4022,6 +4022,13 @@ public final class ActivityThread extends ClientTransactionHandler ActivityManager.getService().waitForNetworkStateUpdate(mNetworkBlockSeq); mNetworkBlockSeq = INVALID_PROC_STATE_SEQ; } catch (RemoteException ignored) {} + if (android.app.Flags.clearDnsCacheOnNetworkRulesUpdate()) { + // InetAddress will cache UnknownHostException failures. If the rules got + // updated and the app has network access now, we need to clear the negative + // cache to ensure valid dns queries can work immediately. + // TODO: b/329133769 - Clear only the negative cache once it is available. + InetAddress.clearDnsCache(); + } } } } diff --git a/core/java/android/app/network-policy.aconfig b/core/java/android/app/network-policy.aconfig new file mode 100644 index 000000000000..88f386f6025d --- /dev/null +++ b/core/java/android/app/network-policy.aconfig @@ -0,0 +1,11 @@ +package: "android.app" + +flag { + namespace: "backstage_power" + name: "clear_dns_cache_on_network_rules_update" + description: "Clears the DNS cache when the network rules update" + bug: "237556596" + metadata { + purpose: PURPOSE_BUGFIX + } +}
\ No newline at end of file |