)]}'
{
  "log": [
    {
      "commit": "7bfbbcb04bf4ba8f3069b2df136f708c9849bacf",
      "tree": "da453e5f618eacb7cf63de3ef1344507feeecb0a",
      "parents": [
        "1db8cf12a985425a73d24875d9d308c14c0b4359"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 10 13:36:23 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 11 09:11:24 2013 -0700"
      },
      "message": "Refactor how the print dialog activity is started.\n\n1. Before the print job activity was started asyncronously with\n   respect to the print call on to the print manager. This was\n   creating a situation where the starting activity may finish\n   before the print dialog appears which may lead to an orphaned\n   print document adapter with no data to print (as the UI is\n   is gone), or strange behaviors where the print dialog starts\n   on as a separate task.\n\n   To address this the pending intent for starting the print\n   dialog is not started by the print spooler since we cannot\n   call into it synchronously as we have to start its process\n   and bind to the spooler service which leads to jankyness in\n   the client app. Now the pending intent is created by the\n   print manager service in the synchronous print call so\n   from an app\u0027s perspective calling print starts the activity.\n\n   The side effect of this design is that the print dialog\n   activity may start before the system is bound to the spooler\n   service. In such a case the print activity cannot start\n   poking the print spooler state as the system registers\n   callback to observe the spooler state. To address this\n   the print spooler activity disables the UI and also binds\n   to the spooler service which happenes immediately after it\n   is started. As soon as the print dialog binds to the\n   service it starts the UI.\n\n2. Fixed an bug in the printer adapter of the print dialog that\n   was leading to a crash if the only item in the adater is the\n   all pritners option and it is selected.\n\n3. Piping the package name that started the printing so we can\n   pass it to the storage UI as a hint to open the last location\n   the app used.\n\nbug:11127269\n\nChange-Id: Ia93820bdae0b0e7600a0930b1f10d9708bd86b68\n"
    },
    {
      "commit": "f971b1eec5f30b3ba2ed3dfc2737d51807cf0e4d",
      "tree": "0752e0c689747ec6f067a3dfffcc6a6ecac166b7",
      "parents": [
        "5bd70c5eb3ccb5d1eed3f1f7e924a4fb96b0a053"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 10 10:43:13 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 10 10:43:13 2013 -0700"
      },
      "message": "Revert \"Headphones volume warning disabled by default\"\n\nThis reverts commit 7cf06209dcdbadd41fabd7e4e7229832aa8ffff2.\n\nBug: 10297243.\nChange-Id: I95b9b34bb38550af493f9a585b6940c4e18e39cc\n"
    },
    {
      "commit": "4e6f752f237ac5c3d96d45d1fc60ec66e10ad63e",
      "tree": "22b6adaae763c54935bd7d7e6a8270d35a93063a",
      "parents": [
        "3855b99ff088abe5c25b35e0dc000644eb2d5fcb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 20 00:26:29 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 20 00:27:01 2013 -0400"
      },
      "message": "Put soundpooled sounds in the right place.\n\nBug: 10846839\nChange-Id: I5318c2d54ea0e25fa74bbafc35fb4f7a2883b351\n"
    },
    {
      "commit": "dcbdd3b420254ce39d9793c6fde6dd05436704ff",
      "tree": "f3ccad6bfd8d702971b670682b85a8e0355d961f",
      "parents": [
        "138685d9db005cbd62ede45eb066a2e672db9588"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 13 11:16:13 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Sep 18 23:09:58 2013 -0400"
      },
      "message": "New sounds for K.\n\nAudioPackage12 uses the new sounds (specifically the default\nversions at 44.1kHz); device-specific makefiles can elect to\nuse the 48k versions instead by including\nAudioPackage12_48.mk.\n\nBug: 9454760\nChange-Id: If714fc4b98f6700163f08c92a6376f28f9616382\n"
    },
    {
      "commit": "db8c1655ea4af060967cdaef9c1bc74a1003cdc8",
      "tree": "6e9cae349b71505ebf85b6803835d9f1f19e2245",
      "parents": [
        "b25cfdf1ece9163292e2b4c86910fe07b14c0afa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 10:16:12 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 10:27:40 2013 -0700"
      },
      "message": "Remove obsolete assets from target /system/media/video/\n\nThese were previously used for background replacement effect, but it seems\nlike they aren\u0027t needed any more and just take up space in filesystem.\n\nChange-Id: I0782ac0c8f109e4f28e9f43c20d30dc6ccd82ef7\n"
    },
    {
      "commit": "37ad207edc2b83ce23a35d1f0f4b7f3409151acc",
      "tree": "5126770ac3fbb28f019044dd779f644c7aa064e3",
      "parents": [
        "56960fbd39706278dbcb9d6ee95e16fa6eff6c6e"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 15:10:20 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 15:27:32 2013 -0700"
      },
      "message": "Fix broken copy of kl/kcm/idc files to system image\n\nBug: 10633915\nChange-Id: I244b85dc92d50bf8bdcfdf0fe32556eff8c5d279\n"
    },
    {
      "commit": "d82c8ac4db7091d2e976af4c89a1734465d20cd2",
      "tree": "a3ccb4d7a4325582dfe028030e4ca2d38ba4c2be",
      "parents": [
        "2a59f3f24076d96cbb10e1c00c3264dec43f19b1"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Aug 26 14:20:16 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 04 14:46:38 2013 -0700"
      },
      "message": "Transition API changes from API council recommendations\n\nIssue #10460684 KLP API Review: android.view.transition and android.animation\nIssue #10570740 Transitions: inflate transition targets from xml\n\nChange-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98\n"
    },
    {
      "commit": "23bf0e579064900efc5f18049b031f46fa61f7da",
      "tree": "59cc2017179402c550c03ce809de205abf8f8232",
      "parents": [
        "5bc1ea4e4ae0133d4d5eaa4ac98cf4719effd032"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 22 22:02:48 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 22 22:15:25 2013 -0700"
      },
      "message": "Add cleanspec for bitmap jni issue\n\nChange-Id: I0b270a8c1edd28a305e014ad7b0039f56787b25a\n"
    },
    {
      "commit": "490ca9c785d4e635c4cea49f04e671c0c8c0ad6c",
      "tree": "92d25da6d519208d953d1f0a4d7379336189f6b7",
      "parents": [
        "39c9c63295ad972a82076676a6cdaf34d9508f62"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Aug 22 12:13:44 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Aug 22 12:13:44 2013 +0100"
      },
      "message": "Fix incremental builds.\n\nAdd a cleanspec step.\n\nChange-Id: I449fb89334e73037087865e886d7108e7f60ffce\n"
    },
    {
      "commit": "b4f6a01d51612b9e50dffd95905e9c9add79b5d8",
      "tree": "dc551e921bfbdc96a90943ad1701712cabde4adf",
      "parents": [
        "a37e2346f8856e541cd1f4aa3546b5ac2fa5262b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 16:56:46 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 17:59:01 2013 -0700"
      },
      "message": "Adding a clean spec step for removed aidl files\n\nChange-Id: I350bf6c0dfae116898b13c9f2570c7263eff1814\n"
    },
    {
      "commit": "9ced3cd9d6ea414523051ec872fffc68f5fdbf08",
      "tree": "22d49c8bde1a17da9c9ff1588a3af3e176d0173a",
      "parents": [
        "58514937628dfcf3b2949e4cbc45d5526ecb8019"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 12 16:42:38 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 20 17:36:39 2013 -0400"
      },
      "message": "Change PacProcessor to Android Service\n\nThis switches the PacProcessor over to an Android Service.  The service\nis bound and unbound by the PacManager, which also adds it to the\nServiceManager, allowing for Context-Free access by the PacProxySelector\nin all DVMs.\n\nbug:10182711\nChange-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61\n"
    },
    {
      "commit": "ed735c9aeb34c42c4de95485385246d84c1727c2",
      "tree": "7eee89918e3fafa0f79a6ca254473e43cfbcf3d6",
      "parents": [
        "998cfa2c63c54a73d0c51d062408d370ed0b3107"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Mon Aug 12 09:33:38 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Mon Aug 12 09:33:38 2013 +0100"
      },
      "message": "Add missing cleanspec\n\nChange-Id: I92d6329e3c404249876e707048f6808f35fb019b\n"
    },
    {
      "commit": "798bed6cc7d273e72b0253288605db9cd2b57740",
      "tree": "b4278847c40cf910b69773c6205395ada02543ed",
      "parents": [
        "5893a97cbf398ca3e1bff5444454343d94e25a4c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 11 12:29:39 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 11 14:40:05 2013 -0700"
      },
      "message": "Refinement of the print service APIs.\n\n1. Factored out the printer discovery APIs of a print service in a\n   dedicated session object that is created by the print service on\n   demand. This ensures that added/removed/updated printers from\n   one session do not interfere with another session.\n\n2. Updated the app facing APIs to pass in a document info along\n   with a printed file. Also exposed the print file adapter so\n   apps that create a temporary file for printing can intercept\n   when it is read by the system so the file can be deleted.\n\n3. Updated the print service documentation.\n\nChange-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed\n"
    },
    {
      "commit": "5839d17223e30335179e82d2a7c55d5dc39c0119",
      "tree": "40e806e084b65a0df071e35e324733a15162f251",
      "parents": [
        "5b537bf320f22e892da1d827d54b77f558909a69"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jul 31 10:44:01 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jul 31 10:44:01 2013 +0100"
      },
      "message": "Add missing cleanspec.\n\nChange-Id: Ida9f3c7335a84b126f67535ff658b056a59247a9\n"
    },
    {
      "commit": "35d2e33136b607b94230b9e77da29878a530decb",
      "tree": "3ee06699936c394b9383fdc2e07108845baa3f52",
      "parents": [
        "cb9accefb19ba6ae6fd449dc9ab62e972b51335c"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Jul 30 16:31:12 2013 -0700"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Jul 30 16:31:12 2013 -0700"
      },
      "message": "Update cleanspec\n\nFix build break in master-chromium branch due to a forgotten cleanspec.\n\nChange-Id: If377c53bf3a82bff775f968ad8eb270e3c666837\n"
    },
    {
      "commit": "223cc8181553224e8ceaeca83d5a33fff497d6fe",
      "tree": "5e6557ef5c1327d5be1762f1afdb987f61ebbef0",
      "parents": [
        "8cf4e13e466bf7a9dc9a3bee73c8a74f3fc4bb85"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 25 08:23:20 2013 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 25 08:30:25 2013 -0700"
      },
      "message": "Use correct variables for the directories in CleanSpec\n\nThe comments in the file say what vars to use.\n\"out\" can change and should be replaced with $(OUT_DIR)\n\nBug: 7183057\nChange-Id: I3355d0e044f86709eee12873f47d7491b3f359b6\n"
    },
    {
      "commit": "0d6e7315eb302b5402535dca87ac2c4dad4709b8",
      "tree": "5cfe7ff4c350d85d457e1d2bfc054a018d7893fb",
      "parents": [
        "e58bb044701d0b092fb09103f14d9406a497c65b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 23 17:31:18 2013 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 23 18:04:24 2013 -0700"
      },
      "message": "add static dependency on liblog\n\nChange-Id: I8056aa744b37ef0c31229329a0de79c58c5955ea\n"
    },
    {
      "commit": "023140919545a4d7e559908d84fcc05493d8ee05",
      "tree": "b41828a0ff1eaf9b083d898e69c176d781fe4905",
      "parents": [
        "a8c7e3f86ab205a557c7b8cc1e8c6a61cec06f41"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 16 13:49:44 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 16 13:49:44 2013 -0700"
      },
      "message": "Add a clean spec rule due to renamed *.aidl\n\nChange-Id: I87bfd02b8c4f3ceb43594a91ac8f501a867ccfe6\n"
    },
    {
      "commit": "7cf06209dcdbadd41fabd7e4e7229832aa8ffff2",
      "tree": "c7ac7c3bd22aef5dfd7db7b2cb1bab0f1277e50f",
      "parents": [
        "db3c19fd406c9bb9688cb041856114cb54dbaeb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 04 16:48:41 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 03 17:59:03 2013 -0700"
      },
      "message": "Headphones volume warning disabled by default\n\nEnable headphone volume limitation explicitely for\ncountries where EN60950 is applicable.\n\nBug: 8877359.\n\nChange-Id: Ida9e6678ee451350b826492f0085726003f0d39d\n"
    },
    {
      "commit": "59076243120d1b5fd0c0ac84497da040c6cb186f",
      "tree": "6a5568baf9cf2b9cf707c4ea7be945ce2c35c6d4",
      "parents": [
        "44bd61efbfefb352ec2138915169eb63ff6724e5"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Jun 24 14:48:03 2013 -0700"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Jun 24 14:48:03 2013 -0700"
      },
      "message": "Update cleanspec.\n\nUpdate cleanspec to handle rename in I0df438e45ef540cc42c9ee5baafc816ebafa1c7b.\n\nChange-Id: Ifc5abe794017d1dbc4a49c645751b71e3b08c0ef\n"
    },
    {
      "commit": "45ac9645da0ceafbae8c00b0dd0a09800fdcefdf",
      "tree": "3bade83f348662e8a6e361a4f8088fdcf5b5776b",
      "parents": [
        "56cd646abeae51e806791f82ab0995fe047b1fe4"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 10 10:10:42 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 10 10:10:42 2013 -0700"
      },
      "message": "Allow carrier provisioning to turn toggle radio power.\n\nPreviously CarrierProvisioning toggle airplane mode, but now that\u0027s\navailable only by the system.\n\nBug: 9356811\nChange-Id: I5167f8614c07bafb688983a360a008f76403b2b8\n"
    },
    {
      "commit": "5feceebb892d4cb5777cea3c6174b206705d456b",
      "tree": "58feee1605f35b07e70887f4ec017d80b5687436",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Mar 22 18:29:23 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 19:54:44 2013 +0000"
      },
      "message": "New NotificationListenerService.\n\nThis is the best and only way for apps to listen for\nnotifications: create a NotificationListenerService, wait\nfor the NoMan to bind to you (as a result of the user\nchecking a box somewhere in Settings and agreeing to a\nscary dialog box), and you\u0027ll start receiving notification\nposted and dismissed callbacks. Your service, while enabled,\nwill also be able to clear one or all notifications.\n\nUse this power wisely.\n\nThis change moves StatusBarNotification out of\ncom.android.internal into android.service.notification.\n[Internal customers, including System UI and early users of\nthe system-only listener binder API, will need to be\nupdated.]\n\nBug: 8199624\nChange-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2\n"
    },
    {
      "commit": "c28867a1d67121ce5963de135e3ae2b1dbd9a33d",
      "tree": "95da9070093882f0b95ee197f45f5b4a5e348d96",
      "parents": [
        "37f180b4a52e4c1d0b6a7b400b6579b7ff25f307"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 26 15:42:39 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 26 15:42:39 2013 -0700"
      },
      "message": "Use input transport for communications between app and IME.\n\nThe input method manager service now supplies an input channel for\ncommunication while creating an IME session on behalf of the\napplication.\n\nThis change significanly reduces the overhead of IME event dispatch\nby using a standard input channel to send input events rather than\nusing binder.  This results in fewer thread context switches\nand fewer object allocations.\n\nWhat\u0027s more, the IME may perform additional batching of the motion\nevents that it receives which may help it catch up if it is\ngetting behind while processing them.\n\nBug: 7984576\nBug: 8473020\nChange-Id: Ibe26311edd0060cdcae80194f1753482e635786f\n"
    },
    {
      "commit": "52a53526265c801b70eaf6dab1acf5c3f628f8a6",
      "tree": "37e128cc5a301edb375a4c106a28634b7f8d69a1",
      "parents": [
        "95ae9429ee3555f4a1f396da423413ba496bdf33"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Mar 14 10:59:38 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Mar 21 17:47:40 2013 -0700"
      },
      "message": "Separate sessionCreated and finishedEvents callbacks\n\nBug: 8276952\nChange-Id: If7051086c060fcce5d1e958ebbddec0784c851da\n"
    },
    {
      "commit": "5a72553ef991d4821fcab4feaa3c1b23faca8724",
      "tree": "f97e7fbbe3777c306d531573144cfbb17e52bba2",
      "parents": [
        "484f3bdcd663d4ddc9521e788c45338b34a1691d"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 07 17:03:05 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 07 17:03:05 2013 -0800"
      },
      "message": "Move a few files from frameworks/opt/telephony to frameworks/base.\n\nBecause ISms.aidl imports PendingIntent we couldn\u0027t easily\nmake opt/telephony part of the PDK. So this change moves\nISms.aidl and SmsRawData.*, which ISms.aidl also imports,\nback to frameworks/base.\n\nChange-Id: Ia64c6e771d5a292d9bfebb413a43f3745df55c85\n"
    },
    {
      "commit": "d906a6cfff4c078c1fd4520e995cd8f835369cce",
      "tree": "3ae9a5416c4b3e99cf95fae89e4779cbea7908f9",
      "parents": [
        "923bd98f67d36cbafa58941fce5952fafd09de4b"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Feb 03 08:29:53 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Feb 03 08:29:53 2013 -0800"
      },
      "message": "Cleanstep for SmsRawData.\n\nChange-Id: Ic3ae3a501a733508808866494b3bca0fcc819f3e\n"
    },
    {
      "commit": "cbb2a2a207796a68eff26be001af2797594d3b3c",
      "tree": "ae7d166136064ba408035fa741bb944441fddb47",
      "parents": [
        "29e4aa7abe6b0c62f31fb23b8572cd5b91f08f5c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jan 28 15:27:47 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jan 28 15:27:47 2013 -0800"
      },
      "message": "Delete frameworks/base/voip use voip-common from frameworks/opt/net/voip\n\nChange-Id: Ieaba759a0f69b45c4b8839cbed1fe757cdf190c5\n"
    },
    {
      "commit": "545252f4fde6fbb70b07e97a120c7d1405758017",
      "tree": "e3238e5262e77cd91751c2302c30d828c539c55c",
      "parents": [
        "224333c03f1a9e14fce09207dc15d06365bf917b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 10 18:29:24 2012 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Dec 14 16:27:27 2012 -0800"
      },
      "message": "Refactoring of the screen magnification feature.\n\n1. This patch takes care of the case where a magnified window is covering an unmagnigied\n   one. One example is a dialog that covers the IME window.\n\nbug:7634430\n\n2. Ensuring that the UI automator tool can connect and correctly dump the screen.\n\nbug:7694696\n\n3. Removed the partial implementation for multi display magnification. It adds\n   unnecessary complexity since it cannot be implemented without support for\n   input from multiple screens. We will revisit when necessary.\n\n4. Moved the magnified border window as a surface in the window manager.\n\n5. Moved the mediator APIs on the window manager and the policy methods on the\n   WindowManagerPolicy.\n\n6. Implemented batch event processing for the accessibility input filter.\n\nChange-Id: I4ebf68b94fb07201e124794f69611ece388ec116\n"
    },
    {
      "commit": "152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891",
      "tree": "8e955c6db3279776dc6795e125513c4f2877ea44",
      "parents": [
        "4d58730ff587645778636e87312b1b17846fcac9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 12 20:15:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 03 10:38:48 2012 -0800"
      },
      "message": "Refactoring of the screen magnification feature.\n\n1. The screen magnification feature was implemented entirely as a part of the accessibility\n   manager. To achieve that the window manager had to implement a bunch of hooks for an\n   external client to observe its internal state. This was problematic since it dilutes\n   the window manager interface and allows code that is deeply coupled with the window\n   manager to reside outside of it. Also the observer callbacks were IPCs which cannot\n   be called with the window manager\u0027s lock held. To avoid that the window manager had\n   to post messages requesting notification of interested parties which makes the code\n   consuming the callbacks to run asynchronously of the window manager. This causes timing\n   issues and adds unnecessary complexity.\n\n   Now the magnification logic is split in two halves. The first half that is responsible\n   to track the magnified portion of the screen and serve as a policy which windows can be\n   magnified and it is a part of the window manager. This part exposes higher level APIs\n   allowing interested parties with the right permissions to control the magnification\n   of a given display. The APIs also allow a client to be registered for callbacks on\n   interesting changes such as resize of the magnified region, etc. This part servers\n   as a mediator between magnification controllers and the window manager.\n\n   The second half is a controller that is responsible to drive the magnification\n   state based on touch interactions. It also presents a highlight when magnified to\n   suggest the magnified potion of the screen. The controller is responsible for auto\n   zooming out in case the user context changes - rotation, new actitivity. The controller\n   also auto pans if a dialog appears and it does not interesect the magnified frame.\n\nbug:7410464\n\n2. By design screen magnification and touch exploration work separately and together. If\n   magnification is enabled the user sees a larger version of the widgets and a sub section\n   of the screen content. Accessibility services use the introspection APIs to \"see\" what\n   is on the screen so they can speak it, navigate to the next item in response to a\n   gesture, etc. Hence, the information returned to accessibility services has to reflect\n   what a sighted user would see on the screen. Therefore, if the screen is magnified\n   we need to adjust the bounds and position of the infos describing views in a magnified\n   window such that the info bounds are equivalent to what the user sees.\n\n   To improve performance we keep accessibility node info caches in the client process.\n   However, when magnification state changes we have to clear these caches since the\n   bounds of the cached infos no longer reflect the screen content which just got smaller\n   or larger.\n\n   This patch propagates not only the window scale as before but also the X/Y pan and the\n   bounds of the magnified portion of the screen to the introspected app. This information\n   is used to adjust the bounds of the node infos coming from this window such that the\n   reported bounds are the same as the user sees not as the app thinks they are. Note that\n   if magnification is enabled we zoom the content and pan it along the X and Y axis. Also\n   recomputed is the isVisibleToUser property of the reported info since in a magnified\n   state the user sees a subset of the window content and the views not in the magnified\n   viewport should be reported as not visible to the user.\n\nbug:7344059\n\nChange-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2\n"
    },
    {
      "commit": "131549dd7b264e138562e8268ac45d6b0ef919e2",
      "tree": "f274e3e789b072b4fa8c9484ad46f3ebd9fabaf8",
      "parents": [
        "c1d1ececd83104c3de889928175b9f4fdcbbb131",
        "98a09c64d52aa1166a09ab071049bc3536def1cd"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Fri Nov 30 13:26:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 13:26:03 2012 -0800"
      },
      "message": "am 98a09c64: am 43174b7d: am 718fb9f1: Fix sample code issues\n\n* commit \u002798a09c64d52aa1166a09ab071049bc3536def1cd\u0027:\n  Fix sample code issues\n"
    },
    {
      "commit": "718fb9f12e31d92e8a81b08f0f2d818dd3654b9c",
      "tree": "e802e5a64382adbd73c139e869b4b913aa88e0f9",
      "parents": [
        "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Nov 29 19:02:18 2012 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Fri Nov 30 12:32:36 2012 -0800"
      },
      "message": "Fix sample code issues\n\nCorrect min SDK.\nCorrect file extension on mandelbrot\n\nChange-Id: I508c22c382f1a930b27d8c5f4414cac3a990a332\n"
    },
    {
      "commit": "aeb3751559dc6a8ed71a9463700941303cf44ba0",
      "tree": "23b68899cfdf803e673339edf166775223df250f",
      "parents": [
        "38ddedc8adfc4d58f4bebe4a51149e4768d42f70",
        "9cd8c711a7ed0690e268fc930e6f8d0d594c17e5"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Nov 30 10:05:20 2012 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Nov 30 10:05:20 2012 -0800"
      },
      "message": "resolved conflicts for merge of 9cd8c711 to master\n\nChange-Id: I5e2d13c44f6a0589648e5934c8c36790da85e828\n"
    },
    {
      "commit": "1b86d75d312996133bc0c74fcb1f2c9f2a83fba0",
      "tree": "2ca0db119fb2d3644a919ac66642cba8f775a71f",
      "parents": [
        "71175f727bc1e094e72a410aca62392badffbf11"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Nov 29 11:05:42 2012 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Nov 29 12:52:51 2012 -0800"
      },
      "message": "Remove unused IExtendedNetworkService\n\nIt was used in the cupcake era for docomo.  Is not used anymore.\n\nBug 7633569\n\nChange-Id: I2ec826fc9a70d261a340957a937ed4c9f8e67c5c\n"
    },
    {
      "commit": "ee5668cf50dbd49f1ee25fd0a767d711eb5ab69d",
      "tree": "844c3c0d69e315019324febab1ddca04fb006ad6",
      "parents": [
        "16a5ad8345f2518947bbd47f072a02fd97dd1c67"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 23 10:33:15 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 23 16:34:21 2012 -0700"
      },
      "message": "Audio assets at 48000 Hz\n\nBug: 7397767\nChange-Id: If62c2219adf61f0c1b2115a83b7394d76829c028\n"
    },
    {
      "commit": "d3d6570df4f39af697ba090fa8069aef6acfbcf4",
      "tree": "e802efda60607e84735a1af232f2bf942ea81cc7",
      "parents": [
        "6b77a76d3f8f04a4faf53c95acdbaeccafe3cf72"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 11 16:12:46 2012 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Oct 12 14:50:49 2012 -0700"
      },
      "message": "Port ImageProcessing to Filterscript.\n\nThis enables testing of the Filterscript front-end for llvm-rs-cc.\n\nBug: 7166741\nChange-Id: I90bda9d2710c6652336a8c112b5654c5da3d14e4\n"
    },
    {
      "commit": "b2ae7a1a18ab278f6aed8d2b16576aa8361b358e",
      "tree": "b45cbf1dbbfc4a5e6ce5befad8551281fe83d9c7",
      "parents": [
        "fa5bc081593891959c143e0de9e59dd076a47b42"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Oct 10 18:17:53 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Oct 10 18:17:53 2012 -0700"
      },
      "message": "Update compatibility library tests\n\nbug 7327728\n\nChange-Id: If3f85fb8944d7217a4d5c035f522d1ecc7af3a07\n"
    },
    {
      "commit": "1dd273a7df89214c60a2e1ad87db224331f877c6",
      "tree": "9458e5c2733a57ebe45acb99ce9f2eb2ee202ae7",
      "parents": [
        "97e9ee2ea894a6946f3d6346b5d258ed1ca9eae8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Sep 20 09:12:43 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Sep 20 09:12:43 2012 -0700"
      },
      "message": "add cleanspec.\n\nChange-Id: I5aa58efa7c48809d1f05c8ad48332508597b9869\n"
    },
    {
      "commit": "92bd5f95ca078a795db7c2efd30e85d4260561de",
      "tree": "4396db49005a0df2562512acbe09ba16f8e680f3",
      "parents": [
        "7914fdbfa6bf49b1b346c40e1f234b2a8ed7bc63"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 12 10:31:06 2012 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 12 10:31:06 2012 -0700"
      },
      "message": "Update cleanspec\n\nmms and telephony have been moved remove the framework_intermediates.\n\nChange-Id: I49c2128ebaddfdae6cfa91913b739900d0f8d91b\n"
    },
    {
      "commit": "708e6bc6526990f447326d13702e79d5630303b8",
      "tree": "e573c6e5c869490b8ee4a4a4411011250df052e3",
      "parents": [
        "4323d6ea5143a3f2c419b3db28f956755652d78a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 13 15:17:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 13 15:34:38 2012 -0700"
      },
      "message": "Remove Disco video from builds.\n\nBug: 6294985\nChange-Id: Idde6148b94a55a27740f3b4f82c2038272f06628\n"
    },
    {
      "commit": "7b1e0c7046abefc0b40884b36197c8a803d9cf6d",
      "tree": "65033ef86abd0146f183b8ed423081c057fa8a17",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 11:57:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 12:39:51 2012 -0700"
      },
      "message": "Removing default accessibility gesture handling.\n\n1. The initial design was to have some accessibility gestures\n   being handled by the system if the gesture handling access\n   service does not consume the gesture. However, we are not\n   sure what a good default is and once we add a default handler\n   we cannot remove it since people may rely on it. Thus, we\n   take the simples approach and let the accessibility service\n   handle the gestures. If no gestures are handled the system\n   will work in explore by touch as before.\n\nbug:5932640\n\nChange-Id: I865a83549fa03b0141d27ce9713e9b7bb45a57b4\n"
    },
    {
      "commit": "8e638dc335900c2e886dc4ee9c2c28c010ab8f4d",
      "tree": "168dbfea77761e97ccfd977607de94ef5b8b510d",
      "parents": [
        "4e1cb3b7942d3ca05918604358b4ef83815ce448"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:27:11 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:27:11 2012 -0700"
      },
      "message": "Add missing clean steps.\n\nChange-Id: Iecb3ff4d6658e581e51414bdfc397953189e66cb\n"
    },
    {
      "commit": "b43a1e5ddf274eb5e01dc8e450bd15b640bebe9f",
      "tree": "bf9d1b5d92ef8f65afd8c51016a5da7130bc6d3e",
      "parents": [
        "f9c1f9935b349fe1a3f27be4462026dd212f8b78"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 28 14:18:15 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 28 14:18:15 2012 -0700"
      },
      "message": "Moving libRS\n\nChange-Id: I1e42204e862585b9c2f7818b615890c60f08faf6\n"
    },
    {
      "commit": "4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e",
      "tree": "36df1bce8fe7295d0ab778ca519232a291a3294f",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 17:05:00 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 18:02:16 2012 -0800"
      },
      "message": "Rename CancellationSignal using preferred spelling.\n\nBug: 5943637\nChange-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265\n"
    },
    {
      "commit": "882ed3747145ca68b3acb26636be7a39755b5548",
      "tree": "b19e69a0d5055b0bf4c001f0b43c47bbd3be230f",
      "parents": [
        "2cba116c27f52fa7545d5131ff9e18294d87e81a",
        "83cf0313075d41b602fdbd808cd06a6efd40a43a"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 16:46:35 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 16:46:35 2011 -0700"
      },
      "message": "Resolved conflicts for merge of 83cf0313 to master\n\nChange-Id: Ib66ee7e34d0c4d845004bce635ee1ef300d3b344\n"
    },
    {
      "commit": "62dce9b57477a02f53c8038d8f2c60480509eabe",
      "tree": "8a84c461b6c7995062a34522d720af7706551e29",
      "parents": [
        "9e7caa0b270f8cea1fd2a61c5bffcf0df1037970"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 15:05:49 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 15:57:41 2011 -0700"
      },
      "message": "Ensuring previous sounds are named correctly\nBug: 5416299\n\nChange-Id: I0f2cd229be02908553368d6ff19977a0ebd3e613\n"
    },
    {
      "commit": "8e359817da14f6a4ffcf3bf4f7a59bc4fef8c211",
      "tree": "20579ef86aa311879c2fde554c076b4f41a967f4",
      "parents": [
        "ad9c5718daa556fb6907c3f600ea505c1ec3aca0"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 06 11:14:13 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 06 16:00:58 2011 -0700"
      },
      "message": "Make symlinks for DroidSans.ttf and DroidSans-Bold.ttf\n\nBug: 5420351\n\nMake the following symlinks:\n/system/fonts/DroidSans.ttf -\u003e Roboto-Regular.ttf\n/system/fonts/DroidSans-Bold.ttf -\u003e Roboto-Bold.ttf\n\nChange-Id: If9a74ef4ac2386cdb46d125fed8ce5771e872310\n"
    },
    {
      "commit": "d5b9b26081b09ecd1a9701e3320bf969ae481f66",
      "tree": "527a2e21938f9f673396817281dc3114307afb6b",
      "parents": [
        "7c2d205298efcc81f6c48ee1605eae12f7d0f7fe",
        "121e805af449ccee802ae0001f4d8eaf531e6b2d"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 17:06:26 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 17:06:26 2011 -0700"
      },
      "message": "Resolve conflicts for merge 121e805a to master\n\nConflicts:\n\tCleanSpec.mk\n\nChange-Id: I750218dbd78e15c1ae3324b3bcfbcd28a4da2676\n"
    },
    {
      "commit": "18f3656eb58627fac4c788c75c9638968378d1d8",
      "tree": "c2929e19de7c0909f04d14352d71732bd43f08f7",
      "parents": [
        "8b42fcef5ac33d94b76e3002861d4ea4081a6a4f"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 15:37:43 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 16:06:09 2011 -0700"
      },
      "message": "Adding additional variety to sound set 7\n\nChange-Id: I3f8c806258e47dc3b78ce81fd582722753573b54\n"
    },
    {
      "commit": "46b20e7f41ded340596b732aaf08cc2d05a8e842",
      "tree": "7966ffcd11def5209293717779060fffda88687a",
      "parents": [
        "2d56123b110ff20dd849875be328f1712d128dee"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 29 18:07:41 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 29 20:02:05 2011 -0700"
      },
      "message": "Correction the use of SMALLER_FONT_FOOTPRINT\n\nSMALLER_FONT_FOOTPRINT is a BoardConfig variable that\u0027s only available\nin Android.mks but not product config makefiles.\n\nChange-Id: I1784b6e8c744ffcca1538e76d338f5800f150e72\n"
    },
    {
      "commit": "48704d4962f2120c62726eaa8bc6ec2d8a71071d",
      "tree": "788af0bb7d0cd1f189f14bfe8e599bbcd3c0fbad",
      "parents": [
        "a6ccaa736d18d1ee375162e9df9d2aad8db869e5"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Sep 22 16:05:43 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Sep 26 09:47:18 2011 -0700"
      },
      "message": "Updated key and effect sounds\n\nChange-Id: Ia7c771ed59bf1803ed7ff25d338a412906cf59c0\n"
    },
    {
      "commit": "9d8c7e82424ae2a8256157e288deb37d51509f13",
      "tree": "b82a758887bc814839f6cba9a5b9985b9d14c556",
      "parents": [
        "b20d378cec09da18301eb9c33bc88251beb81042"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Fri Sep 23 14:57:32 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Fri Sep 23 15:09:52 2011 -0700"
      },
      "message": "Replaced Lohit_Hindi with Lohit-Devanagari\n\nLohit-Devanagari is now provided by external/lohit-fonts, replacing\nLohit_Hindi from here. Removed font from fonts.mk and renamed in\nfallback_fonts.xml.\n\nBug: 5364436\nChange-Id: I0b8f65dbfdbec1802fba526209d7f88d2cf64fc4\n"
    },
    {
      "commit": "cd3f83a55455c85fe8822e58024063d52a6d0e1c",
      "tree": "7268468ee435eb11023d0533dc62ced988d3e76f",
      "parents": [
        "88b18eb8c2034e9de35482cc737ef8d608d55867"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Sep 20 17:50:39 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Sep 20 17:50:39 2011 -0700"
      },
      "message": "Adding missing cleanspec for audio file cleanup\n\nChange-Id: I469601a2112994c466281a4959806a4179ffe245\n"
    },
    {
      "commit": "651cdfcbac6245f570475991588ddc2d30265e8d",
      "tree": "0d7292e4a1a9a8bd12d964054200ccdac5622277",
      "parents": [
        "e0946eb270e669ac470467dbda033a443ee5d1cc"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Sep 07 00:31:20 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 13 16:04:00 2011 -0700"
      },
      "message": "Unhide wifi p2p API\n\nBug: 5247957\nChange-Id: Id93e30c0cb60f361ba13a840de8f843415777336\n"
    },
    {
      "commit": "489a9d81fd1458940e1ec01ba0cef36843732479",
      "tree": "870e643bc1ab71a5f82f02a74f9d9f40169c8eca",
      "parents": [
        "dff28d5293c16ac75f6db7a1c3b78fbaad1f2f6a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 06 22:17:50 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 06 22:32:58 2011 -0700"
      },
      "message": "Rename WpsConfiguration to Wps\n\nFor the purpose of exposing the class as a storage for Wps\ninfo with p2p, it is better to just call it Wps\n\nBug: 5247957\nChange-Id: Iaebef958dd8f08fdbeb4b9d7fa5ad5527400710d\n"
    },
    {
      "commit": "c84c89a6cacaf16c1ba41f57cc1aecdb150e85f9",
      "tree": "f3521ac470b3f5785500797fe12af193ab320ced",
      "parents": [
        "359ef7985316397564a6a999d77f6cc1edab7373"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 22 22:27:11 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 26 17:28:45 2011 -0700"
      },
      "message": "Improve NDEF push API\n\nIntroduce\n  setNdefPushMessage()\n  setNdefPushMessageCallback()\n  setNdefPushCompleteCallback()\n\nDeprecate public API\n  enableForegroundNdefPush()\n  disableForegroundNdefPush()\n\nHide \u0026 Deprecate staged (public but never released) API\n  enableForegroundNdefPushCallback()\n\nThe new API\u0027s do not require the application to explicitly call\nenable()/disable() in onPause()/onResume(), we use a Fragment behind\nthe scenes to manager this automatically.\n\nNDEF Push can be disabled by using a null parameter, so each\nenable()/disable() pair is collapsed to a single set() call.\n\nApplication code should now look something like:\n\n    public void onCreate() {\n        NfcAdapter adapter \u003d NfcAdapter.getDefaultAdapter(this);\n        if (adapter !\u003d null) {  // check that NFC is available on this device\n            adapter.setNdefPushMessage(myNdefMessage, this);\n        }\n    }\n\nAnd that\u0027s it - no need to explicitly hook into onPause() and onResume() events.\n\nAlso - introduce a generic NfcEvent class that is provided as a parameter on\nall NFC callbacks. Right now it just provides the NfcAdapter, but using\nthe wrapper classes allows us to add more fields later without changing\nthe callback signature. (i\u0027m thinking Bluetooth).\n\nChange-Id: I371dcb026b535b8199225c1262eca64ce644458a\n"
    },
    {
      "commit": "8370ba9e20d1108c12764747362f98bfa1686b62",
      "tree": "9ee360eda74749c301f0746941ae5e54f301db3d",
      "parents": [
        "09d569a57e7c8f3d8d6a5f2204643988ae36e07c"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Aug 23 14:40:41 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Wed Aug 24 09:40:25 2011 -0700"
      },
      "message": "Updated phone sounds\n\nChange-Id: I88df6ad7ca8e96f163d968540420fd1cde410008\n"
    },
    {
      "commit": "4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca",
      "tree": "27528bb34ea1b83f0c798ac975fd27c38f5869c1",
      "parents": [
        "0197d825f15844e51b91a0006d411ecb06350641"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 18 19:16:47 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 11:23:22 2011 -0700"
      },
      "message": "Bug 5045498 New implementation of remote control API\n\nRemote control displays expose an IRemoteControlDisplay interface\n which they register through AudioManager.\nRemote control clients create a RemoteControlClient object, which\n implicitely exposes an IRemoteControlClient interface registered\n in AudioService through AudioManager.\nAudioService tells all clients and displays when a new client\n is the one that should be displayed.\nA client\u0027s data gets sent to the display when it is valid, or\n it sets new data (while being valid).\n\nThe implementation for setting metadata and album art is temporary,\n and will migrate to the MetadataEditor API in future CLs.\n\nChange-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548\n"
    },
    {
      "commit": "178889eff7fa3361a5cb08d6d43846a1baf5216b",
      "tree": "e4ae523d0c72f27366cbb7b63f8043bb694eb56c",
      "parents": [
        "ed2d658af0856fb800631b9dfbced0ff2b9ca037"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 15 17:17:52 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 17 09:53:12 2011 -0700"
      },
      "message": "Bug 5045498 RemoteControlClient interface\n\nDefine a RemoteControlClient interface that applications must\n implement and register to be displayed on the lockscreen.\n\nChange-Id: I67276ae653f203e76727432231f1d76535c31942\n"
    },
    {
      "commit": "b12c6b8e21165655f19ab7fd1ed944bf50b0b722",
      "tree": "a4cd8753bd6c25e27698648c0f3a5604f0d9b96a",
      "parents": [
        "2e347429dfcd03b0827c7506ba6305ab0d1f4951"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 11:45:43 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 11:45:43 2011 -0400"
      },
      "message": "Fixed cleanspec.\n\nChange-Id: I3125487d2ffbe389f141537f5a974366e7ce5a91\n"
    },
    {
      "commit": "2e347429dfcd03b0827c7506ba6305ab0d1f4951",
      "tree": "7468ee42f99379f3c6cc59d80ee09f8d34516ae2",
      "parents": [
        "b858ec559e8c6a13f6d2212a11f3f952e43259f6"
      ],
      "author": {
        "name": "Christian Robertson",
        "email": "robertsonc@google.com",
        "time": "Thu Aug 11 14:01:04 2011 -0700"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 10:15:31 2011 -0400"
      },
      "message": "New RSSI cluster in status bar.\n\nBug: 5147463\n"
    },
    {
      "commit": "c3afd39c6722cd57307fd90aee405179aea77f6b",
      "tree": "e6dade096f021ce59a32f2c728ba0c8f39237972",
      "parents": [
        "33e6ad6eed598e4a8f328613d22ef439404373dd"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Jun 29 22:02:42 2011 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Aug 02 15:30:26 2011 -0500"
      },
      "message": "Remove the binder interface for LLCP.\n\nChange-Id: Idc9631cdbcac1435e285c656948a37315e32515d\n"
    },
    {
      "commit": "972d92f47c3606fee7e47e6f9833d55eaf051ace",
      "tree": "9c0fd41bab065c2397b3a9ca65ffb71fdcff2c9c",
      "parents": [
        "34e7813e962de99df9813014678ef5901227c5f1"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jul 03 17:01:12 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jul 03 17:01:12 2011 -0700"
      },
      "message": "Add CleanSpec.mk for change If98e456e779f8e97f562d99c57d909b1f5d9db55.\n\nChange-Id: I0aeb6355ab856bdfaafba0d2ab13801c73a9cf44\n"
    },
    {
      "commit": "93201f545b67da15cb69830a5988810aef52c0b2",
      "tree": "1386ffcba41a1e94de13ea6920cf11a296b8b9c6",
      "parents": [
        "e1a255a89f64730272a66b93f82ec348989a0899"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 15:05:35 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 21:11:06 2011 -0700"
      },
      "message": "KeyChain API refinements\n\nChange-Id: I177ab4642e6cd1aa13526c14f0a707175fd79655\n"
    },
    {
      "commit": "75279904202357565cf5a1cb11148d01f42b4569",
      "tree": "db3b40af4fdfda1d46d1d4c9e471bf4630656036",
      "parents": [
        "77c1cc0aa4d088f54c3b36a05a19acfa5295c4da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 24 18:39:45 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:44:52 2011 -0700"
      },
      "message": "Collect historical network stats.\n\nPeriodically records delta network traffic into historical buckets to\nsupport other services, such NetworkPolicyManager and Settings UI.\n\nIntroduces NetworkStatsHistory structure which contains sparse, uniform\nbuckets of data usage defined by timestamps.  Service periodically\npolls NetworkStats and records changes into buckets.  It only persists\nto disk when substantial changes have occured.  Current parameters\ncreate 4 buckets each day, and persist for 90 days, resulting in about\n8kB of data per network.\n\nOnly records stats for \"well known\" network interfaces that have been\nclaimed by Telephony or Wi-Fi subsystems.  Historical stats are also\nkeyed off identity (such as IMSI) to support SIM swapping.\n\nChange-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a\n"
    },
    {
      "commit": "93c612e2e74c587e2056bab1826ea28c82a61c51",
      "tree": "3ddbc64bfa6469ba64d7d40388f793266f3d7a1f",
      "parents": [
        "e4ba346f0f1bb153ec1f9da5c0a4fc96c301efda"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed May 11 14:15:13 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 12 11:24:13 2011 -0700"
      },
      "message": "The decoder wrapper is no longer needed. Also disable building old-style decoders.\n\nChange-Id: Ie022f1a6dffe619c1b0385aa13f63e097282cfe4\n"
    },
    {
      "commit": "50e657bb2d005568f5dd8bc1d904d07b0d94018f",
      "tree": "bcf319e64984c80f4793602aeb366e7f6b33afdd",
      "parents": [
        "720dd9a89857512d14adabea4efbb542d25fbb02"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Mar 08 16:00:40 2011 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Apr 15 10:04:31 2011 +0100"
      },
      "message": "Add Java API for writing TTS engines\n\nThis removes the old non-public C++ API for TTS\nengines and replaces it with a Java API.\n\nThe new API is still @hidden, until it has been approved.\n\nBug: 4148636\nChange-Id: I7614ff788e11f897e87052f684f1b4938d539fb7\n"
    },
    {
      "commit": "a64e2ad4da3612586594a19489a2b5d44f3f23a0",
      "tree": "1c682135210ff543b511152425bc0406b754780d",
      "parents": [
        "2d24213fca55fece8ce4a69a53abcd45983b0443",
        "38d0d5628d36bb1c2a8353a2b3e1a041e9e84652"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Mar 14 10:28:11 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Mar 14 10:28:11 2011 -0700"
      },
      "message": "resolved conflicts for merge of 38d0d562 to honeycomb-plus-aosp\n\nChange-Id: Iff9ea08b810b0d142a9227272492c0305a9bcf42\n"
    },
    {
      "commit": "367f41f8f61126c2ab34a34cc676756a9fc23ac2",
      "tree": "263a6f3501d1d435dd3da49a0c8cca8787edf544",
      "parents": [
        "dfcb8c511635431d536fd3ef1894378f4424ef1a"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Mar 08 11:43:30 2011 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Mar 10 16:03:46 2011 -0800"
      },
      "message": "Implement new NFC-EE API\u0027s as shared library (frameworks/base).\n\nChange-Id: I45c4eaf59ec78167fc236fdd59676465a5e1bcb7\n"
    },
    {
      "commit": "c4308f01c965571dc2354107c3574df113e397ee",
      "tree": "fa0c8c934147ab99f2ff6aec87edfb7266ba7890",
      "parents": [
        "43cdf9b4191e18b5a4d646d23b06438c0e10b8dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:04:54 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:07:20 2011 -0800"
      },
      "message": "Move USB framework support from android.hardware to android.hardware.usb package\n\nChange-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9b39dcefcfab8cfe802304bcd2bb1bf33ea6a25a",
      "tree": "409c12b67a7ca8fb166da0e2533e67a33d3b8888",
      "parents": [
        "3b36ff48f1d64022366b180c75fa9ef9d034f9e8"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 22 16:43:49 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 22 16:43:49 2011 -0800"
      },
      "message": "Fixing incremental build.\n\nChange-Id: I8b1d952384581279cd1d2934de6bb23bfabd640d\n"
    },
    {
      "commit": "de39851592679a545b8b6fb749507ccc7ec407f9",
      "tree": "307f285b8f44d262a9dd1c9050b5925fb95c2765",
      "parents": [
        "b098f73556ae31f505782d2fe7028b83d1564147"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 18 18:45:21 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 19 16:13:18 2011 -0800"
      },
      "message": "Hook up large heap API.\n\nChange-Id: I215644f8de326fe3d4fa582447885b0aa01f72d3\n"
    },
    {
      "commit": "d285415e8ae193949b4236bd78ca6cdd28d99c72",
      "tree": "c2f37ed1e2a1905f5e8edd1f9b3b79f83bf5e442",
      "parents": [
        "6a9e0360d8691e1a2ace9d79e5b698593d26daaf"
      ],
      "author": {
        "name": "James Wylder",
        "email": "james.wylder@motorola.com",
        "time": "Thu Nov 11 16:09:45 2010 -0600"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 09 12:00:58 2010 -0800"
      },
      "message": "libstagefright: Compile MP3 \u0026 AAC decoders in 32bit ARM Mode\n\nSpeeds up the decoding leaving more time for cpuidle (lp2),\nthus lowering overall current drain.\n\nChange-Id: Ia4e0636b1813810072fe0a4f94f6921adf2eab31\nSigned-off-by: James Wylder \u003cjames.wylder@motorola.com\u003e\n"
    },
    {
      "commit": "089c3c7c0bea4610a5dcb9653e8ddfe06c101318",
      "tree": "358387e43ec6af760a5bce75dc86e444ee7c2210",
      "parents": [
        "38dab454d151423faa9eb8c17f9cb8579f5e79c8",
        "28e8c66d4bb0c6e13b65d48767851dd02d554ebb"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 06 11:50:47 2010 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 06 11:50:47 2010 -0800"
      },
      "message": "resolved conflicts for merge of 28e8c66d to master\n\nChange-Id: I9746fd7478d3954b491179ffbd241f481cc2fb6c\n"
    },
    {
      "commit": "6be655c768a82716612c00fdd156254d8dc00f42",
      "tree": "bf3e860bc0a92390d3d02c649839a79754d8372d",
      "parents": [
        "4934d3361edadb761d9c65fe8c2bf5b8d01e8121"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Nov 12 12:28:16 2010 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Nov 19 20:26:29 2010 -0600"
      },
      "message": "Rough first pass at the NFC technology API.\n\nChange-Id: I903ad6bc124bf9a65af788dae45f55d58704ef7b\n"
    },
    {
      "commit": "cebfaab7a515d72ec0f965eb65ba4fdb6aba7df0",
      "tree": "39177999641b3ce98e56b0e655b1c9a041fdd9bf",
      "parents": [
        "3ba02b3d2f6fb49677466a2e93c96f307d2a7a41"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 04 13:28:14 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 04 13:28:14 2010 -0700"
      },
      "message": "Fix potental incremental build failure with\nleftover RS generated files.\n\nChange-Id: I4b2ed98372ac9caba61ff6622b26f1bb1b435df0\n"
    },
    {
      "commit": "18286cc60111db8fd3574f3df1d9db0920cb918c",
      "tree": "b05f9e6f37af168e7c52614827300f2cbf625a6e",
      "parents": [
        "0bc1f39643a8434d855c3166b17fcece2e7050dc",
        "38476ef2f1bc5d8c3540382ea792f709d0b61faf"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Oct 19 09:55:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 09:55:52 2010 -0700"
      },
      "message": "am 38476ef2: am 8f1e7b62: Merge \"Cleanspec to fix incremental build failures of the form:\" into gingerbread\n\nMerge commit \u002738476ef2f1bc5d8c3540382ea792f709d0b61faf\u0027\n\n* commit \u002738476ef2f1bc5d8c3540382ea792f709d0b61faf\u0027:\n  Cleanspec to fix incremental build failures of the form:\n"
    },
    {
      "commit": "31bcbdaa6c0e910ec9fd395d20910909309e2b31",
      "tree": "1bcc1203178b5a3cc1bb0d5d25871b39eeaef6f5",
      "parents": [
        "1f90908c19ab24791bd54c856b32bb12682496eb"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 15:13:00 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 18 15:13:00 2010 -0700"
      },
      "message": "Cleanspec to fix incremental build failures of the form:\n\nout/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/com/trustdlogic/trustednfc/android/ILlcpConnectionlessSocket.java:74:\ncannot find symbol\nsymbol  : class LlcpPacket\nlocation: package com.trustedlogic.trustednfc.android.com.trustedlogic.trustednfc.android.LlcpPacket _result \u003d this.receiveFrom(_arg0);\n\nChange-Id: I344c3b882265049cbc11dd5433535376eaadd855\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\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": "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": "35dc79da11639117aab34d3278a7ae90984c0f87",
      "tree": "e636f8ece703101484329d1123aa90728c9f3a3a",
      "parents": [
        "414e7f761e27060fa23f96a369922443e4ae2676"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Sep 08 15:23:58 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Sep 08 15:24:49 2010 -0400"
      },
      "message": "update clean spec\n\nChange-Id: Ia511131fb55916690a3d459c7ab1e7b7ddb26c4b\n"
    },
    {
      "commit": "c639dc9e0dd4e3fa0f8ca7108ac136202aa8b59d",
      "tree": "3daf72326ea1939bd7b1d43d409908e6bb0bc152",
      "parents": [
        "cf67abbc48d6d56538dd6f2412d6aa9863a31637"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 08 12:09:39 2010 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 08 12:09:39 2010 -0700"
      },
      "message": "Fix build due to stubs errors on filename changes\n\nChange-Id: I0802fa49d496046640ec7f656179382fd4d9e234\n"
    },
    {
      "commit": "054de0aae7df885858801b0bba8a8110424574d8",
      "tree": "4399ba36ca27be3ac08edca84407dc353409a3c9",
      "parents": [
        "564a9f2434194efc8fa56fd199e1a83c5807ffc1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 13:33:16 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 13:33:16 2010 -0700"
      },
      "message": "Missing clean step.\n\nChange-Id: Ib91fbfe3c28bf97f88de1b0c1df697a41ac0cc27\n"
    },
    {
      "commit": "1040dc465cbf5ca8f834a87c949e476abefa3f76",
      "tree": "98841629e182d19c19bc68835d7a4b2e426b883a",
      "parents": [
        "59024f1697e09ea50d4349e9813d0c101411292b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 26 22:11:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 27 11:06:01 2010 -0700"
      },
      "message": "Improve clipboard API.\n\n- Rename ClippedData to ClipData.\n- Introudce ClipDescription subclass.\n- Add convenience APIs for creating a ClipData.\n- Add ClipboardManager API to get just the ClipDescription.\n- Define MIME types associated with a clip.\n\nChange-Id: If97ef91aa99a4dd0ec74ccaea504345c9ef12b5c\n"
    },
    {
      "commit": "53e75ea847df20b29124966a4232dc0109c37e27",
      "tree": "4c545e0c93b0d50122002201d3f6836225a6b3dd",
      "parents": [
        "d820714e30a53b244d252e77c7922e2c1604adbc",
        "485de781f6bd30dfb7aa1e55c4f1efb3d3b11eba"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 24 09:57:33 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 24 09:57:33 2010 -0700"
      },
      "message": "resolved conflicts for merge of 485de781 to master\n\nChange-Id: I483cb81596f09b024b1aea7fc55960183f38b24f\n"
    },
    {
      "commit": "be857d42849eaaa554d4772dbba7755f8a0f3547",
      "tree": "e6fa28c1620c2908a00b035db8d7a5da68095eae",
      "parents": [
        "6be237120e9673e3cfc5243da5bbca287effcf09"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 18 15:59:25 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Aug 20 13:17:12 2010 -0700"
      },
      "message": "Reorganize MountService IPC\n\nRemove auto-generated AIDL files and replace them with manually edited\n.java and .cpp/.h files so that binder calls can be made from either\nJava or C++.\n\nUpdate the makefiles to not attempt to generate the AIDL files and also\nremove the old auto-generated .java files.\n\nPut all the storage-related C++ things in libstorage so that we don\u0027t\npollute other libraries.\n\nChange-Id: I82d1631295452709f12ff1270f36c3100e652806\n"
    },
    {
      "commit": "163935113919a184122b8b3bd672ef08c8df65dc",
      "tree": "c8aa9b460ae7fd9e2e675d4bf25924a3459f8696",
      "parents": [
        "1ad7343409442a4a027c0092d07beff1b412a7dc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Aug 08 00:14:31 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Aug 08 17:45:07 2010 -0700"
      },
      "message": "Make libhwui entirely optional.\n\nThe makefile variable USE_OPENGL_RENDERER must be set to true to compile\nlibhwui and the related code in the JNI layer.\n\nThis change also removes obsolete APIs from Canvas that must not be used\nand would be confusing if left in. These APIs were remnants of our first\nattempt at an OpenGL renderer for the view hierarchy and had not been\ntaken out before Android 1.0 was released.\n\nChange-Id: I2475ff1307212bab26c926724f3c508681c7dae1\n"
    },
    {
      "commit": "f0690c4f29f3c6fbff2fd5a9cc6d3ff028e1e066",
      "tree": "81bf45c5d18e9c8b69e13e8d5310936dc6946216",
      "parents": [
        "8f5d160c92bb03a9156301e0577fa590f1ce0199"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 29 17:31:14 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 29 19:10:25 2010 -0700"
      },
      "message": "Cleanup of signed/unsigned\nMake all functions overloadable.\n\nChange-Id: I443c83afcf9a7acfae394585201f081681f309db\n\nUpdate examples.\n\nChange-Id: I100d6fa8dd1af376bcee0b2c42c5aabe9c03bb6e\n\nforce rebuild of all .rs files to pick up core header changes.\n\nChange-Id: I6231a8a024388481ca231507e83b108ebdbc3500\n"
    },
    {
      "commit": "ca57d1cc89d65dfbd59c749c5736574cd08c7bd3",
      "tree": "03742035e50c98735bf61034caa511b0371dc9e8",
      "parents": [
        "2b989e1f7d08efd51652b56b1cb1fef76a1e8ab1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 00:19:11 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 27 00:41:31 2010 -0700"
      },
      "message": "Audio Effects: added methods to effects java classes to store and load current effect settings in\na single call.\n\nAddional changes:\n- Fixed simulator build\n- Use effect interface UUIDs from OpenSL ES includes when available\n- Added cleanspec rules to remove now obsolete test effect libraries\n- Fixed bug in AudioEffect JNI setParameter function.\n\nChange-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b\n"
    },
    {
      "commit": "0cbda99f8721ad9b03ada04d2637fb75a2a0feca",
      "tree": "99b716653b139e560223dfc764bfc9a746df7bb5",
      "parents": [
        "503007dd023668b1e45de948d3673e594d7f5a82"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 02 16:28:15 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "The status bar draws its icons now.\n"
    },
    {
      "commit": "a5c51373d478ea33ffddab13ca8a722c297802ef",
      "tree": "0686b4e1c43bbbf38a2c21cbf36b6b30e87395a0",
      "parents": [
        "b1b28e26d771f5f0e10a52b8fd77c276c641e086"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Apr 06 20:21:30 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Apr 06 20:21:30 2010 -0500"
      },
      "message": "Finish moving the policies out of frameworks/policies/base and into frameworks/base.\n\nChange-Id: Id3a0c06202b0f6f2206acf490c8655d340ee0556\n"
    },
    {
      "commit": "bd4288f41879d08dd33802f0429314afc30dc883",
      "tree": "c48a59fd0c4a8c7eb823cbeb8cd93bf014d50cd3",
      "parents": [
        "2d8234b73d11fdc2178232cabad3ffaa23723405"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Apr 01 11:53:05 2010 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Apr 01 12:05:26 2010 -0700"
      },
      "message": "Remove FrameworkTest package.\n\nThe only remaining test here was RingtonePickerActivityTes, which has been\nsuppressed since pre-donut.\n\nChange-Id: I74c08c9c9447b67252430db3b462373af879bd1d\n"
    },
    {
      "commit": "28d5e74b425d2227e27ab9d7b895677726c9a6f5",
      "tree": "6823bd5393fe91ad9eb6ca3665c725bb6af3b54c",
      "parents": [
        "77c560f3d7891d9ae1ad714b5f65a22ff4f4c06b"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Mar 31 10:59:43 2010 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Mar 31 10:59:43 2010 -0700"
      },
      "message": "added a cleanspec since ActiveSyncInfo.aidl was removed\n\nChange-Id: I1fb57d2a4d28211f0adaf8c1d184a8c5f7701d7f\n"
    },
    {
      "commit": "2e2096fc08c29f55aae60093b2cd48f4edf4b88e",
      "tree": "9c8c1aa33269a1d7a3861530d09b51d0ebc59b95",
      "parents": [
        "c4e26a5c99b261c956b9b47ab11217b20f539df8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:11:37 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:11:37 2010 -0800"
      },
      "message": "Add comments in CleanSpec.mk\n\nChange-Id: Iaa1f9f38c0e621d2988e341a5fcff3164a62cf66\n"
    },
    {
      "commit": "afc591ee035850e33f25f568415500d8cbe814d0",
      "tree": "907137df75be6f8359fe8d8d3158f8283991e493",
      "parents": [
        "f8012af8d3f1cf04c26193024063a7a046369560"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 18:58:14 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 19:15:39 2010 -0800"
      },
      "message": "One! More! Time!\n\nChange-Id: I9e29975542ff1030b636f4e21954610faa2d8ff7\n"
    },
    {
      "commit": "ed58aede5071414a3bbf983d2412092998816b20",
      "tree": "536d32a8a35fe58b037aa1f94f491ad77dceba85",
      "parents": [
        "18c65d309fc81252246a1e06edcd7eb1170cf0b3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 18:48:59 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 18:48:59 2010 -0800"
      },
      "message": "Rename cleanspec \u003d\u003e CleanSpec to match the build rule\n\nChange-Id: I9cc9027ea82a90af5f369976823f0feb0a1eeda0\n"
    },
    {
      "commit": "7adc274abd9c0c361b798c2348251358d7adeb18",
      "tree": "58f55c79363e5810ffc99fdcdde86dab8d77e6af",
      "parents": [
        "0a9355bc72152b3f5d7910e8f59ce3f0c007219f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 18:03:22 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 18:26:41 2010 -0800"
      },
      "message": "Fix up missed refactoring in JNI reg and preloaded-classes\n\nChange-Id: I079bdf4edfb9083eba3e15d8e4dbf3b2bad9190c\n"
    },
    {
      "commit": "4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3",
      "tree": "3f1276aef1448aad75a0d44ad1abbbd1478a4937",
      "parents": [
        "931bf89d327ecf07301231fd86b17deac535feaa"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 15:46:30 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 16:27:15 2010 -0800"
      },
      "message": "Refactor android.backup \u003d\u003e android.app.backup\n\nChange-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8\n"
    },
    {
      "commit": "f18a01c77e78209b74e34d05cfb352fa4a92db5f",
      "tree": "a4086ca63d93b972e60dbd1d17fcc00c1f181d9d",
      "parents": [
        "897a744bb7a95b2d3883004301b8e877cd5efc92"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Nov 12 11:32:50 2009 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Nov 12 13:58:27 2009 -0800"
      },
      "message": "Rename [I]DropBox[Service] to [I]DropBoxManager[Service].\n\nUn-hide the DropBoxManager interface, and update the public API accordingly.\n"
    }
  ]
}
