Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 823e41ea authored by Charlotte Lu's avatar Charlotte Lu
Browse files

Change WepNetworkDialogActivity exported="true".

Test: Visual Test
Fix: 327310887
Change-Id: Iecc2910eda75f3aad60f4a876b0e1d54d203cd74
parent 429291b7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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. -->
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −43
Original line number Diff line number Diff line
@@ -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