Skip to content

Commit

Permalink
[Android] Move LanguageSettings to //chrome/browser/language
Browse files Browse the repository at this point in the history
This CL moves LangaugeSettings.java and the associated XML files out of
//chrome/android to the //chrome/browser/language module.

There are no UI changes from this CL.  A follow up CL will move the
language related tests to //chrome/browser/language.

Bug: 1124096
Change-Id: I86c5be7f79c38989342cf3c6d31d8f689f5181c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2728885
Reviewed-by: Josh Simmons <jds@google.com>
Reviewed-by: Theresa  <twellington@chromium.org>
Commit-Queue: Trevor  Perrier <perrier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#859168}
  • Loading branch information
Trevor Perrier authored and Chromium LUCI CQ committed Mar 2, 2021
1 parent 0f38aff commit f3c257e
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 10 deletions.
1 change: 0 additions & 1 deletion chrome/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -1104,7 +1104,6 @@ android_library("chrome_test_java") {
"//chrome/browser/incognito/interstitial/android:javatests",
"//chrome/browser/language/android:base_module_java",
"//chrome/browser/language/android:java",
"//chrome/browser/language/android:java_resources",
"//chrome/browser/offline_pages/android:java",
"//chrome/browser/omaha/android:java",
"//chrome/browser/optimization_guide/android:java",
Expand Down
2 changes: 0 additions & 2 deletions chrome/android/chrome_java_resources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -930,8 +930,6 @@ chrome_java_resources = [
"java/res/xml/do_not_track_preferences.xml",
"java/res/xml/google_services_preferences.xml",
"java/res/xml/homepage_preferences.xml",
"java/res/xml/languages_detailed_preferences.xml",
"java/res/xml/languages_preferences.xml",
"java/res/xml/legal_information_preferences.xml",
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
Expand Down
1 change: 0 additions & 1 deletion chrome/android/chrome_java_sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java",
"java/src/org/chromium/chrome/browser/javascript/WebContextFetcher.java",
"java/src/org/chromium/chrome/browser/language/LanguageAskPrompt.java",
"java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java",
"java/src/org/chromium/chrome/browser/lens/LensController.java",
"java/src/org/chromium/chrome/browser/lens/LensEntryPoint.java",
"java/src/org/chromium/chrome/browser/lens/LensFeature.java",
Expand Down
4 changes: 4 additions & 0 deletions chrome/browser/language/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/language/settings/LanguageItemPickerPreference.java",
"java/src/org/chromium/chrome/browser/language/settings/LanguageListBaseAdapter.java",
"java/src/org/chromium/chrome/browser/language/settings/LanguageListPreference.java",
"java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java",
"java/src/org/chromium/chrome/browser/language/settings/LanguagesManager.java",

# Todo(https://crbug.com/1176981): Remove cyclical dependancy with Translate bridge.
Expand All @@ -39,6 +40,7 @@ android_library("java") {
"//chrome/browser/flags:java",
"//chrome/browser/preferences:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/settings:java",
"//chrome/browser/tab:java",
"//components/browser_ui/settings/android:java",
"//components/browser_ui/widget/android:java",
Expand Down Expand Up @@ -72,6 +74,8 @@ android_resources("java_resources") {
"java/res/layout/languages_preference.xml",
"java/res/layout/preference_category_no_title_or_padding.xml",
"java/res/menu/languages_action_bar_menu.xml",
"java/res/xml/languages_detailed_preferences.xml",
"java/res/xml/languages_preferences.xml",
]
deps = [
"//chrome/browser/ui/android/strings:ui_strings_grd",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@
import androidx.preference.PreferenceFragmentCompat;

import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.language.AppLocaleUtils;
import org.chromium.chrome.browser.language.R;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.translate.TranslateBridge;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.prefs.PrefService;
Expand All @@ -37,8 +37,8 @@
* Settings fragment that displays information about Chrome languages, which allow users to
* seamlessly find and manage their languages preferences across platforms.
*/
public class LanguageSettings
extends PreferenceFragmentCompat implements AddLanguageFragment.Launcher {
public class LanguageSettings extends PreferenceFragmentCompat
implements AddLanguageFragment.Launcher, FragmentSettingsLauncher {
// Default number of items to list in a collection preference summary.
private static final int COLLECTION_SUMMARY_ITEM_LIMIT = 3;

Expand All @@ -58,6 +58,9 @@ public class LanguageSettings
static final String TARGET_LANGUAGE_KEY = "translate_settings_target_language";
static final String ALWAYS_LANGUAGES_KEY = "translate_settings_always_languages";

// SettingsLauncher injected from main Settings Activity.
private SettingsLauncher mSettingsLauncher;

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getActivity().setTitle(R.string.language_settings);
Expand Down Expand Up @@ -242,6 +245,15 @@ public void launchAddLanguage() {
REQUEST_CODE_ADD_ACCEPT_LANGUAGE);
}

/**
* Overrides FragmentSettingsLauncher.setSettingsLauncher to inject the App SettingsLauncher.
* @param settingsLauncher App SettingsLauncher instance.
*/
@Override
public void setSettingsLauncher(SettingsLauncher settingsLauncher) {
mSettingsLauncher = settingsLauncher;
}

/**
* Set preference's OnPreferenceClickListener to launch the Select Language Fragment.
* @param Preference preference The Preference to set listener on.
Expand All @@ -267,8 +279,7 @@ public boolean onPreferenceClick(Preference preference) {
* @param int requestCode The code to return from the select language fragment with.
*/
private void launchSelectLanguage(int launchCode, int requestCode) {
SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
Intent intent = settingsLauncher.createSettingsActivityIntent(
Intent intent = mSettingsLauncher.createSettingsActivityIntent(
getActivity(), AddLanguageFragment.class.getName());
intent.putExtra(AddLanguageFragment.INTENT_LANGUAGE_OPTIONS, launchCode);
startActivityForResult(intent, requestCode);
Expand Down

0 comments on commit f3c257e

Please sign in to comment.