Merge "Add metricsCategory for dualsim and apnEdit" into main

This commit is contained in:
SongFerng Wang
2024-06-14 09:25:47 +00:00
committed by Android (Google) Code Review
4 changed files with 68 additions and 2 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.network.apn
import android.app.settings.SettingsEnums
import android.net.Uri
import android.os.Bundle
import android.provider.Telephony
@@ -62,6 +63,7 @@ const val INSERT_URL = "insertUrl"
object ApnEditPageProvider : SettingsPageProvider {
override val name = "ApnEdit"
override val metricsCategory = SettingsEnums.APN_EDITOR
const val TAG = "ApnEditPageProvider"
override val parameter = listOf(

View File

@@ -43,6 +43,7 @@ import com.android.settings.spa.app.specialaccess.TurnScreenOnAppsAppListProvide
import com.android.settings.spa.app.specialaccess.UseFullScreenIntentAppListProvider
import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
import com.android.settings.spa.app.storage.StorageAppListPageProvider
import com.android.settings.spa.core.instrumentation.SpaLogMetricsProvider
import com.android.settings.spa.core.instrumentation.SpaLogProvider
import com.android.settings.spa.development.UsageStatsPageProvider
import com.android.settings.spa.development.compat.PlatformCompatAppListPageProvider
@@ -127,6 +128,6 @@ open class SettingsSpaEnvironment(context: Context) : SpaEnvironment(context) {
override val logger = if (FeatureFlagUtils.isEnabled(
context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS
)
) SpaLogProvider
) SpaLogMetricsProvider // ToDo: Implement 'SpaLogProvider' for SPA settings.
else object : SpaLogger {}
}

View File

@@ -0,0 +1,62 @@
/*
* Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.spa.core.instrumentation
import android.app.settings.SettingsEnums
import android.os.Bundle
import android.util.Log
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settingslib.spa.framework.common.LOG_DATA_METRICS_CATEGORY
import com.android.settingslib.spa.framework.common.LogCategory
import com.android.settingslib.spa.framework.common.LogEvent
import com.android.settingslib.spa.framework.common.SpaLogger
/**
* To receive the events from spa framework and logging the these events.
*/
object SpaLogMetricsProvider : SpaLogger {
override fun event(id: String, event: LogEvent, category: LogCategory, extraData: Bundle) {
val metricsFeatureProvider = featureFactory.metricsFeatureProvider
val metricsCategoryOfPage = extraData.getInt(LOG_DATA_METRICS_CATEGORY)
Log.d("SpaLogMetricsProvider", "${event} page ${metricsCategoryOfPage}")
if (metricsCategoryOfPage == SettingsEnums.PAGE_UNKNOWN) {
return
}
when (event) {
LogEvent.PAGE_ENTER -> {
metricsFeatureProvider.visible(
null,
SettingsEnums.PAGE_UNKNOWN,
metricsCategoryOfPage,
0
)
}
LogEvent.PAGE_LEAVE -> {
metricsFeatureProvider.hidden(
null,
metricsCategoryOfPage,
0
)
}
else -> return
}
}
}

View File

@@ -16,6 +16,7 @@
package com.android.settings.spa.network
import android.app.settings.SettingsEnums
import android.content.Context
import android.content.IntentFilter
import android.os.Bundle
@@ -78,7 +79,7 @@ import kotlinx.coroutines.withContext
*/
open class NetworkCellularGroupProvider : SettingsPageProvider {
override val name = fileName
override val metricsCategory = SettingsEnums.MOBILE_NETWORK_LIST
private val owner = createSettingsPage()
var defaultVoiceSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID