nus-yam/ex-repair huggingface dataset:
Program: 191999
Project: 191999
Buggy source:
void update(){
  if (mTime == null) {
    return;
  }
  if (mShowRelativeTime) {
    updateRelativeTime();
    return;
  }
  int display;
  Date time=mTime;
  Time t=new Time();
  t.set(mTimeMillis);
  t.second=0;
  t.hour-=12;
  long twelveHoursBefore=t.toMillis(false);
  t.hour+=12;
  long twelveHoursAfter=t.toMillis(false);
  t.hour=0;
  t.minute=0;
  long midnightBefore=t.toMillis(false);
  t.monthDay++;
  long midnightAfter=t.toMillis(false);
  long nowMillis=System.currentTimeMillis();
  t.set(nowMillis);
  t.second=0;
  nowMillis=t.normalize(false);
  choose_display: {
    if ((nowMillis >= midnightBefore && nowMillis < midnightAfter) || (nowMillis >= twelveHoursBefore && nowMillis < twelveHoursAfter)) {
      display=SHOW_TIME;
      break choose_display;
    }
    display=SHOW_MONTH_DAY_YEAR;
    break choose_display;
  }
  DateFormat format;
  if (display == mLastDisplay && mLastFormat != null) {
    format=mLastFormat;
  }
 else {
switch (display) {
case SHOW_TIME:
      format=getTimeFormat();
    break;
case SHOW_MONTH_DAY_YEAR:
  format=DateFormat.getDateInstance(DateFormat.SHORT);
break;
default :
throw new RuntimeException("String_Node_Str" + display);
}
mLastFormat=format;
}
String text=format.format(mTime);
setText(text);
if (display == SHOW_TIME) {
mUpdateTimeMillis=twelveHoursAfter > midnightAfter ? twelveHoursAfter : midnightAfter;
}
 else {
if (mTimeMillis < nowMillis) {
mUpdateTimeMillis=0;
}
 else {
mUpdateTimeMillis=twelveHoursBefore < midnightBefore ? twelveHoursBefore : midnightBefore;
}
}
}

Fixed version (ground truth):
void update(){
  if (mTime == null || getVisibility() == GONE) {
    return;
  }
  if (mShowRelativeTime) {
    updateRelativeTime();
    return;
  }
  int display;
  Date time=mTime;
  Time t=new Time();
  t.set(mTimeMillis);
  t.second=0;
  t.hour-=12;
  long twelveHoursBefore=t.toMillis(false);
  t.hour+=12;
  long twelveHoursAfter=t.toMillis(false);
  t.hour=0;
  t.minute=0;
  long midnightBefore=t.toMillis(false);
  t.monthDay++;
  long midnightAfter=t.toMillis(false);
  long nowMillis=System.currentTimeMillis();
  t.set(nowMillis);
  t.second=0;
  nowMillis=t.normalize(false);
  choose_display: {
    if ((nowMillis >= midnightBefore && nowMillis < midnightAfter) || (nowMillis >= twelveHoursBefore && nowMillis < twelveHoursAfter)) {
      display=SHOW_TIME;
      break choose_display;
    }
    display=SHOW_MONTH_DAY_YEAR;
    break choose_display;
  }
  DateFormat format;
  if (display == mLastDisplay && mLastFormat != null) {
    format=mLastFormat;
  }
 else {
switch (display) {
case SHOW_TIME:
      format=getTimeFormat();
    break;
case SHOW_MONTH_DAY_YEAR:
  format=DateFormat.getDateInstance(DateFormat.SHORT);
break;
default :
throw new RuntimeException("String_Node_Str" + display);
}
mLastFormat=format;
}
String text=format.format(mTime);
setText(text);
if (display == SHOW_TIME) {
mUpdateTimeMillis=twelveHoursAfter > midnightAfter ? twelveHoursAfter : midnightAfter;
}
 else {
if (mTimeMillis < nowMillis) {
mUpdateTimeMillis=0;
}
 else {
mUpdateTimeMillis=twelveHoursBefore < midnightBefore ? twelveHoursBefore : midnightBefore;
}
}
}
Program: 192000
Project: 192000
Buggy source:
private void recreateNotificationHeader(){
  final Notification.Builder builder=Notification.Builder.recoverBuilder(getContext(),getStatusBarNotification().getNotification());
  final RemoteViews header=builder.makeNotificationHeader();
  if (mNotificationHeader == null) {
    mNotificationHeader=(NotificationHeaderView)header.apply(getContext(),this);
    final View expandButton=mNotificationHeader.findViewById(com.android.internal.R.id.expand_button);
    expandButton.setVisibility(VISIBLE);
    mNotificationHeader.setOnClickListener(mExpandClickListener);
    mNotificationHeaderWrapper=NotificationViewWrapper.wrap(getContext(),mNotificationHeader);
    addView(mNotificationHeader,indexOfChild(mChildrenContainer) + 1);
    mTranslateableViews.add(mNotificationHeader);
  }
 else {
    header.reapply(getContext(),mNotificationHeader);
    mNotificationHeaderWrapper.notifyContentUpdated(mEntry.notification);
  }
  updateChildrenHeaderAppearance();
}

