nus-yam/ex-repair huggingface dataset:
Program: 192382
Project: 192382
Buggy source:
/** 
 * Measures a TaskView.
 */
private void measureTaskView(TaskView tv){
  if (tv.getBackground() != null) {
    tv.getBackground().getPadding(mTmpRect);
  }
 else {
    mTmpRect.setEmpty();
  }
  tv.measure(MeasureSpec.makeMeasureSpec(mLayoutAlgorithm.mTaskRect.width() + mTmpRect.left + mTmpRect.right,MeasureSpec.EXACTLY),MeasureSpec.makeMeasureSpec(mLayoutAlgorithm.mTaskRect.height() + mTmpRect.top + mTmpRect.bottom,MeasureSpec.EXACTLY));
}

Fixed version (ground truth):
/** 
 * Measures a TaskView.
 */
private void measureTaskView(TaskView tv){
  if (tv.getBackground() != null) {
    tv.getBackground().getPadding(mTmpRect);
  }
 else {
    mTmpRect.setEmpty();
  }
  Rect taskRect=mStableLayoutAlgorithm.mTaskRect;
  tv.measure(MeasureSpec.makeMeasureSpec(taskRect.width() + mTmpRect.left + mTmpRect.right,MeasureSpec.EXACTLY),MeasureSpec.makeMeasureSpec(taskRect.height() + mTmpRect.top + mTmpRect.bottom,MeasureSpec.EXACTLY));
}
Program: 192383
Project: 192383
Buggy source:
/** 
 * Updates the system insets.
 */
public void setSystemInsets(Rect systemInsets){
  if (!systemInsets.equals(mLayoutAlgorithm.mSystemInsets)) {
    mLayoutAlgorithm.setSystemInsets(systemInsets);
    requestLayout();
  }
}

Fixed version (ground truth):
/** 
 * Updates the system insets.
 */
public void setSystemInsets(Rect systemInsets){
  if (!systemInsets.equals(mLayoutAlgorithm.mSystemInsets)) {
    mStableLayoutAlgorithm.setSystemInsets(systemInsets);
    mLayoutAlgorithm.setSystemInsets(systemInsets);
    requestLayout();
  }
}
Program: 192384
Project: 192384
Buggy source:
/** 
 * Called from RecentsActivity when it is relaunched.
 */
void onReload(boolean isResumingFromVisible){
  if (!isResumingFromVisible) {
    resetFocusedTask(getFocusedTask());
  }
  List<TaskView> taskViews=new ArrayList<>();
  taskViews.addAll(getTaskViews());
  taskViews.addAll(mViewPool.getViews());
  for (int i=taskViews.size() - 1; i >= 0; i--) {
    taskViews.get(i).onReload(isResumingFromVisible);
  }
  readSystemFlags();
  mTaskViewsClipDirty=true;
  mEnterAnimationComplete=false;
  mUIDozeTrigger.stopDozing();
  if (isResumingFromVisible) {
    int ffBgAlpha=mLayoutAlgorithm.getStackState().freeformBackgroundAlpha;
    animateFreeformWorkspaceBackgroundAlpha(ffBgAlpha,new AnimationProps(150,Interpolators.FAST_OUT_SLOW_IN));
  }
 else {
    mStackScroller.reset();
    mLayoutAlgorithm.reset();
  }
  mAwaitingFirstLayout=true;
  requestLayout();
}

Fixed version (ground truth):
/** 
 * Called from RecentsActivity when it is relaunched.
 */
