)]}'
{
  "log": [
    {
      "commit": "e67f0c9712890f3af19d1213ff4c4b049c401226",
      "tree": "0e10f07484d1a1ecedcf159e1f13b118ca8edf81",
      "parents": [
        "d135b0937875b405a20f735189040d5cb4d2546d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 28 17:33:54 2009 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 29 17:49:22 2009 -0700"
      },
      "message": "Hack to fix issue #2125365: Sports Trivia compatability with Eclair (do not merge)\n\nAdds a mechanism to tell Paint the scaling factor its target\ncanvas will have, for it to compute font metrics based on the\ncorrect font size.  Only TextView uses this, but that is enough\nfor the large majority of apps.\n\nThis is integrated from the Eclair branch.\n"
    },
    {
      "commit": "590f63433ce786722d263c7e913a88d3101e5cbc",
      "tree": "960b467a9e86d9ca94b47e4d4f29828168484d55",
      "parents": [
        "b56de7474d93e634f77be58a794fbd1b0e68f6a8"
      ],
      "author": {
        "name": "Karl Rosaen",
        "email": "krosaen@google.com",
        "time": "Thu Aug 27 17:42:48 2009 -0700"
      },
      "committer": {
        "name": "Karl Rosaen",
        "email": "krosaen@google.com",
        "time": "Thu Aug 27 17:42:48 2009 -0700"
      },
      "message": "Revert \"Remove third party support for Quick Search Box (aka global search).\"\n\nThis reverts commit a647b7f29d65a7792cede74284e714b591337992.\n"
    },
    {
      "commit": "081a136d259c02b2ab8ba773c38e404f7b3c3de4",
      "tree": "dd6766ddccbd1c1d3c80d1ba87d5899290d71347",
      "parents": [
        "e97c2006bf7c391c933307e520a392e532aa5d6a"
      ],
      "author": {
        "name": "Anonymous Coward",
        "email": "nobody@android.com",
        "time": "Thu Aug 20 17:53:27 2009 -0700"
      },
      "committer": {
        "name": "Anonymous Coward",
        "email": "nobody@android.com",
        "time": "Fri Aug 21 12:47:14 2009 -0700"
      },
      "message": "Remove third party support for Quick Search Box (aka global search).\n\n- @hides relevant APIs\n- removes relevant javadoc\n- enforces that only system apps can participate\n\nnote: general support is still there, will be easy to reenable when we are ready.\n"
    },
    {
      "commit": "38710f4c0ef96590476f28176adadbd04b0cabc0",
      "tree": "0a09f4bbb78ba4ea7b0074fd8f88391246fe5994",
      "parents": [
        "d9d2576017fadcf47589b54e8ee198f48cc19352"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Aug 17 18:29:52 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Aug 17 18:29:52 2009 -0700"
      },
      "message": "Make ZoomButtonsController public.\n"
    },
    {
      "commit": "9f5eadd2eed8b95c077a15d9e3e3c66fd151c215",
      "tree": "70be8f3a4d506d6117dd8f7a0d65e3599a4123ca",
      "parents": [
        "c1c432f57b782ed9d8d65be7ea1bee1e1d7d7839"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 14 15:44:31 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 14 15:44:31 2009 -0700"
      },
      "message": "Unhide the broadcast intent that signals completion of the TTS language\nfiles. This is required for bug 2022435.\nCorrect the javadoc where two intents were mislabelled as broadcast,\nbut were activity actions.\n"
    },
    {
      "commit": "fe77ec8e0881963714b2464efad9514d921d089a",
      "tree": "266b761bcaedba13dcb5a07da60eac973bc5aae1",
      "parents": [
        "b3fa1084ba31698fa5c58150a713d7abbadb1cd2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 16:53:56 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 17:57:14 2009 -0700"
      },
      "message": "The DONUT constant also needs to be updated to the official SDK version.\n\nAlso remove all of the resource value padding.\n"
    },
    {
      "commit": "f4fbdfa53fe0497d9b1f3b9642df357bb765e84f",
      "tree": "4aa0a048e1167c061c66617fae637d1ba0c34c2a",
      "parents": [
        "0da3bdb476086db02a1076780676b21e239c79d6"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jul 30 14:09:59 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jul 30 14:09:59 2009 -0700"
      },
      "message": "Update current.xml after review comments.\n"
    },
    {
      "commit": "0da3bdb476086db02a1076780676b21e239c79d6",
      "tree": "f658147f459c12abbf3976c7e02a187677df5b89",
      "parents": [
        "6af2552d244ff933dfd54570121db455cc7c3cda"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Jul 28 11:17:24 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jul 30 12:37:43 2009 -0700"
      },
      "message": "Fix public API caused due to CDMA changes.\n"
    },
    {
      "commit": "0cd6376fa14089cee42991f751962ffd7f455797",
      "tree": "2080505bbfe6a6646ce2ddc18ca74d063e7b54fe",
      "parents": [
        "65e5438df929ceb8c44fd930b2a363e021914bd0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 17:36:27 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 17:55:58 2009 -0700"
      },
      "message": "Fix issue #2018454: NullPointerException in ImageSpan constructor\n"
    },
    {
      "commit": "41c104339951e0e5e78240e1f48455c21b3ba5fd",
      "tree": "26cc0680f87ba2602fade2b333ccae536d8bf014",
      "parents": [
        "0067057c31720f64926d6ee3d841b15dc197d2df"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Jul 29 16:18:38 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Jul 29 16:30:23 2009 -0700"
      },
      "message": "Fix MulticastLock API to match WifiLock API.\n\nAdds option to make lock refcounted or not.  Fixes 2017680.\n"
    },
    {
      "commit": "ed06578eddde07abe325fa4c92910bb7246cd49f",
      "tree": "fbef6293b4f1e924602b54e02c37415960604c84",
      "parents": [
        "0869f7ef1efa9fe2e26b20e525952ad611d379aa"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 28 14:31:48 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 29 11:26:10 2009 -0700"
      },
      "message": "Fix bug 2017664\nRemoved the TTS_ prefix in the TextToSpeech class to follow the standard naming convention.\nMoved the TTS-related intents from the Intent class to TextToSpeech and TextToSpeech.Engine.\nRenamed the TextToSpeech.Engine constants that are used as extras for the\n  ACTION_TTS_CHECK_TTS_DATA intent to prefix them with EXTRA_.\nCleaned up the other TextToSpeech.Engine constant to remove superfluous mentions of\n  \"TTS\" in the name.\n"
    },
    {
      "commit": "c87c4a3e3b3c3949ae3c6f8fd245b71691d5ca3b",
      "tree": "069b03c066cab8854e0e56c728b44157a3717567",
      "parents": [
        "de36313b0b80c019c2784edd9d41f6761fe80685"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 28 15:59:52 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 28 15:59:52 2009 -0700"
      },
      "message": "fix [1973755] Surface.SURACE_FROZEN spelled SURACE_FROZEN\n"
    },
    {
      "commit": "7f2054392e9957d3ba8579ef08c29cfb27df564e",
      "tree": "5e07f36bea3038fa5c13e4b81fa6421be79652ac",
      "parents": [
        "ecbbecf6c535e7f3e1d072d43766a95aa18ee464"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 00:13:47 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 00:13:47 2009 -0700"
      },
      "message": "Updates from API review.\n\n    * AccessibilityService -- document onBind() to not be implemented.\n    * GestureLibrary.getLearner() -- needs to be hidden.\n    * IntentSender -- remove protected constructors, document that it is retrieved from a PendingIntent.\n    * Hide permissions: SHUTDOWN, STOP_APP_SWITCHES.\n    * Context -- hide BACKUP_SERVICE.\n    * ContextWrapper -- hide getSharedPrefs bla h blah\n    * Intent.parseUri() -- fix docs.\n    * ApplicationInfo.FLAG_TEST_ONLY?!?\n    * Hide MockContext.getSharedPrefs blah blah\n"
    },
    {
      "commit": "e7d1c8f3777375468de2e5932a691ef388ee2e75",
      "tree": "fd778f845a29b3ad47420b22929c768a12670462",
      "parents": [
        "9377738cdbb7eb0a1267cb536443cbed700ff5e9"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Jul 27 11:10:28 2009 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Jul 27 11:14:04 2009 -0400"
      },
      "message": "Use the old string for bookmarks permissions.\n\nWhen we made the bookmark permissions public, we also changed their\nnames, which might break existing apps.  Change them back.  Depends\non a change in packages/apps/Browser\n"
    },
    {
      "commit": "11ea33471e1a14a8594f0b2cd012d86340dd3bd8",
      "tree": "bb73c079d8bb21c19fa913b8fd9c587a9089ea84",
      "parents": [
        "3b99e64e5899030b5d6f8201cb56cd149c80b24d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 22 21:48:55 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 24 10:47:15 2009 -0700"
      },
      "message": "Allow for screen density drawables in compatibility mode.\n\nThis change allows us to use drawables that match the current screen\ndensity even when being loaded in compatibility mode.  In this case,\nthe bitmap is loaded in the screen density, and the bitmap and\nnine-patch drawables take care of accounting for the density difference.\n\nThis should be safe for existing applications, for the most part, since\nthey shouldn\u0027t really be pulling the bitmap out of the drawable.  For\nthe small rare chance of them breaking, it worth getting the correct\ngraphics.  Also this will only happen when there is actually a resource\nof the matching density, and no existing apps should have resources for\nanything besides the default density (though of course all of the\nframework resources will be available in the native density).\n\nAs part of this, the bitmap density API has been changed to a single\ninteger provider the DPI unit density.\n"
    },
    {
      "commit": "7e263332e0c68f67868cb3245bf42f41e847d816",
      "tree": "52b0cff91b2cad4684c1367f8ca874bc1be7df68",
      "parents": [
        "ef6b66cbbbe7ae8ee0450cbbaae4194b069679a1"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Jul 22 15:22:59 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Jul 22 15:22:59 2009 -0700"
      },
      "message": "Remove recently-added android.opengl.Version API\n\nThere\u0027s another already-existing way of obtaining this information,\nthe ConfigurationInfo.reqGlEsVersion field returned from\nActivityManager.getDeviceConfigurationInfo.\n"
    },
    {
      "commit": "1baf11b116d4094ea1f7149bbf1348d6290a637e",
      "tree": "06b3f68a8945c71efb5774b15ae309ac75c0447a",
      "parents": [
        "11b822d2a91ea17c34c0cb1c11e80a9a30d72864"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Jul 22 12:59:49 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Jul 22 12:59:49 2009 -0700"
      },
      "message": "Add a public API that reports the supported OpenGLES API level.\n"
    },
    {
      "commit": "11b822d2a91ea17c34c0cb1c11e80a9a30d72864",
      "tree": "7eec5218c6831641b406f1b969841314f452adbb",
      "parents": [
        "59c25cbaf0dd690e503b881392510127441d9074"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 21 20:03:02 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 22 11:58:31 2009 -0700"
      },
      "message": "Simplify density compatibility to a boolean.\n\nInstead of a list, we now just have a single boolean indicating whether an\napplication is density aware, and this set set to true by default as of\nDonut.\n"
    },
    {
      "commit": "c4db95c077f826585d20be2f3db4043c53d30cf5",
      "tree": "9176baa673f97b27150f862485fd492cb3ec7e88",
      "parents": [
        "fe6f45c81463d2d28e11ac6083f2653e1286c5ef"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 21 17:46:02 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 21 18:28:42 2009 -0700"
      },
      "message": "First pass at reworking screen density/size APIs.\n\nThis changes the names of the directories in aapt, to what you see\nin the list of DpiTest resources.  Also adds a new \"long\" configuration\nfor wide screens, which the platform sets appropriate, and introduces\na new kind of resizeability for not large but significantly larger\nthan normal screens which may have compatibility issues.\n"
    },
    {
      "commit": "d4fb7a0d90b16e360b7a7b64cb7a6fd94f084c27",
      "tree": "2f45b2bb57d9a6271c79b10a6e67d8ff761f65ef",
      "parents": [
        "131234c6f134c586208ec94bfe4ae021b057cf66"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 20 17:37:38 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 20 17:37:38 2009 -0700"
      },
      "message": "Define a broadcast intent for the web search provider changing. Unhide\nthe broadcast intent for searchables changing.\n"
    },
    {
      "commit": "131234c6f134c586208ec94bfe4ae021b057cf66",
      "tree": "b8d85634ac49e22de67be20fdfc34379deba1a22",
      "parents": [
        "732140cefadaf32eed83706c69eabbfee9e054ee"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 20 14:09:52 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 20 17:14:16 2009 -0700"
      },
      "message": "Unhide new SearchManager APIs for Donut.\n"
    },
    {
      "commit": "2784ff0af88128f66ae690b73d48fb7e4a211e68",
      "tree": "2e43aaa6e2a67a0924449af42d969b91de2f995d",
      "parents": [
        "a53b828635fce8b6b2d3e3377d74d72070056623"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "message": "Fix issue where scaled bitmap sizes could be wrong.\n\nThe Bitmap functions to get the scaled width/height couldn\u0027t actually\ndo the right thing because they didn\u0027t know the destination they would\nbe drawing to.  Now there are two forms of them, taking an explicit\nparameter specifying the destination.\n"
    },
    {
      "commit": "a53b828635fce8b6b2d3e3377d74d72070056623",
      "tree": "42f4ba9bbf7d8656a4761d6fe5dcd4976cf19369",
      "parents": [
        "09a903ab5b8d940605783ae4ee591c0f090a31d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 11:13:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 16:59:08 2009 -0700"
      },
      "message": "Add \"nodpi\" density, and expose a bunch of density-related APIs.\n\nAlso update the DpiTest app to use nodpi images, and try to have a mode\nwhere it turns off compatibility though it\u0027s not quite working.\n"
    },
    {
      "commit": "49a60157d1c4b49450410fc30b8fcd8ab0e3480b",
      "tree": "75cda4e2eb6e8ad9914a62f17c0f57d336f9390e",
      "parents": [
        "82b283a9bf8e3508e1b5c6d4b6b8cae04597b83c"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Jul 15 19:12:07 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 16 18:32:07 2009 -0700"
      },
      "message": "Adding public intents for TTS to enable checking for TTS data,\ninstalling TTS data, and finding out when the TTS queue has\nfinished processing.\n"
    },
    {
      "commit": "904dfa588431ff7c99c337d7797f5bef9ac12ce3",
      "tree": "848fdf1f4709aa8790cc7310bdcf9f0570276c47",
      "parents": [
        "83fa3565896ed19846f6498c00de3cc9a29b1a57"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Jul 15 10:44:41 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Jul 15 10:46:33 2009 -0700"
      },
      "message": "Adding missing addEarcon method. Not having this was a bug as\nthis method is needed to add earcons; otherwise, there is\nnothing for playEarcon to play.\n"
    },
    {
      "commit": "62253a319d6359ce71c547d0b0aa36ba17789ab4",
      "tree": "b1864547fc15a12b9c49da199b38081890846d38",
      "parents": [
        "f77035193152a0edba5abeb33d9c1a5f446c7dd8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 14 13:55:19 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 14 17:37:07 2009 -0700"
      },
      "message": "Unhide required definitions in TextToSpeech.Engine that cover return codes and\nextras for android.intent.action.CHECK_TTS_DATA intent, and the key values\nfor the parameter hashmap that can be passed by an application in speak(),\nsynthesizeToFile(), playSilence() and playEarcon().\n"
    },
    {
      "commit": "374aaaed32daa8482d98ec16988b2b51547f035d",
      "tree": "d558c71fd5caffea5d8828154b8b91810495766b",
      "parents": [
        "4caac2bb4c8616edf8224408931ffc0e532537de"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 14 15:11:59 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 14 15:38:23 2009 -0700"
      },
      "message": "Restore PopupWindow\u0027s original behavior and add an API to control the soft input\nmode.\n"
    },
    {
      "commit": "8cd1084ed1138b9c8b7ff5370ab404c8bb559dd2",
      "tree": "c6a7043ece0ffbbd1d206a5251522669929f27c0",
      "parents": [
        "c1d82e68eb4aae1b575e82b08e71a87670cc1532"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 13 07:41:56 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 14 14:41:22 2009 -0400"
      },
      "message": "location: Add sub-locality, sub-thoroughfare and premises fields to Address class\n\nThis is required for fully describing locations in Japan.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "78c9d0d2c5eb4d5687ae7cbe41155159329ad68f",
      "tree": "02dd86c23eda28b6dc1da1598ac79fc1c8b586e3",
      "parents": [
        "334b861e3339bc7189372f790d0c0e2043d160a3"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 13 16:22:41 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 13 17:46:19 2009 -0700"
      },
      "message": "Adding Utterance ID to the TtsService.\n"
    },
    {
      "commit": "0e01ea41b215941128a4ea8dee454e6b35a4e798",
      "tree": "75832b18372b76e50b07ba461edcc4b07eabd8db",
      "parents": [
        "4d2dbebf3d08209f751585d8cc367369e2f6e32f"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 08 22:01:29 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Jul 10 07:16:47 2009 +0100"
      },
      "message": "Deprecate DialogInterface methods in SearchManager\n\nandroid.app.SearchManager implements\nDialogInterface.OnDismissListener and DialogInterface.OnCancelListener\nand thus exposes the methods onCancel(DialogInterface dialog) and\nonDismiss(DialogInterface dialog). This was used by the SearchManager\nto register itself as a listener on the search dialog, but is no\nlonger used.\n\nThis was an implementation detail that leaked into the public\nAPI. Removing them would change the API, so they are deprecated instead.\n\nFixes http://b/issue?id\u003d1962203\n"
    },
    {
      "commit": "423d679a4734a82dba1c6f62acbd9a87c53d1d28",
      "tree": "3c627dcf402093803418a6cee8fbf1e9550ee66d",
      "parents": [
        "313ea433d18e7fd5438b94c0606c496fcc7a2f88"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jul 09 11:46:39 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jul 09 11:46:39 2009 -0700"
      },
      "message": "Unhide android.gestures.\n"
    },
    {
      "commit": "2af632f87d487deaa5b2eb71341cfc4f0c0d1173",
      "tree": "cc59b86316dbf64abb3f7d183ee031fdadd3fe42",
      "parents": [
        "4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 08 14:56:37 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 08 18:08:13 2009 -0700"
      },
      "message": "Add new \u003cpath-permission tag for use by global search.\n\nThis adds a new \u003cpath-permission\u003e tag you can use inside of a \u003cprovide\u003e\nto define additional path-based permissions that broaden the global\nread and write permissions.  The initial use for this will be global\nsearch, so that a content provider that is protected by permissions\ncan make a part of itself available to global search under another\npermission.  This addresses the issue with global search not being able\nto request permissions it would need of providers it doesn\u0027t know\nabout at build time.\n"
    },
    {
      "commit": "d21572cd446e56efe94689324107927ac2bffd2a",
      "tree": "ef2156194d9a728a292f522fff80350acef16d67",
      "parents": [
        "d6fe243c1c6d5e994cacede8110eef736767bd7f"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 08 14:54:11 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 08 15:09:08 2009 +0100"
      },
      "message": "NEW_API: Expose autoUrlDetect searchable attribute.\n\nIf provided and true, URLs entered in the search dialog while searching within this activity would be detected and treated as URLs (show a \u0027go\u0027 button in the keyboard and invoke the browser directly when user launches the URL instead of passing the URL to the activity). If set to false any URLs entered are treated as normal query text.\nThe default value is false. This is an optional attribute.\n"
    },
    {
      "commit": "771afdddc971d193792e2393fc50a142e2af434c",
      "tree": "8a4c472ad3934e2ea476aec5c71a78e972ff845a",
      "parents": [
        "86ea435a40c5ffa9a03dc0ac9536378a33c9e5b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 07 17:35:34 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 07 17:35:34 2009 -0700"
      },
      "message": "Add new textColorPrimaryInverseDisableOnly color to resources.\n"
    },
    {
      "commit": "870e09fcd2dfdc12ac318962efd28b0420c562bb",
      "tree": "e96f3395c7176695e7007b21ec054c1e3d5a5e71",
      "parents": [
        "453dd50e707aa3a4d24240935f3ff7ea0a08dc7a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 16:35:25 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 16:45:17 2009 -0700"
      },
      "message": "Fixes #1963229. Introduces Context#isRestricted().\n\nA restricted Context is a special type of Context that prevents specific features\nfrom being used. For instance, android:onClick, used by View, can be dangerous when\nused from within apps widgets. By using a restricted Context to inflate apps widgets,\nwidgets providers are prevented from using android:onClick.\n"
    },
    {
      "commit": "4296fc4d326447875c26a925f12b3935632f13bb",
      "tree": "b2963d32112fb2d3d961ebd48dc8a4b67b8c4d64",
      "parents": [
        "816cf52abd8f45770f0ac922bbb819184ed4b90f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 11:48:52 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 11:48:52 2009 -0700"
      },
      "message": "Fixes #1444844. Set a maximum fling velocity in scrollable views.\n"
    },
    {
      "commit": "816cf52abd8f45770f0ac922bbb819184ed4b90f",
      "tree": "8b604bed1520b662b20598540e4dad8d6b40bc1e",
      "parents": [
        "46841db4f2c7360d3b861a816e51f76acca0d677"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 09:19:10 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 09:58:06 2009 -0700"
      },
      "message": "Fix the DEFAULT_SORT_ORDER value for media files. Changing this\nis OK, because existing app will have the old value compiled in\nas a literal, and so will continue to (not) work in the same\nway as before. Add code to media key generator to give a leading\nascii \\001 the special meaning of \"sort first\".\n"
    },
    {
      "commit": "62788e9b48f884a35b89c88911b581daa6a14e08",
      "tree": "ae687ac953c90021882bdbec348edfe58b79ae07",
      "parents": [
        "d23d7f2d12c20314e1e8ff206fafc8f21745ca2d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jul 02 16:29:30 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jul 02 16:29:30 2009 -0700"
      },
      "message": "Unhide android.speech.tts.TextToSpeech\n"
    },
    {
      "commit": "f763e8f42df8e99b84420c80eaff24b3573ff0bc",
      "tree": "6171508b99ea7e11e217ee02a8e378445e6d59e3",
      "parents": [
        "f9eca3d43aed870774633a176aa691d3e530a12b"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "message": "Add new attribute \u0027searchSettingsDescription\u0027 for use within an app\u0027s\nsearchable.xml. This attribute defines the string to be shown as the\ndescription a searchable in the \u0027searchable items\u0027 section of system\nsearch settings.\n"
    },
    {
      "commit": "1dac277f93a80c53a870b8924508dd2af81293de",
      "tree": "ec4687e36a6703c0ffe9434748a5fe66975b42e7",
      "parents": [
        "9848f11fd8788b985330183aeb83cc589b8b14ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 18:16:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:40:51 2009 -0700"
      },
      "message": "Implement issue #1943927 (need notification in status bar when adb is active)\n\nThis is a little hacky -- we just assume that if adb is enabled and power\nis connected through usb, then it is active.\n\nThe icons and text are temporary until final design is provided.\n"
    },
    {
      "commit": "b5537c452271634b6ff3981b0624fa65384abd5b",
      "tree": "66159c3caed7ad21c6afb61974b77278d32097aa",
      "parents": [
        "2f8d58b7ae2b9dc60eed83e5dddc8c28223e1ede"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "message": " Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "fbd8f69a84163ef1cf52b07966320caf448c2bc9",
      "tree": "463069b756b53fb2a1bb221f158f071d4e2d990a",
      "parents": [
        "a1590586e4c02e50d14cc99018be2c419f5a07b9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 14:51:58 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 16:56:32 2009 -0700"
      },
      "message": "Fixes #1946141. Introduce new caching API to control scaling.\n\nThis change fixes issues with existing applications that access the drawing cache\ndirectly. The API now lets application choose whether they want to get a scaled\ndrawing cache or not. The framework relies on the scaled cache for quality\npurposes.\n"
    },
    {
      "commit": "723738cfaec3dd7b0fe152c872c41bebf94074c4",
      "tree": "421ddeed166d0a4586c9460c4de581307bf08d44",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 25 19:48:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 13:37:05 2009 -0700"
      },
      "message": "Expand support for different screen sizes.\n\nApplications can now declare that they support small, normal, or\nlarge screens.  Resource selection can also be done based on these\nsizes.  By default, pre-Donut apps are false for small and large,\nand Donut or later apps are assumed to support all sizes.  In either\ncase they can use \u003csupports-screens\u003e in their manifest to declare\nwhat they actually support.\n"
    },
    {
      "commit": "2bacbdfb519b2bfe8d4baca88da64e0f3b686e19",
      "tree": "bc18543975a76085521b9bde66f3a5d6e3075330",
      "parents": [
        "0bc7b8490b1575bb8266a3b0c6652d4f460fcda1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 24 19:03:15 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 24 19:03:15 2009 -0700"
      },
      "message": "Add new APIs to LauncherActivity to be used elsewhere.\n"
    },
    {
      "commit": "5f80605a0b866f34c74955e190909bd6ab5d992e",
      "tree": "364419845ec37b2218a9014851533d7d91f509cc",
      "parents": [
        "82a32714f07d25259b91163d383ccdb74a166d2d"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 24 12:02:26 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 24 12:54:28 2009 +0100"
      },
      "message": "Include user query in search intents\n\nThis change adds a new intent extra field USER_QUERY set in intents\nlaunched by the search dialog. It contains the query as typed by\nthe user, unaffected by query jamming or search suggestions.\n\nFixes http://b/issue?id\u003d1939592\n"
    },
    {
      "commit": "e29f064383cbc745c8605c707000ab4e16ee0aac",
      "tree": "8b02881ef0030c21d57f16d71a2e3cba6a1a53f2",
      "parents": [
        "4133751d51a04172aa65e24658b4207ef764de91"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 23 21:27:02 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 23 21:27:02 2009 -0700"
      },
      "message": "Fixes #1905761. Updates the height of ACTV\u0027s drop down whenever the IME changes.\n"
    },
    {
      "commit": "b6d90ca1292ffab015d5068f9e184b1dc84b7233",
      "tree": "4713ca5d25092a8c630af7af79598ee5bb335208",
      "parents": [
        "b0ae27f4e10a9e5fe56b9ca549718051fe342bba"
      ],
      "author": {
        "name": "David Krause",
        "email": "david.krause@motorola.com",
        "time": "Wed Jun 17 15:46:13 2009 -0500"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jun 23 12:32:12 2009 -0700"
      },
      "message": "Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "9ce4c6c5cfc111a73e0cfc3c94daa50346c56867",
      "tree": "3d082b3a3738ada70aca232119c0054b04c1cc68",
      "parents": [
        "7306d248feb2e52593e51944bcaf98c11974e988"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Jun 19 14:13:08 2009 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Jun 22 09:14:02 2009 -0400"
      },
      "message": "Make browser bookmarks permissions part of the public API.\n"
    },
    {
      "commit": "8cdcb12752b716d0407733fecefcf1d9e926310a",
      "tree": "dd250fe1a38b1e6df4397a87a586a9dffb394bcb",
      "parents": [
        "3e3324bae45ff21615c07507e6918ad21681a6a2"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 18 19:14:38 2009 +0800"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 22 18:01:47 2009 +0800"
      },
      "message": "Add prepareToDraw() to Bitmap for fixing http://b/issue?id\u003d1907995.\n\nThe function is used to rebuild any caches associated with the bitmap.\nIn the case of purgeable bitmaps, this call ensures that the pixels\nare decoded for drawing, and therefore prefetching techniques\nimplemented by callers can be leveraged.\n"
    },
    {
      "commit": "a6fcc9541161de5d1c39e62d2646076706d87b96",
      "tree": "3c897c0e8f1d8f87786295018843669762ff66be",
      "parents": [
        "4d1b5bd148d0830d2acc03bafbe58dfd17e5b3f8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 19 14:06:01 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 19 14:18:41 2009 -0700"
      },
      "message": "Added in Settings.Secure default country and variant for the default TTS language.\n"
    },
    {
      "commit": "3d74bb4ab27ae9601f5c9c3706fad287845fb672",
      "tree": "535a85ff083f52453637c2ece5d643e79276c142",
      "parents": [
        "03255de32d127d17504b6d475e6e79190dd637f8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 10:35:21 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 11:46:58 2009 -0700"
      },
      "message": "Add \"why?\" button to low battery dialog.\n\nThis takes the user to the power usage activity.\n"
    },
    {
      "commit": "649f99e8347984c1e031dae302830f4c9ebd3df4",
      "tree": "77fbf21a988d3ad99b7b492ecd04386e347183c2",
      "parents": [
        "fd5f087536dcb04ac9c46f2b19f87a37455390b0"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 17 14:29:57 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 19 18:48:37 2009 +0800"
      },
      "message": "Add Intent.ACTION_SEND_MULTIPLE\n\nActivities can use this intent to send multiple data.\n"
    },
    {
      "commit": "5c1e00b14d2ef10ec76abf3e951fa8003a67f558",
      "tree": "fa723a6f96f5b977dfdfdc08b5b8aab98c20d500",
      "parents": [
        "e748161ca89867e8c57d4e71c780486d4de8039c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 18 17:10:57 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 18 17:10:57 2009 -0700"
      },
      "message": "Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.\n\n- Fix a bug where targetSdkVersion could not be set if minSdkVersion.  Stupid, stupid.\n  Also make sure to fail if minSdkVersion is for a code name.  Really stupid.\n\n- Change the API for resize compatibility mode to be a bit in the flags field, instead\n  of a separate boolean.\n\n- Implement delayed dexopting, to avoid the looong full dexopt during boot.  This is\n  only enabled for \"eng\" builds.  When in this mode, the activity manager will make\n  sure that a dexopt has been done before loading an .apk into a process, and will\n  try to avoid displaying ANRs if they are due to the dexopt causing some operation\n  to take longer than it normally would (though I make no guarantees about this\n  totally working).\n\n- Add API to Context to get the ApplicationInfo for its package, for easy access to\n  things like targetSdkVersion.\n"
    },
    {
      "commit": "c14b9ccdf13163cae5ce5d21bcf377010b37594b",
      "tree": "45c2309b18ff4e56aef65e0c7d66f8800492e33e",
      "parents": [
        "e64bb1dd9ed68281af9968cf2cd23b4e49ead76c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 17 21:48:14 2009 -0700"
      },
      "message": "Extend Intent/Uri conversion for use by Browser\n\nThis introduces a new Uri form of Intent with an \"intent:\" scheme, and a\ncorresponding update to the parser to handle these, so that the browser\ncan use this generic facility for starting activities based on the links\nthat are clicked and allow for web pages to link to arbitrary intents.\n\nThere is also a new \"package\" field on Intent which allows you to limit\nthe components it finds to a given package.  This replaces the new method\nthat was added to PackageManger for doing this when resolving activities,\nand implements it for all Intent queries against the package manager.\n"
    },
    {
      "commit": "1ccac75e1f1b97eccb916a8de04fc1012b30f6e5",
      "tree": "181c91a427de2ea609eff1f42c3970a441225b45",
      "parents": [
        "ef29f6afb4746eae8263ab901a5d3677bc04574b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 12 10:09:58 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jun 17 11:31:26 2009 -0700"
      },
      "message": "Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app\nCreate a new public IntentSender class that can be used by PackageManager instead.\nThis new class uses IIntentSender internally and can only be created by PendingIntent for now.\nProvide a new getIntentSender api in PendingIntent to create an instance of this class.\nMove IIntentSender and IIntentReceiver from android.app to android.content\nChange imports of IIntentSender and IIntentReceiver to reflect the new package name\nThe PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage\nonce the older api(which has been deprecated) will be removed shortly.\n"
    },
    {
      "commit": "4ebd855bb7362d45833dc811f2622fcc788dec17",
      "tree": "cf6f0f30fe317efe2b24cda09fb3e6f3d5704cc7",
      "parents": [
        "e65fdfb8affd92b3bb2d41f0bd149f704ec48f26"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 17:44:07 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 17:44:07 2009 -0700"
      },
      "message": "Fix build.\n"
    },
    {
      "commit": "2d4b6ad9d4c7e3e2dbb6a127f37271686253d71f",
      "tree": "b66b8c97936d53c970775aaf134b4f0eeab1a9ca",
      "parents": [
        "5570f2f24a74a1f16c781722731ba39f2907cbb3"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jun 15 14:46:00 2009 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jun 15 16:29:20 2009 -0700"
      },
      "message": "Remove obsolete FOTA_UPDATE permission (which should never have been\nmade public, and wouldn\u0027t be used by any third party applications,\nand no longer does anything regardless).\n\nAlso remove the WRITE_GSERVICES permission from the SettingsProvider\npackage\u0027s manifest (the declaration there was redundant with the one\nin the core manifest, where all the other settings-related permissions\nlive -- no other core package includes its own permission definitions).\n"
    },
    {
      "commit": "29148f90cd9fb34ff64f76936347547885906eb9",
      "tree": "829545e831a6c558b31a4b35d49cbd0e6eb566b4",
      "parents": [
        "3adf7678cdf8fa955627e096bb5c27b94adc3079"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 15:25:31 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 15:25:31 2009 -0700"
      },
      "message": "Remove ADD_SYSTEM_SERVICE and SET_PROCESS_FOREGROUND permissions.\n\nThese are no longer used.\n"
    },
    {
      "commit": "763a5723882ec7924114ba585b49e69b3e828b4a",
      "tree": "4ef2f1f5e38b7e23278500edf0d05d6583f34eb1",
      "parents": [
        "e8939bb8f1453b44788d4475a8263082d858e533"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 12 10:28:28 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 12 10:28:28 2009 -0700"
      },
      "message": "Hide gestures API.\n"
    },
    {
      "commit": "23ecae3bbb60c5af940f3a22170d75eb6ac05b69",
      "tree": "1138102ba856743cffd931121409a71c2bae37c3",
      "parents": [
        "0b77453076a22569f24318d194b378b68f11a63e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 10 17:07:15 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:29:57 2009 -0700"
      },
      "message": "Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n\nThis took quite a bit of refactoring.\n"
    },
    {
      "commit": "d82108993f4550bf7a751ab27593ef8e15120db3",
      "tree": "ba92d52fb970c8099dd4faf7d63c4c4f7b4aa6dd",
      "parents": [
        "35379abd46b68a4efa20035c6c8b9d1faceb4dcc"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 11 16:33:05 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 11 17:11:50 2009 +0100"
      },
      "message": "NEW_API: Expose queryAfterZeroResults searchable attribute.\n\nIf this attribute is provided and true, the searchable activity will be invoked for all queries in a particular session.\nIf set to false and the activity returned zero results for a query, it will not be invoked again in that session for supersets of that zero-results query. For example, if the activity returned zero results for \"bo\", it would not be queried again for \"bob\" as an optimization.\n\nThe default value is false.\n"
    },
    {
      "commit": "53175148c9b962c0ffe9cea0f3dc68bc0196e044",
      "tree": "169762ef55c30a9e5ccfa929c45c087c3cf51871",
      "parents": [
        "a32b5f3252a58416f328399680395aa5fa936640"
      ],
      "author": {
        "name": "Jack Veenstra",
        "email": "veenstra@android.com",
        "time": "Mon Jun 01 21:27:01 2009 -0700"
      },
      "committer": {
        "name": "Jack Veenstra",
        "email": "veenstra@android.com",
        "time": "Wed Jun 10 11:38:02 2009 -0700"
      },
      "message": "Add support for custom tab views in TabHost and TabWidget.\n\nThis change adds the ability to specify an arbitrary view for a tab\nindicator.  It also adds support for specifying a drawable to use as\nthe divider between tab views.\n"
    },
    {
      "commit": "0e1ca5749a96778869ef62f939542a61c034209b",
      "tree": "0eb7fef5f9151e679088aa13db8c428a7ce7198e",
      "parents": [
        "faf410443f0c2ab2d30a1c8ce90f83157b5e593b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 12:56:34 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 22:58:46 2009 -0700"
      },
      "message": "Add support for gestures in Home.\n\nAdds a new animation style for the gestures pad, and de-normalize\nthe scores in the recognition engine.\n"
    },
    {
      "commit": "f478267d6a60220fb8078c13971b5d4d3f868d67",
      "tree": "e8a7dc296de632db730f18bca1b3c4a86c3e7661",
      "parents": [
        "4ab3c00993bd7932e5262d325e6d9943074844ed"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 09 16:22:48 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 09 16:22:48 2009 -0700"
      },
      "message": "Adding default text-to-speech language in Settings.Secure.\n"
    },
    {
      "commit": "03f0b21b5a317aa6c0f0cd4d7ac91cabdf379d3e",
      "tree": "6aca14f7b6afad8cf8fdb7d9f97e6c74b4a13660",
      "parents": [
        "2d2b23119f1b4daa3064f065ebeb6397963c1780"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 04:15:22 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 04:15:22 2009 -0700"
      },
      "message": "Fix several issues in the gestures libraries.\n\nThis mostly fixes how gestures libraries are saved and loaded.\nSaving a library twice in a row was erasing the entire library,\nwhich was preventing the sketch test app from working propertly.\n"
    },
    {
      "commit": "7fe416e9436a7b2a00e27e73ceb725de4e763f30",
      "tree": "eceab5d6e27817f91e0bca14d4cc2742410e1a7e",
      "parents": [
        "f642aa2a44e63aa105bbc6aec59f9bee261986ef"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 01:42:15 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 01:42:15 2009 -0700"
      },
      "message": "Fix bug in saving gestures stores. The outputstream was wrapping itself, thus causing huge problems.\n"
    },
    {
      "commit": "d299b8194dde8c4875e5f032918ab35ebad8b1f1",
      "tree": "27fb20be4db7b7bdb4da2832df0a8146ee1f4cd3",
      "parents": [
        "b1c2874790908d1bbb9b99242fc7cc96c7b45a8a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 10:26:19 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 13:49:09 2009 -0700"
      },
      "message": "Add a new attribute to android manifest for defining the GLES version number.\nThis attribute is parsed by the PackageParser into ConfigurationInfo. The major\nand minor version numbers are defined as the higher and lower order bits.\n"
    },
    {
      "commit": "f62ba452bb07407f577cabecde14bfad101d7f43",
      "tree": "e9823536424790f37d8c816b5c6bfeeda74ce7df",
      "parents": [
        "716b56817aee1c0b584266a686b18a1c02ea0116"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 04 14:55:24 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 11:29:16 2009 -0700"
      },
      "message": "Adding new Settings.Secure properties for the Text-To-Speech functionality.\nThose properties are secure to prevent applications from altering the user\u0027s settings without his knowledge.\n"
    },
    {
      "commit": "48603e7fed957f318b12aa24089e0b13c3e78529",
      "tree": "e95ba9ed29a3713aa660c27c0db0d54676bf9bf8",
      "parents": [
        "54de90635e1d0628c396d65e6c948bf4a1529229"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 00:27:00 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 01:07:20 2009 +0100"
      },
      "message": "Add new SHOW_WEB_SUGGESTIONS system setting, referenced by the search settings\n(in a follow-on change). This setting, to be respected by global search, and which\nI will also file a bug to the browser to respect, determines whether live web\nsuggestions will be shown to the user as they type. For privacy reasons, this\ncould be considered undesirable, as partial queries can then be sent to the user\u0027s\nchosen search engine, so a setting was required.\n"
    },
    {
      "commit": "683f3bed89d15c673b9fd391dc258c088e9316ae",
      "tree": "2722c54001768a5275120852bd39339412c54559",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "message": "Unhide inInputShareable in BitmapFactory.Options.\n\nThe variable works together with inPurgeable, which has been unhidden in\nhttps://android-git.corp.google.com/g/Gerrit#change,2870.\n"
    },
    {
      "commit": "9189cabb0b6c6c28232fe6f412b7ba7a37352a6a",
      "tree": "6ddc6a8eb0158cba32cc6139b04c6b6eb9f0ba5f",
      "parents": [
        "eaeb663bcd7a82b654954b42663232cbd7bef7e7"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 11:19:12 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 16:28:10 2009 -0700"
      },
      "message": "* Moved supports-density tag under manifest\n* Refactored Compatibility code\n  * Added CompatibilityInfo class\n  * Removed getApplicationScale from Context\n  * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context\n* Expandable support\n  * Added expandable tag under manifest\n  * Old application w/o expandable is given the default screen size  ([320, 480] x density).\n  * The non-expandable window is centered.\n"
    },
    {
      "commit": "9af0b4f7be14f2b3ed0ecc843c57ea47ec288e55",
      "tree": "b3adeb84b7b5a8ab420cf178db107f19edb2ad78",
      "parents": [
        "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:56:27 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:59:42 2009 -0700"
      },
      "message": "Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation.\n"
    },
    {
      "commit": "eb949674fd3b83b706f795fc6b16ab1c66250c93",
      "tree": "4c58350eef523e46bcd26423a15aaa109779988f",
      "parents": [
        "30b70cec05190c8fcfa5aeb175a37bf81ed3966d"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 01 15:49:32 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Tue Jun 02 11:01:43 2009 -0700"
      },
      "message": "Unhide inPurgeable in BitmapFactory.Options.\n\nThe correctness and effectiveness of the usage of the parameter are evaluated in:\nhttps://android-git.corp.google.com/g/Gerrit#change,2768\n"
    },
    {
      "commit": "5a3a77dabd744d5be79d7745c2a977c108a9ad98",
      "tree": "2c5ad40a1c6c967839c60f91542eb99ca599502e",
      "parents": [
        "181fafaf48208978b8ba2022683ffa78aaeddde1"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "message": "base: Rename WRITE_SDCARD -\u003e WRITE_EXTERNAL_STORAGE\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
      "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
      "parents": [
        "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 14 11:12:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun May 31 13:10:03 2009 -0700"
      },
      "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n"
    },
    {
      "commit": "8d78756c160bda736cccef9ca1a6e2d6a159ac42",
      "tree": "b4c2f9469cfa7d78b8495594ef62fce5eb284b27",
      "parents": [
        "a5f50b8f49cc9b34b1de462e11498d92c692b978"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "message": "Fix the build.\n"
    },
    {
      "commit": "9fc2e9c965c68d56a0caf812f7f6d38d15317063",
      "tree": "ad925b8780f3112c60206b15a17ec874f142b3a0",
      "parents": [
        "607384d45fae5c9c2b21c96e4278665c8d7d3006"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu May 28 14:48:32 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 09:06:44 2009 +0100"
      },
      "message": "MemoryFile constructor and native methods throw IOExceptions.\n\nThese native methods in android.os.MemoryFile throw IOException but their\nJava declarations did not include \"throws IOException\":\nnative_open(),native_mmap(),native_read(),native_write(),native_pin()\n\nThe MemoryFile(String,int) constructor calls native_open and\nnative_mmap, but does not declare that it throws IOException. The other\nJava methods that call the native methods do actually declare that they\nthrow IOException.\n\nThis means that any code that created memory files could throw\nan IOException, without knowing about it.\n\nThis changes adds \"throws IOException\" to the native methods and to\nthe constructor. The constructor change changes the public API, but\nmaintains binary compatibility. There is some precedent for making\nsource incompatible source API changes for this sort of thing\n(see https://mondrian.corp.google.com/changelist/124214-p9).\n\nThe change also makes the native methods static, which\nthey seem to have been intended to be, as indicated by the\nsecond parameter to the native implementations being named\n\"clazz\".\n\nThis requires changes to the Compatibility Test Suite to catch the exceptions.\nThis is done in https://android-git.corp.google.com/g/2617\nUnfortunately that change must be submitted together with this one in order\nnot to break the build.\n\nFixes http://b/issue?id\u003d1881829\n"
    },
    {
      "commit": "fc1b15cfbfc5f69235ec1f367abd7a909381cd05",
      "tree": "eeca713d5c9078989763d3777aafd41007a2846f",
      "parents": [
        "1cb62b83241c5d1cac9e9cda60d0d5d9218b44fb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri May 22 15:09:51 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu May 28 13:37:06 2009 -0700"
      },
      "message": "Fix wifi multicast API for public use.\n\nApplying API review comments and taking it public.\n"
    },
    {
      "commit": "4bc035a65cac177be9294e69f110497e3b6e34e6",
      "tree": "634b5bde8fc4cae5a7b77ee3cde01f04bc9ae7fc",
      "parents": [
        "a5f158bdde77f8d173d1f1c95d0f92405c519b0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 09:18:15 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 07:44:28 2009 -0700"
      },
      "message": "Fix issue 1846343 - part 1\n\nThis change is the first part of a fix for issue 1846343, :\n- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.\n- renamed streamType to inputSource in all native functions handling audio record.\n\nA second change is required in opencore author driver and android audio input to completely fix the issue.\n"
    },
    {
      "commit": "e7c36dda7ada30e02f3aa9d75f282a53402aeae7",
      "tree": "82b6ab8e66680e3a1d58ed0d9d646546b84f1c7e",
      "parents": [
        "ec25df9fbc685be384f8dd764fa224a4d923e9d8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 13:51:00 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 13:51:00 2009 -0700"
      },
      "message": "Add new orientation attribute to GestureOverlayView. This can be used to prevent the overlay from interfering with vertically/horizontally scrolling views underneath the overlay.\n"
    },
    {
      "commit": "ec25df9fbc685be384f8dd764fa224a4d923e9d8",
      "tree": "3d8c42a50b2286c7dc032f111da52971ff31cb99",
      "parents": [
        "ff686ce11e952a9001b1384d8e7d82127b0529a2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 04:39:37 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 04:39:37 2009 -0700"
      },
      "message": "Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView.\n"
    },
    {
      "commit": "82f3495b146b267f3786997752cef25310176349",
      "tree": "1821c5b8731028212250ec07fe209a0804a0e53f",
      "parents": [
        "d9a874a4cb8e82ae64c1698bd71ced8d87bbc5cd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun May 24 18:40:45 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun May 24 23:45:03 2009 -0700"
      },
      "message": "Cleanup Gestures API and make it easier to use in 3rd party apps. Also fix the events processing in the gestures overlay mechanism. Give better control of the various properties of the overlay through XML attributes.\n"
    },
    {
      "commit": "b181118b6e58c0014da4e9d52bf38548adc73a8a",
      "tree": "4f62cb71cacc03d25935e5430d8aa431dbeef854",
      "parents": [
        "5b6a5cee4c48fd2ffc35f07ebe9f24eb53086b9a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 21 15:45:42 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 22 18:45:25 2009 -0700"
      },
      "message": "Define TARGET_CPU_ABI for finding native code in .apks\n"
    },
    {
      "commit": "c0292b04407d93a11ee1412ed52cc5b04642a6f1",
      "tree": "336b9c167824d97c81019998d42824c28dff5e90",
      "parents": [
        "f41c640d8424fbd90cb1751173ede1c9f5e848b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 02:39:24 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 02:39:24 2009 -0700"
      },
      "message": "Fix the build\n"
    },
    {
      "commit": "d6a463a9f23b3901bf729f2f27a6bb8f78b95248",
      "tree": "1371cafd6a1c0fe8d3cd4580e7878a9adb86b183",
      "parents": [
        "cfcc0df2658d0ce7dc753511bb44ab8ae7a636f7"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 23:10:10 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 01:59:59 2009 -0700"
      },
      "message": "Add a new API to ListView: setGestures(int). This allows developers to enable gestures to jump inside the list or filter it. This change also introduces a new XML attribute to control this API. It also adds the ability to theme the GestureOverlayView from the gestures library. Finally, this adds a new VERSION header to the binary format used to store the letters for the recognizer.\n"
    },
    {
      "commit": "db567c390bd56c05614eaa83c02dbb99f97ad9cc",
      "tree": "86399406ca7a53c3d902b3863bf7a944cb7c5c3f",
      "parents": [
        "384bfa270cdcb5dc3bc9ec396b783e25eb2d9b4d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 16:23:21 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 18:12:56 2009 -0700"
      },
      "message": "Move the Gestures API to the framework in android.gesture.\n"
    },
    {
      "commit": "fd6e5f0dda50e113db4ccc55338b6c4f09da37a4",
      "tree": "faf8e2c6510d2a0c4439cdcdfe74d97100dc9020",
      "parents": [
        "bb7b7b316a6a15f4df6af3c62a293920c68c7b00"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "message": "location: Replace ILocationCollector interface with new ILocationProvider method\n\nThis change replaces ILocationCollector with a more general mechanism that\npasses locations received from a provider to all other providers.\nThe network location provider now uses this to implement the location collector.\nIn the future, this could be used to inject network locations to the GPS\nas aiding data.\n\nThis change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f479aa0900e9a85afdc78b1048684e37579ebf23",
      "tree": "1337f0f101bfe38ec5b182201b0d1b6dbb4cafb0",
      "parents": [
        "b204d4f12773ec67c7f0ded41cb111018f154476"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 16:01:06 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 16:30:59 2009 -0700"
      },
      "message": "Add padding to public.xml to avoid breaking from auto-merges.\n"
    },
    {
      "commit": "d62ad4f120e92fd597f44caf125ac853ac0ea11c",
      "tree": "a9a6b62f7b1f806e1793128ad142155ab26e06bb",
      "parents": [
        "4174e2682f4eb6ea35c84e35810312967ea7e233"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:06:25 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 13:21:59 2009 -0700"
      },
      "message": "Fix issue #1859814: Add android.os.Build.MANUFACTURER\n"
    },
    {
      "commit": "b2d415693482f58e104a99376cc4f65bf3799edf",
      "tree": "b46209f1d47350428b65724d05fb62823a258fd4",
      "parents": [
        "95fc68f24a2a93e5664e2234abcfe479d385cc05"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:25:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:25:04 2009 -0700"
      },
      "message": "Fix build.\n"
    },
    {
      "commit": "936257eabde562ada9c481f285a24bbf4ffa4bc9",
      "tree": "bc3d7f27fced77ed06963cd9248a03471592bde2",
      "parents": [
        "ce2372de58ad018623748f63e61ffc70c9eb8895"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 18 11:04:45 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 18 11:04:45 2009 -0700"
      },
      "message": "Fixes external #2686. Make @android:anim/linear_interpolator public since the default intperpolator for all animations is accelerate_decelerate.\n"
    },
    {
      "commit": "5b3189e03c71bcd276e0b39d0ec5e2f699a1697f",
      "tree": "8120d29193d999d8768813f8e4ca6f579b983b51",
      "parents": [
        "a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:33:31 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:33:31 2009 -0700"
      },
      "message": "Fix the build. :(\n"
    },
    {
      "commit": "a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d",
      "tree": "75e0804e6628f9bb818c5f6f918315640c721d4b",
      "parents": [
        "ba2a3a1b32e242eea4e97c927d886e8987fde3d4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 13 15:06:13 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:02:47 2009 -0700"
      },
      "message": "Implement compatibility support for WRITE_SDCARD permission.\n\nNow old applications will automatically be granted it.  Also renamed it from\nSDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,\nand re-arranged how we do targetSdkVersion to actually be usuable for this\nkind of stuff.\n\nNote that right now this results in basically all apps being given the\nWRITE_SDCARD permission, because their targetSdkVersion is not set.  I will\nbe dealing with that in a future change.\n"
    },
    {
      "commit": "eae850cefe7e149f396c9e8ca1f34ec02b20a3f0",
      "tree": "a4e19d75aeef5529a0a8084d513638890afac2cd",
      "parents": [
        "75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec"
      ],
      "author": {
        "name": "Mihai Preda",
        "email": "preda@google.com",
        "time": "Wed May 13 10:13:48 2009 +0200"
      },
      "committer": {
        "name": "Mihai Preda",
        "email": "preda@google.com",
        "time": "Fri May 15 12:32:07 2009 +0200"
      },
      "message": "Allow intent resolution to be constrained by package name.\n"
    },
    {
      "commit": "75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec",
      "tree": "84e1843368037d24f83749d152f818d537267bfa",
      "parents": [
        "669ec3a6e47248fee0a3a0f4877b46875eb42140"
      ],
      "author": {
        "name": "svetoslavganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 22:28:01 2009 -0700"
      },
      "committer": {
        "name": "svetoslavganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 23:47:05 2009 -0700"
      },
      "message": "Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)\n"
    },
    {
      "commit": "a35198117ed8ba356e814863066777ee9f37f8e1",
      "tree": "1184392fb7a379ab4e33a5d90fec13808106c63f",
      "parents": [
        "d1f7b3a5720a4d6d92c4eea5a1fe812a790a7442"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 14 16:29:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 14 16:29:18 2009 -0700"
      },
      "message": "Fix the build, again.\n"
    },
    {
      "commit": "290bb011c5c1a9ba1f2116810b06cf52a9c36b3e",
      "tree": "cfb9ce077d79021e86c1b8d7951f3655520f368d",
      "parents": [
        "ec2d74d40f9b7a8bf96feeb45a5d054d8b0ce0dd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 13 18:57:29 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 14 09:39:32 2009 -0400"
      },
      "message": "Get the backup calling through to the file backup helper.\n\nThis includes some cleanup to make the parameters match\nbetween BackupService.onBackup and FileBackupHelper.performBackup.\n"
    },
    {
      "commit": "d39afbdc92e95e597c311e78ac32edaad27fcf0d",
      "tree": "72b8b6bee6df8f80d72cd782873c78dbc7f38b5c",
      "parents": [
        "c5b0e6e4eb09a4dd8fc1cfcfca959262705d84d0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 12 14:42:58 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 12 23:40:45 2009 -0400"
      },
      "message": "Make android.content.ComponentName implement java.lang.Comparable.\n"
    },
    {
      "commit": "ade3ecad94d1f4431576f53bae26c35efbf7a2c9",
      "tree": "066fc83ddeb6c52011e13744152b594911895094",
      "parents": [
        "807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 11 18:54:45 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 12 16:09:43 2009 -0700"
      },
      "message": "Implement issue #1783881 (manifest option for adb-install-only apps)\n\nYou can now use android:testOnly\u003d\"true\" to not allow your .apk to be installed\nas a normal app.  The only way to do so is with the pm command and giving the\n-t option, which sets a new INSTALL_ALLOW_TEST flag when installing.\n\nI also used this to clean up the install API...  actually, mostly to hide\nit, since it is not accessible to apps so shouldn\u0027t be in the SDK.  We\nwill be doing some more work on it, so this will prevent adding yet\nanother backwards-compatibility-for-no-reason version.\n"
    },
    {
      "commit": "c64322c35212e919906ffd66118c7d5d3ad36636",
      "tree": "846d1a95480c87f18975245ceea201535e23c553",
      "parents": [
        "3e3439d5ba0cf5eda060c4991219c32af917fc5b"
      ],
      "author": {
        "name": "Jacek Surazski",
        "email": "jaceks@google.com",
        "time": "Tue Apr 28 15:26:38 2009 +0200"
      },
      "committer": {
        "name": "Jacek Surazski",
        "email": "jaceks@google.com",
        "time": "Tue May 12 23:16:20 2009 +0200"
      },
      "message": "PackageManager keeps track of who installed what.\n\nStores the package name of the installer app in packages.xml\n"
    }
  ],
  "next": "a87a132ebf1c2dd733cf52feff6e44525257c961"
}
