[camera]remove QueueHelper class (#4983)

diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md
index 9ef626a..c088bd5 100644
--- a/packages/camera/camera/CHANGELOG.md
+++ b/packages/camera/camera/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Minor iOS internal code cleanup related to queue helper functions.  
+
 ## 0.9.4+14
 
 * Restores compatibility with Flutter 2.5 and 2.8.
diff --git a/packages/camera/camera/example/ios/Runner.xcodeproj/project.pbxproj b/packages/camera/camera/example/ios/Runner.xcodeproj/project.pbxproj
index 5f788fc..8c102bf 100644
--- a/packages/camera/camera/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/camera/camera/example/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 46;
+	objectVersion = 50;
 	objects = {
 
 /* Begin PBXBuildFile section */
@@ -20,7 +20,7 @@
 		97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
 		97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
 		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
-		E01EE4A82799F3A5008C1950 /* QueueHelperTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E01EE4A72799F3A5008C1950 /* QueueHelperTests.m */; };
+		E01EE4A82799F3A5008C1950 /* QueueUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E01EE4A72799F3A5008C1950 /* QueueUtilsTests.m */; };
 		E032F250279F5E94009E9028 /* CameraCaptureSessionQueueRaceConditionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E032F24F279F5E94009E9028 /* CameraCaptureSessionQueueRaceConditionTests.m */; };
 		E04F108627A87CA600573D0C /* FLTSavePhotoDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E04F108527A87CA600573D0C /* FLTSavePhotoDelegateTests.m */; };
 		E071CF7227B3061B006EF3BA /* FLTCamPhotoCaptureTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E071CF7127B3061B006EF3BA /* FLTCamPhotoCaptureTests.m */; };
@@ -83,7 +83,7 @@
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		9C5CC6CAD53AD388B2694F3A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
 		A24F9E418BA48BCC7409B117 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
-		E01EE4A72799F3A5008C1950 /* QueueHelperTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QueueHelperTests.m; sourceTree = "<group>"; };
+		E01EE4A72799F3A5008C1950 /* QueueUtilsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QueueUtilsTests.m; sourceTree = "<group>"; };
 		E032F24F279F5E94009E9028 /* CameraCaptureSessionQueueRaceConditionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CameraCaptureSessionQueueRaceConditionTests.m; sourceTree = "<group>"; };
 		E04F108527A87CA600573D0C /* FLTSavePhotoDelegateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FLTSavePhotoDelegateTests.m; sourceTree = "<group>"; };
 		E071CF7127B3061B006EF3BA /* FLTCamPhotoCaptureTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FLTCamPhotoCaptureTests.m; sourceTree = "<group>"; };
@@ -131,7 +131,7 @@
 				E04F108527A87CA600573D0C /* FLTSavePhotoDelegateTests.m */,
 				E071CF7127B3061B006EF3BA /* FLTCamPhotoCaptureTests.m */,
 				E071CF7327B31DE4006EF3BA /* FLTCamSampleBufferTests.m */,
-				E01EE4A72799F3A5008C1950 /* QueueHelperTests.m */,
+				E01EE4A72799F3A5008C1950 /* QueueUtilsTests.m */,
 				E487C85F26D686A10034AC92 /* CameraPreviewPauseTests.m */,
 				F6EE622E2710A6FC00905E4A /* MockFLTThreadSafeFlutterResult.m */,
 				F63F9EED27143B19002479BF /* MockFLTThreadSafeFlutterResult.h */,
@@ -413,7 +413,7 @@
 				E0C6E2022770F01A00EA6AA3 /* ThreadSafeEventChannelTests.m in Sources */,
 				E0C6E2012770F01A00EA6AA3 /* ThreadSafeTextureRegistryTests.m in Sources */,
 				E0C6E2002770F01A00EA6AA3 /* ThreadSafeMethodChannelTests.m in Sources */,