void onReload(boolean isResumingFromVisible){
  if (!isResumingFromVisible) {
    resetFocusedTask(getFocusedTask());
  }
  List<TaskView> taskViews=new ArrayList<>();
  taskViews.addAll(getTaskViews());
  taskViews.addAll(mViewPool.getViews());
  for (int i=taskViews.size() - 1; i >= 0; i--) {
    taskViews.get(i).onReload(isResumingFromVisible);
  }
  readSystemFlags();
  mTaskViewsClipDirty=true;
  mEnterAnimationComplete=false;
  mUIDozeTrigger.stopDozing();
  if (isResumingFromVisible) {
    int ffBgAlpha=mLayoutAlgorithm.getStackState().freeformBackgroundAlpha;
    animateFreeformWorkspaceBackgroundAlpha(ffBgAlpha,new AnimationProps(150,Interpolators.FAST_OUT_SLOW_IN));
  }
 else {
    mStackScroller.reset();
    mStableLayoutAlgorithm.reset();
    mLayoutAlgorithm.reset();
  }
  mAwaitingFirstLayout=true;
  requestLayout();
}
Program: 192385
Project: 192385
Buggy source:
/** 
 * This is called with the full window width and height to allow stack view children to perform the full screen transition down.
 */
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  mInMeasureLayout=true;
  int width=MeasureSpec.getSize(widthMeasureSpec);
  int height=MeasureSpec.getSize(heightMeasureSpec);
  mLayoutAlgorithm.getTaskStackBounds(new Rect(0,0,width,height),mLayoutAlgorithm.mSystemInsets.top,mLayoutAlgorithm.mSystemInsets.right,mTmpRect);
  if (!mTmpRect.equals(mStableStackBounds)) {
    mStableStackBounds.set(mTmpRect);
    mStackBounds.set(mTmpRect);
    mStableWindowRect.set(0,0,width,height);
    mWindowRect.set(0,0,width,height);
  }
  mLayoutAlgorithm.initialize(mWindowRect,mStackBounds,TaskStackLayoutAlgorithm.StackState.getStackStateForStack(mStack));
  updateLayoutAlgorithm(false,EMPTY_TASK_SET);
  if (mAwaitingFirstLayout || (mStackScroller.getStackScroll() == mLayoutAlgorithm.mInitialScrollP)) {
    updateToInitialState();
  }
  bindVisibleTaskViews(mStackScroller.getStackScroll(),EMPTY_TASK_SET,false);
  mTmpTaskViews.clear();
  mTmpTaskViews.addAll(getTaskViews());
  mTmpTaskViews.addAll(mViewPool.getViews());
  int taskViewCount=mTmpTaskViews.size();
  for (int i=0; i < taskViewCount; i++) {
    measureTaskView(mTmpTaskViews.get(i));
  }
  setMeasuredDimension(width,height);
  mInMeasureLayout=false;
}

Fixed version (ground truth):
/** 
 * This is called with the full window width and height to allow stack view children to perform the full screen transition down.
 */
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  mInMeasureLayout=true;
  int width=MeasureSpec.getSize(widthMeasureSpec);
  int height=MeasureSpec.getSize(heightMeasureSpec);
  mLayoutAlgorithm.getTaskStackBounds(new Rect(0,0,width,height),mLayoutAlgorithm.mSystemInsets.top,mLayoutAlgorithm.mSystemInsets.right,mTmpRect);
  if (!mTmpRect.equals(mStableStackBounds)) {
    mStableStackBounds.set(mTmpRect);
    mStackBounds.set(mTmpRect);
    mStableWindowRect.set(0,0,width,height);
    mWindowRect.set(0,0,width,height);
  }
  mStableLayoutAlgorithm.initialize(mStableWindowRect,mStableStackBounds,TaskStackLayoutAlgorithm.StackState.getStackStateForStack(mStack));
  mLayoutAlgorithm.initialize(mWindowRect,mStackBounds,TaskStackLayoutAlgorithm.StackState.getStackStateForStack(mStack));
  updateLayoutAlgorithm(false,EMPTY_TASK_SET);
  if (mAwaitingFirstLayout || (mStackScroller.getStackScroll() == mLayoutAlgorithm.mInitialScrollP)) {
    updateToInitialState();
  }
  bindVisibleTaskViews(mStackScroller.getStackScroll(),EMPTY_TASK_SET,false);
  mTmpTaskViews.clear();
  mTmpTaskViews.addAll(getTaskViews());
  mTmpTaskViews.addAll(mViewPool.getViews());
  int taskViewCount=mTmpTaskViews.size();
  for (int i=0; i < taskViewCount; i++) {
    measureTaskView(mTmpTaskViews.get(i));
  }
  setMeasuredDimension(width,height);
  mInMeasureLayout=false;
}
Program: 192386
Project: 192386
Buggy source:
@Override public void run(){
  float pos=getPos(ev);
  float delta=pos - mInitialTouchPos;
  if (mCurrView != null && !mLongPressSent && Math.abs(delta) < mPagingTouchSlop) {
    mLongPressSent=true;
    mCurrView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
    mCurrView.getLocationOnScreen(mTmpPos);
    final int x=(int)ev.getRawX() - mTmpPos[0];
    final int y=(int)ev.getRawY() - mTmpPos[1];
    mLongPressListener.onLongPress(mCurrView,x,y);
  }
}

Fixed version (ground truth):
@Override public void run(){
  if (mCurrView != null && !mLongPressSent) {
    mLongPressSent=true;
    mCurrView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
    mCurrView.getLocationOnScreen(mTmpPos);
    final int x=(int)ev.getRawX() - mTmpPos[0];
    final int y=(int)ev.getRawY() - mTmpPos[1];
    mLongPressListener.onLongPress(mCurrView,x,y);
  }
}
Program: 192388
Project: 192388
Buggy source:
/** 
 * @param maximum the maximum to return at most
 * @return the maximum keyguard notifications that can fit on the screen
 */