Fixed version (ground truth):
private void recreateNotificationHeader(){
  final Notification.Builder builder=Notification.Builder.recoverBuilder(getContext(),getStatusBarNotification().getNotification());
  final RemoteViews header=builder.makeNotificationHeader();
  if (mNotificationHeader == null) {
    mNotificationHeader=(NotificationHeaderView)header.apply(getContext(),this);
    final View expandButton=mNotificationHeader.findViewById(com.android.internal.R.id.expand_button);
    expandButton.setVisibility(VISIBLE);
    mNotificationHeader.setOnClickListener(mExpandClickListener);
    mNotificationHeaderWrapper=NotificationViewWrapper.wrap(getContext(),mNotificationHeader,this);
    addView(mNotificationHeader,indexOfChild(mChildrenContainer) + 1);
    mTranslateableViews.add(mNotificationHeader);
  }
 else {
    header.reapply(getContext(),mNotificationHeader);
    mNotificationHeaderWrapper.notifyContentUpdated(mEntry.notification);
  }
  updateChildrenHeaderAppearance();
}
Program: 192001
Project: 192001
Buggy source:
public void setContractedChild(View child){
  if (mContractedChild != null) {
    mContractedChild.animate().cancel();
    mContractedChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mContractedChild);
  }
  addView(child);
  mContractedChild=child;
  mContractedChild.addOnLayoutChangeListener(mLayoutUpdater);
  mContractedWrapper=NotificationViewWrapper.wrap(getContext(),child);
  selectLayout(false,true);
  mContractedWrapper.setDark(mDark,false,0);
}

Fixed version (ground truth):
public void setContractedChild(View child){
  if (mContractedChild != null) {
    mContractedChild.animate().cancel();
    mContractedChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mContractedChild);
  }
  addView(child);
  mContractedChild=child;
  mContractedChild.addOnLayoutChangeListener(mLayoutUpdater);
  mContractedWrapper=NotificationViewWrapper.wrap(getContext(),child,mContainingNotification);
  selectLayout(false,true);
  mContractedWrapper.setDark(mDark,false,0);
}
Program: 192002
Project: 192002
Buggy source:
public void setExpandedChild(View child){
  if (mExpandedChild != null) {
    mExpandedChild.animate().cancel();
    mExpandedChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mExpandedChild);
  }
  addView(child);
  mExpandedChild=child;
  mExpandedChild.addOnLayoutChangeListener(mLayoutUpdater);
  mExpandedWrapper=NotificationViewWrapper.wrap(getContext(),child);
  selectLayout(false,true);
}

Fixed version (ground truth):
public void setExpandedChild(View child){
  if (mExpandedChild != null) {
    mExpandedChild.animate().cancel();
    mExpandedChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mExpandedChild);
  }
  addView(child);
  mExpandedChild=child;
  mExpandedChild.addOnLayoutChangeListener(mLayoutUpdater);
  mExpandedWrapper=NotificationViewWrapper.wrap(getContext(),child,mContainingNotification);
  selectLayout(false,true);
}
Program: 192003
Project: 192003
Buggy source:
public void setHeadsUpChild(View child){
  if (mHeadsUpChild != null) {
    mHeadsUpChild.animate().cancel();
    mHeadsUpChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mHeadsUpChild);
  }
  addView(child);
  mHeadsUpChild=child;
  mHeadsUpChild.addOnLayoutChangeListener(mLayoutUpdater);
  mHeadsUpWrapper=NotificationViewWrapper.wrap(getContext(),child);
  selectLayout(false,true);
}

Fixed version (ground truth):
public void setHeadsUpChild(View child){
  if (mHeadsUpChild != null) {
    mHeadsUpChild.animate().cancel();
    mHeadsUpChild.removeOnLayoutChangeListener(mLayoutUpdater);
    removeView(mHeadsUpChild);
  }
  addView(child);
  mHeadsUpChild=child;
  mHeadsUpChild.addOnLayoutChangeListener(mLayoutUpdater);
  mHeadsUpWrapper=NotificationViewWrapper.wrap(getContext(),child,mContainingNotification);
  selectLayout(false,true);
}
Program: 192004
Project: 192004
Buggy source:
protected NotificationBigPictureTemplateViewWrapper(Context ctx,View view){
  super(ctx,view);
}

Fixed version (ground truth):
protected NotificationBigPictureTemplateViewWrapper(Context ctx,View view,ExpandableNotificationRow row){
  super(ctx,view,row);
}
Program: 192005
Project: 192005
Buggy source:
protected NotificationBigTextTemplateViewWrapper(Context ctx,View view){
  super(ctx,view);
}

Fixed version (ground truth):
protected NotificationBigTextTemplateViewWrapper(Context ctx,View view,ExpandableNotificationRow row){
  super(ctx,view,row);
}
Program: 192006
Project: 192006
Buggy source:
protected NotificationCustomViewWrapper(View view){
  super(view);
  mInvertHelper=new ViewInvertHelper(view,NotificationPanelView.DOZE_ANIMATION_DURATION);
}

Fixed version (ground truth):
protected NotificationCustomViewWrapper(View view,ExpandableNotificationRow row){
  super(view,row);
  mInvertHelper=new ViewInvertHelper(view,NotificationPanelView.DOZE_ANIMATION_DURATION);
}
Program: 192007
Project: 192007
Buggy source:
@Override public void setDark(boolean dark,boolean fade,long delay){
  if (dark == mDark && mDarkInitialized) {
    return;
  }
  super.setDark(dark,fade,delay);
  if (fade) {
    mInvertHelper.fade(dark,delay);
  }
 else {
    mInvertHelper.update(dark);
  }
  if (mIcon != null) {
    boolean hadColorFilter=mNotificationHeader.getOriginalIconColor() != NotificationHeaderView.NO_COLOR;
    if (fade) {
      if (hadColorFilter) {
        fadeIconColorFilter(mIcon,dark,delay);
        fadeIconAlpha(mIcon,dark,delay);
      }
 else {
        fadeGrayscale(mIcon,dark,delay);
      }
    }
 else {
      if (hadColorFilter) {
        updateIconColorFilter(mIcon,dark);
        updateIconAlpha(mIcon,dark);
      }
 else {
        updateGrayscale(mIcon,dark);
      }
    }
  }
}

