diff --git a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java index c47345659fb..b27292a1bbd 100644 --- a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java +++ b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java @@ -28,7 +28,9 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; +import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.notification.modes.ZenMode; import com.android.settingslib.notification.modes.ZenModesBackend; @@ -43,13 +45,14 @@ abstract class AbstractZenModePreferenceController extends AbstractPreferenceCon @Nullable protected final ZenModesBackend mBackend; - @Nullable // only until setZenMode() is called private ZenMode mZenMode; @NonNull private final String mKey; + @NonNull private final MetricsFeatureProvider mMetricsFeatureProvider; + /** * Constructor suitable for "read-only" controllers (e.g. link to a different sub-screen. * Controllers that call this constructor to initialize themselves cannot call @@ -59,6 +62,7 @@ abstract class AbstractZenModePreferenceController extends AbstractPreferenceCon super(context); mKey = key; mBackend = null; + mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } /** @@ -71,6 +75,7 @@ abstract class AbstractZenModePreferenceController extends AbstractPreferenceCon super(context); mKey = key; mBackend = backend; + mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } @Override @@ -79,6 +84,11 @@ abstract class AbstractZenModePreferenceController extends AbstractPreferenceCon return mKey; } + @NonNull + public MetricsFeatureProvider getMetricsFeatureProvider() { + return mMetricsFeatureProvider; + } + @Override public boolean isAvailable() { if (mZenMode != null) { diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java index 1add4889c66..f2302c0b335 100644 --- a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java +++ b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java @@ -218,6 +218,8 @@ class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreference } return zenMode; }); + getMetricsFeatureProvider().action(mContext, SettingsEnums.ACTION_ZEN_MODE_ENABLE_TOGGLE, + enabled); } private void undoToggleSwitch(Preference preference, boolean wasSwitchedTo) {