From d2b5e67938c27005861ae8914784a8e1cafb9453 Mon Sep 17 00:00:00 2001 From: daniel Date: Wed, 4 Feb 2026 09:17:03 -0800 Subject: [PATCH] added a much needed pause button to FLEXSystemLogViewController --- .../SystemLog/FLEXSystemLogViewController.m | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Classes/GlobalStateExplorers/SystemLog/FLEXSystemLogViewController.m b/Classes/GlobalStateExplorers/SystemLog/FLEXSystemLogViewController.m index 0b5cfed5ce..46388157c2 100644 --- a/Classes/GlobalStateExplorers/SystemLog/FLEXSystemLogViewController.m +++ b/Classes/GlobalStateExplorers/SystemLog/FLEXSystemLogViewController.m @@ -23,6 +23,8 @@ @interface FLEXSystemLogViewController () @property (nonatomic, readonly) FLEXMutableListSection *logMessages; @property (nonatomic, readonly) id logController; +@property (nonatomic) BOOL isPaused; +@property (nonatomic, strong) UIBarButtonItem *pauseButton; @end @@ -121,13 +123,19 @@ - (void)viewDidLoad { target:self action:@selector(scrollToLastRow) ]; + self.pauseButton = [[UIBarButtonItem alloc] + initWithImage:[UIImage systemImageNamed:@"pause.fill"] + style:UIBarButtonItemStylePlain + target:self + action:@selector(togglePause) + ]; UIBarButtonItem *settings = [UIBarButtonItem flex_itemWithImage:FLEXResources.gearIcon target:self action:@selector(showLogSettings) ]; - [self addToolbarItems:@[scrollDown, settings]]; + [self addToolbarItems:@[scrollDown, self.pauseButton, settings]]; } - (void)viewWillAppear:(BOOL)animated { @@ -170,6 +178,10 @@ - (void)viewWillAppear:(BOOL)animated { #pragma mark - Private - (void)handleUpdateWithNewMessages:(NSArray *)newMessages { + if (self.isPaused) { + return; + } + self.title = [self.class globalsEntryTitle:FLEXGlobalsRowSystemLog]; [self.logMessages mutate:^(NSMutableArray *list) { @@ -198,6 +210,12 @@ - (void)scrollToLastRow { } } +- (void)togglePause { + self.isPaused = !self.isPaused; + UIImage *newIcon = self.isPaused ? [UIImage systemImageNamed:@"play.fill"] : [UIImage systemImageNamed:@"pause.fill"]; + self.pauseButton.image = newIcon; +} + - (void)showLogSettings { NSUserDefaults *defaults = NSUserDefaults.standardUserDefaults; BOOL disableOSLog = defaults.flex_disableOSLog;