Fixed version (ground truth):
@Override public void setDark(boolean dark,boolean fade,long delay){
  if (dark == mDark && mDarkInitialized) {
    return;
  }
  super.setDark(dark,fade,delay);
  if (fade) {
    mInvertHelper.fade(dark,delay);
  }
 else {
    mInvertHelper.update(dark);
  }
  if (mIcon != null && !mRow.isChildInGroup()) {
    boolean hadColorFilter=mNotificationHeader.getOriginalIconColor() != NotificationHeaderView.NO_COLOR;
    if (fade) {
      if (hadColorFilter) {
        fadeIconColorFilter(mIcon,dark,delay);
        fadeIconAlpha(mIcon,dark,delay);
      }
 else {
        fadeGrayscale(mIcon,dark,delay);
      }
    }
 else {
      if (hadColorFilter) {
        updateIconColorFilter(mIcon,dark);
        updateIconAlpha(mIcon,dark);
      }
 else {
        updateGrayscale(mIcon,dark);
      }
    }
  }
}
Program: 192008
Project: 192008
Buggy source:
protected NotificationHeaderViewWrapper(Context ctx,View view){
  super(view);
  mIconDarkAlpha=ctx.getResources().getInteger(R.integer.doze_small_icon_alpha);
  mInvertHelper=new ViewInvertHelper(ctx,NotificationPanelView.DOZE_ANIMATION_DURATION);
  mTransformationHelper=new ViewTransformationHelper();
  resolveHeaderViews();
  updateInvertHelper();
}

Fixed version (ground truth):
protected NotificationHeaderViewWrapper(Context ctx,View view,ExpandableNotificationRow row){
  super(view,row);
  mIconDarkAlpha=ctx.getResources().getInteger(R.integer.doze_small_icon_alpha);
  mInvertHelper=new ViewInvertHelper(ctx,NotificationPanelView.DOZE_ANIMATION_DURATION);
  mTransformationHelper=new ViewTransformationHelper();
  resolveHeaderViews();
  updateInvertHelper();
}
Program: 192009
Project: 192009
Buggy source:
protected NotificationMediaTemplateViewWrapper(Context ctx,View view){
  super(ctx,view);
}

Fixed version (ground truth):
protected NotificationMediaTemplateViewWrapper(Context ctx,View view,ExpandableNotificationRow row){
  super(ctx,view,row);
}
Program: 192011
Project: 192011
Buggy source:
protected NotificationViewWrapper(View view){
  mView=view;
}

Fixed version (ground truth):
protected NotificationViewWrapper(View view,ExpandableNotificationRow row){
  mView=view;
  mRow=row;
}
Program: 192012
Project: 192012
Buggy source:
public static NotificationViewWrapper wrap(Context ctx,View v){
  if (v.getId() == com.android.internal.R.id.status_bar_latest_event_content) {
    if ("String_Node_Str".equals(v.getTag())) {
      return new NotificationBigPictureTemplateViewWrapper(ctx,v);
    }
 else     if ("String_Node_Str".equals(v.getTag())) {
      return new NotificationBigTextTemplateViewWrapper(ctx,v);
    }
 else     if ("String_Node_Str".equals(v.getTag()) || "String_Node_Str".equals(v.getTag())) {
      return new NotificationMediaTemplateViewWrapper(ctx,v);
    }
    return new NotificationTemplateViewWrapper(ctx,v);
  }
 else   if (v instanceof NotificationHeaderView) {
    return new NotificationHeaderViewWrapper(ctx,v);
  }
 else {
    return new NotificationCustomViewWrapper(v);
  }
}

Fixed version (ground truth):
public static NotificationViewWrapper wrap(Context ctx,View v,ExpandableNotificationRow row){
  if (v.getId() == com.android.internal.R.id.status_bar_latest_event_content) {
    if ("String_Node_Str".equals(v.getTag())) {
      return new NotificationBigPictureTemplateViewWrapper(ctx,v,row);
    }
 else     if ("String_Node_Str".equals(v.getTag())) {
      return new NotificationBigTextTemplateViewWrapper(ctx,v,row);
    }
 else     if ("String_Node_Str".equals(v.getTag()) || "String_Node_Str".equals(v.getTag())) {
      return new NotificationMediaTemplateViewWrapper(ctx,v,row);
    }
    return new NotificationTemplateViewWrapper(ctx,v,row);
  }
 else   if (v instanceof NotificationHeaderView) {
    return new NotificationHeaderViewWrapper(ctx,v,row);
  }
 else {
    return new NotificationCustomViewWrapper(v,row);
  }
}
Program: 192014
Project: 192014
Buggy source:
private void bindHeaderChronometerAndTime(RemoteViews contentView){
  if (showsTimeOrChronometer()) {
    contentView.setViewVisibility(R.id.time_divider,View.VISIBLE);
    if (mN.extras.getBoolean(EXTRA_SHOW_CHRONOMETER)) {
      contentView.setViewVisibility(R.id.chronometer,View.VISIBLE);
      contentView.setLong(R.id.chronometer,"String_Node_Str",mN.when + (SystemClock.elapsedRealtime() - System.currentTimeMillis()));
      contentView.setBoolean(R.id.chronometer,"String_Node_Str",true);
      boolean countsDown=mN.extras.getBoolean(EXTRA_CHRONOMETER_COUNTS_DOWN);
      contentView.setChronometerCountDown(R.id.chronometer,countsDown);
    }
 else {
      contentView.setViewVisibility(R.id.time,View.VISIBLE);
      contentView.setLong(R.id.time,"String_Node_Str",mN.when);
    }
  }
}

