1 /* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.settings.network 18 19 import android.app.settings.SettingsEnums 20 import android.net.wifi.WifiManager 21 import android.view.WindowManager 22 import androidx.compose.foundation.layout.fillMaxWidth 23 import androidx.compose.material3.Text 24 import androidx.compose.runtime.Composable 25 import androidx.compose.ui.Modifier 26 import androidx.compose.ui.platform.LocalContext 27 import androidx.compose.ui.text.style.TextAlign 28 import com.android.settings.R 29 import com.android.settings.core.SubSettingLauncher 30 import com.android.settings.wifi.ConfigureWifiSettings 31 import com.android.settingslib.spa.SpaDialogWindowTypeActivity 32 import com.android.settingslib.spa.widget.dialog.AlertDialogButton 33 import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogContent 34 import com.android.settingslib.wifi.WifiUtils.Companion.DIALOG_WINDOW_TYPE 35 import com.android.settingslib.wifi.WifiUtils.Companion.SSID 36 37 class WepNetworkDialogActivity : SpaDialogWindowTypeActivity() { 38 39 @Composable Contentnull40 override fun Content() { 41 val context = LocalContext.current 42 val wifiManager = context.getSystemService(WifiManager::class.java) 43 SettingsAlertDialogContent( 44 confirmButton = AlertDialogButton( 45 getString(R.string.wifi_settings_ssid_block_button_close) 46 ) { finish() }, 47 dismissButton = if (wifiManager?.isWepSupported == true) 48 AlertDialogButton( 49 getString(R.string.wifi_settings_wep_networks_button_allow) 50 ) { 51 SubSettingLauncher(context) 52 .setTitleText(context.getText(R.string.network_and_internet_preferences_title)) 53 .setSourceMetricsCategory(SettingsEnums.CONFIGURE_WIFI) 54 .setDestination(ConfigureWifiSettings::class.java.getName()) 55 .launch() 56 finish() 57 } else null, 58 title = String.format( 59 getString(R.string.wifi_settings_wep_networks_blocked_title), 60 intent.getStringExtra(SSID) ?: SSID 61 ), 62 text = { 63 Text( 64 if (wifiManager?.isWepSupported == true) 65 getString(R.string.wifi_settings_wep_networks_summary_toggle_off) 66 else getString(R.string.wifi_settings_wep_networks_summary_blocked_by_carrier), 67 modifier = Modifier.fillMaxWidth(), 68 textAlign = TextAlign.Center 69 ) 70 }) 71 } 72 getDialogWindowTypenull73 override fun getDialogWindowType(): Int { 74 return intent.getIntExtra( 75 DIALOG_WINDOW_TYPE, 76 WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW 77 ) 78 } 79 } 80