)]}'
{
  "log": [
    {
      "commit": "a4903f254b4711c8fc0ac5f7e3d605f4dce34f35",
      "tree": "e43cd5c8258315768da788f390d230a105920154",
      "parents": [
        "c6a0a9cb67930f7259f3f019e8fba22b07a906bf"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 17 06:42:23 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 17 18:36:40 2010 -0500"
      },
      "message": "Add passive location provider.\n\nThe passive location provider allows receiving location updates without\nactually triggering them.  This allows an application to receive location\nupdates that are being generated due to other clients of the location manager.\n\nChange-Id: Ibf7a96b089c56875d4f62d3210252ae8d9f32768\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2b95c2413838c2e2b127ebab8fb4fead7d52e460",
      "tree": "152840f97e63ab28962c5f351217fa8088686f13",
      "parents": [
        "6a70d7d1e28bd0b98d03e7ecab3fd08ea5973e34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 08 17:40:30 2010 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 17 15:03:32 2010 -0800"
      },
      "message": "Added more @RemotableViewMethod methods, mutate ImageView.\n\nCatch some View methods missed during the first pass of\nmarking with @RemotableViewMethod annotation.  Also adds new\nImageView.setColorFilter(int) to match the android:tint XML\nattribute.\n\nWhen ImageView touches ColorFilter or alpha, mutate the\nunderlying Drawable. Fix NPE in StateListDrawable.mutate().\n"
    },
    {
      "commit": "05513119803845c11d845cbc376759cddcfe13bb",
      "tree": "4bfc421cd457565ccf9c267c09d9d671a591e3a4",
      "parents": [
        "1e84ac51221037b1446baad30e1aae8823e5f5a6"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Feb 17 10:06:41 2010 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Feb 17 13:29:08 2010 -0800"
      },
      "message": "Unhide new SoundPool API\u0027s. Bug 2415373.\n"
    },
    {
      "commit": "c9fbaabc1bbf847b6e8bf2595068cbd990f3da55",
      "tree": "0f54c5be9d3461b1a477275ef042f4c2df7f4066",
      "parents": [
        "0f5a434c5467ef300b7bb408d40aa763aecdb19f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Feb 16 17:16:19 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 17 11:47:00 2010 -0800"
      },
      "message": "XML attribute for overscrolling behavior\n"
    },
    {
      "commit": "64e7a257ca8371c9e29512c13a8c413794439a7f",
      "tree": "ef12b8ab71fcb98942b4c942eef38ed1b92e1579",
      "parents": [
        "be6079a76c5feb3952ab5c4dc8b0491d44f42b56"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 17 11:15:28 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 17 11:15:28 2010 -0800"
      },
      "message": "Fix build.\n"
    },
    {
      "commit": "ef6b22fc04a8d5ab26e13efac8069c097e0da7c9",
      "tree": "883f9fde4fdcde9c073ee2b0987c5dd393a00745",
      "parents": [
        "855dd9e074c4dcb9c90deaeff1eb33d6394dd5da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 16 20:38:49 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 17 10:29:52 2010 -0800"
      },
      "message": "Fix issue #2420412: API review: DeviceAdmin API changes\n\nNote in docs that callbacks are on main thread.\nRename to DeviceAdminReceiver?\nDocument resetPassword is the device\u0027s password.\n\nAlso hide android.R.attr.neverEncrypt.\n"
    },
    {
      "commit": "e265532f30ca460dc0900c4cdfc3c7425ae7714b",
      "tree": "c0027951486a603b75524c3854d4b1135294a129",
      "parents": [
        "a4437fc93a993c7ab326b592d22c05be2f11b543"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Feb 16 16:09:59 2010 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Feb 17 10:30:12 2010 -0500"
      },
      "message": "Create a default style for WebTextView.\n\nAs a result, all apps using WebView (and therefore WebTextView)\nwill get the same style, and display properly.\n\nFixes http://b/issue?id\u003d2385422\n"
    },
    {
      "commit": "d998b3cd2420dfcf9e1237234d1aeb6f5c9c4778",
      "tree": "1c8c2b39bb9749fff5c19aa152191180ef4c98ca",
      "parents": [
        "5a48712501982c7276c1455e280e0b95149bdd0b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Feb 16 16:23:26 2010 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Feb 16 21:56:42 2010 -0800"
      },
      "message": "Removing org.w3c.dom subpackages.\n\nSee dalvik change https://android-git.corp.google.com/g/40511\n"
    },
    {
      "commit": "329c6aed7870b55ced7774924781cddb44022683",
      "tree": "1081764767caca69bce25e969bd2573f4838bc4e",
      "parents": [
        "2db939bde9a9a1d52d8849e6ff88f6a81504d361"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Feb 16 18:19:05 2010 -0800"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Feb 16 18:22:23 2010 -0800"
      },
      "message": "Remove ACTION_VOICE_SEARCH_SETTINGS (added only for Froyo), because we\u0027ve got\na more robust solution instead.\n"
    },
    {
      "commit": "9f790c309baeaf2617e7731225389af1865fd41e",
      "tree": "ea850c4ea830530ab53cce40c5a0887ba956ca56",
      "parents": [
        "cff1ae56e88d369021b25bedde500037129c5516"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 16 17:20:32 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 16 17:20:32 2010 -0800"
      },
      "message": "Fix the build (mucked up an API change / commit / upload sequence)\n\nChange-Id: I0eade23e5ccd4a45dbb77f76bd3cd180ddda7107\n"
    },
    {
      "commit": "e28290e21f908b4e917099ff2aa41e3aab9310c2",
      "tree": "870e5fb91e64ea96ece567ab3ccbca6e7a5e5f1b",
      "parents": [
        "bb9a51768d2d9dddbe2394b99a00544a3d144fac"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 16 15:22:26 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 16 16:23:55 2010 -0800"
      },
      "message": "API CHANGE: expose backup/restore to the SDK\n\nThe core backup/restore classes [BackupManager, BackupAgent, RestoreSession, and\nRestoreObserver] are now published for 3rd party developers, as well as the suite\nof helper classes that exist so far to aid authorship of backup/restore agents.\n\nIn conjunction with the API change, the restore-time automatic data wipe has now\nbeen removed:  applications are responsible for managing the logic of wipe vs\nmerge themselves.  If the app\u0027s agent onRestore() callback throws, the data\nis presumed to be incoherent and a wipe is issued via the Activity Manager;\notherwise, no automatic action is ever taken.\n\nChange-Id: I0b3418b829d4689b58b88be3d9c4ace37a8583a9\n"
    },
    {
      "commit": "bb9a51768d2d9dddbe2394b99a00544a3d144fac",
      "tree": "a371dec6ecfa79d2205b6306667787cd95356b81",
      "parents": [
        "4a2d3b15ecca1f4db1e2c935ff36d19838eb5622"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Feb 13 00:07:38 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Feb 16 15:05:02 2010 -0800"
      },
      "message": "Add API to access ICU\u0027s East Asian Width\n\nCurrently there is no way for an application built against the API to\naccess East Asian Width data from ICU. This adds an API for applications\nto use to access it for correct drawing of international characters.\n\nChange-Id: Iab50698ee555ae2ca8ab4b242cc14aa6e0dc3b48\n"
    },
    {
      "commit": "9d4b57545300c6de1722094404ae09bf0f6be937",
      "tree": "19e0c79eb131759689858b3e3180ca457ba2e2af",
      "parents": [
        "fa4039e4fc680920bc53528c4a76e09210f1dcd6"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Sat Feb 13 20:34:51 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Feb 16 14:18:24 2010 -0800"
      },
      "message": "Add getInsecure() that returns a persistently insecure SSLSocketFactory,\nwhich Email needs for unbundling.\n\nBug: 2353593\n"
    },
    {
      "commit": "3af80dc6d937fb95cab544417e75f5aadc595690",
      "tree": "effe84631174daaeee4793442c7a2d9e3bc24308",
      "parents": [
        "be16be13c6f03e5e94fc442ba6a95e420e1a0fef"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 16 12:38:38 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 16 13:55:19 2010 -0800"
      },
      "message": "Expose more Download Manager APIs.\n\nThis will allow apps to track download progress.\n\nChange-Id: Id6b77c0fc01b4838fca45e2fe241b1ea08e65038\n"
    },
    {
      "commit": "b9dfb9b403e3e61cd97d4f9981c54c4e2229777d",
      "tree": "97cf09e25b65280ec63a960e4e249410d1790f35",
      "parents": [
        "642b7c0f1964389ed0b049df275c7b4daaf35b7a"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Fri Jan 29 13:08:22 2010 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Tue Feb 16 09:25:40 2010 -0800"
      },
      "message": "Download Manager API to support Gmail\n\nAdds APIs to the Download manager to handle downloads based on\nopaque ids\n"
    },
    {
      "commit": "241379081e046803b7f4cf4f07091b9de49abf31",
      "tree": "4f65235daabdd5dd77dfd15da7a8dfbb9544d27d",
      "parents": [
        "85cc7b37f53b12b070828b56eeaee749832d3af5"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Feb 16 09:06:32 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Feb 16 09:06:32 2010 -0800"
      },
      "message": "update current.xml to fix build\n\nThis (new) constant was renamed; forgot to make update-api.\n\nChange-Id: I11ad63f70fc7e266abdc9863b43bf5307227c656\n"
    },
    {
      "commit": "b125dc5599468a09d82751cd76152071ae485afb",
      "tree": "6d7ea46208c30bf1ae9014b70d7f5f50167eaa10",
      "parents": [
        "d382e4bee9c6cf96f97700ebcffcf81465294146"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 15:52:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 17:52:22 2010 -0800"
      },
      "message": "Fix MotionEvent pointer API.\n\nOoops.  The API said that the pointer down and up actions contained\nthe pointer id, but it is actually the index.  Actually it makes\nmuch more sense for it to be the index, and those ACTION_POINTER_1_DOWN\netc. constants were stupid.\n"
    },
    {
      "commit": "33f7a80f767d72393c2d38b0dcbaeecdf7956c89",
      "tree": "f322d63d5a210b28ca3afa973dc1d39e02465cfa",
      "parents": [
        "d2affae13dfdb116adaee1bb10aaaac80a885481"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Feb 12 17:41:40 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Feb 12 17:41:40 2010 -0800"
      },
      "message": "@hide the bizarro Base64 stream constructors\n\nWith no usages of these \"backwards\" streams, it\u0027s not clear that we\nwant to support them forever in the API.\n\nAlso fixed some badly cut-and-pasted javadoc.\n\nChange-Id: I4811d22e493bf2b8eaf79b9e95526e7eab5f27ee\n"
    },
    {
      "commit": "d2affae13dfdb116adaee1bb10aaaac80a885481",
      "tree": "2c12a5b5c6e4064d1587e2ece6f1f909657e8914",
      "parents": [
        "190dd57fb843b1b5019ebdba32e44617c6bbc3d0"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Feb 12 15:50:01 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Feb 12 17:13:56 2010 -0800"
      },
      "message": "add a Base64 implementation to the API\n\nb/1413917 - RFE: Base64 utility class\nChange-Id: I11697859e1f78f596b92d2e03a49ed1be04ae42d\n"
    },
    {
      "commit": "04994989351922e241089de2af540facc8688505",
      "tree": "363adaf9c2da326387bbfeda8c2eb612522da181",
      "parents": [
        "bab28017a56a770a97b2da770deaf6649b30766e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Feb 10 15:24:49 2010 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 12 15:10:37 2010 -0800"
      },
      "message": "Add a new KEYBOARD_TAP haptic feedback type for very short, low-latency vibration.\n\nThe minimum value varies from device to device, so this is useful for defining\nthe shortest and most efficient vibration. The VibratorService creates a Thread\nwhen playing back vibration patterns, so this allows you to avoid thread creation\nand associated scheduling delays by specifying a one-shot duration in the config\nfile.\n"
    },
    {
      "commit": "749ee4fefd844236c075b15cf5dcc1f7245e17ce",
      "tree": "700d2d47b7edf1f6b369b4f9dc1a2fab2481bda9",
      "parents": [
        "96898b38fa72957963fd768b379df5d2860a7f3c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 29 11:19:07 2010 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Feb 12 14:13:27 2010 -0800"
      },
      "message": "API change.\nadd cycle_interpolator resource (it\u0027s the only one missing among\nall Interpolators) and update public.xml and current.xml with the new resource.\n"
    },
    {
      "commit": "90762d35a99e32ed22cdfb1f81252544ee22e30b",
      "tree": "eadc40dab7605e4ccce6493bafc211b1becfb98b",
      "parents": [
        "30e694aea1b7fac450ff3c668094dcfe921e9421"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Feb 11 20:07:17 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 12 11:09:26 2010 -0800"
      },
      "message": "Modify ActivityInstrumentationTestCase2 to not require hardcoded package name.\n\nDeprecate old constructor.\n\nBug 2440167\n"
    },
    {
      "commit": "0b8bb4282a7d1afb24f8c4d5beb2ca4ecc731116",
      "tree": "a889cd6a046d196878e4b05718e6cbe7c002db05",
      "parents": [
        "8bd3f749e8c5348d1109b8ab66e0054d1a63eb73"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Feb 08 14:30:45 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 12 10:26:25 2010 -0800"
      },
      "message": "Overscrolling modifications. Overscroll will not allow the user to\nscroll content out of view. Scrolling will slow down halfway to the\nbarrier point. API added in View. AbsListView, ScrollView,\nHorizontalScrollView all use this API. Overscrolling uses haptic\nfeedback. Added scroll barrier pattern to config.xml.\n"
    },
    {
      "commit": "470969346d7958f859d97d1a136b4ecc11e2a464",
      "tree": "c9c1ec33c9b3dd2463ffa4b7704cd87e1a12ca9c",
      "parents": [
        "b509065a586d11e6800373d0a57f5296428f2d89"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 11 15:57:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 11 20:02:20 2010 -0800"
      },
      "message": "Add APIs for mapping between new and current package names.\n\nThis will allow Market and others to find out what the \"real\" name\nof a package is, when it is currently running under the old name of\na previously installed version.\n"
    },
    {
      "commit": "315ada7fbb9e967c22e87b4921bec720ceb2c73c",
      "tree": "d40fec8ac540b985027bf2334c9d3e8d5d73d942",
      "parents": [
        "2870552b412cd8186c6605d108b736832b9b82da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 11 12:14:08 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 11 14:36:30 2010 -0800"
      },
      "message": "Get rid of the limit-unlock policy control.\n\nThis is merged with force-lock.  These both allow effectively the same thing,\nso there is no reason to junk up the user experience with them as separate\nentities.\n"
    },
    {
      "commit": "378ae126d9d61feed77ad596fa0823394eac6240",
      "tree": "ae7c0577b67dde049fbb10b1cd0461cbb2934bdd",
      "parents": [
        "28a5dc229ed25c771cde25668928edc788073029"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 11 14:01:09 2010 -0800"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 11 14:02:46 2010 -0800"
      },
      "message": "Add SERVICE_INTERFACE and SERVICE_META_DATA constants to RecognitionService,\nto be used by anyone implementing a voice recognition service. Also define\na new \u003crecognition-service\u003e styleable to be used in such service\u0027s metadata\nxml.\n\nStill to do: Change VoiceSearch\u0027s GoogleRecognitionService to respond to this\nintent, and actually use this intent instead of ACTION_RECOGNIZE_SPEECH here\nin RecognitionService.\n"
    },
    {
      "commit": "27b28b3f62bd3b54fa13acd5d035940b9be464f3",
      "tree": "d1f44096f7071bbc53e5bc979117be8e0f4aa55c",
      "parents": [
        "d5663a108760de672b130ffabd4f6632982f75e5"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Tue Feb 09 23:09:17 2010 +0100"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Thu Feb 11 21:25:58 2010 +0100"
      },
      "message": "Introduce special UI modes for night and car usage.\n\nThe device mode is now called ui mode. Furthermore is the order of\nprecedence for the resources now in such a way that the ui mode needs\nto be specified after the orientation and before the density.\n\nThe ui mode can be set, like it is done for the locale, as follows:\n\nIActivityManager am \u003d ActivityManagerNative.getDefault();\nConfiguration config \u003d am.getConfiguration();\nconfig.uiMode \u003d Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;\nam.updateConfiguration(config);\n\nTo allow users to disable the car mode and set the night mode the IUiModeManager\ninterface is used.\n\nThe automatic night mode switching will be added in a separate change.\n"
    },
    {
      "commit": "a181b21305e0bcf171e2112a3ca5c08eb4fd2434",
      "tree": "2d710c52e471992a454f7115042f3a8ff79be06d",
      "parents": [
        "2980d10c1a77172556acf7875a2781ffc9881c15"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 11 06:50:20 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 11 06:50:31 2010 -0800"
      },
      "message": "MountService: Fix some mountset bugs and tighten up some return values\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "91f2a20a5957095a6cba9f97326ea0f1eab17195",
      "tree": "4f08d890a77097a7c33a29d4bd02ce456b66bd96",
      "parents": [
        "49ffc0ff72a29f000b56deb34b0706cbfc5624bf"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Feb 09 11:54:14 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Feb 11 10:02:39 2010 +0000"
      },
      "message": "Add content provider for browser geolocation permissions\n\nThis replaces the old Google-specific geolocation setting.\n\nFixes http://b/issue?id\u003d2428694\nPart of http://b/issue?id\u003d2383870\n\nChange-Id: I6308b476ad18b1d71d7438b936c592a45365c9f0\n"
    },
    {
      "commit": "49ffc0ff72a29f000b56deb34b0706cbfc5624bf",
      "tree": "552d1620a011a24432be7290ea9c8637afaaa1bb",
      "parents": [
        "0bcc74ccca4a8f01a125dea6265851ceda513921"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Feb 05 11:56:12 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Thu Feb 11 10:26:34 2010 +0800"
      },
      "message": "Revise ThumbnailUtils API.\n"
    },
    {
      "commit": "23085b781e145ed684e7270af1d5ced6800b8eff",
      "tree": "43629e3d545d343314af074dc66e63f628d780ff",
      "parents": [
        "60586f2ec65d16d185767fce4311d3ed0e9112ac"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@android.com",
        "time": "Mon Feb 08 16:06:32 2010 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@android.com",
        "time": "Wed Feb 10 14:51:31 2010 -0800"
      },
      "message": "Support per-application switch to execute the VM in safe mode.\n\nThe new attribute can be set by adding android:safeMode\u003d\"true\"\nin AndroidManifest.xml with the SDK.\n\nTested with pairing locally compiled SDK with Eclipse and verified that the JIT\n(the only component currently included in the safe mode) is indeed disabled\nwith the new attribute.\n\nBug: 2267583\n"
    },
    {
      "commit": "60586f2ec65d16d185767fce4311d3ed0e9112ac",
      "tree": "0006970ad06fc8b155d282651043d87b3972e23e",
      "parents": [
        "d2e6af66ce9fdf7bfa72efe18b74260901a944a6"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Feb 08 21:56:38 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Feb 10 14:43:21 2010 -0800"
      },
      "message": "API CHANGE: Add SSLSessionCache public API to allow unbundled SSL session caching.\n\nGenerally clean up the associated SSLCertificateSocketFactory API as well,\nchange AndroidHttpClient to use this new thing, and make the android-common\nlibrary build SDK-clean (woo hoo).\n\nBug: 2362543\nBug: 2357311\n"
    },
    {
      "commit": "e4e82f2782e61658256ecb85066e273c22a37951",
      "tree": "4b942c538f0972216f6508cfe3be52262bb40f2f",
      "parents": [
        "23897c16a603748db83c59a280b6e6079bf57175"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Feb 10 13:22:55 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Feb 10 21:30:29 2010 +0000"
      },
      "message": "Unhide SearchManager.INTENT_ACTION_SEARCH_SETTINGS\n\nThis intent action is needed by Settings to start the search settings\nactivity which lives in QuickSearchBox / GoogleQuickSearchBox.\n\nFixes http://b/issue?id\u003d2394530\n\nChange-Id: Iea2a7d9df0092459e5618986f4f789f9257f912a\n"
    },
    {
      "commit": "23897c16a603748db83c59a280b6e6079bf57175",
      "tree": "948ae4929f7d21d30951afdee86ede3d83274185",
      "parents": [
        "f67119bce50f7d0fd4d708bd033ec33465239373"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Feb 10 16:10:54 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Feb 10 21:22:57 2010 +0000"
      },
      "message": "Use resource ID for searchable description\n\nBefore, SearchableInfo read and cached the localized\nsearchable description, which meant that it was not updated\non locale changes. Now SearchableInfo only holds the resource\nID.\n\nSearchableInfo is a new API in Froyo, so it\u0027s ok to change.\n\nPart of http://b/issue?id\u003d2175247\n\nChange-Id: I1898f7895b9172f58419d906ad741cb7dd1e7252\n"
    },
    {
      "commit": "117818e4f171b1fd9daa05349c48f61388f04567",
      "tree": "2bb350a719caf06727a410ce662c46a28c45fb72",
      "parents": [
        "596ce7fbfe5a81a4270949448c08dcb3a684cc3a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Feb 09 03:45:40 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 10 08:59:08 2010 -0800"
      },
      "message": "Add new manifest option for install location\nChange recommendAppInstallLocation api\nadd code to parse new attribute.\nDefine flags in PackageInfo\nAdd new settings attributes for enabling setting and value for install location\nSome tests\nThe policy for install location: if explicitly set in manifest as internal only we try to install the app only on internal storage. if set to preferExternal, we try to install it on sdcard if possible. If not we fall back to internal.\nIf the user enables setting SET_INSTALL_LOCATION(which will always\nbe set to false in final release builds) and sets a prefered location, we try\nto honour it.\n"
    },
    {
      "commit": "d2391faa5d21a7513f321c03da0945277e291ad7",
      "tree": "dc2fb8997d99da6d48f3388a02e9ee6241df1998",
      "parents": [
        "ca35953c9064114cb09181e8bffddb2f7c2d8d53"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Fri Feb 05 16:58:25 2010 +0800"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Wed Feb 10 23:15:37 2010 +0800"
      },
      "message": "Modify the API of YuvImage, so that callers do not need to deal with\nthe yuv format when specifying a rectangle region.\n\nBug: 2285598\n"
    },
    {
      "commit": "cc47fae688e55edefd0abd15811d674ba47889e0",
      "tree": "9249fc4682e26bec248fd1a0a4e90965f37fde22",
      "parents": [
        "4eaef139cf72e8f260ec4cf165c42f579cf6127d"
      ],
      "author": {
        "name": "Alex Gruenstein",
        "email": "alexgru@android.com",
        "time": "Tue Feb 09 14:36:42 2010 -0800"
      },
      "committer": {
        "name": "Alex Gruenstein",
        "email": "alexgru@android.com",
        "time": "Tue Feb 09 15:25:53 2010 -0800"
      },
      "message": "Add EXTRA_PARTIAL_RESULTS so that clients can enable receiving results via onPartialResults()\n"
    },
    {
      "commit": "e83cefcef07f9ac025642c1ffec76b4c7ab39cf2",
      "tree": "130696ee2a90150129c3ee98544c5814528c90f9",
      "parents": [
        "72e5a8820a996c547eacea534b11b6b8f6eca83b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 04 17:38:14 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 09 14:20:55 2010 -0800"
      },
      "message": "New external storage APIs.\n\nThis implements the spec for external storage organization, and\nproperly reflects how the media scanner organizes the files it finds.\n\nAlso includes package manager support for removing app private\nfiles from external storage when the application is uninstalled.\n\nFor the new APIs and paths, the main place to look is Environment\nand Context.\n"
    },
    {
      "commit": "305a2eb8e5957a4f3db2734a8918faf1a39fb9a4",
      "tree": "4733d69aba3b7cf238dc751a79325dc8f22918f0",
      "parents": [
        "b37d8a484cb81b7cc58bc97c18507ec556b33468"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Feb 09 11:30:44 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Feb 09 11:36:44 2010 -0800"
      },
      "message": "Properly notifies listener when an animation is cancelled.\nBug: #2428005.\n"
    },
    {
      "commit": "b104340496e3a531e26c8f428c808eca0e039f50",
      "tree": "11247cb68359d43ca4871c0cb0165c9bec339a6f",
      "parents": [
        "3ee1317173260252d475772fec09d492f8fcfd33"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 05 08:26:50 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 09 11:03:16 2010 -0800"
      },
      "message": "Framework: Clean up / Refactor Mount APIs\n\n - Move android.storage.* -\u003e android.os.storage.* and refactor users\n - Refactor generic shares back to explicit ums enable/disable/isEnabled\n - Remove media insert/removed event callbacks (not ready for Froyo)\n - Remove \u0027label\u0027 from volume state change callbacks\n - Add public API functions for enabling/disabling USB mass storage (permissions enforced\n   in MountSevice)\n - Remove some stray un-needed import lines\n - Move android.os.IMountService / android.os.IMountServiceListener -\u003e android.os.storage\n - Improve code comments\n\nUpdated:\n  MountService: Add dup state check and move debugging behind a conditional\n  UsbStorageActivity: Fix review comments + a TODO\n  StorageNotification: Add @Override tags\n  StorageManager: Don\u0027t use a static Listener list\n  MountService: Reduce bloat and fix \u003d\u003d where I meant .equals()\n  PackageManagerTests: Update for new API\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "ace5a3fbfbf1b41905410925f1ea007040a7a675",
      "tree": "d97a9b2ea4ecc457a04d4e2c905634dba3a4bc72",
      "parents": [
        "9c6393b8df5dc8266f91bdaa13e56071f76cd50c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 05 12:59:28 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Feb 09 08:47:30 2010 -0800"
      },
      "message": "Hide resourceDirs from public API\n\nChange-Id: I070558c0adca43c8650ac740d3cda4334d0f4a50\n"
    },
    {
      "commit": "628fd6d9c11ed9806abebf34bc986247c106328f",
      "tree": "402876b69159436587770bc8754f6a66d02326ed",
      "parents": [
        "53bd2522ca7767f46646606123b6e2689b811850"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 25 22:46:13 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 08 23:20:27 2010 -0500"
      },
      "message": "Network Location unbundling:\n\nThe network location and geocode provider services are now started on demand\nand their interfaces are now retrieved via bindService().\n\nRemove obsolete LocationManager installLocationProvider() and installGeocodeProvider() methods.\n\nAdd abstract class android.location.provider.GeocodeProvider to provide a public wrapper to\nthe IGeocodeProvider Binder interface. Replaces the LocationManager.GeocodeProvider interface.\n\nRename LocationProviderImpl to android.location.provider.LocationProvider.\n\nMove LocationManager.reportLocation() to android.location.provider.LocationProvider,\nso all methods related to external location providers are now all in one class.\n\nAvoid calling from the Location Manager Service into providers that are disabled so we\ndo not start the network location service unnecessarily.\n\nChange-Id: If3ed2d5d62b83ba508006711d575cad09f4a0007\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "53bd2522ca7767f46646606123b6e2689b811850",
      "tree": "40a43c4d19ee0c6af8443878e3e889307f33652a",
      "parents": [
        "9be54d400d68c735013bc8069fbcb66c3f98c3ee"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 05 15:28:12 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Feb 08 16:54:43 2010 -0800"
      },
      "message": "- change the SyncManager to retry MANUAL syncs that encounter a soft error\n- make the sync dump handle the case where there are no accounts\n- fix a bug that caused the SyncManager to burn up CPU in the system process\n\nThe following was implemented:\n\nscheduler offers:\n - settings to disable sync\n - retries of certain errors\n - backoffs\n\nwant a way to control these when scheduling a sync\n - \"ignore_settings\"\n - \"ignore initial backoff\"\n - \"manual\" : ignore settings, ignore initial backoff\n - \"do not retry\"\n\n- need to change the default behavior of not retrying manual syncs to retry regardless\n"
    },
    {
      "commit": "836a1f2cb99600c26a1a928a9e3240b9dec3079b",
      "tree": "f6848d720a102e09ad2590857a5825fa9c9cd517",
      "parents": [
        "e8d898f4edb4dca397ec21c14f2a63c79ffdeccc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Feb 08 13:41:00 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Feb 08 13:42:06 2010 -0800"
      },
      "message": "Fix the build.  That was an API change.\n"
    },
    {
      "commit": "8d45e4e4c6244cc3a508da3b56fec8cfd4cadd1d",
      "tree": "bc434a1f1c8c2c8c6223af982ac255a52a94cf7b",
      "parents": [
        "aea16fb62f50ec26a399e1308592f43ed4fd1a50"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Fri Feb 05 22:35:47 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Feb 08 11:12:04 2010 -0800"
      },
      "message": "changes after review by API council\n\nplease refer to http://b/issue?id\u003d2420299\n"
    },
    {
      "commit": "458034799861fef47e00d85d528b4dac5e00bd51",
      "tree": "59ac7eea5cc95ea3b9fd5368e435a73f3d0a3d14",
      "parents": [
        "420bc12ed03dd0514e0d0400385ceba3e91bbe2c"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jan 25 15:10:44 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 05 17:57:41 2010 -0800"
      },
      "message": "ListView updates. Fixed several overscrolling bugs. Added programmatic\nscrolling to ListView. Added auto-scrolling to show expanded content\nfor ExpandableListView. Fixed an AbsListView recycler bug where\noffscreen views would stick around in the view hierarchy.\n\nAddresses bugs 1161597 and 1119429.\n"
    },
    {
      "commit": "c5d1c6db61f208b206b260f897bb5bbc64be4d97",
      "tree": "91a5ffe88326b446f57b7249ddf1406b8654d2f6",
      "parents": [
        "0a45a09814dea0398647f26497ecff54a77c5f8c"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Jan 27 12:17:49 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 05 15:16:20 2010 -0800"
      },
      "message": "add sync polling\n\n- added the ability to specify that a sync (of account/authority/extras)\n  should occur at a given frequency\n- the existing daily poll code was replaced with seeding each\n  account/authority with a 24 hour periodic sync\n- enhanced the \"adb shell dumpsys content\" output to show the\n  periodic syncs and when they will next run\n"
    },
    {
      "commit": "97e44947282b3918ee0bed2d16b33b983f882580",
      "tree": "ae30514672b93407b1c9438aa46555363f9f5fc6",
      "parents": [
        "9446c5046872e8ae44120d4057ae724875aba1a4"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Feb 04 20:27:47 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Feb 05 12:31:41 2010 -0800"
      },
      "message": "Add an AlarmManager API to set the system time (with the proper permissions).\n"
    },
    {
      "commit": "7722abe2591026e7db8910afa0431602723fc1e0",
      "tree": "89dc9b8551651944280d9f42eb2e63e57abeb970",
      "parents": [
        "744d90245378e53862ba02869864b36cea832648"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Feb 04 14:01:33 2010 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Fri Feb 05 09:31:38 2010 -0800"
      },
      "message": "Bug 2420366\n\nRehide NumberPicker widget\n"
    },
    {
      "commit": "3da3cad97269d694a6153771fb4a0c3775ca6ab5",
      "tree": "54c6e90eb5f20661d7bfd508125e3f6123a796b0",
      "parents": [
        "f6e003bc4a885c186a023bd46beaaafa3842cf51"
      ],
      "author": {
        "name": "Valentin Kravtsov",
        "email": "valentink@google.com",
        "time": "Thu Jan 28 14:53:41 2010 +0000"
      },
      "committer": {
        "name": "Valentin Kravtsov",
        "email": "valentink@google.com",
        "time": "Fri Feb 05 14:21:07 2010 +0000"
      },
      "message": "Adding speech recognition service public API\n\nChange-Id: Ia2c13d4c7993d646956090aa5c56d1a441af9e5a\n"
    },
    {
      "commit": "a969dc4ea47051e6cd7f29fd91fd83924c749f0a",
      "tree": "22b000b2b23606d803670bfee531c1f0fffc55ff",
      "parents": [
        "5c19aeca3d41c6a5820dc05a51c38736d3583378"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@android.com",
        "time": "Wed Feb 03 14:08:18 2010 -0800"
      },
      "committer": {
        "name": "Michael Chan",
        "email": "mchan@android.com",
        "time": "Thu Feb 04 14:51:28 2010 -0800"
      },
      "message": "Unhiding Rfc822Tokenizer.tokenize(CharSequence text, Collection\u003cRfc822Token\u003e out)\n\nNote that Rfc822Tokenizer.tokenize(CharSequence text) is already in the SDK\nand it just wraps the version I am unhiding.\n\nChange-Id: I1ac3b405a04df960fc1e65ca4797d6f5adf85dc4\n"
    },
    {
      "commit": "5c19aeca3d41c6a5820dc05a51c38736d3583378",
      "tree": "842d01879f26ea60425ab99a98c1144b761db712",
      "parents": [
        "46c53129c6f27c9193ab195a69cb50591b8c1fa2"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Thu Feb 04 13:33:45 2010 -0800"
      },
      "committer": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Thu Feb 04 14:37:21 2010 -0800"
      },
      "message": "API review: TrafficStats: rename Pkts to Packets\n\nRename getMobileTxPackets(), getMobileRxPackets(), getTotalTxPackets(),\ngetMobileRxPackets()\n\nbug 2420318\n"
    },
    {
      "commit": "46c53129c6f27c9193ab195a69cb50591b8c1fa2",
      "tree": "787f7e27179b7be2237870304b641345f266e0b9",
      "parents": [
        "8f3ff09556b2d0c45eebdf97bd980f3b9f0c7d8f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Feb 04 14:19:50 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Feb 04 14:27:00 2010 -0800"
      },
      "message": "Rename GestureUtilities to GestureUtils.\n"
    },
    {
      "commit": "da5c1bd4443b5b569a0d392cd53b476b4e160c47",
      "tree": "025f448615600a914c9b081c859de978c8b22270",
      "parents": [
        "76bc4a6bb355d402b82bfa146ff29b8b81099076"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Feb 04 15:11:25 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Feb 04 19:34:19 2010 +0000"
      },
      "message": "Remove source selector from SearchDialog\n\nFixes http://b/issue?id\u003d2419208\n\nThis reverts commit 32d580c360da0a0f15e7a080f4ebd0b7b514fe4c.\n\nChange-Id: I5d8821d52badf3e0347230b86671f8ceb65a663d\n"
    },
    {
      "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"
    }
  ],
  "next": "bb68a4fc54231e147d91fe3668d1409ccfd81a45"
}
