[AAPM] UX for disabling WEP

Toggle is restricted, and trying to connect shows an error

Bug: 352420507
Change-Id: Ie8476070f8998d9485016cc2416cd3ff3900c973
Test: Manually. Automated tests to follow
Flag: com.android.wifi.flags.wep_disabled_in_apm
diff --git a/packages/SettingsLib/Android.bp b/packages/SettingsLib/Android.bp
index a3da93d..d739aaf 100644
--- a/packages/SettingsLib/Android.bp
+++ b/packages/SettingsLib/Android.bp
@@ -65,6 +65,7 @@
     libs:[
         // This flag library has been added in frameworks jar
         "aconfig_settingslib_flags_java_lib",
+        "wifi_framework_aconfig_flags_lib",
     ],
     plugins: ["androidx.room_room-compiler-plugin"],
     use_resource_processor: true,
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.kt b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.kt
index a7e0464..e01f279 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.kt
@@ -27,6 +27,7 @@
 import android.net.wifi.sharedconnectivity.app.NetworkProviderInfo
 import android.os.Bundle
 import android.os.SystemClock
+import android.security.advancedprotection.AdvancedProtectionManager
 import android.util.Log
 import android.view.WindowManager
 import androidx.annotation.VisibleForTesting
@@ -498,7 +499,13 @@
         ): Job =
             coroutineScope.launch {
                 val wifiManager = context.getSystemService(WifiManager::class.java) ?: return@launch
-                if (wifiManager.isWepSupported == true && wifiManager.queryWepAllowed()) {
+                val aapmManager = context.getSystemService(AdvancedProtectionManager::class.java)
+                if (isAdvancedProtectionEnabled(aapmManager)) {
+                    val intent = aapmManager.createSupportIntent(
+                        AdvancedProtectionManager.FEATURE_ID_DISALLOW_WEP,
+                        AdvancedProtectionManager.SUPPORT_DIALOG_TYPE_BLOCKED_INTERACTION)
+                    onStartActivity(intent)
+                } else if (wifiManager.isWepSupported == true && wifiManager.queryWepAllowed()) {
                     onAllowed()
                 } else {
                     val intent = Intent(Intent.ACTION_MAIN).apply {
@@ -522,6 +529,18 @@
                 }
             }
 
+        private suspend fun isAdvancedProtectionEnabled(
+            aapmManager: AdvancedProtectionManager?
+        ): Boolean =
+            if (android.security.Flags.aapmApi() &&
+                    com.android.wifi.flags.Flags.wepDisabledInApm() &&
+                    aapmManager != null
+            ) {
+                withContext(Dispatchers.Default) { aapmManager.isAdvancedProtectionEnabled() }
+            } else {
+                false
+            }
+
         const val SSID = "ssid"
         const val DIALOG_WINDOW_TYPE = "dialog_window_type"
     }