)]}'
{
  "commit": "46e38fd9abe1af3ccb903a80ff89bc3faef4d3e3",
  "tree": "8c0bbf095edf434b203f6657fa671ef27eccd5b4",
  "parents": [
    "9e4adfb358ca3680288c07201efc8811472a579d"
  ],
  "author": {
    "name": "Adam Powell",
    "email": "adamp@google.com",
    "time": "Mon Feb 03 10:16:49 2014 -0800"
  },
  "committer": {
    "name": "Adam Powell",
    "email": "adamp@google.com",
    "time": "Tue Feb 04 16:52:22 2014 -0800"
  },
  "message": "Refactoring of fitSystemWindows to applyWindowInsets for views\n\nApplying insets is now handled by:\n\n* WindowInsets class - Encapsulate system insets and local decor\n  insets into a single object, written specifically so that new inset\n  categories may be added later. Apps cannot construct their own\n  WindowInsets, only clone with optional modifications. This is to\n  prevent losing data in the event of new insets added in the future.\n\n* onApplyWindowInsets - Actually perform the application of insets.\n\n* OnApplyWindowInsetsListener - Allow an app to use a separate\n  Listener object to apply insets to a View. This allows for things\n  like support lib integration in custom views written for older\n  versions where the verifier would otherwise complain about the use\n  of the new WindowInsets class as a method parameter. It also allows\n  for applying insets in a custom way without writing a custom view.\n\n* dispatchApplyWindowInsets - Dispatch the call to self and children\n  in turn, if applicable. An OnApplyWindowInsetsListener will override\n  the behavior of the view\u0027s default onApplyWindowInsets method; a\n  listener wishing to call down to the \u0027superclass\u0027 implementation as\n  part of its own operation should call view.onApplyWindowInsets. App\n  code should generally not override this method and instead override\n  onApplyWindowInsets or provide a listener.\n\nCompatibility support with the existing fitSystemWindows method has\nbeen provided in both directions: for code that previously called\nfitSystemWindows on arbitrary views and also for code that overrode\nthe fitSystemWindows method in custom views. A view that supports the\nnewer onApplyWindowInsets mechanism should not mix that behavior with\nother calls to fitSystemWindows or vice versa. Support lib-style code\nshould take care to consistently use one mechanism or the other at\nruntime.\n\nChange-Id: Ie88b96e0382beb5d3c3f6cd013f7043acbc0a105\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ac04dd178e84c6b506c01d0a58b03c5821c2e6a1",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "9295a621098b8b518f9a26c81a01feb0deb311e2",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "4b6f2b072f4370ed05ac17ab8475be0ca66a1f11",
      "old_mode": 33188,
      "old_path": "core/java/android/view/View.java",
      "new_id": "ec51c743722919c5cca441b37074492aa97d5049",
      "new_mode": 33188,
      "new_path": "core/java/android/view/View.java"
    },
    {
      "type": "modify",
      "old_id": "b91091fbcca43724f28ca701429c89e5a6341c9c",
      "old_mode": 33188,
      "old_path": "core/java/android/view/ViewGroup.java",
      "new_id": "341887152cde22a87e1aeb1ef154cac3c22950e4",
      "new_mode": 33188,
      "new_path": "core/java/android/view/ViewGroup.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cdfcb43a2c8080dbf2d2748d61a07d305f8e6222",
      "new_mode": 33188,
      "new_path": "core/java/android/view/WindowInsets.java"
    },
    {
      "type": "modify",
      "old_id": "5469b635b5ae5948f53513d2f97b1b2500181519",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/widget/ActionBarOverlayLayout.java",
      "new_id": "c957b673ff597efcb19e0a6170b4cfa4c1f89245",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/widget/ActionBarOverlayLayout.java"
    }
  ]
}
