Has anyone gone through the Google-Play-Services API documentation and worked out what's changed syntactically between v6.5 and 7.0.0?
Looking for a crib sheet to save me having to compile my own eg.
v <7 Syntax:
mClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.API)
....
// Begin by creating the query.
DataReadRequest readRequest = queryFitnessData();
DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);
....
Status insertStatus = Fitness.HistoryApi.insertData(mClient, dataSet)
.await(1, TimeUnit.MINUTES);
Becomes in v >= 7.0.0:
mClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
....
// Begin by creating the query.
DataReadRequest readRequest = queryFitnessData();
PendingResult<DataReadResult> pendingResult = Fitness.HistoryApi.readData(
mClient,
readRequest);
DataReadResult readDataResult = pendingResult.await();
....
PendingResult<Status> pendingStatus = Fitness.HistoryApi.insertData(mClient, dataSet);
Status insertStatus = pendingStatus.await();
I am also wondering if the GoogleApiClient.Builder(this) ... if (!authInProgress) example block, on the Getting Started page, should also capture ConnectionResult.SIGN_IN_REQUIRED results?
I ask as since moving to the latest version I've notice the occasional:
google fit Connection failed. Cause: ConnectionResult{statusCode=SIGN_IN_REQUIRED,
error, so wondering rather than the suggested:
mClient = new GoogleApiClient.Builder(this)
....
if (!authInProgress) {
if (result.getErrorCode() == FitnessStatusCodes.NEEDS_OAUTH_PERMISSIONS) {
we / the site should use:
mClient = new GoogleApiClient.Builder(this)
....
if (!authInProgress) {
if (result.getErrorCode() == FitnessStatusCodes.NEEDS_OAUTH_PERMISSIONS
|| result.getErrorCode() == ConnectionResult.SIGN_IN_REQUIRED
) {