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.wifi.details2 18 19 import android.content.Context 20 import android.util.Log 21 import androidx.compose.runtime.Composable 22 import androidx.compose.ui.res.stringResource 23 import com.android.settings.R 24 import com.android.settings.spa.preference.ComposePreferenceController 25 import com.android.settingslib.spa.widget.preference.Preference 26 import com.android.settingslib.spa.widget.preference.PreferenceModel 27 import com.android.wifi.flags.Flags 28 import com.android.wifitrackerlib.WifiEntry 29 30 class ServerNamePreferenceController(context: Context, preferenceKey: String) : 31 ComposePreferenceController(context, preferenceKey) { 32 33 private lateinit var wifiEntry: WifiEntry 34 setWifiEntrynull35 fun setWifiEntry(entry: WifiEntry) { 36 wifiEntry = entry 37 } 38 getAvailabilityStatusnull39 override fun getAvailabilityStatus(): Int { 40 return if (Flags.androidVWifiApi() && wifiEntry.certificateInfo?.domain != null) AVAILABLE 41 else CONDITIONALLY_UNAVAILABLE 42 } 43 44 @Composable Contentnull45 override fun Content() { 46 ServerName() 47 } 48 49 @Composable ServerNamenull50 fun ServerName() { 51 Preference(object : PreferenceModel { 52 override val title = stringResource(R.string.server_name_title) 53 override val summary = { wifiEntry.certificateInfo?.domain ?: "" } 54 }) 55 } 56 }