)]}'
{
  "log": [
    {
      "commit": "7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a",
      "tree": "32691f639ef71365b602795db215f11f457397a5",
      "parents": [
        "e47e3f3855a062ba0338a57eeda2f12a0f7a1fa8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 20:52:56 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 21 13:59:34 2010 -0700"
      },
      "message": "More native input event dispatching.\n\nAdded ANRs handling.\nAdded event injection.\nFixed a NPE ActivityManagerServer writing ANRs to the drop box.\nFixed HOME key interception.\nFixed trackball reporting.\nFixed pointer rotation in landscape mode.\n\nChange-Id: I50340f559f22899ab924e220a78119ffc79469b7\n"
    },
    {
      "commit": "04b243d0f5470cfaf67cce5534f9a9fb2e30855c",
      "tree": "caf2945f0ce02c78066b9e46df5cd7619b628776",
      "parents": [
        "a2650db770e93a9424d6d6948fd31f943f6dac49"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 21 08:01:13 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 21 08:01:13 2010 -0700"
      },
      "message": "Fix NPE during ANRs.\n\nBUG\u003d2780838\n\nChange-Id: I0d5e9a2323130ca14d1f0df684c8abe4f4dad05a\n"
    },
    {
      "commit": "801700b1a2b3b5d3cf4264b62d8a776996bda4ca",
      "tree": "071ed20e470e49ca243613dbf3e5954a8b3e0117",
      "parents": [
        "7f0a1f62c63a91eab3bd21c65fa978c1b14650be",
        "57f4503e1a129d6a648f2378d36a060998a577a0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 17 18:43:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 18:43:31 2010 -0700"
      },
      "message": "am 57f4503e: Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test\n\nMerge commit \u002757f4503e1a129d6a648f2378d36a060998a577a0\u0027 into gingerbread\n\n* commit \u002757f4503e1a129d6a648f2378d36a060998a577a0\u0027:\n  Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test\n"
    },
    {
      "commit": "57f4503e1a129d6a648f2378d36a060998a577a0",
      "tree": "bed5bf809f503f0a2b1061b92c31f26b445ab5ec",
      "parents": [
        "5f11e95f0041e163e8aa9e429aec92c8ee942233"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 17 15:49:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 17 15:49:33 2010 -0700"
      },
      "message": "Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test\n\nModify UIModeManager to not get location updates every thirty minutes.\nInstead it gets one once a day, and requests a new update when airplane\nmode is turned off or the time zone changes.\n\nChange-Id: I8044c27b5cd77709e4b872e2e8edd352f23e4af1\n"
    },
    {
      "commit": "6b7b4845212b3a439c527f2e1eca205b6b45fceb",
      "tree": "1ba505965236caa85362b440aa852f5b8aae0df5",
      "parents": [
        "c95812e6cacaa14748c81323bac6561453991a24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 14 17:17:44 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 16 18:31:42 2010 -0700"
      },
      "message": "Various improvements to battery stats collection\n\nWe now clear the battery stats when unplugging after the\nbattery is full.  This allows us to use the \"total\" stats as\na new \"since last charged\" stat.  Total is gone.  I never used\nit, it was worthless.  Since last charged is a lot more\ninteresting.\n\nThe battery history now collects a lot more stats, and keeps\ncontrol over how much it can collect.  Printing is now more\ndescriptive.\n\nThe kinds of stats have been renamed to SINCE_UNPLUGGED and\nSINCE_DISCHARGED.  The other two stats are still there, but\nno longer printed; a future change will eliminate them\ncompletely along with all of their state.\n\nChange-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1\n"
    },
    {
      "commit": "143666f0ca28f0e3e6597e5025078f0449ca6abe",
      "tree": "03944ebfa885d9970c13ba5a912731ddc1eaee76",
      "parents": [
        "f1cefa916712dafc8b47f6eb8132a688892d4995"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 14 12:40:21 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 14 13:38:01 2010 -0700"
      },
      "message": "StrictMode: implement the log-to-DropBox option\n\nChange-Id: I51d12e264155078f953028241f8c5cbdc47262e8\n"
    },
    {
      "commit": "7c8aa44f320f45e8417f0aba9ca67af6a67a5cf7",
      "tree": "2d547d9d8ddc5b08310070121616294d92ebca70",
      "parents": [
        "94f14aeca9e6c6d07b39a7f708eacadcfeb6fbd2",
        "46b9ac0ae2162309774a7478cd9d4e578747bfc2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 17:55:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 13 17:55:28 2010 -0700"
      },
      "message": "am 46b9ac0a: Native input dispatch rewrite work in progress.\n\nMerge commit \u002746b9ac0ae2162309774a7478cd9d4e578747bfc2\u0027 into gingerbread\n\n* commit \u002746b9ac0ae2162309774a7478cd9d4e578747bfc2\u0027:\n  Native input dispatch rewrite work in progress.\n"
    },
    {
      "commit": "46b9ac0ae2162309774a7478cd9d4e578747bfc2",
      "tree": "46ad021a41e25ca9f1250b709a29b724dc6b504d",
      "parents": [
        "f62c57d684b83df7d2817db976c0afdb500ae92a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 22 18:58:52 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 17:42:16 2010 -0700"
      },
      "message": "Native input dispatch rewrite work in progress.\n\nThe old dispatch mechanism has been left in place and continues to\nbe used by default for now.  To enable native input dispatch,\nedit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.\n\nIncludes part of the new input event NDK API.  Some details TBD.\n\nTo wire up input dispatch, as the ViewRoot adds a window to the\nwindow session it receives an InputChannel object as an output\nargument.  The InputChannel encapsulates the file descriptors for a\nshared memory region and two pipe end-points.  The ViewRoot then\nprovides the InputChannel to the InputQueue.  Behind the\nscenes, InputQueue simply attaches handlers to the native PollLoop object\nthat underlies the MessageQueue.  This way MessageQueue doesn\u0027t need\nto know anything about input dispatch per-se, it just exposes (in native\ncode) a PollLoop that other components can use to monitor file descriptor\nstate changes.\n\nThere can be zero or more targets for any given input event.  Each\ninput target is specified by its input channel and some parameters\nincluding flags, an X/Y coordinate offset, and the dispatch timeout.\nAn input target can request either synchronous dispatch (for foreground apps)\nor asynchronous dispatch (fire-and-forget for wallpapers and \"outside\"\ntargets).  Currently, finding the appropriate input targets for an event\nrequires a call back into the WindowManagerServer from native code.\nIn the future this will be refactored to avoid most of these callbacks\nexcept as required to handle pending focus transitions.\n\nEnd-to-end event dispatch mostly works!\n\nTo do: event injection, rate limiting, ANRs, testing, optimization, etc.\n\nChange-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25\n"
    },
    {
      "commit": "46d42387464a651268648659e91d022566d4844c",
      "tree": "1252f3113aea8f95506bc0860b461fe3737c45c7",
      "parents": [
        "126ca6f9ecab6f912ea9f4f00af35c410aae504b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jun 11 13:57:58 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jun 11 16:11:26 2010 -0700"
      },
      "message": "More StrictMode work, handling violations in ActivityManagerService.\n\nAlso starts to do duplicate-suppression.\n\nChange-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21\n"
    },
    {
      "commit": "afadc8b4e15d94b6a4ac7dc8ad3cdcde45836f45",
      "tree": "e6eb7beaa93a2b2c2108cbea74e400e1a3a50f44",
      "parents": [
        "9f8cc518e14c7a34bc52da712afbf02d84585f67"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jun 11 14:43:14 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jun 11 14:43:14 2010 -0700"
      },
      "message": "Dont persist config on failure\n\nIf soft AP bring up does not go through successfully,\ndont persist the config. This has the benefit of recovering\nfrom the case where things fail on \"\u003d\" and \",\" for SSID since\nthe IOCTL parsing in driver on broadcom cannot handle it\nat this time.\n\nChange-Id: Iaa60fd05972db434500753dcb59092995dab07b1\n"
    },
    {
      "commit": "32907cfb38bda2d3c052cf5139c5b592678fedbb",
      "tree": "78b2cb1f1ec2897628531bad2be0c90ecc53468f",
      "parents": [
        "e577e87a2d80890190f14edc4a5caf70d7c566bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 10 17:50:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 11 10:39:11 2010 -0700"
      },
      "message": "Adjust activity manager process OOM adj.\n\nModify OOM adj classes a bit, to take into account the new\nheavy weight app type, and give \"foreground services\" their\nown category to have a bettery chance to manager them when\nthings go wrong.\n\nAlso add some new code to battery stats to keep a history\nof changes to the battery level.\n\nChange-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a\n"
    },
    {
      "commit": "4001120e456e51dd498c6647460dd97d946dc816",
      "tree": "8050c4de42354eb54a6c8910c46e56813ea9285c",
      "parents": [
        "4d61f602bf67fe61256c23f090d6119992ad5160",
        "f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 10 15:30:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 10 15:30:41 2010 -0700"
      },
      "message": "am f4a502a2: Merge \"Don\\\u0027t adjust lights if screen or button brightness is changed when the screen is off.\" into froyo\n\nMerge commit \u0027f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4\u0027 into kraken\n\n* commit \u0027f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4\u0027:\n  Don\u0027t adjust lights if screen or button brightness is changed when the screen is off.\n"
    },
    {
      "commit": "f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4",
      "tree": "71d62a9ed67b2f129cc29d152ebfcf99c3b2ae7d",
      "parents": [
        "8f2ca788f369892370477212cf9e7a67721a8c16",
        "f527c715d7065d8cf6943c37dd5e721bd7a805cd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 10 15:28:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 10 15:28:31 2010 -0700"
      },
      "message": "Merge \"Don\u0027t adjust lights if screen or button brightness is changed when the screen is off.\" into froyo"
    },
    {
      "commit": "438d0595121a7a2cdf19741e76e3c0e21a5c173d",
      "tree": "d4a76171b2eb52c472c2900eb6947ff073bed81a",
      "parents": [
        "8f1bfb001b522a370a65c8e4545183b7611f672b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 12:19:19 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 14:38:58 2010 -0700"
      },
      "message": "Introduce \"StrictMode\"\n\nThis is a new public API for developers to opt-in to strict rules\nabout what they\u0027re allowed to do on certain threads.  (this is the\npublic face of the @hide dalvik.system.BlockGuard, added recently...)\n\nIn practice this will be used for developers to opt-in to declaring\nthat they don\u0027t want to be allowed to do various operations (such as\ndisk I/O or network operations) on their main UI threads.  (these\noperations are often accidental, or even when they are fast come with\na good chance of being slow or very slow in some cases....)\n\nImplementation wise, this is just a thread-local integer that has a\nbitmask of the things that aren\u0027t allowed, and more bits for saying\nwhat the violation penalty is.  The penalties, of which multiple can\nbe chosen, include:\n\n  * logging\n  * dropbox uploading for analysis/reporting\n  * annoying dialog\n  * full-on crashing\n\nThese are all only very roughly implemented at this point, but all\nparts now minimally work end-to-end now, so this is a good checkpoint\ncommit before this gets too large.\n\nFuture CLs will polish all the above 4 penalties, including\nchecksumming of stacktraces and minimizing penalties for duplicate\nviolations.\n\nChange-Id: Icbe61a2e950119519e7364030b10c3c28d243abe\n"
    },
    {
      "commit": "8f1bfb001b522a370a65c8e4545183b7611f672b",
      "tree": "d6f61406df1a090fe5f7786d3e52f26df95dcc0d",
      "parents": [
        "8d3002806593f090ee570c04e4620b90df4d5c8b",
        "8f2ca788f369892370477212cf9e7a67721a8c16"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 10 14:13:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 10 14:13:51 2010 -0700"
      },
      "message": "am 8f2ca788: Merge \"Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.\" into froyo\n\nMerge commit \u00278f2ca788f369892370477212cf9e7a67721a8c16\u0027 into kraken\n\n* commit \u00278f2ca788f369892370477212cf9e7a67721a8c16\u0027:\n  Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.\n"
    },
    {
      "commit": "8f2ca788f369892370477212cf9e7a67721a8c16",
      "tree": "4111ae09406799e0a0c20727a29825bebbf70dc3",
      "parents": [
        "a2c6d5bf308181c019ade0aac6d25fe33dc3d76c",
        "5cd88cfd239bc61a4327e2a13747b4590890d838"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 10 14:09:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 10 14:09:50 2010 -0700"
      },
      "message": "Merge \"Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.\" into froyo"
    },
    {
      "commit": "f527c715d7065d8cf6943c37dd5e721bd7a805cd",
      "tree": "6b5d282e3bf5bdc3cfd36f5d1eebd1b9012332d9",
      "parents": [
        "71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 10 14:12:33 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 10 14:14:00 2010 -0400"
      },
      "message": "Don\u0027t adjust lights if screen or button brightness is changed when the screen is off.\n\nChange-Id: I798a240374c3a739e1f1eaf36fa9fdef8416f2a2\nBUG: 2758292\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a2c6d5bf308181c019ade0aac6d25fe33dc3d76c",
      "tree": "b5978d6349768cbf70b33366beb775ec0c6c3572",
      "parents": [
        "b00854d4c07ee8c810d1e32984543297bfa80a8e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 09 14:27:43 2010 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 10 10:39:42 2010 -0700"
      },
      "message": "do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch\n\nChange-Id: Ie20371234a531f65f523682a0d0c27394dc30afa\n"
    },
    {
      "commit": "5cd88cfd239bc61a4327e2a13747b4590890d838",
      "tree": "7a1539ab533de6f150a86469e6ea411eb28b1015",
      "parents": [
        "75b6a6b972e6b18143fd629d3d9c824c442c5f4c"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 09 17:10:04 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 09 17:10:04 2010 -0700"
      },
      "message": "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.\n\nChange-Id: I26bd54cec739ca8d91d2c2b18b90134f20dbd907\n"
    },
    {
      "commit": "2feafeffb8c2a5e02cb7998194d129ab0f43f9b0",
      "tree": "0532163e1551e707127a800269db4dfcdc111d2f",
      "parents": [
        "ae706c10c08209cdca79725ac7d25eec50777ada",
        "929b4855b8208d36272769e8eeaa6cd2823b94c0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 09 14:49:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 09 14:49:10 2010 -0700"
      },
      "message": "Merge \"Fix a problem with leaking UDP sockets.\" into kraken"
    },
    {
      "commit": "75144ea38e79e3827e69a9f5b53a6fd3a74c4df5",
      "tree": "22151ca24153ffaafbdca7f702139e537a834a45",
      "parents": [
        "f1f259165ffaa4095afbd50fea47ed091cbc14b3"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 12:36:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:31 2010 -0700"
      },
      "message": "Move the status bar icon list, hopefully for the last time.\n\nChange-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1\n"
    },
    {
      "commit": "f1f259165ffaa4095afbd50fea47ed091cbc14b3",
      "tree": "f9778c41051b321c95df81f4452661a70ca5fab1",
      "parents": [
        "7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 11:52:41 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:30 2010 -0700"
      },
      "message": "Call into the notification manager when the panel is revealed.\n\nThis lets it turn off the LED.  However, it seems like somebody broke\nthe notification LEDs.  GRRR.\n\nChange-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be\n"
    },
    {
      "commit": "7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57",
      "tree": "04a00561e8e2ec8b8c883d6fb31b3a6b0570ba51",
      "parents": [
        "9e875fcb55dad6795e823207693c5ca877941d3e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 10:24:36 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:30 2010 -0700"
      },
      "message": "Move status_bar_latest_event and LatestItemView into SystemUI.apk.\n\nThen, now that StatusBarManagerService is the only thing in that package,\nmove it up to the regular services package.  (I\u0027ve been waiting for 4 years\nto delete that package!)\n\nChange-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad\n"
    },
    {
      "commit": "9e875fcb55dad6795e823207693c5ca877941d3e",
      "tree": "f5044c92c2660ac12b276a9c6937d9b727c86e91",
      "parents": [
        "8bc6c5141974dbc36a6fe416853f558921be9f24"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 11:12:11 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:29 2010 -0700"
      },
      "message": "Start the status bar service based on a configuration option, instead of trampolining through\na braodcast receiver.\n\nChange-Id: I6ae0740fea07350b80c35c0ee2d938e0364d773e\n"
    },
    {
      "commit": "8bc6c5141974dbc36a6fe416853f558921be9f24",
      "tree": "c9e511a5d065abb8f6d0c9f4965ef2d63965c7a5",
      "parents": [
        "005847b03b2ebe3eb1a974a8a04ad51bca6636cd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 16:21:12 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:23 2010 -0700"
      },
      "message": "Require the STATUS_BAR_SERVICE permission for something to be the status bar.\n\nChange-Id: I57b2d296e0d0cef0d256ae6697fffc47188d14df\n"
    },
    {
      "commit": "929b4855b8208d36272769e8eeaa6cd2823b94c0",
      "tree": "ad166636b5bbe1a76d037b5fbb51981480929d05",
      "parents": [
        "c44c4742e7d79f6fe846f807bb26ad8b3cd16f68"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 09 14:27:43 2010 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 09 14:27:43 2010 -0700"
      },
      "message": "Fix a problem with leaking UDP sockets.\n\nWhen dealing with any kind of limited operating system resource,\nwe should ensure that we properly close everything that we\nopen, rather than relying on the system garbage collector.\n\nChange-Id: Ic71f710eb85ac71a91b7a1215647c75010d37643\n"
    },
    {
      "commit": "005847b03b2ebe3eb1a974a8a04ad51bca6636cd",
      "tree": "1664f30f2320bddcf44b0af581b492589a38fcda",
      "parents": [
        "d956ae8b813da893ab6a9357acfe287c529d6ac2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 16:08:02 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Handle errors inflating notifications (and their icons).\n\nOn an inflation error, the StatusBarService cleans up, removes / doesn\u0027t add\nthe views, and calls into the StatusBarManagerService, which tells the\nNotificationManagerService to remove the notification.\n\nThat then calls all the way back into the StatusBarService, but I think being\nextra careful is okay.  Throughout the status bar, it\u0027s all keyed off of the\nIBinder key, so if the app comes in with a good notification while we\u0027re\ncleaning up, we won\u0027t lose the new notification or anything like that.\n\nChange-Id: Iea78a637495a8b67810c214b951d5ddb93becacb\n"
    },
    {
      "commit": "bd73d01a9cafc1ee8cc91f9691b5234e2a59bb98",
      "tree": "e9494ea1f9db74e879fc6d4ca0ce4dde47239a28",
      "parents": [
        "fe4f3ae33c8da86585399b4167fd7987c8a16066"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 11:44:54 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Cap the number of notifications that a given package can post.\n\nRight now the number is 50, just to prevent apps that have gone completely bonkers.  I think the limit should be lower.\n\nChange-Id: Ib2c4abf669c8b0250e5421b6d5aeb81aeb2f82ce\n"
    },
    {
      "commit": "fe4f3ae33c8da86585399b4167fd7987c8a16066",
      "tree": "9d106e681a8f94a024ecd87ce50f584991e99d6b",
      "parents": [
        "d2b1f00e1e34cdce0047af7374aa57b1e4b5b040"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 11:25:26 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Move the usb mass storage notification \u0026 activity into SystemUI.apk.\n\nAlso fix the notification to show properly when the runtime is restarted.\n\nChange-Id: Id0c7ef9f9dc9c9df18428cbaa7db1703f085137e\n"
    },
    {
      "commit": "3b68548da60ab3249fbc89b8e587e22485630f32",
      "tree": "2f7caf5654ffecfb79e24668a1a237106417672a",
      "parents": [
        "1debc66521f699bbf0a8eb80cababaef8bc63607",
        "75b6a6b972e6b18143fd629d3d9c824c442c5f4c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 16:33:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 08 16:33:26 2010 -0700"
      },
      "message": "am 75b6a6b9: Merge \"Fix 2737842: Disable KeguardManager API if device policy is enabled\" into froyo\n\nMerge commit \u002775b6a6b972e6b18143fd629d3d9c824c442c5f4c\u0027 into kraken\n\n* commit \u002775b6a6b972e6b18143fd629d3d9c824c442c5f4c\u0027:\n  Fix 2737842: Disable KeguardManager API if device policy is enabled\n"
    },
    {
      "commit": "284b62e1b8c3419bfd02c6fea5ba0a68146c06f8",
      "tree": "8eb35ad894780e15c7b79acb8fbe455e7c76e8e4",
      "parents": [
        "cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 14:27:42 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 15:47:52 2010 -0700"
      },
      "message": "Fix 2737842: Disable KeguardManager API if device policy is enabled\n\nThis change adds notification to find out when the device policy\nhas changed.  When an admin adds or changes a policy, we get notified\nand reset the state of keyguard to be enabled.\n\nIt also moves disabling keyguard into the TokenWatcher.acquired()\nmethod to avoid disabling keyguard when a policy doesn\u0027t permit it.\nThis avoids reference counting issues in TokenWatcher and hence relieves\nthe ordering issue.\n\nThere is one remaining caveat. An application that uses KeyguardManager\nto disable keyguard will need to disable keyguard again after any\npolicy change.\n\nTested:\n\nInstall and run app that disables keyguard with no admin. Result: keyguard is enabled/disabled as expected.\nEnable admin and set quality \u003d \"something\" after installing \u0026 running app. Result: keyguard is enabled.\nChange admin password quality to \"unspecified\" and re-run app (per caveat). Result: keyguard is disabled.\nChange admin password quality to \"something\" again. Result: keyguard is enabled.\nDisable admin : Result: keyguard is enabled until app runs again (per caveat).\n\nAdded minor cosmetic changes after review.\n\nChange-Id: I302f2b01446bf031f746b0f3e8b5fd7a6cc0e648\n"
    },
    {
      "commit": "7d70358a039426ca2da53cd3330638e2b12ca92e",
      "tree": "5aa8ded514c38c7225ca8eadd7d19443fd4053cc",
      "parents": [
        "8a7fa44fdc4163083703cf1127839bcf35decb9f",
        "bde25c207731783a62e3611586fe05cd35add0d9"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:25:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 19:25:49 2010 -0700"
      },
      "message": "am bde25c20: Merge \"Fix 2737842: disable keyguard API when device policy is enabled.\" into froyo\n\nMerge commit \u0027bde25c207731783a62e3611586fe05cd35add0d9\u0027 into kraken\n\n* commit \u0027bde25c207731783a62e3611586fe05cd35add0d9\u0027:\n  Fix 2737842: disable keyguard API when device policy is enabled.\n"
    },
    {
      "commit": "bde25c207731783a62e3611586fe05cd35add0d9",
      "tree": "402adb4327f1f1e768d663487c4e6f32b5c32eed",
      "parents": [
        "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a",
        "d6b5705e188e55a3b9dbb07954b16564b1a31b9f"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:24:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 19:24:45 2010 -0700"
      },
      "message": "Merge \"Fix 2737842: disable keyguard API when device policy is enabled.\" into froyo"
    },
    {
      "commit": "d6b5705e188e55a3b9dbb07954b16564b1a31b9f",
      "tree": "f5b89bc6a0d24f7414dc2fd55846d89b5e8f794c",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 17:52:42 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:19:29 2010 -0700"
      },
      "message": "Fix 2737842: disable keyguard API when device policy is enabled.\n\nThis fix disables KeyguardManager\u0027s enable/disable API when any\ndevice policy admin requests a policy that enforces a password.\n\nChange-Id: Idb1da16b14ed8963142f7b1f62d2b060d84ffa65\n"
    },
    {
      "commit": "8a7fa44fdc4163083703cf1127839bcf35decb9f",
      "tree": "b2fed3c2ab2c232dd1029cea310235b1390ba729",
      "parents": [
        "0bc0a46ae84de11265ac7d1dbea5e3b28e90936a",
        "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:48:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 18:48:27 2010 -0700"
      },
      "message": "am ac24d23c: Merge \"Don\\\u0027t bring up Launcher until after boot complete\" into froyo\n\nMerge commit \u0027ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a\u0027 into kraken\n\n* commit \u0027ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a\u0027:\n  Don\u0027t bring up Launcher until after boot complete\n"
    },
    {
      "commit": "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a",
      "tree": "6f9ab928487b4acb961ced8f71d791ffef38fd15",
      "parents": [
        "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff",
        "04c0af8f5553ee9cbba8cac80067934066835c1f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:46:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 18:46:46 2010 -0700"
      },
      "message": "Merge \"Don\u0027t bring up Launcher until after boot complete\" into froyo"
    },
    {
      "commit": "04c0af8f5553ee9cbba8cac80067934066835c1f",
      "tree": "b9c07a8ffb37a3758f9fe59c1a17df10b924b949",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:35:20 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:35:20 2010 -0700"
      },
      "message": "Don\u0027t bring up Launcher until after boot complete\n\nThe preboot upgrade handling was bringing up the acore process with a default\napplication object, then the normal \"start the HOME app\" code was bringing up\nLauncher2 [hosted in acore] in anticipation of boot completion... but then it\nsaw that the host process was alive and continued with Launcher2\u0027s init.\nLauncher2 depends on a custom application object, however, so it crashed\nimmediately.\n\nThis change ensures that the HOME app is not actually initted at that level\nuntil after boot has completed, at which point its proper application class\ncan be instantiated.\n\nFixes bug #2732250\n\nChange-Id: I1a15384e2c0d50e14300df0c0db236bd7b1a187c\n"
    },
    {
      "commit": "0bc0a46ae84de11265ac7d1dbea5e3b28e90936a",
      "tree": "0887920207d99f30e942baabae452fbd0b8ca76c",
      "parents": [
        "7db534fac4ff65a5339ed5adaf9cfaa028b39f00",
        "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 18:32:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 18:32:04 2010 -0700"
      },
      "message": "am d1d9047d: Merge \"Fix issue #2749322: addPackageToPreferred throws SecurityException\" into froyo\n\nMerge commit \u0027d1d9047d5c34fb05be08099fa8cd73e4301ee0ff\u0027 into kraken\n\n* commit \u0027d1d9047d5c34fb05be08099fa8cd73e4301ee0ff\u0027:\n  Fix issue #2749322: addPackageToPreferred throws SecurityException\n"
    },
    {
      "commit": "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff",
      "tree": "8ab4837641979403ba4f8b255eff71bfb2251ae2",
      "parents": [
        "5a671d03e3abe522a761a43b0460f9f3816b14ed",
        "8377fc0f36842d355dfb354c98fa3e86d61e0288"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 17:32:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 17:32:02 2010 -0700"
      },
      "message": "Merge \"Fix issue #2749322: addPackageToPreferred throws SecurityException\" into froyo"
    },
    {
      "commit": "8377fc0f36842d355dfb354c98fa3e86d61e0288",
      "tree": "e34bd860856ffca9471d68e1baa2e4d91c1b02f3",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 15:54:58 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 17:30:57 2010 -0700"
      },
      "message": "Fix issue #2749322: addPackageToPreferred throws SecurityException\n\nChange-Id: I96cdc110fd9acca4b6c95d281e819bad1e4557f8\n"
    },
    {
      "commit": "7db534fac4ff65a5339ed5adaf9cfaa028b39f00",
      "tree": "021b1b140eafe30538b9f5afa0673285fe350e20",
      "parents": [
        "2cbff0edb67e47fb75f4142dce7ba104c6336fc7",
        "5a671d03e3abe522a761a43b0460f9f3816b14ed"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:59:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 16:59:01 2010 -0700"
      },
      "message": "am 5a671d03: Cut logging, boost efficiency of ThrottleService\n\nMerge commit \u00275a671d03e3abe522a761a43b0460f9f3816b14ed\u0027 into kraken\n\n* commit \u00275a671d03e3abe522a761a43b0460f9f3816b14ed\u0027:\n  Cut logging, boost efficiency of ThrottleService\n"
    },
    {
      "commit": "5a671d03e3abe522a761a43b0460f9f3816b14ed",
      "tree": "e61bd2e28bb729f27c0bcb92b55fe655f9a160aa",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:43:16 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:43:16 2010 -0700"
      },
      "message": "Cut logging, boost efficiency of ThrottleService\n\nChanged the Alarms to be non-waking.\n\nbug:2748959\nbug:2747862\nChange-Id: I9e4294162a4fc2f90aed36393b858edcf82aa307\n"
    },
    {
      "commit": "e0cbd72b332a30811a816cae212306bb08b93066",
      "tree": "7f30cc6268eb3dab2074743cd98b57b258ca0a8b",
      "parents": [
        "a557b24ac4dd568d86b08753f7c0361d04f80d46",
        "6390929174cbd214d4ac80c7147e2985004667e1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 07 14:02:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 14:02:38 2010 -0700"
      },
      "message": "Merge \"PackageManagerService: always install native binaries from .apk\" into kraken"
    },
    {
      "commit": "b7bb3b3df6cb3743ee43b71455d9525762e55b45",
      "tree": "948830404473ff0ac41bcf525f52c76f81912429",
      "parents": [
        "7a68d3686aace4781ee6c25d8ab8704bebee34af"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 22:47:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 11:01:29 2010 -0700"
      },
      "message": "Fix bug in reporting a processes\u0027s dependent component.\n\nAlso add new action to show an app\u0027s details.\n\nChange-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92\n"
    },
    {
      "commit": "a8ebe8b3f5aea0d3f09a62d6d255f99c1f911f7b",
      "tree": "82e315bc4d0a1531c90b98c17513f5a44c4ede13",
      "parents": [
        "168585ed68f03ddc851cd734cbb6ba813e30eb85",
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 06 12:10:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:08 2010 -0700"
      },
      "message": "am df2e2eff: Merge \"Watchdog now records kernel stacks when it fires\" into froyo\n\nMerge commit \u0027df2e2eff9446c0220515fa7aab7857135e04e12e\u0027 into kraken\n\n* commit \u0027df2e2eff9446c0220515fa7aab7857135e04e12e\u0027:\n  Watchdog now records kernel stacks when it fires\n"
    },
    {
      "commit": "9c4ed1394bb16b1d76758127a9b5d73bd363adaf",
      "tree": "3f7f3f36ce1efa79e9072d312220e5ae2066ad71",
      "parents": [
        "fae5cb2b356a1fef172b43066180a7ab4c32dbac",
        "f9610b3842e030138c1dc327a3a467aaea02c227"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Sun Jun 06 12:10:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:00 2010 -0700"
      },
      "message": "am f9610b38: Merge \"Make the DUN apn data secure.\" into froyo\n\nMerge commit \u0027f9610b3842e030138c1dc327a3a467aaea02c227\u0027 into kraken\n\n* commit \u0027f9610b3842e030138c1dc327a3a467aaea02c227\u0027:\n  Make the DUN apn data secure.\n"
    },
    {
      "commit": "df2e2eff9446c0220515fa7aab7857135e04e12e",
      "tree": "dd1c383a329395a203d88da23618778ddce30c6c",
      "parents": [
        "5474902fe9fe72c825855c4a77f99a581a9f6594",
        "ecaa7b41ca49154ceaa9a7504eb0a86b89a96026"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 18:06:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 18:06:07 2010 -0700"
      },
      "message": "Merge \"Watchdog now records kernel stacks when it fires\" into froyo"
    },
    {
      "commit": "6390929174cbd214d4ac80c7147e2985004667e1",
      "tree": "ad9eeb413d694265e1aed7c29dcc20ee84578b7b",
      "parents": [
        "b705eea70245dae69d16e18d63b3ee38e1d0c5c3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 03 14:37:42 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 04 16:32:27 2010 -0700"
      },
      "message": "PackageManagerService: always install native binaries from .apk\n\nThe previous implementation fails to work properly when the .apk\nand installed versions of the binaries have the same size and date.\n\nChange-Id: I296e34505ab4f0af028de5bcff7a83969f160ec1\n"
    },
    {
      "commit": "f9610b3842e030138c1dc327a3a467aaea02c227",
      "tree": "e1ca2b33bff382420400705efe493a4ab0f697e9",
      "parents": [
        "4b3309211ed6f3532b44481945a4725143d50b8a",
        "77b32ddbbeeb13a07b16f23af705567c75a8e3df"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 04 15:55:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 15:55:09 2010 -0700"
      },
      "message": "Merge \"Make the DUN apn data secure.\" into froyo"
    },
    {
      "commit": "ecaa7b41ca49154ceaa9a7504eb0a86b89a96026",
      "tree": "a598349af5efb1e2a57e92862cf4a9b68d33f284",
      "parents": [
        "de56c27dab020bf85187c8bcfc6842cb31006c59"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 14:55:02 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 14:55:02 2010 -0700"
      },
      "message": "Watchdog now records kernel stacks when it fires\n\nThe kernel threads are appended to the usual /data/anr/traces.txt file\nand dropboxed along with the usual Dalvik stack dumps.\n\nChange-Id: I120f1f5ee54c965efe9ac0c7f40fdef56385f1fa\nNOTE: this change depends on the kernel publishing /proc/$PID/stack\n"
    },
    {
      "commit": "66236db38dbaae229a86005309b9f7c74eabc998",
      "tree": "96bcf8854c357992fecbb9829f431b07aa2fb933",
      "parents": [
        "fef42db92568918161a2a9d69411290adfa1720f",
        "1e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 13:52:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 13:52:45 2010 -0700"
      },
      "message": "am 1e2e2aea: am 4b330921: Don\\\u0027t crash when low storage is encountered pre-boot completion.\n\nMerge commit \u00271e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac\u0027 into kraken\n\n* commit \u00271e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac\u0027:\n  Don\u0027t crash when low storage is encountered pre-boot completion.\n"
    },
    {
      "commit": "1e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac",
      "tree": "e7880c77fa7537b6ef1a6d72b0a0fe9d259d9a77",
      "parents": [
        "2d743fe2f39397d41334001d897eb78da56e94ef",
        "4b3309211ed6f3532b44481945a4725143d50b8a"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 13:50:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 13:50:31 2010 -0700"
      },
      "message": "am 4b330921: Don\\\u0027t crash when low storage is encountered pre-boot completion.\n\nMerge commit \u00274b3309211ed6f3532b44481945a4725143d50b8a\u0027 into froyo-plus-aosp\n\n* commit \u00274b3309211ed6f3532b44481945a4725143d50b8a\u0027:\n  Don\u0027t crash when low storage is encountered pre-boot completion.\n"
    },
    {
      "commit": "4b3309211ed6f3532b44481945a4725143d50b8a",
      "tree": "e6601c2badc671e722549a0e871d929bba6c9dff",
      "parents": [
        "2e3761ba43f634e97ac493f4b79e5e53954a1491"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 15:16:06 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 15:16:06 2010 -0500"
      },
      "message": "Don\u0027t crash when low storage is encountered pre-boot completion.\n\nBug: 2741633\nChange-Id: Ic073ead64ff43b2e2c32b439756cd71c2b6550b8\n"
    },
    {
      "commit": "77b32ddbbeeb13a07b16f23af705567c75a8e3df",
      "tree": "6a284450b6ea308c982d7adcc89bc86c8d59947c",
      "parents": [
        "6a297118724f31b1063b74f52295d459ec4f58dc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jun 03 18:57:26 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 04 11:13:34 2010 -0700"
      },
      "message": "Make the DUN apn data secure.\n\nRather than come out of the user-modifiable APN DB, the DUN APN data will\ncome first from a built-in resource and then potentially overriden by a secure\nsetting (which is gservices upgradable).\n\nAlso made the \"require-dun\" setting secure-setting overridable.\nbug:2736390\n\nChange-Id: I1e4644c3839f06c977b83797641f3948785146a2\n"
    },
    {
      "commit": "860755faa6bdd3c2aeae49c05b87b5bc080ae60c",
      "tree": "49cb794a0de5b8f505048533ac5daf02e95c94b1",
      "parents": [
        "f8acea6ccbdd7e7283b1dc439f49c72a937f746d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 03 18:47:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 10:09:13 2010 -0700"
      },
      "message": "Add support for heavy-weight applications.\n\nOnly one can be running at a time, their process can not be killed,\nand a notification is posted while it is running.\n\nChange-Id: I843015723947e0c934ae63a1aeee139327c0bc01\n"
    },
    {
      "commit": "169af47b0076457854cc0f92d6b015195837686d",
      "tree": "c60cbfc4b398fcb80d141ec071ef2d7d725a7135",
      "parents": [
        "c91460d2c3a6ad51cdc455abcc540bf887bc6785"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 17:10:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "remove logging\n\nChange-Id: I42c2332c3c114700f5ade77b63b4f6010ea5507a\n"
    },
    {
      "commit": "75199e3ddcf7886c8ee5fbf8b486a8c21335bf14",
      "tree": "42164398a816e20fd0659c32cbbcdc972a4c30a0",
      "parents": [
        "b77f53b21c2185ae3ff7c219c384a6db73f8f4e4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat May 29 17:22:51 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Populate the notifications at startup of SystemUI.apk.\n\nChange-Id: Ie0b3fd9ed4bc9a012791372e6276f0b5908370a5\n"
    },
    {
      "commit": "798ac4c7d79534a8230623b737b5b1b6a415d105",
      "tree": "969db0c76992419b9a45a8b558c9c94383f54c36",
      "parents": [
        "79de0c550037a5328bbc7f4fddaf02f192a5c283"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 27 16:39:00 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:45 2010 -0700"
      },
      "message": "Start moving resources to SystemUI.apk.\n\nChange-Id: Ibf30b8196d65d7fbca1177968cefa5f7a875bf1d\n"
    },
    {
      "commit": "7dd8c6e4eae18a5a0f5f834f39f58f868f1fc720",
      "tree": "bc481de8fb867e6bcd5a17cd88e4a3b91dd4f721",
      "parents": [
        "175f79c5a556416817a8f8674b2e0ac3b3cb6e6b"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 26 15:26:00 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "Remove unused files from the service package.\n\nChange-Id: Ia28fd7b3c42a842137afd12c4822e9b7cb4310a0\n"
    },
    {
      "commit": "aaba60b281713d45a0f232580302c7b54a7207df",
      "tree": "9e61b9f0133548c1fdc7aacde289c8539fe37698",
      "parents": [
        "e345fff2f80947b0a821f6674c197a02b7bff08e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 23 15:18:41 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Notifications don\u0027t crash when you click them, and pass through events to NotificationManagerService\n\nChange-Id: Iae4a636d3c6d5c617440b11eb5b8bc77838ad584\n"
    },
    {
      "commit": "e345fff2f80947b0a821f6674c197a02b7bff08e",
      "tree": "0e6189b3f1716931b8fe28a8ce1ddc83dadea299",
      "parents": [
        "a0c56fe93925d20d9c0b830b9664699ce557e78c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 23 15:18:27 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "notifications show\n\nChange-Id: I9240b803c643874828c95afcf1ba9ed91194dbc0\n"
    },
    {
      "commit": "a0c56fe93925d20d9c0b830b9664699ce557e78c",
      "tree": "b31ff5bb17a888e609a4dbc51de8651252bc7b67",
      "parents": [
        "18e69dfc7235f8a4bfe257f9d1c43539049a22ce"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 20 10:21:52 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Checkpoint. Doesn\u0027t build.\n\nChange-Id: I92e4d539ea71af9e22ced02cbdee7fbd456b7971\n"
    },
    {
      "commit": "18e69dfc7235f8a4bfe257f9d1c43539049a22ce",
      "tree": "da47804d8acd8680cfdd0fb8fa33dad6e01889c1",
      "parents": [
        "6528b35585020fafe7e39dfa416f728df5158c63"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 22:26:12 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Checkpoint.  Data structures for Notifications in place.\n\nChange-Id: I146fb9bc1d349112541368e2c99a667821dfdf6e\n"
    },
    {
      "commit": "4762c2d75a55e0854bbff2f996748116d4ab1a37",
      "tree": "7467da673f3e8e753a79ad044fc24e9ebb237a08",
      "parents": [
        "f3f0e053f0cc66249a11639eb67d0cdc2da26ded"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 15:42:59 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Add expand and collapse.\n\nChange-Id: I58ad95c59b2c46d3f25349e137d5624aefc6c6cd\n"
    },
    {
      "commit": "f3f0e053f0cc66249a11639eb67d0cdc2da26ded",
      "tree": "4a2c42a832abe775b672c1b5d25277592a182699",
      "parents": [
        "5368017294ab5d4c37c48d4169da33acbf004e83"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 18:49:29 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Make disable() work.\n\nChange-Id: I93fea37e777b3e04fe7f9171d5b84821587c24f5\n"
    },
    {
      "commit": "5368017294ab5d4c37c48d4169da33acbf004e83",
      "tree": "d1c452dbec3a4898015ee6c2bcbb1fbc52138895",
      "parents": [
        "263700df7ba34e70396d014d09a274d9ebbbf6ca"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 11:55:07 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Remove unused cruft.\n\nChange-Id: I21a10d74106d1e4384a70cb654e4336b8f679e4a\n"
    },
    {
      "commit": "263700df7ba34e70396d014d09a274d9ebbbf6ca",
      "tree": "8b1d259cd4062c0b805f3f1aa373bb3b3e0f06bd",
      "parents": [
        "66d7d01ed91968f4ed2e2669fd306aa2af61cd16"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 11:54:53 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Clock\n"
    },
    {
      "commit": "66d7d01ed91968f4ed2e2669fd306aa2af61cd16",
      "tree": "6c97672e9a821bb36d852870b8871f4c6c6cee13",
      "parents": [
        "514ad663f0a8b239cc59409175e0bd489c591aa0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 10:05:10 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Get icon updating working.\n\nChange-Id: I749967545af5c97756e316231e740208fcd8ad3c\n"
    },
    {
      "commit": "514ad663f0a8b239cc59409175e0bd489c591aa0",
      "tree": "9e768d8f86c6e7e6c8ff6cb93a8799f0c584c657",
      "parents": [
        "fb78cd99f9b08d70f1b4bfdbd847d5d746507052"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 13 18:49:00 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "Set the visibility of the icons.\n\nChange-Id: Ib414718f1c51f1d306308a989d5d31d8e3ea7fd1\n"
    },
    {
      "commit": "0cbda99f8721ad9b03ada04d2637fb75a2a0feca",
      "tree": "99b716653b139e560223dfc764bfc9a746df7bb5",
      "parents": [
        "503007dd023668b1e45de948d3673e594d7f5a82"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 02 16:28:15 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "The status bar draws its icons now.\n"
    },
    {
      "commit": "503007dd023668b1e45de948d3673e594d7f5a82",
      "tree": "9c1dc26b1716d0f805a832a116f494f51b3fdfe9",
      "parents": [
        "94c98c0ed5db12cedcd3f48f63708b76e5fb1398"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Apr 16 09:20:55 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "Checkpoint status bar factoring.  Now it builds and doesn\u0027t crash at boot.\n\nChange-Id: I23f2045abfec0b414d5381f5e609b7267da7f21a\n"
    },
    {
      "commit": "089de88fc2f08d284cf8031aa33cff06011a4162",
      "tree": "6ff209af8df0f66bca6281482d5a601167c98da5",
      "parents": [
        "90233a1ee50980310613b50f22fc68dd7b40ded8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 12 08:18:45 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "StatusBarService -\u003e StatusBarManagerService\n\nChange-Id: I7efc245395bd91a656b30d420c9b080877162360\n"
    },
    {
      "commit": "90233a1ee50980310613b50f22fc68dd7b40ded8",
      "tree": "8853530dcb5119b346a00ecf894c9a68f3356c1b",
      "parents": [
        "25f95f92005594f2ef094001c54cb4c39eec3ade"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 12 08:16:18 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "Add IStatusBar\n\nChange-Id: Ie73d665085d5ce7358c285bf332ef1dc96005d0f\n"
    },
    {
      "commit": "25f95f92005594f2ef094001c54cb4c39eec3ade",
      "tree": "5d203a4356ec39d79fda29d96780b5c3d4d92bae",
      "parents": [
        "2314aab5064ce09f09270e52fa12a38d07464278"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Apr 08 18:37:10 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "Rename IStatusBar to IStatusBarService.\n\nChange-Id: Icfec2a830f037b21f6afaa796bf49da610567e7b\n"
    },
    {
      "commit": "2314aab5064ce09f09270e52fa12a38d07464278",
      "tree": "835e5fcaec33d61b992eaf99b3befe9263a326ab",
      "parents": [
        "c87d5849f22d805b3dde8f70f60ddfadfc7c7b9d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Apr 08 16:41:23 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:39 2010 -0700"
      },
      "message": "First pass at splitting the status bar for the different devices.\n\nChange-Id: I2f568df92f88dfe8de18d24dd004239f52761aa6\n"
    },
    {
      "commit": "85fb20665feadda526ad422c093b859e8c4d40bc",
      "tree": "21d302dda6adbcc6c533a54d0afb8802eeaa5faa",
      "parents": [
        "89bc1395748a0a139db82adbf01166ed6fa79766"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 20:50:21 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 20:50:21 2010 -0700"
      },
      "message": "Amend previous ndc commit\n\nSubmitted wrong patchset. This includes the delta for the latest\npatchset.\n\nChange-Id: I30f8fa1503cda2459ec7284eb9fa199c9fd5ef9b\n"
    },
    {
      "commit": "a80ce06d4c54e43243073f8ceff024f9dda7140e",
      "tree": "64fc8191b7bd708ffa8166cc7ef43d39e328f990",
      "parents": [
        "00e21f8eb57a7ae2c19516aa0290ab4fb5f251c2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 13:23:53 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 13:29:04 2010 -0700"
      },
      "message": "Add more error checking for ndc\n\nIn NativeDaemonConnector.doCommand() calls, there was inconsistent error\nchecking. This change adds error checking for every call and makes it so\nthat any call to .doCommand() that gets an error code won\u0027t cause the\ncode to hang forever.\n\nChange-Id: I4584953a759a48ad16adfe8ee9e564b5f5796680\n"
    },
    {
      "commit": "009668bf8a51a3d6e8ee2827691c9b0285503ba1",
      "tree": "02377ec6aa90beec823557eb04850b1336a26502",
      "parents": [
        "464411983a4dcafd19853d188a958fdc4f120d7c",
        "5c9d99496dab7a5cfe7cd37df749075ec9b4421b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 28 12:52:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 28 12:52:43 2010 -0700"
      },
      "message": "am 5c9d9949: am 6ee412d5: Also dump system process threads halfway through the watchdog interval\n\nMerge commit \u00275c9d99496dab7a5cfe7cd37df749075ec9b4421b\u0027 into kraken\n\n* commit \u00275c9d99496dab7a5cfe7cd37df749075ec9b4421b\u0027:\n  Also dump system process threads halfway through the watchdog interval\n"
    },
    {
      "commit": "5c9d99496dab7a5cfe7cd37df749075ec9b4421b",
      "tree": "dacaf0e13da4b010424b84bb1f7e8825976b40d9",
      "parents": [
        "6cc137459a21e67765d2490529a920ccfb14e362",
        "6ee412d51d8b601580cfb4b7be4f676b7ec76afd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 28 12:50:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 28 12:50:05 2010 -0700"
      },
      "message": "am 6ee412d5: Also dump system process threads halfway through the watchdog interval\n\nMerge commit \u00276ee412d51d8b601580cfb4b7be4f676b7ec76afd\u0027 into froyo-plus-aosp\n\n* commit \u00276ee412d51d8b601580cfb4b7be4f676b7ec76afd\u0027:\n  Also dump system process threads halfway through the watchdog interval\n"
    },
    {
      "commit": "6ee412d51d8b601580cfb4b7be4f676b7ec76afd",
      "tree": "df79e15607aac042f19f2e2507f955447c9b1a6a",
      "parents": [
        "94f1751cb0c6ea4004ff86b3af89e06e00a66641"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 28 12:01:56 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 28 12:23:16 2010 -0700"
      },
      "message": "Also dump system process threads halfway through the watchdog interval\n\nThis gives us a snapshot of what the system process was doing after 30 seconds\nof apparent inactivity as well as after 1 minute, to help distinguishing actual\ndeadlocks from too-slow progress, livelock, etc.\n\nChange-Id: I19758861d1b25f298e88788e8f1c7ec7bf828823\n"
    },
    {
      "commit": "c0046aab0c4a5fd3ae091040c739652a0a4c029e",
      "tree": "68a789aa91ae507d00c4e816d27083f256aa19c3",
      "parents": [
        "2cb138dbe89c493547066679e1a8ef1ae0a848de",
        "edf228ce1fc9aae9fe314229c19e80a434bb4393"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu May 27 09:42:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 27 09:42:44 2010 -0700"
      },
      "message": "am edf228ce: am dc46f6f6: Merge \"Don\\\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\" into froyo\n\nMerge commit \u0027edf228ce1fc9aae9fe314229c19e80a434bb4393\u0027 into kraken\n\n* commit \u0027edf228ce1fc9aae9fe314229c19e80a434bb4393\u0027:\n  Don\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\n"
    },
    {
      "commit": "edf228ce1fc9aae9fe314229c19e80a434bb4393",
      "tree": "599592ce0f346fb9245294d9c71f6faf9c000563",
      "parents": [
        "8316e875baee53b661d5af8fa843d97e51acbcf6",
        "dc46f6f6cc44954c23229019270b54b8912be825"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu May 27 09:40:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 27 09:40:23 2010 -0700"
      },
      "message": "am dc46f6f6: Merge \"Don\\\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\" into froyo\n\nMerge commit \u0027dc46f6f6cc44954c23229019270b54b8912be825\u0027 into froyo-plus-aosp\n\n* commit \u0027dc46f6f6cc44954c23229019270b54b8912be825\u0027:\n  Don\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\n"
    },
    {
      "commit": "dc46f6f6cc44954c23229019270b54b8912be825",
      "tree": "af4357c659a77dd73c7d16be2ee052987cb38594",
      "parents": [
        "b3f3caef38326be2b4aea309237f718e6e2d2b8a",
        "acf8474b6843215c6ee5da5e58630de0afa2be60"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu May 27 09:39:19 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 27 09:39:19 2010 -0700"
      },
      "message": "Merge \"Don\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\" into froyo"
    },
    {
      "commit": "2ed403790177dc3cd0295cc454f5bfa491cf98f5",
      "tree": "8a2af38b9eb8361d69e115b05090ec86f4d9074a",
      "parents": [
        "7ca7eedbaea33026ac6c6eaae5f7f27667380329",
        "8316e875baee53b661d5af8fa843d97e51acbcf6"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 21:37:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 26 21:37:45 2010 -0700"
      },
      "message": "am 8316e875: am b3f3caef: Merge \"Fix null pointer exception\" into froyo\n\nMerge commit \u00278316e875baee53b661d5af8fa843d97e51acbcf6\u0027 into kraken\n\n* commit \u00278316e875baee53b661d5af8fa843d97e51acbcf6\u0027:\n  Fix null pointer exception\n"
    },
    {
      "commit": "8316e875baee53b661d5af8fa843d97e51acbcf6",
      "tree": "042dbf082861b305faf8d68143cb404a47d8a6cc",
      "parents": [
        "f69fd4dd481c10749a8651ab6c9cfda1dea68297",
        "b3f3caef38326be2b4aea309237f718e6e2d2b8a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 21:34:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 26 21:34:52 2010 -0700"
      },
      "message": "am b3f3caef: Merge \"Fix null pointer exception\" into froyo\n\nMerge commit \u0027b3f3caef38326be2b4aea309237f718e6e2d2b8a\u0027 into froyo-plus-aosp\n\n* commit \u0027b3f3caef38326be2b4aea309237f718e6e2d2b8a\u0027:\n  Fix null pointer exception\n"
    },
    {
      "commit": "7baec0fe4ef66ac308ebc132d6c08865db653b30",
      "tree": "6fd9dd4f8e2d5e659b53beb5df7bcfbd822383cd",
      "parents": [
        "fa499e46203dba2db2bb40f71e5af1650315c67c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 17:16:47 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 17:16:47 2010 -0700"
      },
      "message": "Fix null pointer exception\n\nBug: 2718857\nChange-Id: I4b04284fd5b3a4881297fe15555e9f1ca91d73cb\n"
    },
    {
      "commit": "384177829839040da033d0b4560840fbf4d73b45",
      "tree": "04a56da11aa2a6888969f2c52a1c907f47033848",
      "parents": [
        "a581a7764041e1444da42a287abef88fd1db5b66",
        "c8390047bd2344032aca915816a8b91590835105"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 13:05:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 26 13:05:53 2010 -0700"
      },
      "message": "am c8390047: am 9ecca85f: Merge \"Fix escaping of characters\" into froyo\n\nMerge commit \u0027c8390047bd2344032aca915816a8b91590835105\u0027 into kraken\n\n* commit \u0027c8390047bd2344032aca915816a8b91590835105\u0027:\n  Fix escaping of characters\n"
    },
    {
      "commit": "c8390047bd2344032aca915816a8b91590835105",
      "tree": "1ade9ab35b61fc2e9da26da35631ff3eaaf5b0c4",
      "parents": [
        "6e0967b3c4561e188df72f478baf16c6627b12be",
        "9ecca85f0613032590c6840cae48b54f3d626181"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 13:04:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 26 13:04:11 2010 -0700"
      },
      "message": "am 9ecca85f: Merge \"Fix escaping of characters\" into froyo\n\nMerge commit \u00279ecca85f0613032590c6840cae48b54f3d626181\u0027 into froyo-plus-aosp\n\n* commit \u00279ecca85f0613032590c6840cae48b54f3d626181\u0027:\n  Fix escaping of characters\n"
    },
    {
      "commit": "9ecca85f0613032590c6840cae48b54f3d626181",
      "tree": "7f87eb53f5e435718954937b2fa8786fd4a13e18",
      "parents": [
        "b0016e2b2162c916289d022f1572c0bc95158543",
        "a6e559edb73886c626e0e5a95085d0ead767ceb7"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 26 13:02:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 26 13:02:06 2010 -0700"
      },
      "message": "Merge \"Fix escaping of characters\" into froyo"
    },
    {
      "commit": "acf8474b6843215c6ee5da5e58630de0afa2be60",
      "tree": "7201a8431e664a6fb4070daf00e18aef2035bdcf",
      "parents": [
        "7e5e3745cf0103219a13071fbd488c3c01da85d9"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue May 25 22:10:18 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed May 26 14:02:56 2010 -0500"
      },
      "message": "Don\u0027t enforce broadcast timeouts for PRE_BOOT_COMPLETED broadcasts.\n\nThey\u0027re designed to handle one time upgrade code, which may\ntake a significant amount of time. Third party code cannot\nreceive this broadcast so the timing should be able to be\nkept under control.\n\nBug: 2713849\nChange-Id: I3733b6530198bebd9b8c2ba6f9f27a7999336b8d\n"
    },
    {
      "commit": "ac53a8a135b3e04692a553147eabf3cbafd321c1",
      "tree": "b88515672b6d5e731605efd899e302ae558bf9be",
      "parents": [
        "f7617d3601519464400e8f6e9cf7030944b94d0c",
        "88ccecf573a52648052bc9c7858f345776f76e0e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue May 25 16:15:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 25 16:15:37 2010 -0700"
      },
      "message": "am 88ccecf5: am d1055a25: Make the NTP Cache max-age gservices-settable\n\nMerge commit \u002788ccecf573a52648052bc9c7858f345776f76e0e\u0027 into kraken\n\n* commit \u002788ccecf573a52648052bc9c7858f345776f76e0e\u0027:\n  Make the NTP Cache max-age gservices-settable\n"
    },
    {
      "commit": "88ccecf573a52648052bc9c7858f345776f76e0e",
      "tree": "45a5bcdab4e4aafcc4cedd6b8839d30c98d39178",
      "parents": [
        "f67c874c07d2e0ff888cc88679f884a833f89870",
        "d1055a250c00b0c2516ec406a8cf9a5ab1c0b7ae"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue May 25 16:13:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 25 16:13:22 2010 -0700"
      },
      "message": "am d1055a25: Make the NTP Cache max-age gservices-settable\n\nMerge commit \u0027d1055a250c00b0c2516ec406a8cf9a5ab1c0b7ae\u0027 into froyo-plus-aosp\n\n* commit \u0027d1055a250c00b0c2516ec406a8cf9a5ab1c0b7ae\u0027:\n  Make the NTP Cache max-age gservices-settable\n"
    },
    {
      "commit": "d1055a250c00b0c2516ec406a8cf9a5ab1c0b7ae",
      "tree": "7bd3c3deb88f79867f6d63e94830cde79592c3b9",
      "parents": [
        "7e5e3745cf0103219a13071fbd488c3c01da85d9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue May 25 15:54:52 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue May 25 15:54:52 2010 -0700"
      },
      "message": "Make the NTP Cache max-age gservices-settable\n\nTrying to make Throttle polling more energy efficient.\n\nbug:2708119\nChange-Id: I2b75639e202dcbcee11047c43407a22de04ce350\n"
    },
    {
      "commit": "a6e559edb73886c626e0e5a95085d0ead767ceb7",
      "tree": "3a94d3306d39e27585f1d3ee217b03ba4d895584",
      "parents": [
        "c7c7afd7a1af36e787266815487f4600196406b8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon May 24 14:55:42 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon May 24 14:55:42 2010 -0700"
      },
      "message": "Fix escaping of characters\n\n\\ and \" in SSID and password cause issues\nwith netd parsing. Fix it.\n\nBug: 2708960\nChange-Id: I278ca21c0bbfd9dc430a2f9ae02828274a0d2376\n"
    },
    {
      "commit": "884372842bac11f854aa42a9c4de05a3a22cb11f",
      "tree": "a9bb60acf5f7ddb25170921f4531ef4f197bcc11",
      "parents": [
        "1e11e95f61510ad600b52e2b24c927cada8c2ee4"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Mon May 24 13:40:22 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Mon May 24 13:40:22 2010 -0700"
      },
      "message": "Fix build error (Boolean -\u003e boolean)\n\nChange-Id: I2f337e23f4b092de41523f1195546e9d65851c84\n"
    },
    {
      "commit": "1e11e95f61510ad600b52e2b24c927cada8c2ee4",
      "tree": "c942a4c52990f123fab00e705e4436e2c014432c",
      "parents": [
        "6c537e53cef1b0177a1734e2a5f302d80c0a26f8",
        "01ac80b715881db22bde8b31633dd8a4dc375389"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon May 24 12:59:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 24 12:59:27 2010 -0700"
      },
      "message": "Merge \"Add Geocorder.isImplemented()\" into kraken"
    },
    {
      "commit": "01ac80b715881db22bde8b31633dd8a4dc375389",
      "tree": "2a49fc9e6ff824f729f64bdacb3b48835d99e367",
      "parents": [
        "11c6847d5960edeb0f15d0fd34045c89bd302d41"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "message": "Add Geocorder.isImplemented()\n\nThe Geocorder interface is not part of the Android core.  It\nrequires a backend service which may or may not be available\non a device.  The new isImplemented static method allows\napps to discover whether the Geocorder is in fact available\non the device.\n\nChange-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296\n"
    },
    {
      "commit": "2c195f77a16e96fe2add0dd661b7376379e5513d",
      "tree": "97f55f603f5d00449b1a452f7864c51f8a76c9ab",
      "parents": [
        "8e55e88ff56edb60f001673f94abf6a109edb2d6"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri May 21 15:42:06 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri May 21 15:46:54 2010 -0400"
      },
      "message": "New shadowy status bar, direct from Z\u0027ha\u0027dum.\n\nArtwork is FPO but serviceable enough. Many hardcoded font\ncolors \u0026 styles were moved to styles.xml where they belong.\nAM/PM finally given the old heave-ho (but configurable in\nStatusBarPolicy.java).\n\nNotification content remains on a light-gray background for\nnow (so as not to screw up custom RemoteViews) but status\nicons will definitely need across-the-board rework to look\nbetter against a dark background.\n\nChange-Id: Id9d5a699532f9336563cd6f9699bff3893735e4f\n"
    },
    {
      "commit": "0881f4f9339febee85c9ab4cba69970ac5cbde55",
      "tree": "61c2db5331dc37fe483f53ae8b233c9fcc6d03cc",
      "parents": [
        "71677f84e7705aa48b04829538b954a13cd11dec"
      ],
      "author": {
        "name": "Kevin.KY Tsai",
        "email": "kevin.ky_tsai@htc.com",
        "time": "Fri May 21 15:10:39 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 15:10:39 2010 -0400"
      },
      "message": "Report number of satellites used in fix instead of total for GPS Location extra\n\nChange-Id: Ibffc8d21b31b02a91c8506733002e4a778556978\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "03ca216ac19ea4e7afcb183c20c7c780f0d97756",
      "tree": "38e47efa7aeeff99fde78adb5f83446d2407eda0",
      "parents": [
        "4979601f88154bdeda4cc5277940771ba6597c0f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 01 08:10:09 2010 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 11:47:19 2010 -0400"
      },
      "message": "New Location Manager APIs for Criteria based requests and single shot mode.\n\nUse MS-Assisted mode for single shot GPS fixes if it is supported.\n\nAdd finer grained control over accuracy to the android.location.Criteria class\nand location criteria logic from LocationManager to LocationManagerService\n\nChange-Id: I156b1f6c6a45d255c87ff917cf3e9726a6d7a75b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    }
  ],
  "next": "3d802ef73bd8573f61b6b441990fbbd8e44e18e7"
}
