Program: 32407
Project: 32407
Buggy source:
protected static boolean createTrustedListRequest(final Context context,boolean forceRefresh,HttpRequestTask.HttpRequestTaskCallback cb){
  if (context == null) {
    return false;
  }
  if (!forceRefresh && (System.currentTimeMillis() - getTrustedAppListTimeStamp(context)) < REFRESH_TRUSTED_APP_LIST_TIME) {
    pendingListRefresh=false;
    return false;
  }
  pendingListRefresh=true;
  StringBuilder builder=new StringBuilder();
  builder.append(REQUEST_PREFIX);
  List<SdlApp> apps=findAllSdlApps(context);
  JSONObject object=new JSONObject();
  JSONArray array=new JSONArray();
  JSONObject jsonApp;
  for (  SdlApp app : apps) {
    try {
      jsonApp=new JSONObject();
      jsonApp.put(JSON_APP_PACKAGE_TAG,app.packageName);
      jsonApp.put(JSON_APP_VERSION_TAG,app.versionCode);
      array.put(jsonApp);
    }
 catch (    JSONException e) {
      e.printStackTrace();
      continue;
    }
  }
  try {
    object.put(JSON_PUT_ARRAY_TAG,array);
  }
 catch (  JSONException e) {
    e.printStackTrace();
  }
  if (cb == null) {
    cb=new HttpRequestTaskCallback(){
      @Override public void httpCallComplete(      String response){
        setTrustedList(context,response);
        pendingListRefresh=false;
      }
      @Override public void httpFailure(      int statusCode){
        Log.e(TAG,"String_Node_Str" + statusCode);
        pendingListRefresh=false;
      }
    }
;
  }
  new HttpRequestTask(cb).execute(REQUEST_PREFIX,HttpRequestTask.REQUEST_TYPE_POST,object.toString(),"String_Node_Str","String_Node_Str");
  return true;
}

Fixed version (ground truth):
protected static boolean createTrustedListRequest(final Context context,boolean forceRefresh,HttpRequestTask.HttpRequestTaskCallback cb,final TrustedListCallback listCallback){
  if (context == null) {
    return false;
  }
  if (!forceRefresh && (System.currentTimeMillis() - getTrustedAppListTimeStamp(context)) < REFRESH_TRUSTED_APP_LIST_TIME) {
    pendingListRefresh=false;
    if (listCallback != null) {
      listCallback.onListObtained(true);
    }
    return false;
  }
  pendingListRefresh=true;
  StringBuilder builder=new StringBuilder();
  builder.append(REQUEST_PREFIX);
  List<SdlApp> apps=findAllSdlApps(context);
  JSONObject object=new JSONObject();
  JSONArray array=new JSONArray();
  JSONObject jsonApp;
  for (  SdlApp app : apps) {
    try {
      jsonApp=new JSONObject();
      jsonApp.put(JSON_APP_PACKAGE_TAG,app.packageName);
      jsonApp.put(JSON_APP_VERSION_TAG,app.versionCode);
      array.put(jsonApp);
    }
 catch (    JSONException e) {
      e.printStackTrace();
      continue;
    }
  }
  try {
    object.put(JSON_PUT_ARRAY_TAG,array);
  }
 catch (  JSONException e) {
    e.printStackTrace();
  }
  if (cb == null) {
    cb=new HttpRequestTaskCallback(){
      @Override public void httpCallComplete(      String response){
        setTrustedList(context,response);
        pendingListRefresh=false;
        if (listCallback != null) {
          listCallback.onListObtained(true);
        }
      }
      @Override public void httpFailure(      int statusCode){
        Log.e(TAG,"String_Node_Str" + statusCode);
        pendingListRefresh=false;
        if (listCallback != null) {
          listCallback.onListObtained(false);
        }
      }
    }
;
  }
  new HttpRequestTask(cb).execute(REQUEST_PREFIX,HttpRequestTask.REQUEST_TYPE_POST,object.toString(),"String_Node_Str","String_Node_Str");
  return true;
}