From 67679c39cfa37538bbc710569d8327c842bbd52e Mon Sep 17 00:00:00 2001 From: Furyou81 Date: Thu, 25 Apr 2019 13:42:52 +0700 Subject: [PATCH] adding a flag includeManuallyAdded --- RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m | 9 +++++++++ RCTAppleHealthKit/RCTAppleHealthKit+Queries.h | 1 + RCTAppleHealthKit/RCTAppleHealthKit+Queries.m | 6 +++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m b/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m index d44926c..bd8261b 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m @@ -104,6 +104,8 @@ NSDate *startDate = [RCTAppleHealthKit dateFromOptions:input key:@"startDate" withDefault:nil]; NSDate *endDate = [RCTAppleHealthKit dateFromOptions:input key:@"endDate" withDefault:[NSDate date]]; NSUInteger period = [RCTAppleHealthKit uintFromOptions:input key:@"period" withDefault:60]; + BOOL includeManuallyAdded = [RCTAppleHealthKit boolFromOptions:input key:@"includeManuallyAdded" withDefault:false]; + if(startDate == nil){ callback(@[RCTMakeError(@"startDate is required in options", nil, nil)]); return; @@ -118,6 +120,7 @@ endDate:endDate ascending:ascending limit:limit + includeManuallyAdded:includeManuallyAdded completion:^(NSArray *arr, NSError *err){ if (err != nil) { NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err); @@ -221,6 +224,7 @@ NSDate *startDate = [RCTAppleHealthKit dateFromOptions:input key:@"startDate" withDefault:nil]; NSDate *endDate = [RCTAppleHealthKit dateFromOptions:input key:@"endDate" withDefault:[NSDate date]]; NSUInteger period = [RCTAppleHealthKit uintFromOptions:input key:@"period" withDefault:60]; + BOOL includeManuallyAdded = [RCTAppleHealthKit boolFromOptions:input key:@"includeManuallyAdded" withDefault:false]; if(startDate == nil){ callback(@[RCTMakeError(@"startDate is required in options", nil, nil)]); return; @@ -235,6 +239,7 @@ endDate:endDate ascending:ascending limit:limit + includeManuallyAdded:includeManuallyAdded completion:^(NSArray *arr, NSError *err){ if (err != nil) { NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err); @@ -253,6 +258,7 @@ NSDate *startDate = [RCTAppleHealthKit dateFromOptions:input key:@"startDate" withDefault:nil]; NSDate *endDate = [RCTAppleHealthKit dateFromOptions:input key:@"endDate" withDefault:[NSDate date]]; NSUInteger period = [RCTAppleHealthKit uintFromOptions:input key:@"period" withDefault:60]; + BOOL includeManuallyAdded = [RCTAppleHealthKit boolFromOptions:input key:@"includeManuallyAdded" withDefault:false]; if(startDate == nil){ callback(@[RCTMakeError(@"startDate is required in options", nil, nil)]); return; @@ -267,6 +273,7 @@ endDate:endDate ascending:ascending limit:limit + includeManuallyAdded:includeManuallyAdded completion:^(NSArray *arr, NSError *err){ if (err != nil) { NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err); @@ -309,6 +316,7 @@ NSDate *startDate = [RCTAppleHealthKit dateFromOptions:input key:@"startDate" withDefault:nil]; NSDate *endDate = [RCTAppleHealthKit dateFromOptions:input key:@"endDate" withDefault:[NSDate date]]; NSUInteger period = [RCTAppleHealthKit uintFromOptions:input key:@"period" withDefault:60]; + BOOL includeManuallyAdded = [RCTAppleHealthKit boolFromOptions:input key:@"includeManuallyAdded" withDefault:false]; if(startDate == nil){ callback(@[RCTMakeError(@"startDate is required in options", nil, nil)]); return; @@ -323,6 +331,7 @@ endDate:endDate ascending:ascending limit:limit + includeManuallyAdded:includeManuallyAdded completion:^(NSArray *arr, NSError *err){ if (err != nil) { NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err); diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.h b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.h index 8546474..357aa89 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.h +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.h @@ -57,6 +57,7 @@ endDate:(NSDate *)endDate ascending:(BOOL)asc limit:(NSUInteger)lim + includeManuallyAdded:(BOOL)includeManuallyAdded completion:(void (^)(NSArray *, NSError *))completionHandler; diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m index d07e42b..0fccb76 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m @@ -578,6 +578,7 @@ endDate:(NSDate *)endDate ascending:(BOOL)asc limit:(NSUInteger)lim + includeManuallyAdded:(BOOL)includeManuallyAdded completion:(void (^)(NSArray *, NSError *))completionHandler { NSCalendar *calendar = [NSCalendar currentCalendar]; @@ -588,7 +589,10 @@ fromDate:startDate]; //anchorComponents.hour = 0; NSDate *anchorDate = [calendar dateFromComponents:anchorComponents]; -NSPredicate *predicate = [NSPredicate predicateWithFormat:@"metadata.%K != YES", HKMetadataKeyWasUserEntered]; + NSPredicate *predicate = nil; + if (includeManuallyAdded == false) { + predicate = [NSPredicate predicateWithFormat:@"metadata.%K != YES", HKMetadataKeyWasUserEntered]; + } // Create the query HKStatisticsCollectionQuery *query = [[HKStatisticsCollectionQuery alloc] initWithQuantityType:quantityType quantitySamplePredicate:predicate -- 2.26.2