[Settings] UI part: Add metrics for numbers preferences
Bug: 275003276 Test: local test Change-Id: I2455252f3ed7f5355a363a79076113bd4452732d
This commit is contained in:
@@ -34,18 +34,22 @@ import com.android.internal.app.LocaleStore;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.TickButtonPreference;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/** Uses to control the preference UI of numbering system page. */
|
||||
public class NumberingSystemItemController extends BasePreferenceController {
|
||||
private static final String TAG = NumberingSystemItemController.class.getSimpleName();
|
||||
private static final String DISPLAY_KEYWORD_NUMBERING_SYSTEM = "numbers";
|
||||
|
||||
static final String ARG_VALUE_NUMBERING_SYSTEM_SELECT = "arg_value_numbering_system_select";
|
||||
static final String ARG_VALUE_LANGUAGE_SELECT = "arg_value_language_select";
|
||||
static final String KEY_SELECTED_LANGUAGE = "key_selected_language";
|
||||
private static final String DISPLAY_KEYWORD_NUMBERING_SYSTEM = "numbers";
|
||||
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private String mOption = "";
|
||||
private String mSelectedLanguage = "";
|
||||
@@ -60,6 +64,7 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE, "");
|
||||
mSelectedLanguage = argument.getString(
|
||||
NumberingSystemItemController.KEY_SELECTED_LANGUAGE, "");
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,10 +151,13 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
}
|
||||
|
||||
private void handleLanguageSelect(Preference preference) {
|
||||
String selectedLanguage = preference.getKey();
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES, selectedLanguage);
|
||||
final Bundle extra = new Bundle();
|
||||
extra.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
|
||||
ARG_VALUE_NUMBERING_SYSTEM_SELECT);
|
||||
extra.putString(KEY_SELECTED_LANGUAGE, preference.getKey());
|
||||
extra.putString(KEY_SELECTED_LANGUAGE, selectedLanguage);
|
||||
new SubSettingLauncher(preference.getContext())
|
||||
.setDestination(NumberingPreferencesFragment.class.getName())
|
||||
.setSourceMetricsCategory(
|
||||
@@ -163,13 +171,15 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(i);
|
||||
Log.i(TAG, "[onPreferenceClick] key is " + pref.getKey());
|
||||
if (pref.getKey().equals(preference.getKey())) {
|
||||
String numberingSystem = pref.getKey();
|
||||
pref.setSelected(true);
|
||||
Locale updatedLocale =
|
||||
saveNumberingSystemToLocale(
|
||||
Locale.forLanguageTag(mSelectedLanguage), pref.getKey());
|
||||
|
||||
saveNumberingSystemToLocale(Locale.forLanguageTag(mSelectedLanguage),
|
||||
numberingSystem);
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES, numberingSystem);
|
||||
// After updated locale to framework, this fragment will recreate,
|
||||
// so it need to update the argement of selected language.
|
||||
// so it needs to update the argument of selected language.
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
|
||||
ARG_VALUE_NUMBERING_SYSTEM_SELECT);
|
||||
|
Reference in New Issue
Block a user