diff --git a/src/com/android/settings/wifi/calling/WifiCallingMainSwitchPreference.kt b/src/com/android/settings/wifi/calling/WifiCallingMainSwitchPreference.kt index 8765547a957..ccf89d0192a 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingMainSwitchPreference.kt +++ b/src/com/android/settings/wifi/calling/WifiCallingMainSwitchPreference.kt @@ -19,12 +19,15 @@ package com.android.settings.wifi.calling import android.Manifest.permission.MODIFY_PHONE_STATE import android.Manifest.permission.READ_PRECISE_PHONE_STATE import android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE +import android.app.settings.SettingsEnums.ACTION_WIFI_CALLING import android.content.Context import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import android.telephony.ims.ImsMmTelManager import android.util.Log +import com.android.settings.PreferenceActionMetricsProvider import com.android.settings.R +import com.android.settings.contract.KEY_WIFI_CALLING import com.android.settings.network.ims.WifiCallingQueryImsState import com.android.settings.network.telephony.wificalling.WifiCallingRepository import com.android.settings.widget.SettingsMainSwitchPreference @@ -47,7 +50,10 @@ import kotlinx.coroutines.runBlocking * TODO(b/372732219): apply metadata to UI */ class WifiCallingMainSwitchPreference(private val subId: Int) : - BooleanValuePreference, BooleanValuePreferenceBinding, PreferenceAvailabilityProvider { + BooleanValuePreference, + BooleanValuePreferenceBinding, + PreferenceActionMetricsProvider, + PreferenceAvailabilityProvider { override val key: String get() = KEY @@ -55,6 +61,11 @@ class WifiCallingMainSwitchPreference(private val subId: Int) : override val title: Int get() = R.string.wifi_calling_main_switch_title + override val preferenceActionMetrics: Int + get() = ACTION_WIFI_CALLING + + override fun tags(context: Context) = arrayOf(KEY_WIFI_CALLING) + override fun isEnabled(context: Context) = context.isCallStateIdle(subId) && WifiCallingQueryImsState(context, subId).isAllowUserControl