• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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