Move settings variables to the settings class

Change-Id: Ifa7033a84b08ea626eb44cf6d04ba8e28c250bea
This commit is contained in:
Jean Chalard 2011-12-08 22:21:26 +09:00
parent 284c8a0449
commit c207e0a7da
3 changed files with 18 additions and 21 deletions

View file

@ -221,11 +221,9 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
private long mLastKeyTime; private long mLastKeyTime;
private AudioManager mAudioManager; private AudioManager mAudioManager;
private float mFxVolume = -1.0f; // default volume
private boolean mSilentModeOn; // System-wide current configuration private boolean mSilentModeOn; // System-wide current configuration
private VibratorCompatWrapper mVibrator; private VibratorCompatWrapper mVibrator;
private long mKeypressVibrationDuration = -1;
// TODO: Move this flag to VoiceProxy // TODO: Move this flag to VoiceProxy
private boolean mConfigurationChanging; private boolean mConfigurationChanging;
@ -550,8 +548,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (null == mSubtypeSwitcher) mSubtypeSwitcher = SubtypeSwitcher.getInstance(); if (null == mSubtypeSwitcher) mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mSettingsValues = new SettingsValues(mPrefs, this, mSubtypeSwitcher.getInputLocaleStr()); mSettingsValues = new SettingsValues(mPrefs, this, mSubtypeSwitcher.getInputLocaleStr());
resetContactsDictionary(null == mSuggest ? null : mSuggest.getContactsDictionary()); resetContactsDictionary(null == mSuggest ? null : mSuggest.getContactsDictionary());
updateSoundEffectVolume();
updateKeypressVibrationDuration();
} }
private void initSuggest() { private void initSuggest() {
@ -2321,11 +2317,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
} }
}; };
// update keypress sound volume
private void updateSoundEffectVolume() {
mFxVolume = SettingsValues.getCurrentKeypressSoundVolume(mPrefs, mResources);
}
// update flags for silent mode // update flags for silent mode
private void updateRingerMode() { private void updateRingerMode() {
if (mAudioManager == null) { if (mAudioManager == null) {
@ -2335,10 +2326,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL); mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL);
} }
private void updateKeypressVibrationDuration() {
mKeypressVibrationDuration = SettingsValues.getCurrentVibrationDuration(mPrefs, mResources);
}
private void playKeyClick(int primaryCode) { private void playKeyClick(int primaryCode) {
// if mAudioManager is null, we don't have the ringer state yet // if mAudioManager is null, we don't have the ringer state yet
// mAudioManager will be set by updateRingerMode // mAudioManager will be set by updateRingerMode
@ -2363,7 +2350,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
sound = AudioManager.FX_KEYPRESS_STANDARD; sound = AudioManager.FX_KEYPRESS_STANDARD;
break; break;
} }
mAudioManager.playSoundEffect(sound, mFxVolume); mAudioManager.playSoundEffect(sound, mSettingsValues.mFxVolume);
} }
} }
@ -2371,7 +2358,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (!mSettingsValues.mVibrateOn) { if (!mSettingsValues.mVibrateOn) {
return; return;
} }
if (mKeypressVibrationDuration < 0) { if (mSettingsValues.mKeypressVibrationDuration < 0) {
// Go ahead with the system default // Go ahead with the system default
LatinKeyboardView inputView = mKeyboardSwitcher.getKeyboardView(); LatinKeyboardView inputView = mKeyboardSwitcher.getKeyboardView();
if (inputView != null) { if (inputView != null) {
@ -2380,7 +2367,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING); HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
} }
} else if (mVibrator != null) { } else if (mVibrator != null) {
mVibrator.vibrate(mKeypressVibrationDuration); mVibrator.vibrate(mSettingsValues.mKeypressVibrationDuration);
} }
} }

View file

