)]}'
{
  "log": [
    {
      "commit": "ad757e9b36d6bc6b8e39be00612d0e60863aaafc",
      "tree": "47f4ed2af449ef51d817d43cc434f7edb380bf53",
      "parents": [
        "88f10c6ce5a97b1990934148deb8ed6aa6ef7a48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 29 15:54:55 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 09:07:55 2011 -0800"
      },
      "message": "Fix free_cache to actually work\n\nThis broke with some other path-related changes, so it was scanning for\n/data/*/cache instead of /data/data/*/cache\n\nAlso remove redundant call to restat\n\nBug: 5686310\nChange-Id: Id1661f0f1337858fc9ead53c56ab7557f421c591\n"
    },
    {
      "commit": "eaeb4f4e3c914550d28a042fb3d752efcf20ab9e",
      "tree": "24b933974484d6fe2e1b755ef7fd7e43ac44b7c1",
      "parents": [
        "8bb56180d208b9264e5a56b49fe06b8471ccaced",
        "e83d181606981bcacd78e55b293fe9fa95b2551d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 23 11:25:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 23 11:25:39 2011 -0800"
      },
      "message": "Merge \"Fix some policy-base routing issues.\" into ics-mr1"
    },
    {
      "commit": "e83d181606981bcacd78e55b293fe9fa95b2551d",
      "tree": "93f7a948883320939b50c425ac5c6ecbb3397d7b",
      "parents": [
        "4c6a65bc319feab120d40553d93b160908db2f6d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 21 14:44:39 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 23 09:36:16 2011 -0800"
      },
      "message": "Fix some policy-base routing issues.\n\nSecondary nets sometimes come up with no routes, but parsing errors end up with null\nroutes getting added.  Trim that away.  Also added some dumpstate logging of the secondary\nroute tables and rules.\n\nbug:5615697\nChange-Id: I94c9d888bab958df44891b9117236436e046cc7f\n"
    },
    {
      "commit": "9c27e36eca46e5bf543678775ffa4ed1ee565faf",
      "tree": "073aaf43199556e4c56a3015a5c47a54a11ff9fb",
      "parents": [
        "aefc0ed9677233d5e8c991196f970222b4899dc3"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Thu Nov 17 13:20:35 2011 -0800"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Thu Nov 17 13:20:35 2011 -0800"
      },
      "message": "Re-enable vril-dump for adb bugreport.\n\nvril-dump was causing adb bugreport to hang on Xoom. The OEM fixed\nthe utility and we can now run it again as part of the bug report.\n\nBug: 5482585\nChange-Id: I1db3b50c327d50d18fb9c6327c4cd521e09f3916\n"
    },
    {
      "commit": "d8c98fee02b5498270344727d1289004d98c0e73",
      "tree": "87512279361711cb33abd2d465be2661076a2a75",
      "parents": [
        "b90a70d1542edd5a95e73b75192e6eb5a66401cc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 15 11:29:38 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 15 14:15:58 2011 -0800"
      },
      "message": "Improve low memory dropbox reporting.\n\nThe msg is now constructed to try to bin these reports in\ninteresting ways.  We\u0027ll see.  Also change the tag name from\nwatchdog to lowmem, since sharkey is kindly taking care of\nthe back-end to handle this.\n\nImprove how we put processes into low memory states to better\npoke things like home and the previous app.\n\nAlso clean up some debug output, and add a few new am comment\noptions for controlling the current debug app.\n\nChange-Id: I562a931a95244a2727bb7a6e1fd80dec259cdae2\n"
    },
    {
      "commit": "2b99e55ee3a0956a43a276f8018356ff9d08eafc",
      "tree": "6f6dd68ef11de2ecc5eeed67d478fcad1a65d4d2",
      "parents": [
        "785fd3685a69e5b3ef9c0958dcf4ae85f818e78d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 15:59:07 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 15:59:07 2011 -0800"
      },
      "message": "boot animation is dithered and scaled\n\ndisable dithering which shouldn\u0027t have been enabled\nin the first place because the frames are typically scaled.\nwe still use a 16-bits texture format to preserve memory.\n\nBug: 5600948\nChange-Id: Ib4d6e133df4375d0d735cd4325b6e589bbc5dafe\n"
    },
    {
      "commit": "e4d4fbc8c0257a79d9c6091cea2c264415bd2733",
      "tree": "1f25ddfe43638541f1ddddb13018daede1995935",
      "parents": [
        "665e105f145fcb27a54d53c6c9382bebf50a56d7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 08 11:53:28 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 08 15:44:34 2011 -0800"
      },
      "message": "Add drop box reports of low memory.\n\nWe are tagging these as \"watchdog\" to make them visible in the\nreporting tools.\n\nAlso new am command to kill all background processes, mostly to make\nit easier to test this stuff.\n\nChange-Id: Ib9dc4747cd8bd44156fdf11d6a087cd4272203eb\n"
    },
    {
      "commit": "26f70db99f483be36caa7a4c84fec5de50bec034",
      "tree": "bb5e0c42bc4d564b8919a2c4fb302026a89582e6",
      "parents": [
        "99015a2464a40097c3e23e07cdf69da0f886aa66",
        "95be24585f46229f551c529104b5e92fa4316b38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "message": "Merge \"Remove surface legacy APIs and code.\" into ics-mr1"
    },
    {
      "commit": "5123468934e4c8debf2f0dd07d8b9e56eb005697",
      "tree": "9b1cc43b373366085308e4f4058f79b48cf608b8",
      "parents": [
        "e0ad47465ededb16c6cd60524acd6941a8ce0bd8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 03 19:19:28 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 03 19:19:28 2011 -0700"
      },
      "message": "Include showmap output in bug report.\n\nChange-Id: I02d246defc73ea45c469ab7cb899f45d5663a301\n"
    },
    {
      "commit": "2c84cfc001fb92a71811bf7384b7f865ff31ff9d",
      "tree": "1d43eda4854e37a553b85ce759ea4fffd41c9edb",
      "parents": [
        "dd79b4c85a9dd2c2ad702ea2137fe2a076567fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 15:39:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 16:52:34 2011 -0700"
      },
      "message": "Various performance and other work.\n\n- IME service now switches between visible and perceptible depending on\n  whether it is being showm, allowing us to more aggressively free its\n  memory when not shown.\n\n- The activity display time is no longer delayed by the activity\n  transition animation.\n\n- New -R (repeat) option for launching activities with the am command.\n\n- Improved some documentation on Loader to be clear about some methods\n  that apps should not normally call.\n\n- FrameworkPerf test now allows you to select individual tests to run.\n\nChange-Id: Id1f73de66dc93d63212183958a72119ad174318b\n"
    },
    {
      "commit": "95be24585f46229f551c529104b5e92fa4316b38",
      "tree": "657706c23c41575c0a6bb092d2b7f42d3e67ea3b",
      "parents": [
        "27ed12492dfbec6ec67b66ff3cf60febce370b01"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 25 13:45:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:39:23 2011 -0700"
      },
      "message": "Remove surface legacy APIs and code.\n\nAll surfaces are now supported through surface textures.\n\nChange-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6\n"
    },
    {
      "commit": "a6be6dcd03fbcce8999d495abdd2ae209a06b4c9",
      "tree": "a63ecc992ef877b7851cae6420f2f95100e11002",
      "parents": [
        "a77a299ad37336c759d361fc3fb1d5f20e4c159f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 11 15:24:07 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 11:31:06 2011 -0700"
      },
      "message": "NuPlayer is now taking on the task of streaming over RTSP.\n\nChange-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a\n"
    },
    {
      "commit": "0eb6ef1798362d15696618debdb2478b386398c5",
      "tree": "b8fb88c8fcc85ed6f33bcc7ace0188dc72772ecd",
      "parents": [
        "df3975c5aee17cc365b854e616d8831b45809db0",
        "bc554956128d69d8d2e60365fb6cffe6facf659b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "message": "Merge \"Support for an MPEG2 Program Stream extractor.\""
    },
    {
      "commit": "240c7d2d1fb2944ee6a6f1dee41c7bbd766f8f0d",
      "tree": "1e512dba224bc80c1eeb58411b7d508317699958",
      "parents": [
        "be25ca2997ab98e1257d5625dd510e643dcead95"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 03 18:13:44 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 04 15:35:00 2011 -0700"
      },
      "message": "Add -nosystem flag to adb backup\n\nThis makes it easy to back up everything that belongs to 3rd party apps, but\nnothing that comes with the system per se.  If any system packages are\nexplicitly named on the command line they will be included in the backup\neven if -nosystem was passed.  So, for example, this will back up all 3rd\nparty apps as well as system settings, but nothing else belonging to\nsystem-deployed apps:\n\n   adb backup -all -nosystem com.android.provider.settings\n\nBug 5361503\n\nChange-Id: Iebe04b7d7027ca58b9f55e8eb7f219d6cca69269\n"
    },
    {
      "commit": "bc554956128d69d8d2e60365fb6cffe6facf659b",
      "tree": "8a84036682044f96b5b5aade1b18add9c40e86f3",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 14:12:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 15:26:31 2011 -0700"
      },
      "message": "Support for an MPEG2 Program Stream extractor.\n\nChange-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41\n"
    },
    {
      "commit": "3e408f39ef1c0513908a3b73da5ce6f4164e85d9",
      "tree": "bd82b382b4d57aa40362b376dd9473114584b7cf",
      "parents": [
        "9a3d51ed1090d459666c3257923b16eca842bb10"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "message": "Support AMR, G.711 and vorbis audio in ACodec and friends.\n\nChange-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983\n"
    },
    {
      "commit": "d359b575f7cc0ac36caacf7bbdcaef3394830a25",
      "tree": "e21a3f218442e03fe11c6defab78ab0e616c1c74",
      "parents": [
        "48719dc6221fdfbc3cc49a21166b136577fe37b9",
        "c5a9766dc3cb0cab0c30528ffdb7bce6dfde1848"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 11:26:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 11:26:59 2011 -0700"
      },
      "message": "Merge \"Properly connect to surface flinger in our shell tools\""
    },
    {
      "commit": "a17545339b0b123c950aa06c785b1bb25a8072f5",
      "tree": "f766de8e1df62a6223c121f01bc3f1ff54dcdf91",
      "parents": [
        "c56c92013c0acfa4517ed5d36d8aa78bc21452ae"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 10:25:32 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 10:25:32 2011 -0700"
      },
      "message": "Add an option to dump the raw stream to a file in the stagefright cmdline tool.\n\nChange-Id: Ie19eca2cdf162d6973037ec554ef5916243ea7d7\n"
    },
    {
      "commit": "f459d324bf7fcec3694460928efcccf3267c2f5e",
      "tree": "26dad13048cc8f60c00debbe1ea64e74164ed218",
      "parents": [
        "e690f565fd1926885f2b12c2aee2dddc5ba99983"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 22 10:53:05 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 22 10:53:05 2011 -0700"
      },
      "message": "ip-up-vpn: Handle the case where INTERNAL_NETMASK4 is empty.\n\nAlso set the errno when inet_pton() fails.\n\nChange-Id: Ib98ed593fe1ceabecef4b92bf939f44ecf9fa665\n"
    },
    {
      "commit": "5965ba30d3ac8f9504681ac2e7ea8ac84aa0c5a7",
      "tree": "93d87bfc7512879b4187ebdc854938b208ca00bb",
      "parents": [
        "01ad2a3fa75902638f49b5bd3258c354f780892e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 20 15:49:14 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 20 15:51:15 2011 -0700"
      },
      "message": "dumpstate: add uptime to top of bugreports\n\nuptime is a good indicator to determine whether a restart was a\nkernel reboot or a runtime restart, put it at the top of bugreports.\n\nChange-Id: Ie4f4ef2f319a7216495ead3891bbfdc474146916\n"
    },
    {
      "commit": "c5a9766dc3cb0cab0c30528ffdb7bce6dfde1848",
      "tree": "682830f4791285bb2190ad6f9ff11a166c4629e0",
      "parents": [
        "291c6d789dac8f85c50163e9a9ef24ef31183b93"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 15 12:42:32 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 20 10:37:18 2011 -0700"
      },
      "message": "Properly connect to surface flinger in our shell tools\n\nAlso raise the layer to INT_MAX to float in front of the toolbar.\n\nChange-Id: I045a1c83924e6655f1734d15f2504b90312eec64\n"
    },
    {
      "commit": "20e93c0507b66e697d23c58c138484d652a1b810",
      "tree": "542febb60578c69afe91c9a77e18885e7a87b9fa",
      "parents": [
        "88b18eb8c2034e9de35482cc737ef8d608d55867"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Sep 19 22:29:18 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Sep 19 22:29:26 2011 -0700"
      },
      "message": "dumpstate: collect /proc/net/dev and /proc/net/xt_qtaguid/iface_stat_all\n\nAdd extra network interface statistics.\n\nBug:5322407\nChange-Id: I9441b2ca2517d8380b2c9f5bb5bd077a48438d04\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "fc301b0bb5c635c6bb51b48c504a8db5f9010e5c",
      "tree": "463dec648e238d2e6821a86d121f2a3f8048b3ff",
      "parents": [
        "117999d1f44ec3423369385495ae207898b7b73e"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Aug 30 14:39:17 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 11:26:59 2011 +0100"
      },
      "message": "Require INTERNET permission for network-based content.\nBug #1870981\n\nChange-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f\n"
    },
    {
      "commit": "ced159b1d839b24775525ccb736876e7cb7e649d",
      "tree": "358ee2a7721a732d4bbefed6cc587288f2fb43ff",
      "parents": [
        "12bde60b39affbfdcb7ef6317e0a5f99c3f41b10"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 25 12:21:26 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 25 13:37:34 2011 -0700"
      },
      "message": "When encountering a discontinuity, flush(clear) all content enqueued up to that\n\npoint except previously enqueued discontinuities.\n\nChange-Id: Id04a559dc062fa4a5c80c599ad74bf81a543de01\nrelated-to-bug: 5201378\n"
    },
    {
      "commit": "2eb8e3619ee6c5cada7f89f23b06a5de76c3410a",
      "tree": "0e744a7085619bd708c2ebdba644d9b2614808f4",
      "parents": [
        "c31c7bcaecfa520bbca1bc364f8d531af76275ea"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Aug 24 11:24:33 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Aug 24 11:28:37 2011 -0700"
      },
      "message": "dumpstate: dump qtaguid info, ip6tables info, buddyinfo\n\nThis will add around 50-120 lines for qtaguid info and 50-100 for ip6tables.\nThe /proc/buddyinfo is for kernels where /proc/pagetypeinfo is\nnot accurate (ones with more than one memory node, 2.6.35).\n\n\nChange-Id: I7fad53209c706d88e33e5ae824486b84941c02b6\n"
    },
    {
      "commit": "c25a4c44f82c100828b567e82a70c79d6a7bef3d",
      "tree": "7d5ca03104e2b1af939383d730f2601e083a759e",
      "parents": [
        "28a5cc2b1d1db519e7799a867094cda096aa74cc",
        "351e74de19cba8e1f9d451ebf4efbe3a64360998"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Thu Aug 18 20:11:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 20:11:47 2011 -0700"
      },
      "message": "Merge \"Add /proc/pagetypeinfo to dumpstate\""
    },
    {
      "commit": "47a105a720a83a6d0c58962f8024e28a4baa5b06",
      "tree": "8e09bbe558029b9472dc1af66116eacfe0f403f7",
      "parents": [
        "4cee03a85f5756227e3c74965a5d3fb52bbf57a9",
        "0bb1e9139e30aa954f46b0b6fdec2595fac33b80"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 16 13:26:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 13:26:12 2011 -0700"
      },
      "message": "Merge \"Small improvements to am command.\""
    },
    {
      "commit": "0bb1e9139e30aa954f46b0b6fdec2595fac33b80",
      "tree": "c403956eee09fa684d2e92d893ed576fddfdcbee",
      "parents": [
        "0a2f9664737f112e7a15d8b28e053469845a5a80"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 16 12:54:24 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 16 13:24:53 2011 -0700"
      },
      "message": "Small improvements to am command.\n\nThe start command can now take a package name or component name\nfor easier starting.  New -S option allows you to force stop an\napp before starting it.\n\nChange-Id: I5c55b34dd794783f0f5f51851dc811b8c1b39b76\n"
    },
    {
      "commit": "46d2545db48e6b8565ef7beedf6486ef5d7f4507",
      "tree": "efae1b841c9c13637cc740a64eae5ae01e2edec1",
      "parents": [
        "bcc2d40a11432736e94c1dd3c64abd1aac476c20",
        "5ab2157bf1f105b02d3e2913cd3a33f9765b74ca"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 16 08:35:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 08:35:53 2011 -0700"
      },
      "message": "Merge \"Infrastructure to support package verifier\""
    },
    {
      "commit": "351e74de19cba8e1f9d451ebf4efbe3a64360998",
      "tree": "98b8b73f628f57947a16565d6a48fc8cea5ecf9c",
      "parents": [
        "0a2f9664737f112e7a15d8b28e053469845a5a80"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 15 19:43:35 2011 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 15 19:49:19 2011 -0700"
      },
      "message": "Add /proc/pagetypeinfo to dumpstate\n\nThis shows memory fragmentation\n\nChange-Id: I1ba2a764c1f61ce4b29ea14b4b951994488f4c48\n"
    },
    {
      "commit": "62f20ecf492d2b29881bba307c79ff55e68760e6",
      "tree": "58ea602138a28fb3555368900acbad6219ae2de2",
      "parents": [
        "0f2da17a9523fc40bceb5209cabd044df648e98e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 17:40:28 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 17:55:57 2011 -0700"
      },
      "message": "Add new am option to profile the launching of an activity.\n\nChange-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b\n"
    },
    {
      "commit": "5ab2157bf1f105b02d3e2913cd3a33f9765b74ca",
      "tree": "5c2241ddca3526545b73472ed0006eaba0439da1",
      "parents": [
        "dd7bc9f457204e60feeea53b0b12ba706d6964df"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 27 11:11:19 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 15 17:26:31 2011 -0700"
      },
      "message": "Infrastructure to support package verifier\n\nAllow a package verifier to approve or disapprove of a package being\ninstalled.\n\nChange-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b\n"
    },
    {
      "commit": "1b253b702a356619ae3c5e68ee92062b5305c5d7",
      "tree": "26233084bf99a5aad2131ede958741fc7147547a",
      "parents": [
        "7d8fc3c911ea8e4cd1e6531118da4f72e521a944"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 15 15:20:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 15 15:25:39 2011 -0700"
      },
      "message": "boot animation doesn\u0027t use EGLUtils anymore\n\nChange-Id: I0767ac2a5ab814382b41c85bd5b0786c7a025255\n"
    },
    {
      "commit": "c74a02873a0981e3db2417af70ee7be3168ed1ba",
      "tree": "37f3f720571beb51202fec21939c2c4aebc0a3ee",
      "parents": [
        "063097545e6a273952463803d1a2fab2cb590d4e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 11 20:07:39 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 11 20:07:39 2011 -0700"
      },
      "message": "Add lsof to bugreport.\n\nChange-Id: I439795ad46a4e100019b3819855c76ba695f279f\n"
    },
    {
      "commit": "22d93a0d71d965970f581cd9aa1cbf2efbb5998f",
      "tree": "f5b0d0a82c59d398fe2185ac047f532fba71724d",
      "parents": [
        "bce8effe75c5477eb42d4e1c4df609da962285a2",
        "41394a361020e9f58524f23d6831bb8e63063856"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 15:26:02 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 15:26:02 2011 -0700"
      },
      "message": "resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp\n\nChange-Id: If4dc99c558dc45c9a7ff8d3ea5be69578b4ee793\n"
    },
    {
      "commit": "ac74551bb42eb2d6775d994357481113375574e7",
      "tree": "2a15aa107873b1a901978ed2db8f1285fa7c6000",
      "parents": [
        "32d106e154d0388ac13774fad3c58ff60ba9ae8f"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Mon Jul 25 20:42:50 2011 -0500"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 25 21:53:15 2011 -0700"
      },
      "message": "Disable name lookups for dumpstate calls to \"iptables -L\"\n\nThe name lookups are not helpful enough to warrant the large delays\nthey can cause.\n\nChange-Id: I8710e76b15b7cf060b7f4f89128ea3249fcdbd0d\n"
    },
    {
      "commit": "d40e2c67ed6423355aeb1292b33c2f8a20b3c84d",
      "tree": "673b5cb61a68f3a85bccdee1e6aa0f79b180c100",
      "parents": [
        "da6e4a7d9dd8100f62de018159c4b05c17f665e3",
        "a05f099301ca9d5efd4db549295401ee00b439a0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 24 12:59:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 12:59:35 2011 -0700"
      },
      "message": "Merge \"QueryCodecs() signature change\""
    },
    {
      "commit": "a05f099301ca9d5efd4db549295401ee00b439a0",
      "tree": "3e9b1bf6ce6b55d72b88662b7363826258ea13dc",
      "parents": [
        "47d4caf41b052ab88f747ccc789754be5f44f8af"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 22 09:52:39 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 22 14:51:51 2011 -0700"
      },
      "message": "QueryCodecs() signature change\n\nRestore QueryCodecs() signature exactly as used by third-party libs.\nAdd an alternative function to select HW only codecs.\n\nChange-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f\n"
    },
    {
      "commit": "7eabe55db6b113f83c2cefcd06812648927de877",
      "tree": "a105d90d8addbce9bb457b4bef974ce2f699fc81",
      "parents": [
        "ac4159549c10dbe428d42980278c0e43ecc8d93f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "message": "Add looper profiling to adb shell am\n\nTo profile the looper, run the following command:\n\nadb shell am profile looper start \u003cprocess\u003e \u003cfile\u003e\nadb shell am profile looper stop \u003cprocess\u003e\n\nChange-Id: I781f156e473d7bdbb6d13aaffeeaae88bc01a69f\n"
    },
    {
      "commit": "1e9f56cf9e3921c3cb74787a700cb165f2f2e26a",
      "tree": "7ecef5e26806203493d8e35b0d4aa5ccd9fec106",
      "parents": [
        "3ad4d3ce01f173e80e0ebb751c4a8913aef5648a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 18 16:56:35 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 18 17:30:13 2011 -0700"
      },
      "message": "Allow BoardConfig.mk to define an extension to dumpstate\n\nIf BoardConfig.mk defines BOARD_LIB_DUMPSTATE, link to that library\nand call dumpstate_board(), which can dump debugging information that\nonly make senses on one device.\n\nChange-Id: I2c5006a1a04b02cf26fd73575047ac176f222616\n"
    },
    {
      "commit": "211f5af3bb47ba44c9714abbef0dec1b1a0ada51",
      "tree": "6ff69c8a47bf934c5df3b7aca109281167020fcf",
      "parents": [
        "55421aa80edbc5fdd9ce43029845ca0bd6ecc4c6",
        "56a37b052912d09c310f43ab1215ccc93f2dbda5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jul 18 11:07:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 11:07:47 2011 -0700"
      },
      "message": "Merge \"Add option to query hardware decoders only\""
    },
    {
      "commit": "56a37b052912d09c310f43ab1215ccc93f2dbda5",
      "tree": "ce525d6fa573cdda87019003e72d8326d05ef464",
      "parents": [
        "a6c53c79390e719ae425d38d6d80587e0d017ef3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 17 16:35:11 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jul 18 10:57:50 2011 -0700"
      },
      "message": "Add option to query hardware decoders only\n\nAdd an option to OMXCodec::QueryCodecs() to filter out\n software codecs.\n\nUpdate stagefright command line tool to list the roles of codecs.\n\nChange-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0\n"
    },
    {
      "commit": "f483009573dc8a4d9491ca7714d217d622585158",
      "tree": "9764e6eb696e84b5ddf2d9e8a4df5bb5d0c1d53d",
      "parents": [
        "5f81f1bcd9cdb15411bd4bb036b75ee6e822b8bf",
        "1591aa004557859742fb89190ce76cbbf3a1ef12"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 14 14:53:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 14:53:58 2011 -0700"
      },
      "message": "Merge \"ip-up-vpn: Create proper states for pppd and racoon.\""
    },
    {
      "commit": "1591aa004557859742fb89190ce76cbbf3a1ef12",
      "tree": "d4c0c5668b15b10cb81c3c8d37da795dd555c67d",
      "parents": [
        "f7537bccb2b2ca2fa6c0205c4b24acd0836c0006"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 14 14:47:48 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 14 14:47:48 2011 -0700"
      },
      "message": "ip-up-vpn: Create proper states for pppd and racoon.\n\nVPN no longer uses system properties to pass parameters.\n\nChange-Id: I13e4339ababb08552c4276c675c21176774da66c\n"
    },
    {
      "commit": "b39c07b14404eb8ab91fdbfa4560e503ab6cbe8d",
      "tree": "b76a1eb8851984ad5e61c2de99bf7ddd861b67ae",
      "parents": [
        "1a541075622c5eacbef43c1134f7f9a2598b29b7",
        "8d3073c5c4bfd8b2976d7793e127e686dd306200"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 09:09:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 09:09:14 2011 -0700"
      },
      "message": "Merge \"Include all supported mime types when querying decoder profile/level support.\""
    },
    {
      "commit": "c1b9bbb21c8ad5109978a4e9e770cd18b0257434",
      "tree": "bfb7dd2272e5fe29d3c0fc4f22ca708e00bc10be",
      "parents": [
        "b6e5e7a740bf595a1a5d32b28549e5d579a04ee3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 11:06:57 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 19:45:44 2011 -0400"
      },
      "message": "Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build\n\nChange-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8d3073c5c4bfd8b2976d7793e127e686dd306200",
      "tree": "ce596fd64ec71c2c38aaec727a5848473e28b991",
      "parents": [
        "67d464f47e842d5069e993408fd51ec122ad8019"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:27:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:27:51 2011 -0700"
      },
      "message": "Include all supported mime types when querying decoder profile/level support.\n\nChange-Id: Ia1c930eee489bfebb482ac5079bd6ac9354532f2\n"
    },
    {
      "commit": "8c55a9a57e4f13ec420c3de7b3abfdcf454f6633",
      "tree": "f72fd5b0d50af585d7d4c644f84a288dffbc2946",
      "parents": [
        "067b873f7cc3d1b3e83604b78f8c0dc769f870b1",
        "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "message": "Merge \"Remove the simulator target from all makefiles. Bug: 5010576\""
    },
    {
      "commit": "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e",
      "tree": "b17fbae7a6ff475ab37be48046d0540d594f84fb",
      "parents": [
        "3f9dd287b99340efaaa257759e71a8f81b2ed113"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "5a8eccbfb922701023d1dc1a28a70be4421ec67e",
      "tree": "114f182e92b088fe3c70b650c5b19fa7f4bf49a9",
      "parents": [
        "9f845cff9b72b27eadb55298bdcf0104599f9385",
        "8ffb0c0210857210a51d7a9a0f1afb73afbf8677"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jul 11 16:45:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 16:45:35 2011 -0700"
      },
      "message": "Merge \"allow Uri as intent extra in am command\""
    },
    {
      "commit": "5d6d90fac8fa646521081c7b67aabaadb5db946b",
      "tree": "289c88bab5ba9d94f7db328dc95db845493a140b",
      "parents": [
        "10e89712863f5b91a2982dc1783fbdfe39c1485d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 13:04:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 13:33:22 2011 -0700"
      },
      "message": "Remove more simulator support code.\nBug: 5010576\n\nChange-Id: Ie6c8665306bf4e822693b76f25c3a0f05c12d42d\n"
    },
    {
      "commit": "10e89712863f5b91a2982dc1783fbdfe39c1485d",
      "tree": "7a268e40e03cfb2b65d3764b73d0ea42172965fa",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 18:52:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 19:54:07 2011 -0700"
      },
      "message": "Eliminate single-process mode.\nBug: 5010576\n\nChange-Id: Id450dc83efed4897d1e4ff451530fed14457aace\n"
    },
    {
      "commit": "284f1bb4daf77f7e6b688c0936dd4a31ec2e7c74",
      "tree": "d651aa41ee14b9137285163166b391badfe4cbe2",
      "parents": [
        "1d19c18f9bd66b2b4883f8ce33c04ff5c87dd881"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 07 14:31:18 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jul 08 12:28:48 2011 -0700"
      },
      "message": "Can now restore a subset of apps from historical dataset\n\nAdds the ability to filter a restore of an historical dataset so that it\nonly restores certain apps\u0027 data regardless of what is actually present\nin the dataset.  This is currently only used by the bmgr command-line tool,\nfor debugging / developer support.\n\nBug 2021590\n\nChange-Id: I7685e5d609b0f5506f71d70c26410602bb387659\n"
    },
    {
      "commit": "8ffb0c0210857210a51d7a9a0f1afb73afbf8677",
      "tree": "3ce281a62dcb94c3932b6830c7b3e42091c4d532",
      "parents": [
        "4a6d113ba0f33ce5dc14e59463e928ba309e1c2e"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jul 07 22:45:11 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jul 07 22:50:54 2011 -0700"
      },
      "message": "allow Uri as intent extra in am command\n\nWhen composing an intent using am command line, certain extra fields\nneed to be added as a Uri (a Parceable in fact).\n\nThis patch adds a \"--eu\" parameter so that the provided value is\nparsed as a Uri then added into intent\u0027s extra bundle.\n\nChange-Id: I7110829554962d314aa58fd25083dd5041680a73\n"
    },
    {
      "commit": "484738f31c2f50976df3be2c863325da7b0d7a5b",
      "tree": "2393d98863a6cb6241b38eb7fe062b21bd3e1872",
      "parents": [
        "a0c680393f2dd03a937c598b2cb9abf98a58152c",
        "43e8a83521886e4a6989712a75c309a05ba6edbf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 13:34:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 13:34:58 2011 -0700"
      },
      "message": "Merge \"Add support for some custom YUV420 color formats to recordvideo utility\""
    },
    {
      "commit": "8bddafa3572f0d0cbc4b85b125d6473682fd38e9",
      "tree": "9de76a41d26afbe2be9e1de02a4bae7b3e7f6725",
      "parents": [
        "b083fa61d9411e9c1f3933fd8657d86e99e7eccd",
        "5eeeea29ecd731897211d31bde7ee87af182420c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 07 11:05:51 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 07 11:05:51 2011 -0700"
      },
      "message": "am 5eeeea29: am 97667d0c: Merge \"Allow vril-dump to work on user builds\" into honeycomb-LTE\n\n* commit \u00275eeeea29ecd731897211d31bde7ee87af182420c\u0027:\n  Allow vril-dump to work on user builds\n"
    },
    {
      "commit": "43e8a83521886e4a6989712a75c309a05ba6edbf",
      "tree": "25b10c3fc7c6ca731d11a493a2c5822d179ee95b",
      "parents": [
        "2da9eb7175e59a4ad8b9cec185f9cfdf8e075859"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 08:30:10 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 10:30:31 2011 -0700"
      },
      "message": "Add support for some custom YUV420 color formats to recordvideo utility\n\nChange-Id: I2f0dfba466efb94b704dca761162d7c7457a43cf\n"
    },
    {
      "commit": "790d2e4d69fd6794cdeec4dccd841149b7c38db3",
      "tree": "4e19db9855cf0020b3ba0103db43c998a6abf9b3",
      "parents": [
        "012b86d4294182497c4c72a318e0f4cbe5075a44"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Tue Jul 05 15:20:03 2011 -0500"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 06 09:30:28 2011 -0700"
      },
      "message": "Allow vril-dump to work on user builds\n\nRun vril-dump without \"su root\" when ro.build.type\u003duser.  Also add inet\nperms for dumpstate, so that it can communicate with basebands that\nhave IP-based interfaces.\n\nBug: 4993955\nChange-Id: Icc65ba0f80756db1f63f12f89f9973a55bf405f2\n"
    },
    {
      "commit": "6278d5ef052cec6afecae69328e084566bb157c6",
      "tree": "2f16590f5e1993cb287afd295c45417ce5caa092",
      "parents": [
        "d6315c0ebb6ebbc67f0c669e92f92be70b49ba2c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sat Jul 02 16:41:59 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sat Jul 02 16:41:59 2011 -0700"
      },
      "message": "Promote ip-up-vpn into the framework.\n\npppd needs it, and racoon will also use it soon.\n\nChange-Id: I7fc40a709f7d44f75cd3683ab77d90cbc29cd765\n"
    },
    {
      "commit": "f4b92ec567477fcdea24fdd18116b045dfcf9852",
      "tree": "196f3192cd08f076c1636ec2f91b3eb5e2dc4683",
      "parents": [
        "ce43bc48588408e72aaa47ac1483837d5bfd1f59"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 30 22:58:29 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 30 22:59:13 2011 -0700"
      },
      "message": "Revert \"Add keychain user with special keystore access permissions\"\n\nThis reverts commit 8c2a1a90a81f04573bfa578eab32f5fd4a30eafb.\n\nConflicts:\n\n\tcmds/keystore/keystore.c\n\nBug:4970237\nChange-Id: I626023d695becfada47e5f319b18e0889b766563\n"
    },
    {
      "commit": "272aaa382f95c38221739f2287c29e414523a5cc",
      "tree": "53b22ed4bd672af3edc9fc9d3e1c5d63661a37b1",
      "parents": [
        "5231b0af515db51c722d4764ecf9412c145c93b6",
        "439863f3b3e725b5de1cba4940a21900369961c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "message": "Merge \"SF transactions are now O(1) wrt IPC instead of O(N).\""
    },
    {
      "commit": "439863f3b3e725b5de1cba4940a21900369961c0",
      "tree": "90ab56432c2436c3392b02ba08876c86796a36ef",
      "parents": [
        "f1bfa84ccf61cad2b6ea9f2e6a612a54a38b79bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "2c22882181e867c9ba4e74ee973b87a71db3389f",
      "tree": "6593873639d24d7fba98e9b7d9cad8f709bf8de9",
      "parents": [
        "9e1fb41b4fbfbd190560cf48f24939703a13eca5",
        "292f8bc9d1b790ab975a87a842c7fabc908b97e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 29 14:05:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 14:05:01 2011 -0700"
      },
      "message": "Merge \"Plumb information from the framework about asec container size.\""
    },
    {
      "commit": "eb9163071573e9c6133b6c23351c1274e7fc3cd8",
      "tree": "cab6c5059e91826ae99ed9c187a863605553bbed",
      "parents": [
        "cde732451070479dd999583f602693c36cdc65c7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 15:48:18 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 16:08:24 2011 -0700"
      },
      "message": "Support for \"streaming\" non-transport streams by first converting them to ts packets.\n\nChange-Id: Ia753a1ab99039f54ce3678a38e997902372b5fa5\n"
    },
    {
      "commit": "292f8bc9d1b790ab975a87a842c7fabc908b97e0",
      "tree": "93095c3db441b7d6cf06cce31ca40d39a87da237",
      "parents": [
        "cde732451070479dd999583f602693c36cdc65c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 27 16:27:41 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 28 15:02:44 2011 -0700"
      },
      "message": "Plumb information from the framework about asec container size.\n\nChange-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3\n"
    },
    {
      "commit": "d11eccf3a861fdaa754907a28cc0da554b9aa7b7",
      "tree": "0dd3beebe6413af2b3b8e2c624a49eeff2a6390b",
      "parents": [
        "a1d9ae69fff95e0b74061cc41f808b7f5c25bbf2",
        "e366f52b1520f13306d5fef1c3c8a2b2c653d935"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 12:48:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 12:48:01 2011 -0700"
      },
      "message": "Merge \"Multiple changes to ACodec/codec tools:\""
    },
    {
      "commit": "e366f52b1520f13306d5fef1c3c8a2b2c653d935",
      "tree": "3b4fc6abef0e786bddbdd316b5cb19385e3ba321",
      "parents": [
        "84e297238f53f83c9e7de499e711b997d09514e0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "message": "Multiple changes to ACodec/codec tools:\n\nMake sure sf2 does not coalesce input buffers, generalize ACodec\u0027s codec\ninstantiation based on OMXCodec\u0027s list of eligible component names.\n\nSome changes/additions to the \"sf2\" commandline tool\n\nMake surface options consistent with stagefright tool, i.e. use \u0027-S\u0027 instead of \u0027-s\u0027\nNew option \u0027-R\u0027 renders surface-allocated buffers.\n\nAlso fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.\n\nChange-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae\n"
    },
    {
      "commit": "8413251083b3d50509011121ed67aa8006c99526",
      "tree": "d221fcdeda4ba47721259b7fdef9c5dfe391e405",
      "parents": [
        "84e297238f53f83c9e7de499e711b997d09514e0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:11:09 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:11:09 2011 -0700"
      },
      "message": "New option in the stagefright commandline tool.\n\nUse \u0027-S\u0027 to allocate decoder buffers from a surface\nUse \u0027-T\u0027 to allocate decoder buffers from a surface texture\n\nChange-Id: Ib71ea53d0fd1b2def08bfeac2fd8bcbdc1938161\n"
    },
    {
      "commit": "b2b201395ae56fa0cd1021b8ede27987430989e2",
      "tree": "a9a00171a857f829b867a2a6f9654c3972c5dade",
      "parents": [
        "14f14863c508ff38fb2fe925c89e2bb2228fcffe"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jun 26 21:39:25 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 27 10:38:10 2011 -0700"
      },
      "message": "KeyStore: fix test-keystore\n\nChange-Id: I1dcbd5c3cc7569c397d2480cda76288a9e28cd5c\n"
    },
    {
      "commit": "14f14863c508ff38fb2fe925c89e2bb2228fcffe",
      "tree": "c1d7e0d8439c9531b559ca848ecbe3ef44578b8c",
      "parents": [
        "c18e7e73158f794064fed5017c6c1c9a288673bd"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jun 26 18:24:19 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jun 26 18:24:19 2011 -0700"
      },
      "message": "KeyStore: allow system user to get secrets from keystore.\n\nChange-Id: I9cb41344c17fb33e6614a45d46368a9c43e3dce7\n"
    },
    {
      "commit": "46d110329e659cc9cb9514e220ce273701eb151d",
      "tree": "17e69181373b20f3ca37857e63a3bbd378e87e7f",
      "parents": [
        "58b868417755805ebdfe4feb65664ad98c00bf35"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 24 13:22:45 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 24 13:22:45 2011 -0700"
      },
      "message": "Small cleanup of am/pm commands.\n\nChange-Id: I5af730bc177635821a82d4dd3ec9130a5dcd525a\n"
    },
    {
      "commit": "0ff6d7ee17de33d314ef726e7506b39c64a3ed35",
      "tree": "2cd045b94d4fe7bf8e707457cc63523ea8d80ab6",
      "parents": [
        "5ecc4601ea2672e1e52bcd0860908d1cae7db4c2",
        "ac8a1b21986f06d0e54ddebb1e4962de23eb77ea"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 23 10:26:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 10:26:38 2011 -0700"
      },
      "message": "Merge \"Reinitialize KeyStore::mMasterKey after unlock (and add test-keystore)\""
    },
    {
      "commit": "ac8a1b21986f06d0e54ddebb1e4962de23eb77ea",
      "tree": "b7de3900b87360ccd4d9da2409e7208020d4723e",
      "parents": [
        "cf559377b750271472aa0a717bf3b7d34abc0b39"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 23 00:58:19 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 23 02:10:23 2011 -0700"
      },
      "message": "Reinitialize KeyStore::mMasterKey after unlock (and add test-keystore)\n\nBug: 4599735\n\nChange-Id: Iee38a2e2929c45b6405214c9012819da09b273af\n"
    },
    {
      "commit": "65f993e0d8ea366bc5178423675ef3299eae3102",
      "tree": "25ce9d37eecea10aef5054dd5a6c7954e834240d",
      "parents": [
        "8969d9924c662ab4cdacc342bbdc33756db730be"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 22 14:57:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 22 14:57:25 2011 -0700"
      },
      "message": "Reconstruct sync frame indication for content served by the MPEG2TSExtractor\n\nStrip data up to the first IDR frame if necessary.\n\nChange-Id: I4a096785eb1a17b7484983788e223d188454771d\n"
    },
    {
      "commit": "e26e96bcc19b1cdac690d21b3986f09a502739e6",
      "tree": "cd6054763d0a2043088027f9cac129ecef27beb0",
      "parents": [
        "3106a9b7f5c5c6a62d3fa5772d8c2bb41d22c6eb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 10 18:33:16 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 20 19:26:31 2011 -0700"
      },
      "message": "Pass the data fd number as a command line argument to \u0027bu\u0027\n\nThis way we don\u0027t have to muck with stdin/stdout just to get known\nfds for data handling.\n\nChange-Id: If87d19f4867c883a32d4e9afb91b915511b9df19\n"
    },
    {
      "commit": "0ac3031c159a0904e73eb4439cdc724d8df4a6e6",
      "tree": "27d80b0cb1d37b10c898340348ae863014c4a6e0",
      "parents": [
        "3a3efe756389cbda3ddf74c0c55d7a3ce68f3780"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 17 14:49:23 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 17 14:49:45 2011 -0700"
      },
      "message": "Implement remaining infrastructure for user disabling apps.\n\nChange-Id: If8135eb0e27ec36f8f159eb7b6397add7acd0299\n"
    },
    {
      "commit": "6e4ba2bf35c3c45dc829e5a863fa437d976d86f0",
      "tree": "861367e837d5d1208e846d71589f3dbc121deec8",
      "parents": [
        "decbe327d1515dd6c9fd1b6773f57b0a879f9149",
        "78b9c381aacff14536848c0e183bec3b83b02672"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 18:47:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 18:47:20 2011 -0700"
      },
      "message": "Merge \"Add an option to force to use HW codec in stagefright cmd tool\""
    },
    {
      "commit": "78b9c381aacff14536848c0e183bec3b83b02672",
      "tree": "61f26d8eafd82e3d63f114f27c148a8dcbd59df2",
      "parents": [
        "622d5441975fa16636d3304d42d27659af14cb49"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 17:20:27 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 13 17:23:01 2011 -0700"
      },
      "message": "Add an option to force to use HW codec in stagefright cmd tool\n\nChange-Id: If6c277dd5a3f7a0b62acd6721343618b0be085fc\n"
    },
    {
      "commit": "7bb843ca0777111dae7daf8f1b0705817cf523c4",
      "tree": "10545edc3ce21f38282d5e67e5bc08ff729884b3",
      "parents": [
        "dfc7958a2eafba52db90743a4707eed1d780b63b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nAdd the concept of synchronous dequeueBuffer in SurfaceTexture\nImplement {Surface|SurfaceTextureClient}::setSwapInterval()\nAdd SurfaceTexture logging\nfix onFrameAvailable\n"
    },
    {
      "commit": "f741e679c496f7345304a6543f01d7048e31d1a7",
      "tree": "e53a3b9f98c16611761a062dc0d60828ce74b365",
      "parents": [
        "aab49b40e8dd78aca67db160f5d0c787379c8f7f",
        "e2aa04908cfdf65ef309f1491f31a0c8846977ff"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 17:50:36 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 17:50:36 2011 -0700"
      },
      "message": "resolved conflicts for merge of e2aa0490 to master\n\nChange-Id: Id0448a1598fc93aca0652b29253e02586e35a067\n"
    },
    {
      "commit": "a1396dfe7ad6ec6953f544be42d69d7804ab0fd4",
      "tree": "f991e5d319b209f51e588cad2e0d032de9cf38f7",
      "parents": [
        "735463d1d9a1e490fa6b30d4273d24fc2f12bcd9",
        "021408910af170268cb486910d4dd5a7d838c2bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 20:02:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 08 20:02:43 2011 -0700"
      },
      "message": "am 02140891: Merge \"Work on issue #4518815: Compatibility mode introduces compatibility regression...\" into honeycomb-mr2\n\n* commit \u0027021408910af170268cb486910d4dd5a7d838c2bb\u0027:\n  Work on issue #4518815: Compatibility mode introduces compatibility regression...\n"
    },
    {
      "commit": "5fd2169eabd77e6bfafaf456e58051a3bafb2bca",
      "tree": "77048c3540c64cad77e5c140b6477a321190c586",
      "parents": [
        "4381f6421ca408d1dc66430ddfb107c5011bfe25"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 14:09:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 18:45:43 2011 -0700"
      },
      "message": "Work on issue #4518815: Compatibility mode introduces compatibility regression...\n\n...for Market App iRunner\n\nThere were a lot of serious issues with how we updated (or often didn\u0027t update)\nthe display and resource state when switching compatibility mode in conjunction\nwith restarting and updating application components.  This addresses everything\nI could find.\n\nUnfortunately it does *not* fix this particular app.  I am starting to think this\nis just an issue in the app.  This change does fix a number of other problems\nI could repro, such as switching the compatibility mode of an IME.\n\nAlso a few changes here and there to get rid of $#*\u0026^!! debug logs.\n\nChange-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317\n"
    },
    {
      "commit": "b5c462f801ec0a0b9dec99232b46f91e91984938",
      "tree": "20ffef97c8b3c951ffbd0e52a5005ccc077eb83f",
      "parents": [
        "8643aa0179e598e78d938c59035389054535a229",
        "351f32270a489577e040bbeccc423b0bac1637dc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 19:01:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 19:01:48 2011 -0700"
      },
      "message": "Merge \"Add force-stop subcommand for \u0027am\u0027.\""
    },
    {
      "commit": "e2afc2420d29c2d3d04a05ed5839c12f3b267b23",
      "tree": "d4e220241aa68bb8891f9d2c19c56d19eebc0126",
      "parents": [
        "aef1987f4e53efdc29216ac66d7412678a762b2e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 02 16:21:55 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 02 16:24:45 2011 -0700"
      },
      "message": "KeyStore.reset changes\n\nrestore keystore reset behavior of removing master key.\notherwise after reboot keystore has is LOCKED and not UNINITIALIZED\n\tcmds/keystore/keystore.cpp\n\nwhen removing password, reset the keystore, so it doesn\u0027t remain\nlocked with a now bogus password.\n\n\tcore/java/com/android/internal/widget/LockPatternUtils.java\n\nChange-Id: If5e0bb50b42599e9ca27a8b91d6cec12528419a1\n"
    },
    {
      "commit": "1a536e642f5078167d18277c56f60090d8d46364",
      "tree": "2e9452c8f2287242e9b0eaaec04ca0055ad1c8e7",
      "parents": [
        "cb0975b3c1c73d8bcadaca80e1ee99383750af60",
        "75a99709accef8cf221fd436d646727e7c8dd1f1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 01 15:14:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 15:14:36 2011 -0700"
      },
      "message": "Merge \"Restore from a previous full backup\u0027s tarfile\""
    },
    {
      "commit": "75a99709accef8cf221fd436d646727e7c8dd1f1",
      "tree": "9ce16dbf95890e8dad57d63724a6cdb3d36d6fb9",
      "parents": [
        "2978cef0a77550ea3a364ffbf42fc43f2029070e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 18 16:28:19 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 01 15:09:55 2011 -0700"
      },
      "message": "Restore from a previous full backup\u0027s tarfile\n\nUsage:  adb restore [tarfilename]\n\nRestores app data [and installs the apps if necessary from the backup\nfile] captured in a previous invocation of \u0027adb backup\u0027.  The user\nmust explicitly acknowledge the action on-device before it is allowed\nto proceed; this prevents any \"invisible\" pushes of content from the\nhost to the device.\n\nKnown issues:\n\n* The settings databases and wallpaper are saved/restored, but lots\n  of other system state is not yet captured in the full backup.  This\n  means that for practical purposes this is usable for 3rd party\n  apps at present but not for full-system cloning/imaging.\n\nChange-Id: I0c748b645845e7c9178e30bf142857861a64efd3\n"
    },
    {
      "commit": "5cfee3fabb3482c6a6df1c8b6f21e843cf214527",
      "tree": "c4190f1fa809eb1e5e7d028f21be510b2a5b3980",
      "parents": [
        "9b4157935af9e44571187a9533c2cc9b413383bf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 31 01:00:15 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 01 14:29:59 2011 -0700"
      },
      "message": "Integrating keystore with keyguard (Part 1 of 4)\n\nSummary:\n\nframeworks/base\n  keystore rewrite\n  keyguard integration with keystore on keyguard entry or keyguard change\n  KeyStore API simplification\n\npackages/apps/Settings\n  Removed com.android.credentials.SET_PASSWORD intent support\n  Added keyguard requirement for keystore use\n\npackages/apps/CertInstaller\n  Tracking KeyStore API changes\n  Fix for NPE in CertInstaller when certificate lacks basic constraints\n\npackages/apps/KeyChain\n  Tracking KeyStore API changes\n\nDetails:\n\nframeworks/base\n\n   Move keystore from C to C++ while rewriting password\n   implementation. Removed global variables. Added many comments.\n\n\tcmds/keystore/Android.mk\n\tcmds/keystore/keystore.h\n\tcmds/keystore/keystore.c \u003d\u003e cmds/keystore/keystore.cpp\n\tcmds/keystore/keystore_cli.c \u003d\u003e cmds/keystore/keystore_cli.cpp\n\n   Changed saveLockPattern and saveLockPassword to notify the keystore\n   on changes so that the keystore master key can be reencrypted when\n   the keyguard changes.\n\n\tcore/java/com/android/internal/widget/LockPatternUtils.java\n\n   Changed unlock screens to pass values for keystore unlock or initialization\n\n\tpolicy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java\n\tpolicy/src/com/android/internal/policy/impl/PatternUnlockScreen.java\n\n   KeyStore API changes\n   - renamed test() to state(), which now return a State enum\n   - made APIs with byte[] key arguments private\n   - added new KeyStore.isEmpty used to determine if a keyguard is required\n\n\tkeystore/java/android/security/KeyStore.java\n\n   In addition to tracking KeyStore API changes, added new testIsEmpty\n   and improved some existing tests to validate expect values.\n\n\tkeystore/tests/src/android/security/KeyStoreTest.java\n\npackages/apps/Settings\n\n    Removing com.android.credentials.SET_PASSWORD intent with the\n    removal of the ability to set an explicit keystore password now\n    that the keyguard value is used. Changed to ensure keyguard is\n    enabled for keystore install or unlock. Cleaned up interwoven\n    dialog handing into discrete dialog helper classes.\n\n\tAndroidManifest.xml\n\tsrc/com/android/settings/CredentialStorage.java\n\n    Remove layout for entering new password\n\n\tres/layout/credentials_dialog.xml\n\n    Remove enable credentials checkbox\n\n\tres/xml/security_settings_misc.xml\n\tsrc/com/android/settings/SecuritySettings.java\n\n    Added ability to specify minimum quality key to ChooseLockGeneric\n    Activity. Used by CredentialStorage, but could also be used by\n    CryptKeeperSettings. Changed ChooseLockGeneric to understand\n    minimum quality for keystore in addition to DPM and device\n    encryption.\n\n\tsrc/com/android/settings/ChooseLockGeneric.java\n\n    Changed to use getActivePasswordQuality from\n    getKeyguardStoredPasswordQuality based on experience in\n    CredentialStorage. Removed bogus class javadoc.\n\n\tsrc/com/android/settings/CryptKeeperSettings.java\n\n    Tracking KeyStore API changes\n\n\tsrc/com/android/settings/vpn/VpnSettings.java\n\tsrc/com/android/settings/wifi/WifiSettings.java\n\n   Removing now unused string resources\n\n\tres/values-af/strings.xml\n\tres/values-am/strings.xml\n\tres/values-ar/strings.xml\n\tres/values-bg/strings.xml\n\tres/values-ca/strings.xml\n\tres/values-cs/strings.xml\n\tres/values-da/strings.xml\n\tres/values-de/strings.xml\n\tres/values-el/strings.xml\n\tres/values-en-rGB/strings.xml\n\tres/values-es-rUS/strings.xml\n\tres/values-es/strings.xml\n\tres/values-fa/strings.xml\n\tres/values-fi/strings.xml\n\tres/values-fr/strings.xml\n\tres/values-hr/strings.xml\n\tres/values-hu/strings.xml\n\tres/values-in/strings.xml\n\tres/values-it/strings.xml\n\tres/values-iw/strings.xml\n\tres/values-ja/strings.xml\n\tres/values-ko/strings.xml\n\tres/values-lt/strings.xml\n\tres/values-lv/strings.xml\n\tres/values-ms/strings.xml\n\tres/values-nb/strings.xml\n\tres/values-nl/strings.xml\n\tres/values-pl/strings.xml\n\tres/values-pt-rPT/strings.xml\n\tres/values-pt/strings.xml\n\tres/values-rm/strings.xml\n\tres/values-ro/strings.xml\n\tres/values-ru/strings.xml\n\tres/values-sk/strings.xml\n\tres/values-sl/strings.xml\n\tres/values-sr/strings.xml\n\tres/values-sv/strings.xml\n\tres/values-sw/strings.xml\n\tres/values-th/strings.xml\n\tres/values-tl/strings.xml\n\tres/values-tr/strings.xml\n\tres/values-uk/strings.xml\n\tres/values-vi/strings.xml\n\tres/values-zh-rCN/strings.xml\n\tres/values-zh-rTW/strings.xml\n\tres/values-zu/strings.xml\n\tres/values/strings.xml\n\npackages/apps/CertInstaller\n\n  Tracking KeyStore API changes\n\tsrc/com/android/certinstaller/CertInstaller.java\n\n  Fix for NPE in CertInstaller when certificate lacks basic constraints\n\tsrc/com/android/certinstaller/CredentialHelper.java\n\npackages/apps/KeyChain\n\n  Tracking KeyStore API changes\n\tsrc/com/android/keychain/KeyChainActivity.java\n\tsrc/com/android/keychain/KeyChainService.java\n\tsupport/src/com/android/keychain/tests/support/IKeyChainServiceTestSupport.aidl\n\tsupport/src/com/android/keychain/tests/support/KeyChainServiceTestSupport.java\n\ttests/src/com/android/keychain/tests/KeyChainServiceTest.java\n\nChange-Id: Ic141fb5d4b43d12fe62cb1e29c7cbd891b4be35d\n"
    },
    {
      "commit": "c12b7ba81ec3b486f21394810d827258ba888ee4",
      "tree": "5de67d889b0084a54ec5678636d8b5bd3ec22888",
      "parents": [
        "a8607644026b5cd0860a897e80e491de41b64232"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 26 21:52:39 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 27 16:35:11 2011 -0700"
      },
      "message": "sensorservice can now be ran standalone\n\nChange-Id: I6e757f31f1e020046038e5ab84e71b8689a0aed3\n"
    },
    {
      "commit": "351f32270a489577e040bbeccc423b0bac1637dc",
      "tree": "65ada0e6cbf429e7cb094d536d5c84746c56bc87",
      "parents": [
        "8eed7aded77b826738c82cfe3b6a1440ac0786d9"
      ],
      "author": {
        "name": "Xianzhu Wang",
        "email": "wangxianzhu@google.com",
        "time": "Fri May 13 15:46:20 2011 +0800"
      },
      "committer": {
        "name": "Xianzhu Wang",
        "email": "wangxianzhu@google.com",
        "time": "Fri May 27 10:26:04 2011 +0800"
      },
      "message": "Add force-stop subcommand for \u0027am\u0027.\n\nIt\u0027s useful for some testing and debugging, to ensure all processes\nare stopped before testing. \u0027kill\u0027 doesn\u0027t always work because sometimes the\nsystem will restart the process immediately (e.g. if an app is running in\nbackground).\n\nChange-Id: I2c0caa38f74ee65ad6c35172fbf505227be7e7c3\n"
    },
    {
      "commit": "5e34a1945a6b26dff5551a37627c5216b076d896",
      "tree": "ad320f5935177d91c59136df2f65544c3a08c332",
      "parents": [
        "101139cc8f5b975dfacf1a2ffd3bdae8e3907f65",
        "1d8f8819f1e98cdf3b7756396158613e95fe9eb6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 13:34:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 13:34:42 2011 -0700"
      },
      "message": "am 1d8f8819: Merge \"Break apart queries to getInstalled* API DO NOT MERGE\" into honeycomb-mr2\n\n* commit \u00271d8f8819f1e98cdf3b7756396158613e95fe9eb6\u0027:\n  Break apart queries to getInstalled* API DO NOT MERGE\n"
    },
    {
      "commit": "e8b26dcec7765786bbf063b3ae6b967b8b547ab6",
      "tree": "0300409c65c578b2b800795345423d27f782bd7c",
      "parents": [
        "3453b1c584f456a18f17d74a72c044b4e39c6405"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 25 15:02:50 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 26 11:31:16 2011 -0700"
      },
      "message": "Extract embedded cover art (aka poster frame) in mp4 files\n\nChange-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b\n"
    },
    {
      "commit": "1bb6cf18c0039cb9d2a60713ea34d3709af58c5c",
      "tree": "ca4c1bb52197b19df287cd4dbc4cd972ce454eef",
      "parents": [
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 15 17:50:10 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 09:53:24 2011 -0700"
      },
      "message": "Break apart queries to getInstalled* API DO NOT MERGE\n\nTo avoid blowing past the Binder IPC limit, change the\nPackageManagerService to have a DB-like interaction where the client\ntells the service the last \"row\" that it read.\n\nThe fact that we use a HashMap instead of a TreeMap makes this\nproblematic. For now we\u0027re just making a new ArrayList for the keys and\nthen sorting them for each call. This can make the API slower for callers\nof this, but it\u0027s probably greatly overshadowed by the cost of the data\ntransfer itself.\n\nBug: 4064282\nChange-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce\n"
    },
    {
      "commit": "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3",
      "tree": "ae346479a6c069a3a57acecb18a0b0a563325e3f",
      "parents": [
        "cbc38e74f028d9e337eba0f3ed7c435310cc10c2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 16 17:08:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 12:01:25 2011 -0700"
      },
      "message": "Support wrapping app processes to inject debug instrumentation.\nBug: 4437846\n\nChange-Id: I4552501c693716b14714afb5c5248edaca9547ab\n"
    },
    {
      "commit": "a51b6fd6f8a53f040894ef07cf23695581595e6b",
      "tree": "b2e2b02e6a0568054fa279c54f50b7d2c80a9b18",
      "parents": [
        "3a9e712aca65ac49e7155e98e5d6b815da76f94b",
        "b2d0ee164a1cf7bab31302c5d3cdd62322574271"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 19 15:02:18 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 19 15:02:18 2011 -0700"
      },
      "message": "resolved conflicts for merge of b2d0ee16 to master\n\nChange-Id: I4483a6d0ccecfea4a1e66bb6eba80d13e8b9a3a4\n"
    },
    {
      "commit": "e6cd0c747e76723bc51a23925c239ae10f9d3b5c",
      "tree": "6fd4fa9f3e207f5a0aaf50edf972374196390a49",
      "parents": [
        "0a36cec642fb58e295d0608026890d95d0ae3cc0",
        "2433c443bb5fe96d9a39b59e10e3c03d791e2278"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 19 12:48:14 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 19 12:48:14 2011 -0700"
      },
      "message": "resolved conflicts for merge of 2433c443 to honeycomb-plus-aosp\n\nChange-Id: I3385f57e5761679e6700bcbe3c41deb3ecd43ba1\n"
    },
    {
      "commit": "2433c443bb5fe96d9a39b59e10e3c03d791e2278",
      "tree": "7feb2b64268b9b476e4fa5c91b19cdee3f86c117",
      "parents": [
        "4b999030ad3e9f8d392d72c725134ec3fb6d2290",
        "f2006f3123dcdf598e052051041b49c89710b53e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 19 11:04:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 19 11:04:01 2011 -0700"
      },
      "message": "am f2006f31: Merge \"Break apart queries to getInstalled* API\" into gingerbread\n\n* commit \u0027f2006f3123dcdf598e052051041b49c89710b53e\u0027:\n  Break apart queries to getInstalled* API\n"
    },
    {
      "commit": "cb4d1a91fc09fed1281781c4507e1e69afb476e5",
      "tree": "84590335e162c7904108fc7b2afc3110bab0dace",
      "parents": [
        "78ae81efa9d49b2697629f576e9f4beec6ec8b2b"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Tue May 17 21:35:54 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Tue May 17 21:35:54 2011 -0700"
      },
      "message": "dumpstate: don\u0027t attempt to use vril-dump, it breaks adb bugreport\n\n\nhttp://b/4442803 vril-dump\u0027s usage of adb causes bugreport to hang\n\nlcm-dump.sh re-uses adb which breaks.\n\nChange-Id: I5eeb30f78793c0a6d10bfaf0097d6aa7b811cf66\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "9d31154d0b0ecbc5a36733ac3a8b70dcae18bf9c",
      "tree": "21da3d76fd4b3e8d65228155844ee138f28e3f2c",
      "parents": [
        "14a2935809e73a9d824888dc837f2f017100fd26",
        "b68c768ddb57407bc253230c677056329c9e4bae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 21:39:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 16 21:39:47 2011 -0700"
      },
      "message": "am b68c768d: am 41744836: am 7916ac65: Add new command line option to change global screen size.\n\n* commit \u0027b68c768ddb57407bc253230c677056329c9e4bae\u0027:\n  Add new command line option to change global screen size.\n"
    },
    {
      "commit": "417448369c170a34d76c477aa19c5293e3caa1df",
      "tree": "a19b5658af4abd13b8c132102898ab1b32669bb8",
      "parents": [
        "7b0339a8adca1347fe7ac3ac118c903ff32442a8",
        "7916ac65dc492e4e1431879875c77d7121fbf82e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 21:21:24 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 16 21:21:24 2011 -0700"
      },
      "message": "am 7916ac65: Add new command line option to change global screen size.\n\n* commit \u00277916ac65dc492e4e1431879875c77d7121fbf82e\u0027:\n  Add new command line option to change global screen size.\n"
    },
    {
      "commit": "7916ac65dc492e4e1431879875c77d7121fbf82e",
      "tree": "a673e4cc163ea0e1d27d5a38fd2d37003812e37d",
      "parents": [
        "8f3dbe1c377e64584c3ec10edf664fb278648109"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 20:45:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 20:55:41 2011 -0700"
      },
      "message": "Add new command line option to change global screen size.\n\nFor example:\n\nadb shell am display-size 1024x600\n\nChange-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726\n"
    }
  ],
  "next": "14a2935809e73a9d824888dc837f2f017100fd26"
}
