)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "4bede9e425875542976a422222510fa4056a8339",
      "tree": "94b7dab2b98f12b9b2363eb40e72952ab4c10bd4",
      "parents": [
        "82b400387114634e5b0b8c08ac142cb69ccf14cf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 19:36:59 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 19:38:37 2010 -0700"
      },
      "message": "Add an API to control AbsListView\u0027s friction.\n\nChange-Id: Iafb08cd28703d282c369c472a5d85a22cc5dacb7\n"
    },
    {
      "commit": "02241ab2929c34aa48acdf4befcc9cacd86c1a6f",
      "tree": "d8c5accddfb06cf620d40deb095aee851b118d73",
      "parents": [
        "76f8688e9b9a71cb064119022a3f69c2e17b8b65",
        "89fbcd72fbe6ef26ea2703f8e338fd198c958ecc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Oct 11 17:49:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:49:42 2010 -0700"
      },
      "message": "am 89fbcd72: resolved conflicts for merge of c2894474 to gingerbread-plus-aosp\n\nMerge commit \u002789fbcd72fbe6ef26ea2703f8e338fd198c958ecc\u0027\n\n* commit \u002789fbcd72fbe6ef26ea2703f8e338fd198c958ecc\u0027:\n  Support showing \"Cold\" battery health.\n"
    },
    {
      "commit": "8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832",
      "tree": "0eb8b8355abedba7b083d5ef547893ed66d3d56a",
      "parents": [
        "0ad4a77cb78348951c349ba92ec858bfb26aeb33",
        "b4de3dca96b9ff18562062e181dcd8b83e641e45"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:31:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:31:06 2010 -0700"
      },
      "message": "am b4de3dca: Merge \"OBB: rearrange to be entirely asynchronous\" into gingerbread\n\nMerge commit \u0027b4de3dca96b9ff18562062e181dcd8b83e641e45\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b4de3dca96b9ff18562062e181dcd8b83e641e45\u0027:\n  OBB: rearrange to be entirely asynchronous\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": "be4d68e7b238b8ee879de0481e39c40d3f1683b6",
      "tree": "c42d580a73a604c7070174433cc7aac22ec73943",
      "parents": [
        "2493c164b01ad3ecec65151e898796e6d91eaff8"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 08 18:16:34 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 11 11:22:54 2010 -0700"
      },
      "message": "Updated styles and metrics.\n\n* Added preliminary ButtonGroup support for buttons that display as a unit.\n* Fixed a bug with MenuBuilder that caused old-style icon menus to fail.\n* Added support for explicitly setting line height in text.\n\nChange-Id: I1ba65f09dd9e1bc833d247ebe72052a21e3f99f0\n"
    },
    {
      "commit": "fae998c860e545e35fd3f4a821837409ee9bcb4e",
      "tree": "90e64e21243caefff0a2394841f4ad9b167f8cc3",
      "parents": [
        "a20e87347605a625d557c4b9c721fb2e560573ee",
        "7c08b70c960a9a6d9e59e854b88c0877fe33dc99"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 19:02:41 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 19:02:41 2010 -0700"
      },
      "message": "resolved conflicts for merge of 7c08b70c to master\n\nChange-Id: Ifef07cf23de35db545774d0dee327c2165f8b088\n"
    },
    {
      "commit": "8775eae9416b730bfd9125dbf740154af04abc23",
      "tree": "07ffaa3eca22e5547d7e4aff9583bbe8af667a80",
      "parents": [
        "023266c34c5f93c9fc0a7c9d3918fe9ec61e645a",
        "b323559b13d8c8ced586f919c5ce083c1f5b74bc"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Sun Oct 10 17:46:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 17:46:10 2010 -0700"
      },
      "message": "am b323559b: am a2a1ca42: Merge \"DropBoxManager.Entry implements Closeable\" into gingerbread\n\nMerge commit \u0027b323559b13d8c8ced586f919c5ce083c1f5b74bc\u0027\n\n* commit \u0027b323559b13d8c8ced586f919c5ce083c1f5b74bc\u0027:\n  DropBoxManager.Entry implements Closeable\n"
    },
    {
      "commit": "89fbcd72fbe6ef26ea2703f8e338fd198c958ecc",
      "tree": "6163a99deac8770a25b654a51f28306ac56747fd",
      "parents": [
        "779d1778b6147ee1b57428af234d1498a26f031e",
        "c28944743966b70ace7477ee50f6594f4723d2d3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 17:45:45 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 17:45:45 2010 -0700"
      },
      "message": "resolved conflicts for merge of c2894474 to gingerbread-plus-aosp\n\nChange-Id: Ie00785e37809b677d6e8ab44c47e1f26037793d2\n"
    },
    {
      "commit": "9239612870d08fbf79b3c53f11bd5d7cb4beb875",
      "tree": "3cd33036d2086f31fa66699b03a20175e8e70773",
      "parents": [
        "bd1454f5005619b69d887fee6a7a4891b3323d18"
      ],
      "author": {
        "name": "Imre Sunyi",
        "email": "imre.sunyi@sonyericsson.com",
        "time": "Mon Sep 20 18:02:50 2010 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 17:20:24 2010 -0700"
      },
      "message": "Support showing \"Cold\" battery health.\n\nThe Linux kernel supports reporting \"cold\" battery health to sysfs.\nAndroid framework has not implemented this and it defaults to \"unknown\"\nThis adds handling the cold battery health.\n\nChange-Id: Idcc156aae6aabce73391081143f79d052edf332e\n"
    },
    {
      "commit": "615e2fa1755ea3b6b8196f783842cd394ad3beb2",
      "tree": "66cb60774b8306efa3c0e61f30f130aa77565ffc",
      "parents": [
        "3caeffac54f4aacecab63f709463885c5afe367d",
        "b77455ee290691b036ac79236a93e57ff294ef0c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 10 14:20:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 14:20:34 2010 -0700"
      },
      "message": "am b77455ee: am 78d68836: Implement tracking of package install times.\n\nMerge commit \u0027b77455ee290691b036ac79236a93e57ff294ef0c\u0027\n\n* commit \u0027b77455ee290691b036ac79236a93e57ff294ef0c\u0027:\n  Implement tracking of package install times.\n"
    },
    {
      "commit": "3d59480dc201c893c6da5c3934b14a2d95a1bef9",
      "tree": "a4ed68a93dcb2827ee2ba34173940a4a6dc5bd77",
      "parents": [
        "6450a4af26999a6766dabe407571634fdacba9ba",
        "ea445758efba6b728d5e597402e9d9538f3ef451"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Oct 10 14:19:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 14:19:29 2010 -0700"
      },
      "message": "am ea445758: am 08faac3c: Unhide SIP API.\n\nMerge commit \u0027ea445758efba6b728d5e597402e9d9538f3ef451\u0027\n\n* commit \u0027ea445758efba6b728d5e597402e9d9538f3ef451\u0027:\n  Unhide SIP API.\n"
    },
    {
      "commit": "cde08e339ecaff5847038cd8c97e7095d24aa1db",
      "tree": "2d2b28814125f7a308f3ec43523168b52c3873c1",
      "parents": [
        "b462f88f1ed3447a41f450c8bfa27411fb19289d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Sun Oct 10 16:47:44 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Sun Oct 10 16:51:17 2010 -0400"
      },
      "message": "current.xml: Fix LIGHT_NO_MOON value.\n\nChange-Id: Ibb4cce6b33e6cf4b164a8f594c21727891bc6ff0\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "ee04af3ed40103bc1e3ed5f6ab9e0094d893bceb",
      "tree": "b485612e2366bfa574a66abf1f127326388c285e",
      "parents": [
        "90078b3f16516bbff23022f83e767202369860e4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Oct 08 13:42:16 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Oct 10 13:29:09 2010 -0700"
      },
      "message": "add a local filename column to download queries\n\nSome users of the download API (eg system update) need to get the\nactual local filename of a downloaded file, not just a content URI.\n\nChange-Id: I877e2776e778c1712f654ba5c840bfe6ed3fe60f\n"
    },
    {
      "commit": "bcf74accafcdac6c7a940ce28982fc0ef08e111b",
      "tree": "f093a5152dd151cf9e28c7d620e4e58e4a0140ce",
      "parents": [
        "06dfa35e3c5f379b14d2acbc584c8d8cb2e822c7",
        "9580b8ce6553ddde03db594fd4fd4f59ca61c382"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Sun Oct 10 12:51:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 12:51:00 2010 -0700"
      },
      "message": "am 9580b8ce: resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nMerge commit \u00279580b8ce6553ddde03db594fd4fd4f59ca61c382\u0027\n\n* commit \u00279580b8ce6553ddde03db594fd4fd4f59ca61c382\u0027:\n  Update of DRM framework.\n"
    },
    {
      "commit": "0594476ffa39481063cf7f1546ccfce509f02c65",
      "tree": "4ce8ceb3c5a5f6b6f5972ce00a1036bea6358368",
      "parents": [
        "9568a5ab2e51428685904a2d1fd18b4ec736ba0b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Oct 08 13:52:38 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Oct 08 15:49:37 2010 -0700"
      },
      "message": "SearchView: Add some more listeners, IME dismiss improvements and focus control.\n\nAddresses following bugs:\n3067611 : Submit button incorrectly displayed\n3064371 : Callback to report suggestion click\n3008580 : Setting initial focus\n\nThe SearchView will take initial focus now, reverting an earlier change. If\nyou don\u0027t want it to take initial focus, then you must requestFocus on a\ndifferent view on launching the activity, since the initial focus is desirable\nin other cases. This is normal behavior for all EditText widgets and SearchView\nshouldn\u0027t have a different behavior.\n"
    },
    {
      "commit": "7c08b70c960a9a6d9e59e854b88c0877fe33dc99",
      "tree": "7583dc2a848d65441ffda008ae1d7842877c0624",
      "parents": [
        "d7d47941a92137fa5c1ba04ba67ad87911347b6b",
        "d8d60da616343b3520b666c385d0005db860be83"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Oct 08 14:44:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 14:44:42 2010 -0700"
      },
      "message": "am d8d60da6: Merge \"Update DownloadManager API to support bulk actions.\" into gingerbread\n\nMerge commit \u0027d8d60da616343b3520b666c385d0005db860be83\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d8d60da616343b3520b666c385d0005db860be83\u0027:\n  Update DownloadManager API to support bulk actions.\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": "2fbf4de64f0ec5052201cea9519c44d5b1789a40",
      "tree": "0cc6f4ce2c47e013cc0897b3db67c1248101cc72",
      "parents": [
        "c8cc6580ebec0a16c799a645e05a2b4e5cb066b2"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Sep 30 15:46:46 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 08 13:25:17 2010 -0700"
      },
      "message": "Holo theme progress and assets!\n\n* Light and dark dialogs\n* Checkboxes and radio buttons\n* Toggle buttons\n\nWarning! This is still a work in progress. This does not include final metrics.\nSome assets (specifically dialogs) are currently misaligned.\n"
    },
    {
      "commit": "b323559b13d8c8ced586f919c5ce083c1f5b74bc",
      "tree": "391040d5768e4532582edd5cd7c7fd5390143660",
      "parents": [
        "e0c8545a2369881fe09582337a9de3db2db1a951",
        "a2a1ca42bc07af77a8a10b714517d006cb66c36a"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 08 13:01:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 13:01:29 2010 -0700"
      },
      "message": "am a2a1ca42: Merge \"DropBoxManager.Entry implements Closeable\" into gingerbread\n\nMerge commit \u0027a2a1ca42bc07af77a8a10b714517d006cb66c36a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a2a1ca42bc07af77a8a10b714517d006cb66c36a\u0027:\n  DropBoxManager.Entry implements Closeable\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": "c6a69559cb62bd20166c0c9684e64c60d779da38",
      "tree": "acb3d14e5158255c4232733299d8a7775289280e",
      "parents": [
        "fdcd2660ec4e45b957b085d0814fd4f405675504"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Sep 27 17:05:04 2010 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Oct 08 09:50:45 2010 -0700"
      },
      "message": "Add getCurrentSyncs() to the SDK, which replaces the deprecated\ngetCurrentSync().\n\nChange-Id: I1112df41e48ed93ff4c0c5af4825dbdce0c4cccc\n"
    },
    {
      "commit": "b77455ee290691b036ac79236a93e57ff294ef0c",
      "tree": "4587efcb75fed3a221befa7936718876098b3680",
      "parents": [
        "779a6e41d7e5cdb27b802551249257d600dc2d27",
        "78d688369a2240009d3bbe4126996a973b2e2fe2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 07 20:13:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 20:13:24 2010 -0700"
      },
      "message": "am 78d68836: Implement tracking of package install times.\n\nMerge commit \u002778d688369a2240009d3bbe4126996a973b2e2fe2\u0027 into gingerbread-plus-aosp\n\n* commit \u002778d688369a2240009d3bbe4126996a973b2e2fe2\u0027:\n  Implement tracking of package install times.\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": "ea445758efba6b728d5e597402e9d9538f3ef451",
      "tree": "8f156bbb021b262b6dc7abb3eec99c4e6f520fbf",
      "parents": [
        "647ff64596399e0fa234622302e03facf84ee3f6",
        "08faac3c26e12863858e1534985dd950193f755f"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Oct 07 17:40:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 17:40:51 2010 -0700"
      },
      "message": "am 08faac3c: Unhide SIP API.\n\nMerge commit \u002708faac3c26e12863858e1534985dd950193f755f\u0027 into gingerbread-plus-aosp\n\n* commit \u002708faac3c26e12863858e1534985dd950193f755f\u0027:\n  Unhide SIP API.\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": "9580b8ce6553ddde03db594fd4fd4f59ca61c382",
      "tree": "bac634abd9cb09389028cbc9c3c2d80adbb7f3d2",
      "parents": [
        "bb70837397e3fb437b7b4443b37d7a83c11e6e43",
        "e6ad0e477b5d4326487059e5d6c4697f97accbd1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "message": "resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nChange-Id: I63b00932b0f8b975da31aa9a010369db2d49fd76\n"
    },
    {
      "commit": "e0ee2e9f3102c3c14c873a75a7b04e49787e0fb9",
      "tree": "2d1bc01eea7bed48b20ec89f7b2ed1fdd8521054",
      "parents": [
        "d5df1e5cfcc9e446626692cec72f53e3024fa455"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Oct 07 09:06:18 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Oct 07 12:27:06 2010 -0700"
      },
      "message": "New TimeInterpolator interface for android.animation package.\n\nThe new animation package\u0027s reliance on the old Interpolator interface (in\nandroid.view.animation) was an eyesore. Adding TimeInterpolator, and having the\nold Interpolator interface extend it, allows the new Animator classes to break\nthe tie to the older animation package completely. However, developers can still\nuse the older Interpolator-based classes, such as AccelerateInterpolator,\nbecause they all implicitly extend the new TimeInterpolator class.\n\nChange-Id: I41132fa56167ba564f4839113289114d0ea31a92\n"
    },
    {
      "commit": "47a44916e2fb33cf4751906386d5f5c903b28d8b",
      "tree": "55aad8ada6f34f17cf2bc18c006be80af094acf8",
      "parents": [
        "e743bd2bac1ed8a04d32def6e6ccfa5c9c180458"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Oct 06 16:03:58 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Oct 07 14:43:16 2010 +0900"
      },
      "message": "Add InputMethodEnabler for enabling input methods and subtypes\n\n- Copyed functionarity from LanguageSettings.java\n\nTODO: Save enabled InputMethodSubtypes\n\nChange-Id: I7b4fb1a79cb8b3229f88773d261430e23ba7aae2\n"
    },
    {
      "commit": "5ada6cb0591c1106e3591a3b7adcdc77a1322209",
      "tree": "63f563c6a3630c6d8a00c7eafe9848e0853b1195",
      "parents": [
        "c7912274b0e08365561531183bf2af106a48ec69"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 05 14:15:29 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Wed Oct 06 17:33:10 2010 -0700"
      },
      "message": "More drag/drop adjustments:\n\n* Make View.onDragEvent() public instead of protected.\n* No longer @hide View.startDrag()\n* Properly manage the boundaries of DRAG_STARTED / DRAG_ENDED notifications\n  to windows (and as a result don\u0027t send bogus empty DRAG_STARTED events or\n  double-recycle pooled DragEvents)\n\nChange-Id: Ib75f5c1417640c82a5b043c555e02d6e6f4b4d9c\n"
    },
    {
      "commit": "664d035829acd35f75fa82826d960efd72da3578",
      "tree": "e9bbe2a75f59a7f6f21a12eddb25e8f591f4eec8",
      "parents": [
        "38d509697c7d1f989509281cbd9cfaacf9a20ac3",
        "c7bfb13fd92cda6ae5894ed2ee63e1ab4d7b25ee"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Oct 06 16:16:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 06 16:16:56 2010 -0700"
      },
      "message": "am c7bfb13f: am 15f107b1: Merge \"New API stubs: NdefMessage and NdefRecord.\" into gingerbread\n\nMerge commit \u0027c7bfb13fd92cda6ae5894ed2ee63e1ab4d7b25ee\u0027\n\n* commit \u0027c7bfb13fd92cda6ae5894ed2ee63e1ab4d7b25ee\u0027:\n  New API stubs: NdefMessage and NdefRecord.\n"
    },
    {
      "commit": "ee7e0efcc1314b994ba70d91f6e8fa951044c916",
      "tree": "2b6e45903190cb26c1af272cda6cd2cdd8cbcdd1",
      "parents": [
        "65e8b476245255a96faaa70872a4196763a95e10",
        "59c4cb9e8fee03f770aa0fa1a2f0ec84ffb945b8"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Oct 05 16:46:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 16:46:05 2010 -0700"
      },
      "message": "am 59c4cb9e: Merge \"DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll\" into gingerbread\n\nMerge commit \u002759c4cb9e8fee03f770aa0fa1a2f0ec84ffb945b8\u0027 into gingerbread-plus-aosp\n\n* commit \u002759c4cb9e8fee03f770aa0fa1a2f0ec84ffb945b8\u0027:\n  DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll\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": "9ff82bf2b33513052500473d0d6d025a80dcecbf",
      "tree": "cc13541088a776d0cda3e02f340de89279dc8d2b",
      "parents": [
        "10bc36522592179622a0fa7b7f6fffba5907fbf5"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 05 14:30:51 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Oct 05 15:13:24 2010 -0700"
      },
      "message": "Adding next/prev to fragment animations and to PreferenceActivity\n\nAdding a new concept of \"next\" and \"previous\" to fragment.s Previously, fragments would\neither be placed onto or taken off of the stack, or would just replace the current\nfragment. The new next/prev capability gives the ability to run a transition that is\nspecific to next/previous operations, such as navigating forward and backward in a list.\nNew next/prev animations may be associated with a fragment replace operation to get the\nnext/prev animations built into the system (next animates things up, prev animates them\ndown).\n\nChange-Id: Ia9f3663bac009376420d845b396ac51b8e4d1647\n"
    },
    {
      "commit": "a0374192b9669d00d85840ee3ddbfd41c2cc52f3",
      "tree": "9d7b8a8f6d70d03da8f94ffcf7cbc16b08ccc6aa",
      "parents": [
        "38014763a2ceec005682066da01849adf95839bd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 05 13:06:41 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 05 13:14:25 2010 -0700"
      },
      "message": "Make View.DragThumbnailBuilder a static class\n\nIt also now uses a WeakReference to the associated View, not a hard\nobject pointer.\n\nChange-Id: I37e10b3155ee7e089a72bdf050cc2d323794810f\n"
    },
    {
      "commit": "38014763a2ceec005682066da01849adf95839bd",
      "tree": "85fa69bb159e80cb9ef23ba101bb9a47f656b955",
      "parents": [
        "54f9ac5880a33c8cd66ccb8930b175d1aca2a6f8",
        "89230e3b7b9ec455373e3f60b62ff65589a9c57d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 05 12:54:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 12:54:41 2010 -0700"
      },
      "message": "am 89230e3b: am 458fc5f5: Merge \"Fix issue #3041660: Camera image flips upside down when rotating device\" into gingerbread\n\nMerge commit \u002789230e3b7b9ec455373e3f60b62ff65589a9c57d\u0027\n\n* commit \u002789230e3b7b9ec455373e3f60b62ff65589a9c57d\u0027:\n  Fix issue #3041660: Camera image flips upside down when rotating device\n"
    },
    {
      "commit": "ef52176f1244a5bb98d82a0c8c7f4351edec17a1",
      "tree": "e4a298d382e690c0f0f1ba0c857d78ea47f4b3dd",
      "parents": [
        "066b5c5166c1f5342bd42aa0d68f784a5f4c1dd1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Oct 04 13:56:11 2010 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Oct 05 11:02:25 2010 -0700"
      },
      "message": "Changing AdapterViewAnimator to use the new animation APIs\n\nChange-Id: Ifefb83c391914ac623d75e0faca723b95786861d\n"
    },
    {
      "commit": "86214276e05d81e4820862341ce9e2e3c83cd136",
      "tree": "27d3db9d4e9d087a224c625e2085ff4e92cab793",
      "parents": [
        "a86a6c4e326bfdfc351dacca95b23bb78f78efbe",
        "7280f2155c37b00359c3fb050e2b067dcd74db40"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 04 18:55:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 18:55:32 2010 -0700"
      },
      "message": "am 7280f215: Merge \"Manually revert a single-line error inserted by OpenJDK.\" into gingerbread\n\nMerge commit \u00277280f2155c37b00359c3fb050e2b067dcd74db40\u0027 into gingerbread-plus-aosp\n\n* commit \u00277280f2155c37b00359c3fb050e2b067dcd74db40\u0027:\n  Manually revert a single-line error inserted by OpenJDK.\n"
    },
    {
      "commit": "2c095f367779ef32130c72849936a2e3013c8492",
      "tree": "f22e11880dff84df547fb39441b171985668905d",
      "parents": [
        "b6b193013d4641cbbf0170c98aebc5c3f6a2214b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 04 14:13:40 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 04 18:29:09 2010 -0700"
      },
      "message": "Refinements to drag/drop\n\nThumbnail measurement \u0026 drawing has been moved out into a delegate\nclass called View.DragThumbnailBuilder.  This consolidates the\nthumbnail-related code as well as ensuring that the drag initiator\ndoes not have to know a priori where to place the thumbnail relative\nto the touch point *before* the thumbnail measurement step, as was\npreviously the case.\n\nstartDrag() no longer needs to be told where the current touch point\nis at the time the drag is launched.\n\nDrag events are now dispatched only to VISIBLE views.\n\nDispatch shouldn\u0027t double-recycle events any more when the target\nwindow is local to the system process.\n\nChange-Id: I49419103765a0cad2e18ddfcdd6dacb94daf1ff1\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": "c7bfb13fd92cda6ae5894ed2ee63e1ab4d7b25ee",
      "tree": "033dec00bce4a7fd974ce6435463ff9abc85a2b5",
      "parents": [
        "e9e9467688d46b9a1b2f5599bab1fe154b2eaf02",
        "15f107b151deff1f25f1255bdbcb630ed576ac8d"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 04 18:27:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 18:27:27 2010 -0700"
      },
      "message": "am 15f107b1: Merge \"New API stubs: NdefMessage and NdefRecord.\" into gingerbread\n\nMerge commit \u002715f107b151deff1f25f1255bdbcb630ed576ac8d\u0027 into gingerbread-plus-aosp\n\n* commit \u002715f107b151deff1f25f1255bdbcb630ed576ac8d\u0027:\n  New API stubs: NdefMessage and NdefRecord.\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": "5e25c2c14593caee5638603120553ae1ec530f85",
      "tree": "228b6dcef055275321139b3c7ebd86c871456fcd",
      "parents": [
        "6fee4406b0f8928c30ffe944e65bc6a1bfa9e188"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Sep 16 11:15:56 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Oct 04 15:11:36 2010 -0700"
      },
      "message": "Add ability to automate animated transitions on View show/hide\n\nChange-Id: Id6ff92c8fd06c3f5fb30c41b020b4de4f567154f\n"
    },
    {
      "commit": "89230e3b7b9ec455373e3f60b62ff65589a9c57d",
      "tree": "4c84cfb1bb82905fc52e0d22cac80604dacdf535",
      "parents": [
        "8390651c124546a2600c5f830afbcc7d2edd4d8f",
        "458fc5f52e25d7a8b4e482010711aed66f0b4999"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:55:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 14:55:09 2010 -0700"
      },
      "message": "am 458fc5f5: Merge \"Fix issue #3041660: Camera image flips upside down when rotating device\" into gingerbread\n\nMerge commit \u0027458fc5f52e25d7a8b4e482010711aed66f0b4999\u0027 into gingerbread-plus-aosp\n\n* commit \u0027458fc5f52e25d7a8b4e482010711aed66f0b4999\u0027:\n  Fix issue #3041660: Camera image flips upside down when rotating device\n"
    },
    {
      "commit": "58520b24d40bb2587f394a52535dab4f2736bab1",
      "tree": "09b3f3ed6d4c68f0084df07a8b880884d109e071",
      "parents": [
        "5e9f64ce24b3381ee48f9e12242aba5216f136a4",
        "10d5b0966d1b6ab0e3b63c71d5325403e75b647e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:54:59 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:54:59 2010 -0700"
      },
      "message": "resolved conflicts for merge of 10d5b096 to master\n\nChange-Id: Id5c6ba651f72b48f0d70ee2ca64a6c9adf5e74f7\n"
    },
    {
      "commit": "a143e83e1e179ee587540150989cdfd220923f96",
      "tree": "6fbc0c5036845a9c06010490492a7118651e0c68",
      "parents": [
        "e14e8e31fa56ff96659c8ad03c3387aaa96fed2b",
        "7de900f3629e53e1a05b8d5854cf0164446346ae"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 04 14:28:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 14:28:08 2010 -0700"
      },
      "message": "am 7de900f3: am d29e6861: Merge \"Fix bug 3058324\" into gingerbread\n\nMerge commit \u00277de900f3629e53e1a05b8d5854cf0164446346ae\u0027\n\n* commit \u00277de900f3629e53e1a05b8d5854cf0164446346ae\u0027:\n  Fix bug 3058324\n"
    },
    {
      "commit": "10d5b0966d1b6ab0e3b63c71d5325403e75b647e",
      "tree": "f80bfe84762d9c46202a79c5320546593ae796f8",
      "parents": [
        "b12bfbd4df985041ab0e584ef5a746328baac038",
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:03:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 14:03:06 2010 -0700"
      },
      "message": "am 407f625a: Add new API to find out whether external storage is removable.\n\nMerge commit \u0027407f625a9b8e356e765a5ec587c443af1f3aadb5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027407f625a9b8e356e765a5ec587c443af1f3aadb5\u0027:\n  Add new API to find out whether external storage is removable.\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": "7de900f3629e53e1a05b8d5854cf0164446346ae",
      "tree": "dc7fe09746f9093fbeb5798c4f852a1c5b159e59",
      "parents": [
        "115b9dc3972ce52cd774856093f8c49a53a962c2",
        "d29e6861717a4e762050eb5a30169729e205d651"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 04 12:18:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 12:18:44 2010 -0700"
      },
      "message": "am d29e6861: Merge \"Fix bug 3058324\" into gingerbread\n\nMerge commit \u0027d29e6861717a4e762050eb5a30169729e205d651\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d29e6861717a4e762050eb5a30169729e205d651\u0027:\n  Fix bug 3058324\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": "dc549d60f98d809f626c99de614960409a847054",
      "tree": "bb40a8371811f1c591cc22afa331e57b3d091c9e",
      "parents": [
        "7d9c73fb6f6f79f7f92b77482a0edbd7b89f2564"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Sep 20 23:40:41 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Oct 04 22:14:53 2010 +0900"
      },
      "message": "Update of DRM framework.\n\n  - Change \"void\" type of return value to \"int\" for returning status.\n  - Add some of overloaded Java APIs which accept database Uri as input.\n  - Add asynchronous APIs\n  - Add OnEventListener and OnErrorListener for asynchronous APIs\n  - Disable debug log\n  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes\n\nChanges are incorporated by Sony Corporation.\n\nChange-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c\n"
    },
    {
      "commit": "7afbb30d636351334d101fd0caef391fa409230d",
      "tree": "1b38476ab7a834e2caf9022d1690803caa1cfa49",
      "parents": [
        "cc8c6496b7c0f0827aac57eef40c54b6412a7da6"
      ],
      "author": {
        "name": "Jason Chen",
        "email": "jasonchen@google.com",
        "time": "Fri Oct 01 19:44:17 2010 -0700"
      },
      "committer": {
        "name": "Jason Chen",
        "email": "jasonchen@google.com",
        "time": "Fri Oct 01 19:44:17 2010 -0700"
      },
      "message": "Fix the build\n\nChange-Id: Iedef9d315a304c73beb07e39d924dc65a7b73fc9\n"
    },
    {
      "commit": "1b065cd1401253f999caa5d0ac12909407cef00e",
      "tree": "6d26e9c2477308aa2a08c3f866f4a16d6b000412",
      "parents": [
        "efb8a3d6e058c8bc90bb9da6c58dde453f359851"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Sep 28 14:53:47 2010 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Oct 01 17:18:43 2010 -0700"
      },
      "message": "Added looping parameter to AdapterViewAnimator / StackView\n\nChange-Id: Iad36f7c0e657ffbae6dd17d0c9464ddf12de8b7b\n"
    },
    {
      "commit": "e0ad63bf1e038dd84ec2502243236f86104f990d",
      "tree": "f05b9ed0e839b84ae5f35025e1a50da56b68b2bc",
      "parents": [
        "866717406710595a487cdca33f698876dcd4e8af",
        "6718b365bcce5bd9e67867bd165d771c2226582d"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 01 13:57:04 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 01 13:57:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of 6718b365 to master\n\nChange-Id: I32762a4a3b00856f6765d50667b667264a385fc6\n"
    },
    {
      "commit": "6718b365bcce5bd9e67867bd165d771c2226582d",
      "tree": "0461f58b5fed78c8ea31e5a74919e95f880b2044",
      "parents": [
        "eeac43ad3c9b41c1679f3ab36064fa611106faf2",
        "32e60c7942eeba920ec5c27b372ec0899fd75a20"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 01 13:05:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 13:05:02 2010 -0700"
      },
      "message": "am 32e60c79: Update StrictMode\\\u0027s public API.\n\nMerge commit \u002732e60c7942eeba920ec5c27b372ec0899fd75a20\u0027 into gingerbread-plus-aosp\n\n* commit \u002732e60c7942eeba920ec5c27b372ec0899fd75a20\u0027:\n  Update StrictMode\u0027s public API.\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": "eeac43ad3c9b41c1679f3ab36064fa611106faf2",
      "tree": "f5765635a85c74a991623c7937801f069751a98d",
      "parents": [
        "57853559c31154db9c202d653065c592169c5027",
        "f7681f84918c27f6a626681ce37ed2a236c44e82"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Fri Oct 01 12:36:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 12:36:05 2010 -0700"
      },
      "message": "am f7681f84: Do not merge.\n\nMerge commit \u0027f7681f84918c27f6a626681ce37ed2a236c44e82\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f7681f84918c27f6a626681ce37ed2a236c44e82\u0027:\n  Do not merge.\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": "9e95468bbb4b4cb48d817cee2960681aa876b12a",
      "tree": "5ffd0bd5fd680ab72d34cb05f1244edc5598fbb3",
      "parents": [
        "1041bb7eec5163781442624fdc2fef42b41f7c54",
        "6ce5f60c791401ed0faf5d36baf4fc6612358676"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 19:46:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 19:46:46 2010 -0700"
      },
      "message": "am 6ce5f60c: am 38cf8867: Remove OBBs from state list when volume unmounted\n\nMerge commit \u00276ce5f60c791401ed0faf5d36baf4fc6612358676\u0027\n\n* commit \u00276ce5f60c791401ed0faf5d36baf4fc6612358676\u0027:\n  Remove OBBs from state list when volume unmounted\n"
    },
    {
      "commit": "6ce5f60c791401ed0faf5d36baf4fc6612358676",
      "tree": "d49732b6d288f5f9a7ad6f5a37b82a0fa66d7653",
      "parents": [
        "9af6b53676061db6fc9c18300dc7d8258f7306ab",
        "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:30:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 17:30:22 2010 -0700"
      },
      "message": "am 38cf8867: Remove OBBs from state list when volume unmounted\n\nMerge commit \u002738cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94\u0027 into gingerbread-plus-aosp\n\n* commit \u002738cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94\u0027:\n  Remove OBBs from state list when volume unmounted\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": "a53146c5569f8ff5f7eb55e9ad35d23ddacf2add",
      "tree": "2e29a19de07b5b6c721221b72a82392ff7452d8b",
      "parents": [
        "07b88ea0acd44ecd317ce37eb4338e5b0d2b52b0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Sep 07 11:57:52 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 30 16:29:07 2010 -0700"
      },
      "message": "Drag/drop APIs and infrastructure\n\nA View initiates a drag-and-drop operation (hereafter just called a \"drag\")\nby calling its startDrag(ClipData) method.  Within the processing of that\ncall, two callbacks are made into the originating View.  The first is to\nonMeasureDragThumbnail().  Similarly to the core onMeasure() method, this\ncallback must respond by calling setDragThumbnailDimension(width, height) to\ndeclare the size of the drag thumbnail image that should be used.  Following\nthis, the View\u0027s onDrawDragThumbnail(canvas) method will be invoked to\nactually produce the bits of the thumbnail image.\n\nIf all goes well, startDrag() will return \u0027true\u0027, and the drag is off and\nrunning.  (The other arguments to startDrag() provide reconciliation between\nthe current finger position and where the thumbnail should be placed on\nthe screen relative to it.)\n\nPotential receipients of the ClipData behind the drag are notified by a\nnew dispatch mechanism, roughly parallel to motion event dispatch.  The core\nroutine is the View\u0027s onDragEvent(event) callback, with the mechanics of\ndispatch itself being routed through dispatchDragEvent(event) -- as in\nthe case of motion events, the dispatch logic is in ViewGroup, with leaf\nView objects not needing to consider the dispatch flow.\n\nSeveral different event \u0027actions\u0027 are delivered through this dispatch\nmechanism:\n\nACTION_DRAG_STARTED: this event is propagated to every View in every window\n(including windows created during the course of a drag).  It serves as a\nglobal notification that a drag has started with a payload whose matching\nClipDescription is supplied with the event.  A View that is prepared to\nconsume the data described in this event should return \u0027true\u0027 from their\nonDragEvent() method, and ideally will also make some visible on-screen\nindication that they are a potential target of the drop.\n\nACTION_DRAG_ENTERED: this event is sent once when the drag point\nenters the View\u0027s bounds.  It is an opportunity for the View to set up\nfeedback that they are the one who will see the drop if the finger goes\nup now.\n\nACTION_DRAG_LOCATION: when the drag point is over a given View, that\nView will receive a stream of DRAG_LOCATION events, providing an\nopportunity for the View to show visual feedback tied to the drag point.\n\nACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point\nleaves the View\u0027s bounds.  The View should undo any visuals meant to\nemphasize their being the hovered-over target.\n\nACTION_DROP: when the drag ends at a given point, the View under that\npoint is sent this event, with the full ClipData of the payload.\n\nACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global\nbroadcast that the drag has ended and all Views should return to their\nnormal visual state.  This happens after the DROP event.\n\nChange-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6\n"
    },
    {
      "commit": "83129bba368d6f50d3e0920b8574611a741bed56",
      "tree": "1f58fe9a1bb45f12204ff0380f34185f654a7da1",
      "parents": [
        "ee0fc045dadc65de67af41dc26223dbffc87a574"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 30 14:53:09 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 30 14:57:21 2010 -0700"
      },
      "message": "Updated current.xml as autogenerated\n\nMy previous change included a manually-edited version of current.xml\nto get the build fixed.  This change includes an equivalent file as\ngenerated by update-api, so that the next person won\u0027t see a bunch of\nunexpected diffs.\n\nChange-Id: Ia244d90248ec54ddfa3b7344c09720c56ff201e3\n"
    },
    {
      "commit": "825bdff3b8d8837af936eac3066b3f402c0c070b",
      "tree": "5a05db00516dd4fb4726847f124d4acae1a37eaf",
      "parents": [
        "1eb98bdb448ea3bd7d4d2b6b2f3e3406a03fb21b",
        "538c3fa35fc67d07a19aa58f7b1f993e86da5e83"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 30 14:41:59 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 30 14:41:59 2010 -0700"
      },
      "message": "resolved conflicts for merge of 538c3fa3 to master\n\nChange-Id: I9190ca078ffd8b51515e3d53ac5753c05110c014\n"
    },
    {
      "commit": "20e987bfc35d0ae6cb6344ead65ed44ee7cf8750",
      "tree": "7ae616a2c7a21a09950760babb0b980c40e4651a",
      "parents": [
        "4f4870f0bb7009e6d974b5d2c371924214684735"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 23 12:01:02 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 30 11:52:48 2010 -0700"
      },
      "message": "Add MotionEvent Matrix transformations.\n\nFixed issued in ViewGroup\u0027s transformation of MotionEvents to ensure\nthat the entire historical trace is transformed, not just the current\npointer.\n\nSimplified the code in ViewGroup for splitting events across Views.\nThe new code also handles the case where some pointers are dispatched\nto the ViewGroup in addition to its children whereas the previous\ncode would drop some pointers on the floor.\n\nChange-Id: I56ac31903e1de8a9c376d9c935b7217b0c42d93e\n"
    },
    {
      "commit": "538c3fa35fc67d07a19aa58f7b1f993e86da5e83",
      "tree": "19beb0e6c44f3e3de7c37347de7c23572a4ce820",
      "parents": [
        "6bbc2f1562ddc1be65aafcce63896f5899596c2a",
        "cdcc0a65fae7e649f0f07e396dbe0dd59ceffada"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 30 11:42:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 11:42:16 2010 -0700"
      },
      "message": "am cdcc0a65: Merge \"Have download manager give more details when downloads are paused\" into gingerbread\n\nMerge commit \u0027cdcc0a65fae7e649f0f07e396dbe0dd59ceffada\u0027 into gingerbread-plus-aosp\n\n* commit \u0027cdcc0a65fae7e649f0f07e396dbe0dd59ceffada\u0027:\n  Have download manager give more details when downloads are paused\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": "62c37efc9e894809b29a004c142a8e0a6b374db7",
      "tree": "dbae7aaaba4464624c7483ee53a497ed592044c7",
      "parents": [
        "d362391b964f385c8e761e6004fc63fe452a24e4"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Aug 24 17:36:13 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Sep 28 19:53:53 2010 -0700"
      },
      "message": "New public APIs for BluetoothA2dp and BluetoothHeadset profiles.\n\nChange-Id: I1cc4b109542dfd62473cb95797c8c3d0d15725f4\n"
    },
    {
      "commit": "bff405f91001237ec94ec64f86fa2370c4509559",
      "tree": "c492bfa8bacef42800f47b1638b1812275cecb6d",
      "parents": [
        "e63f20b5fe373822758182226d7512859d8e8356",
        "d8e8186c887fe47977721315f439465771a96374"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 18:16:50 2010 -0700"
      },
      "message": "resolved conflicts for merge of d8e8186c to master\n\nChange-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5\n"
    },
    {
      "commit": "d8e8186c887fe47977721315f439465771a96374",
      "tree": "ff89a03f9a84484e3573508da6c72ecfbc4b04d6",
      "parents": [
        "f5bdeba197aba659e2dd3849a5bdfba8826c036d",
        "05105f7abe02b2dff91d6260b3628c8b97816bab"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:33:47 2010 -0700"
      },
      "message": "am 05105f7a: Update OBB API to include callbacks\n\nMerge commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027 into gingerbread-plus-aosp\n\n* commit \u002705105f7abe02b2dff91d6260b3628c8b97816bab\u0027:\n  Update OBB API to include callbacks\n"
    },
    {
      "commit": "d58429f9acdb33f05bdb233b7bba495de80cb336",
      "tree": "61af1836307d1b3741f7759dcc427ec984e2814a",
      "parents": [
        "92e86d40f2774b3c9c17f9e76b8688336fbcbcd5"
      ],
      "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": "Tue Sep 28 17:28:43 2010 -0700"
      },
      "message": "Manual merge: Move DownloadManager to android.app\n\nChanging package at hackbod\u0027s request.\n\nChange-Id: I867017b6a9f4684d30c6c5bd1b07f9cabecddb9f\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"
    }
  ],
  "next": "c49c17314d4b7f36e50a5b01edd6d4b13b940366"
}
