Program: 157502
Project: 157502
Buggy source:
public void onSharedPreferenceChanged(SharedPreferences sp,String key){
  Log.i(TAG,"String_Node_Str");
  mFirstAppVersionInstalled=sp.getInt(mContext.getString(R.string.settings_key_first_app_version_installed),0);
  mFirstTimeAppInstalled=sp.getLong(mContext.getString(R.string.settings_key_first_time_app_installed),0);
  mFirstTimeCurrentVersionInstalled=sp.getLong(mContext.getString(R.string.settings_key_first_time_current_version_installed),0);
  mDomainText=sp.getString("String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mDomainText);
  mShowKeyPreview=sp.getBoolean(mContext.getString(R.string.settings_key_key_press_shows_preview_popup),mContext.getResources().getBoolean(R.bool.settings_default_key_press_shows_preview_popup));
  Log.d(TAG,"String_Node_Str" + mShowKeyPreview);
  mKeyPreviewAboveKey=sp.getString(mContext.getString(R.string.settings_key_key_press_preview_popup_position),mContext.getString(R.string.settings_default_key_press_preview_popup_position)).equals("String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mKeyPreviewAboveKey);
  mShowKeyboardNameText=sp.getBoolean(mContext.getString(R.string.settings_key_show_keyboard_name_text_key),mContext.getResources().getBoolean(R.bool.settings_default_show_keyboard_name_text_value));
  Log.d(TAG,"String_Node_Str" + mShowKeyboardNameText);
  mShowHintTextOnKeys=sp.getBoolean(mContext.getString(R.string.settings_key_show_hint_text_key),mContext.getResources().getBoolean(R.bool.settings_default_show_hint_text_value));
  Log.d(TAG,"String_Node_Str" + mShowHintTextOnKeys);
  mUseCustomHintAlign=sp.getBoolean(mContext.getString(R.string.settings_key_use_custom_hint_align_key),mContext.getResources().getBoolean(R.bool.settings_default_use_custom_hint_align_value));
  Log.d(TAG,"String_Node_Str" + mUseCustomHintAlign);
  mCustomHintAlign=getIntFromString(sp,mContext.getString(R.string.settings_key_custom_hint_align_key),mContext.getString(R.string.settings_default_custom_hint_align_value));
  Log.d(TAG,"String_Node_Str" + mCustomHintAlign);
  mCustomHintVAlign=getIntFromString(sp,mContext.getString(R.string.settings_key_custom_hint_valign_key),mContext.getString(R.string.settings_default_custom_hint_valign_value));
  Log.d(TAG,"String_Node_Str" + mCustomHintVAlign);
  mSwitchKeyboardOnSpace=sp.getBoolean("String_Node_Str",false);
  Log.d(TAG,"String_Node_Str" + mSwitchKeyboardOnSpace);
  mUseFullScreenInputInLandscape=sp.getBoolean(mContext.getString(R.string.settings_key_landscape_fullscreen),mContext.getResources().getBoolean(R.bool.settings_default_landscape_fullscreen));
  Log.d(TAG,"String_Node_Str" + mUseFullScreenInputInLandscape);
  mUseFullScreenInputInPortrait=sp.getBoolean(mContext.getString(R.string.settings_key_portrait_fullscreen),mContext.getResources().getBoolean(R.bool.settings_default_portrait_fullscreen));
  Log.d(TAG,"String_Node_Str" + mUseFullScreenInputInPortrait);
  mUseKeyRepeat=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mUseKeyRepeat);
  mKeysHeightFactorInPortrait=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_portrait_keyboard_height_factor));
  Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  if (mKeysHeightFactorInPortrait > 2.0f) {
    mKeysHeightFactorInPortrait=2.0f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
  mKeysHeightFactorInLandscape=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_landscape_keyboard_height_factor));
  Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  if (mKeysHeightFactorInLandscape > 2.0f) {
    mKeysHeightFactorInLandscape=2.0f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
  mInsertSpaceAfterCandidatePick=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mInsertSpaceAfterCandidatePick);
  mSwipeUpKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeUpKeyCode);
  mSwipeUpFromSpacebarKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeUpFromSpacebarKeyCode);
  mSwipeDownKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeDownKeyCode);
  mSwipeLeftKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeLeftKeyCode);
  mSwipeRightKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeRightKeyCode);
  mPinchKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mPinchKeyCode);
  mSeparateKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSeparateKeyCode);
  mActionKeyInvisibleWhenRequested=sp.getBoolean("String_Node_Str",false);
  Log.d(TAG,"String_Node_Str" + mActionKeyInvisibleWhenRequested);
  mIsDoubleSpaceChangesToPeroid=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mIsDoubleSpaceChangesToPeroid);
  mShouldPopupForLanguageSwitch=sp.getBoolean(mContext.getString(R.string.settings_key_lang_key_shows_popup),mContext.getResources().getBoolean(R.bool.settings_default_lang_key_shows_popup));
  Log.d(TAG,"String_Node_Str" + mShouldPopupForLanguageSwitch);
  mHideSoftKeyboardWhenPhysicalKeyPressed=sp.getBoolean(mContext.getString(R.string.settings_key_hide_soft_when_physical),mContext.getResources().getBoolean(R.bool.settings_default_hide_soft_when_physical));
  Log.d(TAG,"String_Node_Str" + mHideSoftKeyboardWhenPhysicalKeyPressed);
  mShowVersionNotification=sp.getBoolean(mContext.getString(R.string.settings_key_show_version_notification),mContext.getResources().getBoolean(R.bool.settings_default_show_version_notification));
  Log.d(TAG,"String_Node_Str" + mShowVersionNotification);
  mShowTipsNotification=sp.getBoolean(mContext.getString(R.string.settings_key_show_tips_notification),mContext.getResources().getBoolean(R.bool.settings_default_show_tips_notification));
  Log.d(TAG,"String_Node_Str" + mShowTipsNotification);
  mUse16KeysSymbolsKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_use_16_keys_symbols_keyboards),mContext.getResources().getBoolean(R.bool.settings_default_use_16_keys_symbols_keyboards));
  Log.d(TAG,"String_Node_Str" + mUse16KeysSymbolsKeyboard);
  mUseBackword=sp.getBoolean(mContext.getString(R.string.settings_key_use_backword),mContext.getResources().getBoolean(R.bool.settings_default_use_backword));
  Log.d(TAG,"String_Node_Str" + mUseBackword);
  mCycleOverAllSymbolsKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_cycle_all_symbols),mContext.getResources().getBoolean(R.bool.settings_default_cycle_all_symbols));
  Log.d(TAG,"String_Node_Str" + mCycleOverAllSymbolsKeyboard);
  mUseCameraKeyForBackspaceBackword=sp.getBoolean(mContext.getString(R.string.settings_key_use_camera_key_for_backspace_backword),mContext.getResources().getBoolean(R.bool.settings_default_use_camera_key_for_backspace_backword));
  Log.d(TAG,"String_Node_Str" + mUseCameraKeyForBackspaceBackword);
  mUseVolumeKeyForLeftRight=sp.getBoolean(mContext.getString(R.string.settings_key_use_volume_key_for_left_right),mContext.getResources().getBoolean(R.bool.settings_default_use_volume_key_for_left_right));
  Log.d(TAG,"String_Node_Str" + mUseVolumeKeyForLeftRight);
  mUseContactsDictionary=sp.getBoolean(mContext.getString(R.string.settings_key_use_contacts_dictionary),mContext.getResources().getBoolean(R.bool.settings_default_contacts_dictionary));
  Log.d(TAG,"String_Node_Str" + mUseContactsDictionary);
  mAutoDictionaryInsertionThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_auto_dictionary_threshold),mContext.getString(R.string.settings_default_auto_dictionary_add_threshold));
  Log.d(TAG,"String_Node_Str" + mAutoDictionaryInsertionThreshold);
  mIsStickyExtensionKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_is_sticky_extesion_keyboard),mContext.getResources().getBoolean(R.bool.settings_default_is_sticky_extesion_keyboard));
  Log.d(TAG,"String_Node_Str" + mIsStickyExtensionKeyboard);
  mDrawExtensionKeyboardAboveMainKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_is_extesion_keyboard_above_keyboard),mContext.getResources().getBoolean(R.bool.settings_default_is_extesion_keyboard_above_keyboard));
  Log.d(TAG,"String_Node_Str" + mDrawExtensionKeyboardAboveMainKeyboard);
  mSwipeDistanceThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_distance_threshold),mContext.getString(R.string.settings_default_swipe_distance_threshold));
  Log.d(TAG,"String_Node_Str" + mSwipeDistanceThreshold);
  mSwipeVelocityThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_velocity_threshold),mContext.getString(R.string.settings_default_swipe_velocity_threshold));
  Log.d(TAG,"String_Node_Str" + mSwipeVelocityThreshold);
  mLongPressTimeout=getIntFromString(sp,mContext.getString(R.string.settings_key_long_press_timeout),mContext.getString(R.string.settings_default_long_press_timeout));
  Log.d(TAG,"String_Node_Str" + mLongPressTimeout);
  mMultiTapTimeout=getIntFromString(sp,mContext.getString(R.string.settings_key_multitap_timeout),mContext.getString(R.string.settings_default_multitap_timeout));
  Log.d(TAG,"String_Node_Str" + mMultiTapTimeout);
  mWorkaround_alwaysUseDrawText=sp.getBoolean(mContext.getString(R.string.settings_key_workaround_disable_rtl_fix),getAlwaysUseDrawTextDefault());
  Log.d(TAG,"String_Node_Str" + mWorkaround_alwaysUseDrawText);
  mInitialKeyboardSplitState=sp.getString(mContext.getString(R.string.settings_key_default_split_state),mContext.getString(R.string.settings_default_default_split_state));
  Log.d(TAG,"String_Node_Str" + mInitialKeyboardSplitState);
  mUseChewbacca=sp.getBoolean(mContext.getString(R.string.settings_key_show_chewbacca),mContext.getResources().getBoolean(R.bool.settings_default_show_chewbacca));
  Log.d(TAG,"String_Node_Str" + mUseChewbacca);
  String shouldSwapType=sp.getString(mContext.getString(R.string.settings_key_should_swap_punctuation_and_space),mContext.getString(R.string.settings_default_should_swap_punctuation_and_space));
  mSwapPunctuationAndSpace=shouldSwapType.equals("String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwapPunctuationAndSpace);
  String animationsLevel=sp.getString(mContext.getString(R.string.settings_key_tweak_animations_level),mContext.getString(R.string.settings_default_tweak_animations_level));
  if ("String_Node_Str".equals(animationsLevel))   mAnimationsLevel=AnimationsLevel.None;
 else   if ("String_Node_Str".equals(animationsLevel))   mAnimationsLevel=AnimationsLevel.Some;
 else   mAnimationsLevel=AnimationsLevel.Full;
  Log.d(TAG,"String_Node_Str" + mAnimationsLevel);
  final LinkedList<OnSharedPreferenceChangeListener> disconnectedList=new LinkedList<SharedPreferences.OnSharedPreferenceChangeListener>(mPreferencesChangedListeners);
  for (  OnSharedPreferenceChangeListener listener : disconnectedList) {
    listener.onSharedPreferenceChanged(sp,key);
  }
}

