luxlabs header browser preview


@class NSDate, RTXPCActivityManager, RTWorkoutDistanceStore, RTPlatform, NSMutableDictionary, RTWorkoutMetricsManager, RTDefaultsManager, RTDistanceCalculator, RTLocationManager, RTMapServiceManager, RTHealthKitManager;

@interface RTWorkoutRouteManager : RTService

@property (nonatomic) BOOL isSchedulerTriggered;
@property (retain, nonatomic) NSDate *lastTimeRouteLabelFailed;
@property (nonatomic) long long distanceMetric;
@property (retain, nonatomic) NSMutableDictionary *processWorkoutMetrics;
@property (retain, nonatomic) NSMutableDictionary *workoutActivityTypeToclustersSet;
@property (retain, nonatomic) RTDefaultsManager *defaultsManager;
@property (retain, nonatomic) RTDistanceCalculator *distanceCalculator;
@property (retain, nonatomic) RTHealthKitManager *healthKitManager;
@property (retain, nonatomic) RTLocationManager *locationManager;
@property (retain, nonatomic) RTMapServiceManager *mapServiceManager;
@property (retain, nonatomic) RTPlatform *platform;
@property (retain, nonatomic) RTXPCActivityManager *xpcActivityManager;
@property (retain, nonatomic) RTWorkoutDistanceStore *workoutDistanceStore;
@property (retain, nonatomic) RTWorkoutMetricsManager *workoutMetricsManager;

+ (id)curveOrientationTypeToString:(unsigned long long)a0;

