public async void DistanceByPeriod(DateTime start, DateTime end, Action <IEnumerable <double> > act) { start = TimeZoneInfo.ConvertTimeToUtc(start); end = TimeZoneInfo.ConvertTimeToUtc(end); using (DataReadRequest distanceRequest = CreateRequest(DataType.TypeDistanceDelta, DataType.AggregateDistanceDelta, start, end)) using (IResult distanceResult = await ReadData(distanceRequest)) act?.Invoke(GetFloatFromResult(distanceResult).Select(x => (double)(x))); }
public async void StepsByPeriod(DateTime start, DateTime end, Action <IEnumerable <int> > act) { start = TimeZoneInfo.ConvertTimeToUtc(start); end = TimeZoneInfo.ConvertTimeToUtc(end); using (DataReadRequest stepRequest = CreateRequest(DataType.TypeStepCountDelta, DataType.AggregateStepCountDelta, start, end)) using (IResult stepResult = await ReadData(stepRequest)) act?.Invoke(GetIntFromResult(stepResult)); }
async Task BuildFitnessClient() { var clientConnectionCallback = new ClientConnectionCallback(); clientConnectionCallback.OnConnectedImpl = async() => { DataSet dataSet = InsertFitnessData(); Log.Info(TAG, "Inserting the dataset in the History API"); var insertStatus = (Statuses)FitnessClass.HistoryApi.InsertData(mClient, dataSet).Await(1, TimeUnit.Minutes); if (!insertStatus.IsSuccess) { Log.Info(TAG, "There was a problem inserting the dataset."); return; } Log.Info(TAG, "Data insert was successful!"); DataReadRequest readRequest = QueryFitnessData(); var dataReadResult = await FitnessClass.HistoryApi.ReadDataAsync(mClient, readRequest); PrintData(dataReadResult); }; // Create the Google API Client mClient = new GoogleApiClient.Builder(this) .AddApi(FitnessClass.HISTORY_API) .AddScope(new Scope(Scopes.FitnessActivityReadWrite)) .AddConnectionCallbacks(clientConnectionCallback) .AddOnConnectionFailedListener(result => { Log.Info(TAG, "Connection failed. Cause: " + result); if (!result.HasResolution) { // Show the localized error dialog GooglePlayServicesUtil.GetErrorDialog(result.ErrorCode, this, 0).Show(); return; } // The failure has a resolution. Resolve it. // Called typically when the app is not yet authorized, and an // authorization dialog is displayed to the user. if (!authInProgress) { try { Log.Info(TAG, "Attempting to resolve failed connection"); authInProgress = true; result.StartResolutionForResult(this, REQUEST_OAUTH); } catch (IntentSender.SendIntentException e) { Log.Error(TAG, "Exception while starting resolution activity", e); } } }).Build(); }
public async Task <double> FetchGoogleFitActiveMinutes() { DataReadRequest readRequest = queryActiveEnergy(); var dataReadResult = await FitnessClass.HistoryApi.ReadDataAsync(mGoogleApiClient, readRequest); var totalActiveTime = 0.0; if (dataReadResult.Buckets.Count > 0) { foreach (Bucket bucket in dataReadResult.Buckets) { if (bucket.Activity.Contains(FitnessActivities.Walking) || bucket.Activity.Contains(FitnessActivities.Running)) { long activeTime = bucket.GetEndTime(TimeUnit.Minutes) - bucket.GetStartTime(TimeUnit.Minutes); totalActiveTime = totalActiveTime + activeTime; } } } PrintData(dataReadResult); return(totalActiveTime); }
public async void FetchGoogleFitDistance() { DataReadRequest readRequest = queryDistance(); var dataReadResult = await FitnessClass.HistoryApi.ReadDataAsync(mGoogleApiClient, readRequest); var distance = 0.0; if (dataReadResult.Buckets.Count > 0) { foreach (Bucket bucket in dataReadResult.Buckets) { IList <DataSet> dataSets = bucket.DataSets; foreach (DataSet dataSet in dataSets) { distance = distance + GetDataSetValuesSum(dataSet); } } } PrintData(dataReadResult); }
private async Task <IResult> ReadData(DataReadRequest request) => await FitnessClass.HistoryApi.ReadData(Client, request);
public Task <DataReadResponse> ReadDataAsync(DataReadRequest p0) { return(ReadData(p0).AsAsync <DataReadResponse> ()); }