Program: 54943
Project: 54943
Buggy source:
@Override public void onItemClick(AdapterView<?> parent,View view,int position,long id){
  if (parent == lv_categories) {
    categoriesCursor.moveToPosition(position);
    String categoryName=categoriesCursor.getString(categoriesCursor.getColumnIndex(BookmarkCategories.COLUMN_NAME_CATEGORY_NAME));
    bt_category.setText("String_Node_Str" + categoryName);
    String selection=Bookmarks.COLUMN_NAME_CATEGORY_ID + "String_Node_Str";
    String[] selectionArgs={"String_Node_Str" + id};
    if (bookmarksCursor != null)     bookmarksCursor.close();
    bookmarksCursor=activity.getContentResolver().query(Bookmarks.CONTENT_URI,null,selection,selectionArgs,null);
    bookmarksAdapter.changeCursor(bookmarksCursor);
    fl_list.bringChildToFront(ll_bookmarks_list);
    lv_categories.setVisibility(View.GONE);
    ll_bookmarks_list.setVisibility(View.VISIBLE);
  }
 else   if (parent == lv_bookmarks) {
    bookmarksCursor.moveToPosition(position);
    long newChannelFrequency=bookmarksCursor.getLong(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_FREQUENCY));
    int newChannelWidth=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_CHANNEL_WIDTH));
    int newMode=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_MODE));
    int newSquelch=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_SQUELCH));
    boolean ret=rfControlInterface.updateDemodulationMode(newMode);
    long currentFrequency=rfControlInterface.requestCurrentSourceFrequency();
    int currentSampleRate=rfControlInterface.requestCurrentSampleRate();
    if (ret && ((newChannelFrequency - newChannelWidth / 2) < (currentFrequency - currentSampleRate / 2) || (newChannelFrequency + newChannelWidth / 2) > (currentFrequency + currentSampleRate / 2))) {
      Log.d(LOGTAG,"String_Node_Str" + currentFrequency + "String_Node_Str"+ newChannelFrequency+ "String_Node_Str");
      ret=rfControlInterface.updateSourceFrequency(newChannelFrequency - currentSampleRate / 8);
    }
    if (ret)     ret=rfControlInterface.updateChannelWidth(newChannelWidth);
    if (ret)     ret=rfControlInterface.updateChannelFrequency(newChannelFrequency);
    if (ret)     rfControlInterface.updateSquelch(newSquelch);
    if (ret) {
      dialog.dismiss();
    }
 else {
      Log.i(LOGTAG,"String_Node_Str");
      Toast.makeText(activity,"String_Node_Str",Toast.LENGTH_LONG).show();
    }
  }
 else {
    Log.e(LOGTAG,"String_Node_Str" + parent);
  }
}

Fixed version (ground truth):
@Override public void onItemClick(AdapterView<?> parent,View view,int position,long id){
  if (parent == lv_categories) {
    categoriesCursor.moveToPosition(position);
    String categoryName=categoriesCursor.getString(categoriesCursor.getColumnIndex(BookmarkCategories.COLUMN_NAME_CATEGORY_NAME));
    bt_category.setText("String_Node_Str" + categoryName);
    String selection=Bookmarks.COLUMN_NAME_CATEGORY_ID + "String_Node_Str";
    String[] selectionArgs={"String_Node_Str" + id};
    if (bookmarksCursor != null)     bookmarksCursor.close();
    bookmarksCursor=activity.getContentResolver().query(Bookmarks.CONTENT_URI,null,selection,selectionArgs,null);
    bookmarksAdapter.changeCursor(bookmarksCursor);
    fl_list.bringChildToFront(ll_bookmarks_list);
    lv_categories.setVisibility(View.GONE);
    ll_bookmarks_list.setVisibility(View.VISIBLE);
  }
 else   if (parent == lv_bookmarks) {
    bookmarksCursor.moveToPosition(position);
    long newChannelFrequency=bookmarksCursor.getLong(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_FREQUENCY));
    int newChannelWidth=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_CHANNEL_WIDTH));
    int newMode=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_MODE));
    int newSquelch=bookmarksCursor.getInt(bookmarksCursor.getColumnIndex(Bookmarks.COLUMN_NAME_SQUELCH));
    int savedDemodulationMode=rfControlInterface.requestCurrentDemodulationMode();
    boolean ret=rfControlInterface.updateDemodulationMode(newMode);
    long currentFrequency=rfControlInterface.requestCurrentSourceFrequency();
    int currentSampleRate=rfControlInterface.requestCurrentSampleRate();
    if (ret && ((newChannelFrequency - newChannelWidth / 2) < (currentFrequency - currentSampleRate / 2) || (newChannelFrequency + newChannelWidth / 2) > (currentFrequency + currentSampleRate / 2))) {
      Log.d(LOGTAG,"String_Node_Str" + currentFrequency + "String_Node_Str"+ newChannelFrequency+ "String_Node_Str");
      ret=rfControlInterface.updateSourceFrequency(newChannelFrequency - currentSampleRate / 8);
    }
    if (ret)     ret=rfControlInterface.updateChannelWidth(newChannelWidth);
    if (ret)     ret=rfControlInterface.updateChannelFrequency(newChannelFrequency);
    if (ret)     rfControlInterface.updateSquelch(newSquelch);
    if (ret) {
      dialog.dismiss();
    }
 else {
      Log.i(LOGTAG,"String_Node_Str");
      Toast.makeText(activity,"String_Node_Str",Toast.LENGTH_LONG).show();
      rfControlInterface.updateDemodulationMode(savedDemodulationMode);
    }
  }
 else {
    Log.e(LOGTAG,"String_Node_Str" + parent);
  }
}