Program: 194128
Project: 194128
Buggy source:
boolean performShowLocked(){
  if (mWin.isHiddenFromUserLocked()) {
    return false;
  }
  if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW && mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
    Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ drawStateToString()+ "String_Node_Str"+ mWin.isReadyForDisplayIgnoringKeyguard()+ "String_Node_Str"+ (mWin.mAttrs.type == TYPE_APPLICATION_STARTING)+ "String_Node_Str"+ mWin.mPolicyVisibility+ "String_Node_Str"+ mWin.mAttachedHidden+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppAnimator != null ? mAppAnimator.animating : false)+ "String_Node_Str"+ Debug.getCallers(3));
  }
  if (mDrawState == READY_TO_SHOW && mWin.isReadyForDisplayIgnoringKeyguard()) {
    if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)     WindowManagerService.logSurface(mWin,"String_Node_Str",null);
    if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW && mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
      Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mWin.mPolicyVisibility+ "String_Node_Str"+ mWin.mAttachedHidden+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppAnimator != null ? mAppAnimator.animating : false));
    }
    mService.enableScreenIfNeededLocked();
    applyEnterAnimationLocked();
    mLastAlpha=-1;
    if (DEBUG_SURFACE_TRACE || DEBUG_ANIM)     Slog.v(TAG,"String_Node_Str" + this);
    mDrawState=HAS_DRAWN;
    mService.scheduleAnimationLocked();
    int i=mWin.mChildWindows.size();
    while (i > 0) {
      i--;
      WindowState c=mWin.mChildWindows.get(i);
      if (c.mAttachedHidden) {
        c.mAttachedHidden=false;
        if (c.mWinAnimator.mSurfaceControl != null) {
          c.mWinAnimator.performShowLocked();
          final DisplayContent displayContent=c.getDisplayContent();
          if (displayContent != null) {
            displayContent.layoutNeeded=true;
          }
        }
      }
    }
    if (mWin.mAttrs.type != TYPE_APPLICATION_STARTING && mWin.mAppToken != null) {
      mWin.mAppToken.firstWindowDrawn=true;
      if (mWin.mAppToken.startingData != null) {
        if (WindowManagerService.DEBUG_STARTING_WINDOW || WindowManagerService.DEBUG_ANIM)         Slog.v(TAG,"String_Node_Str" + mWin.mToken + "String_Node_Str");
        clearAnimation();
        mService.mFinishedStarting.add(mWin.mAppToken);
        mService.mH.sendEmptyMessage(H.FINISHED_STARTING);
      }
      mWin.mAppToken.updateReportedVisibilityLocked();
    }
    return true;
  }
  return false;
}

Fixed version (ground truth):
boolean performShowLocked(){
  if (mWin.isHiddenFromUserLocked()) {
    if (DEBUG_VISIBILITY)     Slog.w(TAG,"String_Node_Str" + mWin + "String_Node_Str"+ mWin.mOwnerUid);
    mWin.hideLw(false);
    return false;
  }
  if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW && mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
    Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ drawStateToString()+ "String_Node_Str"+ mWin.isReadyForDisplayIgnoringKeyguard()+ "String_Node_Str"+ (mWin.mAttrs.type == TYPE_APPLICATION_STARTING)+ "String_Node_Str"+ mWin.mPolicyVisibility+ "String_Node_Str"+ mWin.mAttachedHidden+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppAnimator != null ? mAppAnimator.animating : false)+ "String_Node_Str"+ Debug.getCallers(3));
  }
  if (mDrawState == READY_TO_SHOW && mWin.isReadyForDisplayIgnoringKeyguard()) {
    if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)     WindowManagerService.logSurface(mWin,"String_Node_Str",null);
    if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW && mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
      Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mWin.mPolicyVisibility+ "String_Node_Str"+ mWin.mAttachedHidden+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppAnimator != null ? mAppAnimator.animating : false));
    }
    mService.enableScreenIfNeededLocked();
    applyEnterAnimationLocked();
    mLastAlpha=-1;
    if (DEBUG_SURFACE_TRACE || DEBUG_ANIM)     Slog.v(TAG,"String_Node_Str" + this);
    mDrawState=HAS_DRAWN;
    mService.scheduleAnimationLocked();
    int i=mWin.mChildWindows.size();
    while (i > 0) {
      i--;
      WindowState c=mWin.mChildWindows.get(i);
      if (c.mAttachedHidden) {
        c.mAttachedHidden=false;
        if (c.mWinAnimator.mSurfaceControl != null) {
          c.mWinAnimator.performShowLocked();
          final DisplayContent displayContent=c.getDisplayContent();
          if (displayContent != null) {
            displayContent.layoutNeeded=true;
          }
        }
      }
    }
    if (mWin.mAttrs.type != TYPE_APPLICATION_STARTING && mWin.mAppToken != null) {
      mWin.mAppToken.firstWindowDrawn=true;
      if (mWin.mAppToken.startingData != null) {
        if (WindowManagerService.DEBUG_STARTING_WINDOW || WindowManagerService.DEBUG_ANIM)         Slog.v(TAG,"String_Node_Str" + mWin.mToken + "String_Node_Str");
        clearAnimation();
        mService.mFinishedStarting.add(mWin.mAppToken);
        mService.mH.sendEmptyMessage(H.FINISHED_STARTING);
      }
      mWin.mAppToken.updateReportedVisibilityLocked();
    }
    return true;
  }
  return false;
}