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
android:name="com.android.settings.network.WepNetworkDialogActivity"
android:exported="false"
android:theme="@style/Theme.SpaLib.Dialog">
android:exported="true"
android:theme="@style/Theme.SpaLib.Dialog"
android:permission="android.permission.NETWORK_SETTINGS">
</activity>
<!-- This is the longest AndroidManifest.xml ever. -->

View File

@@ -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;

View File

@@ -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"
}
}