simple_native 0.0.21 copy "simple_native: ^0.0.21" to clipboard
simple_native: ^0.0.21 copied to clipboard

A comprehensive Flutter plugin for accessing native device features including Camera (Photos, QR & Barcode), Location, Device Information, and Biometric Authentication.

0.0.20 #

  • Camera (QR & Barcode Scanning) - Android:
    • Fixed camera failure to open (infinite loading spinner) when repeatedly opening/closing the scanning screen by implementing a global camera instance manager and queue (activeInstance and pendingOpenRequests).
    • Fixed silent asynchronous errors by notifying the Flutter UI via MethodChannel in StateCallback.onError().
    • Resolved potential NullPointerExceptions in updatePreview(), createCameraPreview(), and setupImageReader() by adding strict null checks for cameraCaptureSessions and imageDimension.

0.0.19 #

  • Camera (QR & Barcode Scanning) - Android & iOS:
    • Android: Integrated ActivityLifecycleCallbacks to automatically pause and resume the camera in sync with the Activity state, preventing resource leaks.
    • Android: Implemented safe camera switching by waiting for the previous camera's onClosed callback before opening the new camera, eliminating CAMERA_IN_USE errors.
    • Android: Highly optimized screenshot capturing (getBitmap) by moving it to the main thread and triggering it only when a barcode/QR code is successfully detected, saving significant CPU/RAM cycles.
    • Android: Optimized image stream data copying to avoid JNI pixel-by-pixel reads, improving frame pipeline performance.
    • iOS: Prevented main thread UI freezing during camera disposal by running stopRunning() asynchronously in a background thread.
    • iOS: Resolved potential hanging on iOS Simulator during takePicture calls by immediately returning a FlutterError when the camera output is unavailable.
    • Android & iOS: Marked camera resources volatile and added safety guards and null checks to prevent multithreading race conditions.

0.0.18 #

  • Camera (QR & Barcode Scanning):
    • Fixed camera device state, closing, and opening sequence order on Android to prevent potential crashes and resource leaks during state transitions.

0.0.17 #

  • Camera (QR & Barcode Scanning):
    • Added scanWindow parameter to SimpleCameraView to restrict barcode/QR code scanning to a specific rectangular region of interest (ROI) on both Android and iOS.
    • Added setScanWindow method to SimpleCameraController to dynamically update the scan window at runtime.
    • Integrated layout builder in the example app to demonstrate scanning constraint within a yellow bordered box.

0.0.16 #

  • Camera (QR & Barcode Scanning):
    • Added support for simultaneous multi-code detection on both Android and iOS, returning a list of bounding box coordinates mapped to logical screen dimensions.
    • Added support for freezeOnResult parameter to pause/freeze camera preview upon detection.
    • Resolved frame-pipeline latency and coordinate shift issues on freeze-frame by capturing native snapshots (via .getBitmap() on Android and preview layer contexts on iOS) and rendering them as static overlays in Flutter.
    • Optimized Android camera preview scanning thread model (ImageReader background worker) to prevent lag.
    • Added native focus checks (Android's CONTROL_AF_STATE and iOS's isAdjustingFocus) to ensure the camera only freezes on sharp, clear frames.
    • Fixed iOS metadata delegate timeout bug to ensure same-QR codes are scanned correctly when pointing away and back.

0.0.15 #

  • Camera:
    • Synchronized camera loading behavior on iOS with Android by implementing the onCameraReady event.
    • The iOS camera view now correctly detects when the first frame is rendered to dismiss the loadingWidget seamlessly, ensuring a smooth UX without UI flickering.

0.0.14 #

  • Plugin Info:
    • Updated package description in pubspec.yaml to explicitly mention support for Barcode scanning and Biometric Authentication.
  • Camera:
    • Upgraded QR code scanning to support general barcode scanning on both Android and iOS simultaneously. The SimpleCameraResultType now includes a barcode type to distinguish between QR codes and regular barcodes.

