luxlabs header browser preview


@class CLLocation, GEOLocationShifter, NSObject, NSBundle, GEOLocation, NSMutableArray, CLHeading, NSString, geo_isolater, NSHashTable, NSTimer, NSError, NSLock;
@protocol MKLocationProvider, OS_dispatch_group, MNLocationRecorder;

@interface MKLocationManager : NSObject <GEOResourceManifestTileGroupObserver, MKLocationProviderDelegate> {
    id<MKLocationProvider> _locationProvider;
    NSHashTable *_locationObservers;
    NSHashTable *_locationListeners;
    NSHashTable *_headingObservers;
    CLLocation *_lastLocation;
    double _lastLocationUpdateTime;
    BOOL _trackingLocation;
    BOOL _trackingHeading;
    double _applicationResumeTime;
    double _applicationSuspendTime;
    double _headingUpdateTime;
    double _locationAccuracyUpdateTime;
    double _locationUpdateStartTime;
    BOOL _isReceivingAccurateLocations;
    NSMutableArray *_waitForAccurateLocationsHandlers;
    NSTimer *_waitForAccurateLocationsTimer;
    double _lastLocationReportTime;
    GEOLocationShifter *_locationShifter;
    NSTimer *_headingThrottlingTimer;
    double _lastVehicleHeading;
    double _lastVehicleSpeed;
    double _lastVehicleHeadingUpdateTime;
    double _lastVehicleSpeedUpdateTime;
    int _consecutiveOutOfCourseCount;
    BOOL _continuedAfterBecomingInactive;
    BOOL _suspended;
    NSMutableArray *_recentLocationUpdateIntervals;
    NSLock *_lastLocationLock;
    NSLock *_observersLock;
    int _accuracyAuthorizationState;
    BOOL _temporaryPreciseLocationAuthorizationPromptShown;
    geo_isolater *_accuracyAuthorizationIsolater;
    struct GEOOnce_s { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; BOOL didRun; } _initializedAuthorizationStatus;
    NSObject<OS_dispatch_group> *_authStatusInitializationGroup;
    BOOL _hasCustomDesiredAccuracy;
}

@property (retain, nonatomic) id<MKLocationProvider> locationProvider;
@property (copy, nonatomic) id /* block */ locationCorrector;
@property (nonatomic) BOOL logStartStopLocationUpdates;
@property (nonatomic, getter=isEnabled) BOOL enabled;
@property (readonly, nonatomic, getter=isLocationServicesAuthorizationNeeded) BOOL locationServicesAuthorizationNeeded;
@property (readonly, nonatomic) BOOL isLocationServicesAvailable;
@property (readonly, nonatomic) BOOL isLocationServicesPossiblyAvailable;
@property (readonly, nonatomic) BOOL isLocationServicesEnabled;
@property (readonly, nonatomic) BOOL isLocationServicesApproved;
@property (readonly, nonatomic) BOOL isLocationServicesDenied;
@property (readonly, nonatomic) BOOL isLocationServicesRestricted;
@property (readonly, nonatomic) BOOL isHeadingServicesAvailable;
@property (readonly, nonatomic) BOOL isAuthorizedForPreciseLocation;
@property (readonly, nonatomic) BOOL isTemporaryPreciseLocationAuthorizationPromptShown;
@property (nonatomic, getter=isLocationServicesPreferencesDialogEnabled) BOOL locationServicesPreferencesDialogEnabled;
@property (readonly, nonatomic) double headingUpdateTimeInterval;
@property (readonly, nonatomic) GEOLocation *currentLocation;
@property (readonly, nonatomic) GEOLocation *gridSnappedCurrentLocation;
@property (readonly, nonatomic) GEOLocation *courseCorrectedLocation;
@property (nonatomic) long long headingOrientation;
@property (copy, nonatomic) id /* block */ authorizationRequestBlock;
@property (readonly, nonatomic) BOOL hasLocation;
@property (readonly, nonatomic) CLLocation *lastLocation;
@property (readonly, nonatomic) CLLocation *lastGoodLocation;
@property (readonly, nonatomic) BOOL isLastLocationStale;
@property (readonly, nonatomic) NSError *locationError;
@property (nonatomic) double desiredAccuracy;
@property (nonatomic) double distanceFilter;
@property (nonatomic) BOOL matchInfoEnabled;
@property (nonatomic) BOOL fusionInfoEnabled;
@property (readonly, nonatomic) CLLocation *lastProviderLocation;
@property (nonatomic) long long activityType;
@property (readonly, nonatomic) double expectedGpsUpdateInterval;
@property (readonly, nonatomic) double timeScale;
@property (retain, nonatomic) NSBundle *effectiveBundle;
@property (copy, nonatomic) NSString *effectiveBundleIdentifier;
@property (nonatomic) BOOL useCourseForHeading;
@property (readonly, nonatomic) CLHeading *heading;
@property (retain, nonatomic) CLHeading *throttledHeading;
@property (readonly, nonatomic) double currentVehicleHeading;
@property (readonly, nonatomic) double currentVehicleSpeed;
@property (readonly, nonatomic) double vehicleHeadingOrCourse;
@property (copy, nonatomic) id /* block */ networkActivity;
@property (retain, nonatomic) id<MNLocationRecorder> locationRecorder;
@property (readonly, nonatomic) double navigationCourse;
@property (nonatomic) double minimumLocationUpdateInterval;
@property (nonatomic) BOOL continuesWhileInactive;
@property (readonly, nonatomic, getter=wasLastLocationPushed) BOOL lastLocationPushed;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)timeoutError;
+ (id)sharedLocationManager;
+ (void)setCanMonitorWiFiStatus:(BOOL)a0;

