luxlabs header browser preview


@class NSLock, NSDate, NSDictionary, NSObject, PowerUIMLTwoStageModelPredictor, NSDistributedNotificationCenter, ACCConnectionInfo, NSString, PowerUIIntelligenceManager, PowerUITrialManager, _CDContextualKeyPath, NSXPCListener, PowerUIBatteryMitigationManager, NSArray, PowerUIBDCDataManager, NSNumber, PowerUIChargingController, PowerUIAnalyticsManager;
@protocol OS_dispatch_queue, _DKKnowledgeSaving, OS_os_log, OS_xpc_object, OS_dispatch_source, _DKKnowledgeQuerying, _CDLocalContext;

@interface PowerUISmartChargeManager : NSObject <NSXPCListenerDelegate, PowerUISignalMonitorDelegate, PowerUISmartChargeManagingPrivate, ACCConnectionInfoDelegateProtocol, PowerUISmartChargeManaging, PowerUINotificationManagerClient>

@property (retain, nonatomic) id<_CDLocalContext> context;
@property (retain, nonatomic) id<_DKKnowledgeQuerying, _DKKnowledgeSaving> knowledgeStore;
@property (retain, nonatomic) NSString *defaultsDomain;
@property (copy, nonatomic) id /* block */ beforeBatteryCallback;
@property (copy, nonatomic) id /* block */ afterBatteryCallback;
@property (retain, nonatomic) _CDContextualKeyPath *checkpointKP;
@property (retain, nonatomic) NSDistributedNotificationCenter *notificationCenter;
@property (retain, nonatomic) NSObject<OS_os_log> *log;
@property (retain, nonatomic) NSObject<OS_os_log> *mcmLog;
@property (nonatomic) unsigned long long checkpoint;
@property (nonatomic) unsigned int service;
@property (nonatomic) unsigned long long currentState;
@property (nonatomic) BOOL enabled;
@property (retain) NSDate *disabledUntilDate;
@property (nonatomic) BOOL temporarilyDisabled;
@property (retain, nonatomic) NSDate *_fullChargeDeadline;
@property (retain, nonatomic) NSDate *uiDeadline;
@property (retain, nonatomic) NSDictionary *signalDeadline;
@property (retain, nonatomic) NSDate *lastComputedSignalDeadline;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *xpcCallbackQueue;
@property (retain, nonatomic) NSObject<OS_dispatch_source> *timer;
@property (nonatomic) int powerlogToken;
@property (retain, nonatomic) NSObject<OS_xpc_object> *bdcConnection;
@property (nonatomic) BOOL _hasLegitimateUsage;
@property (nonatomic) int lastBatteryLevel;
@property (nonatomic) int lastPluginStatus;
@property (nonatomic) int lastFullyCharged;
@property (nonatomic) BOOL lastChargerWasWireless;
@property (retain, nonatomic) NSDate *lastInterruptedTime;
@property (retain, nonatomic) NSNumber *engagementsLastMonthBucket;
@property (retain, nonatomic) NSNumber *lastReportedNumberOfPluginEvents;
@property (retain, nonatomic) NSNumber *medianPluginLength;
@property (nonatomic) double empiricalTimeToFullChargeDurationMinutes;
@property (nonatomic) long long deadlineSignalID;
@property (nonatomic) BOOL signalsIgnored;
@property (nonatomic) unsigned long long predictorType;
@property (nonatomic) long long previousDecisionMakerID;
@property (retain, nonatomic) NSNumber *lastNonEngagementSignalID;
@property (retain, nonatomic) NSDate *previousDecisionMakerDate;
@property (retain, nonatomic) PowerUIMLTwoStageModelPredictor *modelTwoStagePredictor;
@property (retain, nonatomic) PowerUIIntelligenceManager *intelligenceManager;
@property (retain, nonatomic) NSArray *monitors;
@property (retain) NSDictionary *powerLogStatus;
@property (retain) NSDictionary *previousPowerLogStatus;
@property (retain) NSDate *engagementTimeOverride;
@property (retain) NSDate *fullChargeDeadlineOverride;
@property (retain) NSDate *repeatEngagementOverrideEndDate;
@property (nonatomic) BOOL overrideAllSignals;
@property (nonatomic) BOOL encounteredTLCDuringTopOff;
@property (nonatomic) BOOL isDesktopDevice;
@property (retain, nonatomic) NSDate *lastDesktopModeChangeDate;
@property (retain, nonatomic) PowerUIBatteryMitigationManager *batteryMitigationManager;
@property (retain, nonatomic) PowerUIBDCDataManager *bdcDataManager;
@property (retain, nonatomic) NSXPCListener *listener;
@property (retain, nonatomic) PowerUITrialManager *trialManager;
@property BOOL remoteOBCEngaged;
@property (retain, nonatomic) PowerUIChargingController *chargingController;
@property (retain, nonatomic) PowerUIAnalyticsManager *analyticsManager;
@property unsigned long long mcmCurrentState;
@property (retain, nonatomic) ACCConnectionInfo *connectionInfoProvider;
@property (retain, nonatomic) NSObject<OS_dispatch_source> *mcmFidgetMitigationTimer;
@property BOOL isChargePackConnected;
@property BOOL mcmForbidsCharging;
@property (retain) NSString *currentChargePackNFCConnectionUUID;
@property (retain) NSString *currentChargePackInductiveConnectionUUID;
@property (nonatomic) unsigned long long numberOfTimesMCMNotificationWasDisplayed;
@property (nonatomic) BOOL OBCReengagementEvaluated;
@property (nonatomic) unsigned long long deocFeatureState;
@property (retain, nonatomic) NSLock *deocCurrentStatusLock;
@property (retain, nonatomic) NSDate *deocAllowInflowUntilDate;
@property (nonatomic) BOOL manualChargeLimitEnabled;
@property unsigned long long chargeLimitToken;
@property unsigned char mclTargetSoC;
@property (nonatomic) BOOL becameOBCEligible;
@property (nonatomic) BOOL reachedTargetSoC;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)manager;

