Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: ios/chrome/browser/geolocation/location_manager.mm

Issue 2528003002: [ObjC ARC] Converts ios/chrome/browser/geolocation:geolocation to ARC.Automatically generated ARC… (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/geolocation/location_manager.h" 5 #import "ios/chrome/browser/geolocation/location_manager.h"
6 6
7 #import "base/ios/weak_nsobject.h" 7 #import "base/ios/weak_nsobject.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #import "ios/chrome/browser/geolocation/CLLocation+OmniboxGeolocation.h" 9 #import "ios/chrome/browser/geolocation/CLLocation+OmniboxGeolocation.h"
10 #import "ios/chrome/browser/geolocation/location_manager+Testing.h" 10 #import "ios/chrome/browser/geolocation/location_manager+Testing.h"
11 #import "ios/public/provider/chrome/browser/chrome_browser_provider.h" 11 #import "ios/public/provider/chrome/browser/chrome_browser_provider.h"
12 #import "ios/public/provider/chrome/browser/geolocation_updater_provider.h" 12 #import "ios/public/provider/chrome/browser/geolocation_updater_provider.h"
13 13
14 #if !defined(__has_feature) || !__has_feature(objc_arc)
15 #error "This file requires ARC support."
16 #endif
17
14 namespace { 18 namespace {
15 19
16 const CLLocationDistance kLocationDesiredAccuracy = 20 const CLLocationDistance kLocationDesiredAccuracy =
17 kCLLocationAccuracyHundredMeters; 21 kCLLocationAccuracyHundredMeters;
18 // Number of seconds to wait before automatically stopping location updates. 22 // Number of seconds to wait before automatically stopping location updates.
19 const NSTimeInterval kLocationStopUpdateDelay = 5.0; 23 const NSTimeInterval kLocationStopUpdateDelay = 5.0;
20 // A large value to disable automatic location updates in GeolocationUpdater. 24 // A large value to disable automatic location updates in GeolocationUpdater.
21 const NSTimeInterval kLocationUpdateInterval = 365.0 * 24.0 * 60.0 * 60.0; 25 const NSTimeInterval kLocationUpdateInterval = 365.0 * 24.0 * 60.0 * 60.0;
22 26
23 } // namespace 27 } // namespace
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 selector:@selector(handleAuthorizationChangeNotification:) 73 selector:@selector(handleAuthorizationChangeNotification:)
70 name:provider->GetAuthorizationChangeNotificationName() 74 name:provider->GetAuthorizationChangeNotificationName()
71 object:nil]; 75 object:nil];
72 } 76 }
73 } 77 }
74 return self; 78 return self;
75 } 79 }
76 80
77 - (void)dealloc { 81 - (void)dealloc {
78 [[NSNotificationCenter defaultCenter] removeObserver:self]; 82 [[NSNotificationCenter defaultCenter] removeObserver:self];
79 [super dealloc];
80 } 83 }
81 84
82 - (CLAuthorizationStatus)authorizationStatus { 85 - (CLAuthorizationStatus)authorizationStatus {
83 return [CLLocationManager authorizationStatus]; 86 return [CLLocationManager authorizationStatus];
84 } 87 }
85 88
86 - (CLLocation*)currentLocation { 89 - (CLLocation*)currentLocation {
87 if (!_currentLocation) 90 if (!_currentLocation)
88 _currentLocation.reset([[_locationUpdater currentLocation] retain]); 91 _currentLocation.reset([_locationUpdater currentLocation]);
89 return _currentLocation; 92 return _currentLocation;
90 } 93 }
91 94
92 - (id<LocationManagerDelegate>)delegate { 95 - (id<LocationManagerDelegate>)delegate {
93 return _delegate; 96 return _delegate;
94 } 97 }
95 98
96 - (void)setDelegate:(id<LocationManagerDelegate>)delegate { 99 - (void)setDelegate:(id<LocationManagerDelegate>)delegate {
97 _delegate.reset(delegate); 100 _delegate.reset(delegate);
98 } 101 }
(...skipping 18 matching lines...) Expand all
117 } 120 }
118 121
119 #pragma mark - Private 122 #pragma mark - Private
120 123
121 - (void)handleLocationUpdateNotification:(NSNotification*)notification { 124 - (void)handleLocationUpdateNotification:(NSNotification*)notification {
122 NSString* newLocationKey = ios::GetChromeBrowserProvider() 125 NSString* newLocationKey = ios::GetChromeBrowserProvider()
123 ->GetGeolocationUpdaterProvider() 126 ->GetGeolocationUpdaterProvider()
124 ->GetUpdateNewLocationKey(); 127 ->GetUpdateNewLocationKey();
125 CLLocation* location = [[notification userInfo] objectForKey:newLocationKey]; 128 CLLocation* location = [[notification userInfo] objectForKey:newLocationKey];
126 if (location) { 129 if (location) {
127 _currentLocation.reset([location retain]); 130 _currentLocation.reset(location);
128 131
129 if (_startTime) { 132 if (_startTime) {
130 NSTimeInterval interval = -[_startTime timeIntervalSinceNow]; 133 NSTimeInterval interval = -[_startTime timeIntervalSinceNow];
131 [_currentLocation cr_setAcquisitionInterval:interval]; 134 [_currentLocation cr_setAcquisitionInterval:interval];
132 } 135 }
133 } 136 }
134 } 137 }
135 138
136 - (void)handleLocationStopNotification:(NSNotification*)notification { 139 - (void)handleLocationStopNotification:(NSNotification*)notification {
137 [_locationUpdater setEnabled:NO]; 140 [_locationUpdater setEnabled:NO];
138 } 141 }
139 142
140 - (void)handleAuthorizationChangeNotification:(NSNotification*)notification { 143 - (void)handleAuthorizationChangeNotification:(NSNotification*)notification {
141 [_delegate locationManagerDidChangeAuthorizationStatus:self]; 144 [_delegate locationManagerDidChangeAuthorizationStatus:self];
142 } 145 }
143 146
144 #pragma mark - LocationManager+Testing 147 #pragma mark - LocationManager+Testing
145 148
146 - (void)setGeolocationUpdater:(id<GeolocationUpdater>)geolocationUpdater { 149 - (void)setGeolocationUpdater:(id<GeolocationUpdater>)geolocationUpdater {
147 _locationUpdater.reset([geolocationUpdater retain]); 150 _locationUpdater.reset(geolocationUpdater);
148 } 151 }
149 152
150 @end 153 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698