-				E01EE4A82799F3A5008C1950 /* QueueHelperTests.m in Sources */,
+				E01EE4A82799F3A5008C1950 /* QueueUtilsTests.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/packages/camera/camera/example/ios/RunnerTests/QueueHelperTests.m b/packages/camera/camera/example/ios/RunnerTests/QueueUtilsTests.m
similarity index 84%
rename from packages/camera/camera/example/ios/RunnerTests/QueueHelperTests.m
rename to packages/camera/camera/example/ios/RunnerTests/QueueUtilsTests.m
index c5f377f..de11b4f 100644
--- a/packages/camera/camera/example/ios/RunnerTests/QueueHelperTests.m
+++ b/packages/camera/camera/example/ios/RunnerTests/QueueUtilsTests.m
@@ -5,20 +5,20 @@
 @import camera;
 @import XCTest;
 
-@interface QueueHelperTests : XCTestCase
+@interface QueueUtilsTests : XCTestCase
 
 @end
 
-@implementation QueueHelperTests
+@implementation QueueUtilsTests
 
 - (void)testShouldStayOnMainQueueIfCalledFromMainQueue {
   XCTestExpectation *expectation =
       [self expectationWithDescription:@"Block must be run on the main queue."];
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     if (NSThread.isMainThread) {
       [expectation fulfill];
     }
-  }];
+  });
   [self waitForExpectationsWithTimeout:1 handler:nil];
 }
 
@@ -26,11 +26,11 @@
   XCTestExpectation *expectation =
       [self expectationWithDescription:@"Block must be run on the main queue."];
   dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-    [QueueHelper ensureToRunOnMainQueue:^{
+    FLTEnsureToRunOnMainQueue(^{
       if (NSThread.isMainThread) {
         [expectation fulfill];
       }
-    }];
+    });
   });
   [self waitForExpectationsWithTimeout:1 handler:nil];
 }
diff --git a/packages/camera/camera/ios/Classes/CameraPlugin.m b/packages/camera/camera/ios/Classes/CameraPlugin.m
index fcea190..634aa69 100644
--- a/packages/camera/camera/ios/Classes/CameraPlugin.m
+++ b/packages/camera/camera/ios/Classes/CameraPlugin.m
@@ -13,7 +13,7 @@
 #import "FLTThreadSafeFlutterResult.h"
 #import "FLTThreadSafeMethodChannel.h"
 #import "FLTThreadSafeTextureRegistry.h"
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @interface CameraPlugin ()
 @property(readonly, nonatomic) FLTThreadSafeTextureRegistry *registry;
diff --git a/packages/camera/camera/ios/Classes/CameraPlugin.modulemap b/packages/camera/camera/ios/Classes/CameraPlugin.modulemap
index 529c658..a23848a 100644
--- a/packages/camera/camera/ios/Classes/CameraPlugin.modulemap
+++ b/packages/camera/camera/ios/Classes/CameraPlugin.modulemap
@@ -14,6 +14,6 @@
     header "FLTThreadSafeFlutterResult.h"
     header "FLTThreadSafeMethodChannel.h"
     header "FLTThreadSafeTextureRegistry.h"
-    header "QueueHelper.h"
+    header "QueueUtils.h"
   }
 }
diff --git a/packages/camera/camera/ios/Classes/FLTCam.m b/packages/camera/camera/ios/Classes/FLTCam.m
index 31a9dec..669ce33 100644
--- a/packages/camera/camera/ios/Classes/FLTCam.m
+++ b/packages/camera/camera/ios/Classes/FLTCam.m
@@ -5,7 +5,7 @@
 #import "FLTCam.h"
 #import "FLTCam_Test.h"
 #import "FLTSavePhotoDelegate.h"
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @import CoreMotion;
 #import <libkern/OSAtomic.h>
diff --git a/packages/camera/camera/ios/Classes/FLTThreadSafeEventChannel.m b/packages/camera/camera/ios/Classes/FLTThreadSafeEventChannel.m
index 02a36f1..46941bb 100644
--- a/packages/camera/camera/ios/Classes/FLTThreadSafeEventChannel.m
+++ b/packages/camera/camera/ios/Classes/FLTThreadSafeEventChannel.m
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #import "FLTThreadSafeEventChannel.h"
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @interface FLTThreadSafeEventChannel ()
 @property(nonatomic, strong) FlutterEventChannel *channel;
@@ -21,10 +21,10 @@
 
 - (void)setStreamHandler:(NSObject<FlutterStreamHandler> *)handler
               completion:(void (^)(void))completion {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     [self.channel setStreamHandler:handler];
     completion();
-  }];
+  });
 }
 
 @end
diff --git a/packages/camera/camera/ios/Classes/FLTThreadSafeFlutterResult.m b/packages/camera/camera/ios/Classes/FLTThreadSafeFlutterResult.m
index 821d756..58c2e78 100644
--- a/packages/camera/camera/ios/Classes/FLTThreadSafeFlutterResult.m
+++ b/packages/camera/camera/ios/Classes/FLTThreadSafeFlutterResult.m
@@ -4,7 +4,7 @@
 
 #import "FLTThreadSafeFlutterResult.h"
 #import <Foundation/Foundation.h>
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @implementation FLTThreadSafeFlutterResult {
 }
@@ -47,9 +47,9 @@
  * Sends result to flutterResult on the main thread.
  */
 - (void)send:(id _Nullable)result {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     self.flutterResult(result);
-  }];
+  });
 }
 
 @end
