1. 22 Jul, 2015 21 commits
    • Hixie's avatar
      Fix the crash when going to settings after showing the popup menu. · a50b0651
      Hixie authored
      If your constraints are tight when you get laid out, you don't get a
      relayout subtree root.
      
      If you don't have a relayout subtree root, and you get marked dirty,
      you go through layoutWithoutResize() rather than layout(), so we don't
      get a parentUsesSize.
      
      If you're not dirty and your constraints didn't change, layout() skips
      your layout.
      
      So then if your initial layout had parentUsesSize:true, and then you
      got marked dirty directly, you would set your size with
      parentCanUseSize=false, and then later if your parent tried to lay you
      out then read your size, it would crash because your size wasn't set
      up to allow you to get your size.
      
      The fix is to actually remember the last setting of parentUsesSize,
      even in the case of the constraints being tight and you later being
      marked as needing layout directly.
      a50b0651
    • Adam Barth's avatar
      3d0b82eb
    • mpcomplete's avatar
      Merge pull request #211 from mpcomplete/rm.builder.3 · 2c84154b
      mpcomplete authored
      Make SnackBar animate itself.
      
      This introduces a bit of a regression - the FloatingActionButton no longer animates. I'm not sure yet how to animated the FAB along with the SnackBar. Maybe some notion of anchoring a node to another.
      
      Also remove last use of AnimationBuilder.
      2c84154b
    • Hixie's avatar
      Introduce an explicit Key type. · 74575775
      Hixie authored
      This fixes some theoretical bugs whereby we were using hashCode to try
      to get unique keys for objects, but really we wanted object identity.
      It also lays the groundwork for a new GlobalKey concept.
      
      I tried to keep the impact on the code minimal, which is why the "Key"
      constructor is actually a factory that returns a StringKey. The code
      has this class hierarchy:
      
      ```
         KeyBase
          |
         Key--------------+---------------+
          |               |               |
         StringKey    ObjectKey       UniqueKey
      ```
      
      ...where the constructors are Key and Key.stringify (StringKey),
      Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey).
      
      We could instead of factory methods use regular constructors with the
      following hierarchy:
      
      ```
         KeyBase
          |
         LocalKey---------+---------------+
          |               |               |
         Key      ObjectIdentityKey   UniqueKey
      ```
      
      ...with constructors Key, Key.stringify, ObjectIdentityKey, and
      UniqueKey, but I felt that that was maybe a more confusing hierarchy.
      I don't have a strong opinion on this.
      74575775
    • Viktor Lidholt's avatar
      Merge pull request #202 from vlidholt/master · bb0c8bb1
      Viktor Lidholt authored
      Fixes issues with invalidating matrix for SpriteBox & adds HUD to demo game
      bb0c8bb1
    • Viktor Lidholt's avatar
      6a6567d7
    • Matt Perry's avatar
      Material animates over 200ms · 371ef454
      Matt Perry authored
      371ef454
    • Matt Perry's avatar
      Make SnackBar animate itself. · b31e06a5
      Matt Perry authored
      b31e06a5
    • Matt Perry's avatar
      rebase · 839e997e
      Matt Perry authored
      839e997e
    • Ian Hickson's avatar
      Merge pull request #205 from Hixie/minedigger · b215e4d6
      Ian Hickson authored
      Many code improvements to Mine Digger.
      b215e4d6
    • Adam Barth's avatar
      Merge pull request #208 from abarth/fix_type · 136b2709
      Adam Barth authored
      Fix type error found by dartanalyzer --strong
      136b2709
    • Adam Barth's avatar
      Update README.md · 9fd0be56
      Adam Barth authored
      Grammar
      9fd0be56
    • Adam Barth's avatar
      Fix type error found by dartanalyzer --strong · bb8b9c61
      Adam Barth authored
      We were declaring that the function passed to setState should return a
      Function. In reality, we want the function to return void (and everyone calls
      it with a function that returns void).
      bb8b9c61
    • Adam Barth's avatar
      Merge pull request #201 from eseidelGoogle/fuzz_crashes · 73123a3c
      Adam Barth authored
      Fix 2 crashes found by Hixie's fuzzer.
      73123a3c
    • Adam Barth's avatar
      Update README.md · 516e6b6e
      Adam Barth authored
      516e6b6e
    • Adam Barth's avatar
      Merge pull request #207 from abarth/fix_sky_tool · f6eb26c0
      Adam Barth authored
      Update sky_tool now that sky:// isn't a thing
      f6eb26c0
    • Adam Barth's avatar
      Update sky_tool now that sky:// isn't a thing · 665f6c33
      Adam Barth authored
      Instead, just use a normal http URL.
      665f6c33
    • Adam Barth's avatar
      Update README.md · 0a427a0a
      Adam Barth authored
      0a427a0a
    • Adam Barth's avatar
      Update README.md · be8b92cd
      Adam Barth authored
      be8b92cd
    • Adam Barth's avatar
      Roll Sky package version · 9ee93eba
      Adam Barth authored
      9ee93eba
    • Hixie's avatar
      Many code improvements to Mine Digger. · 4d2902f2
      Hixie authored
      Text styles are now a global constant instead of being initialised dynamically.
      There are now sufficient text styles for 8 mines around a square.
      I coallesced Game and MineDiggerApp.
      Used an enum instead of constants for the cell state.
      Used setState() instead of scheduleBuild().
      Used an O(N) algorithm for mine laying instead of the previous potentially-never-ending algorithm.
      Moved the listener on the cells to the app, so that the logic survives a rebuild.
      Various other minor changes.
      4d2902f2
  2. 21 Jul, 2015 19 commits