Fixed version (ground truth):
private void bindHeaderChronometerAndTime(RemoteViews contentView){
  if (showsTimeOrChronometer()) {
    contentView.setViewVisibility(R.id.time_divider,View.VISIBLE);
    if (mN.extras.getBoolean(EXTRA_SHOW_CHRONOMETER)) {
      contentView.setViewVisibility(R.id.chronometer,View.VISIBLE);
      contentView.setLong(R.id.chronometer,"String_Node_Str",mN.when + (SystemClock.elapsedRealtime() - System.currentTimeMillis()));
      contentView.setBoolean(R.id.chronometer,"String_Node_Str",true);
      boolean countsDown=mN.extras.getBoolean(EXTRA_CHRONOMETER_COUNTS_DOWN);
      contentView.setChronometerCountDown(R.id.chronometer,countsDown);
    }
 else {
      contentView.setViewVisibility(R.id.time,View.VISIBLE);
      contentView.setLong(R.id.time,"String_Node_Str",mN.when);
    }
  }
 else {
    contentView.setLong(R.id.time,"String_Node_Str",mN.when != 0 ? mN.when : mN.creationTime);
  }
}
Program: 192015
Project: 192015
Buggy source:
/** 
 * Resets the notification header to its original state
 */
private void resetNotificationHeader(RemoteViews contentView){
  contentView.setImageViewResource(R.id.icon,0);
  contentView.setBoolean(R.id.notification_header,"String_Node_Str",false);
  contentView.setTextViewText(R.id.app_name_text,null);
  contentView.setViewVisibility(R.id.chronometer,View.GONE);
  contentView.setViewVisibility(R.id.header_text,View.GONE);
  contentView.setViewVisibility(R.id.header_text_divider,View.GONE);
  contentView.setViewVisibility(R.id.time_divider,View.GONE);
  contentView.setImageViewIcon(R.id.profile_badge,null);
  contentView.setViewVisibility(R.id.profile_badge,View.GONE);
}

Fixed version (ground truth):
/** 
 * Resets the notification header to its original state
 */
private void resetNotificationHeader(RemoteViews contentView){
  contentView.setImageViewResource(R.id.icon,0);
  contentView.setBoolean(R.id.notification_header,"String_Node_Str",false);
  contentView.setTextViewText(R.id.app_name_text,null);
  contentView.setViewVisibility(R.id.chronometer,View.GONE);
  contentView.setViewVisibility(R.id.header_text,View.GONE);
  contentView.setViewVisibility(R.id.header_text_divider,View.GONE);
  contentView.setViewVisibility(R.id.time_divider,View.GONE);
  contentView.setViewVisibility(R.id.time,View.GONE);
  contentView.setImageViewIcon(R.id.profile_badge,null);
  contentView.setViewVisibility(R.id.profile_badge,View.GONE);
}
Program: 192016
Project: 192016
Buggy source:
/** 
 * @return true if the built notification will show the time or the chronometer; falseotherwise
 */
private boolean showsTimeOrChronometer(){
  return mN.when != 0 && mN.extras.getBoolean(EXTRA_SHOW_WHEN);
}

Fixed version (ground truth):
/** 
 * @return true if the notification will show the time or the chronometer; falseotherwise
 * @hide
 */
public boolean showsTimeOrChronometer(){
  return when != 0 && extras.getBoolean(EXTRA_SHOW_WHEN);
}
Program: 192018
Project: 192018
Buggy source:
void update(){
  if (mTime == null) {
    return;
  }
  if (mShowRelativeTime) {
    updateRelativeTime();
    return;
  }
  int display;
  Date time=mTime;
  Time t=new Time();
  t.set(mTimeMillis);
  t.second=0;
  t.hour-=12;
  long twelveHoursBefore=t.toMillis(false);
  t.hour+=12;
  long twelveHoursAfter=t.toMillis(false);
  t.hour=0;
  t.minute=0;
  long midnightBefore=t.toMillis(false);
  t.monthDay++;
  long midnightAfter=t.toMillis(false);
  long nowMillis=System.currentTimeMillis();
  t.set(nowMillis);
  t.second=0;
  nowMillis=t.normalize(false);
  choose_display: {
    if ((nowMillis >= midnightBefore && nowMillis < midnightAfter) || (nowMillis >= twelveHoursBefore && nowMillis < twelveHoursAfter)) {
      display=SHOW_TIME;
      break choose_display;
    }
    display=SHOW_MONTH_DAY_YEAR;
    break choose_display;
  }
  DateFormat format;
  if (display == mLastDisplay && mLastFormat != null) {
    format=mLastFormat;
  }
 else {
switch (display) {
case SHOW_TIME:
      format=getTimeFormat();
    break;
case SHOW_MONTH_DAY_YEAR:
  format=DateFormat.getDateInstance(DateFormat.SHORT);
break;
default :
throw new RuntimeException("String_Node_Str" + display);
}
mLastFormat=format;
}
String text=format.format(mTime);
setText(text);
if (display == SHOW_TIME) {
mUpdateTimeMillis=twelveHoursAfter > midnightAfter ? twelveHoursAfter : midnightAfter;
}
 else {
if (mTimeMillis < nowMillis) {
mUpdateTimeMillis=0;
}
 else {
mUpdateTimeMillis=twelveHoursBefore < midnightBefore ? twelveHoursBefore : midnightBefore;
}
}
}

