)]}'
{
  "log": [
    {
      "commit": "7c608f25d494c8a0a671e7373efbb47ca635367e",
      "tree": "b3f4c1d8c429ac6523cd41a10d837b6b2f59efad",
      "parents": [
        "8182cd36cfbf5049f72b4be18f67c40ddef89d8b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Oct 22 17:54:04 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Nov 03 17:42:04 2010 -0700"
      },
      "message": "optimizing for primitive types in animations\n\nThe animator classes caused autoboxing by converting primitive types (by far\nthe most typical types used in animations) to be converted to their\nObject equivalents because of various APIs that required Object\n(like getValue() to get the animated value). This change creates\nfactory methods on some classes instead of the former constructors\nso that we can create and return private type-specific subclasses\nwhich operate directly on the primitive types instead.\n\nIn particular, float and int are natively supported by the animators\nnow. Support in the APIs for double and long was removed because it\nseemed like these less common types did not justify the extra\nbaggage of the added API and code.\n\nChange-Id: I6008a3883e3d6dd5225005f45f112af148e5a4ea\n"
    },
    {
      "commit": "13fd8de5cd6fe238c61f31b9d3fb737ed65c7581",
      "tree": "8266d34c9d2b43d9bd540204ccf32570cf7c7922",
      "parents": [
        "e3afc288ddddeda4e771be71f15b166f8aaa01e1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Nov 02 16:32:05 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Nov 03 12:02:13 2010 -0700"
      },
      "message": "Make Theme.Holo.Dialog.Alert and Theme.Holo.Light.Dialog.Alert public\n\nChange-Id: I72aa81fee745aee67269e6b24eab0f61ed693baf\n"
    },
    {
      "commit": "e3afc288ddddeda4e771be71f15b166f8aaa01e1",
      "tree": "9cfd8dce0f49fc1f89049847fddec28746e7c9b0",
      "parents": [
        "cc82f3ae3cef7e5dac7992a10aeb8e147e12eb27",
        "a8d7b7477d99dd2671e6232e157da9954bf4699f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Nov 03 11:39:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of a8d7b747 to master\n\nChange-Id: I8a4b72c9f9a10de8bbc285e00e2dd5cb9f498349\n"
    },
    {
      "commit": "81b8944131946e451b31665652de8cc71d81ea07",
      "tree": "f0d6f9ad3804bae55398e746328f067539af5c3a",
      "parents": [
        "5ffcd088cef3fdf3cebb674e47cd1aa739fde630"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Nov 02 17:58:56 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Nov 02 18:18:37 2010 -0700"
      },
      "message": "Fix bug 3093591 - add richer control over default tab selection in ActionBar\n\nAdded overloads to ActionBar#addTab with control over whether the added tab\nwill become selected or not. Old versions implemented in terms of the new.\n\nChange-Id: I810c64652bb7e755b81151ce8a2c765266d78a66\n"
    },
    {
      "commit": "b0418da0e7594a8c2164a46985c5f1993632e010",
      "tree": "f73f81b31796d4f75ef6530d1fb883fccc74031f",
      "parents": [
        "c68134b74016b82e0c49c47b89d93b2d0921cbe5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 15:24:01 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 02 17:31:39 2010 -0700"
      },
      "message": "Add plumbing for volume mute key.\n\nFull support for the volume mute key will be implemented in a\nlater change.\n\nBug: 2912307\nChange-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a\n"
    },
    {
      "commit": "a8d7b7477d99dd2671e6232e157da9954bf4699f",
      "tree": "1d7dc40888d00b25724c1b82e63ea26521737fab",
      "parents": [
        "6fb9316f6bd72b406bbfc61bd210281744eea9c1",
        "ef8a810b3b11d177a64111125eaa44bb76624414"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "message": "am ef8a810b: Merge \"Update of DRM framework\"\n\n* commit \u0027ef8a810b3b11d177a64111125eaa44bb76624414\u0027:\n  Update of DRM framework\n"
    },
    {
      "commit": "4b8d36b30ad2e87f3969034eb42dc14b99f03686",
      "tree": "780032f611a7862b1ae37d127308122b22da6a9e",
      "parents": [
        "70347c26e1c3c8eac0143ac7411112df2a0a690b"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Nov 02 12:12:39 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Nov 02 12:12:39 2010 -0700"
      },
      "message": "fix broken build\n\nChange-Id: I6fb1996932a75199fa42f43367c9ed266d3ba85c\n"
    },
    {
      "commit": "a32edd4b4c894f4fb3d9fd7e9d5b80321df79e20",
      "tree": "21629b5d915eadcbfeb68218c11df716b4363980",
      "parents": [
        "2444ddb3d9b59ec45ba50858fcbff639e59b93b1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Oct 26 10:35:01 2010 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Nov 01 20:53:38 2010 -0700"
      },
      "message": "Adding click feedback to widget collections\n\nChange-Id: I97fceb6c68ca6eb1b703eafacf201e1aed7c38e7\n"
    },
    {
      "commit": "21e941bf43362ddc6639a9f2d0828053360f53d7",
      "tree": "686b10bd26b899198a744c6e38d4ffa6585714b7",
      "parents": [
        "879ed85598800bd2d87b7fe96d0a763d9b954a6e"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Wed Oct 06 15:23:14 2010 -0500"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 01 18:41:19 2010 -0700"
      },
      "message": "Added support for dock headset observer\n\nChange-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292\nSigned-off-by: Praveen Bharathi \u003cpbharathi@motorola.com\u003e\n"
    },
    {
      "commit": "30ce36ec701cbdd961fc6fc18c07cb1a48b46a46",
      "tree": "82d12aba2ffc5881e955a7f0ac6da13c66067a1b",
      "parents": [
        "1b6334b8bd51e2fe2aa52add15e26385bbf8009b",
        "ab1b304bd4cf0bb6473b21d5604596105b794362"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Mon Nov 01 16:12:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 01 16:12:38 2010 -0700"
      },
      "message": "am ab1b304b: am ccb75a88: Merge \"Update the API file.\" into gingerbread\n\n* commit \u0027ab1b304bd4cf0bb6473b21d5604596105b794362\u0027:\n  Update the API file.\n"
    },
    {
      "commit": "ab1b304bd4cf0bb6473b21d5604596105b794362",
      "tree": "9822078d7454b320f26f8c7431ba26b9ff2a0d20",
      "parents": [
        "e06bdead5decc26c7fd7ed9b10ad0f009e14d274",
        "ccb75a882f670f8928f13a485c0c29b8b8b93af3"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Mon Nov 01 16:09:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 01 16:09:44 2010 -0700"
      },
      "message": "am ccb75a88: Merge \"Update the API file.\" into gingerbread\n\n* commit \u0027ccb75a882f670f8928f13a485c0c29b8b8b93af3\u0027:\n  Update the API file.\n"
    },
    {
      "commit": "c7b3ccc564448cb4b918728421f9402bc18278c5",
      "tree": "7d97c647cef5ae086048f62636bad3343f193459",
      "parents": [
        "5b4d0e84d314bd58efb9dcf4e7f23f0d0e3fc630"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Oct 08 23:05:49 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 02 08:06:06 2010 +0900"
      },
      "message": "Update of DRM framework\n\n - Overload openDecryptSession() with uri parameter\n   in order to accept URI of DRM content,\n   Following API is added,\n       DecryptHandle*openDecryptSession(const char* uri);.\n - Unify texisting three event types of processDrmInfo()\n   so that caller of DRM framework does not have to handle many event types.\n - Let DrmManagerService call load/unload plugins API so that\n   client of DRM framework does not have to manage plug-in load/unload.\n - Trivial fix in DrmManagerClient.java is also incorporated.\n\nChanges are made by Sony Corporation.\n\nChange-Id: If62b47fa0360718fdc943e6e6143671d7db26adc\n"
    },
    {
      "commit": "8eb2e244f9b14d946ee587d0b673b866865026c0",
      "tree": "5b99820a9b2db1ec63836d6e1c806e6317e25c07",
      "parents": [
        "5060309f4cdb4b231484a0b1cdcccf8569f06705"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 01 12:31:24 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 01 14:48:34 2010 -0700"
      },
      "message": "Various PreferenceActivity and related improvement.\n\nThis is all about making the preferences implementation better.\n\nWell, mostly all about that.\n\nChange-Id: I8efa98cb5680f3ccfa3ed694a1586de3fb3a9e11\n"
    },
    {
      "commit": "71b8c23e564d4f9a465845b5c9b6a6c53c1ba96b",
      "tree": "87af70fb509577b8dfab36a1c7333e8ce29d5d79",
      "parents": [
        "e58a5ad04b4e181e86ae573fa3a06d141bddf63a"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Oct 27 15:22:19 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Nov 01 14:21:08 2010 -0700"
      },
      "message": "add NOTIFICATION_CLICK_ constants to DownloadManager\n\nDownloadReceive in packages/providers/Downloadproviders sends intents\nwhen notification messages are clicked on.\nWhen using public API of DM, added code to include download entry ids\nto the above intents. The constants added here support that code.\nintents when\n\nChange-Id: Ibe53ccd9934c73175459e42e3d417eee69ae6735\n"
    },
    {
      "commit": "bc19c7bdc07f5ab305d91b43ab7a14afc8ca10cd",
      "tree": "ca0b86e327fb78eb5588f3ed61cf2518fc14a749",
      "parents": [
        "42679cea5d8bc4b235b290b97805b86c8c7cbca5"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Mon Nov 01 14:08:01 2010 -0700"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Mon Nov 01 14:14:37 2010 -0700"
      },
      "message": "Update the API file.\n\nMy previous change was api-compatible, but some of the incidental data\nin the API file (like parameter names) changed. It looks like there\nwere probably a couple other similar changes too, that hadn\u0027t\npreviously been propagated to the API file; all I did to generate this\nchange was say \"make update-api\".\n\nChange-Id: I427a9ceb51212fde515df007613b8687b7228ce7\n"
    },
    {
      "commit": "70d4ba15b1f0c1133c5aabc86de828b41e482fff",
      "tree": "461f6a3acfc3b924d6c4e5902ed80e569123d349",
      "parents": [
        "6b21cdeb5f0127862d82f24a4b6001f495e3c8cd"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Oct 06 09:46:45 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Nov 01 10:19:44 2010 -0700"
      },
      "message": "Performance optimizations for animations and toolkit\n\nChange-Id: I316a48273a9cbb428a965e4b849b3e5e9e8202f1\n"
    },
    {
      "commit": "0db3ff0bda4f919bdde8bab253d47a186f945598",
      "tree": "1990b39cf7f6615a5d59761de78dec4468cbea5a",
      "parents": [
        "7f3154d7fa638958cf8e90af3ccfdf5d2f869777"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 29 18:15:13 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 29 18:35:31 2010 -0700"
      },
      "message": "Remove default background from Holo; add Holo.Extended themes\n\nChange-Id: Ie3143230ebb827eb3625ffe40ee4fc24853ab9dc\n"
    },
    {
      "commit": "dea3ef7967228f0ddcc03f2455a4f1254758e584",
      "tree": "a076c086e4f34e1d6c3b6aec6fa1b8fa07b0118b",
      "parents": [
        "e2160a049ff4930b59fd67a85c8e2c98ceefc7ed"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 28 14:24:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 29 16:59:15 2010 -0700"
      },
      "message": "Add new resize mode to not resize, new web input types.\n\nChange-Id: Ib098c03793d08532c3c099b59d0cc6b567e54900\n"
    },
    {
      "commit": "3f425a6be47b706349f17679ed2b6877179df1cc",
      "tree": "bb2bf12795fe2eb17917226b67a4891c11f90f9f",
      "parents": [
        "84aaec86f5f0cc24a9bdd936597601eadf2247dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Oct 29 11:53:39 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Oct 29 19:16:45 2010 -0400"
      },
      "message": "Add new WRITE_MEDIA_STORAGE permission to control write access to /data/media\n\nBUG: 3113970\n\nChange-Id: Idb56be76729dc560dee5f680225cf4050f2751d2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9ab978713ce86fdaefed2407f4f3c998ab0e3178",
      "tree": "4ffad4dcf15df29a034dcf6d451b0412723514bd",
      "parents": [
        "03034739eb90a41c930201253f5d709c232ce5a9"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 26 21:47:29 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 29 15:32:53 2010 -0700"
      },
      "message": "Action bar API updates - new display options\n\nChange-Id: I55e56cd7aafa53994990079e88ef85e4eb1a0b3f\n"
    },
    {
      "commit": "7b9652b66b76b90fd95952c42a4f82965ed80d72",
      "tree": "2929034173a6887f0c9efcc11da33566b529e683",
      "parents": [
        "39a37dd48cecfb395377e5dd9481649ce96fc70c"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Oct 26 16:27:12 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Oct 29 11:54:51 2010 -0700"
      },
      "message": "New Paste view on top of insertion point in TextViews.\n\nTapping on the insertion handle displays a new pop-up dialog that allows to paste.\n\nSelect all icon removed.\n\nChange-Id: I6b8c088dd5930c3f67b38928fd43cdd5c9da0904\n"
    },
    {
      "commit": "b6e18412af35bf724298796eed65ef1fbbe1925e",
      "tree": "cea1359268ddbd6c83589bff43741905f3558237",
      "parents": [
        "19d928e5a57df2a745ea467ef04e5a23802574fc"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Oct 28 14:50:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 29 09:39:27 2010 -0700"
      },
      "message": "Make network usage on the main thread fatal (Honeycomb+)\n\nFor apps targetting Honeycomb SDK or above, make network usage on the\nmain thread (aka event thread, Looper thread, UI thread) be fatal.\n\nIf an app is targetting a previous SDK version, they\u0027re grandfathered\ninto the older (lack of) rules.\n\nBug: 786847\nChange-Id: Ia4ae77b8369567ee526c96b930d523bc722b0bc9\n"
    },
    {
      "commit": "4611bb1814afc7dcc3177cbb248bfb5ee1662ba0",
      "tree": "7e1817b0a5e1f0e4cf91ea43721d3eb2ec384ac4",
      "parents": [
        "6e9f6d1e037139d2ef106b03b8f27248764169d8",
        "ba1664b34cc33ebb6b45fccedb35298ff8b1d998"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 29 08:20:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 29 08:20:28 2010 -0700"
      },
      "message": "am ba1664b3: am 4bf4b491: Merge \"Hide some NFC API\\\u0027s.\" into gingerbread\n\n* commit \u0027ba1664b34cc33ebb6b45fccedb35298ff8b1d998\u0027:\n  Hide some NFC API\u0027s.\n"
    },
    {
      "commit": "ba1664b34cc33ebb6b45fccedb35298ff8b1d998",
      "tree": "ba3185c79d0a86a0d99d2e6270b2bd3e8b5e2130",
      "parents": [
        "faebca7f4319950927759163a703dd12f2727460",
        "4bf4b491be3fbd0f71bb87749a0e31f817b91e08"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 29 08:15:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 29 08:15:48 2010 -0700"
      },
      "message": "am 4bf4b491: Merge \"Hide some NFC API\\\u0027s.\" into gingerbread\n\n* commit \u00274bf4b491be3fbd0f71bb87749a0e31f817b91e08\u0027:\n  Hide some NFC API\u0027s.\n"
    },
    {
      "commit": "24abb66c85373156ce83211b552127344bd38c05",
      "tree": "882ea16dd775912832f3fb937c24baf35cbd3a20",
      "parents": [
        "393b2f9b8df9067fafcd346e297d83fd8cbc2106"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Sep 21 12:21:18 2010 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Oct 29 09:03:06 2010 +0100"
      },
      "message": "Deprecate Settings.System.SHOW_WEB_SUGGESTIONS\n\nIn earlier Android versions, Quick Search Box set this setting,\nand the browser and QSB read it. Now the Browser has stopped\nusing it, and QSB has been unbundled and removed from the system\nsettings UI.\n\nApplications that show web suggestions should have their own settings\nto control it instead.\n\nBug: 3021480\nChange-Id: I4e62bf26944287f804e50eb93843484a0356fffb\n"
    },
    {
      "commit": "11b075e218b9921a953eeebe73fcd1a8a81f764b",
      "tree": "7efd302691767e6f3e7ba83fcd2f9ee2ada647ae",
      "parents": [
        "120a4594855951ed5eb185fdfc19bf98efef3ba2"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 28 13:39:37 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 28 14:54:52 2010 -0700"
      },
      "message": "Hide some NFC API\u0027s.\n\nWe are leaving enough API so that you can see when any Tag is discovered,\nget its ID, and get its NDEF messages.\n\nBut for advanced use - creating tag connections and writing messages - we have\n2 problems. Firstly a lot of the code is untested\n(RawTagConnection.transceive()), or in some cases known not to work\n(NdefTagConnection.write()). Secondly, there is still debate about how to\nbest expose information about Tags.\n\nThe set of data/methods exposed for a Tag changes completely depending on the\ntag technology. There may be multiple sets of technology implemented in a\nsingle tag. Tag A may have technology X and Y, Tag B may have technology Y\nand Z. Furthermore, some NFC controllers will be not be able to use all\ntechnologies, and so Android Device 1 may see technology X and Y on Tag A but\nAndroid device 2 may only see technology X. So we have a pretty challenging\nset of constraints to work under, and we are not convinced the current Tag and\nNdefTag class is the best approach going forwards.\n\nThe Tag application should be able to remain unbundled, since it just needs to\nget incoming NDEF Messages.\n\nChange-Id: Ic09f094f33794e10f8d730fffe011c9a5957e0ac\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "1fb39f0ffca314d2fc597e2849decf3e4148713a",
      "tree": "55f1fdba7ee562cfd0738e5482004e78884071ae",
      "parents": [
        "5164246d7e47b9c995ca1e1587f3056eb777f60b"
      ],
      "author": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Thu Oct 28 13:40:38 2010 -0700"
      },
      "committer": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Thu Oct 28 13:40:38 2010 -0700"
      },
      "message": "Add API and strings for the contact-field \"Relation\"\n\nBug:3134946\nChange-Id: Ic2163abfaf0ca16cbd24ea68cbace5144b688eab\n"
    },
    {
      "commit": "5164246d7e47b9c995ca1e1587f3056eb777f60b",
      "tree": "273d9124e7897c1a9b41fd4ac3eef6862a81a979",
      "parents": [
        "00d319e0f9bb563c025c8435bd424d66afcd5f25"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 28 10:32:37 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 28 12:29:15 2010 -0700"
      },
      "message": "Fix setting of class loader.\n\nAlso add Bundle API to retrieve its class loader because...  well,\nwhy not.\n\nChange-Id: Ie939f6a2ae13974e5a05eb5bd3b28f350d8a8565\n"
    },
    {
      "commit": "04d50204705c9da52b218f11972da4e7d7a9cb84",
      "tree": "2849675f95a40a938c61a351f32f890dbffc7516",
      "parents": [
        "267e91688b2351dceddb0a1c37e3e2c6bb91d696"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 25 22:20:12 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Oct 28 16:18:50 2010 +0900"
      },
      "message": "Show Subtype Icon properly in the system status bar\n\n- Added API for getting the current subtype\n- Added functions for show/hide status icon\n\nChange-Id: Ifcaad00f7f4c658cdb3af367387476bbf316eb19\n"
    },
    {
      "commit": "4c6e5dfa1c38f32843d209258388b97d4e32314f",
      "tree": "2997c2dedc6c9a304751c0ed19f35932f88be8a2",
      "parents": [
        "88e7b31ba1447e98f65e4d2939dbf66268c75e35"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Oct 26 17:00:16 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Oct 27 23:09:51 2010 -0700"
      },
      "message": "make notifications appear during downloading AND after completion\n\nbug:3132773\nChange-Id: I012859fa86055f322069d5120b110c4c8887fb61\n"
    },
    {
      "commit": "e829fef63957a23b61cdb01bb692a17a041ff2dc",
      "tree": "8e201bd9ef8648eb2d70f700205925f7b000d24f",
      "parents": [
        "162b689c5257d7e6a937cf734c0edde470c77969"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 26 17:44:01 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 27 17:13:29 2010 -0700"
      },
      "message": "Add facility for broadcasts receives to do work asynchronously.\n\nYou can now call goAsync() and move your work to a background thread.\nIf you are that kind of receiver.  You weirdo.\n\nAlso allows SharedPreferences.apply() to be committed off the main\nthread after returning from onReceive().\n\nChange-Id: I27f975910e28f230ababcaeb551eb9a78ec4fc76\n"
    },
    {
      "commit": "f5cbaeda148aa80470d4100d51e3fb3975843ef2",
      "tree": "1b10ce486719a7fc02ae17d947a2e5c7f8a39e34",
      "parents": [
        "367c6c7bb8d0912cd5be0ee800dbac43fdd75daf"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Oct 27 16:14:20 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Oct 27 16:31:05 2010 -0700"
      },
      "message": "No animation when tapping on current header in a preference screen.\n\nBug: 3125427\n"
    },
    {
      "commit": "86417ea3f8041481a085823a1aa9f66d747231e8",
      "tree": "c23ac8b262f564425119c505e31d42ed7e83414a",
      "parents": [
        "c7415b7800d80bcac140da7a635cc05e09724bfb"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Oct 27 14:11:03 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Oct 27 15:27:22 2010 +0900"
      },
      "message": "Remove InputMethodAndSubtypeEnabler and call intent of Settings.ACTION_INPUT_METHOD_AND_SUBTYPE_ENABLER\n\nChange-Id: I467cfba9644ec266f6a98f7aec0886ad205fef4f\n"
    },
    {
      "commit": "f834dfabbcbbe1f209682f18c67f2e8b9d3e1dd7",
      "tree": "233e48517d46e92df1acaf942c1fa2dd7c6384b5",
      "parents": [
        "78098341f86b4c71256017ca2b33674d6bcab046"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 26 12:43:57 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 26 15:23:15 2010 -0700"
      },
      "message": "ClipDescription no longer inherits from ClipData.\n\nChange-Id: Ie4939f87c7e1628d9c19ecb5c0b3036d1f76ef29\n"
    },
    {
      "commit": "e775b3daab9766bce9ec2d01fe7d652c4a782b6b",
      "tree": "96c0404ae71a429fe44fc03678fe0278237d1aee",
      "parents": [
        "f0a896b353e01c7093ba2ee0539f1a7cabef6ec6"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Sep 29 11:34:59 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Oct 25 11:07:58 2010 -0700"
      },
      "message": "Expose Vendor Specific Headset Event Intent.\n\nThe Bluetooth Headset spec doesn\u0027t cover all cases.\nFor example, there is nothing defined to show the battery status of\nthe headset on the phone. This intent allows 3rd party applications\nto communicate effectively with vendor headsets. For example, Plantronics\nhas an app for Android headsets and when used with Plantronics\nheadsets, they will be able to use extra information from the headset.\n\nChange-Id: Ib997327103cbbe57d64c52ba27f74162b6769798\n"
    },
    {
      "commit": "6ab84eeb0fad723d6e3e1e9fc63a4896a5905248",
      "tree": "19c80ad4bfbf3407395eb5800be27d2ba7685edb",
      "parents": [
        "aa6110d84024776674131eb3b7a609499cf48810",
        "c2f78020d3887539fc90230d96465e4b1dc84d8e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 24 18:42:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 24 18:42:12 2010 -0700"
      },
      "message": "am c2f78020: am 23656899: Merge \"Fix issue #3126018: No way to specify NativeActivity\\\u0027s native method\" into gingerbread\n\nMerge commit \u0027c2f78020d3887539fc90230d96465e4b1dc84d8e\u0027\n\n* commit \u0027c2f78020d3887539fc90230d96465e4b1dc84d8e\u0027:\n  Fix issue #3126018: No way to specify NativeActivity\u0027s native method\n"
    },
    {
      "commit": "c2f78020d3887539fc90230d96465e4b1dc84d8e",
      "tree": "c71f7293dfae5566b7ad688ddf33a676753c35ef",
      "parents": [
        "2ef36763700eff5679d6012e7f078c57f1a4c465",
        "236568999411214ef440cabc6d12e3bf5f19d8f4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 24 18:38:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 24 18:38:11 2010 -0700"
      },
      "message": "am 23656899: Merge \"Fix issue #3126018: No way to specify NativeActivity\\\u0027s native method\" into gingerbread\n\nMerge commit \u0027236568999411214ef440cabc6d12e3bf5f19d8f4\u0027 into gingerbread-plus-aosp\n\n* commit \u0027236568999411214ef440cabc6d12e3bf5f19d8f4\u0027:\n  Fix issue #3126018: No way to specify NativeActivity\u0027s native method\n"
    },
    {
      "commit": "e21d91c694e828e6285cc50e79b2a6be6e8c692b",
      "tree": "bff7d5088aa8dc568c33a1c68a7dbd976ebe0f58",
      "parents": [
        "b6a2256e5461160a89d077b761d3253d95ce869f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 24 14:56:38 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 24 14:56:38 2010 -0700"
      },
      "message": "Fix issue #3126018: No way to specify NativeActivity\u0027s native method\n\nChange-Id: I59de6a543e7f7f45d963a905829a3f56f32bf8cf\n"
    },
    {
      "commit": "1d952ff85e911940381ceb340d49bb80a1c8539a",
      "tree": "b0089b80606eff85cfe959d3c78d0ef0f83df375",
      "parents": [
        "a139f102d8b3111383c2c978953663e0aa554600",
        "f5b5d177a94bf5b1e59c11fb6f53e2dd40271f59"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 22 18:31:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 18:31:06 2010 -0700"
      },
      "message": "am f5b5d177: am 07f3bee2: Push Tag/NdefTag implementation details into the service.\n\nMerge commit \u0027f5b5d177a94bf5b1e59c11fb6f53e2dd40271f59\u0027\n\n* commit \u0027f5b5d177a94bf5b1e59c11fb6f53e2dd40271f59\u0027:\n  Push Tag/NdefTag implementation details into the service.\n"
    },
    {
      "commit": "f5b5d177a94bf5b1e59c11fb6f53e2dd40271f59",
      "tree": "a4cff1c264d14442d9a11d62bbe50761b472d6aa",
      "parents": [
        "d13f5f4fea0dd03cbbfc4a9ec711c4ffcc91655b",
        "07f3bee2db8b6e93ebbf7222676bd9f468e85569"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 22 18:20:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 18:20:52 2010 -0700"
      },
      "message": "am 07f3bee2: Push Tag/NdefTag implementation details into the service.\n\nMerge commit \u002707f3bee2db8b6e93ebbf7222676bd9f468e85569\u0027 into gingerbread-plus-aosp\n\n* commit \u002707f3bee2db8b6e93ebbf7222676bd9f468e85569\u0027:\n  Push Tag/NdefTag implementation details into the service.\n"
    },
    {
      "commit": "07f3bee2db8b6e93ebbf7222676bd9f468e85569",
      "tree": "4d1d6a9f81252ebda078954da4380b470f0b320b",
      "parents": [
        "67496e591dca9c7faa07f6e1c8849c9d5af4edb9"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 21 21:42:24 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 22 16:29:43 2010 -0700"
      },
      "message": "Push Tag/NdefTag implementation details into the service.\n\nTag/NdefTag objects should just be simple data objects. Push the mapping of\ninternal tag type to public rawTarget/ndefTarget into Nfc Service.\n\nThis gives an oppurtunity to clean up some Tag/NdefTag API methods. Most\nsignificantly, adding createMockTag() and createMockNdefTag() to help with\napplication testing.\n\nThere will probably be some more tweaking of the types/targets in\nTag/NdefTag to come, this commit makes that a lot easier.\n\nAlso:\n- Introduce getActivationBytes() and getPollBytes(). These are just stubs\nfor NFC service to implement, we have feedback these are really important\nto help identify NFC tags.\n- Based on outside advice, remove 3B_PRIME (roll into 3B) and TOPAZ (roll\ninto 3A).\n\nChange-Id: I3e6789c047f6ee5c298bf76c65e0885cf3c15d97\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "a0b46c9c441f017a2008ca8ee2c864987465996b",
      "tree": "5f2bd72c1e65c7005e3f495f9d1a485bc8079914",
      "parents": [
        "e6634981f12e1d218eaf61c6488af3d8c9f0d202"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 16:18:43 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes\n\nMerged from GB.\n\nChange-Id: I94730b54bcacd083f77708e84c35f4932a7b9d2e\n"
    },
    {
      "commit": "e6634981f12e1d218eaf61c6488af3d8c9f0d202",
      "tree": "74c9a3ba82b2584d30da2e44a7f2d15916d415c4",
      "parents": [
        "2351e69a13e8b9372cc4a33d28c1fd230f51faa3",
        "9c7489f8bdcd08990c44250cbad64399badc72be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 14:35:09 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 14:35:09 2010 -0700"
      },
      "message": "resolved conflicts for merge of 9c7489f8 to master\n\nChange-Id: I1d8fd1146925f48ad690c89230d24dc8694703f4\n"
    },
    {
      "commit": "9c7489f8bdcd08990c44250cbad64399badc72be",
      "tree": "16af554746fcb12e6715514f89d01c39c80666fa",
      "parents": [
        "2051a1be52b3380285597c62e283e12bf659bda9",
        "38993d8d833ca2e61111d2a828dc4f67ca7848cb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 14:03:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 14:03:08 2010 -0700"
      },
      "message": "am 38993d8d: Merge \"Fix issue #3122240: Expose xlarge in GB.\" into gingerbread\n"
    },
    {
      "commit": "5383f502e4479d117c89666fb2ee1ca53f3d27cf",
      "tree": "3205788a98d26a3161916279d83e7fd5629fc92f",
      "parents": [
        "7ce276b5a3f2e0938956171abd32d60c7f619d16"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 12:59:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 12:59:20 2010 -0700"
      },
      "message": "Fix issue #3122240: Expose xlarge in GB.\n\nPlus some other small API cleanup.\n\nChange-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8\n"
    },
    {
      "commit": "b063e7903e49bc4689bd54ebe39e8094a58b910b",
      "tree": "56b6bd67fbe8ac62eaf4683079f572736dea85db",
      "parents": [
        "0c4b1a82926381eff111ac921fb846a93de9d75b",
        "8783b0e20ca8d484a13c1c5d7f19b8570c30eead"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Oct 22 12:30:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 12:30:54 2010 -0700"
      },
      "message": "am 8783b0e2: am 7c68bc38: Merge \"Unhide some NFC APIs that are required for the Tag app.\" into gingerbread\n"
    },
    {
      "commit": "8783b0e20ca8d484a13c1c5d7f19b8570c30eead",
      "tree": "a01dc2b19776a51c54426ffd84dceaeb37523983",
      "parents": [
        "c81ec79d1f88ae8a80e08560a56845655a74f67e",
        "7c68bc3867bf536ca58ababdd7e35c676b95f0a5"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Oct 22 12:11:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 12:11:23 2010 -0700"
      },
      "message": "am 7c68bc38: Merge \"Unhide some NFC APIs that are required for the Tag app.\" into gingerbread\n"
    },
    {
      "commit": "03cd78cf5e51c3adb78d2e3d314838dcf3e36b26",
      "tree": "898125c6e6cfc7f22a44ce986205557d7f571dff",
      "parents": [
        "e1627c9d0e472cf32bc52533570ce8768048db29"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Oct 18 16:41:53 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri Oct 22 11:36:27 2010 -0700"
      },
      "message": "Convert return type of APIs from Set to List.\n\nMost of the time it will either be empty or have 1 device.\nUsing list makes it much a better API and since its supported\nby the AIDL format, the code becomes much nicer.\n\nChange-Id: I5a2508b33ba754fc8cc738409d658e1235aaf2cf\n"
    },
    {
      "commit": "da83f513ca661cd2bb1e6f1c8b64b716205bae48",
      "tree": "362a40730be4d492165a6f7381b928eca0bbaaf1",
      "parents": [
        "389a440ad13f7b16e8f7c7f1670bdd55f1e2112a"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Oct 21 22:39:30 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Oct 21 23:43:22 2010 -0500"
      },
      "message": "Unhide some NFC APIs that are required for the Tag app.\n\nChange-Id: Ic64e00476132dbf4644de5c465e06fe11a264508\n"
    },
    {
      "commit": "de8635e4c4c9f674b52cb6041380c3ef2812630c",
      "tree": "c6a9f6404edf36103ab1ad553a2e6746272d6460",
      "parents": [
        "6123e0f7c91ffc7534da99b4668879dacf662227",
        "389a440ad13f7b16e8f7c7f1670bdd55f1e2112a"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Oct 21 21:08:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 21:08:20 2010 -0700"
      },
      "message": "am 389a440a: Backport ParcelFileDescriptor.createPipe() from master.\n\nMerge commit \u0027389a440ad13f7b16e8f7c7f1670bdd55f1e2112a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027389a440ad13f7b16e8f7c7f1670bdd55f1e2112a\u0027:\n  Backport ParcelFileDescriptor.createPipe() from master.\n"
    },
    {
      "commit": "389a440ad13f7b16e8f7c7f1670bdd55f1e2112a",
      "tree": "def02e1a495f57e433c457e34339333855351faa",
      "parents": [
        "1bd8a8c8acdb7c3aa875ea62ccf0b9111f1c9410"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Oct 21 16:38:47 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Oct 21 22:39:41 2010 -0500"
      },
      "message": "Backport ParcelFileDescriptor.createPipe() from master.\n\nThis allows content providers to expose arbitraty data\nthrough the ContentResolver open* APIs.\n\nChange-Id: I408a0b7cee9cdba5654a962098386c012d6b3549\n"
    },
    {
      "commit": "101f14b275ab2451aef50dec427376d721d17aea",
      "tree": "af8c333d1c2d519c300ab817991b74d51cee43b6",
      "parents": [
        "86f1b643d10e0b5b17ae01db3b81020db87b3295",
        "ba501785c7b298198d1c6e4787fd40e98f97da67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 20:17:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 20:17:56 2010 -0700"
      },
      "message": "am ba501785: Merge \"Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\" into gingerbread\n\nMerge commit \u0027ba501785c7b298198d1c6e4787fd40e98f97da67\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ba501785c7b298198d1c6e4787fd40e98f97da67\u0027:\n  Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\n"
    },
    {
      "commit": "a6d9c7c04c4b17d85ac70f4494777555655f3be1",
      "tree": "216d077a636fa8be9369de734e14350886c0e7ac",
      "parents": [
        "7dc08fb070ff7455e794fc81645ccb4349cd152f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\n\nChange-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb\n"
    },
    {
      "commit": "d4533f1469990582e4a2dd0898429093fe2690c0",
      "tree": "7ca94c99e6e56ad7d1007c6a1a9d62846a52d075",
      "parents": [
        "82a8a2aa0acc8af59f264d41090c3b99d695c2d5"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 19 15:15:08 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 21 14:25:06 2010 -0700"
      },
      "message": "Report drag success/fail in the DRAG_ENDED message\n\nDragEvent.getResult() returns \u0027true\u0027 if the drop was ultimately accepted;\nfalse otherwise.  The validity of this datum is only guaranteed when the\nDragEvent\u0027s action verb is ACTION_DRAG_ENDED.\n\nAlso fixes the drag-start timeout handling (though the offending app is\nnot yet officially declared ANR).\n\nImplements bug 3097807\n\nChange-Id: I6908ac628c72ff7d6193d87060d769a559a78d0e\n"
    },
    {
      "commit": "886fd91833e1f5c6ec882baf2ed5e02078911c63",
      "tree": "08b0c0a29ad27fb1e309795d16a80545349af84d",
      "parents": [
        "9509527eb609e8523408107ade74ac6be738f5e1",
        "c0e93a849f82c97b847c9ad39b18e594f3bb3f5a"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 21 13:50:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 13:50:09 2010 -0700"
      },
      "message": "am c0e93a84: am 7ea5c45e: NFC settings cleanup.\n\nMerge commit \u0027c0e93a849f82c97b847c9ad39b18e594f3bb3f5a\u0027\n\n* commit \u0027c0e93a849f82c97b847c9ad39b18e594f3bb3f5a\u0027:\n  NFC settings cleanup.\n"
    },
    {
      "commit": "beb2178b49e29550a4d2957cff2b602ed8517c6b",
      "tree": "8e96cb8ecd0633ad6964845ecff761ff4f4ce12a",
      "parents": [
        "bdccfe4ac4b3c727febecd7443dda7828533e554"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Oct 21 10:02:12 2010 -0700"
      },
      "committer": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Oct 21 13:31:57 2010 -0700"
      },
      "message": "Making multi-values extra in contact INSERT intent public.\n\nChange-Id: I27da6278027a8b6a18b8dea756aa4ed8920ec748\n"
    },
    {
      "commit": "164cd438fb21e82d0aacc06da940041f0b7f6a2c",
      "tree": "2d96f18584c7c773ce949e8d47192a45b24b767f",
      "parents": [
        "4ef36afa3273bc15a59c3262e41e61d7ccba6c3e",
        "5102856947595cffc1cceb11b9e4c5baf70b2e82"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Oct 21 10:55:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 10:55:33 2010 -0700"
      },
      "message": "am 51028569: am 1180f2a0: Merge \"Remove ringtone API from SipAudioCall.\" into gingerbread\n\nMerge commit \u00275102856947595cffc1cceb11b9e4c5baf70b2e82\u0027\n\n* commit \u00275102856947595cffc1cceb11b9e4c5baf70b2e82\u0027:\n  Remove ringtone API from SipAudioCall.\n"
    },
    {
      "commit": "c0e93a849f82c97b847c9ad39b18e594f3bb3f5a",
      "tree": "795e634e166082ad74609dd8d715899a88e3b6cc",
      "parents": [
        "0c55136893849d72ac267f887a841efe845218a1",
        "7ea5c45e8d89f59065f088d4e11cceeeed9d64d1"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 21 09:38:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 09:38:15 2010 -0700"
      },
      "message": "am 7ea5c45e: NFC settings cleanup.\n\nMerge commit \u00277ea5c45e8d89f59065f088d4e11cceeeed9d64d1\u0027 into gingerbread-plus-aosp\n\n* commit \u00277ea5c45e8d89f59065f088d4e11cceeeed9d64d1\u0027:\n  NFC settings cleanup.\n"
    },
    {
      "commit": "7ea5c45e8d89f59065f088d4e11cceeeed9d64d1",
      "tree": "b5bb01cdf9280d1ea7cf0cba3d96ebe3ca1c1be5",
      "parents": [
        "fa7a87fb4b3d25b0b6b0985d65848a144d28df26"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Oct 20 18:39:11 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 21 03:54:51 2010 -0700"
      },
      "message": "NFC settings cleanup.\n\nRemove NFC settings from Settings.System. The NFC Service tracks them\ninternally using SharedPreference.\n\nRevert back to enable()/disable()/isEnabled() - Tag discovery is the\nonly functionality NFC service performs right now so we don\u0027t need to\nbreak it up more explicitly yet. enable/disable is the global NFC\non/off and later we\u0027ll add enableDiscovery(), enableTagEmulation(),\nenableSecureElement() etc as needed.\n\nChange-Id: Id5b23e89d4a29511835f509962842452075e56cb\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "5102856947595cffc1cceb11b9e4c5baf70b2e82",
      "tree": "b9b445663342cedd9fe58857a1f69fd48999092e",
      "parents": [
        "18cbc0e58a0e68411dff655f116a7010c3f464a2",
        "1180f2a099a134c40f923c7e4162a5e7d7ca0184"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Oct 20 13:54:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 13:54:25 2010 -0700"
      },
      "message": "am 1180f2a0: Merge \"Remove ringtone API from SipAudioCall.\" into gingerbread\n\nMerge commit \u00271180f2a099a134c40f923c7e4162a5e7d7ca0184\u0027 into gingerbread-plus-aosp\n\n* commit \u00271180f2a099a134c40f923c7e4162a5e7d7ca0184\u0027:\n  Remove ringtone API from SipAudioCall.\n"
    },
    {
      "commit": "9b449e5606786f7c197679f8f9d25985308bfb72",
      "tree": "63957bfb80aa80a38741d8451c940ee578d40a95",
      "parents": [
        "b595e094e3901ff8a224eaf7d4869e7d2e5649dd"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Oct 20 18:07:01 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Oct 20 22:51:22 2010 +0800"
      },
      "message": "Remove ringtone API from SipAudioCall.\n\n(watch out auto-merge conflict for SipAudioCall).\n\nBug: 3113033, related CL: https://android-git/g/#change,75185\n\nChange-Id: Ib48d3b990e229e0b341e47e10e76934e1a50d10f\n"
    },
    {
      "commit": "7f9b90542e05b350d14bd63c16446c8ce2baf407",
      "tree": "3d97c5ae98bf3fbdb9fbe56ed4a057a29caa3c6f",
      "parents": [
        "ce146d9dd5496ef315f0472b08a376edc33b9705"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 19 16:56:07 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 19 17:18:20 2010 -0700"
      },
      "message": "Add ActionBar tab callback method onTabReselected\n\nonTabReselected is called if an already-selected tab is chosen again.\nFor many apps this will be a no-op, but some may treat it as a signal\nto return to the top level of a given navigation category.\n\nChange-Id: Ic51fbe477b979562f2d848c4070b2016b217a90f\n"
    },
    {
      "commit": "32affef4f86961c57d9ba14572ec65dc2a5451de",
      "tree": "9c91b330da7219a2dc79de6aa56e4581e42f74c2",
      "parents": [
        "5931b1f415fdb30f429fb39238c63f7533335998"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 18 15:29:21 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 19 13:56:17 2010 -0700"
      },
      "message": "Introduce an OnDragListener mechanism\n\nIf the listener\u0027s onDrag(view, event) returns \u0027false\u0027, the view\u0027s own\nonDragEvent() will be called.  If the listener returns \u0027true\u0027, it\nconsumes the event (and declares that it will handle the rest of the\ndrag event sequence, in the case of DRAG_STARTED actions).\n\nChange-Id: I01aff0e4f59f71e55f5eea1049905c80714f0607\n"
    },
    {
      "commit": "5931b1f415fdb30f429fb39238c63f7533335998",
      "tree": "07e2b70dfdf9cafebecdf7ffe83b9865fca32b41",
      "parents": [
        "067222d11f95e2547b638b6daf5d4c06c6dc49ef"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Oct 18 16:13:14 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Oct 19 12:24:27 2010 -0700"
      },
      "message": "Fix layout issues, add a maxWidth attribute to SearchView.\n\nBug: 3067611\nBug: 3067595\n"
    },
    {
      "commit": "ca2a75ad5640efc22873ee14043c586444358997",
      "tree": "3a4e334895f6b30af47d5b54ff9e79e125a61d39",
      "parents": [
        "32343128d9630d9a677db4af91f2a2f897114229",
        "824de4b3e378a5ef41de1704ee3f50a49d408a66"
      ],
      "author": {
        "name": "Sylvain Fonteneau",
        "email": "sylvain.fonteneau@trusted-logic.com",
        "time": "Tue Oct 19 11:17:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 11:17:52 2010 -0700"
      },
      "message": "am 824de4b3: am dd7341f7: Added missing implementation for NdefRecord.\n\nMerge commit \u0027824de4b3e378a5ef41de1704ee3f50a49d408a66\u0027\n\n* commit \u0027824de4b3e378a5ef41de1704ee3f50a49d408a66\u0027:\n  Added missing implementation for NdefRecord.\n"
    },
    {
      "commit": "49889d4ffc7233979d53896421d50cf6cacc1f7c",
      "tree": "32507e36a53489e8074cbd6e00fbf17de958db3b",
      "parents": [
        "b0f67c9d062a95874bca4ba266a9ef6b7bf2182d",
        "c9cff071af175e559339c54876136612ac5eda3b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Oct 19 10:44:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 10:44:52 2010 -0700"
      },
      "message": "am c9cff071: am b4157a43: Merge \"StrictMode: fix docs to actually compile and add a utility method.\" into gingerbread\n\nMerge commit \u0027c9cff071af175e559339c54876136612ac5eda3b\u0027\n\n* commit \u0027c9cff071af175e559339c54876136612ac5eda3b\u0027:\n  StrictMode: fix docs to actually compile and add a utility method.\n"
    },
    {
      "commit": "4fa1a221b466d6da6c68150b38cd17b085ab5e26",
      "tree": "ab0cb2651b2e1781c8773103de2232857200715f",
      "parents": [
        "32a95514ae4e694a94cc1bacacc474b994916f91"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 18 13:10:49 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Oct 19 08:16:49 2010 -0700"
      },
      "message": "Remove public resource padding.\n\nChange-Id: Id4f28ecfb7a87267c256571ed5f98652730b44fc\n"
    },
    {
      "commit": "824de4b3e378a5ef41de1704ee3f50a49d408a66",
      "tree": "70c4485708d0020c3456211d38a3209025263b61",
      "parents": [
        "494ec19efb8e7a600079966e52db6cd7a027ffd6",
        "dd7341f775ca4d86091f4106d6dfef9214073a7d"
      ],
      "author": {
        "name": "Sylvain Fonteneau",
        "email": "sylvain.fonteneau@trusted-logic.com",
        "time": "Mon Oct 18 19:13:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 19:13:29 2010 -0700"
      },
      "message": "am dd7341f7: Added missing implementation for NdefRecord.\n\nMerge commit \u0027dd7341f775ca4d86091f4106d6dfef9214073a7d\u0027 into gingerbread-plus-aosp\n\n* commit \u0027dd7341f775ca4d86091f4106d6dfef9214073a7d\u0027:\n  Added missing implementation for NdefRecord.\n"
    },
    {
      "commit": "dd7341f775ca4d86091f4106d6dfef9214073a7d",
      "tree": "db9c4a8ecf76071f21cb7ff76607e855785b0e35",
      "parents": [
        "453c6d449b6469dde9aae6044dedfe3be0da76c5"
      ],
      "author": {
        "name": "Sylvain Fonteneau",
        "email": "sylvain.fonteneau@trusted-logic.com",
        "time": "Sun Oct 17 15:32:33 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 19:09:26 2010 -0700"
      },
      "message": "Added missing implementation for NdefRecord.\n\nImplemented constructor using a byte array to parse.\nAdded missing exception in method declaration, leading to update api/current.xml\n\nChange-Id: I2660484aef1225e90c2f32a572041a2c3aecf288\n"
    },
    {
      "commit": "69a19fdbff6aff8875d87e27c9b1047d0a3f44c1",
      "tree": "35f95af916a26b528fdb2abee1904c542409c2a5",
      "parents": [
        "c9cff071af175e559339c54876136612ac5eda3b",
        "3d2818d34feab5a62dfb33452f99f2d3ca667cc8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 18 18:41:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 18:41:12 2010 -0700"
      },
      "message": "am 3d2818d3: Remove public resource padding.\n\nMerge commit \u00273d2818d34feab5a62dfb33452f99f2d3ca667cc8\u0027 into gingerbread-plus-aosp\n\n* commit \u00273d2818d34feab5a62dfb33452f99f2d3ca667cc8\u0027:\n  Remove public resource padding.\n"
    },
    {
      "commit": "3d2818d34feab5a62dfb33452f99f2d3ca667cc8",
      "tree": "ebf2b81bb72b6b7ff11d39f518f852f324449c68",
      "parents": [
        "b4157a432cf791906d5b2f6d187f1767357a51bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 18 13:10:49 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 18 18:20:02 2010 -0700"
      },
      "message": "Remove public resource padding.\n\nChange-Id: I8a530a23284a1f2515b1340a1c5e5ed3a0b90780\n"
    },
    {
      "commit": "c9cff071af175e559339c54876136612ac5eda3b",
      "tree": "a04fd46cb72d04d064578048ab105bac0205825c",
      "parents": [
        "b65058a45544ba4b9ff5dbad3cc306d86e9554e5",
        "b4157a432cf791906d5b2f6d187f1767357a51bb"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 18 17:04:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 17:04:55 2010 -0700"
      },
      "message": "am b4157a43: Merge \"StrictMode: fix docs to actually compile and add a utility method.\" into gingerbread\n\nMerge commit \u0027b4157a432cf791906d5b2f6d187f1767357a51bb\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b4157a432cf791906d5b2f6d187f1767357a51bb\u0027:\n  StrictMode: fix docs to actually compile and add a utility method.\n"
    },
    {
      "commit": "54770496d393385408cfba3198f87e139712ed94",
      "tree": "2d43ef5be3b8629804ae56ac154ad96b68f7e687",
      "parents": [
        "c5469bd67abb13321ed0e1a8a08d0f8478fd4c43",
        "6b09a90a818137de52a0c7325339849ccf584b9e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 16:42:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 16:42:18 2010 -0700"
      },
      "message": "am 6b09a90a: am e47150e9: Fix up NFC permissions.\n\nMerge commit \u00276b09a90a818137de52a0c7325339849ccf584b9e\u0027\n\n* commit \u00276b09a90a818137de52a0c7325339849ccf584b9e\u0027:\n  Fix up NFC permissions.\n"
    },
    {
      "commit": "62a1eb58bfafe8744d7a65f651e11b88fdb0938d",
      "tree": "37b1a0042cb480e802a5be113c694953d9a29fbd",
      "parents": [
        "2b51fcb9ac80c7c42be8f53763773414ba9ca4fa"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 18 14:32:59 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 18 16:36:39 2010 -0700"
      },
      "message": "StrictMode: fix docs to actually compile and add a utility method.\n\nYes, this is a last minute public API change, but I\u0027m already getting\na lot of inquiries about how to use StrictMode on a GB device but\ntargetting Eclair or Froyo.  I\u0027d like a simple answer involving\nreflection, but the current API is too painful to use via reflection.\n\nI imagine this will be a common request, and it\u0027s much easier for us\nto write a little blog post about trying it out if there\u0027s an easy way\nto use it with reflection.\n\nChange-Id: I1f21aaac7e61e5e90d1e4facc0c787d8daf089b1\n"
    },
    {
      "commit": "027610a76e67f39e3a435d68ec785a1cf09dcf9c",
      "tree": "3de83809df6336bef734be54274bda7eefb3f3d2",
      "parents": [
        "afb05db237c2d614ddde77f033e0ac1856f17170",
        "964eb4389bb62e4e9e7f65ef7b9307e052053679"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 18 13:03:35 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 18 13:03:35 2010 -0700"
      },
      "message": "resolved conflicts for merge of 964eb438 to master\n\nChange-Id: I0c54d6b88356d8734d7f51234b0114434414502e\n"
    },
    {
      "commit": "0cd8122f7538a4c50c9f3270eff44604828f560a",
      "tree": "cec04c5459cf59f74268d767d89f03d59ddfaf41",
      "parents": [
        "65202242defad10eb33a3b3277af49eb238a3f33"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 18 11:11:19 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 18 11:11:19 2010 -0700"
      },
      "message": "Hide ButtonGroup - not ready for public consumption.\n\nChange-Id: I9afeac135c1d7a6115789ed2a2f43ad9aa9d4fcf\n"
    },
    {
      "commit": "6b09a90a818137de52a0c7325339849ccf584b9e",
      "tree": "4c49fb7abab08772e9cb6f4652ad620361e13d15",
      "parents": [
        "774b943fc6baa7d3e2880382d4dc7ab085d54b65",
        "e47150e933e6f610546f57183477f324566e521e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 10:26:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 10:26:12 2010 -0700"
      },
      "message": "am e47150e9: Fix up NFC permissions.\n\nMerge commit \u0027e47150e933e6f610546f57183477f324566e521e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e47150e933e6f610546f57183477f324566e521e\u0027:\n  Fix up NFC permissions.\n"
    },
    {
      "commit": "e47150e933e6f610546f57183477f324566e521e",
      "tree": "5a415c5b9fdae883bf4dc507c516dd52ce20db67",
      "parents": [
        "d1f7f4a68375f879671d300510f23d3ee78a500e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Sun Oct 17 19:05:47 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 10:04:40 2010 -0700"
      },
      "message": "Fix up NFC permissions.\n\nThe initial (vendor) implementation had 4 perms, replace with 1.\n\nRequires no permissions:\n- Viewing UID, type of discovered tags and cards.\n- Viewing the NDEF message contents of NDEF formatted tags and cards.\n\nRequires android.permission.NFC\n- Get/Set the local tag \"MyTag\"\n- Creating or using a RawTagConnection (transceive())\n- Creating or using a NdefTagConnection (write()/read())\n\nChange-Id: I1b585c7d91738bed6261277061a48cf7c939482a\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "964eb4389bb62e4e9e7f65ef7b9307e052053679",
      "tree": "c1d32d034b1f976d06d61d3adf9c167964367e7e",
      "parents": [
        "157fa0aca55b8e4747f00d2b729e5e361dea7ddb",
        "424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 16 16:51:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 16 16:51:13 2010 -0700"
      },
      "message": "am 42499170: Implement issue #3094621 and #3094609 - wipe sd card\n\nMerge commit \u0027424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0\u0027:\n  Implement issue #3094621 and #3094609 - wipe sd card\n"
    },
    {
      "commit": "424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0",
      "tree": "e2961682902ad3bac3966dac644186470bbdd21b",
      "parents": [
        "77c011ba75ee1403c9b7626e4676cd3c8746605b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 15 18:45:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 16 16:32:15 2010 -0700"
      },
      "message": "Implement issue #3094621 and #3094609 - wipe sd card\n\n3094621: add \"wipe sd card\" option to factory data reset\n3094609: collapse unmount/format into one command\n\nAlso since we have decided that it is important to consider\nthe Crespo storage as internal storage, DevicePolicyManager\ngets a new API to be able to wipe it.  (No big deal, since\nall of the work for this is now done in the implementation\nof the new UI.)\n\nChange-Id: I32a77c410f710a87dcdcbf6586c09bd2e48a8807\n"
    },
    {
      "commit": "84321b2bed38753665adfda0ac14a508173362e0",
      "tree": "77275ba8fb65e84f5d5c5dfc5d674e22b6d703d1",
      "parents": [
        "e2cb1f005350cf1116d49dbe9456a2cafb1ec8dc"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Oct 14 17:54:40 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 15 18:30:22 2010 -0700"
      },
      "message": "Change AlertDialogs to use button groups.\n\nDitch dumb prototype implementation of ButtonGroup.\n\nChange-Id: I803ef51b0bf4059936ddeb9145ca37ee53cd24b9\n"
    },
    {
      "commit": "2f4f756ab4872175f21202d4efaba2da0531b11a",
      "tree": "74141e0d64776c3352c97c3c8567d7220acc3206",
      "parents": [
        "3b2b354ec1ba070eae13391d004d97a3e1403050"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 17:11:51 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 17:11:51 2010 -0700"
      },
      "message": "Fix a prior bad rebase of some new API.\n\nChange-Id: I3f4468d280c937793db4bfa000103c7858370b9e\n"
    },
    {
      "commit": "497a92cc5ba2176b8a8484b0a7da040eac0e887b",
      "tree": "2d9bd7a2ef24754fa83a36f440ee45fd8a32b9fb",
      "parents": [
        "cd9afc3722a1edebf0e6f7172627930052c81ce4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:55:08 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 16:00:07 2010 -0700"
      },
      "message": "Add keycodes and meta-key modifiers to support external keyboards.\n\nAdded new key maps for external keyboards.  These maps are intended to\nbe shared across devices by inheriting the \"keyboards.mk\" product\nmakefile as part of the device\u0027s product definition.\n\nOne of the trickier changes here was to unwind some code in\nMetaKeyKeyListener that assumed that only the low 8 bits of the meta key\nstate were actually used.  The new code abandons bitshifts in favor\nof simple conditionals that are probably easier to read anyways.\nThe special meta key state constants used by MetaKeyKeyListener\nare now (@hide) defined in KeyEvent now so as to make it clearer that they\nshare the same code space even if those codes are not valid for KeyEvents.\n\nThe EventHub now takes care of detecting the appropriate key layout\nmap and key character map when the device is added and sets system\nproperties accordingly.  This avoids having duplicate code in\nKeyCharacterMap to probe for the appropriate key character map\nalthough the current probing mechanism has been preserved for legacy\nreasons just in case.\n\nAdded support for tracking caps lock, num lock and scroll lock and\nturning their corresponding LEDs on and off as needed.\n\nThe key character map format will need to be updated to correctly support\nPC style external keyboard semantics related to modifier keys.\nThat will come in a later change so caps lock doesn\u0027t actually do\nanything right now except turn the shiny LEDs on and off...\n\nAdded a list of symbolic key names to KeyEvent and improved the toString()\noutput for debug diagnosis.  Having this list in a central place in the\nframework also allows us to remove it from Monkey so there is one less\nthing to maintain when we add new keycodes.\n\nBug: 2912307\nChange-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4\n"
    },
    {
      "commit": "9ca6d71c52fcfab730b65bb01ff6bd47232c8599",
      "tree": "8b29badb4e0c8fcd5aaacde4b8ee7ae35553444e",
      "parents": [
        "72cd64b20ed7118a6c0ed12f4924659abb5dcd0d",
        "c6bf3eaab40f90e4e4db4dea9fdca8740b00606a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 15 11:20:42 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 15 11:20:42 2010 -0700"
      },
      "message": "resolved conflicts for merge of c6bf3eaa to master\n\nChange-Id: I6421faf52c160a81b03c63b91f1aedfe0f151cac\n"
    },
    {
      "commit": "f36c6db108364dea89b1e3c27c0b15103e560d87",
      "tree": "0325956dc33396bde5868fffa5753ec47e5be212",
      "parents": [
        "639017920f925ee88de06f7ffabc2cb5d97a272b"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 14 19:16:35 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Oct 14 19:16:35 2010 -0700"
      },
      "message": "NFC API revision round 2.\n\n- Add the second half of the new NFC API: NfcAdapter, Tag, NdefTag,\n  RawTagConnection, NdefTagConnection.\n- Add implementations for all of the new NFC API.\n\nChange-Id: I8da9fd1d2971ed2c8b76f2a93f207fa9e305b0f6\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n\nConflicts:\n\n\tAndroid.mk\n\tCleanSpec.mk\n\tcore/java/android/app/ContextImpl.java\n"
    },
    {
      "commit": "6b3912865c1530a6e06dd189dd95dc5be102b4de",
      "tree": "7a8a2983458829eb493243623f1922c815ca9f45",
      "parents": [
        "6eb4122c2d886f87edc2c56f40bedd80d137d27e"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 14 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 14 16:43:39 2010 -0700"
      },
      "message": "Drag thumbnail fixes / improvements\n\n* Properly wipe the thumbnail canvas before handing it to the app for\n  its contents to be drawn\n\n* Provide a getView() method in DragThumbnailBuilder that allows\n  clients or subclasses to get at the associated view.  This is\n  especially for clients that want to draw entire (sub)layouts as\n  the drag thumbnail, by overriding onDrawThumbnail(Canvas c)\n  like this:\n\n  // Override specifically for drawing a whole ViewGroup into\n  // the drag thumbnail canvas\n  @Override\n  public void onDrawThumbnail(Canvas c) {\n      getView().dispatchDraw(c);\n  }\n\nChange-Id: Ib43ddd7cf1d44faf2d7f6ba79f102bc3c7f14596\n"
    },
    {
      "commit": "a32dcf7f724137842b9b8d72add4e690fac74984",
      "tree": "bb366de1b38df0f88b8016592d9162c5e03c915b",
      "parents": [
        "2794eb3b02e2404d453d3ad22a8a85a138130a07"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 14 12:13:50 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 14 14:41:07 2010 -0700"
      },
      "message": "Actually draw the drag thumbnail\n\nNow sets the layer and thumbnail dimensions correctly.  Also removed the\nleftover bits of the now-replaced thumbnail measurement/drawing mechanism.\n\nFixes bug 3077339\n\nChange-Id: I02983648e0a7ce2ce5fee10825f744e20a3a5b8d\n"
    },
    {
      "commit": "2794eb3b02e2404d453d3ad22a8a85a138130a07",
      "tree": "91fa1c08761921ce2976696234011c8d7f609161",
      "parents": [
        "bf5b247fa120b3f8ee0331d00be25b1cf74dd3f3"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 12 16:29:28 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Oct 14 13:13:34 2010 -0700"
      },
      "message": "Remove generics from Animator APIs\n\nChange the manner of constructing Animator-related objects from constructors\nvia generics to factory methods with type-specific method names. Should\nimprove the proliferation of warnings due to generics issues and make the\ncode more readable (less irrelevant angle brackets Floating around).\n\nChange-Id: Ib59a7dd72a95d438022e409ddeac48853082b943\n"
    },
    {
      "commit": "83d6e8213230fb0805aa019d266842253baeb114",
      "tree": "2d3b230eee1a9645c8f2c93e5e32e3ea906d9b20",
      "parents": [
        "70ea25fa8ac1f2005ec4e69023e05af4a8d9bd4a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 14 10:13:53 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 14 10:13:53 2010 -0700"
      },
      "message": "Revert \"Remove generics from Animator APIs\"\n\nThis reverts commit 41f041d9986f8a5d45b6cb0b86e881c81a412168.\n"
    },
    {
      "commit": "41f041d9986f8a5d45b6cb0b86e881c81a412168",
      "tree": "fb025a09f6b10e407321cc063bfead9646da0b45",
      "parents": [
        "7864a82b1e6abf7a4b20ff1bc89e90c312e6a93e"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 12 16:29:28 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Oct 14 08:39:00 2010 -0700"
      },
      "message": "Remove generics from Animator APIs\n\nChange the manner of constructing Animator-related objects from constructors\nvia generics to factory methods with type-specific method names. Should\nimprove the proliferation of warnings due to generics issues and make the\ncode more readable (less irrelevant angle brackets Floating around).\n\nChange-Id: I7c1776b15f3c9f245c09fb7de6dc005fdba58fe2\n"
    },
    {
      "commit": "c6bf3eaab40f90e4e4db4dea9fdca8740b00606a",
      "tree": "829218dc829d835568bc629325470ea40ee03800",
      "parents": [
        "bbb90d134a3f3a8561a6b3315b6944be939b3778",
        "51679ca89293ef33275b9681018c09be3948bf1c"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Oct 13 16:52:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 16:52:57 2010 -0700"
      },
      "message": "am 51679ca8: Merge \"bug:3069735 in Download UI app, handle deletes correctly\" into gingerbread\n\nMerge commit \u002751679ca89293ef33275b9681018c09be3948bf1c\u0027 into gingerbread-plus-aosp\n\n* commit \u002751679ca89293ef33275b9681018c09be3948bf1c\u0027:\n  bug:3069735 in Download UI app, handle deletes correctly\n"
    },
    {
      "commit": "216fa22791889774b83977341632c4570dcec35d",
      "tree": "edc618a371b3f9da3a551096eba578cad79b5d3b",
      "parents": [
        "5c62ab0af9dadc3bccdad7b01c3ae17266f0b0e1"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Oct 12 23:08:13 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Oct 13 16:18:44 2010 -0700"
      },
      "message": "bug:3069735 in Download UI app, handle deletes correctly\n\ngingerbread.\n(for more detailed comments, please see the dependent CL\nChange-Id: Ib90eb9e647f543312c865d3bbf9a06fb867a648b )\n\n2 changes in this CL.\n1. add 2 new columns to downloads table in downloads.db:\n    mediaprovider_uri \u003d downloaded file\u0027s content_uri in mediaprovider db\n    deleted \u003d flag is set to true if a file is to be deleted\n2. download UI app shows only those files whose \u0027deleted\u0027 flag is not set\n\nChange-Id: I47c5f72b0a0b354fac3abe3a97752130b8189794\n"
    },
    {
      "commit": "322171b333a1c796fcc1428a96ea1d854a3881fa",
      "tree": "40de21cf1438a7511632971fa74bf4eb9188b254",
      "parents": [
        "0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639"
      ],
      "author": {
        "name": "Erik",
        "email": "roboerik@android.com",
        "time": "Wed Oct 13 15:46:00 2010 -0700"
      },
      "committer": {
        "name": "Erik",
        "email": "roboerik@android.com",
        "time": "Wed Oct 13 15:53:40 2010 -0700"
      },
      "message": "Adds a way to scroll to a position in a given duration\n\nAdds a method to AbsListView to allow for a smooth scroll to an\noffset position with an app defined duration.\n\nChange-Id: I8cd690597cda078b25bce9aeba683be030d6b155\n"
    },
    {
      "commit": "0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639",
      "tree": "22ff1466c777067596537ccb085cd64ed0bc3bc5",
      "parents": [
        "0726fd9e835579019f6b23ab50d7b45401e11dbe",
        "8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:43:35 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:43:51 2010 -0700"
      },
      "message": "resolved conflicts for merge of 8bb7a1df to master\n\nChange-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9\n"
    },
    {
      "commit": "d8404b23739b135060ab9a04317a9f8b990cf8ca",
      "tree": "59a8cd89076dccdd8cbab1f83d4c3def42a95a73",
      "parents": [
        "79c92540877d6683290511617aac8e3108b68ad1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Oct 13 14:26:41 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Oct 13 14:35:19 2010 -0700"
      },
      "message": "Allow icon+text action buttons\n\nChange-Id: I96d1f3958de3ac13cadbab108b87d6bae96e9473\n"
    },
    {
      "commit": "6066da89a464d2bd5f002f5e687d40876ed5ce21",
      "tree": "161475c32de03e01ae57bd003f3196851f394adc",
      "parents": [
        "dfd37a4748845273d929f24ae5d68032d19f6216",
        "590b73bc5b8e5f7b59bff1d9264a52388a5162e6"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Oct 12 19:00:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 12 19:00:54 2010 -0700"
      },
      "message": "am 590b73bc: NFC API revision round 2.\n\nMerge commit \u0027590b73bc5b8e5f7b59bff1d9264a52388a5162e6\u0027 into gingerbread-plus-aosp\n\n* commit \u0027590b73bc5b8e5f7b59bff1d9264a52388a5162e6\u0027:\n  NFC API revision round 2.\n"
    },
    {
      "commit": "78996c9376ec8568e2bf9fbdee07f618936a7667",
      "tree": "bc4b9a35945887ed74a3f295a7088f96ff0b0ab3",
      "parents": [
        "4388ecbf94074ef95b915bc791b69effcb061f69"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Oct 12 16:01:47 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Oct 12 18:58:46 2010 -0700"
      },
      "message": "Changed Cut/Copy/Paste assets.\n\nNew assets, in dark/light version.\n\nMade public attributes of the Theme, so that they can be customized.\n\nSelect_all was not included in that change. It is supposed to be represented\nas text instead of an icon. Waiting for a CL that enables this feature.\n\nChange-Id: Icc912b2eb582295c60c0a409760d2c3d65989fc6\n"
    },
    {
      "commit": "590b73bc5b8e5f7b59bff1d9264a52388a5162e6",
      "tree": "113139d8fd0d2b8a0e319e9f766e180a0f1e084f",
      "parents": [
        "45738f6700cff689eacda7c8192b76939ba20591"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Oct 12 13:00:50 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Oct 12 18:37:26 2010 -0700"
      },
      "message": "NFC API revision round 2.\n\n- Add the second half of the new NFC API: NfcAdapter, Tag, NdefTag,\n  RawTagConnection, NdefTagConnection.\n- Add implementations for all of the new NFC API.\n\nChange-Id: I8da9fd1d2971ed2c8b76f2a93f207fa9e305b0f6\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "21317d1ddaa7c7204dfea9b38f87c6991f4a41af",
      "tree": "64915e90522bd53e07cb4419aac8010411520871",
      "parents": [
        "7031e7a60d916ff7f0b8d848ffbf4ad7252b388b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 13:32:31 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 13:34:12 2010 -0700"
      },
      "message": "Report scroll state change after cancelling the fling runnable.\n\nBug #3089972\n\nThis change also adds the ability to control the ListView\u0027s fling\nvelocity by introducing a new scale factor.\n\nChange-Id: I4030d3fe3688f72b2b8250ac85bbf000e9adc883\n"
    },
    {
      "commit": "f16888f1e849b0bc0b9c17e5f833c4e2cd54c382",
      "tree": "ce3592f6d6e087801b9a67db8d704d0ff9f151db",
      "parents": [
        "425c305a535d8c5a9082685523ba46d06199e543"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 11 17:05:29 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 12 11:57:45 2010 -0700"
      },
      "message": "Holo fixes\n\n* Fix up ButtonGroup to behave better.\n* Fix bad states with holo list selectors.\n* Clean up action mode UI components.\n* Change action mode UI to use a text button instead of \u0027X\u0027 to dismiss.\n* Fixed spinner dropdowns for Holo.Light\n\nChange-Id: Ifc092bd549ffb539d6a3b2ddd95ebd4b114a441f\n"
    }
  ],
  "next": "4bede9e425875542976a422222510fa4056a8339"
}
