Program: 192941
Project: 192941
Buggy source:
void resizeDockedStackLocked(Rect dockedBounds,Rect tempDockedTaskBounds,Rect tempDockedTaskInsetBounds,Rect tempOtherTaskBounds,Rect tempOtherTaskInsetBounds,boolean preserveWindows){
  final ActivityStack stack=getStack(DOCKED_STACK_ID);
  if (stack == null) {
    Slog.w(TAG,"String_Node_Str");
    return;
  }
  Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER,"String_Node_Str");
  mWindowManager.deferSurfaceLayout();
  try {
    ActivityRecord r=stack.topRunningActivityLocked();
    resizeStackUncheckedLocked(stack,dockedBounds,tempDockedTaskBounds,tempDockedTaskInsetBounds);
    if (stack.mFullscreen) {
      for (int i=FIRST_STATIC_STACK_ID; i <= LAST_STATIC_STACK_ID; i++) {
        if (StackId.isResizeableByDockedStack(i) && getStack(i) != null) {
          resizeStackLocked(i,null,null,null,preserveWindows,true);
        }
      }
      ArrayList<TaskRecord> tasks=stack.getAllTasks();
      final int count=tasks.size();
      for (int i=0; i < count; i++) {
        moveTaskToStackLocked(tasks.get(i).taskId,FULLSCREEN_WORKSPACE_STACK_ID,ON_TOP,FORCE_FOCUS,"String_Node_Str",false);
      }
      r=null;
    }
 else {
      mWindowManager.getStackDockedModeBounds(HOME_STACK_ID,tempRect);
      for (int i=FIRST_STATIC_STACK_ID; i <= LAST_STATIC_STACK_ID; i++) {
        if (StackId.isResizeableByDockedStack(i)) {
          ActivityStack otherStack=getStack(i);
          if (otherStack != null) {
            resizeStackLocked(i,tempRect,tempOtherTaskBounds,tempOtherTaskInsetBounds,preserveWindows,true);
          }
        }
      }
    }
    ensureConfigurationAndResume(stack,r,preserveWindows);
  }
  finally {
    mWindowManager.continueSurfaceLayout();
    Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
  }
  mResizeDockedStackTimeout.notifyResizing(dockedBounds,tempDockedTaskBounds != null || tempDockedTaskInsetBounds != null || tempOtherTaskBounds != null || tempOtherTaskInsetBounds != null);
}

Fixed version (ground truth):
void resizeDockedStackLocked(Rect dockedBounds,Rect tempDockedTaskBounds,Rect tempDockedTaskInsetBounds,Rect tempOtherTaskBounds,Rect tempOtherTaskInsetBounds,boolean preserveWindows){
  final ActivityStack stack=getStack(DOCKED_STACK_ID);
  if (stack == null) {
    Slog.w(TAG,"String_Node_Str");
    return;
  }
  Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER,"String_Node_Str");
  mWindowManager.deferSurfaceLayout();
  try {
    ActivityRecord r=stack.topRunningActivityLocked();
    resizeStackUncheckedLocked(stack,dockedBounds,tempDockedTaskBounds,tempDockedTaskInsetBounds);
    if (stack.mFullscreen) {
      for (int i=FIRST_STATIC_STACK_ID; i <= LAST_STATIC_STACK_ID; i++) {
        if (StackId.isResizeableByDockedStack(i) && getStack(i) != null) {
          resizeStackLocked(i,null,null,null,preserveWindows,true);
        }
      }
      ArrayList<TaskRecord> tasks=stack.getAllTasks();
      final int count=tasks.size();
      for (int i=0; i < count; i++) {
        moveTaskToStackLocked(tasks.get(i).taskId,FULLSCREEN_WORKSPACE_STACK_ID,ON_TOP,FORCE_FOCUS,"String_Node_Str",false);
      }
      r=null;
    }
 else {
      mWindowManager.getStackDockedModeBounds(HOME_STACK_ID,tempRect,true);
      for (int i=FIRST_STATIC_STACK_ID; i <= LAST_STATIC_STACK_ID; i++) {
        if (StackId.isResizeableByDockedStack(i)) {
          ActivityStack otherStack=getStack(i);
          if (otherStack != null) {
            resizeStackLocked(i,tempRect,tempOtherTaskBounds,tempOtherTaskInsetBounds,preserveWindows,true);
          }
        }
      }
    }
    ensureConfigurationAndResume(stack,r,preserveWindows);
  }
  finally {
    mWindowManager.continueSurfaceLayout();
    Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
  }
  mResizeDockedStackTimeout.notifyResizing(dockedBounds,tempDockedTaskBounds != null || tempDockedTaskInsetBounds != null || tempOtherTaskBounds != null || tempOtherTaskInsetBounds != null);
}