Program: 171223
Project: 171223
Buggy source:
@Override public void onChildViewAdded(View parent,View child){
  View chattingView;
  int chattingViewPosition;
  int fitWindowChildCount=0;
  int chatRoomViewPosition=0;
  int officialViewPosition=0;
  int maskViewPosition=0;
  if (isWechatHighVersion(AppSaveInfoUtils.INSTANCE.wechatVersionInfo())) {
    fitWindowChildCount=3;
    chattingViewPosition=2;
    chatRoomViewPosition=2;
    officialViewPosition=3;
    maskViewPosition=4;
  }
 else {
    fitWindowChildCount=2;
    chattingViewPosition=1;
    chatRoomViewPosition=1;
    officialViewPosition=2;
    maskViewPosition=3;
  }
  chattingView=fitSystemWindowLayoutView.getChildAt(chattingViewPosition);
  if (fitSystemWindowLayoutView.getChildCount() != fitWindowChildCount)   return;
  if (!(fitSystemWindowLayoutView.getChildAt(0) instanceof LinearLayout))   return;
  if (!chattingView.getClass().getSimpleName().equals("String_Node_Str"))   return;
  fitSystemWindowLayoutView.addView(chatRoomViewPresenter.getPresenterView(),chatRoomViewPosition);
  fitSystemWindowLayoutView.addView(officialViewPresenter.getPresenterView(),officialViewPosition);
  maskView=new View(context);
  maskView.setBackgroundColor(0xff000000);
  maskView.setVisibility(View.INVISIBLE);
  FrameLayout.LayoutParams maskParams=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);
  maskView.setLayoutParams(maskParams);
  fitSystemWindowLayoutView.addView(maskView,maskViewPosition);
  if (((ViewGroup)fitSystemWindowLayoutView.getChildAt(0)).getChildCount() != 2)   return;
  final View mainView=((ViewGroup)fitSystemWindowLayoutView.getChildAt(0)).getChildAt(1);
  mainView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
    @Override public void onGlobalLayout(){
      int left=mainView.getLeft();
      int right=mainView.getRight();
      int top=mainView.getTop();
      int bottom=mainView.getBottom();
      int width=right - left;
      int height=bottom - top;
      if (width == 0 || height == 0)       return;
      ViewGroup chatRoomViewPresenterPresenterView=chatRoomViewPresenter.getPresenterView();
      ViewGroup officialViewPresenterPresenterView=officialViewPresenter.getPresenterView();
      int left1=chatRoomViewPresenterPresenterView.getLeft();
      int top1=chatRoomViewPresenterPresenterView.getTop();
      int right1=chatRoomViewPresenterPresenterView.getRight();
      int bottom1=chatRoomViewPresenterPresenterView.getBottom();
      if (new Rect(left1,top1,right1,bottom1).equals(new Rect(left,top,right,bottom)))       return;
      FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(width,height);
      params.setMargins(0,top,0,0);
      chatRoomViewPresenterPresenterView.setLayoutParams(params);
      officialViewPresenterPresenterView.setLayoutParams(params);
      maskView.setLayoutParams(params);
    }
  }
);
}

Fixed version (ground truth):
@Override public void onChildViewAdded(View parent,View child){
  View chattingView;
  int chattingViewPosition;
  int fitWindowChildCount=0;
  int chatRoomViewPosition=0;
  int officialViewPosition=0;
  int maskViewPosition=0;
  if (isWechatHighVersion(AppSaveInfoUtils.INSTANCE.wechatVersionInfo())) {
    fitWindowChildCount=3;
    chattingViewPosition=2;
    chatRoomViewPosition=2;
    officialViewPosition=3;
    maskViewPosition=4;
  }
 else {
    fitWindowChildCount=2;
    chattingViewPosition=1;
    chatRoomViewPosition=1;
    officialViewPosition=2;
    maskViewPosition=3;
  }
  chattingView=fitSystemWindowLayoutView.getChildAt(chattingViewPosition);
  if (fitSystemWindowLayoutView.getChildCount() != fitWindowChildCount)   return;
  if (!(fitSystemWindowLayoutView.getChildAt(0) instanceof LinearLayout))   return;
  if (!chattingView.getClass().getSimpleName().equals("String_Node_Str"))   return;
  LogUtils.INSTANCE.log("String_Node_Str");
  if (chatRoomViewPresenter == null)   chatRoomViewPresenter=new ChatRoomViewPresenter(context,Type.CHAT_ROOMS);
  if (officialViewPresenter == null)   officialViewPresenter=new ChatRoomViewPresenter(context,Type.OFFICIAL);
  fitSystemWindowLayoutView.addView(chatRoomViewPresenter.getPresenterView(),chatRoomViewPosition);
  fitSystemWindowLayoutView.addView(officialViewPresenter.getPresenterView(),officialViewPosition);
  maskView=new View(context);
  maskView.setBackgroundColor(0xff000000);
  maskView.setVisibility(View.INVISIBLE);
  FrameLayout.LayoutParams maskParams=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);
  maskView.setLayoutParams(maskParams);
  fitSystemWindowLayoutView.addView(maskView,maskViewPosition);
  if (((ViewGroup)fitSystemWindowLayoutView.getChildAt(0)).getChildCount() != 2)   return;
  final View mainView=((ViewGroup)fitSystemWindowLayoutView.getChildAt(0)).getChildAt(1);
  mainView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
    @Override public void onGlobalLayout(){
      int left=mainView.getLeft();
      int right=mainView.getRight();
      int top=mainView.getTop();
      int bottom=mainView.getBottom();
      int width=right - left;
      int height=bottom - top;
      if (width == 0 || height == 0)       return;
      ViewGroup chatRoomViewPresenterPresenterView=chatRoomViewPresenter.getPresenterView();
      ViewGroup officialViewPresenterPresenterView=officialViewPresenter.getPresenterView();
      int left1=chatRoomViewPresenterPresenterView.getLeft();
      int top1=chatRoomViewPresenterPresenterView.getTop();
      int right1=chatRoomViewPresenterPresenterView.getRight();
      int bottom1=chatRoomViewPresenterPresenterView.getBottom();
      if (new Rect(left1,top1,right1,bottom1).equals(new Rect(left,top,right,bottom)))       return;
      FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(width,height);
      params.setMargins(0,top,0,0);
      chatRoomViewPresenterPresenterView.setLayoutParams(params);
      officialViewPresenterPresenterView.setLayoutParams(params);
      maskView.setLayoutParams(params);
    }
  }
);
}