Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

New Android Public SDK Release: ANT and ANT+ SDKs (C.B5 and P.B3)

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Update 26 Feb 2015: We did an immediate update to the ARS directly to Play Store to restore support to third part adapter providers relying on implicit intents. ANT adapter providers should instead implement the ChipLib to be forward compatible, but the fix will work for the time being. Also, we threw in continuous scan mode support since we had it done. So, if you have an adapter attached which will support it, like a USBm, you can open a continuous scan channel.

Update 17 Feb 2015: Last week the official public release versions of the SDKs were pushed live to both GitHub and the thisisant.com dowloads section. The ARS and Plugins Service were also pushed live to the Play Store. Remember to subscribe as a watcher to this thread or the GitHub SDK repo for updates for future releases.

Update 9 Jan 2015: Today the ANT+ SDK release candidate is also released for you to do beta testing. This release includes many bug fixes and features including support for Android 5.0 apps and providing sensors to the Goggle Fit API. See the GitHub page for the changelog: https://github.com/ant-wireless/ANT-Android-SDKs/tree/master/ANT+_Android_SDK

Today we are releasing a pre-public release version of the ANT SDK - ANT SDK C.B4 Release Candidate 1 which includes the following new versions:
* ANT Radio Service 4.9.0
* ANTLib 4.9.0
* ANT USB Service 1.4.0

Among other things this includes required fixes for Android 5.0 compatibility. If you compile your app targeting API >=21 you must use ANTLib >=4.9.0 or you will see 'java.lang.IllegalArgumentException: Service Intent must be explicit'.

Please post here if you have any questions or concerns.

The full changelog is available in the SDK readme at https://github.com/ant-wireless/ANT-Android-SDKs/blob/master/ANT_Android_SDK/README.md


Note: We expect to also post the ANT+ SDK release candidate sometime next week, stay tuned by subscribing to this thread or subscribing as a watcher on the GitHub repo.

Distribution:
* GitHub at https://github.com/ant-wireless/ANT-Android-SDKs. We encourage everyone to sign up as a watcher on that repo so you will be notified whenever SDK changes are made.
* ThisIsAnt (only source for Members Only Release)http://www.thisisant.com/developer/resources/downloads/. [NOTE: Will only go live for public release, if you require the member's only release for beta testing, please PM me]

*Disclaimer: This SDK version is a BETA release and is for testing and development purposes. The contents are subject to change before the official release. Because of this, there are no promises of future compatibility or support for any changes made in this SDK since the last official release. If you are looking for an official release, please check out the last official release on GitHub under tag 'release/C.B3-P.B2'.*      

Signature

Dynastream Developer

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

The changelog is combined for "ANT Radio Service and ANTLib". What updates will we only get by rebuilding and releasing our app with the new ANT API and which ones will happen when a user updates the ANT Service? I'm wondering what reasons there are to update the API library other than if targeting Android SDK version 21 or newer (and what might break)?

Edit: Obviously the new features require both, so to clarify, i'm interested in the bug fixes like:
* Fix a rare deadlock when releasing channels
* Fix a possible deadlock when shutting down with an active burst
* Fix a thread leak when shutting down when a channel is being cleaned up
* Fix global ref table resource leak when releasing channels
Are these in the service or library?      

Signature

blackramlabs.com

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

L = fixed with just upgrading AntLib
S = fixed with just upgrading ARS
LS = requires both

> ANT Radio Service and ANTLib - v.4.9.0 **Release Candidate 3**
> -----------------------------------------------------
> L* Fix Android 5.0 intent compatibility (*If you compile your app targeting API >=21 you must use ANTLib >=4.9.0 or you will see 'java.lang.IllegalArgumentException: Service Intent must be explicit'*)
> S* Fix Android 5.0 permissions compatibility (i.e. Play Store error 505)
> LS* Add support for obtaining information about attached ANT adapters and their capabilities
> LS* Add support to obtain a channel from a specific ANT adapter
> LS* Add support for search priority control
> S* Add support to use multiple private networks simultaneously on adapters that support more network slots
> LS* Add ANT_NOT_ENABLED channel not available reason for when phones start providing ANT as a system setting
> L* Add proper equals() support to ChannelID class to easily compare Channel IDs
> L* Fix a rare deadlock when releasing channels
> S* Fix an IllegalArgumentException when intitializing the ANT USB Service
> S* Fix a possible deadlock when shutting down with an active burst
> S* Fix a thread leak when shutting down when a channel is being cleaned up
> S* Fix global ref table resource leak when releasing channels
> S* Fix NEW_CHANNELS_AVAILABLE intent to be sent out everytime a new adapter is attached (i.e. when a USB stick is inserted)
> S* Fix hang when calling burst on a closed channel
> S* Fix NullPointerException occuring when USB Service is force stopped
> LS* Cleaned up some logging and javadoc
> S* Add support for some new private network keys      

Signature

Dynastream Developer

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

