diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 11bf4c1eabc..c15f77fa4d5 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5137,8 +5137,9 @@ + android:exported="true" + android:theme="@style/Theme.SpaLib.Dialog" + android:permission="android.permission.NETWORK_SETTINGS"> diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java index bcf0d00089b..0bc426c9887 100644 --- a/src/com/android/settings/network/NetworkProviderSettings.java +++ b/src/com/android/settings/network/NetworkProviderSettings.java @@ -1263,7 +1263,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (Flags.androidVWifiApi() && wifiEntry.getSecurityTypes() .contains(WifiEntry.SECURITY_WEP)) { - WepNetworkDialogActivity.checkWepAllowed( + WifiUtils.checkWepAllowed( getContext(), getViewLifecycleOwner(), wifiEntry.getSsid(), () -> { wifiEntry.connect(callback); return null; diff --git a/src/com/android/settings/network/WepNetworkDialogActivity.kt b/src/com/android/settings/network/WepNetworkDialogActivity.kt index d69630f6826..fef93ef7e96 100644 --- a/src/com/android/settings/network/WepNetworkDialogActivity.kt +++ b/src/com/android/settings/network/WepNetworkDialogActivity.kt @@ -17,8 +17,6 @@ package com.android.settings.network import android.app.settings.SettingsEnums -import android.content.Context -import android.content.Intent import android.net.wifi.WifiManager import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text @@ -26,20 +24,13 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.style.TextAlign -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.lifecycleScope import com.android.settings.R import com.android.settings.core.SubSettingLauncher import com.android.settings.wifi.ConfigureWifiSettings import com.android.settingslib.spa.SpaBaseDialogActivity import com.android.settingslib.spa.widget.dialog.AlertDialogButton import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon -import kotlin.coroutines.resume -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.asExecutor -import kotlinx.coroutines.launch -import kotlinx.coroutines.suspendCancellableCoroutine -import kotlinx.coroutines.withContext +import com.android.settingslib.wifi.WifiUtils.Companion.SSID class WepNetworkDialogActivity : SpaBaseDialogActivity() { @Composable @@ -76,37 +67,4 @@ class WepNetworkDialogActivity : SpaBaseDialogActivity() { ) }) } - - companion object { - @JvmStatic - fun checkWepAllowed( - context: Context, - lifecycleOwner: LifecycleOwner, - ssid: String, - onAllowed: () -> Unit, - ) { - lifecycleOwner.lifecycleScope.launch { - val wifiManager = context.getSystemService(WifiManager::class.java) ?: return@launch - if (wifiManager.queryWepAllowed()) { - onAllowed() - } else { - val intent = Intent(context, WepNetworkDialogActivity::class.java).apply { - putExtra(SSID, ssid) - } - context.startActivity(intent) - } - } - } - - private suspend fun WifiManager.queryWepAllowed(): Boolean = - withContext(Dispatchers.Default) { - suspendCancellableCoroutine { continuation -> - queryWepAllowed(Dispatchers.Default.asExecutor()) { - continuation.resume(it) - } - } - } - - const val SSID = "ssid" - } } \ No newline at end of file