@ -543,8 +543,8 @@ public class Settings extends InputMethodSettingsActivity
}); });
final View v = context.getLayoutInflater().inflate( final View v = context.getLayoutInflater().inflate(
R.layout.sound_effect_volume_dialog, null); R.layout.sound_effect_volume_dialog, null);
final int currentVolumeInt = (int)(SettingsValues.getCurrentKeypressSoundVolume( final int currentVolumeInt =
getPreferenceManager().getSharedPreferences(), getResources()) * 100); (int)(SettingsValues.getCurrentKeypressSoundVolume(sp, res) * 100);
mKeypressSoundVolumeSettingsTextView = mKeypressSoundVolumeSettingsTextView =
(TextView)v.findViewById(R.id.sound_effect_volume_value); (TextView)v.findViewById(R.id.sound_effect_volume_value);
final SeekBar sb = (SeekBar)v.findViewById(R.id.sound_effect_volume_bar); final SeekBar sb = (SeekBar)v.findViewById(R.id.sound_effect_volume_bar);

View file

@ -25,7 +25,6 @@ import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils;
import com.android.inputmethod.compat.VibratorCompatWrapper; import com.android.inputmethod.compat.VibratorCompatWrapper;
import com.android.inputmethod.latin.R.array;
import java.util.Arrays; import java.util.Arrays;
import java.util.Locale; import java.util.Locale;
@ -62,6 +61,10 @@ public class SettingsValues {
private final boolean mVoiceKeyEnabled; private final boolean mVoiceKeyEnabled;
private final boolean mVoiceKeyOnMain; private final boolean mVoiceKeyOnMain;
// Deduced settings
public final int mKeypressVibrationDuration;
public final float mFxVolume;
public SettingsValues(final SharedPreferences prefs, final Context context, public SettingsValues(final SharedPreferences prefs, final Context context,
final String localeStr) { final String localeStr) {
final Resources res = context.getResources(); final Resources res = context.getResources();
@ -122,6 +125,9 @@ public class SettingsValues {
mVoiceKeyEnabled = voiceMode != null && !voiceMode.equals(voiceModeOff); mVoiceKeyEnabled = voiceMode != null && !voiceMode.equals(voiceModeOff);
mVoiceKeyOnMain = voiceMode != null && voiceMode.equals(voiceModeMain); mVoiceKeyOnMain = voiceMode != null && voiceMode.equals(voiceModeMain);
mFxVolume = getCurrentKeypressSoundVolume(prefs, res);
mKeypressVibrationDuration = getCurrentVibrationDuration(prefs, res);
LocaleUtils.setSystemLocale(res, savedLocale); LocaleUtils.setSystemLocale(res, savedLocale);
} }
@ -244,7 +250,9 @@ public class SettingsValues {
return mVoiceKeyOnMain; return mVoiceKeyOnMain;
} }
public static float getCurrentKeypressSoundVolume(SharedPreferences sp, Resources res) { // Accessed from the settings interface, hence public
public static float getCurrentKeypressSoundVolume(final SharedPreferences sp,
final Resources res) {
final float volume = sp.getFloat(Settings.PREF_KEYPRESS_SOUND_VOLUME, -1.0f); final float volume = sp.getFloat(Settings.PREF_KEYPRESS_SOUND_VOLUME, -1.0f);
if (volume >= 0) { if (volume >= 0) {
return volume; return volume;
@ -260,7 +268,9 @@ public class SettingsValues {
return -1.0f; return -1.0f;
} }
public static int getCurrentVibrationDuration(SharedPreferences sp, Resources res) { // Likewise
public static int getCurrentVibrationDuration(final SharedPreferences sp,
final Resources res) {
final int ms = sp.getInt(Settings.PREF_KEYPRESS_VIBRATION_DURATION_SETTINGS, -1); final int ms = sp.getInt(Settings.PREF_KEYPRESS_VIBRATION_DURATION_SETTINGS, -1);
if (ms >= 0) { if (ms >= 0) {
return ms; return ms;