diff --git a/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemFragment.java b/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemFragment.java index 72a841e06d2..a90edf4a8fb 100644 --- a/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemFragment.java +++ b/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemFragment.java @@ -18,11 +18,16 @@ package com.android.settings.regionalpreferences; import android.app.settings.SettingsEnums; import android.content.Context; +import android.provider.Settings; + +import androidx.annotation.NonNull; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; @@ -36,6 +41,19 @@ public class FirstDayOfWeekItemFragment extends DashboardFragment { private static final String KEY_PREFERENCE_CATEGORY_FIRST_DAY_OF_WEEK_ITEM = "first_day_of_week_item_category"; + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + + MetricsFeatureProvider metricsFeatureProvider = + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); + String action = getIntent() != null ? getIntent().getAction() : ""; + if (Settings.ACTION_FIRST_DAY_OF_WEEK_SETTINGS.equals(action)) { + metricsFeatureProvider.action( + context, SettingsEnums.ACTION_OPEN_FIRST_DAY_OF_WEEK_OUTSIDE_SETTINGS); + } + } + @Override protected int getPreferenceScreenResId() { return R.xml.regional_preferences_first_day_of_week; diff --git a/src/com/android/settings/regionalpreferences/MeasurementSystemItemFragment.java b/src/com/android/settings/regionalpreferences/MeasurementSystemItemFragment.java index 231a34e6afd..1d4a1d43e90 100644 --- a/src/com/android/settings/regionalpreferences/MeasurementSystemItemFragment.java +++ b/src/com/android/settings/regionalpreferences/MeasurementSystemItemFragment.java @@ -18,12 +18,17 @@ package com.android.settings.regionalpreferences; import android.app.settings.SettingsEnums; import android.content.Context; +import android.provider.Settings; + +import androidx.annotation.NonNull; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.flags.Flags; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; @@ -36,6 +41,20 @@ public class MeasurementSystemItemFragment extends DashboardFragment { private static final String LOG_TAG = "MeasurementSystemItemFragment"; private static final String KEY_PREFERENCE_CATEGORY_MEASUREMENT_SYSTEM_ITEM = "measurement_system_item_category"; + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + + MetricsFeatureProvider metricsFeatureProvider = + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); + String action = getIntent() != null ? getIntent().getAction() : ""; + if (Settings.ACTION_MEASUREMENT_SYSTEM_SETTINGS.equals(action)) { + metricsFeatureProvider.action( + context, SettingsEnums.ACTION_OPEN_MEASUREMENT_SYSTEM_OUTSIDE_SETTINGS); + } + } + @Override protected int getPreferenceScreenResId() { return R.xml.regional_preferences_measurement_system; diff --git a/src/com/android/settings/regionalpreferences/RegionDialogFragment.java b/src/com/android/settings/regionalpreferences/RegionDialogFragment.java index 3f6aa54ce66..7bfc82801e6 100644 --- a/src/com/android/settings/regionalpreferences/RegionDialogFragment.java +++ b/src/com/android/settings/regionalpreferences/RegionDialogFragment.java @@ -17,6 +17,7 @@ package com.android.settings.regionalpreferences; import android.app.Dialog; +import android.app.settings.SettingsEnums; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; @@ -35,6 +36,8 @@ import com.android.internal.app.LocalePicker; import com.android.internal.app.LocaleStore; import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; +import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import java.util.Locale; import java.util.Set; @@ -61,7 +64,7 @@ public class RegionDialogFragment extends InstrumentedDialogFragment { @Override public int getMetricsCategory() { - return 0; + return SettingsEnums.CHANGE_REGION_DIALOG; } @NonNull @@ -110,6 +113,7 @@ public class RegionDialogFragment extends InstrumentedDialogFragment { private final Context mContext; private final int mDialogType; private final LocaleStore.LocaleInfo mLocaleInfo; + private final MetricsFeatureProvider mMetricsFeatureProvider; RegionDialogController( @NonNull Context context, @NonNull RegionDialogFragment dialogFragment) { @@ -117,6 +121,8 @@ public class RegionDialogFragment extends InstrumentedDialogFragment { Bundle arguments = dialogFragment.getArguments(); mDialogType = arguments.getInt(ARG_DIALOG_TYPE); mLocaleInfo = (LocaleStore.LocaleInfo) arguments.getSerializable(ARG_TARGET_LOCALE); + mMetricsFeatureProvider = + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } @Override @@ -124,6 +130,14 @@ public class RegionDialogFragment extends InstrumentedDialogFragment { if (mDialogType == DIALOG_CHANGE_LOCALE_REGION) { if (which == DialogInterface.BUTTON_POSITIVE) { updateRegion(mLocaleInfo.getLocale().toLanguageTag()); + mMetricsFeatureProvider.action( + mContext, + SettingsEnums.ACTION_CHANGE_REGION_DIALOG_POSITIVE_BTN_CLICKED); + } + if (which == DialogInterface.BUTTON_NEGATIVE) { + mMetricsFeatureProvider.action( + mContext, + SettingsEnums.ACTION_CHANGE_REGION_DIALOG_NEGATIVE_BTN_CLICKED); } dismiss(); if (getActivity() != null) { diff --git a/src/com/android/settings/regionalpreferences/RegionPickerFragment.java b/src/com/android/settings/regionalpreferences/RegionPickerFragment.java index b1759f18b84..cf4d9b99ba0 100644 --- a/src/com/android/settings/regionalpreferences/RegionPickerFragment.java +++ b/src/com/android/settings/regionalpreferences/RegionPickerFragment.java @@ -16,8 +16,10 @@ package com.android.settings.regionalpreferences; +import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; +import android.provider.Settings; import androidx.annotation.NonNull; @@ -25,8 +27,10 @@ import com.android.internal.app.LocaleStore; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.flags.Flags; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import java.util.ArrayList; import java.util.List; @@ -44,6 +48,19 @@ public class RegionPickerFragment extends DashboardFragment{ super.onCreate(icicle); } + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + + MetricsFeatureProvider metricsFeatureProvider = + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); + String action = getIntent() != null ? getIntent().getAction() : ""; + if (Settings.ACTION_REGION_SETTINGS.equals(action)) { + metricsFeatureProvider.action( + context, SettingsEnums.ACTION_OPEN_REGION_OUTSIDE_SETTINGS); + } + } + @Override protected int getPreferenceScreenResId() { return R.xml.system_region_picker; @@ -56,7 +73,7 @@ public class RegionPickerFragment extends DashboardFragment{ @Override public int getMetricsCategory() { - return 0; + return SettingsEnums.REGION_SETTINGS; } @Override diff --git a/src/com/android/settings/regionalpreferences/TemperatureUnitFragment.java b/src/com/android/settings/regionalpreferences/TemperatureUnitFragment.java index 7c9b6af81d7..c10323fbd30 100644 --- a/src/com/android/settings/regionalpreferences/TemperatureUnitFragment.java +++ b/src/com/android/settings/regionalpreferences/TemperatureUnitFragment.java @@ -18,11 +18,16 @@ package com.android.settings.regionalpreferences; import android.app.settings.SettingsEnums; import android.content.Context; +import android.provider.Settings; + +import androidx.annotation.NonNull; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; @@ -36,6 +41,19 @@ public class TemperatureUnitFragment extends DashboardFragment { private static final String KEY_PREFERENCE_CATEGORY_TEMPERATURE_UNIT = "temperature_unit_category"; + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + + MetricsFeatureProvider metricsFeatureProvider = + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); + String action = getIntent() != null ? getIntent().getAction() : ""; + if (Settings.ACTION_TEMPERATURE_UNIT_SETTINGS.equals(action)) { + metricsFeatureProvider.action( + context, SettingsEnums.ACTION_OPEN_TEMPERATURE_UNIT_OUTSIDE_SETTINGS); + } + } + @Override protected int getPreferenceScreenResId() { return R.xml.regional_preferences_temperature;