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