public int computeMaxKeyguardNotifications(int maximum){
  float minPadding=mClockPositionAlgorithm.getMinStackScrollerPadding(getHeight(),mKeyguardStatusView.getHeight());
  int notificationPadding=Math.max(1,getResources().getDimensionPixelSize(R.dimen.notification_divider_height));
  final int overflowheight=getResources().getDimensionPixelSize(R.dimen.notification_summary_height);
  float bottomStackSize=mNotificationStackScroller.getKeyguardBottomStackSize();
  float availableSpace=mNotificationStackScroller.getHeight() - minPadding - overflowheight- bottomStackSize;
  int count=0;
  for (int i=0; i < mNotificationStackScroller.getChildCount(); i++) {
    ExpandableView child=(ExpandableView)mNotificationStackScroller.getChildAt(i);
    if (!(child instanceof ExpandableNotificationRow)) {
      continue;
    }
    availableSpace-=child.getMinHeight() + notificationPadding;
    if (availableSpace >= 0 && count < maximum) {
      count++;
    }
 else {
      return count;
    }
  }
  return count;
}

Fixed version (ground truth):
/** 
 * @param maximum the maximum to return at most
 * @return the maximum keyguard notifications that can fit on the screen
 */
public int computeMaxKeyguardNotifications(int maximum){
  float minPadding=mClockPositionAlgorithm.getMinStackScrollerPadding(getHeight(),mKeyguardStatusView.getHeight());
  int notificationPadding=Math.max(1,getResources().getDimensionPixelSize(R.dimen.notification_divider_height));
  final int overflowheight=getResources().getDimensionPixelSize(R.dimen.notification_summary_height);
  float bottomStackSize=mNotificationStackScroller.getKeyguardBottomStackSize();
  float availableSpace=mNotificationStackScroller.getHeight() - minPadding - overflowheight- bottomStackSize;
  int count=0;
  for (int i=0; i < mNotificationStackScroller.getChildCount(); i++) {
    ExpandableView child=(ExpandableView)mNotificationStackScroller.getChildAt(i);
    if (!(child instanceof ExpandableNotificationRow)) {
      continue;
    }
    boolean suppressedSummary=mGroupManager.isSummaryOfSuppressedGroup(((ExpandableNotificationRow)child).getStatusBarNotification());
    if (suppressedSummary) {
      continue;
    }
    availableSpace-=child.getMinHeight() + notificationPadding;
    if (availableSpace >= 0 && count < maximum) {
      count++;
    }
 else {
      return count;
    }
  }
  return count;
}
Program: 192390
Project: 192390
Buggy source:
/** 
 * @param maximum the maximum to return at most
 * @return the maximum keyguard notifications that can fit on the screen
 */
public int computeMaxKeyguardNotifications(int maximum){
  float minPadding=mClockPositionAlgorithm.getMinStackScrollerPadding(getHeight(),mKeyguardStatusView.getHeight());
  int notificationPadding=Math.max(1,getResources().getDimensionPixelSize(R.dimen.notification_divider_height));
  final int overflowheight=getResources().getDimensionPixelSize(R.dimen.notification_summary_height);
  float bottomStackSize=mNotificationStackScroller.getKeyguardBottomStackSize();
  float availableSpace=mNotificationStackScroller.getHeight() - minPadding - overflowheight- bottomStackSize;
  int count=0;
  for (int i=0; i < mNotificationStackScroller.getChildCount(); i++) {
    ExpandableView child=(ExpandableView)mNotificationStackScroller.getChildAt(i);
    if (!(child instanceof ExpandableNotificationRow)) {
      continue;
    }
    availableSpace-=child.getMinHeight() + notificationPadding;
    if (availableSpace >= 0 && count < maximum) {
      count++;
    }
 else {
      return count;
    }
  }
  return count;
}

Fixed version (ground truth):
/** 
 * @param maximum the maximum to return at most
 * @return the maximum keyguard notifications that can fit on the screen
 */
public int computeMaxKeyguardNotifications(int maximum){
  float minPadding=mClockPositionAlgorithm.getMinStackScrollerPadding(getHeight(),mKeyguardStatusView.getHeight());
  int notificationPadding=Math.max(1,getResources().getDimensionPixelSize(R.dimen.notification_divider_height));
  final int overflowheight=getResources().getDimensionPixelSize(R.dimen.notification_summary_height);
  float bottomStackSize=mNotificationStackScroller.getKeyguardBottomStackSize();
  float availableSpace=mNotificationStackScroller.getHeight() - minPadding - overflowheight- bottomStackSize;
  int count=0;
  for (int i=0; i < mNotificationStackScroller.getChildCount(); i++) {
    ExpandableView child=(ExpandableView)mNotificationStackScroller.getChildAt(i);
    if (!(child instanceof ExpandableNotificationRow)) {
      continue;
    }
    boolean suppressedSummary=mGroupManager.isSummaryOfSuppressedGroup(((ExpandableNotificationRow)child).getStatusBarNotification());
    if (suppressedSummary) {
      continue;
    }
    availableSpace-=child.getMinHeight() + notificationPadding;
    if (availableSpace >= 0 && count < maximum) {
      count++;
    }
 else {
      return count;
    }
  }
  return count;
}
Program: 192398
Project: 192398
Buggy source:
/** 
 * Called when the fragment is no longer attached to its activity.  This is called after  {@link #onDestroy()}, except in the cases where the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}), in which case it is called after   {@link #onStop()}.
 */
