Program: 157138
Project: 157138
Buggy source:
@Override public void onSharedPreferenceChanged(SharedPreferences sp,String key){
  Logger.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");
  Logger.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));
  Logger.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");
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mCustomHintVAlign);
  mSwitchKeyboardOnSpace=sp.getBoolean(mContext.getString(R.string.settings_key_switch_keyboard_on_space),mContext.getResources().getBoolean(R.bool.settings_default_switch_to_alphabet_on_space));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mUseFullScreenInputInPortrait);
  mUseKeyRepeat=sp.getBoolean("String_Node_Str",true);
  Logger.d(TAG,"String_Node_Str" + mUseKeyRepeat);
  mKeysHeightFactorInPortrait=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_portrait_keyboard_height_factor));
  Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  if (mKeysHeightFactorInPortrait > 2.0f) {
    mKeysHeightFactorInPortrait=2.0f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
  mKeysHeightFactorInLandscape=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_landscape_keyboard_height_factor));
  Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  if (mKeysHeightFactorInLandscape > 2.0f) {
    mKeysHeightFactorInLandscape=2.0f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
  mInsertSpaceAfterCandidatePick=sp.getBoolean("String_Node_Str",true);
  Logger.d(TAG,"String_Node_Str" + mInsertSpaceAfterCandidatePick);
  mSwipeUpKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_up_action,R.string.swipe_action_value_shift);
  Logger.d(TAG,"String_Node_Str" + mSwipeUpKeyCode);
  mSwipeUpFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_up_from_spacebar_action,R.string.swipe_action_value_utility_keyboard);
  Logger.d(TAG,"String_Node_Str" + mSwipeUpFromSpaceBarKeyCode);
  mSwipeDownKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_down_action,R.string.swipe_action_value_hide);
  Logger.d(TAG,"String_Node_Str" + mSwipeDownKeyCode);
  mSwipeLeftKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_action,R.string.swipe_action_value_next_symbols);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftKeyCode);
  mSwipeRightKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_action,R.string.swipe_action_value_next_alphabet);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightKeyCode);
  mPinchKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_pinch_gesture_action,R.string.swipe_action_value_merge_layout);
  Logger.d(TAG,"String_Node_Str" + mPinchKeyCode);
  mSeparateKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_separate_gesture_action,R.string.swipe_action_value_split_layout);
  Logger.d(TAG,"String_Node_Str" + mSeparateKeyCode);
  mSwipeLeftFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_space_bar_action,R.string.swipe_action_value_next_symbols);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftFromSpaceBarKeyCode);
  mSwipeRightFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_space_bar_action,R.string.swipe_action_value_next_alphabet);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightFromSpaceBarKeyCode);
  mSwipeLeftWithTwoFingersKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_two_fingers_action,R.string.swipe_action_value_compact_layout_to_left);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftWithTwoFingersKeyCode);
  mSwipeRightWithTwoFingersKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_two_fingers_action,R.string.swipe_action_value_compact_layout_to_right);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightWithTwoFingersKeyCode);
  mActionKeyInvisibleWhenRequested=sp.getBoolean("String_Node_Str",false);
  Logger.d(TAG,"String_Node_Str" + mActionKeyInvisibleWhenRequested);
  mIsDoubleSpaceChangesToPeroid=sp.getBoolean("String_Node_Str",true);
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mHideSoftKeyboardWhenPhysicalKeyPressed);
  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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mIsStickyExtensionKeyboard);
  mGestureTyping=BuildConfig.DEBUG && sp.getBoolean(mContext.getString(R.string.settings_key_gesture_typing),mContext.getResources().getBoolean(R.bool.settings_default_gesture_typing));
  Logger.d(TAG,"String_Node_Str" + mGestureTyping);
  mSwipeDistanceThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_distance_threshold),mContext.getString(R.string.settings_default_swipe_distance_threshold));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mMultiTapTimeout);
  mWorkaroundAlwaysUseDrawText=sp.getBoolean(mContext.getString(R.string.settings_key_workaround_disable_rtl_fix),getAlwaysUseDrawTextDefault());
  Logger.d(TAG,"String_Node_Str" + mWorkaroundAlwaysUseDrawText);
  mUseChewbacca=sp.getBoolean(mContext.getString(R.string.settings_key_show_chewbacca),mContext.getResources().getBoolean(R.bool.settings_default_show_chewbacca));
  Logger.d(TAG,"String_Node_Str" + mUseChewbacca);
  mSwapPunctuationAndSpace=sp.getBoolean(mContext.getString(R.string.settings_key_bool_should_swap_punctuation_and_space),mContext.getResources().getBoolean(R.bool.settings_default_bool_should_swap_punctuation_and_space));
  Logger.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;
  Logger.d(TAG,"String_Node_Str" + mAnimationsLevel);
  mAlwaysUseFallBackUserDictionary=sp.getBoolean(mContext.getString(R.string.settings_key_always_use_fallback_user_dictionary),mContext.getResources().getBoolean(R.bool.settings_default_always_use_fallback_user_dictionary));
  Logger.d(TAG,"String_Node_Str" + mAlwaysUseFallBackUserDictionary);
  mAutomaticallySwitchToAppLayout=sp.getBoolean(mContext.getString(R.string.settings_key_persistent_layout_per_package_id),mContext.getResources().getBoolean(R.bool.settings_default_persistent_layout_per_package_id));
  Logger.d(TAG,"String_Node_Str" + mAutomaticallySwitchToAppLayout);
  mAlwaysHideLanguageKey=sp.getBoolean(mContext.getString(R.string.settings_key_always_hide_language_key),mContext.getResources().getBoolean(R.bool.settings_default_always_hide_language_key));
  Logger.d(TAG,"String_Node_Str" + mAutomaticallySwitchToAppLayout);
  for (int rowModeIndex=0; rowModeIndex < mEnableStateForRowModes.length; rowModeIndex++) {
    mEnableStateForRowModes[rowModeIndex]=sp.getBoolean(AskPrefs.ROW_MODE_ENABLED_PREFIX + (rowModeIndex + 2),true);
  }
  final LinkedList<OnSharedPreferenceChangeListener> disconnectedList=new LinkedList<>(mPreferencesChangedListeners);
  for (  OnSharedPreferenceChangeListener listener : disconnectedList) {
    if (mPreferencesChangedListeners.contains(listener)) {
      listener.onSharedPreferenceChanged(sp,key);
    }
  }
}

