Program: 24372
Project: 24372
Buggy source:
/** 
 * {@inheritDoc} 
 */
public void layoutWindowLw(WindowState win,WindowManager.LayoutParams attrs,WindowState attached){
  if (win == mStatusBar) {
    return;
  }
  if (false) {
    if ("String_Node_Str".equals(attrs.packageName) && attrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
      Log.i(TAG,"String_Node_Str");
    }
  }
  final int fl=attrs.flags;
  final int sim=attrs.softInputMode;
  final Rect pf=mTmpParentFrame;
  final Rect df=mTmpDisplayFrame;
  final Rect cf=mTmpContentFrame;
  final Rect vf=mTmpVisibleFrame;
  if (attrs.type == TYPE_INPUT_METHOD) {
    pf.left=df.left=cf.left=vf.left=mDockLeft;
    pf.top=df.top=cf.top=vf.top=mDockTop;
    pf.right=df.right=cf.right=vf.right=mDockRight;
    pf.bottom=df.bottom=cf.bottom=vf.bottom=mDockBottom;
    attrs.gravity=Gravity.BOTTOM;
    mDockLayer=win.getSurfaceLayer();
  }
 else {
    if ((fl & (FLAG_LAYOUT_IN_SCREEN | FLAG_FULLSCREEN | FLAG_LAYOUT_INSET_DECOR)) == (FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR)) {
      if (attached != null) {
        setAttachedWindowFrames(win,fl,sim,attached,true,pf,df,cf,vf);
      }
 else {
        pf.left=df.left=0;
        pf.top=df.top=0;
        pf.right=df.right=mW;
        pf.bottom=df.bottom=mH;
        if ((sim & SOFT_INPUT_MASK_ADJUST) != SOFT_INPUT_ADJUST_RESIZE) {
          cf.left=mDockLeft;
          cf.top=mDockTop;
          cf.right=mDockRight;
          cf.bottom=mDockBottom;
        }
 else {
          cf.left=mContentLeft;
          cf.top=mContentTop;
          cf.right=mContentRight;
          cf.bottom=mContentBottom;
        }
        vf.left=mCurLeft;
        vf.top=mCurTop;
        vf.right=mCurRight;
        vf.bottom=mCurBottom;
      }
    }
 else     if ((fl & FLAG_LAYOUT_IN_SCREEN) != 0) {
      pf.left=df.left=cf.left=0;
      pf.top=df.top=cf.top=0;
      pf.right=df.right=cf.right=mW;
      pf.bottom=df.bottom=cf.bottom=mH;
      vf.left=mCurLeft;
      vf.top=mCurTop;
      vf.right=mCurRight;
      vf.bottom=mCurBottom;
    }
 else     if (attached != null) {
      setAttachedWindowFrames(win,fl,sim,attached,false,pf,df,cf,vf);
    }
 else {
      pf.left=mContentLeft;
      pf.top=mContentTop;
      pf.right=mContentRight;
      pf.bottom=mContentBottom;
      if ((sim & SOFT_INPUT_MASK_ADJUST) != SOFT_INPUT_ADJUST_RESIZE) {
        df.left=cf.left=mDockLeft;
        df.top=cf.top=mDockTop;
        df.right=cf.right=mDockRight;
        df.bottom=cf.bottom=mDockBottom;
      }
 else {
        df.left=cf.left=mContentLeft;
        df.top=cf.top=mContentTop;
        df.right=cf.right=mContentRight;
        df.bottom=cf.bottom=mContentBottom;
      }
      vf.left=mCurLeft;
      vf.top=mCurTop;
      vf.right=mCurRight;
      vf.bottom=mCurBottom;
    }
  }
  if ((fl & FLAG_LAYOUT_NO_LIMITS) != 0) {
    df.left=df.top=cf.left=cf.top=vf.left=vf.top=-10000;
    df.right=df.bottom=cf.right=cf.bottom=vf.right=vf.bottom=10000;
  }
  if (DEBUG_LAYOUT)   Log.v(TAG,"String_Node_Str" + attrs.getTitle() + "String_Node_Str"+ Integer.toHexString(sim)+ "String_Node_Str"+ pf.toShortString()+ "String_Node_Str"+ df.toShortString()+ "String_Node_Str"+ cf.toShortString()+ "String_Node_Str"+ vf.toShortString());
  if (false) {
    if ("String_Node_Str".equals(attrs.packageName) && attrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
      if (true || localLOGV)       Log.v(TAG,"String_Node_Str" + win + "String_Node_Str"+ Integer.toHexString(sim)+ "String_Node_Str"+ pf.toShortString()+ "String_Node_Str"+ df.toShortString()+ "String_Node_Str"+ cf.toShortString()+ "String_Node_Str"+ vf.toShortString());
    }
  }
  win.computeFrameLw(pf,df,cf,vf);
  if (attrs.type == TYPE_INPUT_METHOD && !win.getGivenInsetsPendingLw()) {
    int top=win.getContentFrameLw().top;
    top+=win.getGivenContentInsetsLw().top;
    if (mContentBottom > top) {
      mContentBottom=top;
    }
    top=win.getVisibleFrameLw().top;
    top+=win.getGivenVisibleInsetsLw().top;
    if (mCurBottom > top) {
      mCurBottom=top;
    }
    if (DEBUG_LAYOUT)     Log.v(TAG,"String_Node_Str" + mDockBottom + "String_Node_Str"+ mContentBottom+ "String_Node_Str"+ mCurBottom);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
public void layoutWindowLw(WindowState win,WindowManager.LayoutParams attrs,WindowState attached){
  if (win == mStatusBar) {
    return;
  }
  if (false) {
    if ("String_Node_Str".equals(attrs.packageName) && attrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
      Log.i(TAG,"String_Node_Str");
    }
  }
  final int fl=attrs.flags;
  final int sim=attrs.softInputMode;
  final Rect pf=mTmpParentFrame;
  final Rect df=mTmpDisplayFrame;
  final Rect cf=mTmpContentFrame;
  final Rect vf=mTmpVisibleFrame;
  if (attrs.type == TYPE_INPUT_METHOD) {
    pf.left=df.left=cf.left=vf.left=mDockLeft;
    pf.top=df.top=cf.top=vf.top=mDockTop;
    pf.right=df.right=cf.right=vf.right=mDockRight;
    pf.bottom=df.bottom=cf.bottom=vf.bottom=mDockBottom;
    attrs.gravity=Gravity.BOTTOM;
    mDockLayer=win.getSurfaceLayer();
  }
 else {
    if ((fl & (FLAG_LAYOUT_IN_SCREEN | FLAG_FULLSCREEN | FLAG_LAYOUT_INSET_DECOR)) == (FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR)) {
      if (attached != null) {
        setAttachedWindowFrames(win,fl,sim,attached,true,pf,df,cf,vf);
      }
 else {
        pf.left=df.left=0;
        pf.top=df.top=0;
        pf.right=df.right=mW;
        pf.bottom=df.bottom=mH;
        if ((sim & SOFT_INPUT_MASK_ADJUST) != SOFT_INPUT_ADJUST_RESIZE) {
          cf.left=mDockLeft;
          cf.top=mDockTop;
          cf.right=mDockRight;
          cf.bottom=mDockBottom;
        }
 else {
          cf.left=mContentLeft;
          cf.top=mContentTop;
          cf.right=mContentRight;
          cf.bottom=mContentBottom;
        }
        vf.left=mCurLeft;
        vf.top=mCurTop;
        vf.right=mCurRight;
        vf.bottom=mCurBottom;
      }
    }
 else     if ((fl & FLAG_LAYOUT_IN_SCREEN) != 0) {
      pf.left=df.left=cf.left=0;
      pf.top=df.top=cf.top=0;
      pf.right=df.right=cf.right=mW;
      pf.bottom=df.bottom=cf.bottom=mH;
      vf.left=mCurLeft;
      vf.top=mCurTop;
      vf.right=mCurRight;
      vf.bottom=mCurBottom;
    }
 else     if (attached != null) {
      setAttachedWindowFrames(win,fl,sim,attached,false,pf,df,cf,vf);
    }
 else {
      pf.left=mContentLeft;
      pf.top=mContentTop;
      pf.right=mContentRight;
      pf.bottom=mContentBottom;
      if ((sim & SOFT_INPUT_MASK_ADJUST) != SOFT_INPUT_ADJUST_RESIZE) {
        df.left=cf.left=mDockLeft;
        df.top=cf.top=mDockTop;
        df.right=cf.right=mDockRight;
        df.bottom=cf.bottom=mDockBottom;
      }
 else {
        df.left=cf.left=mContentLeft;
        df.top=cf.top=mContentTop;
        df.right=cf.right=mContentRight;
        df.bottom=cf.bottom=mContentBottom;
      }
      vf.left=mCurLeft;
      vf.top=mCurTop;
      vf.right=mCurRight;
      vf.bottom=mCurBottom;
    }
  }
  if ((fl & FLAG_LAYOUT_NO_LIMITS) != 0) {
    df.left=df.top=cf.left=cf.top=vf.left=vf.top=-10000;
    df.right=df.bottom=cf.right=cf.bottom=vf.right=vf.bottom=10000;
  }
  if (DEBUG_LAYOUT)   Log.v(TAG,"String_Node_Str" + attrs.getTitle() + "String_Node_Str"+ Integer.toHexString(sim)+ "String_Node_Str"+ pf.toShortString()+ "String_Node_Str"+ df.toShortString()+ "String_Node_Str"+ cf.toShortString()+ "String_Node_Str"+ vf.toShortString());
  if (false) {
    if ("String_Node_Str".equals(attrs.packageName) && attrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
      if (true || localLOGV)       Log.v(TAG,"String_Node_Str" + win + "String_Node_Str"+ Integer.toHexString(sim)+ "String_Node_Str"+ pf.toShortString()+ "String_Node_Str"+ df.toShortString()+ "String_Node_Str"+ cf.toShortString()+ "String_Node_Str"+ vf.toShortString());
    }
  }
  win.computeFrameLw(pf,df,cf,vf);
  if (win.isVisibleLw()) {
    if ((attrs.flags & FLAG_FORCE_NOT_FULLSCREEN) != 0) {
      mForceStatusBar=true;
    }
 else     if (mTopFullscreenOpaqueWindowState == null && attrs.type >= FIRST_APPLICATION_WINDOW && attrs.type <= LAST_APPLICATION_WINDOW && win.fillsScreenLw(mW,mH,false,false)) {
      if (DEBUG_LAYOUT)       Log.v(TAG,"String_Node_Str" + win);
      mTopFullscreenOpaqueWindowState=win;
    }
  }
  if (attrs.type == TYPE_INPUT_METHOD && !win.getGivenInsetsPendingLw()) {
    int top=win.getContentFrameLw().top;
    top+=win.getGivenContentInsetsLw().top;
    if (mContentBottom > top) {
      mContentBottom=top;
    }
    top=win.getVisibleFrameLw().top;
    top+=win.getGivenVisibleInsetsLw().top;
    if (mCurBottom > top) {
      mCurBottom=top;
    }
    if (DEBUG_LAYOUT)     Log.v(TAG,"String_Node_Str" + mDockBottom + "String_Node_Str"+ mContentBottom+ "String_Node_Str"+ mCurBottom);
  }
}