Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/packages
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1cb2148
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cd4fd61
Choose a head ref
  • 4 commits
  • 17 files changed
  • 3 contributors

Commits on Jan 28, 2026

  1. [image_picker] Transparent pressing on iOS 26 (#173453) (#10533)

    Issue: On iOS, taps on the camera confirmation bar (“Use Photo” / “Retake”) were leaking through UIImagePickerController and dismissing underlying UI (e.g., bottom sheets) — a system touch-through regression reported on iOS 26 and some 18.x devices.
    
    Same codebase, the following beharvious is on ios 18:
    https://github.com/user-attachments/assets/c3989a40-e6fd-4e2c-9053-3b0accea6f46
    
    The following behavious is on ios 26:
    https://github.com/user-attachments/assets/71afd88f-39d7-4b4e-8faf-a736997604af
    
    After comment out the line 525 (Navigator.of(context).pop();) to keep the dialog after taking image from camera, we could reproduce the issue in example. 
    
    From the video on ios 18, we can see the the dialog always there no matter we cancel, use photo or retake+cancel. 
    
    On ios 26, when we cancel, we can see the dialog is still there, but when we use photo or retake+cancel and then the camera screen dismiss animation finished, the dialog got dismissed. This behavious is different to ios 18 and this is because the tap pass through to flutter layout on outside of the dialog.
    
    What I changed: In `packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m`, when presenting the camera picker I now create a transparent, high-level `UIWindow` to absorb background touches and restore the previous key window once the picker finishes or is cancelled. This blocks taps pass through without altering Flutter-side UX.
    
    Fixes: flutter/flutter#173453
    
    ## Pre-Review Checklist
    celvinren authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    e08de87 View commit details
    Browse the repository at this point in the history
  2. [camera_android_camerax] Improve error messages when image capture fa…

    …ils (#10846)
    
    Sends camera errors back to the developer via the `onCameraError` callback stream when the camera fails to take a picture to help developers better handle encountering issues while the user is taking a picture.
    
    Fixes flutter/flutter#153091.
    
    ## Pre-Review Checklist
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    camsim99 authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    0f835ef View commit details
    Browse the repository at this point in the history
  3. [camera_android_camerax] Improve documentation on cameraId parameter (

    #10844)
    
    Clarifies what `cameraId` is used for in each of the plugin methods.
    
    Fixes flutter/flutter#126270.
    
    ## Pre-Review Checklist
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    camsim99 authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    dd5ea0d View commit details
    Browse the repository at this point in the history
  4. [quick_actions_ios] Migrate XCTest to Swift Testing (#10767)

    Part of flutter/flutter#180787
    
    ```
    ◇ Test run started.
    ↳ Testing Library Version: 102 (arm64-apple-ios13.0-simulator)
    ◇ Suite QuickActionsPluginTests started.
    ◇ Test applicationDidBecomeActiveLaunchWithShortcut() started.
    ◇ Test handleMethodCallClearShortcutItems() started.
    ◇ Test applicationDidBecomeActiveLaunchWithoutShortcut() started.
    ◇ Test applicationPerformActionForShortcutItem() started.
    ◇ Test applicationDidBecomeActiveLaunchWithShortcutBecomeActiveTwice() started.
    ◇ Test applicationDidFinishLaunchingWithOptionsLaunchWithoutShortcut() started.
    ◇ Test handleMethodCallSetShortcutItems() started.
    ◇ Test applicationDidFinishLaunchingWithOptionsLaunchWithShortcut() started.
    ✔ Test applicationDidBecomeActiveLaunchWithShortcutBecomeActiveTwice() passed after 0.003 seconds.
    ✔ Test applicationDidBecomeActiveLaunchWithShortcut() passed after 0.003 seconds.
    ✔ Test applicationPerformActionForShortcutItem() passed after 0.003 seconds.
    ✔ Test applicationDidFinishLaunchingWithOptionsLaunchWithShortcut() passed after 0.003 seconds.
    ✔ Test applicationDidFinishLaunchingWithOptionsLaunchWithoutShortcut() passed after 0.003 seconds.
    ✔ Test handleMethodCallSetShortcutItems() passed after 0.003 seconds.
    ✔ Test handleMethodCallClearShortcutItems() passed after 0.003 seconds.
    ✔ Test applicationDidBecomeActiveLaunchWithoutShortcut() passed after 0.003 seconds.
    ✔ Suite QuickActionsPluginTests passed after 0.025 seconds.
    ✔ Test run with 8 tests passed after 0.026 seconds.
    ```
    https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8692855180982743569/+/u/Run_package_tests/native_test/stdout
    
    Adding CHANGELOG override per #10761 (comment)
    
    ## Pre-Review Checklist
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    jmagman authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    cd4fd61 View commit details
    Browse the repository at this point in the history
Loading