Program: 199456
Project: 199456
Buggy source:
public LockPatternView(Context context,AttributeSet attrs){
  super(context,attrs);
  TypedArray a=context.obtainStyledAttributes(attrs,R.styleable.LockPatternView);
  final String aspect=a.getString(R.styleable.LockPatternView_aspect);
  if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_SQUARE;
  }
 else   if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_LOCK_WIDTH;
  }
 else   if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_LOCK_HEIGHT;
  }
 else {
    mAspect=ASPECT_SQUARE;
  }
  setClickable(true);
  mPathPaint.setAntiAlias(true);
  mPathPaint.setDither(true);
  mPathPaint.setColor(Color.WHITE);
  mPathPaint.setAlpha(mStrokeAlpha);
  mPathPaint.setStyle(Paint.Style.STROKE);
  mPathPaint.setStrokeJoin(Paint.Join.ROUND);
  mPathPaint.setStrokeCap(Paint.Cap.ROUND);
  mBitmapBtnDefault=getBitmapFor(R.drawable.btn_code_lock_default_holo);
  mBitmapBtnTouched=getBitmapFor(R.drawable.btn_code_lock_touched_holo);
  mBitmapCircleDefault=getBitmapFor(R.drawable.indicator_code_lock_point_area_default_holo);
  mBitmapCircleGreen=getBitmapFor(R.drawable.indicator_code_lock_point_area_green_holo);
  mBitmapCircleRed=getBitmapFor(R.drawable.indicator_code_lock_point_area_red_holo);
  mBitmapArrowGreenUp=getBitmapFor(R.drawable.indicator_code_lock_drag_direction_green_up);
  mBitmapArrowRedUp=getBitmapFor(R.drawable.indicator_code_lock_drag_direction_red_up);
  final Bitmap bitmaps[]={mBitmapBtnDefault,mBitmapBtnTouched,mBitmapCircleDefault,mBitmapCircleGreen,mBitmapCircleRed};
  for (  Bitmap bitmap : bitmaps) {
    mBitmapWidth=Math.max(mBitmapWidth,bitmap.getWidth());
    mBitmapHeight=Math.max(mBitmapHeight,bitmap.getHeight());
  }
}

Fixed version (ground truth):
public LockPatternView(Context context,AttributeSet attrs){
  super(context,attrs);
  TypedArray a=context.obtainStyledAttributes(attrs,R.styleable.LockPatternView);
  final String aspect=a.getString(R.styleable.LockPatternView_aspect);
  if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_SQUARE;
  }
 else   if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_LOCK_WIDTH;
  }
 else   if ("String_Node_Str".equals(aspect)) {
    mAspect=ASPECT_LOCK_HEIGHT;
  }
 else {
    mAspect=ASPECT_SQUARE;
  }
  setClickable(true);
  mPathPaint.setAntiAlias(true);
  mPathPaint.setDither(true);
  int defaultColor=Color.WHITE;
  TypedValue outValue=new TypedValue();
  if (context.getTheme().resolveAttribute(android.R.attr.textColorPrimary,outValue,true)) {
    defaultColor=context.getResources().getColor(outValue.resourceId);
  }
  final int color=a.getColor(R.styleable.LockPatternView_pathColor,defaultColor);
  mPathPaint.setColor(color);
  mPathPaint.setAlpha(mStrokeAlpha);
  mPathPaint.setStyle(Paint.Style.STROKE);
  mPathPaint.setStrokeJoin(Paint.Join.ROUND);
  mPathPaint.setStrokeCap(Paint.Cap.ROUND);
  mBitmapBtnDefault=getBitmapFor(R.drawable.btn_code_lock_default_holo);
  mBitmapBtnTouched=getBitmapFor(R.drawable.btn_code_lock_touched_holo);
  mBitmapCircleDefault=getBitmapFor(R.drawable.indicator_code_lock_point_area_default_holo);
  mBitmapCircleGreen=getBitmapFor(R.drawable.indicator_code_lock_point_area_green_holo);
  mBitmapCircleRed=getBitmapFor(R.drawable.indicator_code_lock_point_area_red_holo);
  mBitmapArrowGreenUp=getBitmapFor(R.drawable.indicator_code_lock_drag_direction_green_up);
  mBitmapArrowRedUp=getBitmapFor(R.drawable.indicator_code_lock_drag_direction_red_up);
  final Bitmap bitmaps[]={mBitmapBtnDefault,mBitmapBtnTouched,mBitmapCircleDefault,mBitmapCircleGreen,mBitmapCircleRed};
  for (  Bitmap bitmap : bitmaps) {
    mBitmapWidth=Math.max(mBitmapWidth,bitmap.getWidth());
    mBitmapHeight=Math.max(mBitmapHeight,bitmap.getHeight());
  }
}