)]}'
{
  "log": [
    {
      "commit": "efa92b2182ab581873aa8e75d596e2e363bd5e6d",
      "tree": "0fe7d35d9678db9416c61cdcc84defd59253c384",
      "parents": [
        "9f3e1175657425115e863fdb256b83cadedc33e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 14:11:43 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 07 15:33:26 2013 -0700"
      },
      "message": "Cleanup some of the thread merging.\n\nAdds an optimization for checking whether a looper is stuck,\nwith a new Looper method to see if its thread is currently\nidle.  This will allow us to put a large number of loopers\nin the monitor efficiently, since we generally won\u0027t have to\ndo a context switch on each of them (since most looper threads\nspend most of their time idle waiting for work).\n\nAlso change things so the system process\u0027s main thread\nis actually running on the main thread.  Because Jeff\nasked for this, and who am I to argue? :)\n\nChange-Id: I12999e6f9c4b056c22dd652cb78c2453c391061f\n"
    },
    {
      "commit": "a89e40ce0ba66adb83f0d46b27846633a1328982",
      "tree": "74bbcb9e12fd403950e4a8d00a471102adfcb628",
      "parents": [
        "b8985b794211d676dfc7a2bb379f8cf843bd7d59",
        "525f3d9df632e485d1f75d8336e28a266eb7d96c"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 07 22:06:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 07 22:06:26 2013 +0000"
      },
      "message": "Merge \"Do not launch home task if activities remain\""
    },
    {
      "commit": "525f3d9df632e485d1f75d8336e28a266eb7d96c",
      "tree": "cae3e2ffeb089df25c815189ae85161aaca099d0",
      "parents": [
        "2ae118d1077bcec1c407b6ecb9acf14e2152fe93"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 07 14:01:50 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 07 15:01:46 2013 -0700"
      },
      "message": "Do not launch home task if activities remain\n\nWhen a root activity is finishing and it is supposed to return to\nhome make sure there are only lower activities waiting to start before\ngoing home.\n\nFixes bug 8632206.\n\nVarious other refactorings for efficiency.\n\nChange-Id: I8bbb9de78d0ea9f45a504cf4bad72c698e9cc3d8\n"
    },
    {
      "commit": "2f5b97c518f6b6ab89e19d3a335c148400f03268",
      "tree": "f772ca71cdd5d36dd185c19b17c526f6b39d9de5",
      "parents": [
        "176498b5eab5bf0702fb5ce08bcbc6683d113e92"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue May 07 14:22:02 2013 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue May 07 14:22:02 2013 -0700"
      },
      "message": "allow connected location providers location access\n\nOops, it seems the fused location provider was being denied access\nto locations when any user other than the primary device owner is\nlogged in. This was breaking the fused location provider entirely\nfor all secondary users of a given device.\n\nBug: 8766225\nChange-Id: I0c383eb82ed041e57a7d32321df2d67b462d4e21\n"
    },
    {
      "commit": "1d69bad411123913d32342864454b09ae39dab2c",
      "tree": "1ed91eb3bc121b8509ea65b4404ebc565223d880",
      "parents": [
        "1d41cae973579c07e1594d0496a1847cd644b8c0",
        "a98b0ff812fb204eaa93e4cda848b054d70bbff0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 07 10:14:28 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 07 10:14:46 2013 -0700"
      },
      "message": "resolved conflicts for merge of a98b0ff8 to master\n\nChange-Id: I1f4a952d360c48426e22a7772726b6867cc19771\n"
    },
    {
      "commit": "ec28e4b5887becfaa65e90a895ac913f88f9c54b",
      "tree": "df5c4f8df8ac6049f1ee319b59571eb27b33a58e",
      "parents": [
        "977b2531ae7d4e4d09f85e1261647d844d0eb99c",
        "5f714213546d667ac241a92e2052b30dabef8355"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue May 07 10:01:09 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 07 10:01:09 2013 -0700"
      },
      "message": "am 5f714213: am e242c731: Merge \"Ensure install-during-restore is like install-then-restore\" into jb-mr2-dev\n\n* commit \u00275f714213546d667ac241a92e2052b30dabef8355\u0027:\n  Ensure install-during-restore is like install-then-restore\n"
    },
    {
      "commit": "add582122dcec5aeb20d9e8f8c49348e00a5fe76",
      "tree": "eab3b5e88db580b7865d277abd45e27b77a2d15e",
      "parents": [
        "cfba6a07fd24559bfb6bb51007520b8ca3cd5c48",
        "485d7a31a8a07c825281cbae789ca0d04f3949d7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 07 09:47:34 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 07 09:51:31 2013 -0700"
      },
      "message": "resolved conflicts for merge of 485d7a31 to master\n\nChange-Id: I058e19af8732df44457bdc614ee810a642dc25e4\n"
    },
    {
      "commit": "a98b0ff812fb204eaa93e4cda848b054d70bbff0",
      "tree": "7e18358abeb46e02938d599babc172d8c1a9ab0a",
      "parents": [
        "1bc3e39ab48936bf82b8c11688ba0939e0866a44",
        "d43a71dad80dfca65b0758f4333360516f6ad300"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 16:48:16 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 16:48:16 2013 -0700"
      },
      "message": "am d43a71da: Merge \"Help for the debugging help for issue #8734824.\" into jb-mr2-dev\n\n* commit \u0027d43a71dad80dfca65b0758f4333360516f6ad300\u0027:\n  Help for the debugging help for issue #8734824.\n"
    },
    {
      "commit": "d43a71dad80dfca65b0758f4333360516f6ad300",
      "tree": "9726e6643bb16d320bd984885c281aa0030e37e7",
      "parents": [
        "06548798f5b03b552d27e956da094effb70ee570",
        "8bd64df2adb26fe9547ae3961a58631e241b613e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 23:46:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 06 23:46:57 2013 +0000"
      },
      "message": "Merge \"Help for the debugging help for issue #8734824.\" into jb-mr2-dev"
    },
    {
      "commit": "c87a732e7554e74d991cbe893c2923a349263246",
      "tree": "d2ffc3d8ebe107adc53bdd03ba60e9b7770b5cdf",
      "parents": [
        "72bd95b8feb7ef41eb5dd00003b1aed8f30f4abe",
        "b59dcfd5e108fdffbc610ef109cccecbbd11cd75"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 06 23:13:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 06 23:13:12 2013 +0000"
      },
      "message": "Merge \"Call ensureActivitiesVisibleLocked from supervisor.\""
    },
    {
      "commit": "8bd64df2adb26fe9547ae3961a58631e241b613e",
      "tree": "060a9ddad01b6dfd4f24abdd323a9b0873b32982",
      "parents": [
        "5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 16:07:26 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 16:07:26 2013 -0700"
      },
      "message": "Help for the debugging help for issue #8734824.\n\nAdd a new \"hang\" am command that lets you hang the system\nprocess.  Useful for testing.\n\nChange-Id: Ice0fc52b49d80e5189f016108b03f9fd549b58a7\n"
    },
    {
      "commit": "5f714213546d667ac241a92e2052b30dabef8355",
      "tree": "fa532f47483831aef0ed7369ec539d54d69a2b7b",
      "parents": [
        "4cd60897c73ddd67d7f267432073363cbf75371e",
        "e242c731f2288a615d54f329cdeb16157d4c15ea"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon May 06 14:25:10 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 14:25:10 2013 -0700"
      },
      "message": "am e242c731: Merge \"Ensure install-during-restore is like install-then-restore\" into jb-mr2-dev\n\n* commit \u0027e242c731f2288a615d54f329cdeb16157d4c15ea\u0027:\n  Ensure install-during-restore is like install-then-restore\n"
    },
    {
      "commit": "e242c731f2288a615d54f329cdeb16157d4c15ea",
      "tree": "feb367d000c72e4886c16d1ef598925eb097d0ed",
      "parents": [
        "5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a",
        "2baf6dcfcf7fc1705db25e64dc0cb11fa3509d39"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon May 06 21:12:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 06 21:12:41 2013 +0000"
      },
      "message": "Merge \"Ensure install-during-restore is like install-then-restore\" into jb-mr2-dev"
    },
    {
      "commit": "100ed154b79b96348087222550a59a8f3b944fa1",
      "tree": "5c2f89620c4652b648bcac6739032edfd14e9ac6",
      "parents": [
        "eea52c9a10601e62156d6724b0673643af6de89f",
        "b0675df8fd377230edc392e02ba0eba275b57992"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 06 13:56:14 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 13:56:14 2013 -0700"
      },
      "message": "am b0675df8: am faa47b52: Merge \"Idle maintenance scheduling broken.\" into jb-mr2-dev\n\n* commit \u0027b0675df8fd377230edc392e02ba0eba275b57992\u0027:\n  Idle maintenance scheduling broken.\n"
    },
    {
      "commit": "485d7a31a8a07c825281cbae789ca0d04f3949d7",
      "tree": "b121ac3a4a1f425e35cdc99df57f686d628eb4a5",
      "parents": [
        "966b340e7d18b78c74a07379bbd08a426e84d8ce",
        "5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 13:47:04 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 13:47:04 2013 -0700"
      },
      "message": "am 5b88a2fd: Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS\n\n* commit \u00275b88a2fd7b77880f6e09ae4a1de509bebe28bc3a\u0027:\n  Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS\n"
    },
    {
      "commit": "b59dcfd5e108fdffbc610ef109cccecbbd11cd75",
      "tree": "28903cc30e948129507d60fbaf652fc566f59510",
      "parents": [
        "05d290365f0b9ed781ffcb30b38a0c7c6e450e9d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 06 13:12:58 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 06 13:12:58 2013 -0700"
      },
      "message": "Call ensureActivitiesVisibleLocked from supervisor.\n\n- Don\u0027t call ActivityStack.ensureActivitiesVisibleLocked directly.\nInstead call ActivityStackSupervisor.ensureActivitiesVisibleLocked.\n\n- Add detecting monochrome screenshots to black screenshots.\n\n- minor refactors.\n\nChange-Id: I050b1cd40cacaab451f1460a77a82125a8077ff2\n"
    },
    {
      "commit": "2baf6dcfcf7fc1705db25e64dc0cb11fa3509d39",
      "tree": "1f367f30ac89bb4bcc28fa960439cb3e5e0ae4ad",
      "parents": [
        "996f6b048ba03ca727c40e1bc33100bf45c93518"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon May 06 13:07:05 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon May 06 13:10:21 2013 -0700"
      },
      "message": "Ensure install-during-restore is like install-then-restore\n\nWhen we\u0027ve installed an apk from the archive, recheck whether\nto apply the system-uid policy restrictions around file system\nrestores.\n\nBug 8833099\n\nChange-Id: Ifa1b5877673a0d6ca6acf94e60f314fd0dda008c\n"
    },
    {
      "commit": "eea52c9a10601e62156d6724b0673643af6de89f",
      "tree": "d43f98f532a8a309d9103d03fb9c367f9b04716c",
      "parents": [
        "c3d95fa66490839b4327f954d69cfa7fd31c6f69",
        "4337e038a20b890885fbcb17e6b8b48da999849c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 06 12:20:20 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 12:20:20 2013 -0700"
      },
      "message": "am 4337e038: am 62159c0d: Merge \"Multiple bindings to the same accessiblity serice if it dies.\" into jb-mr2-dev\n\n* commit \u00274337e038a20b890885fbcb17e6b8b48da999849c\u0027:\n  Multiple bindings to the same accessiblity serice if it dies.\n"
    },
    {
      "commit": "c3d95fa66490839b4327f954d69cfa7fd31c6f69",
      "tree": "881c3a62534b73d790a3e5f0e12a30ebc12aa20d",
      "parents": [
        "ef5352c3a18c41e74afcb3609ef99942634d15d6",
        "2a44f8d102a60b1ccca780341cff0b0efb8f19ed"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 12:20:17 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 12:20:17 2013 -0700"
      },
      "message": "am 2a44f8d1: am d3956321: Merge \"Fix issue #8798662: NPE in...\" into jb-mr2-dev\n\n* commit \u00272a44f8d102a60b1ccca780341cff0b0efb8f19ed\u0027:\n  Fix issue #8798662: NPE in...\n"
    },
    {
      "commit": "5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a",
      "tree": "19cb92ba626d8b207cfba3ae2b57d623c209a093",
      "parents": [
        "996f6b048ba03ca727c40e1bc33100bf45c93518"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 16:25:11 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 11:16:18 2013 -0700"
      },
      "message": "Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS\n\nIActivityController has a new callback which the Watchdog calls\nwhen it detects that the system process is hung.  This may be\nuse full monkey.  All hail the monkey!\n\nAlso add a new private feature to Binder to be able to turn off\nall incoming dump() calls to a process.  The watchdog uses this\nwhen it reports it is hung, so that if someone, say, wants to\ncollect a bug report at this point they won\u0027t get stuck waiting\nfor things that are all busted.\n\nChange-Id: Ib514d97451cf3b93f29e194c1954e29f948c13b1\n"
    },
    {
      "commit": "b0675df8fd377230edc392e02ba0eba275b57992",
      "tree": "1c76bd673fded03308c3c21315c463c15b44c3ef",
      "parents": [
        "4337e038a20b890885fbcb17e6b8b48da999849c",
        "faa47b526fc35be01b1bc46a78679adde87f6701"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 06 11:10:57 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 11:10:57 2013 -0700"
      },
      "message": "am faa47b52: Merge \"Idle maintenance scheduling broken.\" into jb-mr2-dev\n\n* commit \u0027faa47b526fc35be01b1bc46a78679adde87f6701\u0027:\n  Idle maintenance scheduling broken.\n"
    },
    {
      "commit": "4337e038a20b890885fbcb17e6b8b48da999849c",
      "tree": "877bd038ad0424d41d9edf905aafe8fd3daf63f9",
      "parents": [
        "2a44f8d102a60b1ccca780341cff0b0efb8f19ed",
        "62159c0d854737f8dc519fba01fd28adea26e57f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 06 08:44:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 08:44:49 2013 -0700"
      },
      "message": "am 62159c0d: Merge \"Multiple bindings to the same accessiblity serice if it dies.\" into jb-mr2-dev\n\n* commit \u002762159c0d854737f8dc519fba01fd28adea26e57f\u0027:\n  Multiple bindings to the same accessiblity serice if it dies.\n"
    },
    {
      "commit": "2a44f8d102a60b1ccca780341cff0b0efb8f19ed",
      "tree": "c1b2ac3dbea7325a3d908da25b1f48361987160d",
      "parents": [
        "f581b533cf0ff774405bae057f5883fe9768c6a8",
        "d3956321c173beb1fb096b5171e76ba7b7e1bc1e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 06 08:44:47 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 06 08:44:47 2013 -0700"
      },
      "message": "am d3956321: Merge \"Fix issue #8798662: NPE in...\" into jb-mr2-dev\n\n* commit \u0027d3956321c173beb1fb096b5171e76ba7b7e1bc1e\u0027:\n  Fix issue #8798662: NPE in...\n"
    },
    {
      "commit": "faa47b526fc35be01b1bc46a78679adde87f6701",
      "tree": "4d0c6a685e7d2cf110c5016686b1184b2ca5e81f",
      "parents": [
        "62159c0d854737f8dc519fba01fd28adea26e57f",
        "6a08a12b8e8ef6fa04932c7a1c5255e3f158a3c8"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 23:33:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 23:33:09 2013 +0000"
      },
      "message": "Merge \"Idle maintenance scheduling broken.\" into jb-mr2-dev"
    },
    {
      "commit": "2b21dd0bbe389bd3d88d296b2d8d23bd6eea0286",
      "tree": "60d3c196d075e7e64238ec5af3e802467e2232a6",
      "parents": [
        "dfe570527c2b79f9339f398aa69156756197683d",
        "ee0a5fafa75bcae10aaee645ee3543c61d5aeecf"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri May 03 14:50:44 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri May 03 14:50:44 2013 -0700"
      },
      "message": "resolved conflicts for merge of ee0a5faf to master\n\nChange-Id: Iba0ad9e665ad98379761995cb7c32415bcf50e48\n"
    },
    {
      "commit": "62159c0d854737f8dc519fba01fd28adea26e57f",
      "tree": "ef29866e52db7392e58eba0b55c85a5e96d67f7f",
      "parents": [
        "d3956321c173beb1fb096b5171e76ba7b7e1bc1e",
        "bfa1bf020859a03668f1af1d59f035c53a97c7e8"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 21:04:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 21:04:04 2013 +0000"
      },
      "message": "Merge \"Multiple bindings to the same accessiblity serice if it dies.\" into jb-mr2-dev"
    },
    {
      "commit": "6a08a12b8e8ef6fa04932c7a1c5255e3f158a3c8",
      "tree": "f7995a3cce7ac5cb68f1355555d94536ad632835",
      "parents": [
        "48f2b548edf8e276cc89d2c4c2d2936cde46fc95"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 11:24:26 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 14:03:06 2013 -0700"
      },
      "message": "Idle maintenance scheduling broken.\n\n1. The scheduling was relying on receiving battery level broadcasts\n   which however are not sent if the device is asleep. The maintenance\n   window was not bound and we could miss a frame if the user did\n   not interact the device longer than the min time between two\n   maintenance windows.\n\n2. Hide the idle maintenance intents since this will be rewritten\n   to user services.\n\nbug:8688454\n\nChange-Id: I17b421b09823cb46ec218cabda19e02432d94f8c\n"
    },
    {
      "commit": "d3956321c173beb1fb096b5171e76ba7b7e1bc1e",
      "tree": "4cfbcdf895b7f30f42964c994eccfbf4d277d49f",
      "parents": [
        "2b662e8ef96c645e38a3debc29afa7454664f6cb",
        "ca92a4c38f8b4763cd72690091b3a5bbbd7c973a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 20:47:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 20:47:39 2013 +0000"
      },
      "message": "Merge \"Fix issue #8798662: NPE in...\" into jb-mr2-dev"
    },
    {
      "commit": "dfe570527c2b79f9339f398aa69156756197683d",
      "tree": "8d281cd05cca7ca1844aac1ba1bf6fea8ec6290a",
      "parents": [
        "1ac47791ea3d6d0361bad8c0de4a146120dd5ce4",
        "05d290365f0b9ed781ffcb30b38a0c7c6e450e9d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 03 20:41:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 20:41:36 2013 +0000"
      },
      "message": "Merge \"Fix layering and launching issues.\""
    },
    {
      "commit": "1ac47791ea3d6d0361bad8c0de4a146120dd5ce4",
      "tree": "29eccb2052506cf52abf65e5ae6203095adab263",
      "parents": [
        "89852c1401f318534011e9f765d73ab3e077af48",
        "e418ecd129cc3056ed185822f089b0246acbbbcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 03 20:41:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 20:41:07 2013 +0000"
      },
      "message": "Merge \"Propagate the return-to-home flag to next task.\""
    },
    {
      "commit": "05d290365f0b9ed781ffcb30b38a0c7c6e450e9d",
      "tree": "f7c125530742a068ddf8e5eb0a17ae5ce292c248",
      "parents": [
        "e418ecd129cc3056ed185822f089b0246acbbbcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 03 13:40:13 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 03 13:40:13 2013 -0700"
      },
      "message": "Fix layering and launching issues.\n\n- Replace calls to ActivityStack.resumeTopActivity() with calls to\nActivityStackSupervisor.resumeTopActivities().\n\n- Move dim layers from display scope to stack scope. This applies to\nboth the animation background dim layer and the FLAG_DIM_BEHIND dim\nlayer.\n\n- Move windows on stacks that are not targeting wallpaper above the\nwallpaper. Otherwise wallpaper placement hides the non-focused stacks.\n\nChange-Id: Ic6b97ac6b094672bb1ddac17ce46ea58c738f073\n"
    },
    {
      "commit": "ca92a4c38f8b4763cd72690091b3a5bbbd7c973a",
      "tree": "fcbb423bb59c25e1b3801bcc70499b36e77dd185",
      "parents": [
        "856a5a860e11a85f8fbb1ad07f6ef444abeafbaf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 12:07:51 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 12:07:51 2013 -0700"
      },
      "message": "Fix issue #8798662: NPE in...\n\n...com.android.server.am.ServiceRecord.postNotification()\n\nChange-Id: I3403bc50eb95d410183fc60ef252775a688b6290\n"
    },
    {
      "commit": "ee0a5fafa75bcae10aaee645ee3543c61d5aeecf",
      "tree": "8f9ee2882a9631ad3b98d8e7e0c6c1595ca0f0f6",
      "parents": [
        "f87d4ea77a6950c3d6d381347f2346c12bee25f4",
        "245a3e1c1ed265a13d07000ef6e786ec321b85c4"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri May 03 11:19:01 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 03 11:19:01 2013 -0700"
      },
      "message": "am 245a3e1c: Merge \"Change the initial disabled state of disabled IMEs\" into jb-mr2-dev\n\n* commit \u0027245a3e1c1ed265a13d07000ef6e786ec321b85c4\u0027:\n  Change the initial disabled state of disabled IMEs\n"
    },
    {
      "commit": "bfa1bf020859a03668f1af1d59f035c53a97c7e8",
      "tree": "842fc4e10bdcfd9ecc91cf92f070460ef34ca469",
      "parents": [
        "245a3e1c1ed265a13d07000ef6e786ec321b85c4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 01:13:05 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 03 01:20:56 2013 -0700"
      },
      "message": "Multiple bindings to the same accessiblity serice if it dies.\n\n1. When a service dies we clear its state and remove it from the bound services waiting\n   for new onServiceConnected call in which to initialize and add the service. The\n   problem is that after clearing and removing a dead service there is a call to\n   onUserStateChangedLocked with will end up rebinding to the service, so we get\n   multiple onServiceConnected calls as a result of which we add the service twice and\n   it becomes a mess. Note that every time the service dies we end up being bound to\n   it twice as many times - royal mess! onUserStateChangedLocked is not even needed\n   since we cleare and remove the serivce and this method will be called when\n   the service is recreated.\n\n2. When a service dies and is recreated by the system we were not adding it properly\n   since we regarded only services that we bond to and wait for the connecton. Now\n   we are also regarding service which died and are recreated.\n\nbug:8796109\n\nChange-Id: I5ec60c67bd3b057446bb8d90b48511c35d45289d\n"
    },
    {
      "commit": "98eb06a12e41c1dcebf40865be5be9ad6d8e10bc",
      "tree": "f5ef400b69a7a4e4d40cf075ef908c45d0a7dcd1",
      "parents": [
        "c9dc93e5ca71ce1df792e6ac9fcfe8d9eda4f96c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 19:50:00 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 19:50:00 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Ib8f99e5137ace23ba4bfa764e81cce1f9f7d1aa8\n"
    },
    {
      "commit": "245a3e1c1ed265a13d07000ef6e786ec321b85c4",
      "tree": "8e8855296f12c0f75a986267310016d5e2041ee0",
      "parents": [
        "17cf4e4d4a576009efbfce93bd64b687601b71c7",
        "ed1cdb24ba986231629fbfb244ed758fc2add0fc"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri May 03 02:34:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 02:34:39 2013 +0000"
      },
      "message": "Merge \"Change the initial disabled state of disabled IMEs\" into jb-mr2-dev"
    },
    {
      "commit": "c9dc93e5ca71ce1df792e6ac9fcfe8d9eda4f96c",
      "tree": "303020ac6d4a85ce0a06dce07f2112221f6e6b4b",
      "parents": [
        "56af3176b9e69f10e52b663315a769f58ad2ca10",
        "8d044e8bc287c1a567d82aedbe30085b011544c3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 03 01:48:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 03 01:48:55 2013 +0000"
      },
      "message": "Merge \"Start combining threads in system process.\""
    },
    {
      "commit": "8d044e8bc287c1a567d82aedbe30085b011544c3",
      "tree": "89966111423d4519c15874aa871d35d3cc92b206",
      "parents": [
        "34761434a0957dde28d6156afb48372934581c16"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 30 17:24:15 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 17:42:40 2013 -0700"
      },
      "message": "Start combining threads in system process.\n\nThis introduces four generic thread that services can\nuse in the system process:\n\n- Background: part of the framework for all processes, for\nwork that is purely background (no timing constraint).\n- UI: for time-critical display of UI.\n- Foreground: normal foreground work.\n- IO: performing IO operations.\n\nI went through and moved services into these threads in the\nplaces I felt relatively comfortable about understanding what\nthey are doing.  There are still a bunch more we need to look\nat -- lots of networking stuff left, 3 or so different native\ndaemon connectors which I didn\u0027t know how much would block,\naudio stuff, etc.\n\nAlso updated Watchdog to be aware of and check these new\nthreads, with a new API for other threads to also participate\nin this checking.\n\nChange-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11\n"
    },
    {
      "commit": "0c8949db308b36ab2397db7b3f8801cb8c8e49f0",
      "tree": "c4a0021118b17a35c794cac7478318cb11ce9713",
      "parents": [
        "b4997af5cf800da353a9f0be040664e46120df64",
        "4c41f6cd1852aaeeb067ad568c3b77a816769d64"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 15:17:32 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 02 15:17:32 2013 -0700"
      },
      "message": "am 4c41f6cd: am 856a5a86: Merge \"Fix issue #8768456: Settings \u003e App Info under reports...\" into jb-mr2-dev\n\n* commit \u00274c41f6cd1852aaeeb067ad568c3b77a816769d64\u0027:\n  Fix issue #8768456: Settings \u003e App Info under reports...\n"
    },
    {
      "commit": "4c41f6cd1852aaeeb067ad568c3b77a816769d64",
      "tree": "85aa5dfa20f8f3e754a9cfedd0dca7fc1a79d05e",
      "parents": [
        "77a66f44590853cce7c58d643b6064ed5974cf03",
        "856a5a860e11a85f8fbb1ad07f6ef444abeafbaf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 15:15:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 02 15:15:19 2013 -0700"
      },
      "message": "am 856a5a86: Merge \"Fix issue #8768456: Settings \u003e App Info under reports...\" into jb-mr2-dev\n\n* commit \u0027856a5a860e11a85f8fbb1ad07f6ef444abeafbaf\u0027:\n  Fix issue #8768456: Settings \u003e App Info under reports...\n"
    },
    {
      "commit": "b4997af5cf800da353a9f0be040664e46120df64",
      "tree": "9117ef72724b50c34d83e9c356a507a7c870cfb2",
      "parents": [
        "3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9",
        "77a66f44590853cce7c58d643b6064ed5974cf03"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 02 15:14:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 02 15:14:06 2013 -0700"
      },
      "message": "am 77a66f44: am b8453357: Merge \"Send package-changed broadcasts to the correct users\" into jb-mr2-dev\n\n* commit \u002777a66f44590853cce7c58d643b6064ed5974cf03\u0027:\n  Send package-changed broadcasts to the correct users\n"
    },
    {
      "commit": "77a66f44590853cce7c58d643b6064ed5974cf03",
      "tree": "56bcf353c43a14b817ed17123b7d022ecdba726e",
      "parents": [
        "f5a553a4278a68fda9795dea759840d4f93546d7",
        "b84533575601133868bf414c526b5b30de3e62c6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 02 15:11:52 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 02 15:11:52 2013 -0700"
      },
      "message": "am b8453357: Merge \"Send package-changed broadcasts to the correct users\" into jb-mr2-dev\n\n* commit \u0027b84533575601133868bf414c526b5b30de3e62c6\u0027:\n  Send package-changed broadcasts to the correct users\n"
    },
    {
      "commit": "856a5a860e11a85f8fbb1ad07f6ef444abeafbaf",
      "tree": "e778c677cef24da639e4ee19244bcee1f0fde587",
      "parents": [
        "b84533575601133868bf414c526b5b30de3e62c6",
        "ecc8d6f114532af9a89fd0114cf15a00d81a35bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 22:11:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 02 22:11:36 2013 +0000"
      },
      "message": "Merge \"Fix issue #8768456: Settings \u003e App Info under reports...\" into jb-mr2-dev"
    },
    {
      "commit": "1e08f5c3b358b75792a1839f758bc61409f71a58",
      "tree": "b7fe4571b3710e6b98500a45f2ad5258853bb66a",
      "parents": [
        "c31126088fea61a9b5ba6cdb1fd2791e86800a8a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 02 13:27:27 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 02 14:18:51 2013 -0700"
      },
      "message": "Send package-changed broadcasts to the correct users\n\nAlso be sure to drop any pending package-changed broadcasts\nthat are targeted to a now-removed user.\n\nBug 8594153\n\nChange-Id: Ib14874b4a67b968bbf6ca12ee095c85383aff324\n"
    },
    {
      "commit": "3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9",
      "tree": "ea104e727beba793c10952f5b328478020859599",
      "parents": [
        "dd424cf079d2677e9333d89466f93166787e61c8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Apr 17 18:54:38 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 02 13:32:09 2013 -0700"
      },
      "message": "Pack preloaded framework assets in a texture atlas\n\nWhen the Android runtime starts, the system preloads a series of assets\nin the Zygote process. These assets are shared across all processes.\nUnfortunately, each one of these assets is later uploaded in its own\nOpenGL texture, once per process. This wastes memory and generates\nunnecessary OpenGL state changes.\n\nThis CL introduces an asset server that provides an atlas to all processes.\n\nNote: bitmaps used by skia shaders are *not* sampled from the atlas.\nIt\u0027s an uncommon use case and would require extra texture transforms\nin the GL shaders.\n\nWHAT IS THE ASSETS ATLAS\n\nThe \"assets atlas\" is a single, shareable graphic buffer that contains\nall the system\u0027s preloaded bitmap drawables (this includes 9-patches.)\nThe atlas is made of two distinct objects: the graphic buffer that\ncontains the actual pixels and the map which indicates where each\npreloaded bitmap can be found in the atlas (essentially a pair of\nx and y coordinates.)\n\nHOW IS THE ASSETS ATLAS GENERATED\n\nBecause we need to support a wide variety of devices and because it\nis easy to change the list of preloaded drawables, the atlas is\ngenerated at runtime, during the startup phase of the system process.\n\nThere are several steps that lead to the atlas generation:\n\n1. If the device is booting for the first time, or if the device was\nupdated, we need to find the best atlas configuration. To do so,\nthe atlas service tries a number of width, height and algorithm\nvariations that allows us to pack as many assets as possible while\nusing as little memory as possible. Once a best configuration is found,\nit gets written to disk in /data/system/framework_atlas\n\n2. Given a best configuration (algorithm variant, dimensions and\nnumber of bitmaps that can be packed in the atlas), the atlas service\npacks all the preloaded bitmaps into a single graphic buffer object.\n\n3. The packing is done using Skia in a temporary native bitmap. The\nSkia bitmap is then copied into the graphic buffer using OpenGL ES\nto benefit from texture swizzling.\n\nHOW PROCESSES USE THE ATLAS\n\nWhenever a process\u0027 hardware renderer initializes its EGL context,\nit queries the atlas service for the graphic buffer and the map.\n\nIt is important to remember that both the context and the map will\nbe valid for the lifetime of the hardware renderer (if the system\nprocess goes down, all apps get killed as well.)\n\nEvery time the hardware renderer needs to render a bitmap, it first\nchecks whether the bitmap can be found in the assets atlas. When\nthe bitmap is part of the atlas, texture coordinates are remapped\nappropriately before rendering.\n\nChange-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0\n"
    },
    {
      "commit": "ecc8d6f114532af9a89fd0114cf15a00d81a35bf",
      "tree": "f75e52ddc83f69fee6ffc2dcd0275bbfdddc7f54",
      "parents": [
        "4e0ae8d6fdc4646a90949ddf95fd8d1f7a22055a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 01 18:54:11 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 02 11:17:15 2013 -0700"
      },
      "message": "Fix issue #8768456: Settings \u003e App Info under reports...\n\n...app storage size for apps w/ .so files\n\nThe lib directories are tagged with the apk install number,\nso must be explicitly passed down to installd.\n\nChange-Id: Ic37b03726f9a7405eb05956703f8198223b22595\n"
    },
    {
      "commit": "ed1cdb24ba986231629fbfb244ed758fc2add0fc",
      "tree": "1e554ace658ca782c16538d66d0a28a31ec28f2d",
      "parents": [
        "09f3cc2bcca62fea30dc0f22cc120088e9f54728"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Apr 17 16:41:58 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu May 02 17:53:17 2013 +0900"
      },
      "message": "Change the initial disabled state of disabled IMEs\n\nBug: 8365223\n\nThis change is a supplement for I77f01c70610d82ce9070d4a\nThe disabled state of disabled pre-installed imes should be changed\nto ENABLED_STATE_DISABLED_UNTIL_USED on boot or user switch.\n\nChange-Id: If8ff1b2b95c36d33148def2ab87bd006aa520cc0\n"
    },
    {
      "commit": "037db6cfd0f324cf17a2e122891bc296007452a0",
      "tree": "0b8f62ad79578eb6f9bb17efe264f8abb47ce008",
      "parents": [
        "863b117a3a90d496656094dbb63e1d2c30d47642",
        "9e0036ed7d3260d79cc5f9ffd8e3bbe760699924"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 02 00:46:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 02 00:46:46 2013 +0000"
      },
      "message": "Merge \"External storage provider, document picker UI.\""
    },
    {
      "commit": "9e0036ed7d3260d79cc5f9ffd8e3bbe760699924",
      "tree": "88ca52627f99558d18a29acb207bd15cec379ba4",
      "parents": [
        "9ecfee03fa188aebfbd9778b4e020323903495ee"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 26 16:54:55 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 01 17:44:42 2013 -0700"
      },
      "message": "External storage provider, document picker UI.\n\nContinuing to flesh out storage backends by adding an external\nstorage document backend.  Still rough, but it can traverse files\nand directories.\n\nEarly pass at OPEN/CREATE_DOC picker UI, which offers to traverse\nany known storage backends.  Supports opening subdirectories and\nreturning a picked file.\n\nChange-Id: Idc3554036b3816a93d9b465ee8a620746859d2ae\n"
    },
    {
      "commit": "475fe218eab47d1b17cca7159d6d048a19275a21",
      "tree": "669e671dce29356420f3cd0fb15e0974711c7290",
      "parents": [
        "7abc275e8042e14565324ba0da1b34c0e3a8b245",
        "56a6c66158b1ba26626a161ed782724fb1e3cea1"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 02 00:18:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 02 00:18:13 2013 +0000"
      },
      "message": "Merge \"Dump system server stack trace on watchdog failure\""
    },
    {
      "commit": "56a6c66158b1ba26626a161ed782724fb1e3cea1",
      "tree": "a6b12324fc0fd84cc9741a3fc2b927329a1777e9",
      "parents": [
        "fcafc3259e62de3511a531ccc128a46e98c8d2a1"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Apr 30 20:13:07 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed May 01 17:15:56 2013 -0700"
      },
      "message": "Dump system server stack trace on watchdog failure\n\nChange-Id: Ia70b116b789a51c4fbdd31348f127685f20f7500\n"
    },
    {
      "commit": "e418ecd129cc3056ed185822f089b0246acbbbcd",
      "tree": "63925dbfb5560de056567c33839f648a090925d9",
      "parents": [
        "e0eb0e90630c19808429a9bcdc9ff8dff085d2e8"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 17:02:29 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 17:02:29 2013 -0700"
      },
      "message": "Propagate the return-to-home flag to next task.\n\nIf a task is supposed to launch home when it finishes but then\nlaunches another task and finishes itself, then the new task must\nlaunch home when it finishes.\n\nFixes bug 8778263.\n\nChange-Id: I6495f6c2e99a906217e73b7b6dcae8ecff435e5f\n"
    },
    {
      "commit": "7abc275e8042e14565324ba0da1b34c0e3a8b245",
      "tree": "969a5c237fd89d16f9081bfe50645e29efc19bfd",
      "parents": [
        "e0eb0e90630c19808429a9bcdc9ff8dff085d2e8",
        "bd5fca23e12f2a3491ea63e5761a5897f084d689"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 01 15:53:17 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 15:53:17 2013 -0700"
      },
      "message": "am bd5fca23: am eed8411c: Merge \"Bootstrap installed system apps only when the target user is running\" into jb-mr2-dev\n\n* commit \u0027bd5fca23e12f2a3491ea63e5761a5897f084d689\u0027:\n  Bootstrap installed system apps only when the target user is running\n"
    },
    {
      "commit": "bd5fca23e12f2a3491ea63e5761a5897f084d689",
      "tree": "b1f529f274b9d53ef661bf60986540202da7ac5f",
      "parents": [
        "9ba564c7e205c4b278be61eec773a90a94451251",
        "eed8411c8cc1f163ba06a928e3b4b6d3f1045282"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 01 15:50:42 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 15:50:42 2013 -0700"
      },
      "message": "am eed8411c: Merge \"Bootstrap installed system apps only when the target user is running\" into jb-mr2-dev\n\n* commit \u0027eed8411c8cc1f163ba06a928e3b4b6d3f1045282\u0027:\n  Bootstrap installed system apps only when the target user is running\n"
    },
    {
      "commit": "3335644f7ae060c170f457ebf8c61622f56ae9a7",
      "tree": "dfd97175b3b1dc7c5236f8ebcac6d0919d71402e",
      "parents": [
        "4e0ae8d6fdc4646a90949ddf95fd8d1f7a22055a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 01 14:17:53 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 01 14:25:26 2013 -0700"
      },
      "message": "Bootstrap installed system apps only when the target user is running\n\nI.e. don\u0027t bother trying to send a BOOT_COMPLETED broadcast to the\nnewly-installed/enabled system app when its host user isn\u0027t live.\n\nAlso use the static isSystemApp()-type helpers instead of duplicating\nthose tests locally.\n\nBug 8594153\n\nChange-Id: I4bd0b86351d67f72c44eae8d1afce6a98f034d31\n"
    },
    {
      "commit": "c63bda0bd1cce66faae11e6d0708f60da5f1b098",
      "tree": "b8d3cdc18e118f10bc01eb23c398dd3ea27d55e2",
      "parents": [
        "776069facf858f5d5d7f6d9ed1d0335888e2d285",
        "d94b1b480ea6ed069ad048e258a57e1911304851"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 19:02:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 19:02:29 2013 +0000"
      },
      "message": "Merge \"Handle case where finishActivity removes activity\""
    },
    {
      "commit": "d94b1b480ea6ed069ad048e258a57e1911304851",
      "tree": "64992e7afe35b9b2b52bc3da647fdbfd80dcd7f8",
      "parents": [
        "9e14d0fd9a36fdd81dbb4744d115b0059bd22590"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 11:58:03 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 11:58:03 2013 -0700"
      },
      "message": "Handle case where finishActivity removes activity\n\nFixes bug 8773046.\n\nChange-Id: I2e9f15c19ee9b50347472542ace5287964964203\n"
    },
    {
      "commit": "776069facf858f5d5d7f6d9ed1d0335888e2d285",
      "tree": "1d6bdce934e6279126b7f2e1cc7cd90e0373fcd0",
      "parents": [
        "c66a83751aea41318198f1b2dcbc89c8cdbce5d0",
        "a49cea63a080b7c5f884626ba3c0309cb6e49f99"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 01 11:33:25 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 11:33:25 2013 -0700"
      },
      "message": "am a49cea63: am 033168b1: Merge \"Lockdown VPN handles its own connection teardown.\" into jb-mr2-dev\n\n* commit \u0027a49cea63a080b7c5f884626ba3c0309cb6e49f99\u0027:\n  Lockdown VPN handles its own connection teardown.\n"
    },
    {
      "commit": "c66a83751aea41318198f1b2dcbc89c8cdbce5d0",
      "tree": "3721c719d7436278eeac39461bd3efde23ba3a0a",
      "parents": [
        "a1c12b2cae621f1ada9320ebff6aa1c78c33fe33",
        "9e14d0fd9a36fdd81dbb4744d115b0059bd22590"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 18:32:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 18:32:33 2013 +0000"
      },
      "message": "Merge \"Do not return to Home activity if not top task.\""
    },
    {
      "commit": "a1c12b2cae621f1ada9320ebff6aa1c78c33fe33",
      "tree": "782d505b6ff907183201b3f3cb01b25f53f8a648",
      "parents": [
        "708575995470f259637020d6d8689d50846d0330",
        "9db9a0bde5e199a6043fdb0065012d1812906dae"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 18:32:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 18:32:06 2013 +0000"
      },
      "message": "Merge \"Move task methods into TaskRecord.\""
    },
    {
      "commit": "a49cea63a080b7c5f884626ba3c0309cb6e49f99",
      "tree": "19ad5b5d35d8df937b6fd2fa2a69aa81c6855446",
      "parents": [
        "334c04e2f0eb62c6c9db73da0ec0021abffceb92",
        "033168b1b0e6fc24a01bef6ec65948663f0ad3b7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 01 11:31:41 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 11:31:41 2013 -0700"
      },
      "message": "am 033168b1: Merge \"Lockdown VPN handles its own connection teardown.\" into jb-mr2-dev\n\n* commit \u0027033168b1b0e6fc24a01bef6ec65948663f0ad3b7\u0027:\n  Lockdown VPN handles its own connection teardown.\n"
    },
    {
      "commit": "708575995470f259637020d6d8689d50846d0330",
      "tree": "15c93edc1a7b8a3677c603429a8923fcabc225c2",
      "parents": [
        "da1bb7cdbf5e414d0dfc9216a057f719f8814899",
        "0e415c66620871feefc55e617f3f1f61fcd6c7b1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 18:31:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 18:31:31 2013 +0000"
      },
      "message": "Merge \"A better fix for bug 8740202.\""
    },
    {
      "commit": "033168b1b0e6fc24a01bef6ec65948663f0ad3b7",
      "tree": "d96197fbd92d0c97d7b0f8da5b079e0a0cdbcdba",
      "parents": [
        "bb1a6244d169bbbf06068b5dce47c51c98097c89",
        "57666934b4a161cc2fb77eef15d0b894aaf8f173"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 01 18:30:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 18:30:23 2013 +0000"
      },
      "message": "Merge \"Lockdown VPN handles its own connection teardown.\" into jb-mr2-dev"
    },
    {
      "commit": "9e14d0fd9a36fdd81dbb4744d115b0059bd22590",
      "tree": "57e2467faffadc549d45efbd786d4a128873301f",
      "parents": [
        "9db9a0bde5e199a6043fdb0065012d1812906dae"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 11:26:09 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 01 11:26:09 2013 -0700"
      },
      "message": "Do not return to Home activity if not top task.\n\nAdd a test for being the top task when closing the last activity in a\ntask. Without this test, if the last activity in a task was flagged to\nreturn to the home activity on completion but that activity had\nlaunched a new task we would not go to the new task but would instead\nlaunch the home activity.\n\nFixes bug 8775949.\n\nChange-Id: I7fd9d9ebbdbff8064d894407c35190894a141ecf\n"
    },
    {
      "commit": "da1bb7cdbf5e414d0dfc9216a057f719f8814899",
      "tree": "421131a03407082c8b3ac146c9ded452cb833290",
      "parents": [
        "2e29cdae53bd82819ec91ce2d353a9170971aafc",
        "334c04e2f0eb62c6c9db73da0ec0021abffceb92"
      ],
      "author": {
        "name": "gcondra@google.com",
        "email": "gcondra@google.com",
        "time": "Wed May 01 11:15:38 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 11:15:38 2013 -0700"
      },
      "message": "am 334c04e2: am bb1a6244: Merge \"Fix an NPE and fd leak in SELinux policy updater.\" into jb-mr2-dev\n\n* commit \u0027334c04e2f0eb62c6c9db73da0ec0021abffceb92\u0027:\n  Fix an NPE and fd leak in SELinux policy updater.\n"
    },
    {
      "commit": "334c04e2f0eb62c6c9db73da0ec0021abffceb92",
      "tree": "d547da6d85e4a5993d40000f0a10e10b3a3cd239",
      "parents": [
        "0b30ad53423a9bfab53b1632a33159be3d82e3df",
        "bb1a6244d169bbbf06068b5dce47c51c98097c89"
      ],
      "author": {
        "name": "gcondra@google.com",
        "email": "gcondra@google.com",
        "time": "Wed May 01 11:14:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 01 11:14:06 2013 -0700"
      },
      "message": "am bb1a6244: Merge \"Fix an NPE and fd leak in SELinux policy updater.\" into jb-mr2-dev\n\n* commit \u0027bb1a6244d169bbbf06068b5dce47c51c98097c89\u0027:\n  Fix an NPE and fd leak in SELinux policy updater.\n"
    },
    {
      "commit": "bb1a6244d169bbbf06068b5dce47c51c98097c89",
      "tree": "e70c9e111a6b567374bbdbd840222812c2334562",
      "parents": [
        "09f3cc2bcca62fea30dc0f22cc120088e9f54728",
        "f7b8bc48afd2cef342abc4ad3545a6e7d310b159"
      ],
      "author": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Wed May 01 18:12:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 01 18:12:04 2013 +0000"
      },
      "message": "Merge \"Fix an NPE and fd leak in SELinux policy updater.\" into jb-mr2-dev"
    },
    {
      "commit": "57666934b4a161cc2fb77eef15d0b894aaf8f173",
      "tree": "b4e22ee6f5a2f883151359882cf1aace8f6f7ba3",
      "parents": [
        "f6a2598fc4a1595e9fb77bd542047a4c8006d337"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 30 17:01:57 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 01 09:40:50 2013 -0700"
      },
      "message": "Lockdown VPN handles its own connection teardown.\n\nRecent changes started watching for CONNECTIVITY_ACTION broadcasts\nto handle the case where a network is disconnected without the\ninterface going down.\n\nHowever, when lockdown VPN is enabled, the broadcast contents are\naugmented, and all connections appear disconnected until the VPN\ncomes online.  This caused a reset feedback loop to occur.\n\nSince LockdownVpnTracker already handles networks being disconnected\nseparately from interfaces going down, this change disables handling\nthe broadcast when lockdown is enabled.\n\nBug: 8755148\nChange-Id: I70a348aa97a4b22eaaf23aa5ed344de3e9a9ab0b\n"
    },
    {
      "commit": "9f9dc4b2304f71daf7d7a063606ef17818411969",
      "tree": "9a2b37e814bf201661fa44e0a75b9c7686f577ce",
      "parents": [
        "d9ad188a180072b3e9df4c09544174497e58e7af",
        "6e629e84c52c870ff6fe6d0493861997929209f4"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 30 17:50:50 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 17:50:50 2013 -0700"
      },
      "message": "am 6e629e84: am 95a9bfe2: When installing/enabling a system app, bootstrap it\n\n* commit \u00276e629e84c52c870ff6fe6d0493861997929209f4\u0027:\n  When installing/enabling a system app, bootstrap it\n"
    },
    {
      "commit": "6e629e84c52c870ff6fe6d0493861997929209f4",
      "tree": "ca3a59c8fa7be63b52112b7977c7b6fe34359aa4",
      "parents": [
        "dd7d8ec17ec1129f33764e025366129d3562ea7e",
        "95a9bfe2ba75d79fff8157ed57e75c4ffb5a08ac"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 30 17:48:59 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 17:48:59 2013 -0700"
      },
      "message": "am 95a9bfe2: When installing/enabling a system app, bootstrap it\n\n* commit \u002795a9bfe2ba75d79fff8157ed57e75c4ffb5a08ac\u0027:\n  When installing/enabling a system app, bootstrap it\n"
    },
    {
      "commit": "95a9bfe2ba75d79fff8157ed57e75c4ffb5a08ac",
      "tree": "42850cb1e7fce1a2b15a8e2bbde7f9afc26a3651",
      "parents": [
        "203aa72e747794a64a8262ceb6c9cdc8381e77cb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 30 17:40:32 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 30 17:40:32 2013 -0700"
      },
      "message": "When installing/enabling a system app, bootstrap it\n\nSpecifically, send it a BOOT_COMPLETED broadcast just as it would have\nreceived during device (or user) startup.\n\nBug 8594153\n\nChange-Id: I847c16df56d038a25758e594f951bc15348edc19\n"
    },
    {
      "commit": "f7b8bc48afd2cef342abc4ad3545a6e7d310b159",
      "tree": "a909396f73fe9a195b5736f8c0753bea760fa09a",
      "parents": [
        "a934ad112c9da1c7a342a990fcb06bae2ea7485e"
      ],
      "author": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Tue Apr 30 16:36:56 2013 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Tue Apr 30 17:37:00 2013 -0700"
      },
      "message": "Fix an NPE and fd leak in SELinux policy updater.\n\nBug: 8769213\nChange-Id: Iff80be6109a1586d818754c8f9f5053b816fbd57\n"
    },
    {
      "commit": "9af61ff66a799b8065d7cc5c4882178827a0061f",
      "tree": "97b491b29d15b6d29645d7797ea6aaf81ff7218e",
      "parents": [
        "0a2ac8c6228f2202a0fca162e6c85680a17ef225",
        "5473ffba405af12f2c5d3a7363ed959a9648eaf4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 16:45:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 16:45:49 2013 -0700"
      },
      "message": "am 5473ffba: am f6a2598f: Merge \"Removing a debug check when logging fstrim events.\" into jb-mr2-dev\n\n* commit \u00275473ffba405af12f2c5d3a7363ed959a9648eaf4\u0027:\n  Removing a debug check when logging fstrim events.\n"
    },
    {
      "commit": "0a2ac8c6228f2202a0fca162e6c85680a17ef225",
      "tree": "448b271cf5847433663629e8c83cc349637dfb61",
      "parents": [
        "cb79506984e23e9d9fc0d45a034c9c19e8f5ca0a",
        "86fe273f26ff8957a096911a20f4a48df5de470a"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 16:45:47 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 16:45:47 2013 -0700"
      },
      "message": "am 86fe273f: am cff4b18e: Merge \"Perform idle maintenance when the device is charging.\" into jb-mr2-dev\n\n* commit \u002786fe273f26ff8957a096911a20f4a48df5de470a\u0027:\n  Perform idle maintenance when the device is charging.\n"
    },
    {
      "commit": "5473ffba405af12f2c5d3a7363ed959a9648eaf4",
      "tree": "b1438ad36a6d42d0aa7e16b98b0ab6332e27882b",
      "parents": [
        "86fe273f26ff8957a096911a20f4a48df5de470a",
        "f6a2598fc4a1595e9fb77bd542047a4c8006d337"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 16:42:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 16:42:58 2013 -0700"
      },
      "message": "am f6a2598f: Merge \"Removing a debug check when logging fstrim events.\" into jb-mr2-dev\n\n* commit \u0027f6a2598fc4a1595e9fb77bd542047a4c8006d337\u0027:\n  Removing a debug check when logging fstrim events.\n"
    },
    {
      "commit": "86fe273f26ff8957a096911a20f4a48df5de470a",
      "tree": "e63c9413dc86078e21c75cff57f2698719f3f562",
      "parents": [
        "5bf93be4f45d62e685d2d124fa105d7fe5e9ffd1",
        "cff4b18eeb35c832d0d48ca539ec722d9159ec70"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 16:42:54 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 16:42:54 2013 -0700"
      },
      "message": "am cff4b18e: Merge \"Perform idle maintenance when the device is charging.\" into jb-mr2-dev\n\n* commit \u0027cff4b18eeb35c832d0d48ca539ec722d9159ec70\u0027:\n  Perform idle maintenance when the device is charging.\n"
    },
    {
      "commit": "09aa0cf6f69275937a1ed5d35abc1c1643b7db8a",
      "tree": "ccbea450cfd66de0aa2dfd6bef21302100f95150",
      "parents": [
        "52ae8e845e325987bf1305f017dde6d8f7e3b98a",
        "ec43a6bc17d90058ba2c00e016846c863ab239bc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 30 22:14:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 30 22:14:12 2013 +0000"
      },
      "message": "Merge \"Better --unplugged support when dumping battery.\""
    },
    {
      "commit": "ec43a6bc17d90058ba2c00e016846c863ab239bc",
      "tree": "1068e069b2cfb51a6a9b308c6bd5be952b5184cc",
      "parents": [
        "f1301d86fb7f414330b08dd9514436e65ba69ceb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 30 13:33:18 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 30 13:33:18 2013 -0700"
      },
      "message": "Better --unplugged support when dumping battery.\n\nAlso fixes logBatteryStatsLocked() to output valid dump data, instead\nof just a usage message.\n\nBug: 8708665\nChange-Id: Ie0d8d90e1a470b7e1e902643333309c2cf7bdb72\n"
    },
    {
      "commit": "f6a2598fc4a1595e9fb77bd542047a4c8006d337",
      "tree": "c30ab6aa37d1a9204dba25f785720f1f0d9292ee",
      "parents": [
        "cff4b18eeb35c832d0d48ca539ec722d9159ec70",
        "9e814a8c021737a389c534db0336d9762e389760"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 18:05:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 30 18:05:48 2013 +0000"
      },
      "message": "Merge \"Removing a debug check when logging fstrim events.\" into jb-mr2-dev"
    },
    {
      "commit": "9e814a8c021737a389c534db0336d9762e389760",
      "tree": "650ca626e7ac0feab2889e3ec17cb93e279dd10d",
      "parents": [
        "f23b64df94bbff9ac8c87832dea9c1bc0ae9a950"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 10:43:56 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 10:43:59 2013 -0700"
      },
      "message": "Removing a debug check when logging fstrim events.\n\nThis change is removing the check for debuggable build to\nlog fstrim events. While this was done everywhere else, one\nplace was overlooked.\n\nbug:8688454\n\nChange-Id: I354e1deebfd801f971dd91b9e7972c6ebfd093f3\n"
    },
    {
      "commit": "cff4b18eeb35c832d0d48ca539ec722d9159ec70",
      "tree": "5715529089770c091adc51a123c76374e6cd0286",
      "parents": [
        "f0e8c78a11c43f23ea314166707039e2c4b5361f",
        "f23b64df94bbff9ac8c87832dea9c1bc0ae9a950"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 17:41:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 30 17:41:21 2013 +0000"
      },
      "message": "Merge \"Perform idle maintenance when the device is charging.\" into jb-mr2-dev"
    },
    {
      "commit": "f23b64df94bbff9ac8c87832dea9c1bc0ae9a950",
      "tree": "deb5feb6d7ba0791b4cbc7be5b2896fb343703a2",
      "parents": [
        "7c98c196282629fc7a842e67ceca3d9686f3f23a"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 25 14:45:54 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 30 10:19:53 2013 -0700"
      },
      "message": "Perform idle maintenance when the device is charging.\n\nAdded the precondition that the device should be charging to the\nexisting ones of the device not being used for awhile and the\nbattery level being high enough. Note that even if the device is\ncharging, we have to check the battery level since the user can\nunplug it at any time.\n\nbug:8688454\n\nChange-Id: I709b1620571301743dc3504a6a625e2018951bfa\n"
    },
    {
      "commit": "3ddee7d6e9c0e509af7cfa5ccb1db5fa1256c100",
      "tree": "5291e86b4a36bf70adea8b34026e8090834e5c77",
      "parents": [
        "b7294d74dd29b2f791613558d1a6940c47494528",
        "fd0b0072db6d89c85a5ea20383a1c3dc289d1d38"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 30 08:54:22 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 30 08:54:22 2013 -0700"
      },
      "message": "am fd0b0072: am 9f844790: Merge \"Remove scan notification dialog on wifi off\" into jb-mr2-dev\n\n* commit \u0027fd0b0072db6d89c85a5ea20383a1c3dc289d1d38\u0027:\n  Remove scan notification dialog on wifi off\n"
    },
    {
      "commit": "f80d45bfc40ac0093cb2065afc465477bda7fc65",
      "tree": "590bc6ea00b0717837e097b09d7fbf2981eebe35",
      "parents": [
        "752625c8448388e0f1c33cf3e3bf082c57b8f575",
        "3424b817f641edaa9505b3c263cad04f1ceee2af"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 30 08:45:12 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 30 08:45:12 2013 -0700"
      },
      "message": "resolved conflicts for merge of 3424b817 to master\n\nChange-Id: Idb5bb208aa6aca66744fe6988029d22e739cc67b\n"
    },
    {
      "commit": "9db9a0bde5e199a6043fdb0065012d1812906dae",
      "tree": "bd67fa160a7d7fd4011a5e7c76f89c86906e1b6c",
      "parents": [
        "0e415c66620871feefc55e617f3f1f61fcd6c7b1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 17:05:56 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 17:05:56 2013 -0700"
      },
      "message": "Move task methods into TaskRecord.\n\nStop doing backflips to do task operations in ActivityStack.\n\nChange-Id: I57b1be6affcb8b7d504ae33b3e44bde2e6253f1c\n"
    },
    {
      "commit": "0e415c66620871feefc55e617f3f1f61fcd6c7b1",
      "tree": "d7a90444fd313b90c02c926330f92d1781e53b86",
      "parents": [
        "6601b7bdeb46756fd83ad4c1966ef966c52b46e4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 16:10:58 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 16:18:29 2013 -0700"
      },
      "message": "A better fix for bug 8740202.\n\nContinue to layout windows that are animating away. Otherwise they\ndon\u0027t track with their parent windows that may be moving at the\nsame time.\n\nChange-Id: Ic5b762ee538219fd6193e27dde6c245cbaa098df\n"
    },
    {
      "commit": "fd0b0072db6d89c85a5ea20383a1c3dc289d1d38",
      "tree": "45e293c50bcc90d11a1cc4841f46111cff67dc79",
      "parents": [
        "5dc2ac4d7b5fdc7d3c1d9c60c47ad654ca55738d",
        "9f844790f305338de4fa3adda5e125c811f280ca"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 29 16:01:55 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 29 16:01:55 2013 -0700"
      },
      "message": "am 9f844790: Merge \"Remove scan notification dialog on wifi off\" into jb-mr2-dev\n\n* commit \u00279f844790f305338de4fa3adda5e125c811f280ca\u0027:\n  Remove scan notification dialog on wifi off\n"
    },
    {
      "commit": "9f844790f305338de4fa3adda5e125c811f280ca",
      "tree": "de95f899da3178c4549efa0406d6c4cac66e5e97",
      "parents": [
        "7318b84054144c2461fd9392870691b394b44b89",
        "7167a66b5eca119ae56dfe3f659a63d92e84ae2c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 29 22:58:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 29 22:58:50 2013 +0000"
      },
      "message": "Merge \"Remove scan notification dialog on wifi off\" into jb-mr2-dev"
    },
    {
      "commit": "3424b817f641edaa9505b3c263cad04f1ceee2af",
      "tree": "c302ea30351bc27bb0795a8e5db8cc2ad6d1050b",
      "parents": [
        "460778f10475bb9fa02cbfe8af7faef38807435c",
        "c579063615d93ba37df0bd71d96ec3bfafc586c4"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Apr 29 12:38:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 29 12:38:19 2013 -0700"
      },
      "message": "am c5790636: Merge \"Donot start Bluetooth Manager Service when bluetooth hardware feature is missing\" into jb-mr2-dev\n\n* commit \u0027c579063615d93ba37df0bd71d96ec3bfafc586c4\u0027:\n  Donot start Bluetooth Manager Service when bluetooth hardware feature is missing\n"
    },
    {
      "commit": "c579063615d93ba37df0bd71d96ec3bfafc586c4",
      "tree": "4a039ba8ebf7e695f60fdad209a09a03d169c5ec",
      "parents": [
        "906e57d8c03f887aab6a48001e9d0bdff9864365",
        "1dd01eb36b63d870d75aec189dd1718a1663c272"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Apr 29 19:35:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 29 19:35:28 2013 +0000"
      },
      "message": "Merge \"Donot start Bluetooth Manager Service when bluetooth hardware feature is missing\" into jb-mr2-dev"
    },
    {
      "commit": "6601b7bdeb46756fd83ad4c1966ef966c52b46e4",
      "tree": "65914c231009108659f502f811319ecaea74cda5",
      "parents": [
        "eda67299cf14de315af12cbf8d5024e02fa5b1aa"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 10:29:11 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 29 10:29:11 2013 -0700"
      },
      "message": "Exclude regions from the tap detector.\n\nFix typing on the keyboard causing focus to shift stacks.\n\nChange-Id: I4ec9ccdbe35e27f4860a5bdf0e2818f58e53b873\n"
    },
    {
      "commit": "eda67299cf14de315af12cbf8d5024e02fa5b1aa",
      "tree": "4576dc09b57b0ec8526a9dbf9b46ef12941f0691",
      "parents": [
        "ccb825dde6ecd8678c1617179048913057d2f9c5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Apr 28 13:50:14 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Apr 28 13:50:14 2013 -0700"
      },
      "message": "Generic refactoring for clarity.\n\n- Log.* was being interspersed with Slog.*.\n- WindowState Rects were being converted to local variables making\nit harder to find all references to them.\n\nChange-Id: I868a32028604d46dbbc15b005a440f0571336293\n"
    },
    {
      "commit": "ccb825dde6ecd8678c1617179048913057d2f9c5",
      "tree": "dd0ae857003cbeebd00ab46be459541620e1cd92",
      "parents": [
        "3dc75ac65f7bb077fd6afa3a7ad35f5899adf445",
        "f76664673eed1c7b2fa141ce99e01028bc7a1be0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Apr 28 16:02:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 28 16:02:47 2013 +0000"
      },
      "message": "Merge \"Clean up FocusedStackFrame layer setting.\""
    },
    {
      "commit": "f76664673eed1c7b2fa141ce99e01028bc7a1be0",
      "tree": "1443c86f5856638c2c78777120a02eefe483b27b",
      "parents": [
        "580ea81ccdf29a7af0da88b43d2676fec93e4e5d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Apr 28 08:58:21 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Apr 28 08:58:21 2013 -0700"
      },
      "message": "Clean up FocusedStackFrame layer setting.\n\n- Putting the stack frame above the highest app window layer ends up\nputting it over the IME when the caret popup is showing. This puts\nthe stack frame layer above the highest non-child window layer.\n\n- Also change the timing so the layer isn\u0027t applied until all other\nlayers are also being applied.\n\nChange-Id: Ic5f142998822ac1e3890a2943cda7fc86a7e7974\n"
    },
    {
      "commit": "3dc75ac65f7bb077fd6afa3a7ad35f5899adf445",
      "tree": "e873744d256c8216be4ed05a8bba1cb84cd661d6",
      "parents": [
        "5a996b30f7dfe106f381299020b9a603c4789d40"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 15:08:16 2013 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Apr 26 18:05:36 2013 -0700"
      },
      "message": "The helper query bridge in AccessibilityServiceManager missing capability.\n\n1. The helper query bridge service did not have the now capability\n   to query the screen content.\n\n2. Fixing the build.\n\nbug:8633951\n\nChange-Id: Ief6a3387793710a83b83c18cc6c53b51dcda9bdf\n"
    },
    {
      "commit": "3a3f47e53188f15a68d22392958ede741d71fa0f",
      "tree": "7109a4b0b45d38f081bed7b2e0ac1d81b5c19db0",
      "parents": [
        "f266c6b93f44fcc674d4c5686af0c1d1b782dab0",
        "eecf22d464579e5b7a3baaa6c450481778b59a45"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 15:23:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 15:23:36 2013 -0700"
      },
      "message": "am eecf22d4: Merge \"The helper query bridge in AccessibilityServiceManager missing capability.\" into jb-mr2-dev\n\n* commit \u0027eecf22d464579e5b7a3baaa6c450481778b59a45\u0027:\n  The helper query bridge in AccessibilityServiceManager missing capability.\n"
    },
    {
      "commit": "eecf22d464579e5b7a3baaa6c450481778b59a45",
      "tree": "2fee562939f536148afb678ec1d08a5b7a1c16cb",
      "parents": [
        "f99177f3944e06fc7a1a516a0b703794e39af5f1",
        "108fe59c12d49eace4843315655ee4b6b8145e9d"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 22:20:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 22:20:57 2013 +0000"
      },
      "message": "Merge \"The helper query bridge in AccessibilityServiceManager missing capability.\" into jb-mr2-dev"
    },
    {
      "commit": "7167a66b5eca119ae56dfe3f659a63d92e84ae2c",
      "tree": "c390509d4ed0844f44873298a125dfd7a53063e8",
      "parents": [
        "cca308e3e841731662d3ceacf3c631ce5ecf8fb2"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 26 15:10:26 2013 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 26 15:10:26 2013 -0700"
      },
      "message": "Remove scan notification dialog on wifi off\n\nThis is now only handled in settings app\n\nBug: 8732391\nChange-Id: If232bfb9f6c3976059bde11280318901c35161e7\n"
    },
    {
      "commit": "108fe59c12d49eace4843315655ee4b6b8145e9d",
      "tree": "748b99848d986c2a1fb48d8553edfd358fda2f3b",
      "parents": [
        "ca523d6e95061f99455589512100839118044d43"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 15:08:16 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 15:08:19 2013 -0700"
      },
      "message": "The helper query bridge in AccessibilityServiceManager missing capability.\n\n1. The helper query bridge service did not have the now capability\n   to query the screen content.\n\n2. Fixing the build.\n\nbug:8633951\n\nChange-Id: Ief6a3387793710a83b83c18cc6c53b51dcda9bdf\n"
    },
    {
      "commit": "fd782549be3e08e924b61bbe1b9d7996ccc1fd57",
      "tree": "b91b0903a2fae519a27fcdc87cd4bd43fe9730d9",
      "parents": [
        "69fd7bd660a3a2d1b4c260eee9bbc6868b47d0c4",
        "d66496bcaacd454e3c3a2d47910653989d48fcda"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 14:42:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 14:42:19 2013 -0700"
      },
      "message": "am d66496bc: am fdbd23c6: Merge \"Deliver key events to the system if no accessibility service handles them.\" into jb-mr2-dev\n\n* commit \u0027d66496bcaacd454e3c3a2d47910653989d48fcda\u0027:\n  Deliver key events to the system if no accessibility service handles them.\n"
    }
  ],
  "next": "d66496bcaacd454e3c3a2d47910653989d48fcda"
}