public void onDetach(){
  mCalled=true;
}

Fixed version (ground truth):
/** 
 * Called when the fragment is no longer attached to its activity.  This is called after  {@link #onDestroy()}, except in the cases where the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}), in which case it is called after   {@link #onStop()}.
 */
public void onDetach(){
  mCalled=true;
  if (mChildFragmentManager != null) {
    if (!mRetaining) {
      throw new IllegalStateException("String_Node_Str" + this + "String_Node_Str"+ "String_Node_Str");
    }
    mChildFragmentManager.dispatchDestroy();
    mChildFragmentManager=null;
  }
}
Program: 192399
Project: 192399
Buggy source:
/** 
 * Called to do initial creation of a fragment.  This is called after  {@link #onAttach(Activity)} and before{@link #onCreateView(LayoutInflater,ViewGroup,Bundle)}, but is not called if the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}). <p>Note that this can be called while the fragment's activity is still in the process of being created.  As such, you can not rely on things like the activity's content view hierarchy being initialized at this point.  If you want to do work once the activity itself is created, see   {@link #onActivityCreated(Bundle)}. <p>If your app's <code>targetSdkVersion</code> is 23 or lower, child fragments being restored from the savedInstanceState are restored after <code>onCreate</code> returns. When targeting N or above and running on an N or newer platform version they are restored by <code>Fragment.onCreate</code>.</p>
 * @param savedInstanceState If the fragment is being re-created froma previous saved state, this is the state.
 */
