Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 916643c8 authored by Sunny Shao's avatar Sunny Shao
Browse files

[Catalyst] Implement metrics/tags for "Mobile data"

Bug: 394002861
Flag: com.android.settings.flags.catalyst
Test: devtool
Change-Id: I9990c8295b26b4b4ed85db41179a8c93d07f48cd
parent 8384d162
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -17,9 +17,12 @@
package com.android.settings.network

import android.Manifest
import android.app.settings.SettingsEnums.ACTION_MOBILE_DATA
import android.content.Context
import android.telephony.SubscriptionManager
import com.android.settings.PreferenceActionMetricsProvider
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.SubscriptionRepository
import com.android.settingslib.datastore.KeyValueStore
@@ -38,8 +41,14 @@ class MobileDataPreference :
        R.string.mobile_data_settings_title,
        R.string.mobile_data_settings_summary,
    ),
    PreferenceActionMetricsProvider,
    PreferenceAvailabilityProvider {

    override val preferenceActionMetrics: Int
        get() = ACTION_MOBILE_DATA

    override fun tags(context: Context) = arrayOf(KEY_MOBILE_DATA)

    override fun isAvailable(context: Context) =
        SubscriptionRepository(context).getSelectableSubscriptionInfoList().any {
            it.simSlotIndex > -1
@@ -59,7 +68,7 @@ class MobileDataPreference :
    override fun getWritePermissions(context: Context) =
        Permissions.allOf(
            // TelephonyManager.setDataEnabledForReason
            Manifest.permission.MODIFY_PHONE_STATE,
            Manifest.permission.MODIFY_PHONE_STATE
        )

    override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =