Change WepNetworkDialogActivity exported="true".

Test: Visual Test
Fix: 327310887
Change-Id: Iecc2910eda75f3aad60f4a876b0e1d54d203cd74
This commit is contained in:
Charlotte Lu
2024-02-28 14:56:55 +08:00
parent 429291b70a
commit 823e41ead2
3 changed files with 5 additions and 46 deletions

View File

@@ -5137,8 +5137,9 @@
<activity <activity
android:name="com.android.settings.network.WepNetworkDialogActivity" android:name="com.android.settings.network.WepNetworkDialogActivity"
android:exported="false" android:exported="true"
android:theme="@style/Theme.SpaLib.Dialog"> android:theme="@style/Theme.SpaLib.Dialog"
android:permission="android.permission.NETWORK_SETTINGS">
</activity> </activity>
<!-- This is the longest AndroidManifest.xml ever. --> <!-- This is the longest AndroidManifest.xml ever. -->

View File

@@ -1263,7 +1263,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
if (Flags.androidVWifiApi() && wifiEntry.getSecurityTypes() if (Flags.androidVWifiApi() && wifiEntry.getSecurityTypes()
.contains(WifiEntry.SECURITY_WEP)) { .contains(WifiEntry.SECURITY_WEP)) {
WepNetworkDialogActivity.checkWepAllowed( WifiUtils.checkWepAllowed(
getContext(), getViewLifecycleOwner(), wifiEntry.getSsid(), () -> { getContext(), getViewLifecycleOwner(), wifiEntry.getSsid(), () -> {
wifiEntry.connect(callback); wifiEntry.connect(callback);
return null; return null;

View File

@@ -17,8 +17,6 @@
package com.android.settings.network package com.android.settings.network
import android.app.settings.SettingsEnums import android.app.settings.SettingsEnums
import android.content.Context
import android.content.Intent
import android.net.wifi.WifiManager import android.net.wifi.WifiManager
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -26,20 +24,13 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import com.android.settings.R import com.android.settings.R
import com.android.settings.core.SubSettingLauncher import com.android.settings.core.SubSettingLauncher
import com.android.settings.wifi.ConfigureWifiSettings import com.android.settings.wifi.ConfigureWifiSettings
import com.android.settingslib.spa.SpaBaseDialogActivity import com.android.settingslib.spa.SpaBaseDialogActivity
import com.android.settingslib.spa.widget.dialog.AlertDialogButton import com.android.settingslib.spa.widget.dialog.AlertDialogButton
import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon
import kotlin.coroutines.resume import com.android.settingslib.wifi.WifiUtils.Companion.SSID
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.withContext
class WepNetworkDialogActivity : SpaBaseDialogActivity() { class WepNetworkDialogActivity : SpaBaseDialogActivity() {
@Composable @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"
}
} }