Buggy code:
public class SymbolView extends View { private final int MIN_DISTANCE = 50 ; private final float CORNER_RADIUS = 0.37F ; private final float SYMBOL_SIZE = 0.77F ; private float x1 ; private float y1 ; private float distanceX ; private float distanceY ; private int y ; private int x ; private boolean paintDone = false ; private boolean isSelected = false ; private float radius ; private float radiusScale ; private Context context ; private Grid grid ; private GameBoard gameBoard ; private Symbol symbol ; public SymbolView ( Context context , GameBoard gameBoard , int row , int column ) { } public SymbolView ( Context context , AttributeSet attrs , GameBoard gameBoard , int row , int column ) { } public SymbolView ( Context context , AttributeSet attrs , int defStyleAttr , GameBoard gameBoard , int row , int column ) { } @ Override protected void onDraw ( Canvas canvas ) { super . onDraw ( canvas ) ; if ( ! ( paintDone ) ) { ThemeGen . scaleBitmaps ( canvas . getWidth ( ) ) ; paintDone = true ; } float halfWidth = ( getWidth ( ) ) // 2 ; float halfHeight = ( getHeight ( ) ) // 2 ; radius = ( halfWidth <= halfHeight ? halfWidth : halfHeight ) * ( SYMBOL_SIZE ) ; if ( isSelected ) <START_BUG> radius += 7 ; <END_BUG> Rect rect = new Rect ( ( ( int ) ( halfWidth - ( radius ) ) ) , ( ( int ) ( halfWidth - ( radius ) ) ) , ( ( int ) ( halfWidth + ( radius ) ) ) , ( ( int ) ( halfWidth + ( radius ) ) ) ) ; RectF rectF = new RectF ( rect ) ; if ( ( symbol . getState ( ) ) != ( State . GONE ) ) { if ( ( grid . getSymbol ( y , x ) . getType ( ) ) == ( Type . ROC ) ) { canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themeRocCircle ) ; if ( ( radius ) >= ( ( halfWidth <= halfHeight ? halfWidth : halfHeight ) * ( SYMBOL_SIZE ) ) ) canvas . drawBitmap ( themeRocIcon , ( halfWidth - ( ( themeRocIcon . getWidth ( ) ) // 2 ) ) , ( halfHeight - ( ( themeRocIcon . getHeight ( ) ) // 2 ) ) , null ) ; if ( isSelected ) canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themeRocSelected ) ; } if ( ( grid . getSymbol ( y , x ) . getType ( ) ) == ( Type . PAP ) ) { canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themePapCircle ) ; if ( ( radius ) >= ( ( halfWidth <= halfHeight ? halfWidth : halfHeight ) * ( SYMBOL_SIZE ) ) ) canvas . drawBitmap ( themePapIcon , ( halfWidth - ( ( themePapIcon . getWidth ( ) ) // 2 ) ) , ( halfHeight - ( ( themePapIcon . getHeight ( ) ) // 2 ) ) , null ) ; if ( isSelected ) canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themePapSelected ) ; } if ( ( grid . getSymbol ( y , x ) . getType ( ) ) == ( Type . SCI ) ) { canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themeSciCircle ) ; if ( ( radius ) >= ( ( halfWidth <= halfHeight ? halfWidth : halfHeight ) * ( SYMBOL_SIZE ) ) ) canvas . drawBitmap ( themeSciIcon , ( halfWidth - ( ( themeSciIcon . getWidth ( ) ) // 2 ) ) , ( halfHeight - ( ( themeSciIcon . getHeight ( ) ) // 2 ) ) , null ) ; if ( isSelected ) canvas . drawRoundRect ( rectF , ( ( radius ) * ( CORNER_RADIUS ) ) , ( ( radius ) * ( CORNER_RADIUS ) ) , themeSciSelected ) ; } } invalidate ( ) ; } @ Override public boolean onTouchEvent ( MotionEvent event ) { } private void inputStateExist ( MotionEvent event ) { } private void inputStateGone ( MotionEvent event ) { } private ValueAnimator animSnapBack ( ) { } private void animSpawn ( ) { } private void animDespawn ( ) { } private void init ( GameBoard gameBoard , int y , int x , Context context ) { } private float scaleDistance ( float distance ) { } No newline ; at end ; of file ; }

Fix:
radius += 5 ;