)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "d66496bcaacd454e3c3a2d47910653989d48fcda",
      "tree": "bd7578c24887f75cb6329e537d16f9632cb44517",
      "parents": [
        "bb393d68e4dbb5334c3b3984ef2020e0cfc7e790",
        "fdbd23c64f03ee39759208252a965fec81ad860a"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 14:40:28 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 14:40:28 2013 -0700"
      },
      "message": "am fdbd23c6: Merge \"Deliver key events to the system if no accessibility service handles them.\" into jb-mr2-dev\n\n* commit \u0027fdbd23c64f03ee39759208252a965fec81ad860a\u0027:\n  Deliver key events to the system if no accessibility service handles them.\n"
    },
    {
      "commit": "fdbd23c64f03ee39759208252a965fec81ad860a",
      "tree": "5103361cc186213f768b1778e642182a9bbde403",
      "parents": [
        "0b063188054e8d1843f19325063349529494e29d",
        "ca523d6e95061f99455589512100839118044d43"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 21:37:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 21:37:05 2013 +0000"
      },
      "message": "Merge \"Deliver key events to the system if no accessibility service handles them.\" into jb-mr2-dev"
    },
    {
      "commit": "ca523d6e95061f99455589512100839118044d43",
      "tree": "2e07e34a660730362dcf01cc2ce08bfddcd4e06b",
      "parents": [
        "5866570947a7ef325f74d9dbfc1ccbdd02d3e7b6"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 13:11:11 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 26 13:58:09 2013 -0700"
      },
      "message": "Deliver key events to the system if no accessibility service handles them.\n\nWe have APIs that allow an accessibility service to filter key events. The\nservice has to declare the capability to toggle event filtering in its\nmanifest and then it can set a flag to toggle the feature at runtime. The\nproblem was that even if no accessibility service was handling key events\nthese events were not fed back to the input system.\n\nThis change adds a new feature flag in the accessibility input filter that\nis set only if at least one service can and wants to filter key events. If\nthe feature flag is set then the filter will deliver events to services and\n,if they are not handled, to the system. This change also cleaned the logic\nfor updating the input filter.\n\nbug:8713422\n\nChange-Id: I4bc0c1348676569d1b76e9024708d1ed43ceb26a\n"
    },
    {
      "commit": "69fd7bd660a3a2d1b4c260eee9bbc6868b47d0c4",
      "tree": "aab9ce08feba8e14b8b5de47255fc616c1050005",
      "parents": [
        "ac74c517fc52fab79e7b1f592dfeac3df37fd70d",
        "bb393d68e4dbb5334c3b3984ef2020e0cfc7e790"
      ],
      "author": {
        "name": "gcondra@google.com",
        "email": "gcondra@google.com",
        "time": "Fri Apr 26 13:39:39 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 13:39:39 2013 -0700"
      },
      "message": "am bb393d68: am 0b063188: Merge \"Set persistent property for SELinux enforcement on update.\" into jb-mr2-dev\n\n* commit \u0027bb393d68e4dbb5334c3b3984ef2020e0cfc7e790\u0027:\n  Set persistent property for SELinux enforcement on update.\n"
    },
    {
      "commit": "bb393d68e4dbb5334c3b3984ef2020e0cfc7e790",
      "tree": "2de44e04b8e6e7c4843ec8447fb4ce67c0d2f006",
      "parents": [
        "032d8e3890335e96b16bfa3fbd7706fbb0f2d2c0",
        "0b063188054e8d1843f19325063349529494e29d"
      ],
      "author": {
        "name": "gcondra@google.com",
        "email": "gcondra@google.com",
        "time": "Fri Apr 26 13:37:51 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 13:37:51 2013 -0700"
      },
      "message": "am 0b063188: Merge \"Set persistent property for SELinux enforcement on update.\" into jb-mr2-dev\n\n* commit \u00270b063188054e8d1843f19325063349529494e29d\u0027:\n  Set persistent property for SELinux enforcement on update.\n"
    },
    {
      "commit": "0b063188054e8d1843f19325063349529494e29d",
      "tree": "91a7798640c88fb8c89816bb6c38851b4c278cbd",
      "parents": [
        "bfdd25663289546ad38586c87f5c0db6c6fb7812",
        "12566be46cdd98884fcd94a33e1ebff534536d15"
      ],
      "author": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Fri Apr 26 20:31:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 20:31:37 2013 +0000"
      },
      "message": "Merge \"Set persistent property for SELinux enforcement on update.\" into jb-mr2-dev"
    },
    {
      "commit": "b551c6d95925fc8324d962df5b75fa6e14058c28",
      "tree": "0f54075e482677f6f25a99607b05023530149290",
      "parents": [
        "0bd6a395d82d9b9cfa847678c65e243ba491df6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 26 11:54:53 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 26 11:54:53 2013 -0700"
      },
      "message": "Fix wfd crash after disconnect due to null pointer exception in\n\nWindowManagerService.java\n\nChange-Id: I661f9c73d481da88661793ad529c0807cf74a5e7\n"
    },
    {
      "commit": "68a13f3df46d675671d08202e76f6f18d423fda7",
      "tree": "7eab4d47970e361f6b57f9600e0f1224df605fd8",
      "parents": [
        "b31c361077aae2145360288b258d71bfd40655ee",
        "c054d414eeafd5ba226c743626b9a7139bda9425"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 17:14:31 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 17:14:31 2013 -0700"
      },
      "message": "am c054d414: am 99ba7203: Merge \"Avoid leaking Surface native object.\" into jb-mr2-dev\n\n* commit \u0027c054d414eeafd5ba226c743626b9a7139bda9425\u0027:\n  Avoid leaking Surface native object.\n"
    },
    {
      "commit": "60c7acaaf9f71a24874b2d1fdd09be3feb9b8772",
      "tree": "f40baecee3041cfd5c9945d7bcdcc42c58e3d516",
      "parents": [
        "2d0ed28ff65ad110c875a61cb3c20ca922640bd6",
        "3e013e85b0dfb9db58a4401b80d672a7eeb09d47"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 26 00:02:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 00:02:49 2013 +0000"
      },
      "message": "Merge \"Track foreground activities in battery stats.\""
    },
    {
      "commit": "3e013e85b0dfb9db58a4401b80d672a7eeb09d47",
      "tree": "3ce7ee4ab6c8b1b301a3bb6ee502d4dac2ce5ed7",
      "parents": [
        "58b98d392d47c2acdf19cea988f0ac547b83e670"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 14:48:19 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 17:01:37 2013 -0700"
      },
      "message": "Track foreground activities in battery stats.\n\nTo help correlate battery usage against actual foreground app usage,\nstart tracking time on a per UID basis.  It uses the nesting feature\nof StopwatchTimer to track multiple PIDs inside the same UID.\n\nImproves units on docs, and persists foreground CPU time with a\nconsistent ordering.  Reports foreground activities time and\nforeground CPU time.\n\nChange-Id: I95d12963923e3fd421730f6fbfc842dfd8d3a055\n"
    },
    {
      "commit": "914dcfd093c1c87822f28d527a8eadc12485f742",
      "tree": "42f01998fdc918a2a0c21bebe73d4a49bbbe4271",
      "parents": [
        "06cacff6265bb7173e4a02dcd99102f2c86c3169",
        "ca12d75577afb7063af4cae1e6b989eec905cd58"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 17:01:13 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 17:01:13 2013 -0700"
      },
      "message": "am ca12d755: am 027f84c3: Merge \"API: getPkg() -\u003e getPackageName()\" into jb-mr2-dev\n\n* commit \u0027ca12d75577afb7063af4cae1e6b989eec905cd58\u0027:\n  API: getPkg() -\u003e getPackageName()\n"
    },
    {
      "commit": "06cacff6265bb7173e4a02dcd99102f2c86c3169",
      "tree": "3771a76cc468bd12a9dd33ea37e7e487210e2d9b",
      "parents": [
        "58b98d392d47c2acdf19cea988f0ac547b83e670",
        "4064af9b096dfdf317d158c8aafd396c86f3fd0a"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 17:01:10 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 17:01:10 2013 -0700"
      },
      "message": "am 4064af9b: am a7b6cbf1: Merge \"API cleanup: NotificationListener\" into jb-mr2-dev\n\n* commit \u00274064af9b096dfdf317d158c8aafd396c86f3fd0a\u0027:\n  API cleanup: NotificationListener\n"
    },
    {
      "commit": "c054d414eeafd5ba226c743626b9a7139bda9425",
      "tree": "d6a1c1f9117e9e688a40becde19fdd32c1194845",
      "parents": [
        "f652551b3b6ad862b44c338835a83a562e62d98a",
        "99ba72039d9d97ea3ed7d01b327b98c87051e989"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 16:57:54 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 16:57:54 2013 -0700"
      },
      "message": "am 99ba7203: Merge \"Avoid leaking Surface native object.\" into jb-mr2-dev\n\n* commit \u002799ba72039d9d97ea3ed7d01b327b98c87051e989\u0027:\n  Avoid leaking Surface native object.\n"
    },
    {
      "commit": "ca12d75577afb7063af4cae1e6b989eec905cd58",
      "tree": "b0c9c86ad3dc2314a8c5717e41feff5d74e05375",
      "parents": [
        "4064af9b096dfdf317d158c8aafd396c86f3fd0a",
        "027f84c310158edfc94d94ab0ef0480843d49d3b"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 16:57:45 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 16:57:45 2013 -0700"
      },
      "message": "am 027f84c3: Merge \"API: getPkg() -\u003e getPackageName()\" into jb-mr2-dev\n\n* commit \u0027027f84c310158edfc94d94ab0ef0480843d49d3b\u0027:\n  API: getPkg() -\u003e getPackageName()\n"
    },
    {
      "commit": "4064af9b096dfdf317d158c8aafd396c86f3fd0a",
      "tree": "a05458f6e97ce6d93bb69fc85c729d805ecc6a9a",
      "parents": [
        "fa1c443063f3d3a98c4f3bb71689fb3e1d4c6c37",
        "a7b6cbf1a3fe91bdbb01edd9a656a62c40c302fd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 16:57:43 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 16:57:43 2013 -0700"
      },
      "message": "am a7b6cbf1: Merge \"API cleanup: NotificationListener\" into jb-mr2-dev\n\n* commit \u0027a7b6cbf1a3fe91bdbb01edd9a656a62c40c302fd\u0027:\n  API cleanup: NotificationListener\n"
    },
    {
      "commit": "58b98d392d47c2acdf19cea988f0ac547b83e670",
      "tree": "8d7d8d8550b5c7f42f38db9392fac8db29c3568a",
      "parents": [
        "5944ae74da94e87815f4cc580cfc4ae9425eafce",
        "5782da778ca2f282b763fa64a8f7ec079cad4d70"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 23:49:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 23:49:08 2013 +0000"
      },
      "message": "Merge \"Report dead activities as paused to stats.\""
    },
    {
      "commit": "5782da778ca2f282b763fa64a8f7ec079cad4d70",
      "tree": "51ebdf1914e7208eb59178f8527c9e74f2cadf03",
      "parents": [
        "7efcc0c16d7a70327b93c7d230a85232c2db6ef1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 14:32:30 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 15:01:48 2013 -0700"
      },
      "message": "Report dead activities as paused to stats.\n\nAlso tell stats about pause before dispatching to remote side.\n\nChange-Id: I975d0fba65515fa768127792d5aa7976df2ba2d3\n"
    },
    {
      "commit": "4da44d144abc3af7c0fcf182f2106c861979c0e7",
      "tree": "ab547c4f12bad5485ba9a06ba3af62063c3c51e5",
      "parents": [
        "6064df5c647002761db5686e6fa1db152c661e8b"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Apr 25 14:44:55 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Apr 25 14:44:55 2013 -0700"
      },
      "message": "Improve watchdog explanation when system server is blocked\n\nChange-Id: I5965a2b01c474cbe2a1ab342c3520b3d403d92e8\n"
    },
    {
      "commit": "99ba72039d9d97ea3ed7d01b327b98c87051e989",
      "tree": "9bfccb1b4f365720de6b0ba03cb49a3ed2f26872",
      "parents": [
        "b044c40c154ba8abe62154608812ad87993ca0d8",
        "21ef9647e8bd9997ed63f891b13bc3cc0f566b52"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 21:43:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 21:43:28 2013 +0000"
      },
      "message": "Merge \"Avoid leaking Surface native object.\" into jb-mr2-dev"
    },
    {
      "commit": "12566be46cdd98884fcd94a33e1ebff534536d15",
      "tree": "ddc829dca0ad5d0d3b3ab4cd792ea716b5ee1566",
      "parents": [
        "78cfd3cc432e8660cb23619b354a418a7a26f4b0"
      ],
      "author": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Wed Apr 24 11:26:01 2013 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "gcondra@google.com",
        "time": "Thu Apr 25 14:41:33 2013 -0700"
      },
      "message": "Set persistent property for SELinux enforcement on update.\n\nBug: 8702843\nChange-Id: I41c0084a71160061b297d57d995261e238ea555c\n"
    },
    {
      "commit": "027f84c310158edfc94d94ab0ef0480843d49d3b",
      "tree": "ad5fdc12f78974bf93c500e79c6ac5499c6e843c",
      "parents": [
        "a7b6cbf1a3fe91bdbb01edd9a656a62c40c302fd",
        "4f91efdf421e354ee2033ed640e4150cf0cef21b"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 21:03:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 21:03:55 2013 +0000"
      },
      "message": "Merge \"API: getPkg() -\u003e getPackageName()\" into jb-mr2-dev"
    },
    {
      "commit": "6064df5c647002761db5686e6fa1db152c661e8b",
      "tree": "ea5e81bad4ebd9598266ee6bafffaeafdcfcba49",
      "parents": [
        "4699b68859d1c40eaabb5ea0ee625f0c745e6538",
        "fa1c443063f3d3a98c4f3bb71689fb3e1d4c6c37"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 13:50:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 13:50:40 2013 -0700"
      },
      "message": "am fa1c4430: am 5e97c317: Merge \"New NotificationListener API: getActiveNotifications()\" into jb-mr2-dev\n\n* commit \u0027fa1c443063f3d3a98c4f3bb71689fb3e1d4c6c37\u0027:\n  New NotificationListener API: getActiveNotifications()\n"
    },
    {
      "commit": "edb9639f7fe7b2ce43c46c1d4263b704a71fc7c8",
      "tree": "cc99a911633c1542226f62d248f272524c2ea7d9",
      "parents": [
        "458dd87552ba556ee2195a3efa7cc9f057142b69",
        "0882a90e1a357dc6882075b6b6e7c0b14de90645"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Apr 25 13:50:21 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 13:50:21 2013 -0700"
      },
      "message": "am 0882a90e: am 09bb9f66: Merge \"Ensure the intent firewall dir exists before starting the FileObserver\" into jb-mr2-dev\n\n* commit \u00270882a90e1a357dc6882075b6b6e7c0b14de90645\u0027:\n  Ensure the intent firewall dir exists before starting the FileObserver\n"
    },
    {
      "commit": "458dd87552ba556ee2195a3efa7cc9f057142b69",
      "tree": "78e9c217e6f3b0f4b21e430b78b85faa289f4eb2",
      "parents": [
        "a7ef6c50b6f31fec5995ebbd49bf23c4f952c5c4",
        "580ea81ccdf29a7af0da88b43d2676fec93e4e5d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 25 20:46:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 20:46:05 2013 +0000"
      },
      "message": "Merge \"Fix launching non-full screen apps from home.\""
    },
    {
      "commit": "4f91efdf421e354ee2033ed640e4150cf0cef21b",
      "tree": "3a5b04303019172efc58fc38aad48f579e1203b6",
      "parents": [
        "e6f7f2e3a01b8deb00e03ccfa93751c315f14ef0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 16:38:41 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 16:39:02 2013 -0400"
      },
      "message": "API: getPkg() -\u003e getPackageName()\n\nBug: 8656860\nChange-Id: If3062b9fc00270e5f0ecfe67e593b9a28c6bccdd\n"
    },
    {
      "commit": "a7b6cbf1a3fe91bdbb01edd9a656a62c40c302fd",
      "tree": "a04b636bf6520a4842280ee3520c908ccf43f818",
      "parents": [
        "5e97c317e07a81bf5670292e2223e14eb610b0fd",
        "e6f7f2e3a01b8deb00e03ccfa93751c315f14ef0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 20:16:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 20:16:49 2013 +0000"
      },
      "message": "Merge \"API cleanup: NotificationListener\" into jb-mr2-dev"
    },
    {
      "commit": "7efcc0c16d7a70327b93c7d230a85232c2db6ef1",
      "tree": "c6f711f776b1770711b778935209176e41f66377",
      "parents": [
        "007d4d7040c9b41de584e79ba7dbd15d25f54971"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 12:53:00 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 13:11:47 2013 -0700"
      },
      "message": "Skip reporting resumes due to config change.\n\nThis gives us matching pause/resume calls to updateUsageStats(),\nsince configuration changes never report the pause event.\n\nChange-Id: I5c8afc28766cd90d4bd793980265ce7988750cae\n"
    },
    {
      "commit": "580ea81ccdf29a7af0da88b43d2676fec93e4e5d",
      "tree": "0820812fdb0416b2b7258c895178bdcfbf4c4914",
      "parents": [
        "c64f73e7785507152358fbfa89be0ce7a0196692"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 25 12:58:38 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 25 12:58:38 2013 -0700"
      },
      "message": "Fix launching non-full screen apps from home.\n\n- Continue to display the home screen for non-fullscreen activities\nsuch as Download. Previously launching Download from home would\ndisplay Download on top of the previous activity on the user activity\nstack.\n\n- Fix NPE when DEBUG_PROVIDER is true.\n\nChange-Id: I705ea43e4b78a5f5e83fc3f5fa83e4c95e592268\n"
    },
    {
      "commit": "21ef9647e8bd9997ed63f891b13bc3cc0f566b52",
      "tree": "a41437ff9c8065a30ff06f0d6132e1ccb5fdd09a",
      "parents": [
        "7c98c196282629fc7a842e67ceca3d9686f3f23a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 11:34:23 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 25 12:56:42 2013 -0700"
      },
      "message": "Avoid leaking Surface native object.\n\nBug: 8721827\nChange-Id: I8d6192b8eb47911fcf4964de399c7dba94ed9286\n"
    },
    {
      "commit": "e6f7f2e3a01b8deb00e03ccfa93751c315f14ef0",
      "tree": "74beebf24f5a077a2441c7342b1f005864ca1920",
      "parents": [
        "25cf8cee6f304a286d321204e448b18ce733a60c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 15:44:16 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 15:51:08 2013 -0400"
      },
      "message": "API cleanup: NotificationListener\n\n  - Wrap all public member variables in getters and make\n    slots private\n  - Rename clear* methods to cancel* to be more consistent\n    with existing public Notification API\n\nBug: 8656860\nChange-Id: I84f7e71fbb627f859352a93089c6a531b44dac95\n"
    },
    {
      "commit": "fa1c443063f3d3a98c4f3bb71689fb3e1d4c6c37",
      "tree": "3c085beabae8c2c468b5cb0fe0f2c898436e81e5",
      "parents": [
        "269c068de9ffb44aefa0bca99c77636263f8b8fb",
        "5e97c317e07a81bf5670292e2223e14eb610b0fd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 12:44:52 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 12:44:52 2013 -0700"
      },
      "message": "am 5e97c317: Merge \"New NotificationListener API: getActiveNotifications()\" into jb-mr2-dev\n\n* commit \u00275e97c317e07a81bf5670292e2223e14eb610b0fd\u0027:\n  New NotificationListener API: getActiveNotifications()\n"
    },
    {
      "commit": "5e97c317e07a81bf5670292e2223e14eb610b0fd",
      "tree": "396dd90cdb23e3f1183f1c14137bd117cd65ef2a",
      "parents": [
        "df18118529eecf7f9bd821552015fea5182c8840",
        "25cf8cee6f304a286d321204e448b18ce733a60c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 25 19:41:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 19:41:10 2013 +0000"
      },
      "message": "Merge \"New NotificationListener API: getActiveNotifications()\" into jb-mr2-dev"
    },
    {
      "commit": "0882a90e1a357dc6882075b6b6e7c0b14de90645",
      "tree": "cb0c7069508fa0cd541802930358f11c4d63c38d",
      "parents": [
        "a1e1d0053b0918218439c102bfffccba7f155af8",
        "09bb9f66a0c258d3393145d31529de92e55e039a"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Apr 25 10:42:04 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 25 10:42:04 2013 -0700"
      },
      "message": "am 09bb9f66: Merge \"Ensure the intent firewall dir exists before starting the FileObserver\" into jb-mr2-dev\n\n* commit \u002709bb9f66a0c258d3393145d31529de92e55e039a\u0027:\n  Ensure the intent firewall dir exists before starting the FileObserver\n"
    },
    {
      "commit": "09bb9f66a0c258d3393145d31529de92e55e039a",
      "tree": "9c7d51b05dc20a2553890f044baea21000a43594",
      "parents": [
        "7c98c196282629fc7a842e67ceca3d9686f3f23a",
        "63539dd6a3950385efda86975325d63862a8838f"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Apr 25 17:40:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 17:40:41 2013 +0000"
      },
      "message": "Merge \"Ensure the intent firewall dir exists before starting the FileObserver\" into jb-mr2-dev"
    },
    {
      "commit": "007d4d7040c9b41de584e79ba7dbd15d25f54971",
      "tree": "33900cb8f0d7454b102cca93fbf1565c1b755d30",
      "parents": [
        "61adfd4c6e7a6aefb6635b4c2c047c85fcba9411",
        "a1e1d0053b0918218439c102bfffccba7f155af8"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 24 20:26:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 20:26:49 2013 -0700"
      },
      "message": "am a1e1d005: am 7c98c196: Merge \"Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\" into jb-mr2-dev\n\n* commit \u0027a1e1d0053b0918218439c102bfffccba7f155af8\u0027:\n  Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\n"
    },
    {
      "commit": "a1e1d0053b0918218439c102bfffccba7f155af8",
      "tree": "93a3570d76c8e0500a5b370e7c8669ff2691579d",
      "parents": [
        "2abcd158c51d58506c5bf8417931330ab65015c8",
        "7c98c196282629fc7a842e67ceca3d9686f3f23a"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 24 20:24:51 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 20:24:51 2013 -0700"
      },
      "message": "am 7c98c196: Merge \"Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\" into jb-mr2-dev\n\n* commit \u00277c98c196282629fc7a842e67ceca3d9686f3f23a\u0027:\n  Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\n"
    },
    {
      "commit": "7c98c196282629fc7a842e67ceca3d9686f3f23a",
      "tree": "697cb093a99bbafc64fe8aa53c2a7f155888722f",
      "parents": [
        "7395838d8e45cf39c34d2f2e18da2bedd3e4dc33",
        "2b08c611c88bcb17cfb0861fed67cec6d009e83b"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Apr 25 03:22:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 03:22:51 2013 +0000"
      },
      "message": "Merge \"Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\" into jb-mr2-dev"
    },
    {
      "commit": "25cf8cee6f304a286d321204e448b18ce733a60c",
      "tree": "07f36464efefd2890fd42ee7b7a8fb2303abb009",
      "parents": [
        "7395838d8e45cf39c34d2f2e18da2bedd3e4dc33"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Apr 24 15:34:57 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Apr 24 23:19:08 2013 -0400"
      },
      "message": "New NotificationListener API: getActiveNotifications()\n\nThis allows a listener service to catch up on the current\nstate of the notification panel at any time, including at\nstartup.\n\nBug: 8656860\nChange-Id: I1a3d665d84576e17870929a63dda334afc696010\n"
    },
    {
      "commit": "2b08c611c88bcb17cfb0861fed67cec6d009e83b",
      "tree": "334c8a79fa2808cbf8dab7fd2fd14c4cb8a02345",
      "parents": [
        "22a3344cda1a3dcf4f719e0685c5d06155922c29"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 24 20:05:10 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 24 20:08:40 2013 -0700"
      },
      "message": "Mirror LTRIGGER / RTRIGGER as BRAKE / GAS for compatibility\n\nBug: 8590913\nChange-Id: If2918a67ecdd946ed850acc002ca021e150ec39d\n"
    },
    {
      "commit": "a424bc8058abd44f52196ca23bafb6f7f2b24706",
      "tree": "c6c96ffee4a596c86bebf9d023aa44977b6be054",
      "parents": [
        "283537d5d2293d9ecedf1fa65e9cd3d218144021",
        "c91d4dfe0a243f9f1d53bb4dbd435759da5202fd"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 24 18:51:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 18:51:40 2013 -0700"
      },
      "message": "am c91d4dfe: am e00b297c: Merge \"The touch exploration capability is dynamically granted pre-JellyBeanMR2.\" into jb-mr2-dev\n\n* commit \u0027c91d4dfe0a243f9f1d53bb4dbd435759da5202fd\u0027:\n  The touch exploration capability is dynamically granted pre-JellyBeanMR2.\n"
    },
    {
      "commit": "c91d4dfe0a243f9f1d53bb4dbd435759da5202fd",
      "tree": "cbe85137fd59b66cd87026a047d100d0f8bf765e",
      "parents": [
        "b0225f41da77ebe7ebfccb6166021d324b4d6512",
        "e00b297c0b220148930d40d76f518cf51aa2c9ef"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 24 18:49:23 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 18:49:23 2013 -0700"
      },
      "message": "am e00b297c: Merge \"The touch exploration capability is dynamically granted pre-JellyBeanMR2.\" into jb-mr2-dev\n\n* commit \u0027e00b297c0b220148930d40d76f518cf51aa2c9ef\u0027:\n  The touch exploration capability is dynamically granted pre-JellyBeanMR2.\n"
    },
    {
      "commit": "e00b297c0b220148930d40d76f518cf51aa2c9ef",
      "tree": "ef428e03438c49d6c39677af499870afc3aa9b2f",
      "parents": [
        "a6631f57fa49c00d722f6d521b9882781be6dfa0",
        "11adf6dc2438260c3e0d79cc189bcb4f6f15e9f4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 25 01:44:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 01:44:43 2013 +0000"
      },
      "message": "Merge \"The touch exploration capability is dynamically granted pre-JellyBeanMR2.\" into jb-mr2-dev"
    },
    {
      "commit": "c64f73e7785507152358fbfa89be0ce7a0196692",
      "tree": "8348625f0fb6b19b61f3a0d2f5dec536d945fb5d",
      "parents": [
        "eb95786fd3ffa9807a9d00c25e7c7e8a62d23658"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 16:44:56 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 16:44:56 2013 -0700"
      },
      "message": "Fix startActivityAndWait bugs\n\n- Send timeout message with a delay. The delay got lost when moving\nfrom ActivityStack to ActivityStackSupervisor. Fixes bug 8687083.\n\n- Remove waiting activities from list after they have been awoken.\nPreviously the list just got bigger and bigger.\n\nChange-Id: Icb9e394db1eefa444e58c5416472017cac32298c\n"
    },
    {
      "commit": "eb95786fd3ffa9807a9d00c25e7c7e8a62d23658",
      "tree": "5ef0eecf24ac04720123665ca1ba9a2a708cf376",
      "parents": [
        "d3c933875cbf35cf6f4f29ae686080224552278f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 15:34:32 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 15:34:32 2013 -0700"
      },
      "message": "Pause activities when leaving.\n\nMissed a spot where an activity that is launching another was not\nbeing paused. Fixes bug 8640130. At least in one case.\n\nRelease mWindowMap as soon as it is no longer needed.\n\nChange-Id: Id2c63d3d715b98741e2ebe3c9985cb1e9ca5ffbc\n"
    },
    {
      "commit": "11adf6dc2438260c3e0d79cc189bcb4f6f15e9f4",
      "tree": "80a2ae3f97aaa2e9583d5e3750e4ec6c6f1184b8",
      "parents": [
        "4c78306617dd67b92fdf19101c5dfde4e21172d9"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 24 14:51:29 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 24 14:59:04 2013 -0700"
      },
      "message": "The touch exploration capability is dynamically granted pre-JellyBeanMR2.\n\nSince the enable touch exploration capability is dynamically granted by\nthe user for apps targeting pre-JellybeanMR2 API level, we have to properly\nupdate the accessibility service info for that service and also avoid\ncaching copies of the service info.\n\nbug:8633951\n\nChange-Id: I83dd1c852706ec55d40cda7209ad842889fb970a\n"
    },
    {
      "commit": "d3c933875cbf35cf6f4f29ae686080224552278f",
      "tree": "bc7e1601843df8bbf8018c05622c5f36ff1a2806",
      "parents": [
        "9e0c5455fb641398e7576f46c40fbe742810565e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 14:23:39 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 14:31:51 2013 -0700"
      },
      "message": "Fix deadlock.\n\nGrabbing StackTapDetector before grabbing mWindowMap doesn\u0027t play well\nwith grabbing mWindowMap and then StackTapDetector.\n\nChange-Id: I40daa4c940930b1ebbb587edc1958e84321d6d7f\n"
    },
    {
      "commit": "e193350992c46a19190e18ad4864c690743314e8",
      "tree": "095926763c7597b3d02f8ace09cf89db7e18f5fa",
      "parents": [
        "69ca575b5bdfa023858db3fff11ec5c2a7b277a9",
        "d2190a4bfb33e4586c4b94d77bb08f5de0e7ea46"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Apr 24 10:45:10 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 10:45:10 2013 -0700"
      },
      "message": "am d2190a4b: am e148a49d: Merge \"Support WiFi only device at runtime.\" into jb-mr2-dev\n\n* commit \u0027d2190a4bfb33e4586c4b94d77bb08f5de0e7ea46\u0027:\n  Support WiFi only device at runtime.\n"
    },
    {
      "commit": "d2190a4bfb33e4586c4b94d77bb08f5de0e7ea46",
      "tree": "7778a0e4417f2feb5ae6c2bd80f2904c67190669",
      "parents": [
        "50289346b3010e24b6a7b86a774d88b81fc28f3b",
        "e148a49d9214724c7c6aa5b23eae7cdbb80da1ca"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Apr 24 08:47:45 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 24 08:47:45 2013 -0700"
      },
      "message": "am e148a49d: Merge \"Support WiFi only device at runtime.\" into jb-mr2-dev\n\n* commit \u0027e148a49d9214724c7c6aa5b23eae7cdbb80da1ca\u0027:\n  Support WiFi only device at runtime.\n"
    },
    {
      "commit": "e148a49d9214724c7c6aa5b23eae7cdbb80da1ca",
      "tree": "80b134c1dfde722971ed112eb7f76ef52893c16b",
      "parents": [
        "a3b5bae9cf9e28e5d461c543e9c3fc7920a2330c",
        "51f456f553248e910a7efc7eafa64f5ecf0f6cdc"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Apr 24 15:44:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 15:44:08 2013 +0000"
      },
      "message": "Merge \"Support WiFi only device at runtime.\" into jb-mr2-dev"
    },
    {
      "commit": "a2e56c5a2fb909befa0d58ec30ce7e628ffff82a",
      "tree": "c9f51a02e3201d44f3c082384429e6b9e8bd19d6",
      "parents": [
        "c56b831a1f6f044451df69aafaea1b37c780a360",
        "858d8a6583b0c91c66960167b84c67b6c4e2d3c6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 14:53:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 14:53:51 2013 +0000"
      },
      "message": "Merge \"Fix user switching.\""
    },
    {
      "commit": "b58121c350f605c9fec2f75cbcb1f05a289d8ab0",
      "tree": "5cb6c842e44542772c101bfea4b1885729572bec",
      "parents": [
        "ab18ec8eb5fbd4605b883c1b2de4b4ca467036bc",
        "cf910b0c714b2ca90ea0013e5695850506a1d36f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 24 02:36:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 02:36:43 2013 +0000"
      },
      "message": "Merge \"Add tap detector for switching stack focus.\""
    },
    {
      "commit": "858d8a6583b0c91c66960167b84c67b6c4e2d3c6",
      "tree": "7aaf135ec6c0cd770f3d15372a7f662f09d6fa6f",
      "parents": [
        "cf910b0c714b2ca90ea0013e5695850506a1d36f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 23 17:08:34 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 23 19:33:42 2013 -0700"
      },
      "message": "Fix user switching.\n\n- Save and restore WindowManager stack states.\n- Maintain ActivityManager activity states based on the stack\nthe activity is in.\n\nFixes bug 8646641.\n\nChange-Id: I16c76c7708ab49121c3884a7e5bf219898b92d3f\n"
    },
    {
      "commit": "cf910b0c714b2ca90ea0013e5695850506a1d36f",
      "tree": "675cf0274fec4bd86e3664c7826643fec29bbb41",
      "parents": [
        "f333327782e14688e1c198c1192172d51308e90b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 23 11:23:27 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 23 19:33:27 2013 -0700"
      },
      "message": "Add tap detector for switching stack focus.\n\n- New InputEventReceiver for detecting taps outside of focused stack\nboundaries.\n- Fixed bug that wasn\u0027t pausing the non-focused window when returning\nhome.\n\nChange-Id: Ia51d312a7c029abc01eb5df1102814cc29d33b47\n"
    },
    {
      "commit": "ab18ec8eb5fbd4605b883c1b2de4b4ca467036bc",
      "tree": "05258fd55fc4450908d27f46112643fb84225319",
      "parents": [
        "fb2563103b4f377867c5fa556217987903f73052",
        "ca9904d02147daf26def085f7b72d83d2abbd007"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:46:57 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:46:57 2013 -0700"
      },
      "message": "am ca9904d0: am a3b5bae9: Fix the build.\n\n* commit \u0027ca9904d02147daf26def085f7b72d83d2abbd007\u0027:\n  Fix the build.\n"
    },
    {
      "commit": "ca9904d02147daf26def085f7b72d83d2abbd007",
      "tree": "59d48fea71cedd2bf4f9d810afc0475293644990",
      "parents": [
        "939ff0acff8a21a023d79214130680a66214840f",
        "a3b5bae9cf9e28e5d461c543e9c3fc7920a2330c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:44:50 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:44:50 2013 -0700"
      },
      "message": "am a3b5bae9: Fix the build.\n\n* commit \u0027a3b5bae9cf9e28e5d461c543e9c3fc7920a2330c\u0027:\n  Fix the build.\n"
    },
    {
      "commit": "a3b5bae9cf9e28e5d461c543e9c3fc7920a2330c",
      "tree": "73c76cc8c3fe7e9805738c37d8450a912a5ffaf6",
      "parents": [
        "4c78306617dd67b92fdf19101c5dfde4e21172d9"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:34:46 2013 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:34:46 2013 -0700"
      },
      "message": "Fix the build.\n\nThis fixes a bad merge in LockSettingsService.\n\nChange-Id: I941bae77446dd0e94f409f0d64330ca5391f8efa\n"
    },
    {
      "commit": "fb2563103b4f377867c5fa556217987903f73052",
      "tree": "39cd4c064cb22133bc185df0e28eb31115cf2c35",
      "parents": [
        "2dcedef1f1fa4eef1804f133e8c69511e7801c19",
        "939ff0acff8a21a023d79214130680a66214840f"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 23 18:08:55 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:08:55 2013 -0700"
      },
      "message": "am 939ff0ac: am 4c783066: Merge \"Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\" into jb-mr2-dev\n\n* commit \u0027939ff0acff8a21a023d79214130680a66214840f\u0027:\n  Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\n"
    },
    {
      "commit": "2dcedef1f1fa4eef1804f133e8c69511e7801c19",
      "tree": "6d92118850d33af1601f7479a16b86aac0820a4c",
      "parents": [
        "02fdc8f30a5cd935fd9fbf9de67a5063118cca13",
        "035f82b3a7a3517d97a7267f7f6d6b723b8b7e43"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:08:53 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:08:53 2013 -0700"
      },
      "message": "am 035f82b3: am 952b3102: Merge \"Fix bug where owner info wasn\\\u0027t being updated properly.\" into jb-mr2-dev\n\n* commit \u0027035f82b3a7a3517d97a7267f7f6d6b723b8b7e43\u0027:\n  Fix bug where owner info wasn\u0027t being updated properly.\n"
    },
    {
      "commit": "939ff0acff8a21a023d79214130680a66214840f",
      "tree": "3653ae997c843a27a23366681c7bbb8dfba453b6",
      "parents": [
        "035f82b3a7a3517d97a7267f7f6d6b723b8b7e43",
        "4c78306617dd67b92fdf19101c5dfde4e21172d9"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 23 18:07:04 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:07:04 2013 -0700"
      },
      "message": "am 4c783066: Merge \"Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\" into jb-mr2-dev\n\n* commit \u00274c78306617dd67b92fdf19101c5dfde4e21172d9\u0027:\n  Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\n"
    },
    {
      "commit": "035f82b3a7a3517d97a7267f7f6d6b723b8b7e43",
      "tree": "7ee26af20578267888361a4b141b351b367c1627",
      "parents": [
        "fc8bd4d3f4deece8beee7ce3f7888078dd37c60d",
        "952b310280954fbe187be8464a6fa50abd19a990"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 18:07:02 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 18:07:02 2013 -0700"
      },
      "message": "am 952b3102: Merge \"Fix bug where owner info wasn\\\u0027t being updated properly.\" into jb-mr2-dev\n\n* commit \u0027952b310280954fbe187be8464a6fa50abd19a990\u0027:\n  Fix bug where owner info wasn\u0027t being updated properly.\n"
    },
    {
      "commit": "4c78306617dd67b92fdf19101c5dfde4e21172d9",
      "tree": "09251fbfcbb2f948b0a381b084b94545d7c2970e",
      "parents": [
        "952b310280954fbe187be8464a6fa50abd19a990",
        "db7da0eb8b7d515c168d5b410764e24c9a0f9431"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 24 01:05:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 01:05:38 2013 +0000"
      },
      "message": "Merge \"Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\" into jb-mr2-dev"
    },
    {
      "commit": "952b310280954fbe187be8464a6fa50abd19a990",
      "tree": "e562721bddc5d91b3f71abd7f148d79b29ff0c4e",
      "parents": [
        "51f7ca4521c3508a233eefe97f53092213eacb60",
        "2d8ecf9df0ba4f503a09e87f91d12433f29faf52"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Apr 24 01:04:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 01:04:10 2013 +0000"
      },
      "message": "Merge \"Fix bug where owner info wasn\u0027t being updated properly.\" into jb-mr2-dev"
    },
    {
      "commit": "db7da0eb8b7d515c168d5b410764e24c9a0f9431",
      "tree": "203e63c36f247904943614120e4772689ee762d5",
      "parents": [
        "ea236f19e652942a7af384566c70cdd0c7f88c58"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 22 18:34:02 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 23 17:44:00 2013 -0700"
      },
      "message": "Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.\n\n1. UiAutomation#executeAndWaitForEvent method was invoking the passed\n   runnable while holding the lock which may lead to a deadlock. For\n   example: a runnable that calls getActivity() gets us into a state\n   like this.\n\n2. UI automation services did not get all capabilities such a\n   service can have. Now a UI test service gets all of them.\n\n3. When UiAutomation was exiting for event fired as a result of a\n   performed action, it was checking whether the received evnet time\n   is strictly before the time of executing the command that should\n   fire the event. However, if the execution is fast enough, i.e.\n   less than one millisecond, then the event time and the execution\n   time are the same. This was leading to a missed signal in rare\n   cases.\n\n4. AccessibilityNodeInfoCache was not clearing the relevant state\n   for accessibility focus clearing event.\n\n5. Accessibility text traversal in TextView was partially using text\n   and partially content description - broken. Now we are using the\n   text since for text view and content desc for other views. In other\n   words, we are using the most precise text we have.\n\n6. AccessibilityManagerService was not granting capabilities of a\n   UiAutomation service - plainly wrong.\n\nCTS change:https://googleplex-android-review.googlesource.com/#/c/300693/\n\nbug:8695422\nbug:8657560\n\nChange-Id: I9afc5c3c69eb51f1c01930959232f44681b15e86\n"
    },
    {
      "commit": "2d8ecf9df0ba4f503a09e87f91d12433f29faf52",
      "tree": "2dc1892ced71244557f54ba624f1e9edc4827d84",
      "parents": [
        "b1e5137a807d19a9cbc241c0ba84c3c49b32fceb"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Apr 22 17:17:03 2013 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Apr 23 17:36:45 2013 -0700"
      },
      "message": "Fix bug where owner info wasn\u0027t being updated properly.\n\nThere was a bug where older platforms only stored the \u0027enabled\u0027\nvalue if the checkbox in Settings was toggled at least once. This\ncaused the checkbox to be checked off when upgrading the device.\n\nThe code now mimicks the old behavior by detecting a non-empty\ninfo string and setting \u0027enabled\u0027 appropriately.\n\nFixes bug 8659048\n\nChange-Id: If2431d54f168a0aab286628165dd3f6b4a0d5cf8\n"
    },
    {
      "commit": "73b1496ed9dd99f7a1e2354747466fc3488eb1ba",
      "tree": "552648640e230649000dd621ed035af5683d838a",
      "parents": [
        "41f7f9c5bc1dbdefc819fc36dcdb0bb3ccc21135",
        "ef8dc882ec235310737eead979fe913a8ab3465c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 23 15:07:03 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 15:07:03 2013 -0700"
      },
      "message": "am ef8dc882: am 0aea616a: Merge \"Keep device state always updated\" into jb-mr2-dev\n\n* commit \u0027ef8dc882ec235310737eead979fe913a8ab3465c\u0027:\n  Keep device state always updated\n"
    },
    {
      "commit": "ef8dc882ec235310737eead979fe913a8ab3465c",
      "tree": "66190acc0f60b0276b61e4477b97c9e3c70495fb",
      "parents": [
        "fdd408233db5bd70cb43ddf2a49a85bd748da5b9",
        "0aea616acdb228b7a8c061977c0445174f60a1e1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 23 14:59:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 14:59:58 2013 -0700"
      },
      "message": "am 0aea616a: Merge \"Keep device state always updated\" into jb-mr2-dev\n\n* commit \u00270aea616acdb228b7a8c061977c0445174f60a1e1\u0027:\n  Keep device state always updated\n"
    },
    {
      "commit": "0aea616acdb228b7a8c061977c0445174f60a1e1",
      "tree": "85c314a4785ac7d2faa0097003be04a405a8b877",
      "parents": [
        "22a3344cda1a3dcf4f719e0685c5d06155922c29",
        "e68d858b0faf638045980237922e969516b1213e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 23 21:57:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 23 21:57:53 2013 +0000"
      },
      "message": "Merge \"Keep device state always updated\" into jb-mr2-dev"
    },
    {
      "commit": "51f456f553248e910a7efc7eafa64f5ecf0f6cdc",
      "tree": "36c1cb59374f824b76e0883596295478f9c69be7",
      "parents": [
        "c5fc9988f11acc58229fb6ae80d346277318ada4"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Apr 23 14:26:51 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Apr 23 14:26:51 2013 -0700"
      },
      "message": "Support WiFi only device at runtime.\n\nTo date WiFi only devices were defined by the list of networkAttributes\nin config.xml overriden in on a per-device basis. This change is the\nsimplest change needed to determine this at runtime and therefore allowing\na single build to support the two different configurations.\n\nBug: 8562845\nChange-Id: I34de5c6accc718b199c13815537de1debfe3dc91\n"
    },
    {
      "commit": "e68d858b0faf638045980237922e969516b1213e",
      "tree": "d6e2fd70ff8ad02a31f0c844c4fb4c86c481b287",
      "parents": [
        "0b4732c2248fa2b92a44f045dfcadb3547076ef4"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 23 13:43:43 2013 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 23 13:43:43 2013 -0700"
      },
      "message": "Keep device state always updated\n\nTasker app showed up a bug where we can be out of sync with screen state\nif we only received broadcasts when wifi is toggled on. Always receive\nupdates.\n\nBug: 8689583\nChange-Id: Iad457c9768ed421765adb6a15d5f42ecf682da38\n"
    },
    {
      "commit": "bf7b95cec91c83c86711d220284e4a3d247e1081",
      "tree": "07ce4122231d072f390a6906dc72ad7da04fd8d2",
      "parents": [
        "027587b4865a1efa14c3471220db88c8bb7460ba",
        "2fd0ba8e9529780fd87b71a024edb3200ad1d93a"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 23 11:16:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 11:16:19 2013 -0700"
      },
      "message": "am 2fd0ba8e: am f78ff07f: Merge \"Fix concurrency issues when parceling StatusBarNotifications.\" into jb-mr2-dev\n\n* commit \u00272fd0ba8e9529780fd87b71a024edb3200ad1d93a\u0027:\n  Fix concurrency issues when parceling StatusBarNotifications.\n"
    },
    {
      "commit": "75a1cac2bf44f2bb8802833256eef229c498e8da",
      "tree": "839b2d0e05b9b65e501ca8fc746f607adc7c6a47",
      "parents": [
        "c626f95ad657d349d1327cd085989debbf55a66d",
        "f12afa9913ac75af724d9700ff85dc68b1e0cd45"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Apr 23 04:46:25 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 04:46:25 2013 -0700"
      },
      "message": "am f12afa99: am d0202945: Merge \"Listen for network disconnect.\" into jb-mr2-dev\n\n* commit \u0027f12afa9913ac75af724d9700ff85dc68b1e0cd45\u0027:\n  Listen for network disconnect.\n"
    },
    {
      "commit": "fb4f2890e8801e3a7b72bc439197a218ca2bb939",
      "tree": "cf6410acfd2b0890f8eedc14e22a6df562333f82",
      "parents": [
        "07ff1d13079f89241de161cd10ef5b32f6d6f064",
        "4c6f2a54109c3f75deca1f2b43736dcd9c965768"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 23 04:46:20 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 04:46:20 2013 -0700"
      },
      "message": "am 4c6f2a54: am 7a4ddbaa: Merge \"Don\\\u0027t attempt native crash reporting for persistent apps\" into jb-mr2-dev\n\n* commit \u00274c6f2a54109c3f75deca1f2b43736dcd9c965768\u0027:\n  Don\u0027t attempt native crash reporting for persistent apps\n"
    },
    {
      "commit": "c11a7e614c4e88de75ddd73c109a4fe79ad302b2",
      "tree": "519f6d61b563546c8bad070c5b2de153804e1046",
      "parents": [
        "d93776f3b9c479742130c075e1152098aff49a5f",
        "04375db65302fabcf7101ecc4e1e6e38700baba5"
      ],
      "author": {
        "name": "Zhentao Sun",
        "email": "robinvane@google.com",
        "time": "Tue Apr 23 04:46:03 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 04:46:03 2013 -0700"
      },
      "message": "am 04375db6: am c5fc9988: Made it easier to disable overlay mechanism of location components.\n\n* commit \u002704375db65302fabcf7101ecc4e1e6e38700baba5\u0027:\n  Made it easier to disable overlay mechanism of location components.\n"
    },
    {
      "commit": "2fd0ba8e9529780fd87b71a024edb3200ad1d93a",
      "tree": "e363d6bfa875ad708557204b8b1d223b2705aecc",
      "parents": [
        "b2daf811cb39e8e38a31065c7ffb11d0926ffcef",
        "f78ff07f6e688d11881658f743ef63076fcc550c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 23 03:52:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 03:52:06 2013 -0700"
      },
      "message": "am f78ff07f: Merge \"Fix concurrency issues when parceling StatusBarNotifications.\" into jb-mr2-dev\n\n* commit \u0027f78ff07f6e688d11881658f743ef63076fcc550c\u0027:\n  Fix concurrency issues when parceling StatusBarNotifications.\n"
    },
    {
      "commit": "f12afa9913ac75af724d9700ff85dc68b1e0cd45",
      "tree": "b7ba692da113146854087eb2bc518879fc545e17",
      "parents": [
        "afd80ab6a60e57011fa218c930bcfa8345c88a4e",
        "d020294572f591007de1fe0aa9e4927dae72c0c9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Apr 23 03:51:08 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 03:51:08 2013 -0700"
      },
      "message": "am d0202945: Merge \"Listen for network disconnect.\" into jb-mr2-dev\n\n* commit \u0027d020294572f591007de1fe0aa9e4927dae72c0c9\u0027:\n  Listen for network disconnect.\n"
    },
    {
      "commit": "4c6f2a54109c3f75deca1f2b43736dcd9c965768",
      "tree": "66f3a4566962e885d2912db4b73046569ef111d9",
      "parents": [
        "7fccb94248514fc1037985330e6f4f0b0cc5ce3f",
        "7a4ddbaafa9e11e190764ca0314f56651dfcb0d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Apr 23 03:50:46 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 03:50:46 2013 -0700"
      },
      "message": "am 7a4ddbaa: Merge \"Don\\\u0027t attempt native crash reporting for persistent apps\" into jb-mr2-dev\n\n* commit \u00277a4ddbaafa9e11e190764ca0314f56651dfcb0d9\u0027:\n  Don\u0027t attempt native crash reporting for persistent apps\n"
    },
    {
      "commit": "04375db65302fabcf7101ecc4e1e6e38700baba5",
      "tree": "3a8b3dae2106499d23b5cc4ba5e260c7b0d53108",
      "parents": [
        "076e1f4c560df7db54755b006acbea9b6eba0b76",
        "c5fc9988f11acc58229fb6ae80d346277318ada4"
      ],
      "author": {
        "name": "Zhentao Sun",
        "email": "robinvane@google.com",
        "time": "Tue Apr 23 03:50:20 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 03:50:20 2013 -0700"
      },
      "message": "am c5fc9988: Made it easier to disable overlay mechanism of location components.\n\n* commit \u0027c5fc9988f11acc58229fb6ae80d346277318ada4\u0027:\n  Made it easier to disable overlay mechanism of location components.\n"
    },
    {
      "commit": "b2bb9f623231e9d77ab2c1999eb39ba0156a04c6",
      "tree": "b69fb770f96d65510ab388a20c8de93c5b4517a0",
      "parents": [
        "a6017bc4bfb64b743ab74ec35925d060a90bd237"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Fri Apr 19 17:39:04 2013 -0700"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Mon Apr 22 18:16:17 2013 -0700"
      },
      "message": "BatteryService: Fix compile warning\n\nAdd unhandled enum constant in switch.\n\nChange-Id: I3c7635d9cf1fa1e57b139b9b66103bf660afe3a4\n"
    },
    {
      "commit": "a6017bc4bfb64b743ab74ec35925d060a90bd237",
      "tree": "990f1602cd661feb05ff685d5ab3f3ddcb7b4754",
      "parents": [
        "08372b4237c43480e72a382816fc6b5157e1c522"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Fri Apr 19 12:57:09 2013 -0700"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Mon Apr 22 18:16:16 2013 -0700"
      },
      "message": "BatteryService: Fix detection of missing sysfs attributes\n\nRecent conversion from char* to String8 broke these.\n\nChange-Id: I4528c3e4b90614cddbc173ee996c7fc1febb2cf5\n"
    },
    {
      "commit": "f78ff07f6e688d11881658f743ef63076fcc550c",
      "tree": "25c8879879a1707215db8fdd57b0a6a633c48e2a",
      "parents": [
        "d52f2b14852c057fd8d94cebb7ddf8900ba1d232",
        "1a497d3a2b1496c12949e47e55f8e46d8f585be5"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 23 00:53:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 23 00:53:31 2013 +0000"
      },
      "message": "Merge \"Fix concurrency issues when parceling StatusBarNotifications.\" into jb-mr2-dev"
    },
    {
      "commit": "d020294572f591007de1fe0aa9e4927dae72c0c9",
      "tree": "670c6b51722cac7f675ee89668ab9bab4f710a00",
      "parents": [
        "3acb320fcb6ee03aec64220b09283a3c4efa4bb5",
        "1b0ca9dace3fb3b84f8a87e539c0179e6093b423"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 22 21:33:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 21:33:29 2013 +0000"
      },
      "message": "Merge \"Listen for network disconnect.\" into jb-mr2-dev"
    },
    {
      "commit": "1b0ca9dace3fb3b84f8a87e539c0179e6093b423",
      "tree": "e986ce3c3fdf4dc471079293f31f71384fddd9b8",
      "parents": [
        "5d1a182a8a2dd9613ef3b1f2de7b6a3d690ae890"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 22 11:13:02 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 22 14:13:51 2013 -0700"
      },
      "message": "Listen for network disconnect.\n\nVPN used to just watch the interface, but that is insufficient.  There\nis no promise that the interface will go down when we\u0027re done with it.\nNow that wifi stays on in scan-only mode despite user turning it off\nit seems that the interface is left up, even in AP mode.\n\nNow listening for ConnectivityService broadcast that the network we were on\nhas disconnected and tearing down the VPN then or when the interface\ngoes away.\n\nbug:8550083\nChange-Id: Icf414497bc55bead69de04e91f39f90ac2e6578a\n"
    },
    {
      "commit": "7a4ddbaafa9e11e190764ca0314f56651dfcb0d9",
      "tree": "af71efebfedff4a72e94fafaa50400afe0947676",
      "parents": [
        "47cccbd09d4fe2f408bf88c39faa7530d202c233",
        "b86d81d3ff1beb46b18795edbbb8850e9cde4c98"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 22 20:26:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 20:26:30 2013 +0000"
      },
      "message": "Merge \"Don\u0027t attempt native crash reporting for persistent apps\" into jb-mr2-dev"
    },
    {
      "commit": "1a497d3a2b1496c12949e47e55f8e46d8f585be5",
      "tree": "f94fde92b7408ac80ff1a2682297e703caad94de",
      "parents": [
        "5d1a182a8a2dd9613ef3b1f2de7b6a3d690ae890"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 18 14:52:45 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 22 15:14:55 2013 -0400"
      },
      "message": "Fix concurrency issues when parceling StatusBarNotifications.\n\nProtip: Don\u0027t mess with Bundles after you\u0027ve sent them off\nfor parceling in an RPC.\n\nNote that this change reduces the payload size of\nStatusBarNotification objects received in\nonNotificationRemoved() callbacks; it scrubs out the\nRemoteViews and Bitmaps just as the NoMan\u0027s internal archive\ndoes. [You don\u0027t really need that information anyway when\nhearing about a removed notification; most likely all you\nneed are the other slots on StatusBarNotification, but\nnulling the whole Notification object breaks a lot of\nclients.]\n\nBug: 8616295\nChange-Id: Ic899045f2352b96dcf064d3e9e51dad52629aea3\n"
    },
    {
      "commit": "f333327782e14688e1c198c1192172d51308e90b",
      "tree": "c07d0ec17976bbe83926a4723c53a87a78b1791f",
      "parents": [
        "ce5f3cba6b95e1fbc800c0fc43d13bb830e87423"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 22 10:55:53 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 22 10:55:53 2013 -0700"
      },
      "message": "Move idle handling from ActivityStack to Supervisor\n\nAlong with mFinishingActivities, mStartingUsers and\nmCancelledThumbnails.\n\nChange-Id: Ia354225d72e694b7ac68b0869fcab903a3d06436\n"
    },
    {
      "commit": "c5fc9988f11acc58229fb6ae80d346277318ada4",
      "tree": "164c0888771ce16e2a8d4ae8b146cd6f20c9c312",
      "parents": [
        "339ac85483145972da010ad34cbcb29ed70cb822"
      ],
      "author": {
        "name": "Zhentao Sun",
        "email": "robinvane@google.com",
        "time": "Wed Apr 17 17:47:53 2013 -0700"
      },
      "committer": {
        "name": "Zhentao Sun",
        "email": "robinvane@google.com",
        "time": "Mon Apr 22 10:02:08 2013 -0700"
      },
      "message": "Made it easier to disable overlay mechanism of location components.\n\nFixed b/8276827\n\nVendor might want to provide their own implementation of \"network\nlocation\", \"fused location\" and \"geocoder\" service. Location manager now\nallows those service to be replaced by packages that have the same\nsignature as one of the packages in config_locationProviderPackageNames.\nSuch behavior might not be desirable on some devices. This change\nmake this behavior configurable by 3 boolean flags.\n\nDetails:\n- Added three boolean flags in core/res/res/values/config.xml to enable\nor disable NLP/FLP/Geocoder overlay\n- Added 3 package name for the stock NLP/FLP/Geocoder. They are needed\n  only when overlay is disabled because LocationManagerService need to\n  know which package is preferred when searching for\n  NLP/FLP/Geocoder service.\n- Made ServiceWatcher able to handle non-overlayable services.\n- Fixed an NPE isue in ServiceWatcher. mPm.queryIntentServicesAsUser\n  might return null.\n- Fixed an bug: justCheckThisPackage in bindBestPackageLocked is always\n  ignored.\n\nChange-Id: Id221961ac7c3aa8ad44b894f9523f04f770ae237\n"
    },
    {
      "commit": "ce5f3cba6b95e1fbc800c0fc43d13bb830e87423",
      "tree": "df018d849bc40ea63e4273dbde96f280de650b71",
      "parents": [
        "3505a9c6c65caf2df4de030730cf9c96af573ece"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 22 08:58:54 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 22 09:12:38 2013 -0700"
      },
      "message": "Refactoring Activity Manager.\n\nMid-course corrections.\n\n- Simplify ActivityStackSupervisor and ActivityStack constructors to\nget passed parameters from ActivityManagerService.\n- Store WindowManagerService referecne locally in\nActivityStackSupervisor and ActivityStack.\n- Rename getTopStack to getFocusedStack in ActivityStackSupervisor\nand ActivityManagerService.\n- Move mWaitingActivityLaunched/reportActivityLaunchedLocked and\nmWaitingActivityVisible/reportActivityVisibleLocked from ActivityStack\nto ActivityStackSupervisor.\n- Moved reportResumedActivity to ActivityStackSupervisor.\n- Added a Handler to ActivityStackSupervisor. Will populate it on next\nCL.\n\nChange-Id: I1bbe5eb737c5cac6b896bc9748f329891e94d00f\n"
    },
    {
      "commit": "3505a9c6c65caf2df4de030730cf9c96af573ece",
      "tree": "84b70c1b664d1a64163026ebc368e9ce19fb9889",
      "parents": [
        "7ffb2fb3daf05459267745643689cc0e5875e659",
        "165640bbc69c7831ec38d573dc1f85b264db2a5d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Apr 20 17:38:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 20 17:38:59 2013 +0000"
      },
      "message": "Merge \"Use correct stacks for testing changes.\""
    },
    {
      "commit": "165640bbc69c7831ec38d573dc1f85b264db2a5d",
      "tree": "872eb3dbc356b07ce2faf0d18798a2a34627c23c",
      "parents": [
        "7d9eaa435df1c753af225a150a5d04750b512083"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Apr 20 10:34:33 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Apr 20 10:37:58 2013 -0700"
      },
      "message": "Use correct stacks for testing changes.\n\nFixes bug 8656057.\n\nChange-Id: I88e48d28d240fced866a82bd3d49f8807300c0ad\n"
    },
    {
      "commit": "b86d81d3ff1beb46b18795edbbb8850e9cde4c98",
      "tree": "e6aef5ba897fe91f5639f0872f26e772a3d25b1e",
      "parents": [
        "b5ec8c145d467abbc6eaf3306a5f6725e348ceec"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 19 17:36:54 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 19 17:39:20 2013 -0700"
      },
      "message": "Don\u0027t attempt native crash reporting for persistent apps\n\nBug 8639127\n\nChange-Id: I55035cfed9ba04597422f675ede105dae40b2fbf\n"
    },
    {
      "commit": "94e602d7b5f8c6fb6dbfa71d646a96aad0354640",
      "tree": "74049ed558f3670af11ad2839d6ef763fd1c7ccc",
      "parents": [
        "6168317f31d45cb4dad9d24d4b68cf6e7c40565a",
        "1b50e4ead5463f4dcc03f9c5ed64963af0d4d9eb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 19 14:38:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 19 14:38:36 2013 -0700"
      },
      "message": "am 1b50e4ea: am ca2a6374: Merge \"Environment should only warn when asked.\" into jb-mr2-dev\n\n* commit \u00271b50e4ead5463f4dcc03f9c5ed64963af0d4d9eb\u0027:\n  Environment should only warn when asked.\n"
    },
    {
      "commit": "8fbe05fb8686142f4f594034b984329d04214b7e",
      "tree": "4793742ac10545700194fa3e94a869d537d5adf9",
      "parents": [
        "6a341fc793db2ea1360332720644df018f2c279f",
        "7d9eaa435df1c753af225a150a5d04750b512083"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 19 21:00:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 19 21:00:55 2013 +0000"
      },
      "message": "Merge \"Call updateUsageStats for all stacks.\""
    },
    {
      "commit": "7d9eaa435df1c753af225a150a5d04750b512083",
      "tree": "8d491bf675ba2414b2234b9b19214a526d15637a",
      "parents": [
        "f88c50f8daee2c813d788c19f7f04b9f365efaaf"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 19 13:57:33 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 19 13:57:33 2013 -0700"
      },
      "message": "Call updateUsageStats for all stacks.\n\nWas only calling it for the frontmost stack. But if we are going to\nor from the home activity then the pausing stack moves to the back.\n\nFixes bug 8666221.\n\nChange-Id: I1d6d19b49da4aa23414303336fa266362ae5f4b1\n"
    }
  ],
  "next": "63539dd6a3950385efda86975325d63862a8838f"
}
