diff --git a/app/release/app-release-3.6.3c.apk b/app/release/app-release-3.6.3c.apk new file mode 100644 index 0000000..0ac8a03 Binary files /dev/null and b/app/release/app-release-3.6.3c.apk differ diff --git a/app/release/app-release.apk b/app/release/app-release.apk index ccb8645..0ac8a03 100644 Binary files a/app/release/app-release.apk and b/app/release/app-release.apk differ diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index bc309a3..4d5c2a8 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -10,8 +10,8 @@ { "type": "SINGLE", "filters": [], - "versionCode": 88, - "versionName": "3.6.3a", + "versionCode": 89, + "versionName": "3.6.3c", "outputFile": "app-release.apk" } ] diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c5a75d6..5e5aa7b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="89" + android:versionName="3.6.3c"> diff --git a/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java b/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java index 7d2daf1..c7b08f4 100644 --- a/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java +++ b/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java @@ -39,6 +39,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; +import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; @@ -53,6 +54,7 @@ public class BLEScanActivity extends ListActivity { private BluetoothAdapter mBluetoothAdapter; private boolean mScanning; private Handler mHandler; + private boolean bleAvailable = false; private boolean mPermissionsRequested = false; private final String TAG = "BLEScanActivity"; @@ -70,6 +72,7 @@ public class BLEScanActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.ble_scan_activity); //this.getActionBar().setTitle(R.string.title_devices); this.setTitle(R.string.title_devices); mHandler = new Handler(); @@ -79,6 +82,8 @@ public class BLEScanActivity extends ListActivity { if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show(); finish(); + } else { + bleAvailable = true; } // Initializes a Bluetooth adapter. For API level 18 and above, get a reference to @@ -125,15 +130,40 @@ public class BLEScanActivity extends ListActivity { return true; } + + public void onScanButtonClick(View v) { + scanLeDevice(true); + } + @Override protected void onResume() { super.onResume(); + SharedPreferences SP = PreferenceManager + .getDefaultSharedPreferences(this); + TextView tv = (TextView) findViewById(R.id.current_ble_device_tv); + try { + String bleAddr = SP.getString("BLE_Device_Addr", "none"); + String bleName = SP.getString("BLE_Device_Name", "none"); + tv.setText("Current Device=" + bleName + " (" + bleAddr + ")"); + } catch(Exception e) { + tv.setText("Current Device=" + "none" + " (" + "none" + ")"); + } + tv = (TextView)findViewById(R.id.ble_present_tv); + if (mBluetoothAdapter == null) { + tv.setText("ERROR - Bluetooth Adapter Not Present"); + } else { + tv.setText("Bluetooth Adapter Present - OK"); + } // Ensures Bluetooth is enabled on the device. If Bluetooth is not currently enabled, // fire an intent to display a dialog asking the user to grant permission to enable it. + tv = (TextView)findViewById(R.id.ble_adapter_tv); if (!mBluetoothAdapter.isEnabled()) { + tv.setText("ERROR - Bluetoot NOT Enabled"); Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); + } else { + tv.setText("Bluetooth Adapter Enabled OK"); } // Initializes list view adapter. @@ -191,6 +221,7 @@ public class BLEScanActivity extends ListActivity { } private void scanLeDevice(final boolean enable) { + TextView tv; requestPermissions(this); if (enable) { // Stops scanning after a pre-defined scan period. @@ -200,14 +231,28 @@ public class BLEScanActivity extends ListActivity { mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); invalidateOptionsMenu(); + TextView tv = (TextView)(findViewById(R.id.ble_scan_status_tv)); + tv.setText("Stopped"); + Button b = (Button)findViewById(R.id.startScanButton); + b.setEnabled(true); + } }, SCAN_PERIOD); mScanning = true; mBluetoothAdapter.startLeScan(mLeScanCallback); + tv = (TextView)(findViewById(R.id.ble_scan_status_tv)); + tv.setText("Scanning"); + Button b = (Button)findViewById(R.id.startScanButton); + b.setEnabled(false); + } else { mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); + tv = (TextView)(findViewById(R.id.ble_scan_status_tv)); + tv.setText("Stopped"); + Button b = (Button)findViewById(R.id.startScanButton); + b.setEnabled(true); } invalidateOptionsMenu(); } diff --git a/app/src/main/res/layout/ble_scan_activity.xml b/app/src/main/res/layout/ble_scan_activity.xml new file mode 100644 index 0000000..cfb3b0b --- /dev/null +++ b/app/src/main/res/layout/ble_scan_activity.xml @@ -0,0 +1,66 @@ + + + + + + + +