public void onCreate(@Nullable Bundle savedInstanceState){
  mCalled=true;
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version >= Build.VERSION_CODES.N) {
    if (savedInstanceState != null) {
      Parcelable p=savedInstanceState.getParcelable(Activity.FRAGMENTS_TAG);
      if (p != null) {
        if (mChildFragmentManager == null) {
          instantiateChildFragmentManager();
        }
        mChildFragmentManager.restoreAllState(p,mChildNonConfig);
        mChildNonConfig=null;
        mChildFragmentManager.dispatchCreate();
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Called to do initial creation of a fragment.  This is called after  {@link #onAttach(Activity)} and before{@link #onCreateView(LayoutInflater,ViewGroup,Bundle)}, but is not called if the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}). <p>Note that this can be called while the fragment's activity is still in the process of being created.  As such, you can not rely on things like the activity's content view hierarchy being initialized at this point.  If you want to do work once the activity itself is created, see   {@link #onActivityCreated(Bundle)}. <p>If your app's <code>targetSdkVersion</code> is 23 or lower, child fragments being restored from the savedInstanceState are restored after <code>onCreate</code> returns. When targeting N or above and running on an N or newer platform version they are restored by <code>Fragment.onCreate</code>.</p>
 * @param savedInstanceState If the fragment is being re-created froma previous saved state, this is the state.
 */
public void onCreate(@Nullable Bundle savedInstanceState){
  mCalled=true;
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version >= Build.VERSION_CODES.N) {
    restoreChildFragmentState(savedInstanceState,true);
  }
}
Program: 192400
Project: 192400
Buggy source:
void performCreate(Bundle savedInstanceState){
  if (mChildFragmentManager != null) {
    mChildFragmentManager.noteStateNotSaved();
  }
  mState=CREATED;
  mCalled=false;
  onCreate(savedInstanceState);
  if (!mCalled) {
    throw new SuperNotCalledException("String_Node_Str" + this + "String_Node_Str");
  }
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version < Build.VERSION_CODES.N) {
    if (savedInstanceState != null) {
      Parcelable p=savedInstanceState.getParcelable(Activity.FRAGMENTS_TAG);
      if (p != null) {
        if (mChildFragmentManager == null) {
          instantiateChildFragmentManager();
        }
        mChildFragmentManager.restoreAllState(p,null);
        mChildFragmentManager.dispatchCreate();
      }
    }
  }
}

Fixed version (ground truth):
void performCreate(Bundle savedInstanceState){
  if (mChildFragmentManager != null) {
    mChildFragmentManager.noteStateNotSaved();
  }
  mState=CREATED;
  mCalled=false;
  onCreate(savedInstanceState);
  if (!mCalled) {
    throw new SuperNotCalledException("String_Node_Str" + this + "String_Node_Str");
  }
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version < Build.VERSION_CODES.N) {
    restoreChildFragmentState(savedInstanceState,false);
  }
}
Program: 192401
Project: 192401
Buggy source:
/** 
 * Called when the fragment is no longer attached to its activity.  This is called after  {@link #onDestroy()}, except in the cases where the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}), in which case it is called after   {@link #onStop()}.
 */
public void onDetach(){
  mCalled=true;
}

Fixed version (ground truth):
/** 
 * Called when the fragment is no longer attached to its activity.  This is called after  {@link #onDestroy()}, except in the cases where the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}), in which case it is called after   {@link #onStop()}.
 */
public void onDetach(){
  mCalled=true;
  if (mChildFragmentManager != null) {
    if (!mRetaining) {
      throw new IllegalStateException("String_Node_Str" + this + "String_Node_Str"+ "String_Node_Str");
    }
    mChildFragmentManager.dispatchDestroy();
    mChildFragmentManager=null;
  }
}
Program: 192402
Project: 192402
Buggy source:
/** 
 * Called to do initial creation of a fragment.  This is called after  {@link #onAttach(Activity)} and before{@link #onCreateView(LayoutInflater,ViewGroup,Bundle)}, but is not called if the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}). <p>Note that this can be called while the fragment's activity is still in the process of being created.  As such, you can not rely on things like the activity's content view hierarchy being initialized at this point.  If you want to do work once the activity itself is created, see   {@link #onActivityCreated(Bundle)}. <p>If your app's <code>targetSdkVersion</code> is 23 or lower, child fragments being restored from the savedInstanceState are restored after <code>onCreate</code> returns. When targeting N or above and running on an N or newer platform version they are restored by <code>Fragment.onCreate</code>.</p>
 * @param savedInstanceState If the fragment is being re-created froma previous saved state, this is the state.
 */
public void onCreate(@Nullable Bundle savedInstanceState){
  mCalled=true;
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version >= Build.VERSION_CODES.N) {
    if (savedInstanceState != null) {
      Parcelable p=savedInstanceState.getParcelable(Activity.FRAGMENTS_TAG);
      if (p != null) {
        if (mChildFragmentManager == null) {
          instantiateChildFragmentManager();
        }
        mChildFragmentManager.restoreAllState(p,mChildNonConfig);
        mChildNonConfig=null;
        mChildFragmentManager.dispatchCreate();
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Called to do initial creation of a fragment.  This is called after  {@link #onAttach(Activity)} and before{@link #onCreateView(LayoutInflater,ViewGroup,Bundle)}, but is not called if the fragment instance is retained across Activity re-creation (see   {@link #setRetainInstance(boolean)}). <p>Note that this can be called while the fragment's activity is still in the process of being created.  As such, you can not rely on things like the activity's content view hierarchy being initialized at this point.  If you want to do work once the activity itself is created, see   {@link #onActivityCreated(Bundle)}. <p>If your app's <code>targetSdkVersion</code> is 23 or lower, child fragments being restored from the savedInstanceState are restored after <code>onCreate</code> returns. When targeting N or above and running on an N or newer platform version they are restored by <code>Fragment.onCreate</code>.</p>
 * @param savedInstanceState If the fragment is being re-created froma previous saved state, this is the state.
 */
public void onCreate(@Nullable Bundle savedInstanceState){
  mCalled=true;
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version >= Build.VERSION_CODES.N) {
    restoreChildFragmentState(savedInstanceState,true);
  }
}
Program: 192403
Project: 192403
Buggy source:
void performCreate(Bundle savedInstanceState){
  if (mChildFragmentManager != null) {
    mChildFragmentManager.noteStateNotSaved();
  }
  mState=CREATED;
  mCalled=false;
  onCreate(savedInstanceState);
  if (!mCalled) {
    throw new SuperNotCalledException("String_Node_Str" + this + "String_Node_Str");
  }
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version < Build.VERSION_CODES.N) {
    if (savedInstanceState != null) {
      Parcelable p=savedInstanceState.getParcelable(Activity.FRAGMENTS_TAG);
      if (p != null) {
        if (mChildFragmentManager == null) {
          instantiateChildFragmentManager();
        }
        mChildFragmentManager.restoreAllState(p,null);
        mChildFragmentManager.dispatchCreate();
      }
    }
  }
}

Fixed version (ground truth):
void performCreate(Bundle savedInstanceState){
  if (mChildFragmentManager != null) {
    mChildFragmentManager.noteStateNotSaved();
  }
  mState=CREATED;
  mCalled=false;
  onCreate(savedInstanceState);
  if (!mCalled) {
    throw new SuperNotCalledException("String_Node_Str" + this + "String_Node_Str");
  }
  final Context context=getContext();
  final int version=context != null ? context.getApplicationInfo().targetSdkVersion : 0;
  if (version < Build.VERSION_CODES.N) {
    restoreChildFragmentState(savedInstanceState,false);
  }
}
Program: 192404
Project: 192404
Buggy source:
VectorDrawableAnimatorUI(AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}

Fixed version (ground truth):
VectorDrawableAnimatorUI(@NonNull AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}
Program: 192405
Project: 192405
Buggy source:
@Override public void init(AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}

Fixed version (ground truth):
@Override public void init(@NonNull AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}
Program: 192406
Project: 192406
Buggy source:
VectorDrawableAnimatorUI(AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}

Fixed version (ground truth):
VectorDrawableAnimatorUI(@NonNull AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}
Program: 192407
Project: 192407
Buggy source:
@Override public void init(AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}

Fixed version (ground truth):
@Override public void init(@NonNull AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}
Program: 192408
Project: 192408
Buggy source:
VectorDrawableAnimatorUI(AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}

Fixed version (ground truth):
VectorDrawableAnimatorUI(@NonNull AnimatedVectorDrawable drawable){
  mDrawable=drawable;
}
Program: 192409
Project: 192409
Buggy source:
@Override public void init(AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}

Fixed version (ground truth):
@Override public void init(@NonNull AnimatorSet set){
  if (mInitialized) {
    throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str");
  }
  mShouldIgnoreInvalidAnim=shouldIgnoreInvalidAnimation();
  parseAnimatorSet(set,0);
  mInitialized=true;
  mIsReversible=true;
  if (mContainsSequentialAnimators) {
    mIsReversible=false;
  }
 else {
    for (int i=0; i < mStartDelays.size(); i++) {
      if (mStartDelays.get(i) > 0) {
        mIsReversible=false;
        return;
      }
    }
  }
}
Program: 192410
Project: 192410
Buggy source:
public void startAnimationToState(StackScrollState state,StackStateAnimator stateAnimator,long baseDelay,long duration){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=childCount - 1; i >= 0; i--) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    stateAnimator.startStackAnimations(child,viewState,state,-1,baseDelay);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    stateAnimator.startViewAnimations(divider,tmpState,baseDelay,duration);
  }
}

Fixed version (ground truth):
public void startAnimationToState(StackScrollState state,StackStateAnimator stateAnimator,long baseDelay,long duration){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=childCount - 1; i >= 0; i--) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    stateAnimator.startStackAnimations(child,viewState,state,-1,baseDelay);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    stateAnimator.startViewAnimations(divider,tmpState,baseDelay,duration);
    child.setFakeShadowIntensity(0.0f,0.0f,0,0);
  }
}
Program: 192411
Project: 192411
Buggy source:
public void applyState(StackScrollState state){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=0; i < childCount; i++) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    state.applyState(child,viewState);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    state.applyViewState(divider,tmpState);
  }
}