- (id)_getWorkoutRouteLabelForWorkout:(id)a0 error:(id *)a1;
- (id)init;
- (void)deleteWorkout:(id)a0 handler:(id /* block */)a1;
- (BOOL)_updateMetricsForCurrentTime:(id)a0 minTimeKey:(id)a1 maxTimeKey:(id)a2 averageTimeKey:(id)a3 countKey:(id)a4 error:(id *)a5;
- (id)initWithDefaultsManager:(id)a0 distanceCalculator:(id)a1 healthKitManager:(id)a2 locationManager:(id)a3 mapServiceManager:(id)a4 platform:(id)a5 workoutDistanceStore:(id)a6 workoutMetricsManager:(id)a7;
- (BOOL)_isPreFilteredForWorkout:(id)a0 firstFewLocations:(struct CLLocationCoordinate2D { double x0; double x1; } *)a1 firstFewLocationsCount:(unsigned long long)a2 cachedDictionary:(id)a3 otherWorkout:(id)a4 firstFewOtherLocations:(struct CLLocationCoordinate2D { double x0; double x1; } *)a5 firstFewOtherLocationsCount:(unsigned long long)a6 cachedOtherDictionary:(id)a7 preFilteringResults:(id)a8 error:(id *)a9;
- (BOOL)_syncClustersToHealthKit:(id)a0 error:(id *)a1;
- (id)_getConstantValueForDistanceThresholdUsingDistanceMetric:(long long)a0 isDecimated:(BOOL)a1 workoutActivityType:(unsigned long long)a2 error:(id *)a3;
- (BOOL)_isPreFilteredCurveOrientationBasedForWorkout:(id)a0 cachedDictionary:(id)a1 otherWorkout:(id)a2 cachedOtherDictionary:(id)a3 error:(id *)a4;
- (BOOL)_isPreFilteredCentroidBasedForWorkout:(id)a0 cachedDictionary:(id)a1 otherWorkout:(id)a2 cachedOtherDictionary:(id)a3 preFilteringResults:(id)a4 error:(id *)a5;
- (id)_sortWorkoutUUIDs:(id)a0 key:(id)a1 ascending:(BOOL)a2 error:(id *)a3;
- (id)_clusterizeWorkoutsWithError:(id *)a0;
- (id)_getRTLocationUsingRTPair:(id)a0;
- (BOOL)_updateMetricsForCurrentTime:(id)a0 syncToHealthKitKey:(unsigned long long)a1 error:(id *)a2;
- (id)_mapWorkoutsToUUIDs:(id)a0 error:(id *)a1;
- (BOOL)_initProcessWorkoutMetricsForClusteringWithError:(id *)a0;
- (id)_sortWorkouts:(id)a0 key:(id)a1 ascending:(BOOL)a2 error:(id *)a3;
- (struct CLLocationCoordinate2D { double x0; double x1; } *)_getCoordinatesFromRTPairs:(id)a0;
- (BOOL)_initProcessWorkoutMetricsForDistanceMatrixWithError:(id *)a0;
- (BOOL)_isPreFilteredLastLocationBasedForWorkout:(id)a0 cachedDictionary:(id)a1 otherWorkout:(id)a2 cachedOtherDictionary:(id)a3 preFilteringResults:(id)a4 error:(id *)a5;
- (BOOL)_refreshWorkoutsCache:(id)a0 workoutUUIDs:(id)a1 startingIndex:(unsigned long long)a2 error:(id *)a3;
- (id)_getRemoteWorkoutClustersForWorkoutUUIDs:(id)a0 error:(id *)a1;
- (double)similarityDistanceUsingPreFilteringResults:(id)a0 error:(id *)a1;
- (double)_getConstantValueForString:(id)a0 isDecimated:(BOOL)a1 workoutActivityType:(unsigned long long)a2 error:(id *)a3;
- (BOOL)_updateMetricsForCurrentTime:(id)a0 distanceMatrixKey:(unsigned long long)a1 error:(id *)a2;
- (BOOL)_clearDistanceMatrixWithError:(id *)a0;
- (BOOL)_saveToHealthKitClustersForCreation:(id)a0 remoteClustersForUpdationNewWorkouts:(id)a1 remoteClustersForUpdationWorkoutsToRemove:(id)a2 remoteClustersForDeletion:(id)a3 error:(id *)a4;
- (void)processWorkoutsClearClusters:(BOOL)a0 clearExistingDistanceMatrix:(BOOL)a1 buildDistanceMatrix:(BOOL)a2 syncClustersToHealhtKit:(BOOL)a3 syncClustersToWatch:(BOOL)a4 filteringDistanceThreshold:(double)a5 topNWorkouts:(unsigned long long)a6 isSchedulerTriggered:(BOOL)a7 handler:(id /* block */)a8;
- (void)_logClusters:(id)a0 className:(id)a1 selectorName:(id)a2;
- (id)_getRelevanceLocationWithError:(id *)a0;
- (double)_relevanceScoreForWorkoutUUIDs:(id)a0 representativeWorkout:(id)a1 latestWorkoutAcrossAllWorkouts:(id)a2 countOfAllWorkouts:(unsigned long long)a3 currentLocation:(id)a4 error:(id *)a5;
- (id)_getWorkoutRouteSnapshotForWorkout:(id)a0 error:(id *)a1;
- (id)_bestWorkoutFromWorkouts:(id)a0 error:(id *)a1;
- (void)_processWorkoutsClearClusters:(BOOL)a0 clearExistingDistanceMatrix:(BOOL)a1 buildDistanceMatrix:(BOOL)a2 syncClustersToHealhtKit:(BOOL)a3 syncClustersToWatch:(BOOL)a4 filteringDistanceThreshold:(double)a5 topNWorkouts:(unsigned long long)a6 isSchedulerTriggered:(BOOL)a7 handler:(id /* block */)a8;
- (void)_stepCallerWithName:(id)a0 counter:(long long)a1 totalCount:(long long)a2;
- (id)_getActivityTypeToWorkoutUUIDsMapFilteredUsingDistanceThreshold:(double)a0 topN:(unsigned long long)a1 error:(id *)a2;
- (BOOL)_shouldDecimateWorkout:(id)a0;
- (BOOL)_syncWithRemoteClustersUsingLocalClusters:(id)a0 distanceMetric:(long long)a1 outLocalClustersForCreation:(id)a2 outRemoteClustersForUpdationNewWorkouts:(id)a3 outRemoteClustersForUpdationWorkoutsToRemove:(id)a4 outRemoteClustersForDeletion:(id)a5 error:(id *)a6;
- (id)_getWorkoutFromWorkouts:(id)a0 UUID:(id)a1 error:(id *)a2;
- (BOOL)_initProcessWorkoutMetricsForSyncToHealthKitWithError:(id *)a0;
- (BOOL)_initProcessWorkoutMetricsForSyncFromHealthKitWithError:(id *)a0;
- (BOOL)_processWorkoutsUsingActivityTypeToWorkoutUUIDsMap:(id)a0 error:(id *)a1;
- (id)_getWorkoutUUIDsForCluster:(id)a0 error:(id *)a1;
- (id)_lastWorkoutFromWorkouts:(id)a0 error:(id *)a1;
- (void)displayWorkoutDistanceRecordsWithHandler:(id /* block */)a0;
- (id)_getRTPairUsingCLLocationCoordinate2D:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0;
- (BOOL)_validateWorkout:(id)a0 otherWorkout:(id)a1 error:(id *)a2;
- (BOOL)_initProcessWorkoutMetricsForSyncToWatchKitWithError:(id *)a0;
- (void)_deleteWorkout:(id)a0 handler:(id /* block */)a1;
- (void).cxx_destruct;
- (BOOL)_syncClustersToWatchWithLimit:(unsigned long long)a0 error:(id *)a1;
- (BOOL)_isBoundingBoxDimensionsWithinTrackThresholdsSubPrefilter:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (BOOL)_computeAndSaveDistanceMatrixForWorkoutUUIDs:(id)a0 distanceMetric:(long long)a1 error:(id *)a2;
- (BOOL)_isPreFilteredRunningTrackBasedForWorkout:(id)a0 cachedDictionary:(id)a1 error:(id *)a2;
- (BOOL)_deleteAllClustersFromHealthKitError:(id *)a0;
- (void)_getLocationsForWorkout:(id)a0 decimationLevel:(unsigned long long)a1 limit:(long long)a2 handler:(id /* block */)a3;
- (BOOL)_preComputeCacheForWorkout:(id)a0 locations:(struct CLLocationCoordinate2D { double x0; double x1; } *)a1 locationsCount:(unsigned long long)a2 decimatedLocations:(struct CLLocationCoordinate2D { double x0; double x1; } *)a3 decimatedLocationsCount:(unsigned long long)a4 cachedDictionary:(id)a5 error:(id *)a6;
- (BOOL)_updateWorkoutDistanceRecordsWithObjectIDs:(id)a0 isVisited:(BOOL)a1 error:(id *)a2;
- (void)processNewlyAddedWorkout:(id)a0 handler:(id /* block */)a1;
- (BOOL)_isPreFilteredLocationCountBasedForWorkout:(id)a0 cachedDictionary:(id)a1 otherWorkout:(id)a2 cachedOtherDictionary:(id)a3 preFilteringResults:(id)a4 error:(id *)a5;
- (BOOL)_isEligibleForCurveOrientation:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0 lastLocation:(struct CLLocationCoordinate2D { double x0; double x1; } *)a1 error:(id *)a2;
- (id)_readClustersFromHealthKitWithError:(id *)a0;
- (id)_retrieveUUIDsToPruneWithError:(id *)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_getCGRectFromCoordinates:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0 verticesCount:(unsigned long long)a1 outError:(id *)a2;
- (double)_getMaxDistanceThresholdForMetric:(long long)a0 error:(id *)a1;
- (id)_sortWorkoutUUIDsByDistance:(id)a0 error:(id *)a1;
- (void)pruneDistanceMatrixWithHandler:(id /* block */)a0;
- (id)_colorFromHexString:(id)a0;
- (id)_getRTPairsFromCoordinates:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0 count:(unsigned long long)a1;
- (BOOL)_isPreFilteredForWorkout:(id)a0 otherWorkout:(id)a1 preFilteringResults:(id)a2 error:(id *)a3;
- (BOOL)_initProcessWorkoutMetrics:(id *)a0;
- (void)updateRelevanceScoresWithHandler:(id /* block */)a0;
- (void)_updateRelevanceScoresWithHandler:(id /* block */)a0;
- (unsigned long long)_getCurveOrientationTypeForLocations:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0 locationsCount:(unsigned long long)a1 error:(id *)a2;
- (id)_getRTLocationUsingCLLocationCoordinate2D:(struct CLLocationCoordinate2D { double x0; double x1; } *)a0;
- (void)_pruneDistanceMatrixWithHandler:(id /* block */)a0;
- (BOOL)_clearInMemoryClusters;
- (void)_processNewlyAddedWorkout:(id)a0 handler:(id /* block */)a1;
- (BOOL)_isBoundingBoxAreaLessThanThresholdSubPrefilter:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 verticesCount:(unsigned long long)a1 stimulationDate:(id)a2 error:(id *)a3;
- (id)_latestWorkoutUUIDAcrossWorkouts:(id)a0;
- (id)_paceFromWorkout:(id)a0 error:(id *)a1;
- (BOOL)_isPreFilteredIOUBasedForWorkout:(id)a0 cachedDictionary:(id)a1 otherWorkout:(id)a2 cachedOtherDictionary:(id)a3 preFilteringResults:(id)a4 error:(id *)a5;
- (BOOL)_areWorkoutsSimilarBetweenClusterSet1:(id)a0 clusterSet2:(id)a1 workoutActivityType:(long long)a2 maxDistanceThreshold:(double)a3 error:(id *)a4;
- (BOOL)_storeWorkoutDistances:(id)a0 error:(id *)a1;

@end