)]}'
{
  "log": [
    {
      "commit": "3141e0a62abe57e93e5d716895a2a57cc052bb50",
      "tree": "95927990d870487c71e3813e6631bed5bdcb3b78",
      "parents": [
        "5d9661be8eaa2a4702a4d3c0fa0fd07a8638b503"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Jan 28 15:06:32 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Feb 04 10:44:18 2010 +0000"
      },
      "message": "Add new ConsoleMessage class that adds more information (such as the Message Log Level from WebCore) and a new overload of onConsoleMessage that takes this as a parameter.\nThis change requires a corresponding change in external/webkit.\n\nBUG\u003d2401755\n\nChange-Id: Iea2c58e93172240f162d8ad57eb2c8f2352f8162\n"
    },
    {
      "commit": "5d9661be8eaa2a4702a4d3c0fa0fd07a8638b503",
      "tree": "98d80c1a3037f0d81cd13d4e04414f1226a4331a",
      "parents": [
        "fcebc0cd2d0913b880a4e0a1c0fdda1a0693df43"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Jan 31 17:03:30 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 04 16:11:38 2010 +0800"
      },
      "message": "Add getAttributeDouble() and focal length tag.\n\nbug:2375989\n"
    },
    {
      "commit": "74885efc8ce6d315e0593e5f669cc805e264cf68",
      "tree": "22da6c153588b0ef843411cfa6f760bc8660fc16",
      "parents": [
        "a7ff78d82022f711ee8ac57c07f8169d0ad559a4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Feb 02 17:39:26 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Feb 03 10:37:29 2010 -0800"
      },
      "message": "expose bootloader \u0026 radio versions, hardware string in API\n\nAdds three new device-version-related strings to android.os.Build.\n\nChange-Id: I832f87f26e50a649249c58037f563426f3bfc4bf\n"
    },
    {
      "commit": "355ca575a907e0f82c1c3f4849ed666c994e1ab6",
      "tree": "908330094531ce32cbd41113f6d8912f7a11b2b4",
      "parents": [
        "3a8cab88e7747dc280ce85895af014f98e80a6cc"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Feb 03 11:34:29 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Feb 03 11:34:29 2010 +0800"
      },
      "message": "Add GPS_TIMESTAMP and GPS_DATESTAMP tag to ExifInterface.\n"
    },
    {
      "commit": "216bccf804db9c972b317620a27de6a8adf7fbfe",
      "tree": "229296e8cd22d3d8c4efbd55300d5b7c8c77339f",
      "parents": [
        "8c18d89f282d88ba80444f53771778ecf066874a"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Feb 01 15:03:17 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Feb 02 17:52:29 2010 -0800"
      },
      "message": "Updated GestureDetector to ignore multitouch if requested by the app\nor if targetSdkVersion \u003e\u003d Froyo. Made ScaleGestureDetector\npublic. current.xml API updates for gestures.\n"
    },
    {
      "commit": "556d350a4d68be72c74b30ca9cd87a152f8512c2",
      "tree": "82afb98d79c7d6c66698f2b58474794fba26fabc",
      "parents": [
        "9ec33186c9f35e5dee23c65fb51873636694258e"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 02 12:54:07 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 02 12:56:45 2010 -0800"
      },
      "message": "StorageManager: API_CHANGE: Move StorageManager into  android.storage\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "c9d8175f40691228e25f0dd924cc2453a6f08e10",
      "tree": "c2ef9465b1c4fec1a92e9b3b5b6b91793d4a60f4",
      "parents": [
        "63d15ee6ae4ff5079c7551ca4131c6d7f23ad91c"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Feb 01 10:23:27 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 02 11:17:47 2010 -0800"
      },
      "message": "Context: API_CHANGE: Add support for retrieving StorageManager\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "2df9a91ff5c61dc6d788e034f5e0eb7a77a57ac6",
      "tree": "fa7de4752662ebd0464d13b57548ec9bae207640",
      "parents": [
        "3565456ca7a48718500fcc8db3ff4c19abfa8cf5"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Feb 01 12:25:11 2010 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Feb 02 10:30:23 2010 -0800"
      },
      "message": "Hide the android.webkit.CallbackProxy class from the API. This is a android.webkit package class and internal to our implementation.\n\nAlthough not strictly a published API (the class does not appear in the docs), it has found it\u0027s way into the API through\nthe public, subclassable android.webkit.JsResult class where it is a protected member.\n\nBased on changed from Ben.\n"
    },
    {
      "commit": "56fcd69b14610e5ae7fc08f285c7b57585723c5a",
      "tree": "beadf635b9c335f3e35283a9ca886f5be8c9e69f",
      "parents": [
        "2cd543aad5cc38fb3e7158f1cc5080c7e9ff5d24"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 15:34:52 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 15:34:52 2010 -0500"
      },
      "message": "Remove unused method LocationProviderImpl.isEnabled().\n\nThis should have been removed in my previous change.\n\nChange-Id: I3a080888f995e77a61e3ebf1c194ccd65686af1e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6c8d2760736a0753dad96b4bb8f98c7d075e6d54",
      "tree": "5df1fac94e122b86f92095d697d4da8bb737d210",
      "parents": [
        "4c4300c71229638183d814ab8374e09f722910f5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jan 27 22:55:14 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jan 30 20:36:04 2010 +0800"
      },
      "message": "Add focal length and view angle API.\n\nbug:2375989,2375987\n"
    },
    {
      "commit": "4c4300c71229638183d814ab8374e09f722910f5",
      "tree": "74433bbded099adab785c4e978d75a1abcbccb71",
      "parents": [
        "4bc1772ccacf6adde33adf8dff9c696bc7bf76e3"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jan 23 15:45:39 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jan 30 19:44:52 2010 +0800"
      },
      "message": "Add Camera.getSupportedThumbnailSizes() and Size.equals().\n\nbug:2375986\n"
    },
    {
      "commit": "9327f4f671de3cbb795612bf4f314ceff88de865",
      "tree": "f6f1109e4b3c8966eb6747f6f73835ea0623312e",
      "parents": [
        "7912a29cf24cab2f999186d95afa13ecdada0b8e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 29 10:38:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 29 17:16:02 2010 -0800"
      },
      "message": "More device policy work: clarify password modes, monkeying.\n\nClarifies what the password modes mean, renaming them to \"quality\"\nand updating their documentation and the implementation to follow.\n\nAlso adds a facility to find out if a monkey is running, which I\nneed for the api demo to avoid letting it wipe the device.\n"
    },
    {
      "commit": "bf124e7e41f7850ac1b7be808221a462db6f3447",
      "tree": "e831e6443bc122c5c8f35c4560517cd09ec7852b",
      "parents": [
        "c88ed5dc5de7b2a7a02f975c83ee12e0fc1df27f"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Jan 26 14:43:35 2010 -0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Jan 29 14:30:05 2010 -0800"
      },
      "message": "Unhide ThumbnailUtils to support Camera unbundling.\nhttp://b/2375978\n"
    },
    {
      "commit": "ef73162887943e16587b8e737b19e59348338e8c",
      "tree": "8a769b3abba1289bd2d6c39cc801c656491f60e2",
      "parents": [
        "3b889f52195cbbc12200ca237e312e825003132d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 27 17:51:34 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 29 17:05:04 2010 -0500"
      },
      "message": "Support for triggering the lockscreen while the screen is on:\n\nAdd new ALLOW_LOCK_WHILE_SCREEN_ON window manager flag, which when set\ncauses the window manager to put up the lockscreen after the\nnormal screen timeout has elapsed.\n\nAdd plumbing to pass PowerManager.userActivity() to the window manager policy.\n\nChange-Id: I05adc52bad39c56031a08e8ec3cbcf5c2d9b9827\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6eb7c45a8fdb774c4094b5012c8496f2a009c032",
      "tree": "0763573ab8e0df9bb6e45a1cb02c66fc7023fe72",
      "parents": [
        "35ec7863e18ce3d242010b76a50df5a8c285325b"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 27 14:31:24 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Fri Jan 29 12:24:28 2010 -0800"
      },
      "message": "make SqliteDatabase ConflictAlgorithm and associated methods public.\n\nSQLiteDatabase.java has ConflictAlgorithm which allows callers to specify\nactions to take when insert or update causes constraint violations.\nThese actions are documented at http://www.sqlite.org/lang_conflict.html.\n\nwhy make these public? usecase is the following:\nGmail has a table with a column \"_id\" being the integer primary key and\nthey let sqlite assign key values to the column.\nbut there is another UNIQUE key column (message_id) in the table.\nso an insert could fail due to constraint violation on the message_id column\n(i.e., not on the primary key). and when that happens, they would like to\nget the value of _id that caused constraint violation.\n\ncurrently hidden method insertOnConflict() already provides the above\nfunctionality. that means exposing ConflictAlgorithm also.\n"
    },
    {
      "commit": "254cb446faa7cb13699d8150eb4cc4f44cb61a2d",
      "tree": "1647a7558348a67989c0892b4e5b0350ba4392c5",
      "parents": [
        "2fd75f35158b8347251d18e8ec48585d6e020777"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 27 19:23:59 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 28 13:15:57 2010 -0800"
      },
      "message": "More device admin.\n\n- Clean up device policy manager APIs.\n- Implement lockNow().  For now this just turns the screen off to lock the device.\n"
    },
    {
      "commit": "679091849754c60bdde5670495c38493065fd308",
      "tree": "9c46ad0425892c6f9025625fa63b06035e7cbac5",
      "parents": [
        "0561f1175dcbcaa19059eb5bde09cc02f81da0b3"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Wed Jan 27 14:11:13 2010 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jan 28 09:19:10 2010 -0800"
      },
      "message": "Use a single EXTRA_HEADERS intent.\n"
    },
    {
      "commit": "c58ffe8253ca76160908d153242d8150f668ea32",
      "tree": "c4ff7cd483a091453a63c57146cc82cd4856355a",
      "parents": [
        "f9e573ec337e79043a5ee74fe3c03d97b31e11e6"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Wed Jan 27 16:16:17 2010 +0800"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jan 28 15:48:54 2010 +0800"
      },
      "message": "Unhide YuvImage, which supports compressing a YUV rectangle region to JPEG.\n\nBug: 2285598\n"
    },
    {
      "commit": "f9e573ec337e79043a5ee74fe3c03d97b31e11e6",
      "tree": "d1cc3e6110d2aa49c0fc6569aefc2b65a6422047",
      "parents": [
        "7543f9e293467333165dd6d88570f19b537fbca1"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jan 27 15:11:10 2010 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jan 27 22:30:38 2010 -0800"
      },
      "message": "Updating Android\u0027s API XML files to reflect our new XML APIs!\n\nThe effective change is here: https://android-git.corp.google.com/g/38533\nIt updates DOM to v3 and adds several javax.xml packages to be compatible\nwith Java 5.\n"
    },
    {
      "commit": "d47c6ed4a9f2b5bd31f6c806b74701428efe458b",
      "tree": "dcaea393c297e01163a4f57e377e295cf3cbe877",
      "parents": [
        "9cf5b455d95ff2024b6d23e3416aca4abf93ff8c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 27 16:21:20 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 27 17:31:56 2010 -0800"
      },
      "message": "Bite the bullet and add support for multiple device admins.\n"
    },
    {
      "commit": "e7bd22a9d9441916aa9c67d80ee9f02a2d3e10e5",
      "tree": "3b779c292cb051157853958b83953d7e25698362",
      "parents": [
        "83e5ff09d5ea440c3d32c9293449701d2475f4eb"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jan 27 10:24:42 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jan 27 17:05:21 2010 -0800"
      },
      "message": "Unhide camera api for set display orientation.\n"
    },
    {
      "commit": "43c9cdffb619f93d9d4525dffd05701dc9c8c4bf",
      "tree": "a266084c0bb0dd8bb2940361dd48679fe447c53c",
      "parents": [
        "507354e4ba07e1d8701d747d60414b053eb517b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jan 27 13:53:55 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jan 27 15:53:40 2010 -0800"
      },
      "message": "New View.dispatchDisplayHint() API.\nBug #2399147\n\nThis new API will be used by scrollable containers to tell children that they\nare/are not displayed. This will allow lists to hide their filter popup window\nfor instance.\n"
    },
    {
      "commit": "8ea138cbf12b140d43fd81f4f12fe1a9234f1f25",
      "tree": "65d820bd65d69af867e4558b1fbd407634309eb2",
      "parents": [
        "2fc1f4a02957de3fdc785ca3dde414fb8e97bc49"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 26 18:01:04 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 27 13:51:53 2010 -0800"
      },
      "message": "More work on device admins:\n\n- You can now show a dynamic message to the user when asking to\n  have your DeviceAdmin added.\n- A DeviceAdmin can now provide a warning message that is displayed\n  before a user disables it.\n- Better ordering (and text) of the policy warnings.\n- New API to set the maximum failed password attempts before the device\n  wipes itself.\n- We now store the number of failed unlock attempts in persistent\n  storage.\n- New managed dialog APIs that will be used by the settings app.\n\nAlso a little bit of cleanup as I was working on this - removed the\nlong unused MailboxNotAvailableException, fixed a java doc in Messenger.\n"
    },
    {
      "commit": "d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8e",
      "tree": "f2cf97810b503211f57c972fb0db36d94e195703",
      "parents": [
        "946e007283d76d6855824ed00910fb1470d369c2"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Jan 26 18:08:28 2010 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Wed Jan 27 12:28:11 2010 -0800"
      },
      "message": "Add request header support for the Browser/WebView.\nQSB can use this instead of POST to send the location\ndata. After QSB makes the switch, we should also\nremove the POST_DATA intent which is hidden.\n\nAdd loadUrl(String url, HashMap extraHeaders) to\nWebView so that the caller can send the extra http\nheaders.\n\nRemove \"inline:\" as no one is using it and it is a\nhidden feature.\n\nPart 1 of 3-project checkin."
    },
    {
      "commit": "e6be0f7263484eb5e49153f049ac170c57444c74",
      "tree": "afb2625a072389864d179b70b921c0d40d632af2",
      "parents": [
        "11c628a605c228f46d1b66b4a6c4deab683fbb9e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jan 26 17:05:11 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jan 26 17:05:11 2010 -0800"
      },
      "message": "Fix the build.\n"
    },
    {
      "commit": "8aa2e8939c61d788cbc192098465e79f584e173a",
      "tree": "83f2ea06758e1bb3f28a8fabedae29c3a5b89582",
      "parents": [
        "148fea03caed2a082387c45ae12a91561b8e41e5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 22 11:31:30 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 26 12:28:15 2010 -0800"
      },
      "message": "More device admin work: description, policy control.\n\nThere is now a description attribute associated with all components,\nthat can supply user-visible information about what the component does.\nWe use this to show such information about device admins, and wallpapers\nare also updated to be able to show this in addition to the existing\ndescription in their meta-data.\n\nThis also defines security control for admins, requiring that they\ndeclare the policies they will touch, and enforcing that they do\nso to be able to use various APIs.\n"
    },
    {
      "commit": "017091669a5af2dd3d0a457f05f153f4d31848b6",
      "tree": "2679fa41ed025078a595757af090c34dcf7c6a32",
      "parents": [
        "fd0c2dda2dc77944bd0a94cedd88acba707804c8"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 18:10:53 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jan 26 12:08:21 2010 -0800"
      },
      "message": "Unhide brightness constants to help unbundle Camera.\n"
    },
    {
      "commit": "a3d5e0c5e3d12b3f8d7f43acb0c170b5e5899876",
      "tree": "47d6652f38ff4cb51f172023cb2d7f0ebd8422a9",
      "parents": [
        "8d9eb9f681941fe0bf9eb91696427700ba5ed810"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Tue Jan 26 08:42:10 2010 -0800"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Tue Jan 26 08:42:10 2010 -0800"
      },
      "message": "Unhide the secure setting for LocationProviderEnabled\n\nThe unbundled NetworkLocationProvider needs to get/set the enabled bit\nfrom the settings database.\n"
    },
    {
      "commit": "9d8b876c61831fd52abf56a87c518b999cc17821",
      "tree": "27957d0ade63396dabf21922d2c41490ac67be78",
      "parents": [
        "0c8569f2a345b8321ff842d76191b5d72b4bdb54"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jan 22 20:50:15 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Jan 26 09:59:35 2010 -0500"
      },
      "message": "Add android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS.\n\nMaps to \"android.settings.DEVICE_INFO_SETTINGS\", which\nlaunches the DeviceInfoSettings activity in Settings.\n"
    },
    {
      "commit": "79896bd123aa3bc69c6455d4e2ddf2b2b555e6e5",
      "tree": "62d7cfa207de2108e964b44949f0ccf1e124f11c",
      "parents": [
        "c30ffda0d84e0c3d9b8a4ccc18b3895ae467ae40"
      ],
      "author": {
        "name": "Valentin Kravtsov",
        "email": "valentink@google.com",
        "time": "Fri Jan 15 11:56:03 2010 +0000"
      },
      "committer": {
        "name": "Valentin Kravtsov",
        "email": "valentink@google.com",
        "time": "Tue Jan 26 11:23:52 2010 +0000"
      },
      "message": "Adding Recognition Service and Listener wrappers\n\nChange-Id: Ib5068fb6d42b6752d09b0828964b6cbe92d015d3\n"
    },
    {
      "commit": "199566045d2c22981604b1894e416373eb0e74ed",
      "tree": "af683ac4eea76def755bff2e0725881c8c763d18",
      "parents": [
        "a98ae1f7d60a1c7b9c9342ee622cd92f3eced204"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jan 25 21:31:09 2010 -0500"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jan 25 21:48:08 2010 -0500"
      },
      "message": "Unhide RecognizerIntent.ACTION_VOICE_SEARCH_SETTINGS, which our voice search\n(or other voice search implementations) can use to implement settings in the\nsystem settings.\n"
    },
    {
      "commit": "307da1a46b4c9b711bafe8fbaaa6b98e8868c18e",
      "tree": "a83cd290b7fc4e6d7f11a56c96318f282df37838",
      "parents": [
        "e0560e484b4b31edbb81beae1dca7e109126cb73"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Jan 21 14:24:20 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Jan 25 16:41:58 2010 -0800"
      },
      "message": "enhance the sync manager backoff logic and add support for retry-after\n\nmoved SyncQueue and SyncOperation into their own top-level classes\nto ease maintainability and testing6\n\nremoved some dead code\n"
    },
    {
      "commit": "c7f930f5a9a62470775e913945c771ca57e0b10f",
      "tree": "08b12ed959d90867de457c4b5de306d351646b09",
      "parents": [
        "bb04b631b60e0286c02e0fd4dd7ab764a001e0ce"
      ],
      "author": {
        "name": "Yang Li",
        "email": "liyang@google.com",
        "time": "Mon Jan 25 15:10:28 2010 -0800"
      },
      "committer": {
        "name": "Yang Li",
        "email": "liyang@google.com",
        "time": "Mon Jan 25 15:15:55 2010 -0800"
      },
      "message": "Made GestureUtilities\u0027s several methods public; Changed GestureStroke\u0027s smoothening threshold.\n"
    },
    {
      "commit": "d1ab01682b136b586aac94334f976f03c762b3c7",
      "tree": "f266e77778c4b79050e3f372c0146ce1a2a34e84",
      "parents": [
        "92da0b4453b46f314a9acdc60302cf196ff0d1fe"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jan 21 17:27:14 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 22 17:05:50 2010 -0800"
      },
      "message": "Add extra resources field for ApplicationInfo\n\nAllow ApplicationInfo to track multiple files it wants to use as\nresources by adding a string array to its public definition.\n\nChange-Id: Ieffc4b1755270520b59c4e5a3c084e86aef02346\n"
    },
    {
      "commit": "3214839482aebcdfccc7cec0b0849739ef46fa68",
      "tree": "a7e6e79ea98ffbf6aa3eecfabe4a2c9b42cd8fde",
      "parents": [
        "55434a7999222d89205f32efb03da7e70dd74073"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jan 21 15:40:47 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 22 16:56:26 2010 -0800"
      },
      "message": "Unhide resource-related API calls in Context\n\nContext hides methods related to the underlying functioning of\nresources which are readily available from the ApplicationInfo\nobject.  This change allows getting access to information\nwithout having to make PackageManager calls for it.\n\nChange-Id: Icf6a9da652dad8175bd11b5cd81a924181070373\n"
    },
    {
      "commit": "68f2f547f56f239b60d13b2b62a08a65874f6662",
      "tree": "85b9828928b50972b34a42dc70008e21e8e88536",
      "parents": [
        "37f3ddb60ba75acde323066836e6ba2111dabb98"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Wed Jan 13 12:13:57 2010 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Jan 21 16:56:57 2010 -0800"
      },
      "message": "Bug 2330111\n\nMake NumberPicker public\n\nMade setCurrent() more robust, as the value needs to be within the range\nspecified earlier. setCurrent() will now throw an exception\nif the specified doesn\u0027t fall in the range\n"
    },
    {
      "commit": "df83afaf299666e99c519aa86e7e082b7c116e95",
      "tree": "65480fb272324aee6613d0449d40d5e078a700a8",
      "parents": [
        "04ce08f34e39928a5b8e9ea59134f255c9ff08f6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 20 13:37:26 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 21 14:30:57 2010 -0800"
      },
      "message": "More device policy manager / admin work.\n\nUpdate API with some new features, re-arrange how you check for valid\npasswords, and start hooking up the back-end implementation.\n"
    },
    {
      "commit": "ef340357cefeee452403a77c2b6c1aa01c239d6b",
      "tree": "ea4cad3c00cfc34263495ad9a9868aef02815967",
      "parents": [
        "2fa6b52c2bdd83bcb8c58be6b9e29c7d292fb1c6"
      ],
      "author": {
        "name": "Justin Mattson",
        "email": "jmatt@google.com",
        "time": "Wed Jan 13 21:05:46 2010 -0800"
      },
      "committer": {
        "name": "Justin Mattson",
        "email": "jmatt@google.com",
        "time": "Thu Jan 21 11:40:58 2010 -0800"
      },
      "message": "NEW_API: Declare an ACTION_SEARCH_SETTINGS constant in android.provider.Settings so that apps can cause this system setting group to be opened directly.\n\nThe Settings app already responds to this action it just was not exposed in the platform API.\n"
    },
    {
      "commit": "d68478467e3f837511196c80891d7245d0e163df",
      "tree": "598148f587955a89e72017b59df3ba7ba4d8b20b",
      "parents": [
        "5fbf4094f5857ab15801c65a260a5c4b6866d655"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 12 18:14:19 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jan 17 15:10:24 2010 -0800"
      },
      "message": "First pass at new device policy and administration APIs.\n\nThis adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.\nSee the java docs for each on documentation on them.  Basically: a DeviceAdmin\nis what you derive from to administer a device; DevicePolicyManager is what you\nuse to apply and check your policy requirements and perform other administration\ntasks.\n"
    },
    {
      "commit": "130a8b71bbfb93c1cbe0642e7f2cb97322f899d1",
      "tree": "fb6cc0d97884d0c4ffe2c5e626aadcc458a6abc3",
      "parents": [
        "7c44220d0b57bd3bbb87f5db00454f9ea9faed9a"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Thu Jan 14 15:39:43 2010 -0800"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Jan 15 11:35:06 2010 -0800"
      },
      "message": "Add Dialog.setOnShowListener() to the public API.\n"
    },
    {
      "commit": "3084a6f80180506ce26fe4773d9a19f004b7f625",
      "tree": "0664c1d8c214b494ab9b936d630cc01d45466ae5",
      "parents": [
        "013b9c249dbcb5ca293c5cfe6a0e7908ced32418"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Jan 14 18:02:03 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Jan 15 11:05:44 2010 -0800"
      },
      "message": "rename testHasFeatures to hasFeatures\n"
    },
    {
      "commit": "b8a2aafdef732764bd6b189d035e9f0765bb027a",
      "tree": "69aae5bc60a77cd81de50dc68a13377f898296f2",
      "parents": [
        "0894498712de1f15b6491fa5fe111b2da7fb7038"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jan 14 10:44:02 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Jan 15 10:41:56 2010 -0800"
      },
      "message": "New method to return the last dialed number\nBug:2227429\n"
    },
    {
      "commit": "c5dfa70410121c63079ecd7e4945d774562c8998",
      "tree": "dd1634a2a96b68aebaa61f21be2b3d6c06c17e73",
      "parents": [
        "633feacf17ef3188fb77751b6234140326568522"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Jan 15 09:52:54 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Jan 15 09:52:54 2010 -0800"
      },
      "message": "Revert \"New method to return the last dialed number\"\n\nThis reverts commit ac835c94b81c9497404a27af4da9c957e5c82045.\n"
    },
    {
      "commit": "ac835c94b81c9497404a27af4da9c957e5c82045",
      "tree": "32cf79cd662d66a1fc671d6bc9629491f8e04a2b",
      "parents": [
        "0f26ec1aa10f070dea33a24de02bb766ef698c0a"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jan 14 10:44:02 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Jan 15 08:19:45 2010 -0800"
      },
      "message": "New method to return the last dialed number\nBug:2227429\n"
    },
    {
      "commit": "e495d1f74af13aec8d5d825e93e4cfe1e4fe7468",
      "tree": "598f4255c3068e244a15911423e375464f70f44d",
      "parents": [
        "f2275078bd5ba6bc0b184098573341c5958289ab"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 06 16:34:19 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Thu Jan 14 15:22:58 2010 -0800"
      },
      "message": "fix a bug in compiled-sql caching \u0026 hide public api setMaxSqlCacheSize\n\nthis is a clone of https://android-git.corp.google.com/g/#change,35174.\nif the cache is full to its capacity and if a new statement is to be cached,\none of the entries in the cache is thrown out to make room for the new one.\nbut the one that is thrown out doesn\u0027t get deallocated by SQLiteProgram\nbecause it doesn\u0027t know that it should.\nfixed this by having SQLiteProgram finalize its sql statement in\nreleaseReference*() methods, if the statement is not in cache.\n"
    },
    {
      "commit": "55f3ac5f293e78618995202274f8555f2481994d",
      "tree": "fbec5ee65e87c4fcd651573900bf4acd78eed427",
      "parents": [
        "e414f32f7753ccb44544dda73853bbe27d68236b"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Jan 14 11:38:22 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Jan 14 20:56:59 2010 +0000"
      },
      "message": "Expose SearchManager constants for global search\n\nThis change exposes some constants that are needed for\nstarting the global search activity (QuickSearchBox):\n\n- SearchManager.INTENT_ACTION_GLOBAL_SEARCH\n- SearchManager.EXTRA_SELECT_QUERY\n\nChange-Id: I2f1f10070f502a8d5b644e78c03837d5d8b43486\n"
    },
    {
      "commit": "bb68a4fc54231e147d91fe3668d1409ccfd81a45",
      "tree": "230ca5f17556e77a9e2c51a0fd7535201f3e6064",
      "parents": [
        "8178753301003c9469e34e9322fe60630ea34f61"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Jan 13 17:28:39 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Jan 14 10:35:33 2010 -0800"
      },
      "message": "add AccountManager.testHasFeatures() to make it easy to check if a given account has a set of features\n"
    },
    {
      "commit": "c849cdf5cfde007ce591838c4e2b777fb4843c8d",
      "tree": "c21dde7e344ea856d73099844fd09bfb2d21ffd3",
      "parents": [
        "a77f93f76a40128ecc3d017ead6d1105f96b282a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jan 08 11:47:27 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Jan 13 10:01:44 2010 -0800"
      },
      "message": "Unhide some CM constants to support unbundling.\n\nThe MOBILE_MMS, MOBILE_SUPL, MOBILE_DUN and MOBILE_HIPRI net types used\nby location, messaging, and vending needed to be exposed.\n\nBug: 2363272\nChange-ID: I6d2361d3642064db619b283b9217512563eb3439\n"
    },
    {
      "commit": "0408675d8770fc55c40631cdfa87d79fc00f0a3c",
      "tree": "56afa805f7c1c8b5801994150d5c1d0a5025315b",
      "parents": [
        "7240b50449fc75cdb6c1a60a4dfe201497207a6f"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Jan 12 15:50:04 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Jan 12 15:50:04 2010 +0000"
      },
      "message": "Add and expose SearchManager.getSearchableInfo()\n\nThis method is needed by QuickSearchBox to get the searchability\nmeta-data for an activity.\n\nChange-Id: I1b7a72d4dde1ff15410288cfdc33c043738be977\n"
    },
    {
      "commit": "52eab1c7601862d94c90366878088e072b1c6017",
      "tree": "4a7af6e47f21069dac1ce2764b04dc07a87afac2",
      "parents": [
        "3b06c9f3dda91dbbf567f3163da1ac9648221f14"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jan 10 22:25:31 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 11 12:32:50 2010 -0500"
      },
      "message": "Unhide LocationManager APIs needed for unbundled location providers.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "32d580c360da0a0f15e7a080f4ebd0b7b514fe4c",
      "tree": "abdd91232ac40dc59b227a7ee431c78b6192930c",
      "parents": [
        "71de7851a2d1c1ef0251bdc1ea59c5e6f58cf429"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jan 06 09:29:11 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Sat Jan 09 13:19:52 2010 +0000"
      },
      "message": "Copy SearchSourceSelector from QuickSearchBox\n\nThe widget shows the icon for a search source, and when clicked\nfires an intent that shows a search source selection activity.\nThat intent is handled by the QuickSearchBox app.\n\nThis change also adds the source selector to the in-app\nsearch dialog.\n\nAn upcoming change to QuickSearchBox will add the search source\nselector to the home screen search widget and to the Quick Search Box\nactivity.\n\nTODO: Add assets for selected and pressed states to the search selector.\nTODO: The SearchDialog hides when the soruce selection activity\nappears. This will be fixed when SearchDialog is changed from a\nsystem window to a normal app window.\n\nChange-Id: I91eadd60682577614e274ecf5b995b927c70a48a\n"
    },
    {
      "commit": "71de7851a2d1c1ef0251bdc1ea59c5e6f58cf429",
      "tree": "ab1cdc4c9e0e5386d01b5a75c931d948fed4c4f8",
      "parents": [
        "4b138d8703d9f88031a5f2fbe6a6bda2d9ccf151"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Jan 08 13:10:51 2010 -0800"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Jan 08 16:37:43 2010 -0800"
      },
      "message": "Make Build.UNKNOWN public.\n\nThere needs to be a way for apps to determine whether or not\na build property exists.  Exposing UNKNOWN (the value that\nBuild sets properties to by default) will give apps something\nto compare against.\n"
    },
    {
      "commit": "980a938c1c9a6a5791a8240e5a1e6638ab28dc77",
      "tree": "75a3a1347b5423cc98859d3976076cea3dc22564",
      "parents": [
        "0a0289420227fee51406cf4cc508f09d8ecdd2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:06:28 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:11:38 2010 -0800"
      },
      "message": "Deprecate fill_parent and introduce match_parent.\nBug: #2361749.\n"
    },
    {
      "commit": "431f5fd9e8c9d63f77ae47cd156f72175307ff85",
      "tree": "73b0af369face5860d8c169fe029748dcec4c21d",
      "parents": [
        "698893fc902b0510d45864e4d221d01eec508386"
      ],
      "author": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Wed Jan 06 14:36:31 2010 -0800"
      },
      "committer": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Fri Jan 08 10:17:02 2010 -0800"
      },
      "message": "Unhide WebView#emulateShiftHeld() so that gmail can do select-to-copy\n"
    },
    {
      "commit": "6a5b0ecae5dc89a951e1e204bc007f50f944c5d1",
      "tree": "e1a397b9504f9b3ec0e661a5d4ac5052a6af16c2",
      "parents": [
        "624d39dd818037d4c2f1b0ab846b0ba336a7e767"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Jan 08 09:55:33 2010 -0500"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Jan 08 10:16:33 2010 -0500"
      },
      "message": "Deprecate onTooManyRedirects.\n\nThe method was added a long time ago but has never been called. Rather than\nspend time implementing and testing this feature, deprecate the function.\n\nBug: 2257857\n"
    },
    {
      "commit": "624d39dd818037d4c2f1b0ab846b0ba336a7e767",
      "tree": "9e0292371f5460917c844152f608897266d7dd18",
      "parents": [
        "b0ef1bcfa1f059ae695eb22ed462b366747039c9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jan 07 16:39:20 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 08 12:31:16 2010 +0800"
      },
      "message": "Unhide intent extra constants for Camera.\n"
    },
    {
      "commit": "6e70912bd53aaa5264259e160eb2b4d2eb0f302c",
      "tree": "eab23ab6e33add58cc05a936520f8670ab08fed3",
      "parents": [
        "edc5189c33de03f3e2f5f73edc0e007992b933c9"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Jan 07 10:08:19 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Jan 07 19:10:43 2010 -0800"
      },
      "message": "Bumper un-@hide (un-@pending actually) of previously reviewed APIs:\n\n- new Log methods for reportable conditions\n- EventLog publication, EventLogTags deprecation\n- a new stackTrace field in ProcessErrorStateInfo\n"
    },
    {
      "commit": "fa9cafa074eb5d98b49b63795cd947877df1f21d",
      "tree": "74a00a2ceaaa2b47ee20e287c7e272d47acd5b3b",
      "parents": [
        "1c819a5e3e7ba7499589e798a5f971263cf3c65b"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Wed Jan 06 17:37:13 2010 -0800"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Thu Jan 07 12:57:42 2010 -0800"
      },
      "message": "Add a string for second-ABI system property to android.os.Build.\n"
    },
    {
      "commit": "9d2f7a7d66d1802f2f25ad6a556063ea9340f8c8",
      "tree": "4e1c3b5adbb40f8957507602a5acdcdeb6775c1f",
      "parents": [
        "0caa13b257935d2ed436ed0b05f6144c5f48a23c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 10:15:58 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 22:35:46 2010 -0500"
      },
      "message": "Add LocationManagerImpl class to act as a public wrapper for the ILocationProvider interface\n\nLocation providers implemented outside of the core android platform (like network location)\ncan subclass LocationManagerImpl to implement the location provider interface\nwithout being bound too tightly to the location manager internals.\n\nChange-Id: Id193d4d09f9a14bea13e81af03c914074cd37cb9\n"
    },
    {
      "commit": "6e99b7a3b29fbb1936463a3a48fe693dae909c8f",
      "tree": "1e37b2b44ecb2a17d2e6b43d0018e33445af9b31",
      "parents": [
        "9027696bf01d712658db9ff3003d0c11a89ddc2a"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jan 06 15:02:52 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jan 06 15:05:24 2010 -0800"
      },
      "message": "add ACCESS_CACHE_FILESYSTEM permission to core manifest\n\nAll of the permissions in data/etc/platform.xml are defined in\ncore/res/AndroidManifest.xml, except for ACCESS_CACHE_FILESYSTEM.  Add\nit.\n\nChange-Id: If7906bc0007484cc21196fb1c0593b967fd79920\n"
    },
    {
      "commit": "0cb047c0de7fe6a775bc6e9cff194af9dcb726cf",
      "tree": "e97138f52cc4dacfebd8b0b15d42b46605f16230",
      "parents": [
        "f66de3cd8eb8df996ac53f6008cd0dbd71157935"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jan 06 09:01:27 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jan 06 14:02:09 2010 -0800"
      },
      "message": "unhide the RecoverySystem class\n\nThe recovery system is already part of the platform; this class\ndefines an interface for interacting with it from the regular system.\n\nChange-Id: I87dff8d6c1dbd11ac8f397a3f34ea5cb16d2d227\n"
    },
    {
      "commit": "d755b06805dd3ed4dc6c08ff1750e28543901854",
      "tree": "8e1ffd184ed4f9b2754b433f3451f9a86021fe06",
      "parents": [
        "e0a8efd8747f4f8b0d0cc986239dda77021ea918"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jan 06 17:15:37 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jan 06 17:38:17 2010 +0000"
      },
      "message": "Add RemoteViews.setBundle() method.\n\nThis is needed for setting the app search data for an upcoming search\nsource selection widget which is @RemoteView.\n\nChange-Id: I2d04ff68d0ad7f12e88ed25ded75e174a8403bcc\n"
    },
    {
      "commit": "34901409a404c8c66914c5a8ad0f29b1bcde0e78",
      "tree": "acb354a4cc41207692e486a84d9541925a15e8e6",
      "parents": [
        "3e7b44fade95848a717b0f4d1b7365ce72e885ed"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 04 12:14:21 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 05 23:39:29 2010 -0500"
      },
      "message": "Cleanup and add public wrapper for IGeocodeProvider interface to prepare for network location unbundling.\n\nChange-Id: I6523d115b56dbf450121e73d48e151f200827eb4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "03abb8179f0d912e6dabfc0e2b0f129d85066d17",
      "tree": "96bb3a814c750fd498db0171dab2e40bb9b1ae8f",
      "parents": [
        "129ef0aab3506f3cd80506843f42813ba20ce8ea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 04 18:43:19 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 05 15:47:05 2010 -0800"
      },
      "message": "Kill the task killers.\n\nThe ActivityManager.restartPackage() API is now deprecated, and no longer\nallows applications to mess up the state of other applications.  This was\nbeing abused by task killers, causing users to think their other applications\nhad bugs.\n\nA new API is introduced for task killers,\nActivityManager.killBackgroundProcesses(), which allows these applications\nto kill processes but only the same amount that the out of memory\nkiller does, thus causing no permanent damage.  The old restartPackage()\nAPI is now a wrapper for calling this new API.\n\nThere is also a new private forceStopPackage() API that is used for the\nsystem\u0027s force stop UI which does what the old restartPackage() API did.\n"
    },
    {
      "commit": "592632562a2c5c01c016c893b0d2d2a16d9081b6",
      "tree": "c4adfc8f65aa9b92efeabbf4e13c18302c66b88d",
      "parents": [
        "3979a60a9496ea29b0b680021a79bcf15b374fd9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 05 09:22:18 2010 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 05 12:56:04 2010 -0800"
      },
      "message": "Unhide some MediaStore things that should be public.\n"
    },
    {
      "commit": "a6276fdd4253c3a7150ab675678c750473ab6c45",
      "tree": "d025885cd75cd415b62eb7757d25c05174c3db49",
      "parents": [
        "8eb3ea659761edc2cd5db3acf448059f19389e5e"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Dec 28 19:31:43 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Dec 31 13:31:04 2009 +0800"
      },
      "message": "A library for encoding and decoding ETC1 textures.\n\nThe ETC1 compressed texture format is commonly\nsupported by OpenGL ES 2.0-capable devices.\n"
    },
    {
      "commit": "a0b517609dfd8436a98bdebb31466f19ffec6cb5",
      "tree": "d7e60d6d46f73fedc1eb42fff9764293ed340e1d",
      "parents": [
        "08dca8fa4bd3e90bd7b98feb15dc0efdea8193c7",
        "68e9014e47f7350b3889e1704dde809b2a926968"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Dec 27 16:33:17 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Dec 27 16:33:17 2009 -0800"
      },
      "message": "am 68e9014e: am 484d2888: Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.\n\nMerge commit \u002768e9014e47f7350b3889e1704dde809b2a926968\u0027\n\n* commit \u002768e9014e47f7350b3889e1704dde809b2a926968\u0027:\n  Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.\n"
    },
    {
      "commit": "484d2888680e18e6ad8c3fcc51e3b70a705a096e",
      "tree": "22e4a46d917cd9f062803bf053cce1da82cbf570",
      "parents": [
        "4350e1451c9f884fabcabfda915b58a26c6ebf5f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 08 09:05:45 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 22 10:10:24 2009 -0800"
      },
      "message": "Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.\n\nAdd a separate system settings entry for bluetooth SCO volume.\n"
    },
    {
      "commit": "ee0511d76ce0ceae2f54782ca33e400e62d08137",
      "tree": "32abe56c6cea3657f5e565564fa97f2d56560a80",
      "parents": [
        "6cf67faf3b77c3a442d41b46081ca1fdf2ca853c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 21 18:08:13 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 21 18:08:13 2009 -0800"
      },
      "message": "Fix issue #1154972: clone defined, but class doesn\u0027t implement Cloneable\n"
    },
    {
      "commit": "bde0716dac7f25d9940195359f52175fe6724ff1",
      "tree": "f0741cdbe89a17db8d037e93580d02935f65105a",
      "parents": [
        "0f51324c507161750b90046c2f670ba1183d50ba",
        "08ace2e0f5bc83848c723e9cf533c55fd55745e0"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Dec 17 15:17:54 2009 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Dec 17 15:17:54 2009 -0600"
      },
      "message": "resolved conflicts for merge of 08ace2e0 to master\n"
    },
    {
      "commit": "f3960b1271c65d64f9836894af600948bd804e7c",
      "tree": "648ae3cc7993da4681ea6eec4c724402199dc2d9",
      "parents": [
        "492604e95239c1427dd5acb9109eb8acaaafc50d"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Nov 20 20:04:03 2009 -0800"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Dec 17 13:47:36 2009 -0600"
      },
      "message": "Remove the IM provider contract class.\n\nChange-Id: Ia644689021aca3e429d42727dfd6262b6986dfd2\n"
    },
    {
      "commit": "2c5634198a4438e0d6be3e8cc3ae5fc6b0fdf588",
      "tree": "06ec42e1a77f438bad81867cf22200d59d582471",
      "parents": [
        "c333133107fb492de481a96ed1277e71daf2dd8c",
        "5a374f94f8be9604e0485e07943637783522c0b7"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Dec 15 15:57:33 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Dec 15 15:57:33 2009 -0800"
      },
      "message": "resolved conflicts for merge of 5a374f94 to master\n"
    },
    {
      "commit": "274dc9d35fdf5d0464f74071a9a8f14e497d4d5f",
      "tree": "ecc71d179dd35751170f6a8138f220eb1c95e1cd",
      "parents": [
        "15f1bfb0d29915ed1790b22a00fd7032f035ddb0"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Dec 11 13:17:08 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Dec 14 16:33:13 2009 -0800"
      },
      "message": "moved the hidden sync helpers out of the framework\n"
    },
    {
      "commit": "74a76d5e071ba11eb92c92933fa5de338010374d",
      "tree": "c71ab22e555562f42bab98c564a426a83774d5f0",
      "parents": [
        "96610668869cd1c8c614d0c0eab3b79218da7cd7",
        "83652ebfe1963bcecdcf24383165904223baca6e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 14 16:15:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 14 16:15:03 2009 -0800"
      },
      "message": "am 83652ebf: am 3a3fd2ba: Merge change Iaf1f0918 into eclair-mr2\n\nMerge commit \u002783652ebfe1963bcecdcf24383165904223baca6e\u0027\n\n* commit \u002783652ebfe1963bcecdcf24383165904223baca6e\u0027:\n  Implement API to have new broadcasts replace existing broadcasts.\n"
    },
    {
      "commit": "1c633fc89bae9bf0af6fe643ac7ad2e744f27bed",
      "tree": "ba72742fc17755ec69996ad3dd6a6f82f445a2ab",
      "parents": [
        "19553241513bd2ee2610026ebbce8c45c7ae0dbc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 19:45:14 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 14 15:03:35 2009 -0800"
      },
      "message": "Implement API to have new broadcasts replace existing broadcasts.\n\nUse this in various places where it should serve no purpose to deliver\nboth broadcasts.  This is intended to reduce somewhat the flurry of\nbroadcasts that we churn through during boot.\n"
    },
    {
      "commit": "80ffd8c5ae598c679ff491e7a7168ef96fe54c45",
      "tree": "d0f1719667115f763e88ec5c062ac979b46dc6e1",
      "parents": [
        "d2169dde42284fa2e56b1b870d4ffcfe824f975d",
        "da9691e9d6796ec85a09aae6ed806116a4025759"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 15:46:33 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 15:46:33 2009 -0800"
      },
      "message": "resolved conflicts for merge of da9691e9 to master\n"
    },
    {
      "commit": "326d808b858359464b2ffeb84f2e0a8e0c79b600",
      "tree": "11974c82f0aa6398a0a7eb122b97c2a4c95a46f1",
      "parents": [
        "f2f68760eb10b52bd53d6a266f9b5e2b06037d9f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Dec 09 15:10:07 2009 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Dec 10 14:49:14 2009 -0800"
      },
      "message": "Added View#dispatchViewVisibilityChanged and View#onDispatchVisibilityChanged; updated api; tests\n\nReverted a change to InstrumentationTestCase that would have allowed @UiThreadTest on setUp() methods of tests.\n"
    },
    {
      "commit": "4c2fc8cb2571061371a34e736f157686ba57a779",
      "tree": "933d94ad6bdde1ec0297f0e0693b8d9fb0bbf207",
      "parents": [
        "b9863ec01b7721a6b64b51cd5d306871fc58da57",
        "fac576360f7b2cd06e6b174894e8d192088349b0"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Dec 10 12:13:54 2009 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Dec 10 12:13:54 2009 -0800"
      },
      "message": "resolved conflicts for merge of fac57636 to master\n"
    },
    {
      "commit": "513b7234a64b3eedb5a6804d0f66dd1992fa858f",
      "tree": "0f466becec1caae0bd8284670537417e1d60e94e",
      "parents": [
        "717f0eb34b67639b33a17b215dbfd81402ba8feb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 11:14:41 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 11:14:41 2009 -0800"
      },
      "message": "use a fixed value for public ID\n"
    },
    {
      "commit": "2ec6c5699181316e5a5c2cd293c006ac4a8bb101",
      "tree": "5dffd05ec1b6cd3630bef911631ef2150904088a",
      "parents": [
        "8415afdb706c94cc297195a0dd5b5a62726d66e4"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Dec 09 16:00:31 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 10:37:52 2009 -0800"
      },
      "message": "am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c\n\nMerge commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027:\n  - removed the concept of Entity from the ContentProvider APIs\n"
    },
    {
      "commit": "a74df10ac2e13be0cc4396b819749309a0a116be",
      "tree": "82d1efa1acd8f65b2994834d9ff2640c097daecc",
      "parents": [
        "02909d44d5b283991bdd392fcccae12986ddc6c1",
        "cfccf5a1d35c4150fe99d7e9eae29e3a1c9d34db"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 09:19:02 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 09:19:02 2009 -0800"
      },
      "message": "resolved conflicts for merge of cfccf5a1 to master\n"
    },
    {
      "commit": "9b902a5266603ac969dfc64eee48c51706b54a83",
      "tree": "1947fc4692f61b11ba62b1e363fb1dd71d889c28",
      "parents": [
        "ce912dbb40ad074bd17d9f2f31ce3c0afeff1d98",
        "eb68a226563f60265663f1688dda77c4f909e5de"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 07:55:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:55:00 2009 -0800"
      },
      "message": "am eb68a226: am af9788a9: Merge change Ia53c6725 into eclair-mr2\n\nMerge commit \u0027eb68a226563f60265663f1688dda77c4f909e5de\u0027\n\n* commit \u0027eb68a226563f60265663f1688dda77c4f909e5de\u0027:\n  Add bindService API to not bring ot foreground.\n"
    },
    {
      "commit": "507ecd530613f04fec670b1312c43c2c15b74b69",
      "tree": "3b570bcb1f6bef9ece446ab773d6b3e8478c7658",
      "parents": [
        "d35566c77f6fb0773b4f56b320fae6103c5e94ab",
        "c99f154b549ff0bae84b082dc4d80351b341494e"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Dec 10 07:06:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:06:00 2009 -0800"
      },
      "message": "am c99f154b: am dcd8bad3: Merge change Ia28d9547 into eclair-mr2\n\nMerge commit \u0027c99f154b549ff0bae84b082dc4d80351b341494e\u0027\n\n* commit \u0027c99f154b549ff0bae84b082dc4d80351b341494e\u0027:\n  Expose SearchableInfo and getSearchablesInGlobalSearch()\n"
    },
    {
      "commit": "8ea486788fe5e77111ab9d6e1834cc6e6a3edc76",
      "tree": "10010fabbdd7d4af01f8e93854de47cb8c19d281",
      "parents": [
        "0ea7e7f6ac968b5b0e2fd2e9684858b923f51a9b",
        "0e933c853ad53037631e5bca5b4a46f056c1e538"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Thu Dec 10 07:04:31 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:04:31 2009 -0800"
      },
      "message": "am 0e933c85: am f7d0b013: Add TrafficStats class to SDK.\n\nMerge commit \u00270e933c853ad53037631e5bca5b4a46f056c1e538\u0027\n\n* commit \u00270e933c853ad53037631e5bca5b4a46f056c1e538\u0027:\n  Add TrafficStats class to SDK.\n"
    },
    {
      "commit": "328c0e7986aa6bb7752ec6de3da9c999920bb55f",
      "tree": "5b708eac07a46a6fa7a7f666b4d3266a922b58d6",
      "parents": [
        "a50d450863cb84805ac6809a4c1f7b83984da1ee"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Dec 07 14:52:28 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Dec 09 10:30:18 2009 -0800"
      },
      "message": "- removed the concept of Entity from the ContentProvider APIs\n- removed the parcelling ability from Entity and EntityIterator and made them public\n- added an EntityIterator abstract implementation that allow easy wrapping of a Cursor\n- changed the VCard code to use the new APIs\n"
    },
    {
      "commit": "aa396b9610f339cf280159144fbea47506f060e7",
      "tree": "cde57c6f229bf98c256e6411d87d86eedb8ef1fa",
      "parents": [
        "0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 27 19:59:05 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 16:34:42 2009 +0800"
      },
      "message": "Unhide the Android OpenGL ES 2.0 API\n\nAdd a Matrix.setLookAtM method for computing a look-at viewing transform.\n\nChange GLU.lookAt to use Matrix.setLook.\n"
    },
    {
      "commit": "114800653ca4575ec485a04c64889d98b40237e4",
      "tree": "025eb893bf403e4aaf0633130fcd3b7afa407b20",
      "parents": [
        "484fe4d6f45d5dc42c378baaad3fdad7d6ae612f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Dec 08 18:13:47 2009 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Dec 08 18:36:00 2009 -0800"
      },
      "message": "Add new white style for ExpandableListView.\n"
    },
    {
      "commit": "09c916bccbf236ccd0a2c80941e28cc55006e02a",
      "tree": "e745cc4daced8b3ede7c84b0134481c092d79a6b",
      "parents": [
        "ea4823c1c7fdee093789850d0f76a3df22ca58d2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 14:50:51 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 08 16:33:59 2009 -0800"
      },
      "message": "Add bindService API to not bring ot foreground.\n\nAdd a new flag for bindService that tells the system to not bring the\ntarget service\u0027s process in to the foreground scheduling class.  This is\nused by the sync system to not cause the current sync adapter to come to\nthe foreground as it is running.\n\nAlso some small improvements to the debug output of the process list\nof oom adj and scheduling info.\n"
    },
    {
      "commit": "13107bb186d72bc80dc5609b20c71b7e77a9784d",
      "tree": "975ca92c10acccaa3a157ec5f8167dbfc4f1d5bf",
      "parents": [
        "f7d0b01387c10f93bf17981d45087810c80f0902"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Dec 07 10:41:24 2009 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Dec 08 19:21:19 2009 +0000"
      },
      "message": "Expose SearchableInfo and getSearchablesInGlobalSearch()\n\nThis is needed for search unbundling.\n\nFixes http://b/issue?id\u003d2270838\n\nChange-Id: Ia28d954736c9afd68da22a38da966ed780d797c2\n"
    },
    {
      "commit": "f7d0b01387c10f93bf17981d45087810c80f0902",
      "tree": "5f0b629fba5b86531092731235f8f619f891ea86",
      "parents": [
        "7c55c3f5f5997ca572d70ad513099a5af20a23c1"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Mon Dec 07 15:56:05 2009 -0800"
      },
      "committer": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Tue Dec 08 10:50:25 2009 -0800"
      },
      "message": "Add TrafficStats class to SDK.\n\nThis class (a rename of NetStat) provides network byte and packet statistics.\nNetStat will be removed separately, to avoid breaking other packages when submitting.\n"
    },
    {
      "commit": "6180977d11da01d05455e7b4cb93978fdf6b2d3e",
      "tree": "2fbd2c99ceff019bd08ac3f322aa6737afda30fe",
      "parents": [
        "d234ad6205562ad208ba8045ec005645fb158f4e",
        "8657978aabc7141869926a98a0da257255678dd4"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Dec 07 18:37:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:37:00 2009 -0800"
      },
      "message": "am 8657978a: am ddcea3d2: Expose onReceivedSslError() so that the WebView client can accept the error and continue.\n\nMerge commit \u00278657978aabc7141869926a98a0da257255678dd4\u0027\n\n* commit \u00278657978aabc7141869926a98a0da257255678dd4\u0027:\n  Expose onReceivedSslError() so that the WebView client\n"
    },
    {
      "commit": "13169d855cfa4fb4b2e7bc7328e206fbf4836419",
      "tree": "d1d86134292e546ba3d5a7ff2e5cfb29363376a5",
      "parents": [
        "d8ec3d87db188633ab5287306345c6037fe2e862",
        "19e0db20100753dd347ec5203cd0226f55f09e2a"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Dec 07 14:55:04 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 14:55:04 2009 -0800"
      },
      "message": "am 19e0db20: am ebc910da: Merge change Iaad9c8d1 into eclair-mr2\n\nMerge commit \u002719e0db20100753dd347ec5203cd0226f55f09e2a\u0027\n\n* commit \u002719e0db20100753dd347ec5203cd0226f55f09e2a\u0027:\n  Restore 7.xml.\n"
    },
    {
      "commit": "ddcea3d21645bb3037703c84807dae077aae62ce",
      "tree": "c3d1e6dae20f771401b50b29c14402dac221c055",
      "parents": [
        "14467eb2eea119b4d71dd7dd149479aa092e6de2"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Dec 03 19:12:49 2009 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Dec 07 13:20:33 2009 -0800"
      },
      "message": "Expose onReceivedSslError() so that the WebView client\ncan accept the error and continue.\n\nFix http://b/issue?id\u003d2299152\n"
    },
    {
      "commit": "e35cfda3ae0be72a4ca1a18a81bf51fad901709a",
      "tree": "d8f7cb02ee101687556938b9946489d420947a14",
      "parents": [
        "840459e843ad57ce00fe15e00f3bffac2c053d24"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 13:42:38 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 13:42:38 2009 -0800"
      },
      "message": "Add new(-ish) Dalvik opcodes to Opcodes.java.\n\nThis is a public API change.\n"
    },
    {
      "commit": "aad9c8d1100a7d88f0d6e4154e74ecf56e1fe745",
      "tree": "64b3da93b4e19f248b8ec78470ed7cead4a352c5",
      "parents": [
        "48476b0ade7594a64612db2b867792737193b2ec"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 12:35:50 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 12:35:50 2009 -0800"
      },
      "message": "Restore 7.xml.\n\nDeletion of \"unused\" opcode constants should only have happened in\n8.xml.\n"
    },
    {
      "commit": "c6b9206e9f7aae1a22f7b1b407982d1623c20b22",
      "tree": "e6c394cdc64f6f95d9066406fc6bdb1941f86aae",
      "parents": [
        "057fd95f8094fc8d41e3704b0830c91d7817b4b2",
        "b5d92322eb9f9d9e78581b2ac5de35b95b46d113"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 12:07:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 12:07:40 2009 -0800"
      },
      "message": "am b5d92322: am 5c9d6e5b: Merge change Ie46db339 into eclair-mr2\n\nMerge commit \u0027b5d92322eb9f9d9e78581b2ac5de35b95b46d113\u0027\n\n* commit \u0027b5d92322eb9f9d9e78581b2ac5de35b95b46d113\u0027:\n  Remove \"unused\" opcodes from API.\n"
    },
    {
      "commit": "e46db3396820f13295f575622b40ab8b2068ff0b",
      "tree": "bd0d7a61eca20991c8cb40a00c4e4cdf08f48a9d",
      "parents": [
        "8280c2b15f6875b2d387c05df23d264864eb9cd5"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 08:56:54 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 04 08:56:54 2009 -0800"
      },
      "message": "Remove \"unused\" opcodes from API.\n\nThere\u0027s no need to have constants like OP_UNUSED_FF in the API.  They\nserve no purpose, and it makes life confusing when an opcode is defined\n(does the \"unused\" one go away, breaking the API?  do we have the real\ndefinition and the \"unused\" definition simultaneously?).\n\nDiscussed / approved by API council.\n"
    },
    {
      "commit": "9946639f74e73b85aa91370f812bd27912e8c9ab",
      "tree": "5dff234faac955add946f0e28d629288878c39b0",
      "parents": [
        "fb397e73b2bee3ec6963b45ab8c6316c590babe9",
        "8ad6ec2eb4a58a6dad34be60d49f32a53f2419f4"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Fri Dec 04 04:33:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:33:05 2009 -0800"
      },
      "message": "am 8ad6ec2e: am 8280c2b1: Implement new MockContentProvider. Also make ContentProvider aware of the class.\n\nMerge commit \u00278ad6ec2eb4a58a6dad34be60d49f32a53f2419f4\u0027\n\n* commit \u00278ad6ec2eb4a58a6dad34be60d49f32a53f2419f4\u0027:\n  Implement new MockContentProvider. Also make ContentProvider aware of the class.\n"
    },
    {
      "commit": "95f118e46a1ef9661eb152fe304a98f0cab18741",
      "tree": "9d19b4bd654fbd3e309bb6828d9f43d2f4df2c08",
      "parents": [
        "5ff9239f4f86da5c44b6875e6339b231c926a47e",
        "f7407998387fdfd1c755084a1c00f2819d27431a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 04 04:32:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:32:00 2009 -0800"
      },
      "message": "am f7407998: am 39b08235: Add API level 8, currently a copy of 7.\n\nMerge commit \u0027f7407998387fdfd1c755084a1c00f2819d27431a\u0027\n\n* commit \u0027f7407998387fdfd1c755084a1c00f2819d27431a\u0027:\n  Add API level 8, currently a copy of 7.\n"
    },
    {
      "commit": "8bf73ff274800ce75a222cd9693e733cbd821aaf",
      "tree": "f90d187ddf15de6dd1c7070e1c95a3df1da8d304",
      "parents": [
        "830f24f42eb648a0a6c792c06fdb95de3541e87f",
        "7a1192ff54e3e1cfc00cc416b5f5de2ec3422fc0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 04 04:28:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:28:00 2009 -0800"
      },
      "message": "am 7a1192ff: am eefe7b1b: am b2e49a23: Add API level 7.\n\nMerge commit \u00277a1192ff54e3e1cfc00cc416b5f5de2ec3422fc0\u0027\n\n* commit \u00277a1192ff54e3e1cfc00cc416b5f5de2ec3422fc0\u0027:\n  Add API level 7.\n"
    }
  ],
  "next": "8280c2b15f6875b2d387c05df23d264864eb9cd5"
}