Fixed version (ground truth):
public void applyState(StackScrollState state){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=0; i < childCount; i++) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    state.applyState(child,viewState);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    state.applyViewState(divider,tmpState);
    child.setFakeShadowIntensity(0.0f,0.0f,0,0);
  }
}
Program: 192412
Project: 192412
Buggy source:
public void startAnimationToState(StackScrollState state,StackStateAnimator stateAnimator,long baseDelay,long duration){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=childCount - 1; i >= 0; i--) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    stateAnimator.startStackAnimations(child,viewState,state,-1,baseDelay);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    stateAnimator.startViewAnimations(divider,tmpState,baseDelay,duration);
  }
}

Fixed version (ground truth):
public void startAnimationToState(StackScrollState state,StackStateAnimator stateAnimator,long baseDelay,long duration){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=childCount - 1; i >= 0; i--) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    stateAnimator.startStackAnimations(child,viewState,state,-1,baseDelay);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    stateAnimator.startViewAnimations(divider,tmpState,baseDelay,duration);
    child.setFakeShadowIntensity(0.0f,0.0f,0,0);
  }
}
Program: 192413
Project: 192413
Buggy source:
public void applyState(StackScrollState state){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=0; i < childCount; i++) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    state.applyState(child,viewState);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    state.applyViewState(divider,tmpState);
  }
}

Fixed version (ground truth):
public void applyState(StackScrollState state){
  int childCount=mChildren.size();
  ViewState tmpState=new ViewState();
  float expandFraction=getChildExpandFraction();
  for (int i=0; i < childCount; i++) {
    ExpandableNotificationRow child=mChildren.get(i);
    StackViewState viewState=state.getViewStateForView(child);
    state.applyState(child,viewState);
    View divider=mDividers.get(i);
    tmpState.initFrom(divider);
    tmpState.yTranslation=viewState.yTranslation - mDividerHeight;
    float alpha=mChildrenExpanded && viewState.alpha != 0 ? 0.5f : 0;
    if (mUserLocked && viewState.alpha != 0) {
      alpha=NotificationUtils.interpolate(0,0.5f,expandFraction);
    }
    tmpState.alpha=alpha;
    state.applyViewState(divider,tmpState);
    child.setFakeShadowIntensity(0.0f,0.0f,0,0);
  }
}
Program: 192414
Project: 192414
Buggy source:
/** 
 * Schedule an idle-until alarm, which will keep the alarm manager idle until the given time.
 * @hide
 */