Fixed version (ground truth):
@Override public void onSharedPreferenceChanged(SharedPreferences sp,String key){
  Logger.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");
  Logger.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));
  Logger.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");
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mCustomHintVAlign);
  mSwitchKeyboardOnSpace=sp.getBoolean(mContext.getString(R.string.settings_key_switch_keyboard_on_space),mContext.getResources().getBoolean(R.bool.settings_default_switch_to_alphabet_on_space));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mUseFullScreenInputInPortrait);
  mUseKeyRepeat=sp.getBoolean("String_Node_Str",true);
  Logger.d(TAG,"String_Node_Str" + mUseKeyRepeat);
  mKeysHeightFactorInPortrait=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_portrait_keyboard_height_factor));
  Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  if (mKeysHeightFactorInPortrait > 2.0f) {
    mKeysHeightFactorInPortrait=2.0f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInPortrait);
  }
  mKeysHeightFactorInLandscape=getFloatFromString(sp,"String_Node_Str",mContext.getString(R.string.settings_default_landscape_keyboard_height_factor));
  Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  if (mKeysHeightFactorInLandscape > 2.0f) {
    mKeysHeightFactorInLandscape=2.0f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
 else   if (mKeysHeightFactorInPortrait < 0.2f) {
    mKeysHeightFactorInPortrait=0.2f;
    Logger.d(TAG,"String_Node_Str" + mKeysHeightFactorInLandscape);
  }
  mInsertSpaceAfterCandidatePick=sp.getBoolean("String_Node_Str",true);
  Logger.d(TAG,"String_Node_Str" + mInsertSpaceAfterCandidatePick);
  mSwipeUpKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_up_action,R.string.swipe_action_value_shift);
  Logger.d(TAG,"String_Node_Str" + mSwipeUpKeyCode);
  mSwipeUpFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_up_from_spacebar_action,R.string.swipe_action_value_utility_keyboard);
  Logger.d(TAG,"String_Node_Str" + mSwipeUpFromSpaceBarKeyCode);
  mSwipeDownKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_down_action,R.string.swipe_action_value_hide);
  Logger.d(TAG,"String_Node_Str" + mSwipeDownKeyCode);
  mSwipeLeftKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_action,R.string.swipe_action_value_next_symbols);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftKeyCode);
  mSwipeRightKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_action,R.string.swipe_action_value_next_alphabet);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightKeyCode);
  mPinchKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_pinch_gesture_action,R.string.swipe_action_value_merge_layout);
  Logger.d(TAG,"String_Node_Str" + mPinchKeyCode);
  mSeparateKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_separate_gesture_action,R.string.swipe_action_value_split_layout);
  Logger.d(TAG,"String_Node_Str" + mSeparateKeyCode);
  mSwipeLeftFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_space_bar_action,R.string.swipe_action_value_next_symbols);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftFromSpaceBarKeyCode);
  mSwipeRightFromSpaceBarKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_space_bar_action,R.string.swipe_action_value_next_alphabet);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightFromSpaceBarKeyCode);
  mSwipeLeftWithTwoFingersKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_left_two_fingers_action,R.string.swipe_action_value_compact_layout_to_left);
  Logger.d(TAG,"String_Node_Str" + mSwipeLeftWithTwoFingersKeyCode);
  mSwipeRightWithTwoFingersKeyCode=getIntFromSwipeConfiguration(sp,R.string.settings_key_swipe_right_two_fingers_action,R.string.swipe_action_value_compact_layout_to_right);
  Logger.d(TAG,"String_Node_Str" + mSwipeRightWithTwoFingersKeyCode);
  mActionKeyInvisibleWhenRequested=sp.getBoolean("String_Node_Str",false);
  Logger.d(TAG,"String_Node_Str" + mActionKeyInvisibleWhenRequested);
  mIsDoubleSpaceChangesToPeroid=sp.getBoolean("String_Node_Str",true);
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mHideSoftKeyboardWhenPhysicalKeyPressed);
  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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mIsStickyExtensionKeyboard);
  mGestureTyping=BuildConfig.DEBUG && sp.getBoolean(mContext.getString(R.string.settings_key_gesture_typing),mContext.getResources().getBoolean(R.bool.settings_default_gesture_typing));
  Logger.d(TAG,"String_Node_Str" + mGestureTyping);
  mSwipeDistanceThreshold=getIntFromString(sp,mContext.getString(R.string.settings_key_swipe_distance_threshold),mContext.getString(R.string.settings_default_swipe_distance_threshold));
  Logger.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));
  Logger.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));
  Logger.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));
  Logger.d(TAG,"String_Node_Str" + mMultiTapTimeout);
  mWorkaroundAlwaysUseDrawText=sp.getBoolean(mContext.getString(R.string.settings_key_workaround_disable_rtl_fix),getAlwaysUseDrawTextDefault());
  Logger.d(TAG,"String_Node_Str" + mWorkaroundAlwaysUseDrawText);
  mUseChewbacca=sp.getBoolean(mContext.getString(R.string.settings_key_show_chewbacca),mContext.getResources().getBoolean(R.bool.settings_default_show_chewbacca));
  Logger.d(TAG,"String_Node_Str" + mUseChewbacca);
  mSwapPunctuationAndSpace=sp.getBoolean(mContext.getString(R.string.settings_key_bool_should_swap_punctuation_and_space),mContext.getResources().getBoolean(R.bool.settings_default_bool_should_swap_punctuation_and_space));
  Logger.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;
  Logger.d(TAG,"String_Node_Str" + mAnimationsLevel);
  mAlwaysUseFallBackUserDictionary=sp.getBoolean(mContext.getString(R.string.settings_key_always_use_fallback_user_dictionary),mContext.getResources().getBoolean(R.bool.settings_default_always_use_fallback_user_dictionary));
  Logger.d(TAG,"String_Node_Str" + mAlwaysUseFallBackUserDictionary);
  mAutomaticallySwitchToAppLayout=sp.getBoolean(mContext.getString(R.string.settings_key_persistent_layout_per_package_id),mContext.getResources().getBoolean(R.bool.settings_default_persistent_layout_per_package_id));
  Logger.d(TAG,"String_Node_Str" + mAutomaticallySwitchToAppLayout);
  mAlwaysHideLanguageKey=sp.getBoolean(mContext.getString(R.string.settings_key_always_hide_language_key),mContext.getResources().getBoolean(R.bool.settings_default_always_hide_language_key));
  Logger.d(TAG,"String_Node_Str" + mAutomaticallySwitchToAppLayout);
  for (int rowModeIndex=0; rowModeIndex < mEnableStateForRowModes.length; rowModeIndex++) {
    mEnableStateForRowModes[rowModeIndex]=sp.getBoolean(AskPrefs.ROW_MODE_ENABLED_PREFIX + (rowModeIndex + 2),true);
  }
  final List<OnSharedPreferenceChangeListener> disconnectedList=new ArrayList<>(mPreferencesChangedListeners);
  for (  OnSharedPreferenceChangeListener listener : disconnectedList) {
    if (mPreferencesChangedListeners.contains(listener)) {
      listener.onSharedPreferenceChanged(sp,key);
    }
  }
}