Merge "[Catalyst] Implement metrics/tags for "Wi-Fi Calling"" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
dff59dfde7
@@ -19,12 +19,15 @@ package com.android.settings.wifi.calling
|
|||||||
import android.Manifest.permission.MODIFY_PHONE_STATE
|
import android.Manifest.permission.MODIFY_PHONE_STATE
|
||||||
import android.Manifest.permission.READ_PRECISE_PHONE_STATE
|
import android.Manifest.permission.READ_PRECISE_PHONE_STATE
|
||||||
import android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
|
import android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
|
||||||
|
import android.app.settings.SettingsEnums.ACTION_WIFI_CALLING
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.telephony.SubscriptionManager
|
import android.telephony.SubscriptionManager
|
||||||
import android.telephony.TelephonyManager
|
import android.telephony.TelephonyManager
|
||||||
import android.telephony.ims.ImsMmTelManager
|
import android.telephony.ims.ImsMmTelManager
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import com.android.settings.PreferenceActionMetricsProvider
|
||||||
import com.android.settings.R
|
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.ims.WifiCallingQueryImsState
|
||||||
import com.android.settings.network.telephony.wificalling.WifiCallingRepository
|
import com.android.settings.network.telephony.wificalling.WifiCallingRepository
|
||||||
import com.android.settings.widget.SettingsMainSwitchPreference
|
import com.android.settings.widget.SettingsMainSwitchPreference
|
||||||
@@ -47,7 +50,10 @@ import kotlinx.coroutines.runBlocking
|
|||||||
* TODO(b/372732219): apply metadata to UI
|
* TODO(b/372732219): apply metadata to UI
|
||||||
*/
|
*/
|
||||||
class WifiCallingMainSwitchPreference(private val subId: Int) :
|
class WifiCallingMainSwitchPreference(private val subId: Int) :
|
||||||
BooleanValuePreference, BooleanValuePreferenceBinding, PreferenceAvailabilityProvider {
|
BooleanValuePreference,
|
||||||
|
BooleanValuePreferenceBinding,
|
||||||
|
PreferenceActionMetricsProvider,
|
||||||
|
PreferenceAvailabilityProvider {
|
||||||
|
|
||||||
override val key: String
|
override val key: String
|
||||||
get() = KEY
|
get() = KEY
|
||||||
@@ -55,6 +61,11 @@ class WifiCallingMainSwitchPreference(private val subId: Int) :
|
|||||||
override val title: Int
|
override val title: Int
|
||||||
get() = R.string.wifi_calling_main_switch_title
|
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) =
|
override fun isEnabled(context: Context) =
|
||||||
context.isCallStateIdle(subId) &&
|
context.isCallStateIdle(subId) &&
|
||||||
WifiCallingQueryImsState(context, subId).isAllowUserControl
|
WifiCallingQueryImsState(context, subId).isAllowUserControl
|
||||||
|
Reference in New Issue
Block a user