From 1af766840d4a68f7d84082c81a0cf097f3255d06 Mon Sep 17 00:00:00 2001 From: Neel Chauhan Date: Wed, 18 Mar 2026 11:48:46 -0400 Subject: [PATCH] platform_frameworks_base: Allow Apple's servers for captive portal check Part of GrapheneOS/os-issue-tracker#6728 --- core/api/module-lib-current.txt | 1 + core/java/android/ext/settings/ConnChecksSetting.java | 3 ++- .../com/android/providers/settings/SettingsParserState.java | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 30497dbea79b5..5bdb87a241d98 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -172,6 +172,7 @@ package android.ext.settings { public class ConnChecksSetting { method public static int get(); method public static boolean put(int); + field public static final int VAL_APPLE = 3; // 0x3 field public static final int VAL_DEFAULT = 0; // 0x0 field public static final int VAL_DISABLED = 2; // 0x2 field public static final int VAL_GRAPHENEOS = 0; // 0x0 diff --git a/core/java/android/ext/settings/ConnChecksSetting.java b/core/java/android/ext/settings/ConnChecksSetting.java index 0bcc7287a2298..fe043bbdef51b 100644 --- a/core/java/android/ext/settings/ConnChecksSetting.java +++ b/core/java/android/ext/settings/ConnChecksSetting.java @@ -10,6 +10,7 @@ public class ConnChecksSetting { public static final int VAL_GRAPHENEOS = 0; public static final int VAL_STANDARD = 1; public static final int VAL_DISABLED = 2; + public static final int VAL_APPLE = 3; public static final int VAL_DEFAULT = VAL_GRAPHENEOS; /** @@ -20,7 +21,7 @@ public class ConnChecksSetting { public static final IntSysProperty SYS_PROP = new IntSysProperty( "persist.sys.connectivity_checks", ConnChecksSetting.VAL_DEFAULT, - ConnChecksSetting.VAL_GRAPHENEOS, ConnChecksSetting.VAL_STANDARD, ConnChecksSetting.VAL_DISABLED + ConnChecksSetting.VAL_GRAPHENEOS, ConnChecksSetting.VAL_STANDARD, ConnChecksSetting.VAL_DISABLED, ConnChecksSetting.VAL_APPLE ); public static int get() { diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsParserState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsParserState.java index 896709d72a707..c3d74ce6cff0d 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsParserState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsParserState.java @@ -92,6 +92,8 @@ private void maybeMigrateConnChecksSetting() { } else { if ("https://www.google.com/generate_204".equals(captivePortalHttpsUrl)) { val = ConnChecksSetting.VAL_STANDARD; + } else if ("https://captive.apple.com".equals(captivePortalHttpsUrl)) { + val = ConnChecksSetting.VAL_APPLE; } else { val = ConnChecksSetting.VAL_GRAPHENEOS; }