0.0.13 #

  • Android:
    • Upgraded com.google.mlkit:barcode-scanning to version 18.3.0 to support Android 16 KB page sizes.
    • Fixed an issue where Face ID (weak biometric) might not prompt on certain Android devices by correctly setting AllowedAuthenticators.

0.0.12 #

  • Biometrics:
    • Breaking Change: Refactored getAvailableBiometric to return SimpleBiometricType directly instead of a String, and removed notEnrolled. It now focuses purely on hardware capabilities (face, fingerprint, iris, notSupported).
    • Added support for iris biometric type on Android.
    • Breaking Change: Refactored authenticate states. notEnrolled is merged into notSupported. The method can now be safely called multiple times sequentially without getting stuck on both Android and iOS.
    • Fixed a bug on Android where authenticate required FragmentActivity on all versions. It now supports the default FlutterActivity.
    • Added a new method openBiometricSettings() to deep-link users directly to the system's biometric enrollment/security settings page on both Android and iOS.
  • Documentation:
    • Updated README.md to reflect the new biometric flow and openBiometricSettings usage.

0.0.11 #

  • Camera:
    • Fixed takePicture returning null on iOS by properly handling async result callback.
    • Improved iOS camera stability: added isSwitching and isDisposed flags to prevent race conditions and crashes during rapid interactions.
    • Implemented explicit stopCamera method on iOS for better resource cleanup.
    • Ensured takePicture returns a valid file path on both Android and iOS.

0.0.10 #

  • SimpleDeviceInfo:
    • Core: Added deviceId to SimpleDeviceInfo.
    • Native: Implemented persistent ID across reinstalls via ANDROID_ID (Android) and Keychain (iOS).

0.0.9 #

  • Location:
    • Fixed location address retrieval.

0.0.8 #

  • Camera:
    • Added cameraPosition parameter to SimpleCameraView to allow selecting the initial camera (front/back).
    • Fixed IllegalStateException: CameraDevice was already closed crash on Android when switching cameras rapidly.
    • Fixed updateAcquireFence: Did not find frame error on Android by properly managing Surface lifecycle.
    • Improved camera resource management and cleanup on both Android and iOS.
    • Added support for mirroring front camera preview on iOS.

0.0.7 #

  • Metadata:
    • Added topics to pubspec.yaml to improve package discoverability on pub.dev.
    • Keywords include: camera, location, device-info, native, plugin.

0.0.5 #

  • Refactor:
    • Merged SimpleCameraConverter functionality into SimpleCameraImage.
    • Added toImage() method to SimpleCameraImage for easy conversion to BMP format.
    • Removed SimpleCameraConverter class.
  • Documentation:
    • Updated README to reflect the API changes and new version.
    • Updated package description in pubspec.yaml to be more professional.

0.0.4 #

  • Camera:
    • Made onResult callback optional in SimpleCameraView.
    • Fixed camera preview orientation issues on iOS.
    • Locked camera view to portrait orientation on both Android and iOS to prevent unwanted rotation.
    • Fixed image stream rotation on iOS (now correctly oriented).
    • Added support for mirroring front camera stream on iOS.
  • Documentation:
    • Updated README with new features and license information.
    • Added BSD 3-Clause License.

0.0.1 #

  • Initial release.
  • Added SimpleCameraView for camera preview and image capture.
  • Added SimpleNative class for accessing native features.
  • Implemented getCurrentLocation to retrieve device coordinates.
  • Implemented getDeviceInfo to retrieve device details.
  • Supported Android and iOS platforms.
3
likes
0
points
240
downloads

Publisher

verified publishertranduc1710.com

Weekly Downloads

A comprehensive Flutter plugin for accessing native device features including Camera (Photos, QR & Barcode), Location, Device Information, and Biometric Authentication.

Homepage

Topics

#camera #location #device-info #native #plugin

License

unknown (license)

Dependencies

flutter, flutter_web_plugins, plugin_platform_interface

More

Packages that depend on simple_native

Packages that implement simple_native