diff --git a/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java b/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java
index d53b065..9ab0486 100644
--- a/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java
+++ b/app/src/main/java/uk/org/openseizuredetector/BLEScanActivity.java
@@ -32,6 +32,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
@@ -80,6 +81,14 @@ public class BLEScanActivity extends ListActivity {
// Stops scanning after 10 seconds.
private static final long SCAN_PERIOD = 10000;
+ private int okColour = Color.BLUE;
+ private int warnColour = Color.MAGENTA;
+ private int alarmColour = Color.RED;
+ private int okTextColour = Color.WHITE;
+ private int warnTextColour = Color.WHITE;
+ private int alarmTextColour = Color.BLACK;
+
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -158,61 +167,61 @@ public class BLEScanActivity extends ListActivity {
String bleAddr = SP.getString("BLE_Device_Addr", "none");
String bleName = SP.getString("BLE_Device_Name", "none");
tv.setText("Current Device=" + bleName + " (" + bleAddr + ")");
+ tv.setTextColor(okTextColour);
+ tv.setBackgroundColor(okColour);
} catch (Exception e) {
tv.setText("Current Device=" + "none" + " (" + "none" + ")");
+ tv.setTextColor(warnTextColour);
+ tv.setBackgroundColor(warnColour);
}
tv = (TextView) findViewById(R.id.ble_present_tv);
if (mBluetoothAdapter == null) {
tv.setText("ERROR - Bluetooth Adapter Not Present");
+ tv.setTextColor(alarmTextColour);
+ tv.setBackgroundColor(alarmColour);
} else {
tv.setText("Bluetooth Adapter Present - OK");
+ tv.setTextColor(okTextColour);
+ tv.setBackgroundColor(okColour);
}
// 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");
+ tv.setText("ERROR - Bluetooth NOT Enabled");
+ tv.setTextColor(alarmTextColour);
+ tv.setBackgroundColor(alarmColour);
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
} else {
tv.setText("Bluetooth Adapter Enabled OK");
+ tv.setTextColor(okTextColour);
+ tv.setBackgroundColor(okColour);
}
requestBTPermissions(this);
+ boolean permissionsOk = true;
for (int i = 0; i < REQUIRED_PERMISSIONS.length; i++) {
if (ContextCompat.checkSelfPermission(this, REQUIRED_PERMISSIONS[i]) == PERMISSION_GRANTED) {
Log.i(TAG, "Permission " + REQUIRED_PERMISSIONS[i] + " OK");
} else {
Log.e(TAG, "Permission " + REQUIRED_PERMISSIONS[i] + " NOT GRANTED");
+ permissionsOk = false;
Toast.makeText(this, "ERROR - Permission " + REQUIRED_PERMISSIONS[i] + " not Granted - this will not work!!!!!", Toast.LENGTH_SHORT).show();
}
}
tv = (TextView) findViewById(R.id.ble_perm1_tv);
- if (ContextCompat.checkSelfPermission(this, REQUIRED_PERMISSIONS[0]) == PERMISSION_GRANTED) {
- tv.setText("Permission " + REQUIRED_PERMISSIONS[0] + " OK");
+ if (permissionsOk) {
+ tv.setText("Permissions required for Bluetooth Granted OK");
+ tv.setBackgroundColor(okColour);
+ tv.setTextColor(okTextColour);
} else {
- tv.setText("ERROR: Permission " + REQUIRED_PERMISSIONS[0] + " NOT GRANTED");
- }
- tv = (TextView) findViewById(R.id.ble_perm2_tv);
- if (ContextCompat.checkSelfPermission(this, REQUIRED_PERMISSIONS[1]) == PERMISSION_GRANTED) {
- tv.setText("Permission " + REQUIRED_PERMISSIONS[1] + " OK");
- } else {
- tv.setText("ERROR: Permission " + REQUIRED_PERMISSIONS[1] + " NOT GRANTED");
- }
- tv = (TextView) findViewById(R.id.ble_perm3_tv);
- if (ContextCompat.checkSelfPermission(this, REQUIRED_PERMISSIONS[2]) == PERMISSION_GRANTED) {
- tv.setText("Permission " + REQUIRED_PERMISSIONS[2] + " OK");
- } else {
- tv.setText("ERROR: Permission " + REQUIRED_PERMISSIONS[2] + " NOT GRANTED");
- }
- tv = (TextView) findViewById(R.id.ble_perm4_tv);
- if (ContextCompat.checkSelfPermission(this, REQUIRED_PERMISSIONS[3]) == PERMISSION_GRANTED) {
- tv.setText("Permission " + REQUIRED_PERMISSIONS[3] + " OK");
- } else {
- tv.setText("ERROR: Permission " + REQUIRED_PERMISSIONS[3] + " NOT GRANTED");
+ tv.setText("ERROR: one or more permissions not granted - this may not work!");
+ tv.setBackgroundColor(warnColour);
+ tv.setTextColor(warnTextColour);
}
@@ -322,6 +331,10 @@ public class BLEScanActivity extends ListActivity {
invalidateOptionsMenu();
TextView tv = (TextView) (findViewById(R.id.ble_scan_status_tv));
tv.setText("Stopped");
+ tv.setTextColor(okTextColour);
+ tv.setBackgroundColor(okColour);
+
+
Button b = (Button) findViewById(R.id.startScanButton);
b.setEnabled(true);
@@ -331,6 +344,9 @@ public class BLEScanActivity extends ListActivity {
startScan();
tv = (TextView) (findViewById(R.id.ble_scan_status_tv));
tv.setText("Scanning");
+ tv.setTextColor(warnTextColour);
+ tv.setBackgroundColor(warnColour);
+
Button b = (Button) findViewById(R.id.startScanButton);
b.setEnabled(false);
diff --git a/app/src/main/res/layout/ble_scan_activity.xml b/app/src/main/res/layout/ble_scan_activity.xml
index 92f983e..a212a6e 100644
--- a/app/src/main/res/layout/ble_scan_activity.xml
+++ b/app/src/main/res/layout/ble_scan_activity.xml
@@ -6,25 +6,19 @@
android:paddingLeft="8dp"
android:paddingRight="8dp">
-
+
+
+ android:text="@string/ble_connected_warning_text" />
-
-
-
-
-
-
-
+ android:orientation="horizontal">
+
+
+
+
+
"Algorithms: "
Battery History
Watch Battery History (%)
+ NOTE: Devices will not appear on this list if they are already connected - disconnect device from GadgetBridge etc. to allow it to be selected here