Program: 52647
Project: 52647
Buggy source:
@SuppressWarnings("String_Node_Str") public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
  if (android.os.Build.VERSION.SDK_INT < 11) {
    RemoteViews widget=new RemoteViews(context.getPackageName(),R.layout.task_list_widget);
    DueDateFormatter dateFormatter=new DueDateFormatter(context);
    ContentResolver resolver=context.getContentResolver();
    Cursor cursor=resolver.query(TaskContract.Instances.CONTENT_URI,null,TaskContract.Instances.VISIBLE + "String_Node_Str" + TaskContract.Instances.IS_CLOSED+ "String_Node_Str"+ TaskContract.Instances.INSTANCE_START+ "String_Node_Str"+ System.currentTimeMillis()+ "String_Node_Str"+ TaskContract.Instances.INSTANCE_START+ "String_Node_Str",null,TaskContract.Instances.DEFAULT_SORT_ORDER);
    cursor.moveToFirst();
    int count=0;
    while (!cursor.isAfterLast() && count < 7) {
      RemoteViews taskItem=new RemoteViews(context.getPackageName(),R.layout.task_list_widget_item);
      int taskColor=TaskFieldAdapters.LIST_COLOR.get(cursor);
      taskItem.setInt(R.id.task_list_color,"String_Node_Str",taskColor);
      String title=TaskFieldAdapters.TITLE.get(cursor);
      taskItem.setTextViewText(android.R.id.title,title);
      Time dueDate=TaskFieldAdapters.DUE.get(cursor);
      if (dueDate != null) {
        taskItem.setTextViewText(android.R.id.text1,dateFormatter.format(dueDate));
      }
      widget.addView(android.R.id.list,taskItem);
      cursor.moveToNext();
      count++;
    }
    cursor.close();
    Intent launchIntent=context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    PendingIntent launchPI=PendingIntent.getActivity(context,0,launchIntent,0);
    widget.setOnClickPendingIntent(android.R.id.list,launchPI);
    appWidgetManager.updateAppWidget(appWidgetIds,widget);
    return;
  }
  for (int i=0; i < appWidgetIds.length; i++) {
    Intent remoteServiceIntent=new Intent(context,TaskListWidgetUpdaterService.class);
    remoteServiceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[i]);
    remoteServiceIntent.setData(Uri.parse(remoteServiceIntent.toUri(Intent.URI_INTENT_SCHEME)));
    RemoteViews widget=new RemoteViews(context.getPackageName(),R.layout.task_list_widget);
    if (android.os.Build.VERSION.SDK_INT < 14) {
      widget.setRemoteAdapter(appWidgetIds[i],R.id.task_list_widget_lv,remoteServiceIntent);
    }
 else {
      widget.setRemoteAdapter(R.id.task_list_widget_lv,remoteServiceIntent);
    }
    Intent detailIntent=new Intent(Intent.ACTION_VIEW);
    PendingIntent clickPI=PendingIntent.getActivity(context,0,detailIntent,PendingIntent.FLAG_UPDATE_CURRENT);
    widget.setPendingIntentTemplate(R.id.task_list_widget_lv,clickPI);
    appWidgetManager.updateAppWidget(appWidgetIds[i],widget);
  }
  super.onUpdate(context,appWidgetManager,appWidgetIds);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
  if (android.os.Build.VERSION.SDK_INT < 11) {
    RemoteViews widget=new RemoteViews(context.getPackageName(),R.layout.task_list_widget);
    widget.removeAllViews(android.R.id.list);
    DueDateFormatter dateFormatter=new DueDateFormatter(context);
    ContentResolver resolver=context.getContentResolver();
    Cursor cursor=resolver.query(TaskContract.Instances.CONTENT_URI,null,TaskContract.Instances.VISIBLE + "String_Node_Str" + TaskContract.Instances.IS_CLOSED+ "String_Node_Str"+ TaskContract.Instances.INSTANCE_START+ "String_Node_Str"+ System.currentTimeMillis()+ "String_Node_Str"+ TaskContract.Instances.INSTANCE_START+ "String_Node_Str",null,TaskContract.Instances.DEFAULT_SORT_ORDER);
    cursor.moveToFirst();
    int count=0;
    while (!cursor.isAfterLast() && count < 7) {
      RemoteViews taskItem=new RemoteViews(context.getPackageName(),R.layout.task_list_widget_item);
      int taskColor=TaskFieldAdapters.LIST_COLOR.get(cursor);
      taskItem.setInt(R.id.task_list_color,"String_Node_Str",taskColor);
      String title=TaskFieldAdapters.TITLE.get(cursor);
      taskItem.setTextViewText(android.R.id.title,title);
      Time dueDate=TaskFieldAdapters.DUE.get(cursor);
      if (dueDate != null) {
        taskItem.setTextViewText(android.R.id.text1,dateFormatter.format(dueDate));
      }
      widget.addView(android.R.id.list,taskItem);
      cursor.moveToNext();
      count++;
    }
    cursor.close();
    Intent launchIntent=context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    PendingIntent launchPI=PendingIntent.getActivity(context,0,launchIntent,0);
    widget.setOnClickPendingIntent(android.R.id.list,launchPI);
    appWidgetManager.updateAppWidget(appWidgetIds,widget);
    return;
  }
  for (int i=0; i < appWidgetIds.length; i++) {
    Intent remoteServiceIntent=new Intent(context,TaskListWidgetUpdaterService.class);
    remoteServiceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[i]);
    remoteServiceIntent.setData(Uri.parse(remoteServiceIntent.toUri(Intent.URI_INTENT_SCHEME)));
    RemoteViews widget=new RemoteViews(context.getPackageName(),R.layout.task_list_widget);
    if (android.os.Build.VERSION.SDK_INT < 14) {
      widget.setRemoteAdapter(appWidgetIds[i],R.id.task_list_widget_lv,remoteServiceIntent);
    }
 else {
      widget.setRemoteAdapter(R.id.task_list_widget_lv,remoteServiceIntent);
    }
    Intent detailIntent=new Intent(Intent.ACTION_VIEW);
    PendingIntent clickPI=PendingIntent.getActivity(context,0,detailIntent,PendingIntent.FLAG_UPDATE_CURRENT);
    widget.setPendingIntentTemplate(R.id.task_list_widget_lv,clickPI);
    appWidgetManager.updateAppWidget(appWidgetIds[i],widget);
  }
  super.onUpdate(context,appWidgetManager,appWidgetIds);
}