Started working on RadarView

This commit is contained in:
Alexandros Schillings
2014-03-17 00:39:56 +00:00
parent bd57a59d5a
commit ad25dfc57c
3 changed files with 139 additions and 24 deletions
@@ -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);
@@ -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);
}
}