Fixed version (ground truth):
void update(){
  if (mTime == null || getVisibility() == GONE) {
    return;
  }
  if (mShowRelativeTime) {
    updateRelativeTime();
    return;
  }
  int display;
  Date time=mTime;
  Time t=new Time();
  t.set(mTimeMillis);
  t.second=0;
  t.hour-=12;
  long twelveHoursBefore=t.toMillis(false);
  t.hour+=12;
  long twelveHoursAfter=t.toMillis(false);
  t.hour=0;
  t.minute=0;
  long midnightBefore=t.toMillis(false);
  t.monthDay++;
  long midnightAfter=t.toMillis(false);
  long nowMillis=System.currentTimeMillis();
  t.set(nowMillis);
  t.second=0;
  nowMillis=t.normalize(false);
  choose_display: {
    if ((nowMillis >= midnightBefore && nowMillis < midnightAfter) || (nowMillis >= twelveHoursBefore && nowMillis < twelveHoursAfter)) {
      display=SHOW_TIME;
      break choose_display;
    }
    display=SHOW_MONTH_DAY_YEAR;
    break choose_display;
  }
  DateFormat format;
  if (display == mLastDisplay && mLastFormat != null) {
    format=mLastFormat;
  }
 else {
switch (display) {
case SHOW_TIME:
      format=getTimeFormat();
    break;
case SHOW_MONTH_DAY_YEAR:
  format=DateFormat.getDateInstance(DateFormat.SHORT);
break;
default :
throw new RuntimeException("String_Node_Str" + display);
}
mLastFormat=format;
}
String text=format.format(mTime);
setText(text);
if (display == SHOW_TIME) {
mUpdateTimeMillis=twelveHoursAfter > midnightAfter ? twelveHoursAfter : midnightAfter;
}
 else {
if (mTimeMillis < nowMillis) {
mUpdateTimeMillis=0;
}
 else {
mUpdateTimeMillis=twelveHoursBefore < midnightBefore ? twelveHoursBefore : midnightBefore;
}
}
}
Program: 192019
Project: 192019
Buggy source:
void positionTask(final TaskRecord task,int position){
  final ActivityStack prevStack=preAddTask(task,"String_Node_Str");
  task.stack=this;
  insertTaskAtPosition(task,position);
  postAddTask(task,prevStack);
}

Fixed version (ground truth):
void positionTask(final TaskRecord task,int position){
  final ActivityRecord topRunningActivity=task.topRunningActivityLocked();
  final boolean wasResumed=topRunningActivity == task.stack.mResumedActivity;
  final ActivityStack prevStack=preAddTask(task,"String_Node_Str");
  task.stack=this;
  insertTaskAtPosition(task,position);
  postAddTask(task,prevStack);
  if (wasResumed) {
    if (mResumedActivity != null) {
      Log.wtf(TAG,"String_Node_Str" + "String_Node_Str" + mResumedActivity + "String_Node_Str"+ topRunningActivity);
    }
    mResumedActivity=topRunningActivity;
  }
}
Program: 192021
Project: 192021
Buggy source:
/** 
 * @return true if transition is not running and should not be skipped, false if transition isalready running
 */
boolean prepareAppTransitionLocked(int transit,boolean alwaysKeepCurrent){
  if (DEBUG_APP_TRANSITIONS)   Slog.v(TAG,"String_Node_Str" + "String_Node_Str" + appTransitionToString(transit) + "String_Node_Str"+ this+ "String_Node_Str"+ alwaysKeepCurrent+ "String_Node_Str"+ Debug.getCallers(3));
  if (!isTransitionSet() || mNextAppTransition == TRANSIT_NONE) {
    setAppTransition(transit);
  }
 else   if (!alwaysKeepCurrent) {
    if (transit == TRANSIT_TASK_OPEN && isTransitionEqual(TRANSIT_TASK_CLOSE)) {
      setAppTransition(transit);
    }
 else     if (transit == TRANSIT_ACTIVITY_OPEN && isTransitionEqual(TRANSIT_ACTIVITY_CLOSE)) {
      setAppTransition(transit);
    }
  }
  boolean prepared=prepare();
  if (isTransitionSet()) {
    mService.mH.removeMessages(H.APP_TRANSITION_TIMEOUT);
    mService.mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT,APP_TRANSITION_TIMEOUT_MS);
  }
  return prepared;
}

Fixed version (ground truth):
/** 
 * @return true if transition is not running and should not be skipped, false if transition isalready running
 */
boolean prepareAppTransitionLocked(int transit,boolean alwaysKeepCurrent){
  if (DEBUG_APP_TRANSITIONS)   Slog.v(TAG,"String_Node_Str" + "String_Node_Str" + appTransitionToString(transit) + "String_Node_Str"+ this+ "String_Node_Str"+ alwaysKeepCurrent+ "String_Node_Str"+ Debug.getCallers(3));
  if (!isTransitionSet() || mNextAppTransition == TRANSIT_NONE) {
    setAppTransition(transit);
  }
 else   if (!alwaysKeepCurrent) {
    if (transit == TRANSIT_TASK_OPEN && isTransitionEqual(TRANSIT_TASK_CLOSE)) {
      setAppTransition(transit);
    }
 else     if (transit == TRANSIT_ACTIVITY_OPEN && isTransitionEqual(TRANSIT_ACTIVITY_CLOSE)) {
      setAppTransition(transit);
    }
  }
  if (transit != TRANSIT_DOCK_TASK_FROM_RECENTS && mNextAppTransition == TRANSIT_DOCK_TASK_FROM_RECENTS) {
    setAppTransition(transit);
  }
  boolean prepared=prepare();
  if (isTransitionSet()) {
    mService.mH.removeMessages(H.APP_TRANSITION_TIMEOUT);
    mService.mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT,APP_TRANSITION_TIMEOUT_MS);
  }
  return prepared;
}
Program: 192025
Project: 192025
Buggy source:
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}

Fixed version (ground truth):
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),fp.getGroupId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}
Program: 192026
Project: 192026
Buggy source:
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}

Fixed version (ground truth):
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
      return;
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
      return;
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}
Program: 192027
Project: 192027
Buggy source:
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}