diff --git a/packages/camera/camera/ios/Classes/FLTThreadSafeMethodChannel.m b/packages/camera/camera/ios/Classes/FLTThreadSafeMethodChannel.m
index ad4da87..5b29b70 100644
--- a/packages/camera/camera/ios/Classes/FLTThreadSafeMethodChannel.m
+++ b/packages/camera/camera/ios/Classes/FLTThreadSafeMethodChannel.m
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #import "FLTThreadSafeMethodChannel.h"
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @interface FLTThreadSafeMethodChannel ()
 @property(nonatomic, strong) FlutterMethodChannel *channel;
@@ -20,9 +20,9 @@
 }
 
 - (void)invokeMethod:(NSString *)method arguments:(id)arguments {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     [self.channel invokeMethod:method arguments:arguments];
-  }];
+  });
 }
 
 @end
diff --git a/packages/camera/camera/ios/Classes/FLTThreadSafeTextureRegistry.m b/packages/camera/camera/ios/Classes/FLTThreadSafeTextureRegistry.m
index 5eb2443..349b89f 100644
--- a/packages/camera/camera/ios/Classes/FLTThreadSafeTextureRegistry.m
+++ b/packages/camera/camera/ios/Classes/FLTThreadSafeTextureRegistry.m
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #import "FLTThreadSafeTextureRegistry.h"
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 @interface FLTThreadSafeTextureRegistry ()
 @property(nonatomic, strong) NSObject<FlutterTextureRegistry> *registry;
@@ -21,21 +21,21 @@
 
 - (void)registerTexture:(NSObject<FlutterTexture> *)texture
              completion:(void (^)(int64_t))completion {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     completion([self.registry registerTexture:texture]);
-  }];
+  });
 }
 
 - (void)textureFrameAvailable:(int64_t)textureId {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     [self.registry textureFrameAvailable:textureId];
-  }];
+  });
 }
 
 - (void)unregisterTexture:(int64_t)textureId {
-  [QueueHelper ensureToRunOnMainQueue:^{
+  FLTEnsureToRunOnMainQueue(^{
     [self.registry unregisterTexture:textureId];
-  }];
+  });
 }
 
 @end
diff --git a/packages/camera/camera/ios/Classes/QueueHelper.h b/packages/camera/camera/ios/Classes/QueueUtils.h
similarity index 61%
rename from packages/camera/camera/ios/Classes/QueueHelper.h
rename to packages/camera/camera/ios/Classes/QueueUtils.h
index dc73732..a7e22da 100644
--- a/packages/camera/camera/ios/Classes/QueueHelper.h
+++ b/packages/camera/camera/ios/Classes/QueueUtils.h
@@ -7,17 +7,13 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /// Queue-specific context data to be associated with the capture session queue.
-extern const char *FLTCaptureSessionQueueSpecific;
-
-/// A class that contains dispatch queue related helper functions.
-@interface QueueHelper : NSObject
+extern const char* FLTCaptureSessionQueueSpecific;
 
 /// Ensures the given block to be run on the main queue.
-/// If caller site is already on the main queue, the block will be run synchronously. Otherwise, the
-/// block will be dispatched asynchronously to the main queue.
+/// If caller site is already on the main queue, the block will be run
+/// synchronously. Otherwise, the block will be dispatched asynchronously to the
+/// main queue.
 /// @param block the block to be run on the main queue.
-+ (void)ensureToRunOnMainQueue:(void (^)(void))block;
-
-@end
+extern void FLTEnsureToRunOnMainQueue(dispatch_block_t block);
 
 NS_ASSUME_NONNULL_END
diff --git a/packages/camera/camera/ios/Classes/QueueHelper.m b/packages/camera/camera/ios/Classes/QueueUtils.m
similarity index 75%
rename from packages/camera/camera/ios/Classes/QueueHelper.m
rename to packages/camera/camera/ios/Classes/QueueUtils.m
index 2cef7b6..1fd54cd 100644
--- a/packages/camera/camera/ios/Classes/QueueHelper.m
+++ b/packages/camera/camera/ios/Classes/QueueUtils.m
@@ -2,18 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "QueueHelper.h"
+#import "QueueUtils.h"
 
 const char *FLTCaptureSessionQueueSpecific = "capture_session_queue";
 
-@implementation QueueHelper
-
-+ (void)ensureToRunOnMainQueue:(void (^)(void))block {
+void FLTEnsureToRunOnMainQueue(dispatch_block_t block) {
   if (!NSThread.isMainThread) {
     dispatch_async(dispatch_get_main_queue(), block);
   } else {
     block();
   }
 }
-
-@end