)]}'
{
  "log": [
    {
      "commit": "05434e9fa7a6ec844611bbd154c4a3eceafec538",
      "tree": "b3295ca68383d12e9fea10756b08108d900c98d8",
      "parents": [
        "d0a8f54a5bcd6a10eaaa88d888c3cbb83869532c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 16 15:40:56 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 16 15:40:56 2010 -0800"
      },
      "message": "Final API 9.  Really!  Honestly!  I hope.\n\nChange-Id: I2ee5844587b5745556d621e4b9ef0efa3ec5edcf\n"
    },
    {
      "commit": "28c742573ccaeb55c16bc02fb25fdd86b8d1f76a",
      "tree": "04b5c7321183c1353495fa294c2f605256762c8c",
      "parents": [
        "9eb48bb2b1627ef8182d260f8b3fd080c57bed4d"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Nov 04 14:09:18 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Nov 09 10:10:11 2010 -0800"
      },
      "message": "Add @Deprecated to match @deprecated where it\u0027s missing.\n\nChange-Id: Ice95022671968386a601f32df7850f9baa1d2dd0\n"
    },
    {
      "commit": "a48b70fa8ff6363d1e5282be70f6be12bc0688dc",
      "tree": "05e0932b8491b3aaf2bc8d44d7222ae15ccc59ab",
      "parents": [
        "17ae359721ba74399e785369346509b776999d1f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Nov 09 01:55:44 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Nov 09 02:20:02 2010 +0800"
      },
      "message": "Camera.open() should only return back-facing camera.\n\nAlso update current.xml and 9.xml. setRotationHint was also\nmissing from 9.xml.\nbug:3173302\n\nChange-Id: Idd3f7417a4d35c65910e9b08a1bfd157b91e1baa\n"
    },
    {
      "commit": "17ae359721ba74399e785369346509b776999d1f",
      "tree": "11c30987b79659d1c25d867a473b8997c61ea7d4",
      "parents": [
        "07b88fefd4e6386ad3265da47d008b40e6a58891"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Nov 09 01:34:05 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Nov 09 01:34:05 2010 +0800"
      },
      "message": "Revert \"android.hardware.Camera.open only returns back-facing camera.\"\n\nThis reverts commit 07b88fefd4e6386ad3265da47d008b40e6a58891.\n"
    },
    {
      "commit": "07b88fefd4e6386ad3265da47d008b40e6a58891",
      "tree": "289956f94c54708c3b10b6767f189cdee7f8dc57",
      "parents": [
        "31dc911aee2b50752c0eb7785176075cdaed139c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Nov 08 11:10:07 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Nov 08 12:38:48 2010 +0800"
      },
      "message": "android.hardware.Camera.open only returns back-facing camera.\n\nbug:3173302\nChange-Id: I813e41b36c776246f151b66ef289cdf13a05dc2c\n"
    },
    {
      "commit": "ad8f19c6b3167cadc90a35f4d795b07aa2f04ffa",
      "tree": "b7f7f7f125d1843b8a22040d5c6d13547103720f",
      "parents": [
        "ce22d608733953e367a590efd9c7656a68ffc24d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 04 19:11:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 15:53:00 2010 -0700"
      },
      "message": "Add a new public API to support recording rotated videos\n\no changed a comment about the rotation orientation from counter-clockwise\n  to clockwise.\n\nChange-Id: I16ad73ce1a55cc627d9a516e23d1325753b3037e\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": "70a2c15ecfd4e8cd8581699d5df8a219c7d5cdb1",
      "tree": "312ee406a262f67f686d0d9e4296a4641760977b",
      "parents": [
        "38fd394815a992c8874f73389e8ca849782e5fcd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 27 12:31:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 29 18:50:47 2010 -0700"
      },
      "message": "Final SDK API 9.  DO NOT MERGE.\n\nChange-Id: I3e2fc2ebc52eecb26ac3a6bb466447f378fb5de6\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c",
      "tree": "c59adbe6d27cf236d6920f689dd237a115fef3f9",
      "parents": [
        "ce2f1909c74a1b90995f06a865d21260b062300b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 08 09:21:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:22:03 2010 -0700"
      },
      "message": "OBB: rearrange to be entirely asynchronous\n\nRearrange structure of MountService handling of OBBs to be entirely\nasynchronous so we don\u0027t rely on locking as much. We still need the\nlocking to support dumpsys which has been improved to output all the\ndata structures for OBBs.\n\nAdded more tests to cover more of the error return codes.\n\nOh and fix a logic inversion bug.\n\nChange-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9\n"
    },
    {
      "commit": "64c48b8842ec9f62a48fdd74b669728c5f2408a4",
      "tree": "fd2686cf714462851fdea1676ffb6aac275add1c",
      "parents": [
        "9934fa77efab362729d0d3cb8aa0bdcd31d63ead"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Oct 07 17:53:52 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Oct 08 14:14:07 2010 -0700"
      },
      "message": "Update DownloadManager API to support bulk actions.\n\nThis includes querying by ID, removing and restarting downloads (the\nlatter is not a public API).  The methods all use varargs to support\nthis without undue syntactic pain.\n\nChange-Id: I768005c539d2395cf26587d3a8c425cd01ad9cd2\n"
    },
    {
      "commit": "cc792c4149b7e768fd894c9b268d815a90a60bd0",
      "tree": "18382af06c7d100281361bbb1b5164f95b9f25eb",
      "parents": [
        "56e9b8ebb20a992a80696f933a2225544670ef8b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 08 09:50:30 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 08 10:17:03 2010 -0700"
      },
      "message": "DropBoxManager.Entry implements Closeable\n\nChange-Id: I61716c06b92fa1b9b5b271b5805550bdb2d51b46\n"
    },
    {
      "commit": "78d688369a2240009d3bbe4126996a973b2e2fe2",
      "tree": "409d53a06e612867fcef6673a89def6a6b5e768b",
      "parents": [
        "eb43f1b2eedbcfe0e8ac34452a43eaaef5dde513"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 07 01:12:46 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 07 18:48:22 2010 -0700"
      },
      "message": "Implement tracking of package install times.\n\nProvides information about the time at which the package was\nfirst installed and the time it was last updated.\n\nChange-Id: Icb43f77b5b669a1ce685e8913046b8be386b6175\n"
    },
    {
      "commit": "08faac3c26e12863858e1534985dd950193f755f",
      "tree": "4991aef6ac73e0d1de22e35817d10b3c64b17be0",
      "parents": [
        "26cb01e880af5f23a58e4336facd30fa7d52581e"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 04:11:32 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Oct 08 08:31:42 2010 +0800"
      },
      "message": "Unhide SIP API.\n\nChange-Id: I09468e3149a242a3b1e085ad220eb74f84ac6c68\n"
    },
    {
      "commit": "737e8fe2c7ce167bc68ad779160488007a5e0b1d",
      "tree": "ddd2b3fbb7fb11c627aad1883e3f8cee1756dc6d",
      "parents": [
        "930d6c3cd5ad387489eb1d35a38beeafe54166b6"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 05 14:37:38 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 05 15:22:07 2010 -0700"
      },
      "message": "DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll\n\nChange-Id: If34c8ea4e15697420adad0bc404f3c278efd7c1b\n"
    },
    {
      "commit": "388c14c294fe15765b67b8a21964797279bd99b3",
      "tree": "798357bebe7e35533a017baa63e7f86cb84372af",
      "parents": [
        "15f107b151deff1f25f1255bdbcb630ed576ac8d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 04 18:29:05 2010 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 04 18:29:05 2010 -0700"
      },
      "message": "Manually revert a single-line error inserted by OpenJDK.\n\nIntroduced by:\n  https://android-git.corp.google.com/g/71675\n\nChange-Id: I37722a8cc6bd247fe45651c2b680c2f399ccc5ac\n"
    },
    {
      "commit": "dc993791fc3cf7a270921f7419b0c6b875bbd92b",
      "tree": "0cb13aaf5e9afc0e0f339c97746072893605aad7",
      "parents": [
        "e91398d134256cf9c39677f9b1cd0279b17a6d88"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 04 11:17:25 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 04 17:56:23 2010 -0700"
      },
      "message": "New API stubs: NdefMessage and NdefRecord.\n\nNDEF Messages and NDEF Record data classes.\n\nChange-Id: I9b7114773281b0eb9680f595c95ac79943d2903b\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "e5439f228f603f60febe058f633d91d5af2fff76",
      "tree": "54a692e6d57f5b93efb89aab2d102701876689f4",
      "parents": [
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 16:53:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:01:39 2010 -0700"
      },
      "message": "Fix issue #3041660: Camera image flips upside down when rotating device\n\nApps now must explicitly opt in to having their rotation changed while\nforcing landscape mode.  Also add some new orientation constants for other\nthings apps may want to do.\n\nChange-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd\n"
    },
    {
      "commit": "407f625a9b8e356e765a5ec587c443af1f3aadb5",
      "tree": "f2cb0a3b75327c8ffee2e1d0f351d35431305f24",
      "parents": [
        "eb6e22f29ded58e7e51702c34878fd01e20ff802"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 11:31:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 13:58:56 2010 -0700"
      },
      "message": "Add new API to find out whether external storage is removable.\n\nThis is implemented based on whether we are using the \"nosdcard\"\nproduct.  Needed to tweak aapt to allow use of the product attribute\nwith other resource definition tags besides strings.\n\nChange-Id: I49922d23b52a34183a8e2f4d2515adaf1fc9149a\n"
    },
    {
      "commit": "c3808b5dc7d5873d04e8a0a247b179b2757764ba",
      "tree": "9c7018564435061ac4b52c8aba232e9901f56bd0",
      "parents": [
        "4fc04f160f5ad99ce618084c689b239a2644deca"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 04 10:06:59 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 04 11:55:38 2010 -0700"
      },
      "message": "Fix bug 3058324\n\nPopupWindow now responds to the style attribute popupAnimationStyle\ninstead of windowAnimationStyle. The latter was being overridden with\nundesired values. Animation.PopupWindow style added as a special\ndefault sentinel value, which switches animation styles based on\nwhether the window is showing above or below an anchor.\n\nChange-Id: Id7cc81f089b6053f2d3a495b1046002548ecf125\n"
    },
    {
      "commit": "32e60c7942eeba920ec5c27b372ec0899fd75a20",
      "tree": "ed5d3bc9fe7f029ba7467fe5188e5d2068d48c02",
      "parents": [
        "f7681f84918c27f6a626681ce37ed2a236c44e82"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Sep 30 16:22:36 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 01 12:54:10 2010 -0700"
      },
      "message": "Update StrictMode\u0027s public API.\n\nThis makes it more future-proof and maintainable, not exposing the\ninternal bitpacking state.\n\nThe implementation is unchanged (the policy is still just an int we pass\naround).\n\nAlso starts to introduce VmPolicy, for things which are process-wide,\nnot per-thread.  As an initial user, make SQLite\u0027s Cursor finalization\nleak warnings use StrictMode.\n\nChange-Id: Idedfba4e965716f5089a52036421460b1f383725\n"
    },
    {
      "commit": "f7681f84918c27f6a626681ce37ed2a236c44e82",
      "tree": "f5240cc798f23a57561f60e8a7c1be3bf143ba7e",
      "parents": [
        "e619a9da44e4c00f9034917aef67f86da0bc207f"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Sep 30 16:31:38 2010 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Fri Oct 01 12:16:38 2010 -0700"
      },
      "message": "Do not merge.\n\nFix 3052285 by not publishing the BitmapRegionDecoder API until the honeycomb release.\n\nBug: 3052285\nChange-Id: Ie339e414c1a5581e1d38684621e0e97162616977\n"
    },
    {
      "commit": "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94",
      "tree": "84b4d47ada068bda31db1b024781e6a5bfb7a585",
      "parents": [
        "063d02bb03a9260314b529490866528433148738"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 14:18:51 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:24:34 2010 -0700"
      },
      "message": "Remove OBBs from state list when volume unmounted\n\nDon\u0027t keep tracking OBBs when the volume they\u0027re located on goes away.\nRemove them from our state tracking maps and then send a notification to\nany listener that is still around.\n\nAdd a dump handler to MountService so the state of the mount lists\ncan be inspected.\n\nChange the API to just make a callback directly to the change listener\nwhen mount is called when it\u0027s already mounted or unmount called when\nit\u0027s already unmounted.\n\nChange-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc\n"
    },
    {
      "commit": "3e8c1d3a467bab889de7f92379be1f43d9c2d81e",
      "tree": "14e845226e29aa69b4f980e9dc10ff1c0755fffe",
      "parents": [
        "71e2486209856d33d027389be2bd4924a03c4f86"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Sep 29 17:03:32 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Sep 29 17:34:40 2010 -0700"
      },
      "message": "Have download manager give more details when downloads are paused\n\nThis change introduces more detailed reporting of why downloads are paused in\nthe download manager.\n\nFirst, it adds new, more detailed status constants in android.provider.Downloads\nfor when a download is paused, in place of the old catch-all\nSTATUS_RUNNING_PAUSED.  I\u0027ve eliminated some dead code there as well to ease the\nchange.\n\nSecond, in the public API, it changes COLUMN_ERROR_CODE to COLUMN_REASON, which\nnow reports useful info for STATUS_PAUSED in addition to STATUS_FAILED.  It adds\nsome new PAUSED_* constants for reason values when a download is paused, and\nadds code to generate these values appropriately.\n\nChange-Id: Ie617d1c2c59357375e19466086923ace5e2fb122\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "31fd85f39b554e09b2e6c1c2ccf5c186859880fa",
      "tree": "c81b37a465629ee926adaa57bc3a67639adc15e6",
      "parents": [
        "8d7057df401af668335c38273bc62872e4dbf538"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Sep 27 16:32:39 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Sep 27 17:12:47 2010 -0700"
      },
      "message": "Move DownloadManager to android.app (DO NOT MERGE)\n\nChanging package at hackbod\u0027s request.  I\u0027ll merge this manually, as\nthere\u0027s some additional master-only code that will be to be\nsimultaneously changed.\n\nChange-Id: Ibb629ec1c31807fbee31e0193c6a941d04be0117\n"
    },
    {
      "commit": "44e8ff9924db43ee2470d868ce31b1c039c99b35",
      "tree": "74f2b99762493f909e8a3086f7c039a42a179f73",
      "parents": [
        "dc36da514832484f61b432291c6f5dca9f2c30bd"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Sep 27 14:36:52 2010 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Sep 27 15:04:43 2010 -0700"
      },
      "message": "Adding a new intent to allow for apps (Launcher) to jump to the All Apps tab in the settings.\n\nChange-Id: I15a78a5c5a18b041b1cc4a7500bd3ceccd780ea9\n"
    },
    {
      "commit": "898e1e8860dea8490ba9208fca7965adf9cb8298",
      "tree": "6924c3d3d1f6c361385d7c579c515a93660fdc10",
      "parents": [
        "8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Sun Sep 26 17:28:30 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Sun Sep 26 17:28:30 2010 -0700"
      },
      "message": "Adding a feature to indicate that the device possesses low-latency audio.\nThe specific criteria for low-latency audio are defined in the CDD, but since\nthat hasn\u0027t yet been settled for Gingerbread, this change doesn\u0027t go into\ndetails. We can do a docs change later once GB CDD is final.\n\nChange-Id: Ic5ad9d04e8ecd78c81b6f09439affec6bf8cb9b2\n"
    },
    {
      "commit": "234e42df5fac958ed9f15aae6005dd72e4bdf08a",
      "tree": "bd8c19fa7b2ad259e7ffde09bbcb99638456a7e3",
      "parents": [
        "88aa072aab9f4b38e44749ad7d8f2fb6c3f8920f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 17:18:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 18:00:47 2010 -0700"
      },
      "message": "DO NOT MERGE.  Fix issue #3000764: API REVIEW: android.R.*\n\nNot going out in GB.\n\nChange-Id: I9d4f5938ec7d2a54c0f72b8eb5a177ee66f12146\n"
    },
    {
      "commit": "e78fc18b339bfe2915e61aef2013a17f0a9ede33",
      "tree": "f8717c03673c3cfd4ad74383ba19b7cf57aa1810",
      "parents": [
        "a7ef18fca50d0db99a161d8c7e2d8979f0445503"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Sep 24 14:59:36 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Sep 24 15:43:51 2010 -0700"
      },
      "message": "Intent action to launch downloads UI.\n\nChange-Id: Ifd21b9b916479062d51e60108d16ce3f46b453a5\n"
    },
    {
      "commit": "a73c4b082c2ab38831fc57c6bfb425d32ffe2aa4",
      "tree": "2de288f4d5523f374d6ab3bfce2fdf8abbcc0b87",
      "parents": [
        "880dfe4f675128188f8d598f2025a417ccabd1bf"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Sep 22 08:16:53 2010 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Sep 24 13:52:14 2010 -0400"
      },
      "message": "Add new Alarm provider class for setting an alarm.\n\nThe new class provides static variables for creating an intent to broadcast to\napplications implementing the alarm clock.  A new permission has been added and\napplications are recommended to require this permission if accepting the set\nalarm broadcast.\n\nChange-Id: I7b1014acdc54371cbda19bcf9b5c395b647aa413\n"
    },
    {
      "commit": "4f564cdeb8478f1a20263fc036c74cc4a63145c3",
      "tree": "b2016c709978bf86e0e10de0d0ce7bf07f9f273c",
      "parents": [
        "2dc43f3d4c721acf331d699e24d9aac4d4cc2f95"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Sep 22 15:57:25 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 23 12:42:34 2010 -0700"
      },
      "message": "Tweaks to download manager API based on API review feedback\n\n* improved documentation of the default destination on the download\n  cache and the concomitant consequences\n\n* removed NETWORK_WIMAX flag for setting allowed networks\n\n* changed request headers behavior to support multiple instances of\n  the same header (as allowed in the HTTP spec), renamed\n  setRequestHeader() to addRequestHeader()\n\n* accept user-facing strings as CharSequences instead of Strings\n\n* new convenience methods setDestinationInExternalFilesDir() and\n  setDestinationInExternalPublicDir() for setting a destination in\n  either shared or app-private external storage directories\n\n* renamed setMediaType() to setMimeType()\n\nChange-Id: I8781e2214d939c340209cab917bbbba264ab919c\n"
    },
    {
      "commit": "1a5149e5d7f2dddc8b324f7695e69fd89af73c52",
      "tree": "dfa27fafc0451be6a52857f0aae941767a3de304",
      "parents": [
        "49a8bbf4eacbf0bde71bab05be0ab40488df109c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 21 18:18:20 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 23 11:04:03 2010 -0700"
      },
      "message": "Fix issue 3022800.\n\n- Created sub-package android.media.audiofx for audio effects.\n- Hid AudioEffect class contructor, methods and variables not needed by\napplications\n- Added more javadoc comments for AudioEffect Class\n\nChange-Id: Ibbb40d4e714bb248aa32cf82d7763d74efae96d1\n"
    },
    {
      "commit": "6b849e2123be98eb2a1a25b8abf0b13a279ce952",
      "tree": "2d31bd61d555724b8fe7468c79049a9e782151da",
      "parents": [
        "e81894201979513de87269a21a1802da72d2b954"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Tue Sep 07 17:32:18 2010 +0800"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Sep 23 13:56:52 2010 +0800"
      },
      "message": "Unhide BitmapRegionDecoder.\n\n1. Rename LargeBitmap to BitmapRegionDecoder\n2. Move the instantiations of BitmapRegionDecoder out of BitmapFactory.\n3. Remove the use of MemoryFile in BitmapRegionDecoder, since MemoryFile\u0027s API had been modified in master. Otherwise, the change will break the master build.\n4. Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.\n\nMost of the modifications, except for (2) and (3), were reviewed in https://android-git.corp.google.com/g/#change,64716 .\nHowever, that change broke the master build due to (3) and was reverted eventually.\nSo, instead of withdrawing this change and waiting for that change to be checked in again, I merge the two changes into one.\n\nChange-Id: I2202c0fbbbd6d6676bbd9637e690023ea4099c40\n"
    },
    {
      "commit": "958c149496259c0068b47d70f1ab8101ed9968ef",
      "tree": "374f5877215680e188c6fb53ed79c4c5cedd7870",
      "parents": [
        "32371695daf917701f78a86224b58bfda0381e27"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Sep 22 11:52:53 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Sep 22 11:52:53 2010 -0700"
      },
      "message": "DO NOT MERGE - redo  Ib5e519fb40d3191ecac06c03a844872df19f3963\n\nthe prev  checkin somehow screwed up master..redoing it\n\nChange-Id: Ib9e3652d1569ab26fb62ff08c1efeaee7f2de563\n"
    },
    {
      "commit": "9aed300279db6953356aed5ef24a42291f5829cb",
      "tree": "ec181e80d44bf55ec0bf768b3928b52a66a63113",
      "parents": [
        "62018429c2639b8a0f27e9b18b9b186df80bca4d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Sep 20 11:23:56 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Sep 21 17:11:41 2010 -0700"
      },
      "message": "Text selection anchors changed to use windows\n\nChange-Id: I14f138039f5e3175a8c07f21985715b8447708e5\n"
    },
    {
      "commit": "5744bb4aa5dea525d1ae236cd16379134024eae1",
      "tree": "0c3db66479ca82fd71e33d799749593eb4476348",
      "parents": [
        "87d208f7ea7d8fc518d1403aae6d1ba1833bff13"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Sep 01 19:18:57 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Sep 21 15:27:07 2010 -0700"
      },
      "message": "Adding new feature definitions for new sensors (barometer and gyroscope.)\n\nChange-Id: Ic3a35c7b277921eaa5b05e3285b6aed5ed75bea6\n"
    },
    {
      "commit": "3104775b53c9b519edad96a225131250b91fcc11",
      "tree": "b343f573b4690e7780ebc3b5c6d6a42bbc29334e",
      "parents": [
        "ff0ea5eaf13198d6d752bcfbcf8e1c96f568102f"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Sep 21 14:18:19 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Sep 21 14:18:19 2010 -0700"
      },
      "message": "Un-@hide ability to download without a running notification.\n\nChange-Id: Iaf4d86f05e1f98a894a480d7e2e0ecabb42116c4\n"
    },
    {
      "commit": "92cf2d60851462d91a1eb4b9615ea93579dd4330",
      "tree": "1c205fc68acb14e9eb92c4b7f8786024dce91019",
      "parents": [
        "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 20 19:11:14 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 21 10:45:41 2010 -0700"
      },
      "message": "Made audio effect control panel intents public.\n\nChange-Id: If927606a24966605eb3e02788b2477937349d518\n"
    },
    {
      "commit": "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2",
      "tree": "231016c9dddc37dc8e126e60ec16385e9343b50e",
      "parents": [
        "92630c787d0ae34c7ae3cb29c2d261f1acaf18b9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 20 16:15:32 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:46:32 2010 -0700"
      },
      "message": "Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nThis constant is not public yet. Continuous autofocus should\nbehave differently in still camera and camcorder. In camcorder,\nlens movement may be more smooth. And the triggers to start a\nnew focus search may be different. If there is a need,\nFOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.\n\nChange-Id: I05df9e491aca37829be3df92a73b952f26c86a4a\n"
    },
    {
      "commit": "e15735a9e0c0b1448b68f2d6b3247404fc1df417",
      "tree": "6fd1cf74181abfc926c730bf451af4cb6b42b49f",
      "parents": [
        "4db643eb8430d063b1adc4ba164bfa1c1281bdf3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 17:48:47 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 20:14:34 2010 -0400"
      },
      "message": "LocationManager: Hide location provider and geocode provider APIs.\n\nAlso rename Geocoder.isImplemented() to Geocoder.isPresent()\n\nBUG: 3000738\nBUG: 3001413\n\nChange-Id: I56bb4e9a9c59f8b79de585eeb168f74c3ff1a853\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a9e87c9cc375b8be43a05ad641545db26eee0d46",
      "tree": "75a2ce541c418fcdd55b22ab59144969f732fe4b",
      "parents": [
        "8544560ccc43de7ff49d91866f461f5572f0b147"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 16 12:02:03 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Sep 20 13:44:51 2010 -0700"
      },
      "message": "New error status for \"destination file already exists\".\n\nAlso changing the behavior of the local URI column slightly to better\nmatch the spec -- it should return the client-provided destination so\nthat it\u0027s valid even if the download failed.\n\nChange-Id: Ibf9c07519e647e677ebac8b334b9f2e930e47033\n"
    },
    {
      "commit": "b08013c312e3d849029a2f4c11889274c00f438d",
      "tree": "135cc2c26d4db7418f8775a677197496ff767e01",
      "parents": [
        "838e93ed19879ce3d88b5be51630137d6a6999c6"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Sep 16 16:28:11 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Sep 17 13:31:33 2010 -0700"
      },
      "message": "Added overlay support for drawing/responding to text anchors.\n\nOverlays let views draw and respond to touch events outside of their\nbounds. This allows selection anchors to be friendlier and easier to\ngrab. This is currently private API, pending further evaluation.\n\nAdded themes/styles for text selection anchors.\n\nAdded assets for text selection anchors as provided by UX. The\nleft/right anchors are currently not suitable for use. They are here\nfor bookkeeping and replacement later. The theme currently uses the\n\u0027middle\u0027 anchor asset for all three. This will be changed once assets\nare ready.\n\nChange-Id: I01b21e5ae90cab201f86f38f2f5eeaf2bd7f6bcd\n"
    },
    {
      "commit": "6abea1ebc29c7bc8397f0470d57a4e485b5d4ee3",
      "tree": "cbeea7491e264c7985ddbc537c700041f91200a6",
      "parents": [
        "478747181e0414d703076d4786b201718cd93d5b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 14:38:20 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 14:38:20 2010 -0700"
      },
      "message": "Remove fields no longer in API.\n\nChange-Id: I4a5f932fefe045678a539874d11705a1a726bd94\n"
    },
    {
      "commit": "3d37fca57dca820d3bb333e5023344c88518c685",
      "tree": "ef538d2b67d12f285c89e39bafa547684fd916b8",
      "parents": [
        "4198cececf70bf034e12f19bb87f29cc29931c39"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Sep 16 14:19:54 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Sep 16 14:25:10 2010 -0400"
      },
      "message": "This was marked @Deprecated in the docs, but it was misspelled.\n\nChange-Id: Ic8bd8f53b205da46510ddc7f2ffaec16758a4639\n"
    },
    {
      "commit": "747c61535281b4d2958e293e83245a19ba58f6a0",
      "tree": "46cdb4cb17ae7fbe0404bd52977c174bf91af609",
      "parents": [
        "134b28a7f049719cb74fd5baadbbcc5915bc861b"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Wed Sep 15 13:34:13 2010 -0700"
      },
      "committer": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Wed Sep 15 18:05:29 2010 -0700"
      },
      "message": "ContactsContract: update SipAddress to be multi-valued\n\nThis is step (1) of the device-side changes to deal with SIP addresses\nbecoming first-class objects in focus.\n\nIt\u0027ll be multi-valued in focus, so make it multi-valued on the device\n(just like Phone, Email, Im, etc.)\n\nPossible types are CUSTOM, HOME, WORK, and OTHER.\n\nAlso while I was in there, fixed the typo in \"TYPE_MAINDEN_NAME\" in the\nNickname class.  (I can\u0027t remove it, since it\u0027s public API, so I added a\nnew constant with the correct spelling and deprecated the misspelled\none.)\n\nBug: 3004838\n\nTESTED: on passion:\n\n  - Flashed this change onto a device that already had a contact with a\n    SipAddress, verified that it still shows up fine in the UI.\n\n  - Wiped data, rerean SetupWizard and logged in, made sure that SIP\n    addresses got synced down properly.\n\n  - Edited SIP address on the device, made sure it got correctly synced\n    up to the SIP user-defined field.\n\nChange-Id: I6ecf551b64f87de03a7807e6212297d91f9e3981\n"
    },
    {
      "commit": "7836660f5eb45b7b7e1f5119face65c80e2ade17",
      "tree": "7b8c5d788923f2fe38fa57977a9d827763583b69",
      "parents": [
        "9909b948ac83d2cf19f7eeb06748b85fcac2212a"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Sep 15 14:08:15 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Sep 15 14:47:37 2010 -0700"
      },
      "message": "Update camera API and javadoc for API review comments.\n\nbug:3001395\nbug:3001399\nChange-Id: I7030c4eff94ab11f44b862e8c206fb69a4e5c428\n"
    },
    {
      "commit": "2ec0e6fe1e5382d93cb28c97d24c7b0a0387c8ee",
      "tree": "b1f10b135057878cbdb665ca64ec20bc308035fc",
      "parents": [
        "e7b92d7b53343119173558302ecfb3986ae0fbd6"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Thu Sep 09 10:08:10 2010 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Tue Sep 14 11:13:27 2010 -0700"
      },
      "message": "Unhide GsmCellLocation.getPsc().\n\nbug: 2465036\nChange-Id: If071c4e0f1f3484c010ec908b02800361cbf8a86\n"
    },
    {
      "commit": "7e9f4eb2608148436cef36c9969bf8a599b39e72",
      "tree": "16351bff3017f948792a6308f4f6698e0a9d769c",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 10 18:43:00 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 14:20:48 2010 -0700"
      },
      "message": "Track client requests through location manager.\n\nThis fixes a problem where applications could ask the location\nmanager to do very heavy-weight things (like...  say... update\nlocation every minute), which would get accounted against the\nsystem instead of the application because ultimately it is the\nsystem making the heavy calls (wake locks, etc).\n\nTo solve this, we introduce a new class WorkSource representing\nthe source of some work.  Wake locks and Wifi locks allow you\nto set the source to use (but only if you are system code and thus\ncan get the permission to do so), which is what will be reported\nto the battery stats until the actual caller.\n\nFor the initial implementation, the location manager keeps track\nof all clients requesting periodic updates, and tells its providers\nabout them as a WorkSource param when setting their min update time.\nThe network location provider uses this to set the source on the\nwake and wifi locks it acquires, when doing work because of the\nupdate period.\n\nThis should also be used elsewhere, such as in the GPS provider,\nbut this is a good start.\n\nChange-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf\n"
    },
    {
      "commit": "1bece4320c1d2308b4a5b5aeda47b065312b3053",
      "tree": "daf3d6876cd335a397835dc76b4efce191798a45",
      "parents": [
        "90fb15a7e52b1208b8d4f7518a61efb99580b5b0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 19:20:03 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 19:20:32 2010 -0700"
      },
      "message": "Make nativeLibraryDir visible in the API\n\nChange-Id: Ic88e76a85b0041e97b4c29c42dfa09db0356391c\n"
    },
    {
      "commit": "90fb15a7e52b1208b8d4f7518a61efb99580b5b0",
      "tree": "5539ec7c687580e233402ccc505a17fd9970e2dc",
      "parents": [
        "8abc9e9b9917760a63cc38a030e64f207aeef86d"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 09 16:13:41 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Sun Sep 12 18:58:55 2010 -0700"
      },
      "message": "Support UI visibility and restarting in download manager.\n\nFirst, this change adds a column to the downloads table specifying\nwhether a download should be displayed in the system downloads UI.  It\nadds a public method to set this parameter when requesting a download,\nand a hidden method to filter queries based on this paramter (such\nfiltering could be made public later, but it\u0027s not strictly necessary\nright now).\n\nSecond, this change adds support for restarting a completed/failed\ndownload as a hidden method on DownloadManager.  Currently it only\nworks from the download manager\u0027s process - it\u0027ll be used by the new\ndownload manager UI.\n\nChange-Id: I15eda1a6e3717d1ce947a810b25ad3540cce809e\n"
    },
    {
      "commit": "abeea05b30527bfea467aa6dfe2cf6ff5f298d26",
      "tree": "cf2a26947c80cdc85ebf42306c0d440d75f67e98",
      "parents": [
        "692065128e66de77470de2c50ead2bef0452952a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 18:01:28 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 18:01:28 2010 -0700"
      },
      "message": "Undo API patch due to field pulled up to superclass.\n\nEarlier we extracted a common superclass InputEvent from KeyEvent\nand MotionEvent.  During this process, getDeviceId() and mDeviceId\nwere moved to the superclass.  The API change tracking was unable\nto automatically figure out that the method had just been moved up\nto the superclass (still binary compatible) so we patched up 9.xml\nmanually to fool it.  Unfortunately mDeviceId slipped in there\nwhen it should not have since it should have been marked with @hide.\nThis change just removes mDeviceId.\n\nChange-Id: I5fca14c8dc6f98952b8afbdb6e034824a22bdb1d\n"
    },
    {
      "commit": "692065128e66de77470de2c50ead2bef0452952a",
      "tree": "14544d3996555c184b9bfdad8a0f33ae68b93acf",
      "parents": [
        "b88102f5b7e51552a3576cf197b4c8cf96f193d1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:17:30 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:17:30 2010 -0700"
      },
      "message": "Fix some API discrepancies in InputEvent.\n\nChange-Id: I8e33e125e10075d6f256a1eb3dd46990f35074d6\n"
    },
    {
      "commit": "58300000c1867eaf10fbfb91c53d1b86a37f5b47",
      "tree": "c45d890d8c5330d8d6d74df309a1f15bde5486b0",
      "parents": [
        "b6a007c5cd7bb02250d4dd573ba89367a010a473"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Sep 10 16:58:33 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Sep 10 16:58:58 2010 -0400"
      },
      "message": "This was already deprecated, but not picked up by the tool DO NOT MERGE\n\nChange-Id: I4740a37039d0817a7f433f169ac2afc074101533\n"
    },
    {
      "commit": "f054e190bb6f06e5645826c84670098159feaf34",
      "tree": "f645f73c2ac347526799c42a1858f9cd4695e6e7",
      "parents": [
        "9395b4656aca4b00d080ada89a44631459ad7b85"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Sep 01 18:26:26 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 09 11:14:20 2010 -0700"
      },
      "message": "Hidden API to control sorting of download manager queries.\n\nThis change adds a hidden API to sort download manager queries by size\nrather than by time last modified.  This is necessary for the system\ndownload manager UI but, in the interest of keeping the new public API\nas minimal as possible for now, I\u0027m leaving @hide on this method.\n\nThis change also changes the DownloadManager.COLUMN_ID column to be\nidentical to BaseColumns._ID, since some code relies on this (such as\nCursorAdapter).\n\nChange-Id: Ib89b614d63e988974d4486b122b39365b35b5269\n"
    },
    {
      "commit": "2fe6fd055874ff70a9faeaa27716173b12e671fb",
      "tree": "bf295afccc3e868fb39349890a0f54d88e74e6fe",
      "parents": [
        "d9c80ab31ac3755141765e2c030bd1404ff0b050"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Wed Sep 08 19:10:17 2010 -0400"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Wed Sep 08 20:39:05 2010 -0400"
      },
      "message": "Add MediaStore.ACTION_MEDIA_PLAY_FROM_SEARCH intent for open-ended\nsearch and play of music. This is used, for instance, by Google\u0027s\nnew \"listen to\" Voice Action.\n\nChange-Id: Ibbc81701cc2412ffd57402d34f22d9764e9df7c2\n"
    },
    {
      "commit": "de2f3340d64e20e51029ff438f0d635d97b8a3e0",
      "tree": "64d05ff63b40cbbda31eca83914683f6f8614b66",
      "parents": [
        "85a3176704b5bfbeece9bd928369fbb76eec7dc6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 12:25:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 12:25:23 2010 -0700"
      },
      "message": "Update current.xml for touch filtering feature.\n\nChange-Id: I4a6f971ad84e13ed8f81e7b00c727e94eb2d8765\n"
    },
    {
      "commit": "85a3176704b5bfbeece9bd928369fbb76eec7dc6",
      "tree": "1a84f21c037b514c5b6717b106f5a9a2c4fd6c99",
      "parents": [
        "c0b4f6d30d962d75125628317b5f5ea622531dfe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 01 17:01:00 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 11:50:55 2010 -0700"
      },
      "message": "Add support for secure views.\n\nAdded the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the\ninput manager whenever another visible window is partly or wholly obscured\nthe target of a touch event so that applications can filter touches\naccordingly.\n\nAdded a \"filterTouchesWhenObscured\" attribute to View which can be used to\nenable filtering of touches when the view\u0027s window is obscured.\n\nChange-Id: I936d9c85013fd2d77fb296a600528d30a29027d2\n"
    },
    {
      "commit": "577ec9eb3a661de96a2cbe9ec918eda082fb7659",
      "tree": "5bf3f0c170978bf52c421386f62e5381f65d045c",
      "parents": [
        "4c7d3f28898f4e0d8e9f54537fb92948e650df7f"
      ],
      "author": {
        "name": "Erik",
        "email": "roboerik@android.com",
        "time": "Wed Sep 01 17:24:53 2010 -0700"
      },
      "committer": {
        "name": "Erik",
        "email": "roboerik@android.com",
        "time": "Wed Sep 08 10:53:40 2010 -0700"
      },
      "message": "Adds a time zone parameter to formatDateRange\n\nFor a critical feature request in Calendar we need the ability\nto format a date range in a time zone other than the local tz.\nThis adds a new method signature to formatDateRange to allow for\na tz to be specified and maintains the old behavior if the parameter\nis not used. Also deprecates the FORMAT_UTC flag.\n\nChange-Id: I16b3e939760ec86c954b51a318d01b7bbf86acc9\n"
    },
    {
      "commit": "d6e56895f647d3c6ea33cea15fdb7b1e9ff3f537",
      "tree": "57d8c5d94a85f402c560b3abaa381434bdddc24c",
      "parents": [
        "64591009409618ee67e71c4b345cac50ad0e4e31"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Sep 07 20:28:27 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Sep 07 20:29:42 2010 -0700"
      },
      "message": "update-api step missing from 64963.\n\nChange-Id: I7e91aa9830c19bbb4115ae3a236345b220dc9eb0\n"
    },
    {
      "commit": "dbd25cdbc3dcad573aaeaf493bc186006bce3d8e",
      "tree": "9dd10a772a2771fce5bcc54e1cd2702bcf059b6c",
      "parents": [
        "d0f74ae081bac9a9c8f7faf9288305647735d743"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Sep 07 15:21:14 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Sep 07 18:07:30 2010 -0700"
      },
      "message": "Made text selection work in ExtractEditText. DO NOT MERGE\n\nChange insertion point on tap is no longer handled by the CommitSelectionReceiver\n(as it is not called by ExtractEditText).\n\nFixed a bug to handle drawing positions when the internal TextView scroller is used.\n\nChange-Id: I87398c7109c5527d21dee6abbdb925848244d594\n"
    },
    {
      "commit": "ccfc1c1ea1898d7e72bc2c2c78bf80a26ee3f5f4",
      "tree": "321be9d532b4c770e1b1a46e3ceae95cb1fceead",
      "parents": [
        "f703b77c96a6d133fda534158eaf6190ff7c87f7"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Sep 07 17:12:10 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Sep 07 17:12:10 2010 -0400"
      },
      "message": "Expose the TextAppearance.StatusBar.* styles.\n\nChange-Id: I6e1e68ab26495290d480f4fb75facedd6cd62908\n"
    },
    {
      "commit": "3326f8043858152ea2a407a9a4c20fdcdc859e73",
      "tree": "ca81086dc9ddb8c0d6875f05903a29b15a5352df",
      "parents": [
        "7e427934e69db804f3ee803e6ffeef4a339e9b8b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Sep 03 16:34:59 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Sep 03 16:37:27 2010 -0700"
      },
      "message": "Fix the last remaining gaps in our Java 6 API.\n\nSee http://b/issue?id\u003d2497395\nSee https://android-git.corp.google.com/g/64647\n\nChange-Id: I0886e06163a3853bff69480b01e6e9f9f54fea4e\n"
    },
    {
      "commit": "69717ccd13bb5568b912701ab39d603cfa7091cc",
      "tree": "867742e28adc250e7260dbf04aba967f50264e0c",
      "parents": [
        "df3a0f50c3480911e366c8c0781b0463fe063e82"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 13:48:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 15:20:06 2010 -0700"
      },
      "message": "DO NOT MERGE.  Some stuff that is Not Ready.\n\nChange-Id: I8fdba32722d86b92c791dbf7c6c0166bcdb02852\n"
    },
    {
      "commit": "6993d3d136fed8600a3e337d710907b50d8d6e49",
      "tree": "cf33f50672753a610822f39c3c1f5a4491843485",
      "parents": [
        "dc243482d6e104c4a3cddaa694c2ee3c628c2c20"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Sep 03 14:30:14 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Sep 03 14:41:36 2010 -0700"
      },
      "message": "Adding a feature denoting support for 5 or more fully\nindependent multitouch pointers.\n\nChange-Id: I9997ed9c481dbd507e9eff70d8beb9e1140cca3f\n"
    },
    {
      "commit": "482566ed5cc7307b0401361509fb06acc5476115",
      "tree": "3a41c2b2301bf17dc1575d32641a8cbfaa9e7af9",
      "parents": [
        "46e63b346770efa14451b8e67b7f7636c4e5a76c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 12:51:28 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 12:51:28 2010 -0700"
      },
      "message": "These are not ready to be exposed.  Also rename them to be better.\n\nChange-Id: I7c234144497084b7769f8c46761b7d74d1c583d5\n"
    },
    {
      "commit": "a1c69e084b5242ad4e4a1ef2fe8d99ba259b5af4",
      "tree": "a7717db542b45f4ad8fa9dc7f22c0a663d047c6b",
      "parents": [
        "d3efa3924407da6d38aa5931ac29aa088d9eb986"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 22:55:02 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 22:55:02 2010 -0700"
      },
      "message": "Fix a small bug when granting permissions through activity results.\n\nChange-Id: I2a5c4025fb5f566e29c219fde4d50ed2eba6e174\n"
    },
    {
      "commit": "d3efa3924407da6d38aa5931ac29aa088d9eb986",
      "tree": "105f4a08e32468c8fa20d981867b6e8fd688cd4e",
      "parents": [
        "bc5ec2f91a7ed2836df66f1ed98b019ea1192aa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 17:34:12 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 21:19:40 2010 -0700"
      },
      "message": "Clean up some permissions.\n\nNote that WRITE_OWNER_DATA and READ_OWNER_DATA don\u0027t actually appear\nto be associated with anything or used by anyone, so they are just\ndeleted.\n\nAlso deprecate the activity API to go in the foreground.  I didn\u0027t\nrealize that was released in the SDK.  It needs to go away.\n\nChange-Id: I96f53702c2c79e4999b6b2c498abb770bd27e03a\n"
    },
    {
      "commit": "b766ab830a714c0b79f64265e681f454865ffe65",
      "tree": "69f6856ae8156e0b5b403f08b7ac1afff07a07fe",
      "parents": [
        "3424c02e6b931a8bbd651ae75217bebd008b2605"
      ],
      "author": {
        "name": "Jason Chen",
        "email": "jasonchen@google.com",
        "time": "Wed Sep 01 19:02:26 2010 -0700"
      },
      "committer": {
        "name": "Jason Chen",
        "email": "jasonchen@google.com",
        "time": "Wed Sep 01 19:04:18 2010 -0700"
      },
      "message": "DO NOT MERGE Add deprecated annotation to get/set PluginsPath and update current.xml\n\nPrevious changes only added javadoc annotation, but didn\u0027t apply\nannotation to the source. Fixing this and updating current.xml.\n\nChange-Id: I52aabd6485a3972fc360f24c2e86cc342a5101ab\n"
    },
    {
      "commit": "3424c02e6b931a8bbd651ae75217bebd008b2605",
      "tree": "f8113a62a05f612a54da4c277661542edbcb9773",
      "parents": [
        "a2511da9d65b11be7f59ed3f525f77e85aeb4bef"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Aug 27 18:08:19 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 02 08:10:13 2010 +0800"
      },
      "message": "Add software features for SIP and VOIP\n\nand block SipService creation and SIP API if the feature is not available.\n\nChange-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc\n"
    },
    {
      "commit": "76437d379357a418b8236b041d1b3e03939264e6",
      "tree": "6a89548e01f4f40a5b51b96f6a68c0a07cd1f557",
      "parents": [
        "81f339bcfeee5dccb284cdeac6941179f91fe08b"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Sep 01 11:17:20 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Sep 01 14:42:23 2010 -0700"
      },
      "message": "Adding a feature definition corresponding to support for Near-Field\nCommunications (NFC).\n\nChange-Id: I32b1b949524bfd978f53e23e02d38dfba4a2ea9c\n"
    },
    {
      "commit": "752fe99276656628d534ea80e07e7880e1425b7b",
      "tree": "0190095fa2c3822df27b8c6cde6e1162fa60b215",
      "parents": [
        "e34fe69e66d8c9bc76453347ba84261b060300f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 14:20:33 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 01 14:20:33 2010 -0700"
      },
      "message": "Fixing the build.\n\nChange-Id: I6414a5ed2a92f5e375e19caf7453abd268ce76d3\n"
    },
    {
      "commit": "fdbdeb3137a6b47527d1d714afbb7e1b19b474ec",
      "tree": "fd6d4abde1b3712c419bd1ea8193e51bc318153d",
      "parents": [
        "1751086360056bc60d00f2ed2988bc82be9e7bd9"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Aug 12 11:20:13 2010 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Sep 01 14:15:50 2010 -0400"
      },
      "message": "Fix invalid comment in WebSettings.\n\nThe get/set for the pluginPath is leftover from the Gear\u0027s plugin\nand is no longer useful now that plugins are loaded from their\nown APK using the package manager. These methods were modified to\nbe no-ops in froyo, but the documentation was never completed.\n\nChange-Id: I20f6593445d877a3dae9b9f51d5198a3509255d6\nhttp://b/2811032\n"
    },
    {
      "commit": "361199b5e742c6635d4d7a03de6cf37b31cf442c",
      "tree": "170d0ba61242ba04a3491a98f894f3a2e416bbe7",
      "parents": [
        "22cd420bfa431b4ad55e699afadf109dcc54f201"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 30 17:42:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 31 18:59:04 2010 -0700"
      },
      "message": "Add PackageManager API to get information about a provider component.\n\nKind-of useful when all you have is a ComponentName.\n\nChange-Id: I9a99f12daabb29e97e882e09c43ca0df70c00651\n"
    },
    {
      "commit": "54901c9e8497b33bab1462245864e9dd119bb64c",
      "tree": "150a6978931c88b484dfe80234ce51b18c821b9b",
      "parents": [
        "77881293ad9a68dfa1c1da4b466f7b2b6465b342"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Aug 31 12:51:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Aug 31 12:53:18 2010 -0700"
      },
      "message": "fix the build.  will revisit this change in a minute\n\nChange-Id: Ibac9e777ea7332d63ddaf2e3b8935e56a663ebbe\n"
    },
    {
      "commit": "0a77ce277c6ed2aa25bbea5f8cd5687c0720cb68",
      "tree": "ebc9590d88ae375498aac04a168c49984138749a",
      "parents": [
        "4c72ad75cfb413f54cb59d413a232e77c7260ef2"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Aug 25 14:37:03 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Aug 30 19:14:07 2010 -0700"
      },
      "message": "New edge effects for scrolling widgets (overscroll)\n\nTODO: Currently disabled for WebView. Assets used for the glow effect\nneed to be themable/styleable. Overscroll effect should take place\neven when the user did not grab the widget within actual content.\n\nChange-Id: I68277d14d37dc5bcdb9254eaddf6e4998b3f2bf4\n"
    },
    {
      "commit": "8d60866e2100db70ecf0502c14768a384514d7e9",
      "tree": "514e46b4e4d58fd68cd52de93b93e7782fdf4e9f",
      "parents": [
        "bb660d7e1bed3a07a1804bd9641d9634bfaa4972"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 30 03:02:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 30 18:16:43 2010 -0700"
      },
      "message": "Input device calibration and capabilities.\n\nFinished the input device capability API.\nAdded a mechanism for calibrating touch devices to obtain more\naccurate information about the touch contact area.\nImproved pointer location to show new coordinates and capabilities.\nOptimized pointer location display and formatting to avoid allocating large\nnumbers of temporary objects.  The GC churn was causing the application to\nstutter very badly when more than a couple of fingers were down).\nAdded more diagnostics.\n\nChange-Id: Ie25380278ed6f16c5b04cd9df848015850383498\n"
    },
    {
      "commit": "66fce5068a8a3aeb28aaf713843891b286a75280",
      "tree": "12b92e7b95f0251c4edb67cdab6374c58cae9608",
      "parents": [
        "2e86809b6c79375d23c0975914efc3b66e89ac90"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Aug 30 18:10:49 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Aug 30 18:10:49 2010 -0700"
      },
      "message": "Renaming SharedPreferences$Editor.startCommit to apply\n\nAlso removes the artifical restriction that only one apply() can be in\nflight at once.  That was old from when I thought it\u0027d end up being\nrequired, but wasn\u0027t.\n\nChange-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55\n"
    },
    {
      "commit": "7ec7b9970cc3a6311bf043e228991adf24c43523",
      "tree": "4aea84acb9fe2677227e5522b31de779c505a713",
      "parents": [
        "681c5ff2085a08835c08b97641ebdc1b37489943"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 27 15:39:46 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 30 13:33:53 2010 -0700"
      },
      "message": "Remove camera metering mode API.\n\nMetering mode is not supported yet.\n\nChange-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e\n"
    },
    {
      "commit": "d02bdaab495641ab50e2123fdfd99a819cc40540",
      "tree": "63b4618d41b340ea2d4f01b98da2ce0ba478c032",
      "parents": [
        "7046bd924f77c54585b9e0e0c95e5edd2ceb55a3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 26 10:28:46 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 22:57:39 2010 -0400"
      },
      "message": "Remove experimental immersive mode support. DO NOT MERGE\n\nBug: 2949215\n\nChange-Id: I7d998ef571ef7e149bb96261430e92150b80b77d\n"
    },
    {
      "commit": "15665bb60eb2ca8d114724379c156ff7f2a6cc53",
      "tree": "9bf83e0eb1d6f8c39d117c75567ccd3149df3ab1",
      "parents": [
        "4f8c2f26bfd9de8c8a31369dbedd415c7d6d9699"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 16:36:43 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 16:40:22 2010 -0700"
      },
      "message": "Add current.xml API file missing from I8f2b6b79.\n\nFixes build.\n\nChange-Id: I7d845fb45b5221425f41cf3069fea7f31ea6b225\n"
    },
    {
      "commit": "4f8c2f26bfd9de8c8a31369dbedd415c7d6d9699",
      "tree": "c35980867f514f9469948c4f034e2e2a8948ed5d",
      "parents": [
        "0c731f99b05630e16dce572ac206ab75c90891cd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 27 16:10:25 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 27 16:14:42 2010 -0700"
      },
      "message": "Fix docs build.\n\nChange-Id: I49591c46080361acf5b528116726c27b6ed9da9a\n"
    },
    {
      "commit": "5f1e69c76ef5886ed65e303490c5f660da4756ef",
      "tree": "c02010280f6323b54e2f36e84ffdf9c1d76144fe",
      "parents": [
        "ee4831c4bb39144b995ea561ad35b9b0e1864b33"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 18 11:39:12 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 27 14:19:32 2010 -0700"
      },
      "message": "Unhide camera fps range API and deprecate old ones.\n\nOriginal preview frame rate API assumes the frame rate\nis fixed. It does not not work with auto frame rate camera.\n\nChange-Id: I1233a22ed64d42f167432085716bb6bfc3d36bbf\n"
    },
    {
      "commit": "45b2d699e10474f0167691774c0cfb93cfe2dae9",
      "tree": "23e7862a764a49f9e4b0230078696602c8ae9f85",
      "parents": [
        "cc033bd367a445d5e3f8de919cd155505b25274c"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Aug 26 15:51:01 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Aug 27 10:29:59 2010 -0700"
      },
      "message": "DO NOT MERGE Text selection: tapping on selection opens context menu\n\nBack key exit selection mode. No more \"Stop selecting text\" in second context menu.\n\nA tap on one of the handles also triggers the second context menu.\n\nPaste is only available on long press in first menu for empty text fields.\n\nChange-Id: Ic4fa00458d4f617a81885436b53d4fc923347609\n"
    },
    {
      "commit": "a90b7f0125389b9e1040d2be82aad4ef74ea6071",
      "tree": "df71583ddfca7e822c1a964937bc966af5d3e4b9",
      "parents": [
        "846eb30f78a9153102c743c2c1b49de1a4079fb1"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 25 18:27:20 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Aug 26 14:53:39 2010 -0700"
      },
      "message": "Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()\nto return the selected text.\n\nsetComposingRegion:\n\nThe TextView may choose to highlight the text in some way (underline for now) to indicate\nthat the text is selected for correction, if the IME wants to provider alternatives.\n\nChoosing an alternative in the IME can then call IC.commitText() to replace the highlighted\n(not selected) text with a different candidate.\n\nThis change also ensures that any existing spans/styles are not wiped out. So we can now\ncorrect rich text as well.\n\ngetSelectedText:\n\nThis is a convenience to get the selected text instead of using extracted text that is\nmore heavy weight. Existing getTextBeforeCursor() and getTextAfterCursor() fail to\nretrieve the selected text, only what\u0027s before and after the selection.\n\nChange-Id: Ieb5ecd5ff947ea04958589f501e7bd5228e00fb5\n"
    }
  ],
  "next": "846eb30f78a9153102c743c2c1b49de1a4079fb1"
}