- (void)_reportLocationSuccess;
- (void)locationProvider:(id)a0 didReceiveError:(id)a1;
- (void)applicationDidBecomeActive:(id)a0;
- (void)requestWhenInUseAuthorizationWithPrompt;
- (void)stopLocationUpdateWithObserver:(id)a0;
- (id)initWithCLLocationManager:(id)a0;
- (void)locationProvider:(id)a0 didUpdateLocation:(id)a1;
- (void)_setTrackingHeading:(BOOL)a0;
- (void)stopVehicleHeadingUpdate;
- (void)requestTemporaryPreciseLocationAuthorizationWithPurposeKey:(id)a0 completion:(id /* block */)a1;
- (void)_reportLocationStatus:(SEL)a0;
- (void)_reportLocationFailureWithError:(id)a0;
- (void)locationProvider:(id)a0 didUpdateHeading:(id)a1;
- (void)pushLocation:(id)a0;
- (void)locationProvider:(id)a0 didUpdateVehicleHeading:(double)a1 timestamp:(id)a2;
- (void)dismissHeadingCalibrationDisplay;
- (void)resourceManifestManager:(id)a0 didChangeActiveTileGroup:(id)a1 fromOldTileGroup:(id)a2;
- (void)applicationWillResignActive:(id)a0;
- (void)_reportLocationReset;
- (void)setLastLocation:(id)a0;
- (void)startHeadingUpdateWithObserver:(id)a0;
- (void)startLocationUpdateWithObserver:(id)a0;
- (BOOL)locationProviderShouldPauseLocationUpdates:(id)a0;
- (void)locationProviderDidResumeLocationUpdates:(id)a0;
- (void)stopHeadingUpdateWithObserver:(id)a0;
- (void)_setTrackingLocation:(BOOL)a0;
- (void)requestWhenInUseAuthorization;
- (void)locationProviderDidChangeAuthorizationStatus:(id)a0;
- (id)singleLocationUpdateWithDesiredAccuracy:(double)a0 handler:(id /* block */)a1 timeout:(double)a2 maxLocationAge:(double)a3;
- (id)init;
- (void)locationProviderDidPauseLocationUpdates:(id)a0;
- (void)locationProvider:(id)a0 didUpdateVehicleSpeed:(double)a1 timestamp:(id)a2;
- (void)reset;
- (void)dealloc;
- (void)_suspend;
- (void)_reportHeadingFailureWithError:(id)a0;
- (id)singleLocationUpdateWithHandler:(id /* block */)a0;
- (void)waitForAccurateLocationWithTimeout:(double)a0 handler:(id /* block */)a1;
- (void)startVehicleSpeedUpdate;
- (void)_locationProvider:(id)a0 didUpdateLocation:(id)a1 lastKnownNavCourse:(double)a2;
- (void)_startLocationUpdateWithObserver:(id)a0 desiredAccuracy:(double)a1;
- (BOOL)_isTimeToResetOnResume;
- (void)_syncLocationProviderWithTracking;
- (void)_setIsReceivingAccurateLocations:(BOOL)a0;
- (void)_useDefaultCoreLocationProvider;
- (void)resetAfterResumeIfNecessary;
- (void)dampenGPSLocationAccuracy:(id *)a0;
- (void).cxx_destruct;
- (void)stopVehicleSpeedUpdate;
- (BOOL)_shouldAllowLocationUpdateInterval:(double)a0;
- (void)_reportHeadingSuccess;
- (id)singleLocationUpdateWithDesiredAccuracy:(double)a0 handler:(id /* block */)a1 timeout:(double)a2;
- (void)startVehicleHeadingUpdate;
- (void)listenForLocationUpdates:(id)a0;
- (void)setHeading:(id)a0;
- (BOOL)isLocationServicesPossiblyAvailable:(id *)a0;
- (void)stopListeningForLocationUpdates:(id)a0;
- (void)locationProvider:(id)a0 didUpdateLocation:(id)a1 lastKnownNavCourse:(double)a2;
- (void)_initializeAuthStatusIfNecessary;
- (void)_waitForAccurateLocationsTimerFired:(id)a0;
- (id)observersDescription;
- (id)singleLocationUpdateWithDesiredAccuracy:(double)a0 handler:(id /* block */)a1;

@end