diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java index bfe074914ef..43fc9cf0228 100644 --- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java +++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java @@ -16,6 +16,7 @@ package com.android.settings.localepicker; +import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.Canvas; import android.os.Bundle; @@ -38,6 +39,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.internal.app.LocalePicker; import com.android.internal.app.LocaleStore; import com.android.settings.R; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.shortcut.ShortcutsUpdateTask; import java.text.NumberFormat; @@ -225,6 +227,12 @@ class LocaleDragAndDropAdapter "Negative position in onItemMove %d -> %d", fromPosition, toPosition)); } + if (fromPosition != toPosition) { + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() + .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE, + mDragLocale.getLocale().toLanguageTag() + " move to " + toPosition); + } + notifyItemChanged(fromPosition); // to update the numbers notifyItemChanged(toPosition); notifyItemMoved(fromPosition, toPosition); @@ -263,6 +271,9 @@ class LocaleDragAndDropAdapter for (int i = itemCount - 1; i >= 0; i--) { localeInfo = mFeedItemList.get(i); if (localeInfo.getChecked()) { + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() + .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE, + localeInfo.getLocale().toLanguageTag()); mFeedItemList.remove(i); } } diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java index bdda5498033..28f066ab28f 100644 --- a/src/com/android/settings/localepicker/LocaleListEditor.java +++ b/src/com/android/settings/localepicker/LocaleListEditor.java @@ -224,6 +224,8 @@ public class LocaleListEditor extends RestrictedSettingsFragment implements View localeInfo = mayAppendUnicodeTags(localeInfo, preferencesTags); mAdapter.addLocale(localeInfo); updateVisibilityOfRemoveMenu(); + mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_ADD_LANGUAGE, + localeInfo.getLocale().toLanguageTag()); } else if (requestCode == DIALOG_CONFIRM_SYSTEM_DEFAULT) { localeInfo = mAdapter.getFeedItemList().get(0); if (resultCode == Activity.RESULT_OK) { diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java index 0a67824831a..5c42ad9dbfe 100644 --- a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java +++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java @@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; +import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; import android.os.LocaleList; @@ -51,6 +52,7 @@ public class NumberingSystemItemControllerTest { private NumberingPreferencesFragment mFragment; private PreferenceScreen mPreferenceScreen; private LocaleList mCacheLocale; + private FakeFeatureFactory mFeatureFactory; @Before @UiThreadTest @@ -59,6 +61,7 @@ public class NumberingSystemItemControllerTest { Looper.prepare(); } mApplicationContext = ApplicationProvider.getApplicationContext(); + mFeatureFactory = FakeFeatureFactory.setupForTest(); mFragment = spy(new NumberingPreferencesFragment()); PreferenceManager preferenceManager = new PreferenceManager(mApplicationContext); mPreferenceScreen = preferenceManager.createPreferenceScreen(mApplicationContext); @@ -94,6 +97,10 @@ public class NumberingSystemItemControllerTest { } assertTrue(isCallingStartActivity); + verify(mFeatureFactory.metricsFeatureProvider).action( + mApplicationContext, + SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES, + "I_am_the_key"); } @Test @@ -114,6 +121,9 @@ public class NumberingSystemItemControllerTest { mController.handlePreferenceTreeClick(preference); verify(mFragment).setArguments(any()); + verify(mFeatureFactory.metricsFeatureProvider).action( + mApplicationContext, SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES, + "test_key"); } @Test