Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major State Refactoring #1551

Merged

Commits on Jun 20, 2023

  1. Split FlutterMapState in to a stateful container widget (FlutterMapSt…

    …ateContainer) and an immutable representation of the state of the map (FlutterMapState)
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    4cd53e8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    41a41af View commit details
    Browse the repository at this point in the history
  3. Move gesture initialisation out of builder and stop passing the whole…

    … FlutterMapStateContainer to InteractionDetector
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    afa3c78 View commit details
    Browse the repository at this point in the history
  4. Minor tidy-ups

    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    f389195 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ff484a1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0746a0b View commit details
    Browse the repository at this point in the history
  7. Reduce MapController API size and simplify gesture code

    - Replaced mapState getter with the various getters which were just
    proxied to MapState.
    - Heavy refactoring (hopefully without changing behaviour) of gesture
      code.
    
    In passing I have simplified
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    8be935b View commit details
    Browse the repository at this point in the history
  8. Remove unnecessary getters now that InteractiveFlags defines convenie…

    …nce methods for checking single flags
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    21ae265 View commit details
    Browse the repository at this point in the history
  9. Fix double tap zoom not working when drag was enabled and prevent pin…

    …ch move when only pinch zoom is enabled
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    5d4298c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b1fba18 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    32d57e0 View commit details
    Browse the repository at this point in the history
  12. Replace http stubbing with an in-memory TileProvider in tests

    This stops the following message from being spammed in tests which was
    caused by a problem with the http mocking:
    
    type 'Null' is not a subtype of type 'Future<HttpClientRequest>'
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    3bc6ca4 View commit details
    Browse the repository at this point in the history
  13. Separate MapOptions from FlutterMapState

    In doing so I noticed that the adaptive boundary options could use a
    refactor and so placed them in a dedicated class which led to a tidy up
    to the boundary code in FlutterMapState.
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    0a9a05f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d5a8acb View commit details
    Browse the repository at this point in the history
  15. Create FrameConstraint and FrameFit abstraction

    FrameConstraint unites the various methods of setting a maximum bounds
    for the map frame. Previously MapOptions had three different concepts
    for setting a max bounds: adaptive bounds, maxBounds and se/nw pan
    boundaries. Adaptive bounds and maxBounds are now
    FrameConstraint.contain whilst sw/ne pan boundaries is replaced by
    FrameConstraint.containCenter.
    
    FrameFit is a replacement for FitBoundsOptions, combinining the options
    with the bounds. This means bounds/boundsOptions now become
    initialFrameFit (since bounds/boundsOptions were actually initial bounds
    and the options for those initial bounds). Additionally this sets up an
    abstraction for different map fits since coordinate fit will be added
    next.
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    8ac52f9 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    d16bc55 View commit details
    Browse the repository at this point in the history
  17. Add fitting by coordinates

    This commit incorporates @jjoelson's coordinate fit implementation in to
    the new FrameFit abstraction.
    
    Co-authored-by: Jonathan Joelson <[email protected]>
    rorystephenson and jjoelson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    dae90c8 View commit details
    Browse the repository at this point in the history
  18. Rename FlutterMapState to FlutterMapFrame, add InteractionOptions col…

    …lection to tidy up options and change how options are propagated in preparation for changing the inherited widget to an inherited model
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    f4d5a04 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    66e508d View commit details
    Browse the repository at this point in the history
  20. Remove FitCoordinates' inside parameter because fitting inside a set …

    …of coordinates doesn't have an unambiguous meaning
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    ced3a03 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    24263d2 View commit details
    Browse the repository at this point in the history
  22. Set constraints that match the old adaptive constraints

    These old adaptive constraints did not prevent the map from going
    outside of the specified bounds, they stopped the center of the map from
    going outside of those bounds. This commit sets the constraints
    appropriately.
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    f5f5735 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    3cbea21 View commit details
    Browse the repository at this point in the history
  24. Use flags/options from InteractionOptions not the old deprecated valu…

    …es, unless InteractiveOptions is not provided
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    b7b5bf2 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    4e60392 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    3e4413c View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    3a0c0bb View commit details
    Browse the repository at this point in the history
  28. Avoid an extra Stack

    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    ccea34a View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    bdae8ef View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    4dedb1c View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    b743773 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    7f0a386 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    4c99df7 View commit details
    Browse the repository at this point in the history
  34. Documentation

    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    cbf26b4 View commit details
    Browse the repository at this point in the history
  35. Use standard deprecations format

    In passing re-ordered the methods in MapControllerImpl to match
    MapController.
    rorystephenson committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    354e6d3 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Re-organized camera related source files

    Improved some documentation (part 1)
    Prevent public exposure of `FitCoordinates` and `FitBounds` constructors
    JaffaKetchup committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    dabf734 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Add FitInsideBounds

    jjoelson authored and rorystephenson committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    9e775c6 View commit details
    Browse the repository at this point in the history
  2. Move CameraFit attributes from the base class to the subclasses and t…

    …idy up documentation
    
    None of the fields which were on the CameraFit base class were
    conceptually essential for any imaginable camera fit. Moving them to
    the subclasses ensures that any future camera fits will not need to
    implement those options just because they already exist. It would also
    allow for individual camera fits to specify different default values if
    appropriate.
    rorystephenson committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    955e066 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2b40381 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d0ad93c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5750b6a View commit details
    Browse the repository at this point in the history
  6. Remove duplicate exports and make imports consistent

    The plugin API no longer exports classes which flutter_map already
    exports.
    
    Imports within this package now import the actual classes they use
    rather than the whole flutter_map library. Internal code should not
    depend on the exported library definition.
    rorystephenson committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    5d8aca1 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Configuration menu
    Copy the full SHA
    f986d77 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f5d6d13 View commit details
    Browse the repository at this point in the history
  3. Fix deprecation

    rorystephenson committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    150213e View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Set default CameraFit maxZoom values to null

    The other parameters for CameraFit all have default values which will
    not cause changes to the calculated CameraFit (i.e. padding is zero,
    forceIntegerZoomLevel is false). Setting maxZoom to null makes it
    consistent with the other parameters in that it will not affect the
    calculated CameraFit. I chose null over double.infinity as in my opinion
    the intent is clearer, no maximum.
    rorystephenson committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    c327723 View commit details
    Browse the repository at this point in the history