- Update target version to 35 and minSDK to 21.
- Updates Hubby to 1.0.978
- Make schedule put public.
- Fixes access token refresh in sample app
- Schedule sample
- New: Adds compact schedule days
- New: Adds ability to configure the the underlying http client to enable oAuth to be handled by the app.
- New: Adds ability to configure softhub to connect to different services
- Fix:
AferoClient.resetPasswordWithCodenow actually works rather than returning a 400 error. - New: AferoLab sample app now has a basic "Forgot Password" flow.
- Fix: Added logic to
ConclaveDeviceEventSource.stop()to clear the access credentials and account id. - Removed:
ConclaveDeviceEventSource.setAccountId()since this function is defunct.
- Changed: Updated
AferoSofthubto softhub version 1.0.844 to pick up latest fixes.
- Changed:
AferoClient.internalRefreshAccessTokenis now protected instead of private.
- New: Added a new
AferoClient.createAccountoverload that acceptsappIdandplatformto enabled custom partner verification emails
- Fix: Refactor attribute write metrics which had been inadvertently disabled.
- Fix: Javadoc is once again published for the
androidandsofthubmodules. - New: Added
AferoClientcallresendVerificationEmail, to resend a verification token for a new account.
- New: Added
AferoClientcalls for new password reset flow. SeeAferoClient.sendPasswordRecoveryEmailandAferoClient.resetPasswordWithCode. - New: Added
AferoClientcall to fetch aDeviceProfilefor device prior to association. This is useful for display information for nearby devices that are in setup-mode for BLE based association. SeeAferoClient.getDeviceProfilePreAssociation.
- Changed:
AferoSofthubnow defaults to enterprise mode.
- Changed: Updated
AferoSofthubto softhub version 1.0.840 to pick up latest fixes. - New: Added support for associating devices via BLE scan magic. Apps can now subscribe to
AferoSoftHub.observeSetupModeDevices()to receive notification of a device that is available for association. - Changed:
AferoSofthubnow reports association failures toHubby, allowing for proper recovery.
- New: Added several new API calls to
AferoClient(andAferoClientRetrofit2) to support creating accounts, rules, and account sharing. - New: Added
RuleCollection,DeviceRuleCollection, andRuleBuilderutility classes.
- Changed: Updated
AferoSofthubto softhub version 1.0.792 to pick up latest fixes.
- Changed: Updated
AferoSofthubto softhub version 1.0.786 to pick up latest fixes.
- Changed: Set the
AferoSofthubminSdkVersionto 19 rather than 21.
- Fix:
AferoSofthubhas added more rigorous null checks and synchronization around the start process.
- Changed:
AferoSofthubnow exposesHubTypeso that partners can make use ofENTERPRISEmode should they require it.
- Changed: Updated
AferoSofthubto softhub version 1.0.756 to pick up latest fixes.
- Changed: Updated
AferoSofthubto softhub version 1.0.751 to pick up latest fixes.
- Changed: Updated
AferoSofthubto softhub version 1.0.750 to pick up latest fixes.
- Fix: Changed
AferoClientRetrofit2to prevent potential uncaught exception when refreshing access token. - Changed:
Attributelength and default value fields are now exposed via getter/setter. - Fix: Removed some extraneous preceding slashes from some
AferoClientAPIendpoints - Changed: Updated
AferoSofthubto softhub version 674. - Fix: Conclave login now sends mobileDeviceId/clientId once again.
- Fix: Removed reference to HttpException in MockAferoClient to fix Proguard IOException.
- Fix: Improved concurrent stability in ConclaveClient.
- New: Added persistent device tags API to
DeviceModel - New: Added device tags sample code and UI to AferoLab
- New: Added ability to add devices via QR code scan to AferoLab
- New: Added device wifi setup sample code and UI to AferoLab
- New: JavaDoc is now published to Artifactory
- Fix: AferoSofthub now properly handles and reports errors that occur on startup
- New: Added
DeviceModel.setTimeZone(TimeZone)andgetTimeZone() - New: Added device inspector and attribute editor views to
AferoLabsample app - Changed
OfflineSchedulerto use device local time for all event rather than UTC. - Changed
DeviceModelto add the ability to migrate device data should attribute formats change. - Added
DeviceDataMigratorto migrateOfflineScheduleEventsfrom UTC to device local time. - Changed
AttributeWriterlogic to send write requests in batches of 5 to prevent too many concurrent writes to devices. - Fix:
AttributeWriternow handles several error conditions more gracefully. - Fix:
DeviceProfile.RangeOptions.getCount()returns the correct count instead ofcount - 1. - Changed
ConclaveAccessManagerto use a different endpoint to fetch the Conclave token. The new endpoint doesn't require a mobileDeviceId as did the old one. - Changed
AferoSofthub.acquireInstanceto accept anappInfostring that can be used to attach app specific information to the softhub instance for debugging purposes. - Changed
DeviceCollectionto no longer require aclientIdto be passed in.
- New: Added DeviceProfile.setDeviceTypeId() and getDeviceTypeId()
- New: Added DeviceInfoBody.appId to support specifying the Android application id for notifications.
- New: Generated JavaDoc
- Fix: Minor change to OTAInfo.getProgress() logic to return 0% at offset 0 of partition 2 instead of 100%, and to be consistent with iOS/Swift.
- Changed
afero-sdk-softhubbuild to embed hubby library within the softhub .aar. This means apps no longer need to reference hubby in their dependencies and eliminates any possibility of a version mismatch between the SDK and apps. - New: JavaDoc for
DeviceModel. - New:
DeviceModel.writeAttributes()call replaces all variants ofwriteModelValue(), which have now been deprecated. - New:
DeviceModel.getOTAProgress()has been refactored to return onrx.Observablethat emits OTA progress. DeviceModel.setLocation(Location)now performs the appropriate AferoClient call and updates the DeviceModel's LocationState.- New:
AferoClient.putDeviceLocation(String deviceId, Location location)added to core. - New:
DeviceRulesmodel class. - Fix:
DeviceWifiSetupsending credentials will no longer fail to complete if the device was already connected, and wifi setup state doesn't change. - Refactored parts of
ConclaveClientandDeviceWifiSetupto remove deprecated RxJava calls. ConclaveDeviceEventSource.startandConclaveDeviceEventSource.reconnect()now returnObservable<ConclaveDeviceEventSource>.- Removed
ControlModelinterface. DeviceModel.setProfile()is now package-private.DeviceModel.Stateenum has been changed toDeviceModel.UpdateState.DeviceModel.getLocationStatenow returns anrx.Observable. If theDeviceModelcontains a valid location, it is returned immediately, otherwise the location is fetched from the Afero Cloud.DeviceModel.setAvailable(boolean)has been removed.
- Hotfix to use Hubby 1.0.495 for internal purposes.
- Refactored
DeviceCollection.start()to returnrx.Observable<DeviceCollection>. When this observable completes, theDeviceCollectionis fully populated withDeviceModelobjects associated with the active account. - New:
AferoClient.getDevicesWithState()interface call added AferoClientRetrofit2Changes:- New:
getDevicesWithState()implementation added. - New: JavaDoc added for all public functions
ConfigBuilder.clientId()renamed tooauthClientId()ConfigBuilder.clientSecret()renamed tooauthClientSecret()getAccessToken(String user, String password, String grantType)deprecated in favor ofgetAccessToken(String user, String password)refreshAccessToken(String refreshToken, String grantType)is deprecated and will be removed in the next minor release.getLocale()is now protectedRetryOnErroris now private
- New:
- AferoLab sample app updated to accomodate above changes.
Initial release.