From ad25dfc57cb7424cd462d55cde8407323974babe Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Mon, 17 Mar 2014 00:39:56 +0000 Subject: [PATCH] Started working on RadarView --- sample_app/res/layout/activity_main.xml | 69 ++++++++++----- .../btlescan/activities/MainActivity.java | 7 +- .../co/alt236/btlescan/views/RadarView.java | 87 +++++++++++++++++++ 3 files changed, 139 insertions(+), 24 deletions(-) create mode 100644 sample_app/src/uk/co/alt236/btlescan/views/RadarView.java diff --git a/sample_app/res/layout/activity_main.xml b/sample_app/res/layout/activity_main.xml index 6006f12..e9f5fb4 100644 --- a/sample_app/res/layout/activity_main.xml +++ b/sample_app/res/layout/activity_main.xml @@ -1,7 +1,8 @@ - + android:textSize="12sp" + android:textStyle="bold" /> + android:textSize="12sp" /> + android:textSize="12sp" + android:textStyle="bold" /> + android:textSize="12sp" /> - + android:orientation="vertical" > - + - \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/sample_app/src/uk/co/alt236/btlescan/activities/MainActivity.java b/sample_app/src/uk/co/alt236/btlescan/activities/MainActivity.java index c4b8679..a1c722c 100644 --- a/sample_app/src/uk/co/alt236/btlescan/activities/MainActivity.java +++ b/sample_app/src/uk/co/alt236/btlescan/activities/MainActivity.java @@ -5,6 +5,7 @@ import uk.co.alt236.btlescan.R; import uk.co.alt236.btlescan.adapters.LeDeviceListAdapter; import uk.co.alt236.btlescan.util.BluetoothLeScanner; import uk.co.alt236.btlescan.util.BluetoothUtils; +import uk.co.alt236.btlescan.views.RadarView; import android.app.ListActivity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; @@ -21,11 +22,12 @@ import butterknife.InjectView; public class MainActivity extends ListActivity { @InjectView(R.id.tvBluetoothLe) TextView mTvBluetoothLeStatus; @InjectView(R.id.tvBluetoothStatus) TextView mTvBluetoothStatus; - + @InjectView(R.id.radarView) RadarView mRadarView; + private BluetoothUtils mBluetoothUtils; private BluetoothLeScanner mScanner; private LeDeviceListAdapter mLeDeviceListAdapter; - + private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) { @@ -64,7 +66,6 @@ public class MainActivity extends ListActivity { mScanner = new BluetoothLeScanner(mLeScanCallback, mBluetoothUtils); } - @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); diff --git a/sample_app/src/uk/co/alt236/btlescan/views/RadarView.java b/sample_app/src/uk/co/alt236/btlescan/views/RadarView.java new file mode 100644 index 0000000..8bde7a3 --- /dev/null +++ b/sample_app/src/uk/co/alt236/btlescan/views/RadarView.java @@ -0,0 +1,87 @@ +package uk.co.alt236.btlescan.views; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.util.AttributeSet; +import android.util.Log; +import android.view.View; + +public class RadarView extends View{ + private Paint mRadarBackgroundPaint; + private Paint mViewBackgroundPaint; + private int mWidth; + private int mHeight; + + public RadarView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + private void init() { + mRadarBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + mRadarBackgroundPaint.setColor(0xff101010); + mRadarBackgroundPaint.setStyle(Style.FILL); + + mViewBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + mViewBackgroundPaint.setColor(Color.BLACK); + mViewBackgroundPaint.setStyle(Style.FILL); + } + + public RadarView(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public RadarView(Context context) { + super(context); + init(); + } + + + private int getSmallestDimension(){ + if(mWidth > mHeight){ + return mHeight; + } else { + return mWidth; + } + } + + @Override + public void onSizeChanged (int w, int h, int oldw, int oldh){ + super.onSizeChanged(w, h, oldw, oldh); + mWidth = w; + mHeight = h; + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + Log.d("TAG", "~ ONDRAW!"); + + Log.d("TAG", "~ getLeft! " + getLeft()); + Log.d("TAG", "~ getTop! " + getTop()); + Log.d("TAG", "~ getRight! " + getRight()); + Log.d("TAG", "~ getBottom! " + getBottom()); + Log.d("TAG", "~ width! " + mWidth); + Log.d("TAG", "~ height! " + mHeight); + + final int smallestDim = getSmallestDimension(); + + + canvas.drawRect( + getLeft(), + getTop(), + getRight(), + getBottom(), + mViewBackgroundPaint); + + canvas.drawCircle( + getLeft() + (mWidth / 2f), + getTop() + (mHeight / 2f), + smallestDim / 2f, + mRadarBackgroundPaint); + } +}