public void setIdleUntil(int type,long triggerAtMillis,PendingIntent operation){
  setImpl(type,triggerAtMillis,WINDOW_EXACT,0,FLAG_IDLE_UNTIL,operation,null,null,null,null,null);
}

Fixed version (ground truth):
/** 
 * Schedule an idle-until alarm, which will keep the alarm manager idle until the given time.
 * @hide
 */
public void setIdleUntil(int type,long triggerAtMillis,String tag,OnAlarmListener listener,Handler targetHandler){
  setImpl(type,triggerAtMillis,WINDOW_EXACT,0,FLAG_IDLE_UNTIL,null,listener,tag,targetHandler,null,null);
}
Program: 192415
Project: 192415
Buggy source:
@Override public long getDeviceIdlingTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}

Fixed version (ground truth):
@Override public long getDeviceIdlingTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}
Program: 192416
Project: 192416
Buggy source:
@Override public int getDeviceIdleModeCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdleModeFullTimer.getCountLocked(which);
}
return 0;
}

Fixed version (ground truth):
@Override public int getDeviceIdleModeCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdleModeFullTimer.getCountLocked(which);
}
return 0;
}
Program: 192417
Project: 192417
Buggy source:
@Override public int getDeviceIdlingCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdlingTimer.getCountLocked(which);
}
return 0;
}

Fixed version (ground truth):
@Override public int getDeviceIdlingCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdlingTimer.getCountLocked(which);
}
return 0;
}
Program: 192418
Project: 192418
Buggy source:
@Override public long getDeviceIdleModeTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdleModeFullTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}

Fixed version (ground truth):
@Override public long getDeviceIdleModeTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdleModeFullTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}
Program: 192419
Project: 192419
Buggy source:
@Override public long getLongestDeviceIdleModeTime(int mode){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mLongestLightIdleTime;
case DEVICE_IDLE_MODE_FULL:
  return mLongestFullIdleTime;
}
return 0;
}

Fixed version (ground truth):
@Override public long getLongestDeviceIdleModeTime(int mode){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mLongestLightIdleTime;
case DEVICE_IDLE_MODE_DEEP:
  return mLongestFullIdleTime;
}
return 0;
}
Program: 192421
Project: 192421
Buggy source:
@Override public String toString(){
  StringBuilder sb=new StringBuilder(128);
  sb.append("String_Node_Str");
  sb.append(Integer.toHexString(System.identityHashCode(this)));
  sb.append("String_Node_Str");
  sb.append(type);
  sb.append("String_Node_Str");
  sb.append(when);
  sb.append("String_Node_Str");
  if (operation != null) {
    sb.append(operation.getTargetPackage());
  }
 else {
    sb.append(listener.asBinder().toString());
  }
  sb.append('}');
  return sb.toString();
}

Fixed version (ground truth):
@Override public String toString(){
  StringBuilder sb=new StringBuilder(128);
  sb.append("String_Node_Str");
  sb.append(Integer.toHexString(System.identityHashCode(this)));
  sb.append("String_Node_Str");
  sb.append(type);
  sb.append("String_Node_Str");
  sb.append(when);
  sb.append("String_Node_Str");
  if (operation != null) {
    sb.append(operation.getTargetPackage());
  }
 else {
    sb.append(packageName);
  }
  sb.append('}');
  return sb.toString();
}
Program: 192422
Project: 192422
Buggy source:
/** 
 * Schedule an idle-until alarm, which will keep the alarm manager idle until the given time.
 * @hide
 */
public void setIdleUntil(int type,long triggerAtMillis,PendingIntent operation){
  setImpl(type,triggerAtMillis,WINDOW_EXACT,0,FLAG_IDLE_UNTIL,operation,null,null,null,null,null);
}

Fixed version (ground truth):
/** 
 * Schedule an idle-until alarm, which will keep the alarm manager idle until the given time.
 * @hide
 */
public void setIdleUntil(int type,long triggerAtMillis,String tag,OnAlarmListener listener,Handler targetHandler){
  setImpl(type,triggerAtMillis,WINDOW_EXACT,0,FLAG_IDLE_UNTIL,null,listener,tag,targetHandler,null,null);
}
Program: 192423
Project: 192423
Buggy source:
@Override public long getDeviceIdlingTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}

