Program: 130707
Project: 130707
Buggy source:
@Override public void onPostExecute(String[] result){
  Log.d(TAG_ASYNC,"String_Node_Str");
  titleText=result[0];
  mImageURL=result[1];
  bodyText=result[2];
  mArticlePubDate=result[3];
  mSubtitleLayout.setVisibility(View.VISIBLE);
  mArticlePubDateView.setText(mArticlePubDate);
  mArticleTextView.setVisibility(View.VISIBLE);
  mArticleTextView.setText(bodyText);
  if (mImageURL == null) {
    Log.d(TAG,"String_Node_Str" + titleText);
    mTitleTextView=(TextView)headerStub.findViewById(R.id.article_title);
    mTitleTextView.setText(titleText);
    detailViewProgress.setVisibility(View.GONE);
  }
 else {
    Log.d(TAG,"String_Node_Str");
    mTitleTextView=(TextView)headerStub.findViewById(R.id.article_header_title);
    mTitleTextView.setText(titleText);
    mMainImageView=(ImageView)headerStub.findViewById(R.id.article_header_image);
    Picasso picassoInstance=Picasso.with(this);
    picassoInstance.load(mImageURL).into(mMainImageView,new Callback(){
      @Override public void onSuccess(){
        Log.d(TAG_ASYNC,"String_Node_Str");
        mMainImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
          @SuppressWarnings("String_Node_Str") @SuppressLint("String_Node_Str") @Override public void onGlobalLayout(){
            Display display=getWindowManager().getDefaultDisplay();
            Point screen=new Point();
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
              display.getSize(screen);
            }
 else {
              screen.x=display.getWidth();
              screen.y=display.getHeight();
            }
            int statusBarHeight=0;
            int resId=getResources().getIdentifier("String_Node_Str","String_Node_Str","String_Node_Str");
            if (resId > 0) {
              statusBarHeight=getResources().getDimensionPixelSize(resId);
            }
            TypedValue tv=new TypedValue();
            int actionBarHeight=0;
            if (getTheme().resolveAttribute(android.R.attr.actionBarSize,tv,true)) {
              actionBarHeight=TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
            }
            displayScrollToRead=(screen.y - statusBarHeight - actionBarHeight) < (mArticleTextView.getTop()) * 1.08;
            Log.d(TAG_ASYNC,"String_Node_Str" + displayScrollToRead);
            if (displayScrollToRead) {
              mScrollToReadLayout.startAnimation(slide_up);
              mScrollToReadLayout.setVisibility(View.VISIBLE);
              Log.d(TAG_ASYNC,"String_Node_Str" + mScrollToReadLayout.getVisibility());
            }
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
              mMainImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            }
 else {
              mMainImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            }
          }
        }
);
        detailViewProgress.setVisibility(View.GONE);
      }
      @Override public void onError(){
        Log.d(TAG_ASYNC,"String_Node_Str");
      }
    }
);
  }
  bodyText=null;
  titleText=null;
  mImageURL=null;
}

Fixed version (ground truth):
@Override public void onPostExecute(String[] result){
  Log.d(TAG_ASYNC,"String_Node_Str");
  titleText=result[0];
  mImageURL=result[1];
  bodyText=result[2];
  mArticlePubDate=result[3];
  mSubtitleLayout.setVisibility(View.VISIBLE);
  mArticlePubDateView.setText(mArticlePubDate);
  mArticleTextView.setVisibility(View.VISIBLE);
  mArticleTextView.setText(bodyText);
  if (mImageURL == null) {
    Log.d(TAG,"String_Node_Str" + titleText);
    mTitleTextView=(TextView)headerStub.findViewById(R.id.article_title);
    mTitleTextView.setText(titleText);
    detailViewProgress.progressiveStop();
    detailViewProgress.setVisibility(View.GONE);
  }
 else {
    Log.d(TAG,"String_Node_Str");
    mTitleTextView=(TextView)headerStub.findViewById(R.id.article_header_title);
    mTitleTextView.setText(titleText);
    mMainImageView=(ImageView)headerStub.findViewById(R.id.article_header_image);
    Picasso picassoInstance=Picasso.with(this);
    picassoInstance.load(mImageURL).into(mMainImageView,new Callback(){
      @Override public void onSuccess(){
        Log.d(TAG_ASYNC,"String_Node_Str");
        mMainImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
          @SuppressWarnings("String_Node_Str") @SuppressLint("String_Node_Str") @Override public void onGlobalLayout(){
            Display display=getWindowManager().getDefaultDisplay();
            Point screen=new Point();
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
              display.getSize(screen);
            }
 else {
              screen.x=display.getWidth();
              screen.y=display.getHeight();
            }
            int statusBarHeight=0;
            int resId=getResources().getIdentifier("String_Node_Str","String_Node_Str","String_Node_Str");
            if (resId > 0) {
              statusBarHeight=getResources().getDimensionPixelSize(resId);
            }
            TypedValue tv=new TypedValue();
            int actionBarHeight=0;
            if (getTheme().resolveAttribute(android.R.attr.actionBarSize,tv,true)) {
              actionBarHeight=TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
            }
            displayScrollToRead=(screen.y - statusBarHeight - actionBarHeight) < (mArticleTextView.getTop()) * 1.08;
            Log.d(TAG_ASYNC,"String_Node_Str" + displayScrollToRead);
            if (displayScrollToRead) {
              mScrollToReadLayout.startAnimation(slide_up);
              mScrollToReadLayout.setVisibility(View.VISIBLE);
              Log.d(TAG_ASYNC,"String_Node_Str" + mScrollToReadLayout.getVisibility());
            }
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
              mMainImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            }
 else {
              mMainImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            }
          }
        }
);
        detailViewProgress.progressiveStop();
        detailViewProgress.setVisibility(View.GONE);
      }
      @Override public void onError(){
        Log.d(TAG_ASYNC,"String_Node_Str");
      }
    }
);
  }
  bodyText=null;
  titleText=null;
  mImageURL=null;
}