[Catalyst] Implement metrics/tags for "Wi-Fi Calling"

Bug: 394002861
Flag: com.android.settings.flags.catalyst
Test: devtool
Change-Id: I5cd0141639415eee0d230187beb056692cd7694e
This commit is contained in:
Sunny Shao
2025-02-07 06:48:09 +00:00
parent 8384d162d0
commit dcc13e91f3

View File

@@ -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