Great.
Also, is it possible to download the Android ANT SDK v.C.B4 Release Candidate 3 as a single package? How do we track the differences between RC1 this thread mentions, and RC3 that is now mentioned on GitHub (and any future RC's)?

Thanks.
R      

Signature

blackramlabs.com

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

When you say "We intend to release the ARS and AUS to the Play Store before the end of the year if there are no further complications. However, to give developers time to test the release candidates we will wait until at least December 18th", is that when you will tell the Play Store to publish it, or when you expect downloads to happen to users? I am a bit concerned about users running in to problems over the Christmas break when support is limited. Especially as we have not yet tested the new services. The Lollipop support is critical though.      

Signature

blackramlabs.com

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

The lollipop support only requires you to update the AntLib in your own app, not the ARS. The Dec 18th is a minimum date to alleviate concerns about releasing before anybody has a chance to test it. We are still debating when to release to the Play Store and are taking the Christmas break into that consideration.

To clarify the RC numbers as they can be confusing if taken in isolation from the version number they go with:
The ANT SDK as a whole is v.C.B4 RC1
which includes:
-ARS v.4.9.0.RC3
-ANTLib v.4.9.0 RC3
-ANT USB Service v.1.4.0 RC1

So, SDK v.C.B4 "RC3" does not exist, only RC3 versions of the ARS and ANTLib.

To download the SDK as a single package visit the GitHub release page: https://github.com/ant-wireless/ANT-Android-SDKs/releases      

Signature

Dynastream Developer

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

I'm not comfortable including the library in our app due to the disclaimer that it may not be forward compatible.
OK, was simply mixing the ANT API and combined SDK version numbers.
While on the topic, what do the C.B3/C.B4 numbers mean?      

Signature

blackramlabs.com

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Yes, these libraries are intended for beta testing and not release at this time.

As for version numbers, we switched to using letters to try and make the conceptual distinguishment between the SDK as a whole and the individual version numbers of the services and samples in the SDK and the SDK itself. The second letter is the major revision number and the number is the minor revision. The leading letter indicates which SDK the version belongs to, 'C' is for 'channels' to indicate the ANT SDK and 'P' is for 'plugins' for the ANT+ SDK.      

Signature

Dynastream Developer

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

Regarding the ANT Adapter Provider, there is no documentation on the InstantiationException from AntService.getAdapterProvider(). I assume this will only occur if the installed ANT Service does not support the Adapter Provider, but in this case I would expect an UnsupportedFeatureException (which exists so "applications must catch this exception and handle working with versions of ANT Radio Service which may not support the desired feature").

However, antAdapterProvider.getAdaptersInfo() throws an UnsupportedFeatureException (also not documented), but this would be impossible as you have managed to get an AntAdapterProvider instance without the InstantiationException above?      

Signature

blackramlabs.com

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

Is there a Google Play Store beta release for the ANT Service? How/who can access this?

Edit: And ANT USB Service.      

Signature

blackramlabs.com

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

There is no google play beta release.

As for the adapter provider documentation, that is on the list to fill out for the final release.      

Signature

Dynastream Developer

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Announcement: The ANT+ SDK release candidate is now posted on GitHub as well so you can test it out with your apps.

For your information we currently plan to push the new ARS live to the Play Store the end of next week, and then publish the new Plugin Service before the end of the month.      

Signature

Dynastream Developer

Avatar
RankRankRankRank

Total Posts: 149

Joined 2014-04-02

PM

The latest ANT+ SDK version numbers is now B3 (I downloaded from GitHub as they weren't yet available on here), so this is what my question is based on.

The Javadoc says that com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch has been replaced by com.dsi.ant.plugins.antplus.pcc.MultiDeviceSearch. What I can't find is a replacement for com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch.MultiDeviceSearchResult. What should I be using?

The API Documentation at http://www.thisisant.com/APIassets/Android_ANT_plus_plugins_API/index.html is still out of date, and doesn't have the new class?

Thanks.
R      

Signature

blackramlabs.com

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

arrgh - 16 February 2015 03:46 AM
The latest ANT+ SDK version numbers is now B3 (I downloaded from GitHub as they weren't yet available on here), so this is what my question is based on.

The Javadoc says that com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch has been replaced by com.dsi.ant.plugins.antplus.pcc.MultiDeviceSearch. What I can't find is a replacement for com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch.MultiDeviceSearchResult. What should I be using?

The API Documentation at http://www.thisisant.com/APIassets/Android_ANT_plus_plugins_API/index.html is still out of date, and doesn't have the new class?

Thanks.
R


For backwards compatibility reasons, the com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch.MultiDeviceSearchResult remained at the same path. The API update is in already in progress, so this should be reflected in the online docs soon. For now, you can access all the Javadoc locally with the Javadoc zip in the SDK.      

Signature

Dynastream Developer

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Just a quick update, the SDKs and services are now live and in public release. Please feel free to report any problems here on the forums. Thanks.      

Signature

Dynastream Developer

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Update: Released ARS 4.12.0 directly to public. To fix support for third part adapter provider and add continuous scan mode support. Details in the original post.      

Signature

Dynastream Developer