Fixed version (ground truth):
@Override public long getDeviceIdlingTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdlingTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}
Program: 192424
Project: 192424
Buggy source:
@Override public int getDeviceIdleModeCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdleModeFullTimer.getCountLocked(which);
}
return 0;
}

Fixed version (ground truth):
@Override public int getDeviceIdleModeCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdleModeFullTimer.getCountLocked(which);
}
return 0;
}
Program: 192425
Project: 192425
Buggy source:
@Override public int getDeviceIdlingCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdlingTimer.getCountLocked(which);
}
return 0;
}

Fixed version (ground truth):
@Override public int getDeviceIdlingCount(int mode,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceLightIdlingTimer.getCountLocked(which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdlingTimer.getCountLocked(which);
}
return 0;
}
Program: 192426
Project: 192426
Buggy source:
@Override public long getDeviceIdleModeTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_FULL:
  return mDeviceIdleModeFullTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}

Fixed version (ground truth):
@Override public long getDeviceIdleModeTime(int mode,long elapsedRealtimeUs,int which){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mDeviceIdleModeLightTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
case DEVICE_IDLE_MODE_DEEP:
  return mDeviceIdleModeFullTimer.getTotalTimeLocked(elapsedRealtimeUs,which);
}
return 0;
}
Program: 192427
Project: 192427
Buggy source:
@Override public long getLongestDeviceIdleModeTime(int mode){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mLongestLightIdleTime;
case DEVICE_IDLE_MODE_FULL:
  return mLongestFullIdleTime;
}
return 0;
}

Fixed version (ground truth):
@Override public long getLongestDeviceIdleModeTime(int mode){
switch (mode) {
case DEVICE_IDLE_MODE_LIGHT:
    return mLongestLightIdleTime;
case DEVICE_IDLE_MODE_DEEP:
  return mLongestFullIdleTime;
}
return 0;
}
Program: 192429
Project: 192429
Buggy source:
@Override public String toString(){
  StringBuilder sb=new StringBuilder(128);
  sb.append("String_Node_Str");
  sb.append(Integer.toHexString(System.identityHashCode(this)));
  sb.append("String_Node_Str");
  sb.append(type);
  sb.append("String_Node_Str");
  sb.append(when);
  sb.append("String_Node_Str");
  if (operation != null) {
    sb.append(operation.getTargetPackage());
  }
 else {
    sb.append(listener.asBinder().toString());
  }
  sb.append('}');
  return sb.toString();
}

Fixed version (ground truth):
@Override public String toString(){
  StringBuilder sb=new StringBuilder(128);
  sb.append("String_Node_Str");
  sb.append(Integer.toHexString(System.identityHashCode(this)));
  sb.append("String_Node_Str");
  sb.append(type);
  sb.append("String_Node_Str");
  sb.append(when);
  sb.append("String_Node_Str");
  if (operation != null) {
    sb.append(operation.getTargetPackage());
  }
 else {
    sb.append(packageName);
  }
  sb.append('}');
  return sb.toString();
}
Program: 192430
Project: 192430
Buggy source:
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  if (parcel.dataAvail() >= Integer.SIZE) {
    int status=parcel.readInt();
    navigationMessage.setStatus(status);
  }
 else {
    navigationMessage.setStatus(STATUS_UNKNOWN);
  }
  return navigationMessage;
}

Fixed version (ground truth):
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  navigationMessage.setStatus(parcel.readInt());
  return navigationMessage;
}
Program: 192431
Project: 192431
Buggy source:
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  if (parcel.dataAvail() >= Integer.SIZE) {
    int status=parcel.readInt();
    navigationMessage.setStatus(status);
  }
 else {
    navigationMessage.setStatus(STATUS_UNKNOWN);
  }
  return navigationMessage;
}

Fixed version (ground truth):
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  navigationMessage.setStatus(parcel.readInt());
  return navigationMessage;
}
Program: 192432
Project: 192432
Buggy source:
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  if (parcel.dataAvail() >= Integer.SIZE) {
    int status=parcel.readInt();
    navigationMessage.setStatus(status);
  }
 else {
    navigationMessage.setStatus(STATUS_UNKNOWN);
  }
  return navigationMessage;
}

Fixed version (ground truth):
@Override public GnssNavigationMessage createFromParcel(Parcel parcel){
  GnssNavigationMessage navigationMessage=new GnssNavigationMessage();
  navigationMessage.setType(parcel.readInt());
  navigationMessage.setSvid(parcel.readInt());
  navigationMessage.setMessageId(parcel.readInt());
  navigationMessage.setSubmessageId(parcel.readInt());
  int dataLength=parcel.readInt();
  byte[] data=new byte[dataLength];
  parcel.readByteArray(data);
  navigationMessage.setData(data);
  navigationMessage.setStatus(parcel.readInt());
  return navigationMessage;
}