package net.toload.main.hd.global; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; public class LIMEPreferenceManager { private Context ctx; public LIMEPreferenceManager(Context context){ this.ctx = context; } public String getTableTotalRecords(String table){ table = preProcessTableName(table); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); String records = sp.getString(table + "total_record", ""); if(records.equals("")){ SharedPreferences ssp = ctx.getSharedPreferences(table + "total_record", 0); records = ssp.getString(table + "total_record", ""); if(!records.equals("")) setTableTotalRecords(table, records); } return records; } public void setTableTotalRecords(String table, String records){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "total_record", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString(table + "total_record", records).commit(); } public String getTableVersion(String table){ table = preProcessTableName(table); SharedPreferences sdp = PreferenceManager.getDefaultSharedPreferences(ctx); String version = sdp.getString(table + "mapping_version", ""); // retain mapping_version saved in shared Preference and saved to default reference if(version.equals("")){ SharedPreferences ssp = ctx.getSharedPreferences(table + "mapping_version", 0); version = ssp.getString(table + "mapping_version", ""); if(!version.equals("")) setTableVersion(table, version); } return version; } public void setTableVersion(String table, String version){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "mapping_version", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString(table + "mapping_version", version).commit(); } public String getTableMappingFilename(String table){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "mapping_file", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString(table + "mapping_file", ""); } public void setTableMappingFilename(String table, String filename){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "mapping_file", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString(table + "mapping_file", filename).commit(); } public String getTableMappingTempFilename(String table){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "mapping_file_temp", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString(table + "mapping_file_temp", ""); } public void setTableTempMappingFilename(String table, String filename){ table = preProcessTableName(table); //SharedPreferences sp = ctx.getSharedPreferences(table + "mapping_file_temp", 0); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString(table + "mapping_file_temp", filename).commit(); } public String getTotalUserdictRecords(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); String records = sp.getString("total_userdict_record", "0"); if(records.equals("0") ){ SharedPreferences ssp = ctx.getSharedPreferences("total_userdict_record", 0); records = ssp.getString("total_userdict_record", "0"); if(records.equals("0")) setTotalUserdictRecords(String.valueOf(records)); } return records; } public void setTotalUserdictRecords(String records){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString("total_userdict_record", records).commit(); } public boolean getMappingLoading(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("mapping_loadg", "no").equals("yes"); } public void setMappingLoading(boolean loading){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); String loadingStatus = loading?"yes":"no"; sp.edit().putString("mapping_loadg",loadingStatus).commit(); } public boolean getLanguageMode(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("language_mode", "no").equals("yes"); } public void setLanguageMode(boolean englishOnly){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); String loadingStatus = englishOnly?"yes":"no"; sp.edit().putString("language_mode",loadingStatus).commit(); } public int getMappingFileImportLines(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt( sp.getString( "mapping_import_line", "0")); } public void setMappingFileImportLines(int lines){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString( "mapping_import_line", String.valueOf(lines)).commit(); } public String getRerverseLookupTable(String table){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); if(table.equals("phonetic")){ return sp.getString("bpmf_im_reverselookup", "none"); }else{ return sp.getString(table + "_im_reverselookup", "none"); } } public boolean getFixedCandidateViewDisplay(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("fixed_candidate_view_display", false); } public boolean getDisableSoftwareKeyboard(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("disable_software_keyboard", false); } public boolean getLearnRelatedWord(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("candidate_suggestion", true); } public boolean getLearnPhrase(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("learn_phrase", true); } public boolean getDisablePhysicalSelKeyOption(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("disable_physical_selkey_option", false); } public boolean getEnglishPrediction(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("english_dictionary_enable", true); } public boolean getPhysicalKeyboardEnable(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("physical_keyboard_enable", true); } public boolean getEnglishPredictionOnPhysicalKeyboard(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("english_dictionary_physical_keyboard", false); } public boolean getSortSuggestions(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("learning_switch", true); } public boolean getPhysicalKeyboardSortSuggestions(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("physical_keyboard_sort", true); } public boolean getSimiliarEnable(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("similiar_enable", true); } public boolean getSelectDefaultOnSliding(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("candidate_switch", true); } public boolean getVibrateOnKeyPressed(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("vibrate_on_keypress", false); } public boolean getSoundOnKeyPressed(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("sound_on_keypress", false); } public boolean getPersistentLanguageMode(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("persistent_language_mode", false); } public boolean getShowNumberRowInEnglish(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("number_row_in_english", false); } public String getIMActivatedState(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("keyboard_state", "0;1;2;3;4;5;6;7;8;9;10;11;12"); } public void setIMActivatedState(String state){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString( "keyboard_state", String.valueOf(state)).commit(); } public String getActiveIM(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("keyboard_list", "phonetic"); } public void setActiveIM(String activeIM){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString( "keyboard_list", String.valueOf(activeIM)).commit(); } public boolean getThreerowRemapping(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("three_rows_remapping", false); } public String getPhysicalKeyboardType(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("physical_keyboard_type", "normal_keyboard"); } public int getAutoCommitValue(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("auto_commit", "0")); } public String getPhoneticKeyboardType(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString("phonetic_keyboard_type", "standard"); } public boolean getAutoCaptalization(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("auto_cap", true); } public boolean getQuickFixes(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("quick_fixes", true); } public boolean getAutoComplete(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("auto_complete", true); } public boolean getDisablePhysicalSelkey(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("disable_physical_selkey", false); } public Integer getHanCovertOption(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("han_convert_option", "0")); } public void setHanCovertOption(int value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString( "han_convert_option", String.valueOf(value)).commit(); } public Integer getSelkeyOption(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("selkey_option", "0")); } public Integer getSimilarCodeCandidates(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("similiar_list", "20")); } public float getFontSize(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Float.parseFloat(sp.getString("font_size", "1")); } public float getKeyboardSize(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Float.parseFloat(sp.getString("keyboard_size", "1")); } public boolean getAutoChineseSymbol(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("auto_chinese_symbol", false); } public Integer getVibrateLevel(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("vibrate_level", "40")); } public boolean getShowNumberKeypard(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("display_number_keypads", false); } public boolean getAllowNumberMapping(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("accept_number_index", false); } public boolean getAllowSymoblMapping(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("accept_symbol_index", false); } public boolean getSwitchEnglishModeHotKey(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("switch_english_mode", false); } public boolean getAutoHideSoftKeyboard(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("hide_software_keyboard_typing_with_physical", true); } public int getShowArrowKeys(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("show_arrow_key", "0")); } public void setShowArrowKeys(int mode){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString("show_arrow_key", Integer.toString(mode)).commit(); } public int getSplitKeyboard(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return Integer.parseInt(sp.getString("split_keyboard_mode", "0")); } public void setSplitKeyboard(int mode){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString("split_keyboard_mode", Integer.toString(mode)).commit(); } public boolean getResetCacheFlag(boolean defaultvalue){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean("searchsrv_reset_cache", defaultvalue); } public void setResetCacheFlag(boolean value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putBoolean("searchsrv_reset_cache", value).commit(); } /* * INT Parameter SET/GET */ public void setParameter(String label, int value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putInt(label, value).commit(); } public int getParameterInt(String label){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getInt(label, 0); } public int getParameterInt(String label, int defaultvalue){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getInt(label, defaultvalue); } /* * LONG Parameter SET/GET */ public long getParameterLong(String label, long defaultvalue){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getLong(label, defaultvalue); } public long getParameterLong(String label){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getLong(label, 0); } public void setParameter(String label, long value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putLong(label, value).commit(); } /* * String Parameter SET/GET */ public void setParameter(String label, String value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putString(label, value).commit(); } public String getParameterString(String label){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString(label, ""); } public String getParameterString(String label, String defaultstring){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getString(label, defaultstring); } /* * Boolean Parameter SET/GET */ public void setParameter(String label, boolean value){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); sp.edit().putBoolean(label, value).commit(); } public boolean getParameterBoolean(String label){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean(label, false); } public boolean getParameterBoolean(String label, boolean defaultvalue){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); return sp.getBoolean(label, defaultvalue); } private String preProcessTableName(String table){ if(table.endsWith("_")|| table.equals("")){ return table; // processed already. }else if(table.equals("phonetic")) { return "bpmf_"; }else if(table.equals("mapping")||table.equals("lime") || table.equals("phone") ){ return ""; }else{ return table+"_"; } } }