RCTLocationObserver: Fix reporting of timeout error
Summary: Fixes an issue where location request timeout errors always reported "Unable to fetch location within **0s**". Previously we had `@"Unable to fetch location within %zds.", (NSInteger)(timer.timeInterval * 1000.0)` but from the [NSTimer.timeInterval docs](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/#//apple_ref/occ/instp/NSTimer/timeInterval) "If the receiver is a non-repeating timer, returns 0 even if a time interval was set.". Change to use `request.options.timeout` instead, which is a `Double` defaulting to `INFINITY`. Tested on an iOS simulator. Closes https://github.com/facebook/react-native/pull/9888 Differential Revision: D3902788 Pulled By: javache fbshipit-source-id: aef717d6c39f3177cb7056a17adc35c1bfd94132
This commit is contained in:
parent
1a62b66c51
commit
779f9e2b9c
|
@ -160,7 +160,7 @@ RCT_EXPORT_MODULE()
|
||||||
- (void)timeout:(NSTimer *)timer
|
- (void)timeout:(NSTimer *)timer
|
||||||
{
|
{
|
||||||
RCTLocationRequest *request = timer.userInfo;
|
RCTLocationRequest *request = timer.userInfo;
|
||||||
NSString *message = [NSString stringWithFormat: @"Unable to fetch location within %zds.", (NSInteger)(timer.timeInterval * 1000.0)];
|
NSString *message = [NSString stringWithFormat: @"Unable to fetch location within %.1fs.", request.options.timeout];
|
||||||
request.errorBlock(@[RCTPositionError(RCTPositionErrorTimeout, message)]);
|
request.errorBlock(@[RCTPositionError(RCTPositionErrorTimeout, message)]);
|
||||||
[_pendingRequests removeObject:request];
|
[_pendingRequests removeObject:request];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue