Merge "[Catalyst] Implement metrics/tags for "Mobile data"" into main

This commit is contained in:
Treehugger Robot
2025-02-07 01:51:10 -08:00
committed by Android (Google) Code Review

View File

@@ -17,9 +17,12 @@
package com.android.settings.network package com.android.settings.network
import android.Manifest import android.Manifest
import android.app.settings.SettingsEnums.ACTION_MOBILE_DATA
import android.content.Context import android.content.Context
import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager
import com.android.settings.PreferenceActionMetricsProvider
import com.android.settings.R import com.android.settings.R
import com.android.settings.contract.KEY_MOBILE_DATA
import com.android.settings.network.telephony.MobileDataRepository import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.network.telephony.SubscriptionRepository import com.android.settings.network.telephony.SubscriptionRepository
import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.KeyValueStore
@@ -38,8 +41,14 @@ class MobileDataPreference :
R.string.mobile_data_settings_title, R.string.mobile_data_settings_title,
R.string.mobile_data_settings_summary, R.string.mobile_data_settings_summary,
), ),
PreferenceActionMetricsProvider,
PreferenceAvailabilityProvider { PreferenceAvailabilityProvider {
override val preferenceActionMetrics: Int
get() = ACTION_MOBILE_DATA
override fun tags(context: Context) = arrayOf(KEY_MOBILE_DATA)
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
SubscriptionRepository(context).getSelectableSubscriptionInfoList().any { SubscriptionRepository(context).getSelectableSubscriptionInfoList().any {
it.simSlotIndex > -1 it.simSlotIndex > -1
@@ -59,7 +68,7 @@ class MobileDataPreference :
override fun getWritePermissions(context: Context) = override fun getWritePermissions(context: Context) =
Permissions.allOf( Permissions.allOf(
// TelephonyManager.setDataEnabledForReason // TelephonyManager.setDataEnabledForReason
Manifest.permission.MODIFY_PHONE_STATE, Manifest.permission.MODIFY_PHONE_STATE
) )
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) = override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =