luxlabs header browser preview


@class NSDictionary, MRURoutingViewControllerUpdate, NSIndexPath, NSMutableArray, NSString, MPAVRoutingController, MRGroupSessionDiscovery, MRUVisualStylingProvider, NSMutableSet, NSTimer, NSArray, NSMutableDictionary, NSNumberFormatter, MRUVolumeGroupCoordinator, AVSystemController, MPAVRoute, MPSectionedCollection, MRURoutingView, CARSessionStatus, MPAVEndpointRoute, MRUVendorSpecificDeviceManager, MPWeakTimer;
@protocol MRGroupSession, MRURoutingViewControllerDelegate;

@interface MRURoutingViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UITableViewDelegatePrivate, MPAVRoutingControllerDelegate, MRURoutingTableViewCellDelegate, MRUNowPlayingControllerObserver, CARSessionObserving, UIGestureRecognizerDelegate, MRUVendorSpecificDeviceManagerDelegate, MRUVirtualHearingAidRouteObserver, MRGroupSessionDiscoveryDelegate, MRGroupSessionDelegate, MRUOutputDeviceRoutingDataSourceObserver> {
    MRURoutingViewControllerUpdate *_pendingUpdate;
    MRURoutingViewControllerUpdate *_optimisticUpdate;
    BOOL _isAnimatingUpdate;
    MPAVRoute *_displayedEndpointRoute;
    MPSectionedCollection *_routingViewItems;
    NSArray *_cachedPickedRoutes;
    NSArray *_cachedDisplayableAvailableRoutes;
    NSArray *_cachedPendingPickedRoutes;
    NSArray *_cachedDisplayAsPickedRoutes;
    NSArray *_cachedVolumeCapableRoutes;
    NSDictionary *_cachedRouteGrouping;
    NSArray *_cachedAirPlayRoutes;
    NSArray *_cachedNativeRoutes;
    NSArray *_cachedNativeRoutesInVendorSpecificGroup;
    NSArray *_cachedActivatedVendorSpecificDeviceIDs;
    NSArray *_cachedPendingVendorSpecificDeviceIDs;
    NSArray *_cachedAvailableVendorSpecificDeviceIDs;
    MPWeakTimer *_updateTimer;
    int _airPlayPasswordAlertDidAppearToken;
    int _airPlayPasswordAlertDidCancelToken;
    BOOL _airPlayPasswordAlertDidAppearTokenIsValid;
    BOOL _hasUserSelections;
    unsigned long long _updatesSincePresentation;
    BOOL _didSelectShowMore;
    BOOL _allRoutesAreUnknown;
    BOOL _someRoutesAreUnknown;
}

@property (retain, nonatomic) MRURoutingView *view;
@property (retain, nonatomic) MRURoutingView *viewIfLoaded;
@property (readonly, nonatomic, getter=isInCarPlay) BOOL inCarPlay;
@property (nonatomic) BOOL onScreen;
@property (retain, nonatomic) NSDictionary *outputDeviceVolumeControllers;
@property (retain, nonatomic) CARSessionStatus *carPlaySessionStatus;
@property (retain, nonatomic) NSMutableSet *expandedGroupUIDs;
@property (retain, nonatomic) NSMutableSet *expandedItemUIDs;
@property (retain, nonatomic) NSMutableSet *expandedRouteUIDs;
@property (retain, nonatomic) NSDictionary *indexedNowPlayingControllers;
@property (nonatomic) BOOL needsDisplayedRoutesUpdate;
@property (retain, nonatomic) NSNumberFormatter *percentageFormatter;
@property (retain, nonatomic) MPWeakTimer *subtitleUpdateTimer;
@property (retain, nonatomic) NSTimer *collapseTimer;
@property (nonatomic) unsigned long long stateHandle;
@property (nonatomic) BOOL presentingAppHasActiveAVSession;
@property (readonly, nonatomic) BOOL canUseUncoalescedResults;
@property (readonly, nonatomic) BOOL shouldSuppressNativeRoutesStatusDisplay;
@property (nonatomic) BOOL didLastPickNativeRoute;
@property (retain, nonatomic) NSIndexPath *vendorSpecificGroupThatWasJustExpanded;
@property (retain, nonatomic) NSString *mostRecentlyInteractedVendorSpecificGroupRouteID;
@property (retain, nonatomic) NSMutableSet *collapsedVendorSpecificGroupUIDs;
@property (retain, nonatomic) NSMutableSet *expandedVendorSpecificGroupUIDs;
@property (retain, nonatomic) NSMutableDictionary *vendorSpecificGroupDisplayedSubroutes;
@property (nonatomic) BOOL didExpandVendorSpecificSpeakerGroup;
@property (retain, nonatomic) NSMutableArray *staticCustomRowItems;
@property (retain, nonatomic) AVSystemController *mediaServerController;
@property (retain, nonatomic) MRGroupSessionDiscovery *groupSessionDiscovery;
@property (retain, nonatomic) id<MRGroupSession> activeGroupSession;
@property (readonly, nonatomic) MPAVRoutingController *routingController;
@property (retain, nonatomic) MRUVendorSpecificDeviceManager *vendorSpecificManager;
@property (weak, nonatomic) id<MRURoutingViewControllerDelegate> delegate;
@property (retain, nonatomic) MRUVisualStylingProvider *stylingProvider;
@property (retain, nonatomic) MRUVolumeGroupCoordinator *volumeGroupCoordinator;
@property (retain, nonatomic) NSArray *nowPlayingControllers;
@property (retain, nonatomic) MPAVEndpointRoute *endpointRoute;
@property (nonatomic) long long discoveryMode;
@property (nonatomic) BOOL sortByIsVideoRoute;
@property (nonatomic) BOOL showMetadataForEndpointRoute;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } contentEdgeInsets;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } scrollIndicatorInsets;
@property (copy, nonatomic) NSMutableArray *customRows;
@property (nonatomic) int presentingAppProcessIdentifier;
@property (retain, nonatomic) NSString *presentingAppBundleID;
@property (copy, nonatomic) NSString *nowPlayingAppBundleID;
@property (copy, nonatomic) NSArray *visibleMediaApps;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)routingControllerAvailableRoutesDidChange:(id)a0;
- (void)showMoreAction;
- (id)tableView:(id)a0 viewForHeaderInSection:(long long)a1;
- (void)updateSubtitle;
- (void)vendorSpecificManager:(id)a0 deviceNowPlayingInfoDidChange:(id)a1;
- (long long)numberOfSectionsInTableView:(id)a0;
- (void)routingCellDidTapToExpand:(id)a0;
- (id)init;
- (void)viewWillAppear:(BOOL)a0;
- (void)groupSession:(id)a0 didInvalidateWithError:(id)a1;
- (id)tableView:(id)a0 cellForRowAtIndexPath:(id)a1;
- (void)dealloc;
- (BOOL)_operationRequiresOptimisticState:(long long)a0 routes:(id)a1;
- (long long)tableView:(id)a0 numberOfRowsInSection:(long long)a1;
- (BOOL)isVendorSpecificGroupStatusRecorded:(id)a0;
- (void)updateVendorSpecificSubRouteCell:(id)a0 forIndexPath:(id)a1;
- (double)tableView:(id)a0 heightForRowAtIndexPath:(id)a1;
- (id)initWithRoutingController:(id)a0;
- (void)setOptimisticUpdate:(id)a0;
- (BOOL)tableView:(id)a0 shouldHaveFullLengthBottomSeparatorForSection:(long long)a1;
- (void)tableView:(id)a0 didSelectRowAtIndexPath:(id)a1;
- (void)_createUpdateWithRefreshOnly:(BOOL)a0 completion:(id /* block */)a1;
- (id)_displayableRoutesInRoutes:(id)a0;
- (id)_mergeRoutes:(id)a0 withCoalescedResult:(id)a1;
- (void)_updateGroupSessionDiscovery;
- (void)routingController:(id)a0 shouldHijackRoute:(id)a1 alertStyle:(long long)a2 busyRouteName:(id)a3 presentingAppName:(id)a4 completion:(id /* block */)a5;
- (id)groupUIDForRoute:(id)a0;
- (void)resetDisplayedRoutes;
- (void)viewDidLoad;
- (void)_applyUpdate:(id)a0;
- (void)updateCell:(id)a0 forIndexPath:(id)a1;
- (void)_displayShareAudioDisabledAlertForReason:(id)a0;
- (double)tableView:(id)a0 heightForHeaderInSection:(long long)a1;
- (void)vendorSpecificManagerDeviceListDidChange:(id)a0;
- (void)groupSessionDiscovery:(id)a0 discoveredSessionsDidChange:(id)a1;
- (BOOL)_wouldShareAudioForPickedRoute:(id)a0 operation:(long long)a1 pickedRoutes:(id)a2;
- (void)updateNowPlayingControllersForRoutes:(id)a0;
- (void)updateHeaderView:(id)a0 forSection:(long long)a1;
- (void)updateVendorSpecificSpeakerGroupCell:(id)a0 forIndexPath:(id)a1;
- (void)updateMetadata;
- (id)_airPlayRoutesInRoutes:(id)a0;
- (double)tableView:(id)a0 estimatedHeightForRowAtIndexPath:(id)a1;
- (void)didReceiveInteraction:(id)a0;
- (void)sessionDidConnect:(id)a0;
- (void)_displayEndGroupSessionWithCompletion:(id /* block */)a0;
- (id)_stateDumpObject;
- (void)loadView;
- (BOOL)wasVendorSpecificGroupDisplayedAsExpanded:(id)a0;
- (void)nowPlayingController:(id)a0 metadataController:(id)a1 didChangeNowPlayingInfo:(id)a2;
- (id)_recommendedRoutesFromRoutes:(id)a0;
- (void)_collapseAllGroupsAfterDelay;
- (void)_setupUpdateTimerIfNecessary;
- (void)routeRecommenderDidUpdateRecommendations:(id)a0;
- (void)updateMetadataForNowPlayingController:(id)a0;
- (id)_createSectionedCollection:(id)a0 withPickedRoutes:(id)a1;
- (BOOL)routesContainMultipleBuiltIn:(id)a0;
- (void)_updateDisplayedRoutes;
- (BOOL)hasCarKitRoute;
- (void)_reloadDisplayedRoutes;
- (void)_refreshDisplayedRoutes;
- (BOOL)routesContainAirPlayGroupableRoute:(id)a0;
- (void)viewWillDisappear:(BOOL)a0;
- (id)endpointGroupUID;
- (void)playingSessionsDidChangeNotification:(id)a0;
- (void)clearVendorSpecificGroupExpandedRecordFor:(id)a0;
- (BOOL)_canShowWhileLocked;
- (void)ensureVendorSpecificGroupTreeIsVisible:(id)a0;
- (id)_fullStateDumpObject;
- (void)routingController:(id)a0 pickedRoutesDidChange:(id)a1;
- (BOOL)_shouldShowShowMoreButton;
- (void)vendorSpecificManager:(id)a0 deviceStateDidChange:(id)a1;
- (void)_setNeedsDisplayedRoutesUpdate;
- (BOOL)nowPlayingControllerShouldAutomaticallyUpdateResponse:(id)a0;
- (void).cxx_destruct;
- (void)hearingAidReachabilityDidChange;
- (void)routingController:(id)a0 didFailToPickRouteWithError:(id)a1;
- (void)_collapseAllGroups;
- (void)groupSessionDidConnect:(id)a0;
- (void)viewDidMoveToWindow:(id)a0 shouldAppearOrDisappear:(BOOL)a1;
- (id)_displayAsPickedRoutesInRoutes:(id)a0;
- (BOOL)handleSelectedRoutingViewItem:(id)a0 operation:(long long)a1;
- (void)updateVendorSpecificGroupExpandedRecordFor:(id)a0;
- (void)vendorSpecificCellDidTapToExpand:(id)a0;
- (void)groupSessionDiscovery:(id)a0 activeSessionDidChange:(id)a1;
- (void)hearingAidConnectionDidChange;
- (void)_displayGroupSessionAlertWithTitle:(id)a0 body:(id)a1 confirmTitle:(id)a2 cancelTitle:(id)a3 completion:(id /* block */)a4;
- (void)selectRoutes:(id)a0 operation:(long long)a1 routingViewItem:(id)a2;
- (long long)subtitleAccessoryForItem:(id)a0 nowPlayingInfo:(id)a1;
- (void)handleGroupSessionJoinWithPickedRoute:(id)a0;
- (id)_createRoutingViewItemsForUpdate:(id)a0;
- (id)symbolNameForVendorSpecificRoute:(id)a0;
- (void)applyVendorSpecificGroupExpandedRecord:(id)a0;
- (void)updateVendorSpecificCell:(id)a0 forIndexPath:(id)a1;
- (void)updateExpandedGroups;
- (BOOL)routesContainSplitterCapableRoute:(id)a0;
- (void)sessionDidDisconnect:(id)a0;
- (void)viewDidDisappear:(BOOL)a0;
- (void)_setNeedsRouteDiscoveryModeUpdate;
- (void)_configureVolumeForUpdate:(id)a0 volumeCapableRoutes:(id *)a1 volumeController:(id *)a2;
- (void)_enqueueUpdate:(id)a0;
- (BOOL)isInVehicle;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (void)updateVendorSpecificCustomRowCell:(id)a0 forIndexPath:(id)a1;
- (void)fetchAvailableRoutesWithCompletionHandler:(id /* block */)a0;

@end