Fixed version (ground truth):
public void onSharedPreferenceChanged(SharedPreferences sp,String key){
  Log.d(TAG,"String_Node_Str");
  mFirstAppVersionInstalled=sp.getInt(mContext.getString(R.string.settings_key_first_app_version_installed),0);
  mFirstTimeAppInstalled=sp.getLong(mContext.getString(R.string.settings_key_first_time_app_installed),0);
  mFirstTimeCurrentVersionInstalled=sp.getLong(mContext.getString(R.string.settings_key_first_time_current_version_installed),0);
  mDomainText=sp.getString("String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mDomainText);
  mShowKeyPreview=sp.getBoolean(mContext.getString(R.string.settings_key_key_press_shows_preview_popup),mContext.getResources().getBoolean(R.bool.settings_default_key_press_shows_preview_popup));
  Log.d(TAG,"String_Node_Str" + mShowKeyPreview);
  mKeyPreviewAboveKey=sp.getString(mContext.getString(R.string.settings_key_key_press_preview_popup_position),mContext.getString(R.string.settings_default_key_press_preview_popup_position)).equals("String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mKeyPreviewAboveKey);
  mShowKeyboardNameText=sp.getBoolean(mContext.getString(R.string.settings_key_show_keyboard_name_text_key),mContext.getResources().getBoolean(R.bool.settings_default_show_keyboard_name_text_value));
  Log.d(TAG,"String_Node_Str" + mShowKeyboardNameText);
  mShowHintTextOnKeys=sp.getBoolean(mContext.getString(R.string.settings_key_show_hint_text_key),mContext.getResources().getBoolean(R.bool.settings_default_show_hint_text_value));
  Log.d(TAG,"String_Node_Str" + mShowHintTextOnKeys);
  mUseCustomHintAlign=sp.getBoolean(mContext.getString(R.string.settings_key_use_custom_hint_align_key),mContext.getResources().getBoolean(R.bool.settings_default_use_custom_hint_align_value));
  Log.d(TAG,"String_Node_Str" + mUseCustomHintAlign);
  mCustomHintAlign=getIntFromString(sp,mContext.getString(R.string.settings_key_custom_hint_align_key),mContext.getString(R.string.settings_default_custom_hint_align_value));
  Log.d(TAG,"String_Node_Str" + mCustomHintAlign);
  mCustomHintVAlign=getIntFromString(sp,mContext.getString(R.string.settings_key_custom_hint_valign_key),mContext.getString(R.string.settings_default_custom_hint_valign_value));
  Log.d(TAG,"String_Node_Str" + mCustomHintVAlign);
  mSwitchKeyboardOnSpace=sp.getBoolean("String_Node_Str",false);
  Log.d(TAG,"String_Node_Str" + mSwitchKeyboardOnSpace);
  mUseFullScreenInputInLandscape=sp.getBoolean(mContext.getString(R.string.settings_key_landscape_fullscreen),mContext.getResources().getBoolean(R.bool.settings_default_landscape_fullscreen));
  Log.d(TAG,"String_Node_Str" + mUseFullScreenInputInLandscape);
  mUseFullScreenInputInPortrait=sp.getBoolean(mContext.getString(R.string.settings_key_portrait_fullscreen),mContext.getResources().getBoolean(R.bool.settings_default_portrait_fullscreen));
  Log.d(TAG,"String_Node_Str" + mUseFullScreenInputInPortrait);
  mUseKeyRepeat=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mUseKeyRepeat);
  mKeysHeightFactorInPortrait=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_portrait_keyboard_height_factor));
  Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  if (mKeysHeightFactorInPortrait > 2.0f) {
    mKeysHeightFactorInPortrait=2.0f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
  mKeysHeightFactorInLandscape=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_landscape_keyboard_height_factor));
  Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  if (mKeysHeightFactorInLandscape > 2.0f) {
    mKeysHeightFactorInLandscape=2.0f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Log.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
  mInsertSpaceAfterCandidatePick=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mInsertSpaceAfterCandidatePick);
  mSwipeUpKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeUpKeyCode);
  mSwipeUpFromSpacebarKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeUpFromSpacebarKeyCode);
  mSwipeDownKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeDownKeyCode);
  mSwipeLeftKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeLeftKeyCode);
  mSwipeRightKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwipeRightKeyCode);
  mPinchKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mPinchKeyCode);
  mSeparateKeyCode=getIntFromSwipeConfiguration(sp,"String_Node_Str","String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSeparateKeyCode);
  mActionKeyInvisibleWhenRequested=sp.getBoolean("String_Node_Str",false);
  Log.d(TAG,"String_Node_Str" + mActionKeyInvisibleWhenRequested);
  mIsDoubleSpaceChangesToPeroid=sp.getBoolean("String_Node_Str",true);
  Log.d(TAG,"String_Node_Str" + mIsDoubleSpaceChangesToPeroid);
  mShouldPopupForLanguageSwitch=sp.getBoolean(mContext.getString(R.string.settings_key_lang_key_shows_popup),mContext.getResources().getBoolean(R.bool.settings_default_lang_key_shows_popup));
  Log.d(TAG,"String_Node_Str" + mShouldPopupForLanguageSwitch);
  mHideSoftKeyboardWhenPhysicalKeyPressed=sp.getBoolean(mContext.getString(R.string.settings_key_hide_soft_when_physical),mContext.getResources().getBoolean(R.bool.settings_default_hide_soft_when_physical));
  Log.d(TAG,"String_Node_Str" + mHideSoftKeyboardWhenPhysicalKeyPressed);
  mShowVersionNotification=sp.getBoolean(mContext.getString(R.string.settings_key_show_version_notification),mContext.getResources().getBoolean(R.bool.settings_default_show_version_notification));
  Log.d(TAG,"String_Node_Str" + mShowVersionNotification);
  mShowTipsNotification=sp.getBoolean(mContext.getString(R.string.settings_key_show_tips_notification),mContext.getResources().getBoolean(R.bool.settings_default_show_tips_notification));
  Log.d(TAG,"String_Node_Str" + mShowTipsNotification);
  mUse16KeysSymbolsKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_use_16_keys_symbols_keyboards),mContext.getResources().getBoolean(R.bool.settings_default_use_16_keys_symbols_keyboards));
  Log.d(TAG,"String_Node_Str" + mUse16KeysSymbolsKeyboard);
  mUseBackword=sp.getBoolean(mContext.getString(R.string.settings_key_use_backword),mContext.getResources().getBoolean(R.bool.settings_default_use_backword));
  Log.d(TAG,"String_Node_Str" + mUseBackword);
  mCycleOverAllSymbolsKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_cycle_all_symbols),mContext.getResources().getBoolean(R.bool.settings_default_cycle_all_symbols));
  Log.d(TAG,"String_Node_Str" + mCycleOverAllSymbolsKeyboard);
  mUseCameraKeyForBackspaceBackword=sp.getBoolean(mContext.getString(R.string.settings_key_use_camera_key_for_backspace_backword),mContext.getResources().getBoolean(R.bool.settings_default_use_camera_key_for_backspace_backword));
  Log.d(TAG,"String_Node_Str" + mUseCameraKeyForBackspaceBackword);
  mUseVolumeKeyForLeftRight=sp.getBoolean(mContext.getString(R.string.settings_key_use_volume_key_for_left_right),mContext.getResources().getBoolean(R.bool.settings_default_use_volume_key_for_left_right));
  Log.d(TAG,"String_Node_Str" + mUseVolumeKeyForLeftRight);
  mUseContactsDictionary=sp.getBoolean(mContext.getString(R.string.settings_key_use_contacts_dictionary),mContext.getResources().getBoolean(R.bool.settings_default_contacts_dictionary));
  Log.d(TAG,"String_Node_Str" + mUseContactsDictionary);
  mAutoDictionaryInsertionThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_auto_dictionary_threshold),mContext.getString(R.string.settings_default_auto_dictionary_add_threshold));
  Log.d(TAG,"String_Node_Str" + mAutoDictionaryInsertionThreshold);
  mIsStickyExtensionKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_is_sticky_extesion_keyboard),mContext.getResources().getBoolean(R.bool.settings_default_is_sticky_extesion_keyboard));
  Log.d(TAG,"String_Node_Str" + mIsStickyExtensionKeyboard);
  mDrawExtensionKeyboardAboveMainKeyboard=sp.getBoolean(mContext.getString(R.string.settings_key_is_extesion_keyboard_above_keyboard),mContext.getResources().getBoolean(R.bool.settings_default_is_extesion_keyboard_above_keyboard));
  Log.d(TAG,"String_Node_Str" + mDrawExtensionKeyboardAboveMainKeyboard);
  mSwipeDistanceThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_distance_threshold),mContext.getString(R.string.settings_default_swipe_distance_threshold));
  Log.d(TAG,"String_Node_Str" + mSwipeDistanceThreshold);
  mSwipeVelocityThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_velocity_threshold),mContext.getString(R.string.settings_default_swipe_velocity_threshold));
  Log.d(TAG,"String_Node_Str" + mSwipeVelocityThreshold);
  mLongPressTimeout=getIntFromString(sp,mContext.getString(R.string.settings_key_long_press_timeout),mContext.getString(R.string.settings_default_long_press_timeout));
  Log.d(TAG,"String_Node_Str" + mLongPressTimeout);
  mMultiTapTimeout=getIntFromString(sp,mContext.getString(R.string.settings_key_multitap_timeout),mContext.getString(R.string.settings_default_multitap_timeout));
  Log.d(TAG,"String_Node_Str" + mMultiTapTimeout);
  mWorkaround_alwaysUseDrawText=sp.getBoolean(mContext.getString(R.string.settings_key_workaround_disable_rtl_fix),getAlwaysUseDrawTextDefault());
  Log.d(TAG,"String_Node_Str" + mWorkaround_alwaysUseDrawText);
  mInitialKeyboardSplitState=sp.getString(mContext.getString(R.string.settings_key_default_split_state),mContext.getString(R.string.settings_default_default_split_state));
  Log.d(TAG,"String_Node_Str" + mInitialKeyboardSplitState);
  mUseChewbacca=sp.getBoolean(mContext.getString(R.string.settings_key_show_chewbacca),mContext.getResources().getBoolean(R.bool.settings_default_show_chewbacca));
  Log.d(TAG,"String_Node_Str" + mUseChewbacca);
  String shouldSwapType=sp.getString(mContext.getString(R.string.settings_key_should_swap_punctuation_and_space),mContext.getString(R.string.settings_default_should_swap_punctuation_and_space));
  mSwapPunctuationAndSpace=shouldSwapType.equals("String_Node_Str");
  Log.d(TAG,"String_Node_Str" + mSwapPunctuationAndSpace);
  String animationsLevel=sp.getString(mContext.getString(R.string.settings_key_tweak_animations_level),mContext.getString(R.string.settings_default_tweak_animations_level));
  if ("String_Node_Str".equals(animationsLevel))   mAnimationsLevel=AnimationsLevel.None;
 else   if ("String_Node_Str".equals(animationsLevel))   mAnimationsLevel=AnimationsLevel.Some;
 else   mAnimationsLevel=AnimationsLevel.Full;
  Log.d(TAG,"String_Node_Str" + mAnimationsLevel);
  final LinkedList<OnSharedPreferenceChangeListener> disconnectedList=new LinkedList<SharedPreferences.OnSharedPreferenceChangeListener>(mPreferencesChangedListeners);
  for (  OnSharedPreferenceChangeListener listener : disconnectedList) {
    listener.onSharedPreferenceChanged(sp,key);
  }
}