- (void)disableCharging;
- (id)readNumberForPreferenceKey:(id)a0;
- (void)resetDeviceHasLegitimateUsage;
- (void)setDate:(id)a0 forPreferenceKey:(id)a1;
- (void)resetState;
- (void)isMCLCurrentlyEnabledWithHandler:(id /* block */)a0;
- (void)sendBDCData:(id)a0 withMessage:(id)a1;
- (void)recordDEoCAnalytics:(id)a0;
- (void)pluginTimelineAddEvent:(id)a0 atDate:(id)a1 withBatteryLevel:(unsigned long long)a2;
- (unsigned long long)currentChargeLimit;
- (void)listMonitorSignals;
- (id)lastAcquiredLocation;
- (unsigned long long)projectedBatteryLevelForDuration:(unsigned long long)a0 withInitialBatteryLevel:(unsigned long long)a1;
- (BOOL)isCECSupported;
- (id)timeStringFromDate:(id)a0;
- (void)isOBCEngagedOrChargeLimitedWithHandler:(id /* block */)a0;
- (void)monitor:(id)a0 maySuggestNewFullChargeDeadline:(id)a1;
- (void)enableCharging;
- (BOOL)deviceHasEnoughPluggedInTime;
- (id)computeSignalDeadline;
- (void)smartChargingUIStateWithHandler:(id /* block */)a0;
- (void)cleanupPluginHistoryWithActivity:(id)a0;
- (void)stopAllMonitoring;
- (void)currentLeewayWithHandler:(id /* block */)a0;
- (void)resetEngagementOverrideWithHandler:(id /* block */)a0;
- (void)enableDEoC;
- (void)reportMCMStatusWithBatteryLevel:(int)a0;
- (void)handleInternalCarryPromptEvent;
- (double)durationToFullChargeFromBatteryLevel:(unsigned long long)a0;
- (BOOL)shouldOBCRoutineReengage;
- (BOOL)isExternalConnected;
- (double)durationToFullChargeFromBatteryLevel:(unsigned long long)a0 includeTLCDelay:(BOOL)a1;
- (id)shouldDisableChargingAsOfDate:(id)a0 atBatteryLevel:(unsigned long long)a1 overrideAllSignals:(BOOL)a2 withPredictor:(id)a3 bypassSaved:(BOOL)a4;
- (id)constructAnalyticsStatus;
- (void)evaluateIfDEoCDevice;
- (void)promptBDCToQueryCurrentState;
- (void)isCECCurrentlyEnabledWithHandler:(id /* block */)a0;
- (id)shouldDisableChargingAtBatteryLevel:(unsigned long long)a0 withPredictor:(id)a1;
- (id)recentEngagements;
- (double)totalTemporarilyDisabledHours:(id)a0 withEngagements:(id)a1 withPluginEnd:(id)a2;
- (BOOL)isMCLSupported;
- (id)genericOBCFailureNotification:(id)a0;
- (void)recordAnalytics;
- (double)periodicCheckDuration;
- (void)engageManualChargeLimit;
- (void)handleXPCActivityOnBoot;
- (void)reportHistoricalEngagements;
- (unsigned long long)currentDecisionMaker;
- (void)dispatchAlarmAfter:(long long)a0 withName:(id)a1;
- (void)monitorMayInvalidateDEoCCache:(id)a0;
- (BOOL)deviceWasRecentlyConnectedToCharger;
- (BOOL)isDEoCSupported;
- (void)incomingBDCRequest:(id)a0;
- (void)recomputeEmpiricalTimeToFullCharge;
- (void)isCECSupportedWithHandler:(id /* block */)a0;
- (void)client:(id)a0 setMCMState:(unsigned long long)a1 withHandler:(id /* block */)a2;
- (id)desktopModeOverride;
- (void)client:(id)a0 setState:(unsigned long long)a1 withHandler:(id /* block */)a2;
- (void)legacy_isOBCEngagedWithHandler:(id /* block */)a0;
- (void)forceDEoCReevaluation;
- (BOOL)deviceHasOverriddenLegitimateUsageDetection;
- (void)updateChargingTimeSaved;
- (void)isDEoCCurrentlyEnabledWithHandler:(id /* block */)a0;
- (id)readStringForPreferenceKey:(id)a0;
- (BOOL)listener:(id)a0 shouldAcceptNewConnection:(id)a1;
- (void)isMCMCurrentlyEnabledWithHandler:(id /* block */)a0;
- (void)sendHistoricalDEoCEngagementEventToCA:(id)a0;
- (id)defaultDateToDisableUntilGivenDate:(id)a0;
- (int)numberOfDEoCEligibleChargeSessions;
- (void)clearPluginTimeline;
- (void)enterDevelopmentMode;
- (void)getDEoCPredictionsWithHandler:(id /* block */)a0;
- (void)isOBCSupportedWithHandler:(id /* block */)a0;
- (void)setNumber:(id)a0 forPreferenceKey:(id)a1;
- (void)_submitEngagementEventWithBatteryLevel:(id)a0 eventType:(int)a1;
- (void)recallPeriodicCheck;
- (void)setTemporarilyDisabled:(BOOL)a0 until:(id)a1;
- (id)updateAnalyticsWithPluginMetrics:(id)a0 withBatteryLevel:(int)a1;
- (void)evaluateIfDesktopDevice;
- (void)fullChargeDeadlineWithHandler:(id /* block */)a0;
- (void)postOBCNotificationWithTopOff:(BOOL)a0;
- (id)uiDeadlineFromFullChargeDeadline:(id)a0 atDate:(id)a1;
- (void)startAllMonitoring;
- (void)client:(id)a0 setCECState:(unsigned long long)a1 withHandler:(id /* block */)a2;
- (void)cacheCurrentDEoCBehaviorForced:(BOOL)a0;
- (void)setString:(id)a0 forPreferenceKey:(id)a1;
- (void)handleCallback;
- (void)enableMCL;
- (void)reportBatteryHealthMetrics;
- (id)cloakingMetrics:(id)a0 withIdleCheckpoints:(id)a1 withIdleStart:(id)a2 withTopOffStart:(id)a3 withPluginEnd:(id)a4;
- (void)engageFrom:(id)a0 until:(id)a1 repeatUntil:(id)a2 overrideAllSignals:(BOOL)a3 withHandler:(id /* block */)a4;
- (BOOL)isMCMSupported;
- (void)mcmEnableCharging;
- (id)readAndRemoveRecentEngagements;
- (BOOL)shouldDisableChargingOverrideModel:(unsigned long long)a0;
- (id)stringFromInterval:(id)a0;
- (BOOL)deviceWasRecentlyActive;
- (void)client:(id)a0 setChargingStatus:(BOOL)a1 withHandler:(id /* block */)a2;
- (id)mcmActiveNotificationRequest;
- (id)stringFromState:(unsigned long long)a0;
- (void)reportMonthlyData;
- (double)totalTopOffDurationWithTopOffStartCheckpoints:(id)a0 withFullyChargedCheckpoints:(id)a1 withTopOffStart:(id)a2 withFullyChargedDate:(id)a3 withPluginEnd:(id)a4;
- (void)handleNewBatteryLevelForMCL:(int)a0 whileExternalConnected:(BOOL)a1;
- (void)handleCallback:(BOOL)a0;
- (id)chargePrediction:(unsigned long long)a0 fullyCharged:(BOOL)a1 previousCheckpoint:(unsigned long long)a2 predictor:(unsigned long long)a3;
- (unsigned long long)currentModeOfOperation;
- (void)handleTopOffSupervisorEventInternal;
- (void)startFidgetMitigationTimer;
- (void)handleNewBatteryLevel:(int)a0 whileExternalConnected:(BOOL)a1 fullyCharged:(BOOL)a2;
- (void).cxx_destruct;
- (void)clearAllNotificationState;
- (double)idleDurationWithEngagedCheckpoints:(id)a0 withTopOffStartCheckpoints:(id)a1 withDisabledCheckpoints:(id)a2 withTopOffStart:(id)a3 withIdleStart:(id)a4 withTemporarilyDisabledStart:(id)a5 withPluginEnd:(id)a6;
- (void)accessoryConnectionDetached:(id)a0;
- (void)addPowerLogEventForCheckpoint:(unsigned long long)a0 decisionSignalID:(id)a1 decisionDate:(id)a2;
- (void)powerStateChangedCallback;
- (void)cecFullChargeDeadlineWithHandler:(id /* block */)a0;
- (void)accessoryConnectionAttached:(id)a0 type:(int)a1;
- (void)cleanupOverrides;
- (void)handleNotificationResponse:(id)a0;
- (void)sendDEoCAnalyticsToCA:(id)a0;
- (void)disableDEoC;
- (void)updateNotificationSettings:(BOOL)a0;
- (id)eligibleEngagementIntervalFromTimelineEvents:(id)a0;
- (id)adjustedFullChargeDeadlineWithSignals:(id)a0 andBatteryMitigationAdvancement:(double)a1 withDesktopMode:(BOOL)a2 withFullChargeDeadline:(id)a3 withResult:(id)a4;
- (void)evaluateIfDesktopDeviceForced:(BOOL)a0;
- (void)client:(id)a0 setDEoCState:(unsigned long long)a1 withHandler:(id /* block */)a2;
- (id)smartTopOffFailureNotificationAtBatteryLevel:(int)a0 withDate:(id)a1;
- (void)setCheckpoint:(unsigned long long)a0 withSelector:(SEL)a1;
- (void)statusWithHandler:(id /* block */)a0;
- (id)fullChargeDeadline;
- (void)batteryGaugingStatusWithHandler:(id /* block */)a0;
- (id)ttrURLforGenericFailure:(id)a0;
- (id)checkpointNameFromCheckpoint:(unsigned long long)a0;
- (BOOL)deviceHasSeveralInteractions;
- (void)reportAggDKeys:(id)a0;
- (id)initWithDefaultsDomain:(id)a0 knowledgeStore:(id)a1 contextStore:(id)a2 beforeHandlingBatteryChangeCallback:(id /* block */)a3 afterHandlingBatteryChangeCallback:(id /* block */)a4;
- (void)accessoryNFCConnectionCallback:(id)a0;
- (void)powerLogStatusWithHandler:(id /* block */)a0;
- (id)setFullChargeDeadline:(id)a0 withOCVMitigationWaitTime:(double)a1;
- (unsigned long long)controllerStateFromCheckpoint:(unsigned long long)a0;
- (BOOL)watchIsInternalAndCarrySwitchDisabled;
- (void)forceModelUpdate;
- (void)isSmartChargingCurrentlyEnabledWithHandler:(id /* block */)a0;
- (void)resetDevelopmentMode;
- (void)shouldMCMBeDisplayedWithHandler:(id /* block */)a0;
- (id)stringFromDecisionMaker:(long long)a0 decisionDate:(id)a1;
- (void)addEngagementFromDate:(id)a0 withDuration:(double)a1;
- (id)readDateForPreferenceKey:(id)a0;
- (void)isDEoCSupportedWithHandler:(id /* block */)a0;
- (void)loadCheckpoint;
- (void)requestPeriodicCheck;
- (void)updateDecisionMakerID:(long long)a0 withCheckpoint:(unsigned long long)a1;
- (id)constructDailyStats:(id)a0;
- (void)clearChargeLimit;
- (id)constructAnalyticsStatusFromEvents:(id)a0;
- (void)disableMCL;
- (void)isMCLSupportedWithHandler:(id /* block */)a0;
- (void)loadDefaults;
- (void)registerBDCXPC;
- (unsigned long long)loadChargeLimitToken;
- (void)handleTopOffSupervisorEvent;
- (id)ttrURLforBatteryLevel:(int)a0 withDate:(id)a1;
- (void)handleAlarmEvent:(id)a0;
- (BOOL)isDeviceWithLegitimateUsage;
- (id)dailyStatsFromLastReported:(id)a0;
- (void)simulateCurrentOutputAsOfDate:(id)a0 overrideAllSignals:(BOOL)a1 withHandler:(id /* block */)a2;
- (void)client:(id)a0 setMCLState:(BOOL)a1 withHandler:(id /* block */)a2;
- (void)currentChargeLimitWithHandler:(id /* block */)a0;
- (void)mcmDisableCharging;

@end