Fixed version (ground truth):
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),fp.getGroupId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}
Program: 192028
Project: 192028
Buggy source:
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}

Fixed version (ground truth):
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
      return;
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
      return;
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}
Program: 192029
Project: 192029
Buggy source:
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}

Fixed version (ground truth):
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),fp.getGroupId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}
Program: 192030
Project: 192030
Buggy source:
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}

Fixed version (ground truth):
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
      return;
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
      return;
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}
Program: 192031
Project: 192031
Buggy source:
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}

Fixed version (ground truth):
/** 
 * Remove given fingerprint template from fingerprint hardware and/or protected storage.
 * @param fp the fingerprint item to remove
 * @param userId the user who this fingerprint belongs to
 * @param callback an optional callback to verify that fingerprint templates have beensuccessfully removed. May be null of no callback is required.
 * @hide
 */
@RequiresPermission(MANAGE_FINGERPRINT) public void remove(Fingerprint fp,int userId,RemovalCallback callback){
  if (mService != null)   try {
    mRemovalCallback=callback;
    mRemovalFingerprint=fp;
    mService.remove(mToken,fp.getFingerId(),fp.getGroupId(),userId,mServiceReceiver);
  }
 catch (  RemoteException e) {
    Log.w(TAG,"String_Node_Str",e);
    if (callback != null) {
      callback.onRemovalError(fp,FINGERPRINT_ERROR_HW_UNAVAILABLE,getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE));
    }
  }
}
Program: 192032
Project: 192032
Buggy source:
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}

Fixed version (ground truth):
private void sendRemovedResult(long deviceId,int fingerId,int groupId){
  if (mRemovalCallback != null) {
    int reqFingerId=mRemovalFingerprint.getFingerId();
    int reqGroupId=mRemovalFingerprint.getGroupId();
    if (reqFingerId != 0 && fingerId != 0 && fingerId != reqFingerId) {
      Log.w(TAG,"String_Node_Str" + fingerId + "String_Node_Str"+ reqFingerId);
      return;
    }
    if (groupId != reqGroupId) {
      Log.w(TAG,"String_Node_Str" + groupId + "String_Node_Str"+ reqGroupId);
      return;
    }
    mRemovalCallback.onRemovalSucceeded(new Fingerprint(null,groupId,fingerId,deviceId));
  }
}
Program: 192033
Project: 192033
Buggy source:
private SubscriptionInfo addSignalController(int id,int simSlotIndex){
  SubscriptionInfo info=new SubscriptionInfo(id,"String_Node_Str",simSlotIndex,"String_Node_Str","String_Node_Str",0,0,"String_Node_Str",0,null,0,0,"String_Node_Str");
  mMobileSignalControllers.put(id,new MobileSignalController(mContext,mConfig,mHasMobileDataFeature,mPhone,mCallbackHandler,this,info,mSubDefaults,mReceiverHandler.getLooper()));
  return info;
}

Fixed version (ground truth):
private SubscriptionInfo addSignalController(int id,int simSlotIndex){
  SubscriptionInfo info=new SubscriptionInfo(id,"String_Node_Str",simSlotIndex,"String_Node_Str","String_Node_Str",0,0,"String_Node_Str",0,null,0,0,"String_Node_Str",SubscriptionManager.SIM_PROVISIONED);
  mMobileSignalControllers.put(id,new MobileSignalController(mContext,mConfig,mHasMobileDataFeature,mPhone,mCallbackHandler,this,info,mSubDefaults,mReceiverHandler.getLooper()));
  return info;
}
Program: 192034
Project: 192034
Buggy source:
/** 
 * @hide
 */
public SubscriptionInfo(int id,String iccId,int simSlotIndex,CharSequence displayName,CharSequence carrierName,int nameSource,int iconTint,String number,int roaming,Bitmap icon,int mcc,int mnc,String countryIso){
  this.mId=id;
  this.mIccId=iccId;
  this.mSimSlotIndex=simSlotIndex;
  this.mDisplayName=displayName;
  this.mCarrierName=carrierName;
  this.mNameSource=nameSource;
  this.mIconTint=iconTint;
  this.mNumber=number;
  this.mDataRoaming=roaming;
  this.mIconBitmap=icon;
  this.mMcc=mcc;
  this.mMnc=mnc;
  this.mCountryIso=countryIso;
}

Fixed version (ground truth):
/** 
 * @hide
 */
public SubscriptionInfo(int id,String iccId,int simSlotIndex,CharSequence displayName,CharSequence carrierName,int nameSource,int iconTint,String number,int roaming,Bitmap icon,int mcc,int mnc,String countryIso,int simProvisioningStatus){
  this.mId=id;
  this.mIccId=iccId;
  this.mSimSlotIndex=simSlotIndex;
  this.mDisplayName=displayName;
  this.mCarrierName=carrierName;
  this.mNameSource=nameSource;
  this.mIconTint=iconTint;
  this.mNumber=number;
  this.mDataRoaming=roaming;
  this.mIconBitmap=icon;
  this.mMcc=mcc;
  this.mMnc=mnc;
  this.mCountryIso=countryIso;
  this.mSimProvisioningStatus=simProvisioningStatus;
}
Program: 192035
Project: 192035
Buggy source:
@Override public SubscriptionInfo createFromParcel(Parcel source){
  int id=source.readInt();
  String iccId=source.readString();
  int simSlotIndex=source.readInt();
  CharSequence displayName=source.readCharSequence();
  CharSequence carrierName=source.readCharSequence();
  int nameSource=source.readInt();
  int iconTint=source.readInt();
  String number=source.readString();
  int dataRoaming=source.readInt();
  int mcc=source.readInt();
  int mnc=source.readInt();
  String countryIso=source.readString();
  Bitmap iconBitmap=Bitmap.CREATOR.createFromParcel(source);
  return new SubscriptionInfo(id,iccId,simSlotIndex,displayName,carrierName,nameSource,iconTint,number,dataRoaming,iconBitmap,mcc,mnc,countryIso);
}

