Log when settings slice is requested/updated.

Change-Id: Ie6b7000729b3a414a29e3dfc25a29e1f2f939ddd
Fixes: 71503986
Test: robotests
This commit is contained in:
Fan Zhang
2018-04-02 15:41:32 -07:00
parent e1549f0af1
commit 87b2634fc0
4 changed files with 163 additions and 63 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.slices;
import static androidx.slice.builders.ListBuilder.ICON_IMAGE;
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER;
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
@@ -23,8 +24,6 @@ import static com.android.settings.core.BasePreferenceController.UNAVAILABLE_UNK
import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY;
import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_PLATFORM_DEFINED;
import static androidx.slice.builders.ListBuilder.ICON_IMAGE;
import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.Context;
@@ -37,17 +36,19 @@ import android.text.TextUtils;
import android.util.Pair;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SubSettings;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.SliderPreferenceController;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import androidx.slice.Slice;
import androidx.slice.builders.SliceAction;
import androidx.slice.builders.ListBuilder;
import androidx.slice.builders.SliceAction;
/**
@@ -67,7 +68,12 @@ public class SliceBuilderUtils {
*/
public static Slice buildSlice(Context context, SliceData sliceData) {
final BasePreferenceController controller = getPreferenceController(context, sliceData);
final Pair<Integer, Object> sliceNamePair =
Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_NAME, sliceData.getKey());
// Log Slice requests using the same schema as SharedPreferenceLogger (but with a different
// action name).
FeatureFactory.getFactory(context).getMetricsFeatureProvider()
.action(context, MetricsEvent.ACTION_SETTINGS_SLICE_REQUESTED, sliceNamePair);
if (!controller.isAvailable()) {
return buildUnavailableSlice(context, sliceData, controller);
}