)]}'
{
  "commit": "84a00ea9e3df3ff051d3e86945d2befea32072ee",
  "tree": "8e95ecd7e2f71025552f290c6dfa79cba26ff79a",
  "parents": [
    "5f4cfd3ab73f4d8173db05d7c94c098a06cd5f57"
  ],
  "author": {
    "name": "Griff Hazen",
    "email": "griff@google.com",
    "time": "Tue Sep 02 17:10:47 2014 -0700"
  },
  "committer": {
    "name": "Griff Hazen",
    "email": "griff@google.com",
    "time": "Tue Sep 02 17:10:47 2014 -0700"
  },
  "message": "Reduce chance of notification listener dropped messages.\n\nThe existing code for notification manager/listeners uses a oneway\nbinder api to deliver messages. One problem with this is that\nnotification objects can sometimes get fairly large, and can bump\ninto the oneway binder transaction buffer if many happen at once.\n\nTo reduce this issue, flip the service into a oneway delivery of\na status bar notification holder, whose wrapped content is then\nimmediately fetched upon receipt of the one-way message. This moves\nthe meat of the fetch to be over a two-way interface without changing\nthe properties of which object is actually sent (a tickle solution\nwith lookup key would have changed this)\n\nFurther research: attempt to chunk notification objects themselves.\nThey can sometimes transfer hundreds of KB over a binder transaction.\n\nBug: 15426276\nChange-Id: Ib1a1f4ff848c16f80bcf2ae4dfd2b87a9091f0b2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35bb66c43d341ed4552be46264b0b3e74b318660",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "aa649f5dbd61638987baf40882b0de78673191e8",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "modify",
      "old_id": "8ca9b6cbd2a105cc6885f69fbc3b317b909ebe18",
      "old_mode": 33188,
      "old_path": "core/java/android/service/notification/INotificationListener.aidl",
      "new_id": "e6bf6ba97492157e7b7109cbb6c7fbe36a4094cb",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/INotificationListener.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd6b59ed44495d50e69564417c6e219d753dd7c4",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/IStatusBarNotificationHolder.aidl"
    },
    {
      "type": "modify",
      "old_id": "cb0bcf2c95a4c4f2754d62aa12fd25bc5707bb68",
      "old_mode": 33188,
      "old_path": "core/java/android/service/notification/NotificationListenerService.java",
      "new_id": "eebac1208c359fc68e97bf819562d1f63950983f",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/NotificationListenerService.java"
    },
    {
      "type": "modify",
      "old_id": "d0f40540ea10e05b29b6bd0878f8d7f99fd3ccec",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/notification/NotificationManagerService.java",
      "new_id": "a8a8b457e4d9333e4e349299f9029d27ae1bf78a",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/notification/NotificationManagerService.java"
    }
  ]
}
