Program: 162167
Project: 162167
Buggy source:
@Override protected void onPostExecute(TransLocArrivalEstimates arrivalEstimatesList){
  Date currentTimeUTC;
  Date arrivalTimeUTC;
  if (arrivalEstimatesList == null) {
    Utils.showAlertDialog(WidgetConfigurationActivity.this,"String_Node_Str",getString(R.string.error_no_data));
  }
 else   if (arrivalEstimatesList.data.isEmpty()) {
    Utils.showAlertDialog(WidgetConfigurationActivity.this,"String_Node_Str","String_Node_Str");
  }
 else {
    TransLocArrivalEstimate arrivalEstimate=arrivalEstimatesList.data.get(0);
    TransLocArrival arrival=arrivalEstimate.arrivals.get(0);
    currentTimeUTC=arrivalEstimatesList.generatedOn;
    arrivalTimeUTC=arrival.arrivalAt;
    Log.v(TAG,"String_Node_Str" + currentTimeUTC + "String_Node_Str"+ "String_Node_Str"+ arrivalTimeUTC);
    minutes=Utils.getMinutesBetweenTimes(currentTimeUTC,arrivalTimeUTC);
    AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(getBaseContext());
    RemoteViews views=new RemoteViews(getBaseContext().getPackageName(),R.layout.widget_layout);
    views.setTextViewText(R.id.tvRemainingTime,Integer.toString(minutes));
    if (minutes < 1)     views.setTextViewText(R.id.tvRemainingTime,"String_Node_Str");
    if (minutes < 2)     views.setTextViewText(R.id.tvMins,"String_Node_Str");
 else     views.setTextViewText(R.id.tvMins,"String_Node_Str");
    if (routeShortName.length() < 5) {
      String widgetRouteName=routeShortName + "String_Node_Str" + routeLongName;
      editor.putString("String_Node_Str" + mAppWidgetId,widgetRouteName).commit();
      views.setTextViewText(R.id.tvRoute,widgetRouteName);
    }
 else {
      editor.putString("String_Node_Str" + mAppWidgetId,routeShortName).commit();
      views.setTextViewText(R.id.tvRoute,routeShortName);
    }
    editor.putString("String_Node_Str" + mAppWidgetId,stopName).commit();
    views.setTextViewText(R.id.tvStop,stopName);
    int backgroundColor=settings.getInt("String_Node_Str",1996554497);
    int textColor=settings.getInt("String_Node_Str",-1);
    views.setInt(R.id.rlWidgetLayout,"String_Node_Str",backgroundColor);
    views.setTextColor(R.id.tvRemainingTime,textColor);
    views.setTextColor(R.id.tvMins,textColor);
    views.setTextColor(R.id.tvRoute,textColor);
    views.setTextColor(R.id.tvStop,textColor);
    Intent clickIntent=new Intent(getBaseContext(),TransLocWidgetProvider.class);
    clickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId);
    PendingIntent pendingIntent=PendingIntent.getBroadcast(getBaseContext(),mAppWidgetId,clickIntent,PendingIntent.FLAG_UPDATE_CURRENT);
    views.setOnClickPendingIntent(R.id.rlWidgetLayout,pendingIntent);
    appWidgetManager.updateAppWidget(mAppWidgetId,views);
    Log.v(TAG,"String_Node_Str" + mAppWidgetId);
    Intent resultValue=new Intent();
    resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId);
    setResult(RESULT_OK,resultValue);
    editor.putBoolean("String_Node_Str",true);
    finish();
  }
  makeWidgetDialog.dismiss();
  Toast.makeText(getApplicationContext(),"String_Node_Str",Toast.LENGTH_LONG).show();
}

Fixed version (ground truth):
@Override protected void onPostExecute(TransLocArrivalEstimates arrivalEstimatesList){
  Date currentTimeUTC;
  Date arrivalTimeUTC;
  if (arrivalEstimatesList == null) {
    Utils.showAlertDialog(WidgetConfigurationActivity.this,"String_Node_Str",getString(R.string.error_no_data));
  }
 else   if (arrivalEstimatesList.data.isEmpty()) {
    Utils.showAlertDialog(WidgetConfigurationActivity.this,"String_Node_Str","String_Node_Str");
  }
 else {
    TransLocArrivalEstimate arrivalEstimate=arrivalEstimatesList.data.get(0);
    TransLocArrival arrival=arrivalEstimate.arrivals.get(0);
    currentTimeUTC=arrivalEstimatesList.generatedOn;
    arrivalTimeUTC=arrival.arrivalAt;
    Log.v(TAG,"String_Node_Str" + currentTimeUTC + "String_Node_Str"+ "String_Node_Str"+ arrivalTimeUTC);
    minutes=Utils.getMinutesBetweenTimes(currentTimeUTC,arrivalTimeUTC);
    AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(getBaseContext());
    RemoteViews views=new RemoteViews(getBaseContext().getPackageName(),R.layout.widget_layout);
    views.setTextViewText(R.id.tvRemainingTime,Integer.toString(minutes));
    if (minutes < 1)     views.setTextViewText(R.id.tvRemainingTime,"String_Node_Str");
    if (minutes < 2)     views.setTextViewText(R.id.tvMins,"String_Node_Str");
 else     views.setTextViewText(R.id.tvMins,"String_Node_Str");
    if (routeShortName.length() < 5 && routeShortName.length() > 0) {
      String widgetRouteName=routeShortName + "String_Node_Str" + routeLongName;
      editor.putString("String_Node_Str" + mAppWidgetId,widgetRouteName).commit();
      views.setTextViewText(R.id.tvRoute,widgetRouteName);
    }
 else {
      editor.putString("String_Node_Str" + mAppWidgetId,routeShortName).commit();
      views.setTextViewText(R.id.tvRoute,routeShortName);
    }
    editor.putString("String_Node_Str" + mAppWidgetId,stopName).commit();
    views.setTextViewText(R.id.tvStop,stopName);
    int backgroundColor=settings.getInt("String_Node_Str",1996554497);
    int textColor=settings.getInt("String_Node_Str",-1);
    views.setInt(R.id.rlWidgetLayout,"String_Node_Str",backgroundColor);
    views.setTextColor(R.id.tvRemainingTime,textColor);
    views.setTextColor(R.id.tvMins,textColor);
    views.setTextColor(R.id.tvRoute,textColor);
    views.setTextColor(R.id.tvStop,textColor);
    Intent clickIntent=new Intent(getBaseContext(),TransLocWidgetProvider.class);
    clickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId);
    PendingIntent pendingIntent=PendingIntent.getBroadcast(getBaseContext(),mAppWidgetId,clickIntent,PendingIntent.FLAG_UPDATE_CURRENT);
    views.setOnClickPendingIntent(R.id.rlWidgetLayout,pendingIntent);
    appWidgetManager.updateAppWidget(mAppWidgetId,views);
    Log.v(TAG,"String_Node_Str" + mAppWidgetId);
    Intent resultValue=new Intent();
    resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId);
    setResult(RESULT_OK,resultValue);
    editor.putBoolean("String_Node_Str",true);
    finish();
  }
  makeWidgetDialog.dismiss();
  Toast.makeText(getApplicationContext(),"String_Node_Str",Toast.LENGTH_LONG).show();
}