Migration to BLE Library 2.0.0

This commit is contained in:
Aleksander Nowakowski
2018-11-12 13:29:04 +01:00
parent 84ee86907b
commit d296cbd878
18 changed files with 98 additions and 56 deletions

View File

@@ -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):

View File

@@ -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. */

View File

@@ -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));
} }

View File

@@ -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);
} }

View File

@@ -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);
} }

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
} }

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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);
}
}

View File

@@ -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) {

View File

@@ -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);
} }

View File

@@ -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);
} }

View File

@@ -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);
} }

View File

@@ -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 */

View File

@@ -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);
} }