protected Void doInBackground(Void... params) { DataReadRequest readRequest = queryFitnessData(); // Obtenemos los resultados de las query DataReadResult dataReadResult = Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES); Log.i(TAG, "Intentando imprimir datos"); uploadData(dataReadResult); return null; }
private void getTotalDistance() { Log.d(TAG, "getTotalDistance()"); if ((mGoogleApiClient != null) && (mGoogleApiClient.isConnected()) && (!mDistanceRequested)) { mDistanceRequested = true; PendingResult<DailyTotalResult> distanceResult = Fitness.HistoryApi.readDailyTotal(mGoogleApiClient, DataType.TYPE_DISTANCE_DELTA); distanceResult.setResultCallback(this); } }
@Override public void execute(Context ctx, Map<String, Value> context) throws UnknownObjectException, RuleExecutionException { GoogleApiClient client = ((GoogleFitChannel) channel).acquireClient(ctx); try { long now = System.currentTimeMillis(); DataReadRequest.Builder builder = new DataReadRequest.Builder() .read(dataType.getType()) .setTimeRange(now - 24 * 3600 * 1000, now, TimeUnit.MILLISECONDS); DataReadResult result = Fitness.HistoryApi.readData(client, builder.build()).await(); DataSet dataSet = result.getDataSet(dataType.getType()); List<DataPoint> dataPoints = dataSet.getDataPoints(); DataPoint latest = null; for (DataPoint point : dataPoints) { if (latest == null || point.getTimestampNanos() >= latest.getTimestampNanos()) latest = point; } if (latest == null) throw new RuleExecutionException("Google API did not return any data"); com.google.android.gms.fitness.data.Value value = latest.getValue(dataType.getField()); String dataTypeId = dataType.toString(); if (value.getFormat() == Field.FORMAT_INT32) context.put(FITNESS_CURRENT_VALUE_PREFIX + dataTypeId, new Value.Number(value.asInt())); else if (value.getFormat() == Field.FORMAT_FLOAT) context.put(FITNESS_CURRENT_VALUE_PREFIX + dataTypeId, new Value.Number(value.asFloat())); else throw new RuleExecutionException("Google Fit data point has invalid type"); } finally { ((GoogleFitChannel) channel).releaseClient(); } }