LatinIME/src/com/android/inputmethod/latin/LatinIMESettings.java

76 lines
3.0 KiB
Java

/*
* Copyright (C) 2008-2009 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.android.inputmethod.latin;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
public class LatinIMESettings extends PreferenceActivity
implements OnSharedPreferenceChangeListener{
private static final String CORRECTION_MODE_KEY = "prediction_mode";
private static final String PREDICTION_SETTINGS_KEY = "prediction_settings";
private static final String PREDICTION_LANDSCAPE_KEY = "prediction_landscape";
private ListPreference mCorrectionMode;
private PreferenceGroup mPredictionSettings;
private Preference mPredictionLandscape;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.prefs);
mCorrectionMode = (ListPreference) findPreference(CORRECTION_MODE_KEY);
mPredictionSettings = (PreferenceGroup) findPreference(PREDICTION_SETTINGS_KEY);
mPredictionLandscape = findPreference(PREDICTION_LANDSCAPE_KEY);
updatePredictionSettings();
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
protected void onDestroy() {
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
super.onDestroy();
}
private void updatePredictionSettings() {
if (mCorrectionMode != null && mPredictionSettings != null) {
String correctionMode = mCorrectionMode.getValue();
if (correctionMode.equals(getResources().getString(R.string.prediction_none))) {
mPredictionSettings.setEnabled(false);
} else {
mPredictionSettings.setEnabled(true);
boolean suggestionsInLandscape =
!correctionMode.equals(getResources().getString(R.string.prediction_full));
mPredictionLandscape.setEnabled(suggestionsInLandscape);
}
}
}
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals(CORRECTION_MODE_KEY)) {
updatePredictionSettings();
}
}
}