Merge "Rollback language source metrics" into udc-qpr-dev

This commit is contained in:
Allen Su
2023-08-25 05:17:14 +00:00
committed by Android (Google) Code Review
2 changed files with 0 additions and 75 deletions

View File

@@ -18,7 +18,6 @@ package com.android.settings.localepicker;
import android.app.FragmentTransaction; import android.app.FragmentTransaction;
import android.app.LocaleManager; import android.app.LocaleManager;
import android.app.settings.SettingsEnums;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@@ -38,22 +37,15 @@ import com.android.settings.R;
import com.android.settings.applications.AppLocaleUtil; import com.android.settings.applications.AppLocaleUtil;
import com.android.settings.applications.appinfo.AppLocaleDetails; import com.android.settings.applications.appinfo.AppLocaleDetails;
import com.android.settings.core.SettingsBaseActivity; import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class AppLocalePickerActivity extends SettingsBaseActivity public class AppLocalePickerActivity extends SettingsBaseActivity
implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener { implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener {
private static final String TAG = AppLocalePickerActivity.class.getSimpleName(); private static final String TAG = AppLocalePickerActivity.class.getSimpleName();
private static final int SIM_LOCALE = 1 << 0;
private static final int SYSTEM_LOCALE = 1 << 1;
private static final int APP_LOCALE = 1 << 2;
private static final int IME_LOCALE = 1 << 3;
private String mPackageName; private String mPackageName;
private LocalePickerWithRegion mLocalePickerWithRegion; private LocalePickerWithRegion mLocalePickerWithRegion;
private AppLocaleDetails mAppLocaleDetails; private AppLocaleDetails mAppLocaleDetails;
private View mAppLocaleDetailContainer; private View mAppLocaleDetailContainer;
private MetricsFeatureProvider mMetricsFeatureProvider;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
@@ -79,7 +71,6 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
setTitle(R.string.app_locale_picker_title); setTitle(R.string.app_locale_picker_title);
getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);
mMetricsFeatureProvider = FeatureFactory.getFactory(this).getMetricsFeatureProvider();
mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker( mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker(
this, this,
@@ -108,7 +99,6 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
if (localeInfo == null || localeInfo.getLocale() == null || localeInfo.isSystemLocale()) { if (localeInfo == null || localeInfo.getLocale() == null || localeInfo.isSystemLocale()) {
setAppDefaultLocale(""); setAppDefaultLocale("");
} else { } else {
logLocaleSource(localeInfo);
setAppDefaultLocale(localeInfo.getLocale().toLanguageTag()); setAppDefaultLocale(localeInfo.getLocale().toLanguageTag());
} }
finish(); finish();
@@ -187,32 +177,4 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
return false; return false;
} }
private void logLocaleSource(LocaleStore.LocaleInfo localeInfo) {
if (!localeInfo.isSuggested() || localeInfo.isAppCurrentLocale()) {
return;
}
int localeSource = 0;
if (hasSuggestionType(localeInfo,
LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)) {
localeSource |= SYSTEM_LOCALE;
}
if (hasSuggestionType(localeInfo,
LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)) {
localeSource |= APP_LOCALE;
}
if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)) {
localeSource |= IME_LOCALE;
}
if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)) {
localeSource |= SIM_LOCALE;
}
mMetricsFeatureProvider.action(this,
SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED, localeSource);
}
private static boolean hasSuggestionType(LocaleStore.LocaleInfo localeInfo,
int suggestionType) {
return localeInfo.isSuggestionOfType(suggestionType);
}
} }

View File

@@ -18,8 +18,6 @@ package com.android.settings.localepicker;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
@@ -29,7 +27,6 @@ import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.app.ApplicationPackageManager; import android.app.ApplicationPackageManager;
import android.app.LocaleConfig; import android.app.LocaleConfig;
import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
@@ -48,7 +45,6 @@ import androidx.annotation.ArrayRes;
import com.android.internal.app.LocaleStore; import com.android.internal.app.LocaleStore;
import com.android.settings.applications.AppInfoBase; import com.android.settings.applications.AppInfoBase;
import com.android.settings.applications.AppLocaleUtil; import com.android.settings.applications.AppLocaleUtil;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@@ -83,7 +79,6 @@ import java.util.Locale;
public class AppLocalePickerActivityTest { public class AppLocalePickerActivityTest {
private static final String TEST_PACKAGE_NAME = "com.android.settings"; private static final String TEST_PACKAGE_NAME = "com.android.settings";
private static final Uri TEST_PACKAGE_URI = Uri.parse("package:" + TEST_PACKAGE_NAME); private static final Uri TEST_PACKAGE_URI = Uri.parse("package:" + TEST_PACKAGE_NAME);
private FakeFeatureFactory mFeatureFactory;
@Mock @Mock
LocaleStore.LocaleInfo mLocaleInfo; LocaleStore.LocaleInfo mLocaleInfo;
@@ -104,7 +99,6 @@ public class AppLocalePickerActivityTest {
when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_SUCCESS); when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_SUCCESS);
when(mLocaleConfig.getSupportedLocales()).thenReturn(LocaleList.forLanguageTags("en-US")); when(mLocaleConfig.getSupportedLocales()).thenReturn(LocaleList.forLanguageTags("en-US"));
ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", mLocaleConfig); ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", mLocaleConfig);
mFeatureFactory = FakeFeatureFactory.setupForTest();
} }
@After @After
@@ -216,37 +210,6 @@ public class AppLocalePickerActivityTest {
assertThat(controller.get().isFinishing()).isTrue(); assertThat(controller.get().isFinishing()).isTrue();
} }
@Test
public void onLocaleSelected_logLocaleSource() {
ActivityController<TestAppLocalePickerActivity> controller =
initActivityController(true);
LocaleList.setDefault(LocaleList.forLanguageTags("ja-JP,en-CA,en-US"));
Locale locale = new Locale("en", "US");
when(mLocaleInfo.getLocale()).thenReturn(locale);
when(mLocaleInfo.isSystemLocale()).thenReturn(false);
when(mLocaleInfo.isSuggested()).thenReturn(true);
when(mLocaleInfo.isSuggestionOfType(LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)).thenReturn(
true);
when(mLocaleInfo.isSuggestionOfType(
LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)).thenReturn(
true);
when(mLocaleInfo.isSuggestionOfType(
LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)).thenReturn(
true);
when(mLocaleInfo.isSuggestionOfType(
LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)).thenReturn(
true);
controller.create();
AppLocalePickerActivity mActivity = controller.get();
mActivity.onLocaleSelected(mLocaleInfo);
int localeSource = 15; // SIM_LOCALE | SYSTEM_LOCALE |IME_LOCALE|APP_LOCALE
verify(mFeatureFactory.metricsFeatureProvider).action(
any(), eq(SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED),
eq(localeSource));
}
private ActivityController<TestAppLocalePickerActivity> initActivityController( private ActivityController<TestAppLocalePickerActivity> initActivityController(
boolean hasPackageName) { boolean hasPackageName) {
Intent data = new Intent(); Intent data = new Intent();