Releases: ubikgs/AndroidSensors
New BLEMeasurementsSensor!
Now it is posible to collect Bluetooth Low Energy (BLE) measurements records via BLEMeasurementsGatherer class.
New stuff:
- BLEMeasurementsGatherer that exposes records in flows
- BLEMeasurementsRecord that wraps native ScanResults objects
- BLE_MEASUREMENTS SensorType entry
- BLESensorChecker that checks if BLE is available on the device and that Bluetooth is enabled
- BluetoothEnableRequester that prompts the user to enable bluetooth via a modal
Also AndroidSensors now permits to customize a custom ask to enable bluetooth behavior
Bug fixes:
- Now WifiMeasurementsGatherer uses the correct FineLocationPermissionChecker
New WifiMeasurements sensor!
Now it is posible to collect wifi measurements records via WifiMeasurementsGatherer class.
New stuff:
- WifiMeasurementsGatherer that exposes records in flows
- WifiMeasurementsRecord that wraps native ScanResults objects
- WIFI_MEASUREMENTS SensorType entry
- WifiSensorChecker that checks if wifi is enabled
- WifiEnableRequester that asks the user to enable wifi and navigates to wifi settings for that purpose
Also AndroidSensors now permits to customize a custom ask to enable wifi behavior
Migrating dependencies to stable versions
Updating to Android Gradle stable 3.0 build plugin
Library usage no longer depends on Java 8
This release is more compatible with older Android Studio versions
Tighter Typing
There are no breaking changes included in this release
Core components API improvements
This release has been centered around improving core components APIs (SensorRecords).
Migration from v1.0.0-alpha2 should be seamless unless you're using RotationVectorRecord getters and setters.
Breaking changes:
- RotationVector getters and setters names have been renamed to fix a Java Beans compatibility issue.
Improvements:
- Now all SensorRecords have a constructor that permits passing by another SensorRecord of its kind to copy its attributes.
Improving library customization experience
Migration from v1.0.0-alpha1 should be seamless, unless you're using SensorRecord subclasses setters.
Breaking changes:
- All SensorRecord subclasses setter methods now return void instead of the corresponding SensorRecord subclass instance to comply with Java Beans standard. In this way, now it is possible to use SensorRecord models with third-party libraries like ORMs, JSON mappers, etc.
Improvements:
- SensorType enum now has 3 new utility methods:
imuValues(),gpsValues()andrawGPSValues().imuValues()returns a SensorType array containing all inertial motion unit types (ACCELEROMETER,GYROSCOPE,GRAVITY,LINEAR_ACCELERATION,MAGNETIC_FIELDandROTATION_VECTOR).gpsValues()returns a SensorType array containing all GPS types (LOCATION,RAW_GPS_MEASUREMENTS,RAW_GPS_NAVIGATIONandRAW_GPS_STATUS).rawGPSValues()returns a SensorType array containing all RAW GPS types (RAW_GPS_MEASUREMENTS,RAW_GPS_NAVIGATIONandRAW_GPS_STATUS).
This contributes to allow you to create custom SensorConfig and other customizable library components more easily via using basic mathematical set operations. Check BasicSensorConfig.java for an example .
Initial release
This release will be moved to production once APIs start to become more stable.
If you're fine with making some small method / class renames from time-to-time then feel free to give this library a try.
For an small guide about how to start using this library, please refer to the README.md file.
Comments and suggestions are always welcome.