mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2025-12-21 16:34:23 +01:00
Migration to BLE Library 2.0.0
This commit is contained in:
@@ -57,7 +57,7 @@ dependencies {
|
|||||||
|
|
||||||
// Import the BLE Common Library.
|
// Import the BLE Common Library.
|
||||||
// The BLE Common Library depends on BLE Library. It is enough to include the first one.
|
// The BLE Common Library depends on BLE Library. It is enough to include the first one.
|
||||||
implementation 'no.nordicsemi.android:ble-common:2.0-beta5'
|
implementation 'no.nordicsemi.android:ble-common:2.0.0'
|
||||||
// The BLE Common Library may be included from jcenter. If you want to modify the code,
|
// The BLE Common Library may be included from jcenter. If you want to modify the code,
|
||||||
// clone both projects from GitHub and replace the line above with the following
|
// clone both projects from GitHub and replace the line above with the following
|
||||||
// (and also the according lines in the settings.gradle):
|
// (and also the according lines in the settings.gradle):
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import no.nordicsemi.android.ble.callback.DataReceivedCallback;
|
|||||||
import no.nordicsemi.android.ble.common.callback.battery.BatteryLevelDataCallback;
|
import no.nordicsemi.android.ble.common.callback.battery.BatteryLevelDataCallback;
|
||||||
import no.nordicsemi.android.ble.data.Data;
|
import no.nordicsemi.android.ble.data.Data;
|
||||||
import no.nordicsemi.android.log.LogContract;
|
import no.nordicsemi.android.log.LogContract;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Ble Manager with Battery Service support.
|
* The Ble Manager with Battery Service support.
|
||||||
@@ -22,7 +23,7 @@ import no.nordicsemi.android.log.LogContract;
|
|||||||
* @see BleManager
|
* @see BleManager
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
public abstract class BatteryManager<T extends BatteryManagerCallbacks> extends BleManager<T> {
|
public abstract class BatteryManager<T extends BatteryManagerCallbacks> extends LoggableBleManager<T> {
|
||||||
/** Battery Service UUID. */
|
/** Battery Service UUID. */
|
||||||
private final static UUID BATTERY_SERVICE_UUID = UUID.fromString("0000180F-0000-1000-8000-00805f9b34fb");
|
private final static UUID BATTERY_SERVICE_UUID = UUID.fromString("0000180F-0000-1000-8000-00805f9b34fb");
|
||||||
/** Battery Level characteristic UUID. */
|
/** Battery Level characteristic UUID. */
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ import android.widget.TextView;
|
|||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.common.profile.bp.BloodPressureMeasurementCallback;
|
import no.nordicsemi.android.ble.common.profile.bp.BloodPressureMeasurementCallback;
|
||||||
import no.nordicsemi.android.ble.common.profile.bp.IntermediateCuffPressureCallback;
|
import no.nordicsemi.android.ble.common.profile.bp.IntermediateCuffPressureCallback;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileActivity;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileActivity;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
// TODO The BPMActivity should be rewritten to use the service approach, like other do.
|
// TODO The BPMActivity should be rewritten to use the service approach, like other do.
|
||||||
public class BPMActivity extends BleProfileActivity implements BPMManagerCallbacks {
|
public class BPMActivity extends BleProfileActivity implements BPMManagerCallbacks {
|
||||||
@@ -90,7 +90,7 @@ public class BPMActivity extends BleProfileActivity implements BPMManagerCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<BPMManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<BPMManagerCallbacks> initializeManager() {
|
||||||
final BPMManager manager = BPMManager.getBPMManager(getApplicationContext());
|
final BPMManager manager = BPMManager.getBPMManager(getApplicationContext());
|
||||||
manager.setGattCallbacks(this);
|
manager.setGattCallbacks(this);
|
||||||
return manager;
|
return manager;
|
||||||
@@ -110,17 +110,17 @@ public class BPMActivity extends BleProfileActivity implements BPMManagerCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onServicesDiscovered(final BluetoothDevice device, final boolean optionalServicesFound) {
|
public void onServicesDiscovered(@NonNull final BluetoothDevice device, final boolean optionalServicesFound) {
|
||||||
// this may notify user or show some views
|
// this may notify user or show some views
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceReady(final BluetoothDevice device) {
|
public void onDeviceReady(@NonNull final BluetoothDevice device) {
|
||||||
// this may notify user
|
// this may notify user
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceDisconnected(final BluetoothDevice device) {
|
public void onDeviceDisconnected(@NonNull final BluetoothDevice device) {
|
||||||
super.onDeviceDisconnected(device);
|
super.onDeviceDisconnected(device);
|
||||||
runOnUiThread(() -> mBatteryLevelView.setText(R.string.not_available));
|
runOnUiThread(() -> mBatteryLevelView.setText(R.string.not_available));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,18 +9,16 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
|
||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.common.profile.cgm.CGMTypes;
|
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public class CGMService extends BleProfileService implements CGMSManagerCallbacks {
|
public class CGMService extends BleProfileService implements CGMSManagerCallbacks {
|
||||||
private static final String ACTION_DISCONNECT = "no.nordicsemi.android.nrftoolbox.cgms.ACTION_DISCONNECT";
|
private static final String ACTION_DISCONNECT = "no.nordicsemi.android.nrftoolbox.cgms.ACTION_DISCONNECT";
|
||||||
@@ -133,7 +131,7 @@ public class CGMService extends BleProfileService implements CGMSManagerCallback
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager initializeManager() {
|
protected LoggableBleManager<CGMSManagerCallbacks> initializeManager() {
|
||||||
return mManager = new CGMSManager(this);
|
return mManager = new CGMSManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,12 +34,12 @@ import android.support.annotation.NonNull;
|
|||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public class CSCService extends BleProfileService implements CSCManagerCallbacks {
|
public class CSCService extends BleProfileService implements CSCManagerCallbacks {
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@@ -82,7 +82,7 @@ public class CSCService extends BleProfileService implements CSCManagerCallbacks
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<CSCManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<CSCManagerCallbacks> initializeManager() {
|
||||||
return mManager = new CSCManager(this);
|
return mManager = new CSCManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileExpandableListActivity;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileExpandableListActivity;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
// TODO The GlucoseActivity should be rewritten to use the service approach, like other do.
|
// TODO The GlucoseActivity should be rewritten to use the service approach, like other do.
|
||||||
public class GlucoseActivity extends BleProfileExpandableListActivity implements PopupMenu.OnMenuItemClickListener, GlucoseManagerCallbacks {
|
public class GlucoseActivity extends BleProfileExpandableListActivity implements PopupMenu.OnMenuItemClickListener, GlucoseManagerCallbacks {
|
||||||
@@ -80,7 +80,7 @@ public class GlucoseActivity extends BleProfileExpandableListActivity implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<GlucoseManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<GlucoseManagerCallbacks> initializeManager() {
|
||||||
GlucoseManager manager = mGlucoseManager = GlucoseManager.getGlucoseManager(getApplicationContext());
|
GlucoseManager manager = mGlucoseManager = GlucoseManager.getGlucoseManager(getApplicationContext());
|
||||||
manager.setGattCallbacks(this);
|
manager.setGattCallbacks(this);
|
||||||
return manager;
|
return manager;
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ import org.achartengine.GraphicalView;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileActivity;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileActivity;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HRSActivity is the main Heart rate activity. It implements HRSManagerCallbacks to receive callbacks from HRSManager class. The activity supports portrait and landscape orientations. The activity
|
* HRSActivity is the main Heart rate activity. It implements HRSManagerCallbacks to receive callbacks from HRSManager class. The activity supports portrait and landscape orientations. The activity
|
||||||
@@ -179,19 +179,19 @@ public class HRSActivity extends BleProfileActivity implements HRSManagerCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<HRSManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<HRSManagerCallbacks> initializeManager() {
|
||||||
final HRSManager manager = HRSManager.getInstance(getApplicationContext());
|
final HRSManager manager = HRSManager.getInstance(getApplicationContext());
|
||||||
manager.setGattCallbacks(this);
|
manager.setGattCallbacks(this);
|
||||||
return manager;
|
return manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onServicesDiscovered(final BluetoothDevice device, final boolean optionalServicesFound) {
|
public void onServicesDiscovered(@NonNull final BluetoothDevice device, final boolean optionalServicesFound) {
|
||||||
// this may notify user or show some views
|
// this may notify user or show some views
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceReady(final BluetoothDevice device) {
|
public void onDeviceReady(@NonNull final BluetoothDevice device) {
|
||||||
startShowGraph();
|
startShowGraph();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ public class HRSActivity extends BleProfileActivity implements HRSManagerCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceDisconnected(final BluetoothDevice device) {
|
public void onDeviceDisconnected(@NonNull final BluetoothDevice device) {
|
||||||
super.onDeviceDisconnected(device);
|
super.onDeviceDisconnected(device);
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
mHRSValue.setText(R.string.not_available_value);
|
mHRSValue.setText(R.string.not_available_value);
|
||||||
|
|||||||
@@ -37,13 +37,13 @@ import android.support.v4.content.LocalBroadcastManager;
|
|||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.common.profile.ht.TemperatureMeasurementCallback;
|
import no.nordicsemi.android.ble.common.profile.ht.TemperatureMeasurementCallback;
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
@SuppressWarnings("FieldCanBeLocal")
|
@SuppressWarnings("FieldCanBeLocal")
|
||||||
public class HTSService extends BleProfileService implements HTSManagerCallbacks {
|
public class HTSService extends BleProfileService implements HTSManagerCallbacks {
|
||||||
@@ -86,7 +86,7 @@ public class HTSService extends BleProfileService implements HTSManagerCallbacks
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<HTSManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<HTSManagerCallbacks> initializeManager() {
|
||||||
return mManager = new HTSManager(this);
|
return mManager = new HTSManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.BleManagerCallbacks;
|
import no.nordicsemi.android.ble.BleManagerCallbacks;
|
||||||
import no.nordicsemi.android.log.ILogSession;
|
import no.nordicsemi.android.log.ILogSession;
|
||||||
import no.nordicsemi.android.log.LocalLogSession;
|
import no.nordicsemi.android.log.LocalLogSession;
|
||||||
@@ -59,7 +58,7 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl
|
|||||||
private static final String SIS_DEVICE_NAME = "device_name";
|
private static final String SIS_DEVICE_NAME = "device_name";
|
||||||
protected static final int REQUEST_ENABLE_BT = 2;
|
protected static final int REQUEST_ENABLE_BT = 2;
|
||||||
|
|
||||||
private BleManager<? extends BleManagerCallbacks> mBleManager;
|
private LoggableBleManager<? extends BleManagerCallbacks> mBleManager;
|
||||||
|
|
||||||
private TextView mDeviceNameView;
|
private TextView mDeviceNameView;
|
||||||
private Button mConnectButton;
|
private Button mConnectButton;
|
||||||
@@ -262,7 +261,7 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceConnecting(final BluetoothDevice device) {
|
public void onDeviceConnecting(@NonNull final BluetoothDevice device) {
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
mDeviceNameView.setText(mDeviceName != null ? mDeviceName : getString(R.string.not_available));
|
mDeviceNameView.setText(mDeviceName != null ? mDeviceName : getString(R.string.not_available));
|
||||||
mConnectButton.setText(R.string.action_connecting);
|
mConnectButton.setText(R.string.action_connecting);
|
||||||
@@ -270,18 +269,18 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceConnected(final BluetoothDevice device) {
|
public void onDeviceConnected(@NonNull final BluetoothDevice device) {
|
||||||
mDeviceConnected = true;
|
mDeviceConnected = true;
|
||||||
runOnUiThread(() -> mConnectButton.setText(R.string.action_disconnect));
|
runOnUiThread(() -> mConnectButton.setText(R.string.action_disconnect));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceDisconnecting(final BluetoothDevice device) {
|
public void onDeviceDisconnecting(@NonNull final BluetoothDevice device) {
|
||||||
runOnUiThread(() -> mConnectButton.setText(R.string.action_disconnecting));
|
runOnUiThread(() -> mConnectButton.setText(R.string.action_disconnecting));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceDisconnected(final BluetoothDevice device) {
|
public void onDeviceDisconnected(@NonNull final BluetoothDevice device) {
|
||||||
mDeviceConnected = false;
|
mDeviceConnected = false;
|
||||||
mBleManager.close();
|
mBleManager.close();
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
@@ -291,43 +290,43 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLinkLossOccurred(final BluetoothDevice device) {
|
public void onLinkLossOccurred(@NonNull final BluetoothDevice device) {
|
||||||
mDeviceConnected = false;
|
mDeviceConnected = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onServicesDiscovered(final BluetoothDevice device, boolean optionalServicesFound) {
|
public void onServicesDiscovered(@NonNull final BluetoothDevice device, boolean optionalServicesFound) {
|
||||||
// this may notify user or show some views
|
// this may notify user or show some views
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceReady(final BluetoothDevice device) {
|
public void onDeviceReady(@NonNull final BluetoothDevice device) {
|
||||||
// empty default implementation
|
// empty default implementation
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBondingRequired(final BluetoothDevice device) {
|
public void onBondingRequired(@NonNull final BluetoothDevice device) {
|
||||||
showToast(R.string.bonding);
|
showToast(R.string.bonding);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBonded(final BluetoothDevice device) {
|
public void onBonded(@NonNull final BluetoothDevice device) {
|
||||||
showToast(R.string.bonded);
|
showToast(R.string.bonded);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBondingFailed(final BluetoothDevice device) {
|
public void onBondingFailed(@NonNull final BluetoothDevice device) {
|
||||||
showToast(R.string.bonding_failed);
|
showToast(R.string.bonding_failed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(final BluetoothDevice device, final String message, final int errorCode) {
|
public void onError(@NonNull final BluetoothDevice device, @NonNull final String message, final int errorCode) {
|
||||||
DebugLogger.e(TAG, "Error occurred: " + message + ", error code: " + errorCode);
|
DebugLogger.e(TAG, "Error occurred: " + message + ", error code: " + errorCode);
|
||||||
showToast(message + " (" + errorCode + ")");
|
showToast(message + " (" + errorCode + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeviceNotSupported(final BluetoothDevice device) {
|
public void onDeviceNotSupported(@NonNull final BluetoothDevice device) {
|
||||||
showToast(R.string.not_supported);
|
showToast(R.string.not_supported);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,7 +367,7 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl
|
|||||||
*
|
*
|
||||||
* @return the manager that was created
|
* @return the manager that was created
|
||||||
*/
|
*/
|
||||||
protected abstract BleManager<? extends BleManagerCallbacks> initializeManager();
|
protected abstract LoggableBleManager<? extends BleManagerCallbacks> initializeManager();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restores the default UI before reconnecting
|
* Restores the default UI before reconnecting
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.BleManagerCallbacks;
|
import no.nordicsemi.android.ble.BleManagerCallbacks;
|
||||||
import no.nordicsemi.android.log.ILogSession;
|
import no.nordicsemi.android.log.ILogSession;
|
||||||
import no.nordicsemi.android.log.LocalLogSession;
|
import no.nordicsemi.android.log.LocalLogSession;
|
||||||
@@ -58,7 +57,7 @@ public abstract class BleProfileExpandableListActivity extends ExpandableListAct
|
|||||||
private static final String SIS_DEVICE_NAME = "device_name";
|
private static final String SIS_DEVICE_NAME = "device_name";
|
||||||
protected static final int REQUEST_ENABLE_BT = 2;
|
protected static final int REQUEST_ENABLE_BT = 2;
|
||||||
|
|
||||||
private BleManager<? extends BleManagerCallbacks> mBleManager;
|
private LoggableBleManager<? extends BleManagerCallbacks> mBleManager;
|
||||||
|
|
||||||
private TextView mDeviceNameView;
|
private TextView mDeviceNameView;
|
||||||
private Button mConnectButton;
|
private Button mConnectButton;
|
||||||
@@ -367,7 +366,7 @@ public abstract class BleProfileExpandableListActivity extends ExpandableListAct
|
|||||||
*
|
*
|
||||||
* @return the manager that was created
|
* @return the manager that was created
|
||||||
*/
|
*/
|
||||||
protected abstract BleManager<? extends BleManagerCallbacks> initializeManager();
|
protected abstract LoggableBleManager<? extends BleManagerCallbacks> initializeManager();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restores the default UI before reconnecting
|
* Restores the default UI before reconnecting
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public abstract class BleProfileService extends Service implements BleManagerCal
|
|||||||
public static final int STATE_CONNECTING = 2;
|
public static final int STATE_CONNECTING = 2;
|
||||||
public static final int STATE_DISCONNECTING = 3;
|
public static final int STATE_DISCONNECTING = 3;
|
||||||
|
|
||||||
private BleManager<BleManagerCallbacks> mBleManager;
|
private LoggableBleManager<BleManagerCallbacks> mBleManager;
|
||||||
private Handler mHandler;
|
private Handler mHandler;
|
||||||
|
|
||||||
protected boolean mBound;
|
protected boolean mBound;
|
||||||
@@ -311,7 +311,7 @@ public abstract class BleProfileService extends Service implements BleManagerCal
|
|||||||
* @return a new BleManager object
|
* @return a new BleManager object
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
protected abstract BleManager initializeManager();
|
protected abstract LoggableBleManager initializeManager();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns whether autoConnect option should be used.
|
* This method returns whether autoConnect option should be used.
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package no.nordicsemi.android.nrftoolbox.profile;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
|
import no.nordicsemi.android.ble.BleManager;
|
||||||
|
import no.nordicsemi.android.ble.BleManagerCallbacks;
|
||||||
|
import no.nordicsemi.android.log.ILogSession;
|
||||||
|
import no.nordicsemi.android.log.LogContract;
|
||||||
|
import no.nordicsemi.android.log.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The manager that logs to nRF Logger. If nRF Logger is not installed, logs are ignored.
|
||||||
|
*
|
||||||
|
* @param <T> the callbacks class.
|
||||||
|
*/
|
||||||
|
public abstract class LoggableBleManager<T extends BleManagerCallbacks> extends BleManager<T> {
|
||||||
|
private ILogSession mLogSession;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The manager constructor.
|
||||||
|
* <p>
|
||||||
|
* After constructing the manager, the callbacks object must be set with
|
||||||
|
* {@link #setGattCallbacks(BleManagerCallbacks)}.
|
||||||
|
*
|
||||||
|
* @param context the context.
|
||||||
|
*/
|
||||||
|
public LoggableBleManager(@NonNull final Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the log session to log into.
|
||||||
|
* @param session
|
||||||
|
*/
|
||||||
|
public void setLogger(@Nullable final ILogSession session) {
|
||||||
|
mLogSession = session;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void log(final int priority, @NonNull final String message) {
|
||||||
|
Logger.log(mLogSession, LogContract.Log.Level.fromPriority(priority), message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ import no.nordicsemi.android.ble.BleManagerCallbacks;
|
|||||||
import no.nordicsemi.android.ble.utils.ILogger;
|
import no.nordicsemi.android.ble.utils.ILogger;
|
||||||
import no.nordicsemi.android.log.ILogSession;
|
import no.nordicsemi.android.log.ILogSession;
|
||||||
import no.nordicsemi.android.log.LogContract;
|
import no.nordicsemi.android.log.LogContract;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public abstract class BleMulticonnectProfileService extends Service implements BleManagerCallbacks {
|
public abstract class BleMulticonnectProfileService extends Service implements BleManagerCallbacks {
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@@ -76,7 +77,7 @@ public abstract class BleMulticonnectProfileService extends Service implements B
|
|||||||
public static final int STATE_CONNECTING = 2;
|
public static final int STATE_CONNECTING = 2;
|
||||||
public static final int STATE_DISCONNECTING = 3;
|
public static final int STATE_DISCONNECTING = 3;
|
||||||
|
|
||||||
private HashMap<BluetoothDevice, BleManager<BleManagerCallbacks>> mBleManagers;
|
private HashMap<BluetoothDevice, LoggableBleManager<BleManagerCallbacks>> mBleManagers;
|
||||||
private List<BluetoothDevice> mManagedDevices;
|
private List<BluetoothDevice> mManagedDevices;
|
||||||
private Handler mHandler;
|
private Handler mHandler;
|
||||||
|
|
||||||
@@ -137,7 +138,7 @@ public abstract class BleMulticonnectProfileService extends Service implements B
|
|||||||
return;
|
return;
|
||||||
mManagedDevices.add(device);
|
mManagedDevices.add(device);
|
||||||
|
|
||||||
BleManager<BleManagerCallbacks> manager = mBleManagers.get(device);
|
LoggableBleManager<BleManagerCallbacks> manager = mBleManagers.get(device);
|
||||||
if (manager != null) {
|
if (manager != null) {
|
||||||
if (session != null)
|
if (session != null)
|
||||||
manager.setLogger(session);
|
manager.setLogger(session);
|
||||||
@@ -350,7 +351,7 @@ public abstract class BleMulticonnectProfileService extends Service implements B
|
|||||||
* @return a new BleManager object
|
* @return a new BleManager object
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
protected abstract BleManager initializeManager();
|
protected abstract LoggableBleManager initializeManager();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int onStartCommand(final Intent intent, final int flags, final int startId) {
|
public int onStartCommand(final Intent intent, final int flags, final int startId) {
|
||||||
|
|||||||
@@ -46,11 +46,11 @@ import java.io.IOException;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.log.LogContract;
|
import no.nordicsemi.android.log.LogContract;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.multiconnect.BleMulticonnectProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.multiconnect.BleMulticonnectProfileService;
|
||||||
|
|
||||||
public class ProximityService extends BleMulticonnectProfileService implements ProximityManagerCallbacks, ProximityServerManagerCallbacks {
|
public class ProximityService extends BleMulticonnectProfileService implements ProximityManagerCallbacks, ProximityServerManagerCallbacks {
|
||||||
@@ -133,7 +133,7 @@ public class ProximityService extends BleMulticonnectProfileService implements P
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<ProximityManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<ProximityManagerCallbacks> initializeManager() {
|
||||||
return new ProximityManager(this);
|
return new ProximityManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,14 +35,13 @@ import android.support.annotation.NonNull;
|
|||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public class RSCService extends BleProfileService implements RSCManagerCallbacks {
|
public class RSCService extends BleProfileService implements RSCManagerCallbacks {
|
||||||
private static final String TAG = "RSCService";
|
private static final String TAG = "RSCService";
|
||||||
@@ -95,7 +94,7 @@ public class RSCService extends BleProfileService implements RSCManagerCallbacks
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<RSCManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<RSCManagerCallbacks> initializeManager() {
|
||||||
return mManager = new RSCManager(this);
|
return mManager = new RSCManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,12 +34,12 @@ import android.support.annotation.NonNull;
|
|||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public class TemplateService extends BleProfileService implements TemplateManagerCallbacks {
|
public class TemplateService extends BleProfileService implements TemplateManagerCallbacks {
|
||||||
public static final String BROADCAST_TEMPLATE_MEASUREMENT = "no.nordicsemi.android.nrftoolbox.template.BROADCAST_MEASUREMENT";
|
public static final String BROADCAST_TEMPLATE_MEASUREMENT = "no.nordicsemi.android.nrftoolbox.template.BROADCAST_MEASUREMENT";
|
||||||
@@ -80,7 +80,7 @@ public class TemplateService extends BleProfileService implements TemplateManage
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<TemplateManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<TemplateManagerCallbacks> initializeManager() {
|
||||||
return mManager = new TemplateManager(this);
|
return mManager = new TemplateManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,11 +31,11 @@ import android.text.TextUtils;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.ble.WriteRequest;
|
import no.nordicsemi.android.ble.WriteRequest;
|
||||||
import no.nordicsemi.android.log.LogContract;
|
import no.nordicsemi.android.log.LogContract;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
|
|
||||||
public class UARTManager extends BleManager<UARTManagerCallbacks> {
|
public class UARTManager extends LoggableBleManager<UARTManagerCallbacks> {
|
||||||
/** Nordic UART Service UUID */
|
/** Nordic UART Service UUID */
|
||||||
private final static UUID UART_SERVICE_UUID = UUID.fromString("6E400001-B5A3-F393-E0A9-E50E24DCCA9E");
|
private final static UUID UART_SERVICE_UUID = UUID.fromString("6E400001-B5A3-F393-E0A9-E50E24DCCA9E");
|
||||||
/** RX characteristic UUID */
|
/** RX characteristic UUID */
|
||||||
|
|||||||
@@ -42,12 +42,12 @@ import com.google.android.gms.wearable.Node;
|
|||||||
import com.google.android.gms.wearable.NodeApi;
|
import com.google.android.gms.wearable.NodeApi;
|
||||||
import com.google.android.gms.wearable.Wearable;
|
import com.google.android.gms.wearable.Wearable;
|
||||||
|
|
||||||
import no.nordicsemi.android.ble.BleManager;
|
|
||||||
import no.nordicsemi.android.log.Logger;
|
import no.nordicsemi.android.log.Logger;
|
||||||
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
import no.nordicsemi.android.nrftoolbox.FeaturesActivity;
|
||||||
import no.nordicsemi.android.nrftoolbox.R;
|
import no.nordicsemi.android.nrftoolbox.R;
|
||||||
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
import no.nordicsemi.android.nrftoolbox.ToolboxApplication;
|
||||||
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
import no.nordicsemi.android.nrftoolbox.profile.BleProfileService;
|
||||||
|
import no.nordicsemi.android.nrftoolbox.profile.LoggableBleManager;
|
||||||
import no.nordicsemi.android.nrftoolbox.wearable.common.Constants;
|
import no.nordicsemi.android.nrftoolbox.wearable.common.Constants;
|
||||||
|
|
||||||
public class UARTService extends BleProfileService implements UARTManagerCallbacks {
|
public class UARTService extends BleProfileService implements UARTManagerCallbacks {
|
||||||
@@ -91,7 +91,7 @@ public class UARTService extends BleProfileService implements UARTManagerCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BleManager<UARTManagerCallbacks> initializeManager() {
|
protected LoggableBleManager<UARTManagerCallbacks> initializeManager() {
|
||||||
return mManager = new UARTManager(this);
|
return mManager = new UARTManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user