Fixed version (ground truth):
@Override public SubscriptionInfo createFromParcel(Parcel source){
  int id=source.readInt();
  String iccId=source.readString();
  int simSlotIndex=source.readInt();
  CharSequence displayName=source.readCharSequence();
  CharSequence carrierName=source.readCharSequence();
  int nameSource=source.readInt();
  int iconTint=source.readInt();
  String number=source.readString();
  int dataRoaming=source.readInt();
  int mcc=source.readInt();
  int mnc=source.readInt();
  String countryIso=source.readString();
  int simProvisioningStatus=source.readInt();
  Bitmap iconBitmap=Bitmap.CREATOR.createFromParcel(source);
  return new SubscriptionInfo(id,iccId,simSlotIndex,displayName,carrierName,nameSource,iconTint,number,dataRoaming,iconBitmap,mcc,mnc,countryIso,simProvisioningStatus);
}
Program: 192036
Project: 192036
Buggy source:
@Override public String toString(){
  String iccIdToPrint=givePrintableIccid(mIccId);
  return "String_Node_Str" + mId + "String_Node_Str"+ iccIdToPrint+ "String_Node_Str"+ mSimSlotIndex+ "String_Node_Str"+ mDisplayName+ "String_Node_Str"+ mCarrierName+ "String_Node_Str"+ mNameSource+ "String_Node_Str"+ mIconTint+ "String_Node_Str"+ mDataRoaming+ "String_Node_Str"+ mIconBitmap+ "String_Node_Str"+ mMcc+ "String_Node_Str"+ mMnc+ "String_Node_Str";
}

Fixed version (ground truth):
@Override public String toString(){
  String iccIdToPrint=givePrintableIccid(mIccId);
  return "String_Node_Str" + mId + "String_Node_Str"+ iccIdToPrint+ "String_Node_Str"+ mSimSlotIndex+ "String_Node_Str"+ mDisplayName+ "String_Node_Str"+ mCarrierName+ "String_Node_Str"+ mNameSource+ "String_Node_Str"+ mIconTint+ "String_Node_Str"+ mDataRoaming+ "String_Node_Str"+ mIconBitmap+ "String_Node_Str"+ mMcc+ "String_Node_Str"+ mMnc+ "String_Node_Str"+ mSimProvisioningStatus+ "String_Node_Str";
}
Program: 192037
Project: 192037
Buggy source:
@Override public void writeToParcel(Parcel dest,int flags){
  dest.writeInt(mId);
  dest.writeString(mIccId);
  dest.writeInt(mSimSlotIndex);
  dest.writeCharSequence(mDisplayName);
  dest.writeCharSequence(mCarrierName);
  dest.writeInt(mNameSource);
  dest.writeInt(mIconTint);
  dest.writeString(mNumber);
  dest.writeInt(mDataRoaming);
  dest.writeInt(mMcc);
  dest.writeInt(mMnc);
  dest.writeString(mCountryIso);
  mIconBitmap.writeToParcel(dest,flags);
}

Fixed version (ground truth):
@Override public void writeToParcel(Parcel dest,int flags){
  dest.writeInt(mId);
  dest.writeString(mIccId);
  dest.writeInt(mSimSlotIndex);
  dest.writeCharSequence(mDisplayName);
  dest.writeCharSequence(mCarrierName);
  dest.writeInt(mNameSource);
  dest.writeInt(mIconTint);
  dest.writeString(mNumber);
  dest.writeInt(mDataRoaming);
  dest.writeInt(mMcc);
  dest.writeInt(mMnc);
  dest.writeString(mCountryIso);
  dest.writeInt(mSimProvisioningStatus);
  mIconBitmap.writeToParcel(dest,flags);
}
Program: 192038
Project: 192038
Buggy source:
private SubscriptionInfo addSignalController(int id,int simSlotIndex){
  SubscriptionInfo info=new SubscriptionInfo(id,"String_Node_Str",simSlotIndex,"String_Node_Str","String_Node_Str",0,0,"String_Node_Str",0,null,0,0,"String_Node_Str");
  mMobileSignalControllers.put(id,new MobileSignalController(mContext,mConfig,mHasMobileDataFeature,mPhone,mCallbackHandler,this,info,mSubDefaults,mReceiverHandler.getLooper()));
  return info;
}

Fixed version (ground truth):
private SubscriptionInfo addSignalController(int id,int simSlotIndex){
  SubscriptionInfo info=new SubscriptionInfo(id,"String_Node_Str",simSlotIndex,"String_Node_Str","String_Node_Str",0,0,"String_Node_Str",0,null,0,0,"String_Node_Str",SubscriptionManager.SIM_PROVISIONED);
  mMobileSignalControllers.put(id,new MobileSignalController(mContext,mConfig,mHasMobileDataFeature,mPhone,mCallbackHandler,this,info,mSubDefaults,mReceiverHandler.getLooper()));
  return info;
}
Program: 192039
Project: 192039
Buggy source:
/** 
 * @hide
 */
public SubscriptionInfo(int id,String iccId,int simSlotIndex,CharSequence displayName,CharSequence carrierName,int nameSource,int iconTint,String number,int roaming,Bitmap icon,int mcc,int mnc,String countryIso){
  this.mId=id;
  this.mIccId=iccId;
  this.mSimSlotIndex=simSlotIndex;
  this.mDisplayName=displayName;
  this.mCarrierName=carrierName;
  this.mNameSource=nameSource;
  this.mIconTint=iconTint;
  this.mNumber=number;
  this.mDataRoaming=roaming;
  this.mIconBitmap=icon;
  this.mMcc=mcc;
  this.mMnc=mnc;
  this.mCountryIso=countryIso;
}

