)]}'
{
  "log": [
    {
      "commit": "5f53f0883a507b9d4b9b9891af560a64f746d149",
      "tree": "894e84cbdb584f3d1a0f49e4be59017a488b0832",
      "parents": [
        "e1d7dca608ced72c75bf906c7267a1ef30349826"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 11 14:19:40 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 11 14:28:38 2010 -0700"
      },
      "message": "Hide two audio focus methods.\n\nChange-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa\n"
    },
    {
      "commit": "94c567e1e344d49168603f5a0560215a4ce735e6",
      "tree": "9ad826f46a391751f331677944f29b92a91a9a59",
      "parents": [
        "3202d380226043fa665df3c92252f791f8c52d55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:13:10 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:50:11 2010 -0700"
      },
      "message": "Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n\nThere was a gap in the bit numbers.\n\nChange-Id: I0feef7dc4abed5db7412659b5ad078caffe4f2d4\n"
    },
    {
      "commit": "3202d380226043fa665df3c92252f791f8c52d55",
      "tree": "2f64a5ca53cb4524a9ee4b224428f2a269dd3b6d",
      "parents": [
        "8138cb49e47f9a9905a316a217757710185c66aa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 17:51:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 17:51:34 2010 -0700"
      },
      "message": "Fix issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n\nAlso update 8.xml to match the current API.\n\nChange-Id: I668fe56f6c156c2e8daa458baa7410fdb8ebef52\n"
    },
    {
      "commit": "89e0c1a9f5a86d47c20b1bf9b9c78507ffbafd1f",
      "tree": "1c27bd6711a66defa5a9f5c1a0a1487154a54473",
      "parents": [
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "message": "Fix 2610961\nUnhide broadcast intents that are sent when sdcard gets mounted/unmounted.\n\nChange-Id: Ibb5700178e98f657f1c2b6a2f83e722151c4a44f\n"
    },
    {
      "commit": "fc922f115325371aaadd4e423472476303039a72",
      "tree": "93a28ff7a19244125fa51959336f38daa56cee76",
      "parents": [
        "290a48b365479eccd16023b5de0d92063bb68b4d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 09 13:05:16 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 12 14:15:37 2010 -0700"
      },
      "message": "API CHANGE: remove obsolete constants and hide some methods\n\nThis change removes some unused constants from BackupDataOutput\nand hides a few methods that do not actually need to be exposed.\n\nChange-Id: I47a9a107a5b58f4d53b5a2fcf9b73a765b1c5dd8\n"
    },
    {
      "commit": "c58b42327df5fbc826e2fcc2674ab6db0edfcd92",
      "tree": "531babba66efab35a2a78be5b0fc5116d0dc3945",
      "parents": [
        "2a547829fe162c52ea1b1168f47d25fb1b40497d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 17:21:28 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 09:33:15 2010 +0800"
      },
      "message": "Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nbug:2544367\nChange-Id: If122a7745e080f9e4bffb15dc4930d71f0421867\n"
    },
    {
      "commit": "f5c5d22c471f399f215662a8e471bf02b5b6bcfa",
      "tree": "047720cef3b43e1dfe401cfe5c9df7cc5c1c5f82",
      "parents": [
        "4525c98114c1e570ecef84521f66095e866af77d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 13:14:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 16:49:08 2010 -0700"
      },
      "message": "Fix issue #2581524: Car home icon should always go to car home\n\nRework how switching between modes work so the caller can tell us\nwhether they want to go to home.  (So car home launcher can now\ntell us they always want to go home.)\n\nChange-Id: Id4a8129027d6d162b4bae6f983911f1f4bf2578f\n"
    },
    {
      "commit": "7cfa90fee54f44831ac492891d1c123601c2a262",
      "tree": "64aa2167e720f396f42b2ae008742cad17282713",
      "parents": [
        "34959e3fe87012d554af07fd6ad294b2ce3daea7"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Apr 08 14:20:57 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Apr 09 13:34:15 2010 -0700"
      },
      "message": "Move the public method HttpDateTime.parse() into AndroidHttpClient.\n\nSee bug http://b/2553589\n\nChange-Id: Ide3399c7c63daf9c0b8c18669076f2f4d6e9a876\n"
    },
    {
      "commit": "ec7c78fbf526816cd361fd482bdf3792ecfd9a9f",
      "tree": "46cfce7a83653bb41a666155836e7ed05981f2af",
      "parents": [
        "eb12e45f7a92fd424988451256c82605d086245d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 23:37:25 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 13:45:06 2010 -0700"
      },
      "message": "@hide ACCESS_CACHE_FILESYSTEM and MOVE_PACKAGE\n\nBug: b/2553489\nChange-Id: I681b3f9a243777b931298cc93c9d34c8d7eae0f2\n"
    },
    {
      "commit": "3f4639a6611222ae1ae5493de49213250d292139",
      "tree": "c76850425988996c91485439c033d968de0a6b85",
      "parents": [
        "c2461be6279137f872becf695befeb7ba8770a64"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Apr 04 15:05:41 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 08 12:31:06 2010 +0800"
      },
      "message": "Update API and javadoc according to API review.\n\nbug:2553570\nChange-Id: I0353938f513c119cec0e31eb980dc4569e17d7eb\n"
    },
    {
      "commit": "b7c8c76180dc1abbf55c734ab121a7a2469060f6",
      "tree": "3cc605d374f8261fe8c821cac72d8e2eb7e6389b",
      "parents": [
        "083c715d06a99951429b38c62484f8c3caf43cd1"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Mar 30 17:21:39 2010 -0700"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Apr 07 10:14:04 2010 -0700"
      },
      "message": "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener\nhttp://2553871\n\nChange-Id: I293b8138a2c23ea107b634da014902f838966c0e\n"
    },
    {
      "commit": "b0fe033ff8695418645ede29ce683949f68033c2",
      "tree": "6453d9cd70918e45f4340489e36bce2f14a79300",
      "parents": [
        "44dcf658718fcc0b563dcad50fb59e8fe507cd0a"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Apr 05 14:43:58 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Apr 05 14:43:58 2010 -0700"
      },
      "message": "Adding a feature definition for touchscreens that was overlooked in the last\nround.\n\nChange-Id: I8f30676a7b468a9868503b05f366709d5534a44e\n"
    },
    {
      "commit": "44dcf658718fcc0b563dcad50fb59e8fe507cd0a",
      "tree": "b9b83c5d87120c5e21c0d670502ac93ceeeda47b",
      "parents": [
        "3eefc126e5a0b4af4738332e8d43fe2e2d00424c"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Mon Apr 05 11:26:40 2010 -0700"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Mon Apr 05 13:06:39 2010 -0700"
      },
      "message": "Make createVideoThumbnail and createImageThumbnail look consistent.\n\nChange-Id: I9a4798fefe3968ac847d46100036a6dde39791c9\n"
    },
    {
      "commit": "6df44727d06548015e741dd8f63716602ed1e5d1",
      "tree": "8f1340536d302a119644a1b2bf436779697854f9",
      "parents": [
        "e13beb09dadfba4806e6784bc7cde1466eb54ca4"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Mar 30 11:15:05 2010 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Apr 02 13:39:53 2010 -0700"
      },
      "message": "Unhiding TTS API constants and methods needed for TTS plugin support.\nThis is a fix for bug #2548048\n\nChange-Id: Ieb60979098c1d2e82618204882bd523d271a8784\n"
    },
    {
      "commit": "aea4b678b5f59f63ba6810f94dbc40ea4139e708",
      "tree": "ead146ef69514bda9b7b2edb0a639035ba3be5bc",
      "parents": [
        "219909224d9f5fdb4fe1c97fad048894c4619fe7"
      ],
      "author": {
        "name": "Bernd Holzhey",
        "email": "holzhey@google.com",
        "time": "Wed Mar 31 09:46:13 2010 +0200"
      },
      "committer": {
        "name": "Bernd Holzhey",
        "email": "holzhey@google.com",
        "time": "Fri Apr 02 20:04:10 2010 +0200"
      },
      "message": "Add a new intent category used for activities running in carmode.\n\nChange-Id: I4702538c9f53cc0b64eae72298e27232cdfb3548\n"
    },
    {
      "commit": "e64d9a236e4704abf53d3b7eea2eb066f23cf402",
      "tree": "b2d8d4d7685d5ffb2532fc79842b90943802edfb",
      "parents": [
        "3fe1708d9d204fa63e8abe6e434378d89e963752"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 31 13:56:29 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 01 00:12:20 2010 -0700"
      },
      "message": "Public API changes for CameraProfile and CamcorderProfile classes\n\n1. CamcorderProfile: “@see” links are broken; Remove m prefix from fields; remove “final”\n2. CamcorderProfile.Quality: use an int rather than an enum\n3. Add API on MediaRecorder to pass in a CamcorderProfile\n4. CameraProfile.getImageEncodingQualityLevels @hide or make it consistent with CamcorderProfile\n5. Remove a convenient method and instead let the (mms) app do that task\n\nbug - 2553862\n\nChange-Id: I759215c7892f772aeddf3651d17038489c6fbc50\n"
    },
    {
      "commit": "9c9c532d3625ba2485eb4ea6924ed0a0163fd958",
      "tree": "139c6a91e2ded72ee0e2abc86a7b1e71a7b91e66",
      "parents": [
        "058e385b8bca0376c27a24a54f3b00777ef30e0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 23:12:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 16:25:53 2010 -0700"
      },
      "message": "Fix issue #2560791: Expose API to go in to car mode.\n\nAlso fix bug where night mode was being used in desk dock.\n\nChange-Id: I56c1cf3d6fe800a4f986d40cc4cb2e70b76ac261\n"
    },
    {
      "commit": "7f7e67f1b60b7840011236097baad9df6dd74c20",
      "tree": "16826f90ea712f542a01a122d1215e01a44fb547",
      "parents": [
        "e259bc770b3eeb88eb7a03ec0af2522ca9929f58"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 31 11:30:24 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 31 12:08:26 2010 -0700"
      },
      "message": "Fix bug 2553575 API REVIEW: android.media  Change 1 of 3\nNotes from API Council review:\n  Rename onAudioFocusChanged -\u003e onAudioFocusChange\n\nChange-Id: I8296cc84381506dabe8a9ceb1b5e3c0ab6d4af25\n"
    },
    {
      "commit": "23243acabdf8ff6022395cf67632c8387d286989",
      "tree": "7e8784140eef728e758057cf4bf416e4154ce28e",
      "parents": [
        "d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6b"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Mar 30 18:16:40 2010 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Mar 30 18:16:40 2010 -0700"
      },
      "message": "missing current.xml change\n\nChange-Id: I355dae4213ee8a93a79ff57e1d7c36d2b9d3495f\n"
    },
    {
      "commit": "d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6b",
      "tree": "368fa8665a93e3e524b0d020fe33f5febb58661d",
      "parents": [
        "8acdb911f4b9c38d1cafd3ab464d6bec54564c84"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Mar 30 15:16:21 2010 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Mar 30 17:31:52 2010 -0700"
      },
      "message": "some changes due to an API review\n - make EntityIterator extend Iterator and thus not throw a\n   RemoteException, instead converting it into a RuntimeException.\n - rename ActiveSyncInfo to SyncInfo\n - change getActiveSync to getCurrentSync\n - remove the accessors in SyncInfo and instead make the final\n   fields publicly accessible\n - made AbstractThreadedSyncAdapter.cancelSync not take a thread\n\nChange-Id: I99fde5585bc5f1e95f4873ffbba189074a8d6372\nhttp://b/issue?id\u003d2553539\nhttp://b/issue?id\u003d2553541\nhttp://b/issue?id\u003d2553550\n"
    },
    {
      "commit": "27a63583bfb8b4668911a819f3c7827ef0cc2ec8",
      "tree": "a1d7993a149abbb8240a5c8aa1b8ac77ceae93a2",
      "parents": [
        "5cdd78589db7f31c59df2e40146bd761a6570d13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 14:31:39 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 16:05:56 2010 -0700"
      },
      "message": "API CHANGE: @hide AbsoluteFileBackupHelper\n\nWe don\u0027t want to publish this, but for risk mitigation we are hiding it\nrather than rewriting/expanding the FileBackupHelper to accomodate the\nabsolute-path use cases that the system uses internally.\n\nChange-Id: I513c97ec54de8dd7d28b10868d447d94b82d4ec3\n"
    },
    {
      "commit": "acaf028fc9efd9754f57ed65476e79a816811b35",
      "tree": "24869b98d86e84c3a60ed7b81b567e573da15e2c",
      "parents": [
        "de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 14:39:35 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 14:39:35 2010 -0700"
      },
      "message": "Fix issue #2553553: API REVIEW: android.context.Context\n\nChange-Id: I3e3ab7a909329d498544dc9ed4d500cbcc4ed281\n"
    },
    {
      "commit": "d7c096845dee7616095eda0fe9e7aa08f0ba9c20",
      "tree": "d20190ae42b25ce05960e16a89b8eb803d837602",
      "parents": [
        "22375e4a736c0d646c3cf0905c15126f7f4107c2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 10:42:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 13:34:43 2010 -0700"
      },
      "message": "Package manager optimizations.\n\nAddresses:\nIssue #2550648: PackageManagerService setComponentEnabledSetting unconditionally\nwrites Settings xml\nIssue #2549084: Make PackageManager.addPermission have async version\n\nAlso make the writing of settings when changing the preferred activities to use\nthe same async mechanism, and fiddle with thread priorities in the background\nthread to go up to foreground priority when holding the lock to write settings\nand a few other places.  (At some point we should really clean this up to never\nacquire the main lock while in the background.)\n\nChange-Id: Ib2b7632543f6fb3f92a225518579f3b2d15e1413\n"
    },
    {
      "commit": "2d449afe3d075020bdd1115bcc15c9383cbce122",
      "tree": "d7c71c9a74e317319de947f3e3fe3ee673f0c559",
      "parents": [
        "ae405d56215e4ab43e8210b66e741a0bf9d5edcf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 19:14:24 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 12:42:35 2010 -0700"
      },
      "message": "Make RestoreSession.getAvailableRestoreSets() asynchronous\n\nThis transaction can involve the transport having to query a remote backend\nover the wire, so it can take a Long Time(tm).  Make it main-thread-safe by\nmaking it asynchronous, with the results passed as a callback to the invoker\u0027s\nRestoreObserver.  We also make the IRestoreObserver callback interface\nproperly oneway.\n\nBug #2550665\nBug #2549422\n\nChange-Id: If18a233a0a3d54c7b55101715c9e6195b762c5a0\n"
    },
    {
      "commit": "2a5d9f9b577376768372837723f0f42098aba13b",
      "tree": "02a64c234d64f153081c67bd119b207b07588544",
      "parents": [
        "d4610977d9217cbd70dd59f61914c74d1ca61036"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 29 18:31:19 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 30 11:14:55 2010 -0700"
      },
      "message": "Fix bug 2553592 API REVIEW: android.speech\nChange 1 of 4\nNotes from API Council review:\nRename RecognitionManager to SpeechRecognizer\n\nChange-Id: I892c0d714d928d5e31575c72b6a36281fc4c7a8a\n"
    },
    {
      "commit": "63cce836e43c7cac8cd7c0b19f98dc8095ab122d",
      "tree": "03e2df0478820a671b7d8f372afcd0c5d1978e55",
      "parents": [
        "fef8cebcdcf0cbd4a0dafba87e33e3b500fb1321"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 29 15:01:44 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Mar 30 08:14:32 2010 -0700"
      },
      "message": "framework: Hide StorageManager for froyo - DO NOT MERGE\n\nChange-Id: Icd58d5be0de1cc0549a5d766421bcc773c8cd868\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "fef8cebcdcf0cbd4a0dafba87e33e3b500fb1321",
      "tree": "4b2be10355a39cbdf108215de9fd98bcc9f315fa",
      "parents": [
        "e2522466552f9c6b7fcea866709710f53aa1f2a8"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Mar 29 22:21:43 2010 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Mar 30 11:40:34 2010 +0100"
      },
      "message": "Clean up SearchableInfo API, JavaDoc and formatting\n\nThis change cleans up the JavaDoc in SearchableInfo,\nremoves trailing whitespace, fixes an if-statement\nstyle violoation, and re-hides some things that were\nexposed for Froyo that query deprecated or discouraged\nattributes:\n\nSearchableInfo.getSearchButtonText()\nSearchableInfo.getLabelId()\nSearchableInfo.getIconlId()\nclass SearchableInfo.ActionKeyInfo\nSearchableInfo.findActionKey()\n\nBug http://b/issue?id\u003d2553524\n\nChange-Id: Iee5521c844f74137166730e523d29ba07ef1856b\n"
    },
    {
      "commit": "9d32d24dbd8a015c9d5c44ed4901d5a666eb8e7f",
      "tree": "4630aa77232a8cb24f7675253f91d838058b14f2",
      "parents": [
        "f5f300678abb79574bb56eee13c8dd2b7b98b740"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Mar 29 16:02:07 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Mar 29 20:46:45 2010 -0700"
      },
      "message": "Remove overscrolling\n\nChange-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea\n"
    },
    {
      "commit": "ef3f5ddc2137ed99e41f00441b688fb56b855179",
      "tree": "eb17ce55899d4b3c0bffb4c9628f459129f042a6",
      "parents": [
        "8deb239169f9b60cf19b6f4293978e654fa15a03"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@android.com",
        "time": "Mon Mar 29 15:47:26 2010 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@android.com",
        "time": "Mon Mar 29 16:17:58 2010 -0700"
      },
      "message": "Replace \"safeMode\" with a more specific name \"vmSafeMode\" in the public API.\n\nBug: 2553512\nChange-Id: Id0dad80ecdcb8c7430dcf1ac26132ccd9c0770f5\n"
    },
    {
      "commit": "cc84c69726507a85116f5664e20e2ebfac76edbe",
      "tree": "1f58e9d718d8694d2b22f925a7e79263991d0c74",
      "parents": [
        "89d4e2dd7888913d3eb1f4f669bd756a3b85f2c1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 14:54:02 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 15:48:14 2010 -0700"
      },
      "message": "API CHANGE: rename BackupHelperAgent \u003d\u003e BackupAgentHelper per API Council\n\nPart of bug #2545514\n\nChange-Id: Ic775e3b942c485252149c1b6c15c88517fa4e3e5\n"
    },
    {
      "commit": "89d4e2dd7888913d3eb1f4f669bd756a3b85f2c1",
      "tree": "fa4613ed094b4705ff3004f228ce6e39c96a73f8",
      "parents": [
        "6b1e6969828f05a2f5f55825fdf16b19c9dce2dd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:58:11 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:58:11 2010 -0700"
      },
      "message": "Fix the buid!\n\nChange-Id: Ia6e57da393f04209b180e131df74c24e62052d8c\n"
    },
    {
      "commit": "6b1e6969828f05a2f5f55825fdf16b19c9dce2dd",
      "tree": "a5f4880283b19eec712e41d638a69f97cb66c0d3",
      "parents": [
        "ab69e29c1927bdc6143324eba5ccd78f7c43128d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:38:41 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:40:34 2010 -0700"
      },
      "message": "Rename tab widget attributes, remove scroll barrier constant.\nBug #2553515 #2553595\n\nChange-Id: Id36280a57f00a1ee59251be6be1aae8df2189c09\n"
    },
    {
      "commit": "ab69e29c1927bdc6143324eba5ccd78f7c43128d",
      "tree": "390f7884601bcacc41fa75698f6d02b9a2b19e3d",
      "parents": [
        "272b504ee6aaf2515572520cd642f9a4fbf81a44"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Mar 29 13:23:15 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Mar 29 13:46:47 2010 -0700"
      },
      "message": "relocate android.util.base64.* -\u003e android.util.*\n\nb/2553469 - API REVIEW: android.util.base64\n\nChange-Id: I6a514032152a8b1899db52d020aca8e8b19e74e9\n"
    },
    {
      "commit": "9c3cee9824026764275e4d84ba9b5d9fdc5da690",
      "tree": "a68cba5a6d4dc4dc747c4089a2426dcfe5550b77",
      "parents": [
        "a3de74555120cc4dc205a3f93ef44c843b8d64a8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 25 16:06:43 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 26 14:26:44 2010 -0700"
      },
      "message": "API CHANGE: Backup/restore API changes requested by the API Council\n\n* @hide the android.app.backup.RestoreSession class and functionality\n\n* Provide a public method on android.app.backup.BackupManager that apps\n  can use to request a restore pass of their last-known-good dataset.\n  The new method is called requestRestore().\n\n* Provide the name of the package being restored, not just its ordinal,\n  in the RestoreObserver\u0027s onUpdate() callback.\n\nPart of bug #2545514\n\nChange-Id: I9689bf8d6e2b808b4ee412424a36a835be0a5ca8\n"
    },
    {
      "commit": "d49258fed489bcd72a2b2a6ce3a3c38d4b2531e6",
      "tree": "fdb02af6a4750fa8795a57f9aaec67660cffedba",
      "parents": [
        "fc6d1ba930111ef7a51d91908f489ca9469fc572"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 00:44:29 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 12:52:53 2010 -0700"
      },
      "message": "Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83\n\nThere was a really dumb bug that was causing us to not always apply\nthe new configuration.  As a result of fixing this, there were new\nglithes in the transition between car and regular mode, so further\nwork here to fix that.  And since I was actually working during the\nnight and seeing night mode, I noticed how obnoxiously bright the\nstatus bar is compared to the car home at night, so it now nicely\ndims itself when we switch to the night config.  Oh and in doing\nthat I also found and fixed a bug in dispatching config changes to\na window (where they wouldn\u0027t get dispatched if the window didn\u0027t\nresize).\n\nFINALLY...  tweak the wallpaper enter/exit animations a bit to\nmake them a little smoother.\n\nChange-Id: I4e062093cbcfbc919307799a794846db2920216f\n"
    },
    {
      "commit": "cf7958f916ccf4b547a7428a1102b2700d67c0b6",
      "tree": "147fdeb143ea703a9dac17ac6d2e96ed30e18030",
      "parents": [
        "2911e8eff79572a896b24debb11f20d179bd6f83"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Mar 26 10:29:28 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Mar 26 10:29:28 2010 -0700"
      },
      "message": "Hide download manager.\n\nNot ready for public consumption yet.\n\nBug: 2544512\nChange-Id: I4a5b3c5f6afbc911d31e24333c2898d0c36281a3\n"
    },
    {
      "commit": "6579b0b4ac0e781efab044aaaf3f66447cf5e067",
      "tree": "f891036a7a675e109c6a257e7d0fb090151c88b5",
      "parents": [
        "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 25 12:21:34 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 25 16:02:27 2010 -0700"
      },
      "message": "API refactoring for OverScroller.\n\nOverScroller is no longer a child class of Scroller and several\nScroller methods that do not make sense for OverScroller and could\ncause misbehaving edge cases have been removed or hidden and\ndeprecated.\n\nChange-Id: Ie055b607bd3b36c47ab9798d5c9518aef686b474\n"
    },
    {
      "commit": "3435485164552723d27b7ea0273b7c324d799108",
      "tree": "86512e37f2c349c482efd1cd99612aa95d2a2259",
      "parents": [
        "292c361cfda834922025a063690d99665ca6b54c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 25 13:09:03 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 25 13:09:03 2010 -0700"
      },
      "message": "Revert \"Hide download manager.\"\n\nThis reverts commit aaaf1232177ca008818ddac13f5f98405b789ff2.\n"
    },
    {
      "commit": "aaaf1232177ca008818ddac13f5f98405b789ff2",
      "tree": "79921e4644a15c9d6fd2e9a11dbf3db68e23d536",
      "parents": [
        "9c4750a6763ac0833f0d2d22bdeaa86561bbbebb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 25 09:48:50 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 25 09:48:50 2010 -0700"
      },
      "message": "Hide download manager.\n\nNot ready for public consumption yet.\n\nBug: 2544512\nChange-Id: I8be1a4aa24581c6d272b087439f3e22ef1fc29d2\n"
    },
    {
      "commit": "98bfa39596448504f58f6dfe1b8bd2d31f25367b",
      "tree": "4aa382efde02725b73b485b8a95b08e843b28be1",
      "parents": [
        "0ef0b361c4662c7ec9e0338f1273b3efa33d5642"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Mar 24 10:59:48 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Mar 25 14:04:45 2010 +0000"
      },
      "message": "Use a secure setting for default browser geolocation permissions\n\nPartly reverts I6308b476ad18b1d71d7438b936c592a45365c9f0\n\nBug: http://b/issue?id\u003d2535598\n\nChange-Id: Ib488c6d4f10a87b714ecb78eef6fe58f572907c6\n"
    },
    {
      "commit": "1bb1a911c35c9df5fdbcaca13f97aa29dcec6cfb",
      "tree": "ac3635e9059cdf1f10e3dc2a2022aca8dec5fc63",
      "parents": [
        "7f49b9e47416808d7ef5de77b4094fd83f50134d"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Mar 23 15:39:46 2010 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Mar 24 10:25:40 2010 -0400"
      },
      "message": "If failUrl(now historyUrl) is null, use \"about:blank\" instead of \"\".\n\nThis prevents a crash that is caused by calling\nWebView.loadDataWithBaseUrl with a null failUrl (which I have renamed\nto historyUrl).  Also update the docs to be more accurate.\n\nFixes the general case of bug 2522457\n\nChange-Id: I832351ce1e0016b00e924a2f9b0097ae15fba34a\n"
    },
    {
      "commit": "300f2e95a4cecebb80c2c55418745df5c0c2fb6c",
      "tree": "7803348f2101d7ecd50b84b4349281ce47643974",
      "parents": [
        "7e6ee51359f34535b09ef8305ef902620c3b22ce"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Mon Mar 22 10:20:45 2010 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Mar 23 16:35:37 2010 -0400"
      },
      "message": "Add on-demand setting for plugins.\n\nDeprecate the old apis for enabling plugins in favor of the multi-state plugin\nflag. Add the assets for WebView to display the plugin placeholder for on-demand\nplugins.\n\nBug: 2411524\nChange-Id: I5a35cc6d0afced1489f54d4dcb8bb92d36de52d8\n"
    },
    {
      "commit": "de08008fcff0debd7d8f99d21d780f087fb2889f",
      "tree": "a37aaa716a2f14b68caec842ba52101bed42bb28",
      "parents": [
        "e5efe212de241dedcc5c4e409a4bf0376bc28be3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 23 11:37:15 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 23 11:37:38 2010 -0700"
      },
      "message": "Make DownloadBase public\n\nIt\u0027s the base class for some public classes, so it needs to be public\nas well according to the CTS rules.\n\nBug: 2537352\nChange-Id: Ie2f8141d56907e1d0f4a3a040204b7b14d1fd79a\n"
    },
    {
      "commit": "85f2c9ce5a0e074df2429a5d66e1754e368a0430",
      "tree": "ab3dc62cabf9fc1ace4ace8b4011f66f024734c2",
      "parents": [
        "1a26c9aa0b96d30fc99eeb10bfd41f966ceb003a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 11:12:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 22:20:26 2010 -0700"
      },
      "message": "Fix issue #2530103: ActivePassword data in Device Policy Manager needs to be persisted\n\nAlso fixes how the quality vs. mode is handled to be more consistent, which also\nrequired introducing a new \"alphabetic\" quality since it is possible for the user\nto enter such a password.\n\nThe current password quality and length is stored in the DPM, since at boot it\ncouldn\u0027t figure this out from the stored password.\n\nChange-Id: I519d9b76dd0b4431bcf42920c34dda38c9f1136e\n"
    },
    {
      "commit": "bbbb1dc3c33f8fe3ed24bd0baacf1f196cb5addd",
      "tree": "1ca26588d665af7d49165d9640394db3a7e28671",
      "parents": [
        "47b464a92bd6cc9429a5f535b6d559b599d2e970"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 17 19:08:42 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 22 13:49:30 2010 -0700"
      },
      "message": "Unhide the MediaButton receiver API in android.media.AudioManager\n\nChange-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355\n"
    },
    {
      "commit": "f4418b0113ff63c82348844f4c945c81aa9157ad",
      "tree": "4823756b23bf777ba7691dc9a09cb3ece56dc932",
      "parents": [
        "15b487e4ead5b1af5f188606449e04bc707a3ee7"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 15:22:18 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 16:18:25 2010 -0700"
      },
      "message": "Change api for webview overscroll background.\n"
    },
    {
      "commit": "983ac2b8cff85dda1f55b0d7779a33248b3fa7cf",
      "tree": "7355f76c4ff8ec8e4e68813a2c4bab183adf39d6",
      "parents": [
        "db129b886fedad1e57ff185ac680cdf3c34b1b99"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 12:09:25 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 16:10:42 2010 -0700"
      },
      "message": "Unhide new constants used in AudioFocus API to denote a situation\nwhere a new focus owner signals it  allows other audio apps to keep\nplaying by ducking their audio streams.\n\nChange-Id: I1109f44546f3cbcff8ad33ee21cfff50f4f12177\n"
    },
    {
      "commit": "8340afe0f66663f032dd999e2d377564df0bb6d5",
      "tree": "7e03e4567416106d160e219e26bd8df1b1096a76",
      "parents": [
        "bb1934a5baa28dcf06d4615b692a197c4b7adbdb"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 11 16:25:13 2010 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 19 11:15:49 2010 -0700"
      },
      "message": "New HeterogeneousExpandableList interface.\n\nThis interface can be used in conjunction with ExpandableListAdapter to\ndeclare more types of child and/or group views.\n\nNone of the ExpandableListAdapter implementations is heterogeneous in the\nframework. BaseExpandableListAdapter was decalred to use this interface so that users\nsee the methods and can overload. DateSortedExpandableListAdapter was left unchanged.\n\nThis feature is related to http://b/issue?id\u003d1459940\n\nChange-Id: Ifc589b697913778b16abfdcaaa9f8f81e564add7\n"
    },
    {
      "commit": "c04cfa35968783f5af007db95680f0087201d9ea",
      "tree": "8d4cd35639a00829ddb0249aa463749b9a1256ba",
      "parents": [
        "7942b33e8905bbc177ff3c92596404530c860bcd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 12:38:54 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 18:18:48 2010 -0700"
      },
      "message": "Unhide AudioManager API to control bluetooth SCO audio connection.\n\nNeeded for issue 2416481 in order to allow unbundled applications to play and record\naudio to/from a bluetooth SCO headset while not in call.\n\nChange-Id: Ie1f96ded991e65da538c2c4a58bfa1e548d58a01\n"
    },
    {
      "commit": "e2af5c882b146c3a8c7a37f093d13c8b386e8eba",
      "tree": "c93af8c04d2ec274acdb5c598739048e36cfe5db",
      "parents": [
        "9db133cbd995ee1b0aa9b420e180a4c7e1c94917"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 15:44:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 16:32:58 2010 -0700"
      },
      "message": "Fix issue #2438457: Resolving Flash artifacts while scrolling.\n\nWhen the surface view scrolls off the screen it stops drawing, so\nwe stop moving it.  Add an observer to scrolls so we can continue\nto update its position.\n\nChange-Id: I2604cbbecd3e72be1a2a6bc5794e3e1c19317b9e\n"
    },
    {
      "commit": "434dbceebc207c50f18fc655697242175ca4216f",
      "tree": "0665d195fba5271f3294b000177c6fefb0a0280b",
      "parents": [
        "ef905c86eeaecb0a7e2eb1152ae757ccdc9a7b36"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 18 15:05:30 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 18 15:05:30 2010 -0700"
      },
      "message": "Fix current.xml for previous changes\n\nChange-Id: I467f2e71e65fbe43f7e5507521e42726fa6bf361\n"
    },
    {
      "commit": "694f79b5d1196640d1beb680b7d1fc68e6e77cbd",
      "tree": "355894924374fb42cc6f8c664f34b413a90ecd7f",
      "parents": [
        "e4eb5bf243cb51b75b0717ebcd8c317a5b8fae8a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 17 19:44:59 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 01:12:20 2010 -0700"
      },
      "message": "Fix issue #2519590: Lock screen stuck in landscape mode\n\nWell, mostly.  There is still a problem here where the first time\nyou show the lock screen it just doesn\u0027t draw itself.  I assume\nthis is something breaking in the view hierarchy as it floounders\naround removing and adding new views as it is first being shown...\nbut no idea at this point what is the actual case.\n\nChange-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe\n"
    },
    {
      "commit": "8a836a8b98557263152a476f614b6e05e19ffc5a",
      "tree": "282a382a43499d033ed2672c95d6f5b367e24835",
      "parents": [
        "6c261f327a58ebf1393ef94c9228d11771fe65cc"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 17 20:17:04 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 17 20:33:07 2010 -0700"
      },
      "message": "Eliminate haptic feedback when hitting an overscroll barrier due to a fling.\n\nChange-Id: I434ec3edd95a19677ad9dbd1ac5ca3f3f5d091cb\n"
    },
    {
      "commit": "ceffa1597d574599cbaca71f5855a986b0857463",
      "tree": "36638509265b2047ba161841b2804bfc07b836fd",
      "parents": [
        "d1f78767fc2be65ae4dc213b4f3a3e6abec0810d"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Mar 16 21:18:10 2010 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Mar 17 14:50:31 2010 -0700"
      },
      "message": "Adding secure setting for storing a list of enabled TTS plugins.\n\nChange-Id: I972ae4fb71e430828b7d4b297613f6a21da3c982\n"
    },
    {
      "commit": "8214deb542392f48b6c3fdc377fdf976c0b17a32",
      "tree": "4a6d0fabd7ef0990979609c165b86a0eadfa9122",
      "parents": [
        "4f096dcf6ae068a144b8044cf55ba886823e66d3"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Thu Mar 11 15:04:43 2010 -0800"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Mon Mar 15 15:31:08 2010 -0700"
      },
      "message": "Add definitions for WiMAX and iDen network types.\n\nb/2509185\n\nChange-Id: Icf07ce857874e200712218713edbdbb47e646297\n"
    },
    {
      "commit": "b644f852636b05cf4f4afb2d1dfb3d8c024236fc",
      "tree": "29a5be06a4992a5b4cecd0d019b32ea77928ba20",
      "parents": [
        "38af4c36fc2636d7dfe6ec3cfe91f406dd1b2803"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Mar 12 21:58:18 2010 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Mar 12 21:58:18 2010 -0800"
      },
      "message": "Fixing a small API check issue to get the builds green\n\nChange-Id: I46e3c39c653a151f5592ed8001f5d0ea972f53b2\n"
    },
    {
      "commit": "3de55bcd34afd5871816526294f9514d1adf3fe5",
      "tree": "447dbe7ee4ba3ff437b91995495d62c29c41fe14",
      "parents": [
        "842f9df2c7944d5d7144b241763c65b497ba9312"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 12 17:28:08 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 12 18:11:00 2010 -0800"
      },
      "message": "API CHANGE: expose the backup-related ApplicationInfo flag masks\n\nFixes bug #2507582 by doing the following:\n\n- Un-@hide the FLAG_ALLOW_BACKUP, FLAG_KILL_AFTER_RESTORE, and\n  FLAG_RESTORE_ANY_VERSION mask constants in ApplicationInfo.  These\n  correspond, respectively, to the \u003capplication\u003e manifest tag\u0027s\n  android:allowBackup, android:killAfterRestore, and\n  android:restoreAnyVersion attributes.\n\n- Remove the android:restoreNeedsApplication attribute and the\n  corresponding FLAG_RESTORE_NEEDS_APPLICATION constant [which was still\n  marked @hide].  We now always use the application\u0027s own Application\n  class when performing a normal restore.  In the future when we support\n  an externalized full-filesystem backup/restore operation, we will use\n  an OS-defined agent class with a base-class Application instance, but\n  this will not happen until a future release.\n\nAlso expands real documentation on the above ApplicationInfo constants;\nthat work is part of bug #2465360\n\nChange-Id: I735d07a963ae80a01343637d83bef84e4c23fdcc\n"
    },
    {
      "commit": "e208377fbab6b90f41e68699700942a81f4caaeb",
      "tree": "ec838e772df979b393e8301b16e08d091563ef3e",
      "parents": [
        "84eb8d2a7de0a2cec02516b9fb2a61fde536b59c"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Mar 10 15:02:49 2010 -0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Thu Mar 11 17:41:04 2010 -0800"
      },
      "message": "Add GPSProcessingMethod tag to ExifInterface.\n\nChange-Id: I7575ae3195dc510e7020368794a66bb064839104\n"
    },
    {
      "commit": "bfb5d4b93bb739a012ecec604473838c1343c88a",
      "tree": "7ea1a696f32ad52d65f1b368a200b98f4c2613ae",
      "parents": [
        "232c9d5b7d8963b709d36770c0d3ca4c29144430"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 10 18:55:25 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 10 22:14:28 2010 -0800"
      },
      "message": "Added overscroll headers and footers to ListView.\n\nThese let developers set a drawable for the list header and footer\nto be drawn above and below list content.\n\nChange-Id: Ideddec854cb0bc11f83efb3c000c217844be82c7\n"
    },
    {
      "commit": "2ee89ea2887252053c31541c54126a8b084c9bca",
      "tree": "69be707136b1cde8ccfcb7bbb129e74ef2a64429",
      "parents": [
        "d8929fa76881b4b0f12d66dfc118dec291a59177"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 18:27:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 21:26:23 2010 -0800"
      },
      "message": "Applications should -not- be able to set preferred activities.\n\nI can\u0027t believe I let this slip through.  And in the SDK no less. :(\n\nThe APIs for setting preferred activities will now throw a security\nexception when used.  This may break some apps, we\u0027ll see how it\ngoes.  If it is too bad we can just make these log and not throw\nanything, but I would much prefer they throw an exception.\n\nChange-Id: I3aed434750eef8b202aa9d5bd774a0121be521c6\n"
    },
    {
      "commit": "80ea00c8391d4fa3a1966903af50732c337aadab",
      "tree": "2184fbfe6d892523eb7028f39e594b291081e89f",
      "parents": [
        "7717beed3794e0bae4c0ee7a4b01c4af86cb239e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Mar 10 12:40:04 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Mar 10 12:40:04 2010 -0800"
      },
      "message": "Fix the build.\n\nChange-Id: I7ed20f3d2fb1a80974fbbfe42fdd2f8f135ee401\n"
    },
    {
      "commit": "de8d0834fc2bc31f011fb3316757883e1b731440",
      "tree": "9646b6ad49375d26d734b662f679abd9922e5538",
      "parents": [
        "36ad54acef82f80dbf0ecdd8c44f5764df1be119"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Mar 09 17:11:30 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 10 10:16:21 2010 -0800"
      },
      "message": "Added ViewConfiguration.getScaledPagingTouchSlop()\n\nChange-Id: I9ab5560c4b76d2b87e53d38b10ba8f5ec4868d85\n"
    },
    {
      "commit": "2d17e1d212ed88fdeca4b27bf04c17c56bd5dee1",
      "tree": "a5eb58b8ce407755fbce942390ee53737d29088f",
      "parents": [
        "1c6743c40fcafdc77ad22557bb7a4b761029d13f"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Mar 09 10:55:04 2010 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Mar 09 13:14:04 2010 -0800"
      },
      "message": "Add an api to set WebView over scroll background.\n\nIf the WebView doesn\u0027t support zoom, or WebView does\nnot use wide viewport and horizontal is just fit,\ndon\u0027t do over scroll.\n\nFix http://b/issue?id\u003d2498403\nFix http://b/issue?id\u003d2497901"
    },
    {
      "commit": "5b9bcda3a26e9b1f9b1eff28a2be8853d69614f0",
      "tree": "3c5f8d5c8f5d3f53dc0fd0d6a4b90eb8df30f53b",
      "parents": [
        "e8df25a9c6f9118e0136904883a777052c522cb0"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Mar 07 14:59:28 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Mar 09 11:11:47 2010 -0800"
      },
      "message": "Unhide new preview callback methods.\n\nbug:2358064\nChange-Id: If9655ae8b7622ea6fc51e0054cfac7451962be66\n"
    },
    {
      "commit": "eabb6df2fac57134b82f90a63730b2371589bded",
      "tree": "e0fa760856e1894134b8b7d4b1ffd165edf55147",
      "parents": [
        "3dc02fecbe87484133e3c07fe194d7d7327cfe39"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 08 16:19:01 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 09 09:15:19 2010 -0800"
      },
      "message": "Unhide API additions to AudioManager for AudioFocus support.\n\nChange-Id: Ifc7d764703632eb91db11587675ae70ec14510e8\n"
    },
    {
      "commit": "50ab63f5831fed5cfa888fb67f0a27eb4c0a86c4",
      "tree": "156e3ff391ff48fa39a52ee16c10fe11961d8ca7",
      "parents": [
        "8d8a915a935378405fcf9978b83bd815ac5a265c"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Mar 05 16:16:19 2010 -0800"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Mar 08 19:28:28 2010 -0800"
      },
      "message": "Adding definitions \u0026 APIs for features that are newly-optional in FroYo.\nThis also refactors the files containing the features so that they are more\nmodular. Note that this also changes data/etc/Android.mk so that\nrequired_hardware.xml is NOT copied automatically for all devices\nanymore. Accordingly, that file is removed.\n"
    },
    {
      "commit": "156c43545529fb3d731ffdd9c4514d38758e3f06",
      "tree": "1ddbd96090770853f358aed7cab27f040ba68998",
      "parents": [
        "9e7b076cadc941feaa44838d39497537b8106ff0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 05 17:10:03 2010 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Mar 08 15:42:48 2010 -0800"
      },
      "message": "Move lockscreen settings to secure table to prevent tampering. b/2343673\n\nMigrate old settings to secure on upgrade.\n"
    },
    {
      "commit": "3eda9799a162765dd49f481cc303fc5702a9c5fe",
      "tree": "4f5cd7c7b4468dbc5a2f70a8a4747a2084fc7791",
      "parents": [
        "e879e4b9145fb05a7a7a478cbef681b0436bc49a"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Mar 05 13:28:36 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Mar 08 12:13:11 2010 -0800"
      },
      "message": "Add Debug.dumpService(), a public method for \"dumpsys\" functionality\n"
    },
    {
      "commit": "bf3e5b03aaaa7d953f55ef74ea659b07b3562c08",
      "tree": "72864a4adffc577446d0c8dc3b606d197bbcadda",
      "parents": [
        "18c65d309fc81252246a1e06edcd7eb1170cf0b3"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 18:52:28 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 18:52:28 2010 -0800"
      },
      "message": "Fix for badly rebased current.xml\n"
    },
    {
      "commit": "8f1bfe1a7cef702fd74e5405443e9fdb7c5e7556",
      "tree": "e497699fa9aba9ac7257baf942e91a0c7d4fccb0",
      "parents": [
        "0a9355bc72152b3f5d7910e8f59ce3f0c007219f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 15:13:56 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 18:02:38 2010 -0800"
      },
      "message": "ListView#getCheckItemIds() deprecated for ListView#getCheckedItemIds().\nListView#getCheckedItemIds() now works more reliably.\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": "51c5a0c50e8ec5e2cb59bd60f85f3e612eb08931",
      "tree": "653dcc743e4b1f8bcbb4df099a5ffb9375b186e3",
      "parents": [
        "bda5780d39d5483dea938f2b64f6b2e0fb383e22"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 10:50:38 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Mar 05 11:28:16 2010 -0800"
      },
      "message": "Added accessors for view overscroll modes\n"
    },
    {
      "commit": "7299c41630935a2b106e73e5603579a7747f7535",
      "tree": "933c4bc5c991c8d9334b7b78fbc71ad73e93d077",
      "parents": [
        "6d141b0a9beb71e59ba850b7be13c4f0344ddc77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 18:41:49 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 05 10:57:47 2010 -0800"
      },
      "message": "Refactor car mode.\n\nExtract all UI behavior from dock observer and ACTION_DOCK_EVENT.\n\nAlso introduce a desk type to go along with the car type all through\nthe resource system, since we now need to have corresponding high-level\nbroadcasts for desk dock mode.  As part of that I also reworked some\nof the logic for switching modes to all funnel through a single\nupdate() call that looks all of the current state to decide what to\ndo next, and fixed various locking issues.\n\nIn addition I found there were bugs in the configuration change\nhandling causing us to only switch into the car mode config and\nthen never get out of it.  Unfortunately now that we are actually\nchanging the configuration for each mode change, the transitions\nbetween them are really crummy as we restart all kinds of\nactivities. :(\n"
    },
    {
      "commit": "540bc0348ab40727a054cdadcf098b098c0bfb0b",
      "tree": "2df1a610f2a43d687de1a7146ff82544d6b1678c",
      "parents": [
        "e354bba55dd31e2c66424091fe4bfd68ae19274e"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Mar 04 21:55:50 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Mar 05 09:24:42 2010 -0800"
      },
      "message": "Unhide reconnect() in Camera.\n"
    },
    {
      "commit": "ff846009ecb6df669feeb5d5feecf4b304b8b9a5",
      "tree": "bdd79ed5dd614802e5ccdc4b263c1009cabd75ef",
      "parents": [
        "1533020321c3cb5a7c652ce602c04a0300d9ed10"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 01 10:05:30 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 04 21:49:35 2010 -0800"
      },
      "message": "Unhide CamcorderProfile and CameraProfile Java API\n\nbug - 2375978\n"
    },
    {
      "commit": "8e060c0f67de3e158bd5609f7772d644fc88e1f2",
      "tree": "75a1ef0bc938c68279e7fe4d880754437db354d3",
      "parents": [
        "fe73ce15fcd215b6886c1a76fe40d4610a86c1c8"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Thu Mar 04 11:46:10 2010 -0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Thu Mar 04 11:46:10 2010 -0800"
      },
      "message": "Update current.xml to fix build error.\n"
    },
    {
      "commit": "7a67f156fb5b84c072c0b2bce30c78e55c96db84",
      "tree": "ac34135e749ec3321fd2247142da011bc62eacdc",
      "parents": [
        "055c986ab841f8f758398841730f1e90313b132a"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Thu Feb 11 11:11:48 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Mar 05 03:10:28 2010 +0800"
      },
      "message": "Remove native options.\n"
    },
    {
      "commit": "055c986ab841f8f758398841730f1e90313b132a",
      "tree": "6f1aeb48706161c57a657b12a9fab102345e9bbf",
      "parents": [
        "3f5144b8a4b45a05cf7c1b0bd0422d0bd9ecb59b"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Feb 23 10:45:42 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Mar 05 03:03:48 2010 +0800"
      },
      "message": "Add location provider name to gps-processing-method in EXIF header.\n"
    },
    {
      "commit": "0fc6bc4cac6391f048f0f2748b3e979effe0924b",
      "tree": "8c8327ef3f9f1b24a3732fe2c6e9b8186b5f8737",
      "parents": [
        "e58aa0d964f91597cf3eecf16ff72988e6c5f5a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 26 19:36:35 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 03 17:01:32 2010 -0800"
      },
      "message": "Clean up MediaRecorder for public Java SDK\n- update comments and fix a check in setAudioChannels()\n\nbug - 2362412\n"
    },
    {
      "commit": "c37cb2469578f7d240615affb042e808b32ba5b2",
      "tree": "c6eff49bb8e997cfe1174cf12cb057e3a74bbba7",
      "parents": [
        "1e5e8f262d489332356c62ff22647bb7d5f8b4ba"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Feb 24 17:44:46 2010 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 03 15:46:48 2010 -0800"
      },
      "message": "Feature to return an extra in the cursor that keeps the spinny going.\n\nIf a search provider returns an extra in the cursor with the key\nSearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS, and the value true, then\nthe spinny in the search dialog will not stop, but the cursor\ncontents will still be used to update the results. This way, partial\nsearch results can be sent while the user is informed that the search\nis still in progress.\n"
    },
    {
      "commit": "0b49ab5cae98d5f27b490b6de35d92e7a63a2e64",
      "tree": "b1e26e54eec07b623e20af711d9d41c318a05739",
      "parents": [
        "97106ab5af0fdba00d6dbda4767b953e0a5829f4"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Mar 02 11:16:17 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Mar 03 09:20:36 2010 +0000"
      },
      "message": "Add SearchManager.SUGGEST_COLUMN_TEXT_2_URL\n\nThis column overrides SUGGEST_COLUMN_TEXT_2. SearchDialog\nand QuickSearchBox render the value of this column as a URL in\ngreen.\n\nPart of the fix for http://b/issue?id\u003d2380681\n\nChange-Id: I6735e0eba90e24c81f9e72520f257e5e61796d7a\n"
    },
    {
      "commit": "8754be5cac3aca54f83e2eb2c199bc01e934034e",
      "tree": "1a13c8ad2479a358d1ee12d6136c5054074e95a8",
      "parents": [
        "bd80e560ac09c42b8081fe555d74a922ebca080a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 19:39:50 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 19:39:50 2010 -0500"
      },
      "message": "Hide GeocoderParams class from public API.\n\nThis does not need to be publc until we unbundle the network location provider.\n\nChange-Id: Ib4109d2392624242eee33f271a8151588e3f0c56\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "14b60e747cdf16b79bb755b42dd766348c4f1880",
      "tree": "a9806c7d07ac081cc2a623f983b2f421d582193b",
      "parents": [
        "d2b41b6e7d23c4d2cb2b0fb58f2bbef94c95b5d1"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 01 14:47:47 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Mar 02 11:50:39 2010 -0800"
      },
      "message": "add warning in finalizer. deprecate protected members.\n\nfinalizer shoudl not be called ever. add a warning to say that.\nadeprecate a few members in SQLiteProgram.java. they should not\nhave had protected access level. shoudl be package.\n"
    },
    {
      "commit": "9147a0ed64917e82c3f70632bbc3a91895cc1d55",
      "tree": "a6abb42892ca6d17af443e71a14d62e069a5b16e",
      "parents": [
        "00611034cacc2d22a2e875509e910a142e359ab6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 02 11:24:39 2010 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 02 11:24:39 2010 -0800"
      },
      "message": "SslCertificate should use Dates - fixing api for build\n\nAlso fixing missing @deprecated noticed when updating API\n"
    },
    {
      "commit": "ef05e076ced1a32c5c0aaee28403779834adb2ba",
      "tree": "20dcf607adf508481d57610937ceab6ef2c6aee2",
      "parents": [
        "883dbacb12a003f8f46c3faab26b744fdef649a1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 17:43:39 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 20:42:14 2010 -0800"
      },
      "message": "Fix issue #2448075: aapt doesn\u0027t fix up activity-alias android:targetActivity links\n\nAnd related:\n\n- The aapt tool now sets a resource configurations sdk level to match any configs\n  that have been set (for example if you specify density your sdk level will be\n  at least 4).\n- New option to modify the targetPackage attribute of instrumentation.\n- Clean up of aapt options help.\n- Fix of UI type values to leave 0 for \"unspecified\".\n- Make the UI mode config APIs public.\n"
    },
    {
      "commit": "8cbb8f5e1f939b03515cb4d5942c3fcb226efb9e",
      "tree": "82706f029d7d318cb034993cc19625f47ce28903",
      "parents": [
        "7714d7132e4059a1256581b3599a5808b6a6f294"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Feb 28 23:19:55 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 01 15:32:33 2010 -0800"
      },
      "message": "Unhide zoom API.\n\nbug:2458926\n"
    },
    {
      "commit": "61c9d4b4509aeaab1fcad24fb5a63c874d2fd941",
      "tree": "dfe525c74d45736e5287574c21f517cfa7e17ad5",
      "parents": [
        "e0dab5bf6744812e7059ae63b31ac835479cb321"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 01 14:12:10 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 01 14:23:23 2010 -0800"
      },
      "message": "Let apps change the bottom strip in TabWidget.\nBug #2478088\n\nAlso expose a few useful APIs.\n"
    },
    {
      "commit": "2036dbab1726c34953360a7a56d6b9ef1f2aa7dd",
      "tree": "73037324cfbc6eb5baa32e46b05d9d37af44063f",
      "parents": [
        "b4e193991f9efc74978c004bcd9463cc5e85250c"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Feb 15 02:15:37 2010 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Mar 01 10:36:15 2010 -0800"
      },
      "message": "Add a new WebCoreWorker thread to handle the tasks\nwhich should not block either UI or WebKit. It handles\nlocal file access, cache access and trim cache.\n\nMove createCache, saveCache and most of getCache out\nof WebCore thread so that slow IO and database will\nnot affect loading performance. getCache can be still\ncalled from WebCore thread in the uncommon cases\nlike redirect and POST validation.\n\nMove cache ticker from WebCore thread to WebViewWorkerThread.\n\nMove setCookie from WebCore thread to WebViewWorkerThread.\n\nRemove the unreferenced files in the cache directory\nwhile trim cache.\n\nConfirmed with our SQL expert, Vasu, there is no need\nto wrap clearCache with end/startTransaction any more.\n\nhttp://b/issue?id\u003d2414792\nhttp://b/issue?id\u003d2475242"
    },
    {
      "commit": "87bba1ee14279bb14a28d42e27c4ef66d9967bf8",
      "tree": "915eb0be9f5fac21d24bacf76438cafb9f14bae0",
      "parents": [
        "8c49df4f36bee2878ab0ff7dc99dff60dc7354fb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 17:25:54 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 23:32:48 2010 -0800"
      },
      "message": "Move DeviceAdmin APIs to android.app.admin.\n\nAlso add ability for admins to hide themselves when not in use,\na facility for admins to not allow other admins to reset\ntheir password, and debug dumping.\n"
    },
    {
      "commit": "61a449393cf29f3960b4e03ec3fad652dac51b88",
      "tree": "085f5ca0516b6016495080b46ec6d5d0f901b2ea",
      "parents": [
        "7895da44e32e9c76e07663aae7084f11cbacbbdb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 26 18:06:26 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 26 18:06:26 2010 -0800"
      },
      "message": "fix [2475541] Deprecate Sensor.TYPE_ORIENTATION\n\nIt\u0027s much better to use SensorManager.getRotation() instead.\n"
    },
    {
      "commit": "340acd870ad05ec7b18ea4d7b3f6fa31b2360dd4",
      "tree": "08296a9d70c12073c61c2aaa54491924618480d3",
      "parents": [
        "3f016cfd482721ded01109b8f5c07dfa214ccb05"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Feb 26 11:46:00 2010 -0800"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Feb 26 15:20:56 2010 -0800"
      },
      "message": "Add an extra which allows to query *only* for the voice search language preference.\nThis will be used by e.g. LatinIME to avoid extra computation when this is all that\u0027s\nneeded (probably a common use case for this API).\n"
    },
    {
      "commit": "1f9e1b4c37c135b75cf064cbb5675aa576e2942a",
      "tree": "1ca95439c91aaa52a74fcbf1833869c614602abe",
      "parents": [
        "eb6d13102331fb776e5ac586ebdc523ee69d2ddf"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 13:14:31 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 14:32:24 2010 -0800"
      },
      "message": "Remove public variables in PackageManager\nDont invoke getInstallLocation for forward locked apps.\nIf INSTALL_ON_SDCARD is selected as default, forward locked\napps are not being installed because of conflicting flags.\n"
    },
    {
      "commit": "1b487ec44b6b5594914d52fa427bec4f29a60541",
      "tree": "a781927b74a306c4d1e5b028221057d0c4a42af1",
      "parents": [
        "f8219914f2269fb0932e140c966f24e47438f8fe"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 26 10:57:55 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 26 13:07:54 2010 -0800"
      },
      "message": "expose some sync control methods\n- ActiveSyncInfo\n- ContentResolver.addStatusChangeListener\n  - SYNC_OBSERVER_TYPE_SETTINGS\n  - SYNC_OBSERVER_TYPE_PENDING\n  - SYNC_OBSERVER_TYPE_ACTIVE\n- make the ContentService resilient to nulls passed in to the\n  status change listener registration and unregistration calls\n\nbug http://b/issue?id\u003d2337197\n"
    },
    {
      "commit": "0eec21d97d9dc4eb4fdbad0e4c0fc53703452d02",
      "tree": "b18ff4aebe681cd501d79522ca3244e0b0720c9e",
      "parents": [
        "4c904a3bf3dbe98607b5e3f706ee8ef8887ee104"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 25 17:07:14 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 12:48:21 2010 -0800"
      },
      "message": "Add dialog to display storage users when enabling/disabling ums\n\nSome error dialogs and related strings\nMountService changes to follow unmount path when enabling ums.\n\nPlease note that MountService api setUmsEnabled does not return\nerror codes for now. This is a known limitation.\n"
    },
    {
      "commit": "4c904a3bf3dbe98607b5e3f706ee8ef8887ee104",
      "tree": "d1c48058c8953b0806785f6b8b9e6901655936ef",
      "parents": [
        "d20958551c453c30d2caa32ac05a4f0c83776a5f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Feb 26 12:35:55 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Feb 26 12:35:55 2010 -0800"
      },
      "message": "fix the build.\n"
    },
    {
      "commit": "5cb70b54156fb305d579a1cc167424c8705bfdf7",
      "tree": "0a78a1238c89d57891b1c75fb52416131c26f4f6",
      "parents": [
        "08bbffb049c135c5dfd40d261118c90d1a6dc111"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 17:01:14 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 11:23:24 2010 -0800"
      },
      "message": "Rename Display.getOrientation() to Display.getRotation().\n\nUpdate various docs.\n"
    },
    {
      "commit": "08bbffb049c135c5dfd40d261118c90d1a6dc111",
      "tree": "0d8103483ea3f25fd5970a6c1ad4e0d90b7bde02",
      "parents": [
        "16f6354be4bd649c0da66cf75f11f1088293aca2"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Feb 25 11:16:22 2010 +0000"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Feb 26 11:16:17 2010 -0800"
      },
      "message": "Support CharSequence lists+arrays in Bundle+Intent\n\nFixes http://b/issue?id\u003d2468093\n\nChange-Id: Id82686f6ca8c9501f6db8a07018278a78ddacd05\n"
    },
    {
      "commit": "24b326a8978bf78e3e560723dde221792784325b",
      "tree": "a675e74ca0e7f430cf4f1386032154fc8895fd96",
      "parents": [
        "4d98579f43026a8213b0570e7836648902741005"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Feb 20 17:47:04 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Feb 26 14:04:43 2010 +0800"
      },
      "message": "Unhide exposure compensation API.\n\nbug:2375993\n"
    },
    {
      "commit": "2269d1572e5fcfb725ea55f5764d8c3280d69f6d",
      "tree": "7ce0788be6d85972d42ee7135cdce82aa323fcc7",
      "parents": [
        "e46145f7c114b9ac6d19c6a7886e9239463f91e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 19:54:22 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 11:39:33 2010 -0800"
      },
      "message": "Re-arrange android-common so framework no longer links with it.\n\nThis is the framework part, moving classes around so the framework\nno longer needs to link to android-common.  Makes some APIs public,\nothers that didn\u0027t need to be public are private in the framework,\nsome small things are copied.\n"
    },
    {
      "commit": "3dda518a4fd57cdded3afa50d8aa206501de7fc6",
      "tree": "4f94ac2f5cf057501c9cbd9f4f814432c701443b",
      "parents": [
        "27eb24148a935d10c2c490205174c59a47e76dc6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Feb 24 16:06:18 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Feb 24 17:23:54 2010 -0800"
      },
      "message": "Add \u0027restoreAnyVersion\u0027 attr for apps that want to restore \"future\" data\n\nIf a backup-participating app sets android:restoreAnyVersion\u003d\"true\" in its\nmanifest \u003capplication\u003e tag, then its agent will be invoked for restore\neven if the available dataset was created by a later version of the app\nthan is currently installed on the device.  This will not typically be\na problem for third party applications, since for them the installation\nand initial data restore are tightly coupled, but it can cause serious\nproblems for applications which are both preinstalled on the system\npartition and overridden by later updates.  The primary difficulty\nthat this new attribute addresses is this:\n\n1. User buys a Nexus One, Market self-updates, and the user installs some apps.\nAt this point the backup data on the server may indicate that the version of\nMarket which originated its bookkeeping is newer than the stock N1 Market app.\n2. User loses their phone, and buys a replacement N1.  At setup time, Market\nhas not yet had a chance to self-update, so when the restore comes in, it\u0027s\ntagged as being from \"the future\" and so the restore is refused.  No apps get\nreinstalled.\n\nBug: 2442127\nChange-Id: I076a9553dc613e5c3189350e778315718ed1ed2b\n"
    }
  ],
  "next": "eebc8e2e8fa23b2957fec5838acc874af9a64a3d"
}
