OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.preferences.website; | 5 package org.chromium.chrome.browser.preferences.website; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.os.Bundle; | 8 import android.os.Bundle; |
9 import android.preference.Preference; | 9 import android.preference.Preference; |
10 import android.preference.Preference.OnPreferenceChangeListener; | 10 import android.preference.Preference.OnPreferenceChangeListener; |
| 11 import android.preference.Preference.OnPreferenceClickListener; |
11 import android.preference.PreferenceFragment; | 12 import android.preference.PreferenceFragment; |
12 import android.view.Menu; | 13 import android.view.Menu; |
13 import android.view.MenuInflater; | 14 import android.view.MenuInflater; |
14 import android.view.MenuItem; | 15 import android.view.MenuItem; |
15 | 16 |
16 import org.chromium.chrome.R; | 17 import org.chromium.chrome.R; |
17 import org.chromium.chrome.browser.help.HelpAndFeedback; | 18 import org.chromium.chrome.browser.help.HelpAndFeedback; |
18 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; | 19 import org.chromium.chrome.browser.preferences.ButtonPreference; |
| 20 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
19 import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate; | 21 import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate; |
20 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 22 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
21 import org.chromium.chrome.browser.profiles.Profile; | 23 import org.chromium.chrome.browser.profiles.Profile; |
22 import org.chromium.ui.widget.Toast; | 24 import org.chromium.ui.widget.Toast; |
23 | 25 |
24 /** | 26 /** |
25 * Fragment to keep track of the translate preferences. | 27 * Fragment to keep track of the translate preferences. |
26 */ | 28 */ |
27 public class LanguagePreferences extends PreferenceFragment { | 29 public class TranslatePreferences extends PreferenceFragment { |
28 | 30 |
29 private static final String PREF_TRANSLATE_CHECKBOX = "translate_checkbox"; | 31 public static final String PREF_TRANSLATE_SWITCH = "translate_switch"; |
30 public static final String PREF_AUTO_DETECT_CHECKBOX = "auto_detect_encoding
_checkbox"; | 32 public static final String PREF_RESET_TRANSLATE_BUTTON = "reset_translate_bu
tton"; |
31 | 33 |
32 @Override | 34 @Override |
33 public void onCreate(Bundle savedInstanceState) { | 35 public void onCreate(Bundle savedInstanceState) { |
34 super.onCreate(savedInstanceState); | 36 super.onCreate(savedInstanceState); |
35 addPreferencesFromResource(R.xml.language_preferences); | 37 addPreferencesFromResource(R.xml.translate_preferences); |
36 getActivity().setTitle(R.string.language); | 38 getActivity().setTitle(R.string.google_translate); |
37 setHasOptionsMenu(true); | 39 setHasOptionsMenu(true); |
38 | 40 |
39 final Context context = getActivity(); | 41 final Context context = getActivity(); |
40 if (context == null) return; | 42 if (context == null) return; |
41 | 43 |
42 ChromeBaseCheckBoxPreference translateCheckBox = | 44 ChromeSwitchPreference translateSwitch = |
43 (ChromeBaseCheckBoxPreference) findPreference(PREF_TRANSLATE_CHE
CKBOX); | 45 (ChromeSwitchPreference) findPreference(PREF_TRANSLATE_SWITCH); |
44 | 46 |
45 boolean isTranslateEnabled = PrefServiceBridge.getInstance().isTranslate
Enabled(); | 47 boolean isTranslateEnabled = PrefServiceBridge.getInstance().isTranslate
Enabled(); |
46 translateCheckBox.setChecked(isTranslateEnabled); | 48 translateSwitch.setChecked(isTranslateEnabled); |
47 | 49 |
48 translateCheckBox.setOnPreferenceChangeListener(new OnPreferenceChangeLi
stener() { | 50 translateSwitch.setOnPreferenceChangeListener(new OnPreferenceChangeList
ener() { |
49 @Override | 51 @Override |
50 public boolean onPreferenceChange(Preference preference, Object newV
alue) { | 52 public boolean onPreferenceChange(Preference preference, Object newV
alue) { |
51 PrefServiceBridge.getInstance().setTranslateEnabled((boolean) ne
wValue); | 53 PrefServiceBridge.getInstance().setTranslateEnabled((boolean) ne
wValue); |
52 return true; | 54 return true; |
53 } | 55 } |
54 }); | 56 }); |
55 translateCheckBox.setManagedPreferenceDelegate(new ManagedPreferenceDele
gate() { | 57 translateSwitch.setManagedPreferenceDelegate(new ManagedPreferenceDelega
te() { |
56 @Override | 58 @Override |
57 public boolean isPreferenceControlledByPolicy(Preference preference)
{ | 59 public boolean isPreferenceControlledByPolicy(Preference preference)
{ |
58 return PrefServiceBridge.getInstance().isTranslateManaged(); | 60 return PrefServiceBridge.getInstance().isTranslateManaged(); |
59 } | 61 } |
60 }); | 62 }); |
61 | 63 |
62 ChromeBaseCheckBoxPreference autoDetectCheckBox = | 64 ButtonPreference resetTranslateButton = (ButtonPreference) |
63 (ChromeBaseCheckBoxPreference) findPreference(PREF_AUTO_DETECT_C
HECKBOX); | 65 findPreference(PREF_RESET_TRANSLATE_BUTTON); |
64 | 66 |
65 boolean isAutoDetectEncodingEnabled = | 67 resetTranslateButton.setOnPreferenceClickListener(new OnPreferenceClickL
istener(){ |
66 PrefServiceBridge.getInstance().isAutoDetectEncodingEnabled(); | |
67 autoDetectCheckBox.setChecked(isAutoDetectEncodingEnabled); | |
68 | |
69 autoDetectCheckBox.setOnPreferenceChangeListener(new OnPreferenceChangeL
istener() { | |
70 @Override | 68 @Override |
71 public boolean onPreferenceChange(Preference preference, Object newV
alue) { | 69 public boolean onPreferenceClick(Preference preference) { |
72 PrefServiceBridge.getInstance().setAutoDetectEncodingEnabled((bo
olean) newValue); | 70 PrefServiceBridge.getInstance().resetTranslateDefaults(); |
| 71 Toast.makeText(getActivity(), getString( |
| 72 R.string.translate_prefs_toast_description), |
| 73 Toast.LENGTH_SHORT).show(); |
73 return true; | 74 return true; |
74 } | 75 } |
75 }); | 76 }); |
| 77 |
76 } | 78 } |
77 | 79 |
78 @Override | 80 @Override |
79 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { | 81 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { |
80 menu.clear(); | 82 menu.clear(); |
81 MenuItem help = menu.add( | 83 MenuItem help = menu.add( |
82 Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_
help); | 84 Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_
help); |
83 help.setIcon(R.drawable.ic_help_and_feedback); | 85 help.setIcon(R.drawable.ic_help_and_feedback); |
84 help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); | 86 help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); |
85 | 87 |
(...skipping 11 matching lines...) Expand all Loading... |
97 } else if (itemId == R.id.menu_id_reset) { | 99 } else if (itemId == R.id.menu_id_reset) { |
98 PrefServiceBridge.getInstance().resetTranslateDefaults(); | 100 PrefServiceBridge.getInstance().resetTranslateDefaults(); |
99 Toast.makeText(getActivity(), getString( | 101 Toast.makeText(getActivity(), getString( |
100 R.string.translate_prefs_toast_description), | 102 R.string.translate_prefs_toast_description), |
101 Toast.LENGTH_SHORT).show(); | 103 Toast.LENGTH_SHORT).show(); |
102 return true; | 104 return true; |
103 } | 105 } |
104 return false; | 106 return false; |
105 } | 107 } |
106 } | 108 } |
OLD | NEW |