Fixed version (ground truth):
/** 
 * @hide
 */
public SubscriptionInfo(int id,String iccId,int simSlotIndex,CharSequence displayName,CharSequence carrierName,int nameSource,int iconTint,String number,int roaming,Bitmap icon,int mcc,int mnc,String countryIso,int simProvisioningStatus){
  this.mId=id;
  this.mIccId=iccId;
  this.mSimSlotIndex=simSlotIndex;
  this.mDisplayName=displayName;
  this.mCarrierName=carrierName;
  this.mNameSource=nameSource;
  this.mIconTint=iconTint;
  this.mNumber=number;
  this.mDataRoaming=roaming;
  this.mIconBitmap=icon;
  this.mMcc=mcc;
  this.mMnc=mnc;
  this.mCountryIso=countryIso;
  this.mSimProvisioningStatus=simProvisioningStatus;
}
Program: 192040
Project: 192040
Buggy source:
@Override public SubscriptionInfo createFromParcel(Parcel source){
  int id=source.readInt();
  String iccId=source.readString();
  int simSlotIndex=source.readInt();
  CharSequence displayName=source.readCharSequence();
  CharSequence carrierName=source.readCharSequence();
  int nameSource=source.readInt();
  int iconTint=source.readInt();
  String number=source.readString();
  int dataRoaming=source.readInt();
  int mcc=source.readInt();
  int mnc=source.readInt();
  String countryIso=source.readString();
  Bitmap iconBitmap=Bitmap.CREATOR.createFromParcel(source);
  return new SubscriptionInfo(id,iccId,simSlotIndex,displayName,carrierName,nameSource,iconTint,number,dataRoaming,iconBitmap,mcc,mnc,countryIso);
}

Fixed version (ground truth):
@Override public SubscriptionInfo createFromParcel(Parcel source){
  int id=source.readInt();
  String iccId=source.readString();
  int simSlotIndex=source.readInt();
  CharSequence displayName=source.readCharSequence();
  CharSequence carrierName=source.readCharSequence();
  int nameSource=source.readInt();
  int iconTint=source.readInt();
  String number=source.readString();
  int dataRoaming=source.readInt();
  int mcc=source.readInt();
  int mnc=source.readInt();
  String countryIso=source.readString();
  int simProvisioningStatus=source.readInt();
  Bitmap iconBitmap=Bitmap.CREATOR.createFromParcel(source);
  return new SubscriptionInfo(id,iccId,simSlotIndex,displayName,carrierName,nameSource,iconTint,number,dataRoaming,iconBitmap,mcc,mnc,countryIso,simProvisioningStatus);
}
Program: 192041
Project: 192041
Buggy source:
@Override public String toString(){
  String iccIdToPrint=givePrintableIccid(mIccId);
  return "String_Node_Str" + mId + "String_Node_Str"+ iccIdToPrint+ "String_Node_Str"+ mSimSlotIndex+ "String_Node_Str"+ mDisplayName+ "String_Node_Str"+ mCarrierName+ "String_Node_Str"+ mNameSource+ "String_Node_Str"+ mIconTint+ "String_Node_Str"+ mDataRoaming+ "String_Node_Str"+ mIconBitmap+ "String_Node_Str"+ mMcc+ "String_Node_Str"+ mMnc+ "String_Node_Str";
}

Fixed version (ground truth):
@Override public String toString(){
  String iccIdToPrint=givePrintableIccid(mIccId);
  return "String_Node_Str" + mId + "String_Node_Str"+ iccIdToPrint+ "String_Node_Str"+ mSimSlotIndex+ "String_Node_Str"+ mDisplayName+ "String_Node_Str"+ mCarrierName+ "String_Node_Str"+ mNameSource+ "String_Node_Str"+ mIconTint+ "String_Node_Str"+ mDataRoaming+ "String_Node_Str"+ mIconBitmap+ "String_Node_Str"+ mMcc+ "String_Node_Str"+ mMnc+ "String_Node_Str"+ mSimProvisioningStatus+ "String_Node_Str";
}
Program: 192042
Project: 192042
Buggy source:
@Override public void writeToParcel(Parcel dest,int flags){
  dest.writeInt(mId);
  dest.writeString(mIccId);
  dest.writeInt(mSimSlotIndex);
  dest.writeCharSequence(mDisplayName);
  dest.writeCharSequence(mCarrierName);
  dest.writeInt(mNameSource);
  dest.writeInt(mIconTint);
  dest.writeString(mNumber);
  dest.writeInt(mDataRoaming);
  dest.writeInt(mMcc);
  dest.writeInt(mMnc);
  dest.writeString(mCountryIso);
  mIconBitmap.writeToParcel(dest,flags);
}

Fixed version (ground truth):
@Override public void writeToParcel(Parcel dest,int flags){
  dest.writeInt(mId);
  dest.writeString(mIccId);
  dest.writeInt(mSimSlotIndex);
  dest.writeCharSequence(mDisplayName);
  dest.writeCharSequence(mCarrierName);
  dest.writeInt(mNameSource);
  dest.writeInt(mIconTint);
  dest.writeString(mNumber);
  dest.writeInt(mDataRoaming);
  dest.writeInt(mMcc);
  dest.writeInt(mMnc);
  dest.writeString(mCountryIso);
  dest.writeInt(mSimProvisioningStatus);
  mIconBitmap.writeToParcel(dest,flags);
}