From dd12bb11b22c31e8da196cf921a5921fd21b882c Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sun, 19 Apr 2015 11:28:03 +0200 Subject: [PATCH] reformat code with androidstudio --- .../gadgetbridge/AbstractDeviceSupport.java | 4 +- .../gadgetbridge/DeviceSupport.java | 6 +- .../freeyourgadget/gadgetbridge/GBDevice.java | 4 +- .../btle/AbstractBTLEDeviceSupport.java | 39 +++-- .../gadgetbridge/btle/BtLEAction.java | 10 +- .../gadgetbridge/btle/BtLEQueue.java | 164 +++++++++--------- .../gadgetbridge/btle/GattCallback.java | 12 +- .../gadgetbridge/btle/ReadAction.java | 2 +- .../gadgetbridge/btle/Transaction.java | 10 +- .../gadgetbridge/btle/TransactionBuilder.java | 13 +- .../gadgetbridge/btle/WaitAction.java | 2 +- .../gadgetbridge/btle/WriteAction.java | 2 +- .../gadgetbridge/miband/MiBandService.java | 2 +- .../gadgetbridge/miband/MiBandSupport.java | 15 +- .../gadgetbridge/miband/UserInfo.java | 6 +- .../gadgetbridge/pebble/PebbleSupport.java | 2 +- 16 files changed, 153 insertions(+), 140 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java index db0aa9725..8dd73618a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java @@ -21,11 +21,11 @@ public abstract class AbstractDeviceSupport implements DeviceSupport { public boolean isConnected() { return gbDevice.isConnected(); } - + protected boolean isInitialized() { return gbDevice.isInitialized(); } - + @Override public GBDevice getDevice() { return gbDevice; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java index 692ddefef..7ac419dc0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java @@ -7,10 +7,10 @@ import android.content.Context; * Provides support for a specific device. Has hooks to manage the life cycle * of a device: instances of this interface will be created, initialized, and disposed * as needed. - * + *

* Implementations need to act accordingly, in order to establish, reestablish or close * the connection to the device. - * + *

* This interface is agnostic to the kind transport, i.e. whether the device is connected * via Bluetooth, Bluetooth LE, Wifi or something else. */ @@ -18,7 +18,7 @@ public interface DeviceSupport extends EventHandler { public void initialize(GBDevice gbDevice, BluetoothAdapter btAdapter, Context context); public boolean isConnected(); - + public boolean connect(); public void dispose(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java index 6de7fdf24..d86ce6ab1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java @@ -36,11 +36,11 @@ public class GBDevice { public boolean isConnected() { return state.ordinal() >= State.CONNECTED.ordinal(); } - + public boolean isInitialized() { return state.ordinal() >= State.INITIALIZED.ordinal(); } - + public State getState() { return state; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java index 5f2cf2052..11c22d6d3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java @@ -1,5 +1,10 @@ package nodomain.freeyourgadget.gadgetbridge.btle; +import android.bluetooth.BluetoothGatt; +import android.bluetooth.BluetoothGattCharacteristic; +import android.bluetooth.BluetoothGattService; +import android.util.Log; + import java.io.IOException; import java.util.HashMap; import java.util.HashSet; @@ -8,19 +13,14 @@ import java.util.Set; import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.AbstractDeviceSupport; -import android.bluetooth.BluetoothGatt; -import android.bluetooth.BluetoothGattCharacteristic; -import android.bluetooth.BluetoothGattService; -import android.util.Log; /** - * * @see TransactionBuilder * @see BtLEQueue */ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport implements GattCallback { private static final String TAG = "AbstractBTLEDeviceSupport"; - + private BtLEQueue mQueue; private HashMap mAvailableCharacteristics; private Set mSupportedServices = new HashSet<>(4); @@ -35,6 +35,7 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im /** * Subclasses should populate the given builder to initialize the device (if necessary). + * * @param builder * @return the same builder as passed as the argument */ @@ -48,13 +49,14 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im mQueue.dispose(); } } - + /** * Send commands like this to the device: *

* perform("sms notification").write(someCharacteristic, someByteArray).queue(getQueue()); *

* TODO: support orchestration of multiple reads and writes depending on returned values + * * @see #performConnected(Transaction) * @see #initializeDevice(TransactionBuilder) */ @@ -73,7 +75,6 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im } /** - * * @param transaction * @throws IOException * @see {@link #performInitialized(String)} @@ -90,10 +91,11 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im public BtLEQueue getQueue() { return mQueue; } - + /** * Subclasses should call this method to add services they support. * Only supported services will be queried for characteristics. + * * @param aSupportedService * @see #getCharacteristic(UUID) */ @@ -104,6 +106,7 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im /** * Returns the characteristic matching the given UUID. Only characteristics * are returned whose service is marked as supported. + * * @param uuid * @return the characteristic for the given UUID or null * @see #addSupportedService(UUID) @@ -122,7 +125,7 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im return; } Set supportedServices = getSupportedServices(); - + for (BluetoothGattService service : discoveredGattServices) { if (supportedServices.contains(service.getUuid())) { List characteristics = service.getCharacteristics(); @@ -146,27 +149,27 @@ public abstract class AbstractBTLEDeviceSupport extends AbstractDeviceSupport im @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { } - + @Override public void onServicesDiscovered(BluetoothGatt gatt) { gattServicesDiscovered(getQueue().getSupportedGattServices()); } - + @Override public void onCharacteristicRead(BluetoothGatt gatt, - BluetoothGattCharacteristic characteristic, int status) { + BluetoothGattCharacteristic characteristic, int status) { } - + @Override public void onCharacteristicWrite(BluetoothGatt gatt, - BluetoothGattCharacteristic characteristic, int status) { + BluetoothGattCharacteristic characteristic, int status) { } - + @Override public void onCharacteristicChanged(BluetoothGatt gatt, - BluetoothGattCharacteristic characteristic) { + BluetoothGattCharacteristic characteristic) { } - + public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) { } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java index 2e261e314..15508eea3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java @@ -7,7 +7,7 @@ import android.bluetooth.BluetoothGattCharacteristic; * The Bluedroid implementation only allows performing one GATT request at a time. * As they are asynchronous anyway, we encapsulate every GATT request (read and write) * inside a runnable action. - * + *

* These actions are then executed one after another, ensuring that every action's result * has been posted before invoking the next action. */ @@ -17,20 +17,22 @@ public abstract class BtLEAction { public BtLEAction() { this(null); } - + public BtLEAction(BluetoothGattCharacteristic characteristic) { this.characteristic = characteristic; } - + public abstract boolean run(BluetoothGatt gatt); + /** * Returns the GATT characteristic being read/written/... + * * @return the GATT characteristic, or null */ public BluetoothGattCharacteristic getCharacteristic() { return characteristic; } - + public String toString() { BluetoothGattCharacteristic characteristic = getCharacteristic(); String uuid = characteristic == null ? "(null)" : characteristic.getUuid().toString(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java index bbb42b81f..c1a106a90 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java @@ -1,14 +1,5 @@ package nodomain.freeyourgadget.gadgetbridge.btle; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.LinkedBlockingQueue; - -import nodomain.freeyourgadget.gadgetbridge.DeviceSupport; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.GBDevice.State; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGatt; @@ -19,69 +10,79 @@ import android.bluetooth.BluetoothProfile; import android.content.Context; import android.util.Log; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.LinkedBlockingQueue; + +import nodomain.freeyourgadget.gadgetbridge.DeviceSupport; +import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.GBDevice.State; + /** * One queue/thread per connectable device. */ public final class BtLEQueue { private static final String TAG = BtLEQueue.class.getSimpleName(); - + private GBDevice mGbDevice; private BluetoothAdapter mBluetoothAdapter; private BluetoothGatt mBluetoothGatt; private volatile BlockingQueue mTransactions = new LinkedBlockingQueue(); private volatile boolean mDisposed; private volatile boolean mAbortTransaction; - + private Context mContext; private CountDownLatch mWaitForActionResultLatch; private CountDownLatch mConnectionLatch; private BluetoothGattCharacteristic mWaitCharacteristic; private GattCallback mExternalGattCallback; - + private Thread dispatchThread = new Thread("Bluetooth GATT Dispatcher") { public void run() { - while (!mDisposed) { - try { - Transaction transaction = mTransactions.take(); - if (!isConnected()) { - // TODO: request connection and initialization from the outside and wait until finished - - // wait until the connection succeeds before running the actions - // Note that no automatic connection is performed. This has to be triggered - // on the outside typically by the DeviceSupport. The reason is that - // devices have different kinds of initializations and this class has no - // idea about them. - mConnectionLatch = new CountDownLatch(1); - mConnectionLatch.await(); - mConnectionLatch = null; - } - - mAbortTransaction = false; - // Run all actions of the transaction until one doesn't succeed - for (BtLEAction action : transaction.getActions()) { - mWaitCharacteristic = action.getCharacteristic(); - if (action.run(mBluetoothGatt)) { - mWaitForActionResultLatch = new CountDownLatch(1); - mWaitForActionResultLatch.await(); - mWaitForActionResultLatch = null; - if (mAbortTransaction) { - break; - } - } else { - Log.e(TAG, "Action returned false: " + action); - break; // abort the transaction - } - } - } catch (InterruptedException ignored) { - mWaitForActionResultLatch = null; - mConnectionLatch = null; - } finally { - mWaitCharacteristic = null; - } - } - Log.i(TAG, "Queue Dispatch Thread terminated."); - } + while (!mDisposed) { + try { + Transaction transaction = mTransactions.take(); + if (!isConnected()) { + // TODO: request connection and initialization from the outside and wait until finished + + // wait until the connection succeeds before running the actions + // Note that no automatic connection is performed. This has to be triggered + // on the outside typically by the DeviceSupport. The reason is that + // devices have different kinds of initializations and this class has no + // idea about them. + mConnectionLatch = new CountDownLatch(1); + mConnectionLatch.await(); + mConnectionLatch = null; + } + + mAbortTransaction = false; + // Run all actions of the transaction until one doesn't succeed + for (BtLEAction action : transaction.getActions()) { + mWaitCharacteristic = action.getCharacteristic(); + if (action.run(mBluetoothGatt)) { + mWaitForActionResultLatch = new CountDownLatch(1); + mWaitForActionResultLatch.await(); + mWaitForActionResultLatch = null; + if (mAbortTransaction) { + break; + } + } else { + Log.e(TAG, "Action returned false: " + action); + break; // abort the transaction + } + } + } catch (InterruptedException ignored) { + mWaitForActionResultLatch = null; + mConnectionLatch = null; + } finally { + mWaitCharacteristic = null; + } + } + Log.i(TAG, "Queue Dispatch Thread terminated."); + } }; public BtLEQueue(BluetoothAdapter bluetoothAdapter, GBDevice gbDevice, GattCallback externalGattCallback, Context context) { @@ -89,10 +90,10 @@ public final class BtLEQueue { mGbDevice = gbDevice; mExternalGattCallback = externalGattCallback; mContext = context; - + dispatchThread.start(); } - + protected boolean isConnected() { return mGbDevice.isConnected(); } @@ -101,7 +102,7 @@ public final class BtLEQueue { * Connects to the given remote device. Note that this does not perform any device * specific initialization. This should be done in the specific {@link DeviceSupport} * class. - * + * * @return true whether the connection attempt was successfully triggered */ public boolean connect() { @@ -114,7 +115,7 @@ public final class BtLEQueue { setDeviceConnectionState(result ? State.CONNECTING : State.NOT_CONNECTED); return result; } - + private void setDeviceConnectionState(State newState) { mGbDevice.setState(newState); mGbDevice.sendDeviceUpdateIntent(mContext); @@ -139,24 +140,25 @@ public final class BtLEQueue { } setDeviceConnectionState(State.NOT_CONNECTED); } - + public void dispose() { if (mDisposed) { return; } mDisposed = true; // try { - disconnect(); - dispatchThread.interrupt(); - dispatchThread = null; + disconnect(); + dispatchThread.interrupt(); + dispatchThread = null; // dispatchThread.join(); // } catch (InterruptedException ex) { // Log.e(TAG, "Exception while disposing BtLEQueue", ex); // } } - + /** * Adds a transaction to the end of the queue. + * * @param transaction */ public void add(Transaction transaction) { @@ -164,11 +166,11 @@ public final class BtLEQueue { mTransactions.add(transaction); } } - + public void clear() { mTransactions.clear(); } - + /** * Retrieves a list of supported GATT services on the connected device. This should be * invoked only after {@code BluetoothGatt#discoverServices()} completes successfully. @@ -188,21 +190,21 @@ public final class BtLEQueue { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { switch (newState) { - case BluetoothProfile.STATE_CONNECTED: - Log.i(TAG, "Connected to GATT server."); - setDeviceConnectionState(State.CONNECTED); - // Attempts to discover services after successful connection. - Log.i(TAG, "Attempting to start service discovery:" + - mBluetoothGatt.discoverServices()); - break; - case BluetoothProfile.STATE_DISCONNECTED: - Log.i(TAG, "Disconnected from GATT server."); - handleDisconnected(); - break; - case BluetoothProfile.STATE_CONNECTING: - Log.i(TAG, "Connecting to GATT server..."); - setDeviceConnectionState(State.CONNECTING); - break; + case BluetoothProfile.STATE_CONNECTED: + Log.i(TAG, "Connected to GATT server."); + setDeviceConnectionState(State.CONNECTED); + // Attempts to discover services after successful connection. + Log.i(TAG, "Attempting to start service discovery:" + + mBluetoothGatt.discoverServices()); + break; + case BluetoothProfile.STATE_DISCONNECTED: + Log.i(TAG, "Disconnected from GATT server."); + handleDisconnected(); + break; + case BluetoothProfile.STATE_CONNECTING: + Log.i(TAG, "Connecting to GATT server..."); + setDeviceConnectionState(State.CONNECTING); + break; } } @@ -223,7 +225,7 @@ public final class BtLEQueue { if (status == BluetoothGatt.GATT_SUCCESS) { Log.e(TAG, "Writing characteristic " + characteristic.getUuid() + " succeeded."); } else { - Log.e(TAG, "Writing characteristic " + characteristic.getUuid() + " failed: "+ status); + Log.e(TAG, "Writing characteristic " + characteristic.getUuid() + " failed: " + status); } if (mExternalGattCallback != null) { mExternalGattCallback.onCharacteristicWrite(gatt, characteristic, status); @@ -258,7 +260,7 @@ public final class BtLEQueue { mExternalGattCallback.onReadRemoteRssi(gatt, rssi, status); } } - + private void checkWaitingCharacteristic(BluetoothGattCharacteristic characteristic, int status) { if (status != BluetoothGatt.GATT_SUCCESS) { mAbortTransaction = true; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java index ce20371d5..35d6915f1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java @@ -28,40 +28,40 @@ import android.bluetooth.BluetoothGattCharacteristic; public interface GattCallback { /** - * @see BluetoothGattCallback#onConnectionStateChange(BluetoothGatt, int, int) * @param gatt * @param status * @param newState + * @see BluetoothGattCallback#onConnectionStateChange(BluetoothGatt, int, int) */ public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState); /** - * @see BluetoothGattCallback#onServicesDiscovered(BluetoothGatt, int) * @param gatt + * @see BluetoothGattCallback#onServicesDiscovered(BluetoothGatt, int) */ public void onServicesDiscovered(BluetoothGatt gatt); /** - * @see BluetoothGattCallback#onCharacteristicRead(BluetoothGatt, BluetoothGattCharacteristic, int) * @param gatt * @param characteristic * @param status + * @see BluetoothGattCallback#onCharacteristicRead(BluetoothGatt, BluetoothGattCharacteristic, int) */ public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status); /** - * @see BluetoothGattCallback#onCharacteristicWrite(BluetoothGatt, BluetoothGattCharacteristic, int) * @param gatt * @param characteristic * @param status + * @see BluetoothGattCallback#onCharacteristicWrite(BluetoothGatt, BluetoothGattCharacteristic, int) */ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status); /** - * @see BluetoothGattCallback#onCharacteristicChanged(BluetoothGatt, BluetoothGattCharacteristic) * @param gatt * @param characteristic + * @see BluetoothGattCallback#onCharacteristicChanged(BluetoothGatt, BluetoothGattCharacteristic) */ public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic); @@ -92,10 +92,10 @@ public interface GattCallback { // public void onReliableWriteCompleted(BluetoothGatt gatt, int status); /** - * @see BluetoothGattCallback#onReadRemoteRssi(BluetoothGatt, int, int) * @param gatt * @param rssi * @param status + * @see BluetoothGattCallback#onReadRemoteRssi(BluetoothGatt, int, int) */ public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java index 598bbb4b7..e0c545b54 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java @@ -14,7 +14,7 @@ public class ReadAction extends BtLEAction { public ReadAction(BluetoothGattCharacteristic characteristic) { super(characteristic); } - + @Override public boolean run(BluetoothGatt gatt) { return gatt.readCharacteristic(getCharacteristic()); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java index 8c4c4ce63..562c3fe14 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java @@ -8,7 +8,7 @@ import java.util.Locale; /** * Groups a bunch of {@link BtLEAction actions} together, making sure * that upon failure of one action, all subsequent actions are discarded. - * + * * @author TREND */ public class Transaction { @@ -18,19 +18,19 @@ public class Transaction { public Transaction(String taskName) { this.mName = taskName; } - + public String getTaskName() { return mName; } - + public void add(BtLEAction action) { mActions.add(action); } - + public List getActions() { return Collections.unmodifiableList(mActions); } - + public boolean isEmpty() { return mActions.isEmpty(); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java index 40ae8e0e6..d008fd2cc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java @@ -7,11 +7,11 @@ public class TransactionBuilder { private static final String TAG = TransactionBuilder.class.getSimpleName(); private Transaction mTransaction; - + public TransactionBuilder(String taskName) { mTransaction = new Transaction(taskName); } - + public TransactionBuilder read(BluetoothGattCharacteristic characteristic) { if (characteristic == null) { Log.w(TAG, "Unable to read characteristic: null"); @@ -20,7 +20,7 @@ public class TransactionBuilder { ReadAction action = new ReadAction(characteristic); return add(action); } - + public TransactionBuilder write(BluetoothGattCharacteristic characteristic, byte[] data) { if (characteristic == null) { Log.w(TAG, "Unable to write characteristic: null"); @@ -29,19 +29,20 @@ public class TransactionBuilder { WriteAction action = new WriteAction(characteristic, data); return add(action); } - + public TransactionBuilder wait(int millis) { WaitAction action = new WaitAction(millis); return add(action); } - + public TransactionBuilder add(BtLEAction action) { mTransaction.add(action); return this; } - + /** * To be used as the final step to execute the transaction by the given queue. + * * @param queue */ public void queue(BtLEQueue queue) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java index b0cf424dd..851f7d5e8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java @@ -7,7 +7,7 @@ public class WaitAction extends BtLEAction { private int mMillis; public WaitAction(int millis) { - mMillis = millis; + mMillis = millis; } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java index 4925a8ace..b09092766 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java @@ -17,7 +17,7 @@ public class WriteAction extends BtLEAction { super(characteristic); this.value = value; } - + @Override public boolean run(BluetoothGatt gatt) { if (getCharacteristic().setValue(value)) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java index 6d11bcfdd..23341a646 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java @@ -184,7 +184,7 @@ public class MiBandService { */ - private static Map MIBAND_DEBUG; + private static Map MIBAND_DEBUG; static { MIBAND_DEBUG = new HashMap<>(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java index f652d64ac..a072f975e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java @@ -1,14 +1,15 @@ package nodomain.freeyourgadget.gadgetbridge.miband; +import android.bluetooth.BluetoothGatt; +import android.bluetooth.BluetoothGattCharacteristic; +import android.util.Log; + import java.io.IOException; import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.GBCommand; import nodomain.freeyourgadget.gadgetbridge.btle.AbstractBTLEDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder; -import android.bluetooth.BluetoothGatt; -import android.bluetooth.BluetoothGattCharacteristic; -import android.util.Log; public class MiBandSupport extends AbstractBTLEDeviceSupport { @@ -28,7 +29,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { public boolean useAutoConnect() { return true; } - + private byte[] getDefaultNotification() { final int vibrateTimes = 1; final long vibrateDuration = 250l; @@ -47,7 +48,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { } private byte[] getNotification(long vibrateDuration, int vibrateTimes, int flashTimes, int flashColour, int originalColour, long flashDuration) { - byte[] vibrate = new byte[]{ (byte) 8, (byte) 1 }; + byte[] vibrate = new byte[]{(byte) 8, (byte) 1}; byte r = 6; byte g = 0; byte b = 6; @@ -72,6 +73,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { /** * Part of device initialization process. Do not call manually. + * * @param builder * @return */ @@ -84,6 +86,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { /** * Part of device initialization process. Do not call manually. + * * @param builder * @return */ @@ -161,7 +164,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { @Override public void onCharacteristicWrite(BluetoothGatt gatt, - BluetoothGattCharacteristic characteristic, int status) { + BluetoothGattCharacteristic characteristic, int status) { UUID characteristicUUID = characteristic.getUuid(); if (MiBandService.UUID_CHARACTERISTIC_PAIR.equals(characteristicUUID)) { handlePairResult(characteristic.getValue(), status); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java index dbca48040..1ecc8412a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java @@ -17,6 +17,7 @@ public class UserInfo { /** * Creates a default user info. + * * @param btAddress the address of the MI Band to connect to. */ public static UserInfo getDefault(String btAddress) { @@ -25,6 +26,7 @@ public class UserInfo { /** * Creates a user info with the given data + * * @param address the address of the MI Band to connect to. */ public UserInfo(String address, String alias, int gender, int age, int height, int weight, int type) { @@ -53,7 +55,7 @@ public class UserInfo { sequence[8] = (byte) (type & 0xff); for (int u = 9; u < 19; u++) - sequence[u] = alias.getBytes()[u-9]; + sequence[u] = alias.getBytes()[u - 9]; byte[] crcSequence = new byte[19]; for (int u = 0; u < crcSequence.length; u++) @@ -80,7 +82,7 @@ public class UserInfo { sum = (byte) ((sum & 0xff) & 0x01); crc = (byte) ((crc & 0xff) >>> 1); if (sum != 0) { - crc = (byte)((crc & 0xff) ^ 0x8c); + crc = (byte) ((crc & 0xff) ^ 0x8c); } extract = (byte) ((extract & 0xff) >>> 1); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java index c49e7ea44..93e0ac9e8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java @@ -25,7 +25,7 @@ public class PebbleSupport extends AbstractBTDeviceSupport { protected GBDeviceIoThread createDeviceIOThread() { return new PebbleIoThread(getDevice(), getDeviceProtocol(), getBluetoothAdapter(), getContext()); } - + @Override public boolean useAutoConnect() { return false;