)]}'
{
  "log": [
    {
      "commit": "039c68e75606e837cf021815a0210836724574ad",
      "tree": "c65d4f12f6401a113421e3d6b59601da3d7ea97d",
      "parents": [
        "075a18d607c3aa8386b4d06aea22f4bfacbe447b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 26 16:39:23 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 26 16:39:23 2009 -0700"
      },
      "message": "The touch screen is probably a feature.\n\nAlso extend the feature APIs a bit.\n\nChange-Id: I99e932d7f4e61edb0e20f75c55e9831e4b59a14d\n"
    },
    {
      "commit": "2d6c325e780143a7725aaa32af11f8a4658f7cd3",
      "tree": "79a7be4b5e98f8bc54455ca0f068a72b0d65ec53",
      "parents": [
        "057018399c7ce6d3893ee5fc622f1592f51773b9"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Sat Sep 26 09:09:10 2009 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Sat Sep 26 09:09:10 2009 -0700"
      },
      "message": "API XML changes to accompany dalvik.system deprecation.\n\nSee https://android-git.corp.google.com/g/26570\n"
    },
    {
      "commit": "6ecaff15836581336b1e8fad6ac42f3ff4a13544",
      "tree": "426b0080e3d1ae9007f037dffebf10a7ed30d8bf",
      "parents": [
        "ed7f0955b7a4535c963b0de2b89e41febfd1416e"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Sep 25 14:23:13 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Sep 25 16:01:22 2009 -0700"
      },
      "message": "add a optional String to the key of notifications to allow users\nto scope them\n"
    },
    {
      "commit": "fb2b04b7bc505f5e600e360a9de6f63e16c21bf9",
      "tree": "69c665e62ca0222356801d2e433c16ea562ca0fd",
      "parents": [
        "0cb901c4be24dc1a7bba729afca0bd12ed04ef6c"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Fri Sep 25 14:32:18 2009 -0700"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Fri Sep 25 14:50:26 2009 -0700"
      },
      "message": "Unhide NETWORK_TYPE_XXX.\n\nMake NETWORK_TYPE_HSDPA etc. unhide in TelephonyManager.\n"
    },
    {
      "commit": "9c118c80fd0a5416051f2a49f515301f2cf3fd6f",
      "tree": "e84d65f2236b2e4e8064a3385a6556fcd8f28e37",
      "parents": [
        "a0cad2f5d19d95cfe496ebb82f3227dd4ed7c169"
      ],
      "author": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Fri Sep 11 19:17:29 2009 -0700"
      },
      "committer": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Fri Sep 25 12:17:46 2009 -0700"
      },
      "message": "Update CID in NeighboringCellInfo\n\nNeighboringCellInfo works in GSM and UMTS network.\n\nIn GSM network, the locaiton value is the combination of LAC and CID.\n\nIn UMTS network, the locaiton value is PSC code.\n\nNeighboringCellInfo should access and store those two values seperately.\n\nIt involves the change of Public API.\n\n1. Add new API getRadioType(), getLac(), and getPsc() to get location info in GSM and UMTS.\n\n2. Deprecate setCid() and NeighboringCellInfo(int cid) because cid is set by interpreting network type.\n"
    },
    {
      "commit": "3b3e145d3c41fd68974e08f799b1fd1f8f060cf0",
      "tree": "3f699e0b2f51bfce7061ef87b2690c8ab1032a64",
      "parents": [
        "fdf53a4628f915203752660aa07049aa22c01b5a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 24 19:22:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 25 00:48:02 2009 -0700"
      },
      "message": "A variety of work on animations.\n\n- The lock screen now fades in and out.\n- Fixed a bug where we would accidentally freeze the screen when switching\n  to an activity with a different orientation than the current (but\n  the screen itself is in the current orientation).  This would mess up\n  the animations on the car dock.\n- New API to force a particular animation for an activity transition\n  (untested).\n- New wallpaper animations.\n- Resources now uses the next API version when in a development build,\n  to help applications being developed against such builds.\n\nChange-Id: I2d9998f8400967ff09a04d693dc4ce55f0dbef5b\n"
    },
    {
      "commit": "18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b",
      "tree": "e0d6ccb1c8c3c7b6a653253f0b98a416f3521025",
      "parents": [
        "cc89ef3d6e9b1f9be657c9158ad04b8de104434c"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 24 11:14:15 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 24 19:34:54 2009 -0700"
      },
      "message": "Bluetooth API: Do not allow apps to programmatically make BT discoverable.\n\nInstead add ACTION_REQUEST_DISCOVERABLE for the system to show a dialog to\nadjust discoverable mode.\n\nAlso remove createBond(), removeBond() and cancelBondProcess(). The Settings\nApp already handles these automatically when connections require bonding.\n\nChange-Id: I216154cd1b6de410de64ba91b07d7263ac03e8df\n"
    },
    {
      "commit": "f5808415263d687eb125535e04ba374e33b785da",
      "tree": "89290bbb8c34b0f2beea1403930456973c5e9835",
      "parents": [
        "4579ed287a0f6fc32fbfefdd5c7cf69491fdae99"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Sep 24 15:37:39 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Sep 24 16:39:17 2009 -0700"
      },
      "message": "rename misc to birthday\n"
    },
    {
      "commit": "82cbaab450d3c5d9f3d52c49881212f250d7cd97",
      "tree": "56d65701be8b2e4710a03bdafcde925318fd0bf6",
      "parents": [
        "4cc86e1ae80eb1938500fe5fa06bbdf8b4b7b50d"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Sep 24 11:55:04 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Sep 24 11:55:04 2009 -0700"
      },
      "message": "Publish minor additions to GLSurfaceView API.\n\nClients can now modify the way that the EGL context and the EGL window\nsurface are created and destroyed.\n"
    },
    {
      "commit": "c15255a979c9fc70bc251aefdcd9c1074b458d49",
      "tree": "92a4bd7df63a56dcaec242274158aa53ced12b14",
      "parents": [
        "9f8d59eea1bdb3f979aaa8a5bdf9b1bdada7728b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 23 15:33:19 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 24 10:24:04 2009 -0700"
      },
      "message": "Add a PRIVACY_SETTINGS action to launch the new Privacy settings screen.\n"
    },
    {
      "commit": "f852698cc3bd40c7a54317a711360bae2606cd2d",
      "tree": "6fa9d6fd88302c5516fd2d912e8a912051eccd82",
      "parents": [
        "1ee4aeaa46bd22563ebf44b20676afedfdf6d79f"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Sep 24 11:34:58 2009 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Sep 24 11:36:03 2009 -0500"
      },
      "message": "Make the new ContactsContract APIs public.\n\nAlso, squelch warnings that were caused by the\ndeprecation of the old Contacts APIs.\n\nChange-Id: I91d2804de4b653003cd5504ff0f770c01a6332ef\n"
    },
    {
      "commit": "7d2795c80c70d5eec67da7848ab1aa8deba538e4",
      "tree": "f567a4259ff45152639b4c0dfc10de4ec9ad8352",
      "parents": [
        "ffa424800d0338b8b894aef2ea1e3e3344cbda7a"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Sep 24 01:19:11 2009 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu Sep 24 01:20:25 2009 -0500"
      },
      "message": "Really fix the build.\n\nChange-Id: I4e45d00b5caede0acf6b9c2e491aee337b05e7a1\n"
    },
    {
      "commit": "ffa424800d0338b8b894aef2ea1e3e3344cbda7a",
      "tree": "93a2e14b145042fe8fdd9fccef26303c55341272",
      "parents": [
        "f11cc96ee837f8b0d530f3a5dd78ffc358727411"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 23 22:20:11 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 23 23:17:07 2009 -0700"
      },
      "message": "Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off\n\nLot of infrastructure for more things to go away when \"clear system dialogs\"\nhappens, and now do this when we turn on the lock screen.\n\nChange-Id: I567130296fe47ce82df065ed58ef21b37416ceaf\n"
    },
    {
      "commit": "3cc97f8dbc22eff56f17f30e1633084af507eff4",
      "tree": "3a44bb549fa97af2f2da29fe60f677c6a0783a1a",
      "parents": [
        "7c5c6076ea5d02aabbb449b1341ec44d184d1316"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Mon Sep 21 15:26:10 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Thu Sep 24 13:19:08 2009 +0800"
      },
      "message": "Add Phone.getPhoneType() operation.\n\nThis routine returns integer values defined in the Phone interface,\nderived from RILConstants values.  Direct references to the\nRILConstants are replaced by references to these new ones for\nconsistency.\n\nAPI CHANGE:\n  unhide TelephonyManager.PHONE_TYPE_CDMA\n\nAddresses issue:\nhttp://buganizer/issue?id\u003d1905415\n\nChange-Id: Icfec6d457231b098c031677a66770b5e57be4a44\n"
    },
    {
      "commit": "85abdc59c3a31df6dc6ac4f20e64d5c91fa70023",
      "tree": "ff2369a8e919ed7e9768f51cd01df2f6c5526495",
      "parents": [
        "da3511113a674d50008ec1a9ec45bbc5f51424cf"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Sep 22 12:41:45 2009 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Sep 23 22:41:59 2009 -0500"
      },
      "message": "Make the new ContactsContract public.\n\nIt replaces the now deprecated Contacts APIs.\n\nChange-Id: Id65ff35d78cb79740cdc4c94388cc965ce4f2f2d\n"
    },
    {
      "commit": "5baba1698964194daa02d30d4dd93807b08c9379",
      "tree": "9460d27cd91d3b0a8e46aee4bd999726ef139836",
      "parents": [
        "a52b4d764ebd79b29eac296a5c3a629cff1990c4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 23 17:01:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 23 17:03:41 2009 -0700"
      },
      "message": "Newer animations.\n\nChange-Id: I1bb8e52f91dc60a6ec9496e2c66623bc8080b95d\n"
    },
    {
      "commit": "00c575a3fccb9d3065e913f1b8fcf93e18d44eaf",
      "tree": "56ca36895b1d2f9b95b3d1cf3bd673a04dbfb2f5",
      "parents": [
        "9d12fdb1b55500d69df5a1bdc2fcba57a2f1876c"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Aug 28 14:12:15 2009 -0700"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Sep 23 11:23:45 2009 -0700"
      },
      "message": "Add new thumbnail API.\n"
    },
    {
      "commit": "465ccb8a4083f5fdda429336f7f093c818eb78e5",
      "tree": "76e1f27eb4136b5942c41e1e9aeaae1982ab824f",
      "parents": [
        "df5862173c03f0d9595a2a5cb56c4af407d893dd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Wed Sep 16 15:54:39 2009 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Sep 22 20:56:10 2009 -0400"
      },
      "message": "Add support for thumbnails to WallpaperInfo.\n\nClean up the Gallery to show thumbnails appropriately; still using FPO artwork\nfor wallpapers without thumbnails.\n\nThis change introduces a new \"thumbnail\" attribute to the API (used\nin wallpaper metadata to point to the thumbnail drawable resource).\n"
    },
    {
      "commit": "9bfb707597898f54722460b48588007b682f3e2a",
      "tree": "2842b0fe78a78b836d652214189eaabdd7892f37",
      "parents": [
        "c0b8a96d28c55cb51e4f9e1f85c8d3ecf1ff13bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 22 11:37:40 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 22 13:39:34 2009 -0700"
      },
      "message": "Various fixes and improvements to window, activity.\n\n- New meta-data you can add to a dock activity to have it launched by the\n  home key when the device is in that dock.\n\n- Fix a deadlock involving ActivityThread\u0027s internal content provider lock.\n\n- New window flag to have a non-secure keyguard entirely dismissed when a\n  window is displayed.\n\n- New WindowManagerPolicy APIs to allow the policy to tell the system when\n  a change it makes during layout may cause the wall paper or\n  overall configuration to change.\n\n- Fix a bug where an application token removed while one of its windows is\n  animating could cause the animating window to get stuck on screen.\n\nChange-Id: I6d33fd39edd796bb9bdfd9dd7e077b84ca62ea08\n"
    },
    {
      "commit": "9cea89c103bc876bb083a9ac1b845534dca6172b",
      "tree": "fe627748bd1435719c0542b0fe1daa16d2f77d0e",
      "parents": [
        "a25c9b280e3d14e5c8b443b1592d2ab6069efdc3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 21 21:39:19 2009 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 21 21:39:19 2009 -0700"
      },
      "message": "Basic API for third-party apps to define custom Data rows.\n\nThis change adds the attributes to current.xml\n"
    },
    {
      "commit": "bfe319e06aa56c081d0d94d64a8181291d7f7388",
      "tree": "d0015a99d27fd84554b4b8757304f4b017f75d50",
      "parents": [
        "a7719af31290bea50d822b535b6a886ba7a88097"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 21 00:34:05 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 21 17:26:41 2009 -0700"
      },
      "message": "Turn animations on by default.\n\nAdd API to skip the animation for a particular start activity, so that\na latter better one can be used.\n\nFix Theme.NoDisplay to actually work.\n\nFiddle with various animations: don\u0027t do a different animation for task\nswitching, try a scale animation for switching in/out of the wallpaper.\n\nAdjust the animation duration so that at normal speed we have something\nmore like the slower animation option (so slow is now the default).\n\nChange-Id: Ieba9f3db0bd9a762a19b327a3ecccbc7b547893d\n"
    },
    {
      "commit": "36322db5752c7ec196f59ba94abe5d5a63cc19f5",
      "tree": "2189e7f39a64424c54d44d575dd90556ca683bd3",
      "parents": [
        "dbe8bad1d2d68e2f5947ff0a8347dbb498e17ede"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Sep 18 18:59:21 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 22 06:28:09 2009 +0800"
      },
      "message": "Add focus API and FLASH_MODE_VIDEO_LIGHT.\n"
    },
    {
      "commit": "ffe1cf251a4f8469695b8acfa37270684dc1b70c",
      "tree": "61e5907167f3473dac5c4bd31da97f6e2137a522",
      "parents": [
        "2092361d586a20190c9137fb3cc9434cdc9ec99f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 10 16:49:17 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 21 07:28:44 2009 +0800"
      },
      "message": "Unhide Camera lock and unlock API.\n"
    },
    {
      "commit": "eb68c46a40c773eb56ef7bcf8e7ece5c6a5a8d23",
      "tree": "313cb7279eb1e0b2d0ad5496e8a5b328cfc87ebc",
      "parents": [
        "d163f4babe101b89aaf322c34d3bafeae237f7da"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 18 18:37:44 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Sep 21 04:38:19 2009 +0800"
      },
      "message": "Fix 2092386: Support yuyv for camera preview format.\n\nChange-Id: I3ef821fed2132a9faf92983324c7e036d0f5641e\n"
    },
    {
      "commit": "edd9316ca9b3b24d54e8a2468927da7e813098fc",
      "tree": "3b79a0c7b48e23623480abebbaa9fc9708175006",
      "parents": [
        "efa199f016985b0a9d0471e42c803ee9f7941f0e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 19 14:03:05 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 19 14:03:05 2009 -0700"
      },
      "message": "Add better APIs for the battery status, and other cleanup.\n\nAlso add new configs for keeping screen on while docked, which will\nbe used elsewhere.\n\nChange-Id: Ifaa1118f14fd850ac809895f9a5c9e8c413259b8\n"
    },
    {
      "commit": "efa199f016985b0a9d0471e42c803ee9f7941f0e",
      "tree": "0320870eeb2ca842a3729eb0f72220037ea89f82",
      "parents": [
        "338c48554f35dbee3faa4e39525a972f20a7c32d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 19 12:03:15 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 19 12:05:25 2009 -0700"
      },
      "message": "Add API to send an ordered sticky broadcast.\n\nChange-Id: Ida7081204e226db0cd07ff618c08e308a909ec0c\n"
    },
    {
      "commit": "5825b64e4a53dce45344db158fde9d911dfd6ba5",
      "tree": "6b9cb2ab11960bd8b242d8d53fa86edf033a46ce",
      "parents": [
        "92b27dafe9418c5fdf63d23c6b19772fbcd74676"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Sat Sep 19 01:16:30 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Sat Sep 19 01:19:52 2009 -0700"
      },
      "message": "Unhide attributes textAppearanceSearchResultSubtitle and\nattr/textAppearanceSearchResultTitle. We had discussed doing\nthis in Donut but looks like it never happened. We need these\nattributes for voice search so now\u0027s as good a time as any.\n"
    },
    {
      "commit": "872a30ec723ebdd97de764406544516545d7c9d4",
      "tree": "5ba5b4b36b9aed95bfaac397b55a6020f7ddc570",
      "parents": [
        "93727454caf1b3540a352328abd0400c2242902b"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Sep 17 17:58:32 2009 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Sep 18 11:30:47 2009 -0700"
      },
      "message": "Improve ExifInterface API.\n\nChange-Id: Ic6c4df8244b51b9a0d1c73c3797847220d86604d\n"
    },
    {
      "commit": "fa82f22f1d8c4c828bdf9b670006be4f4fec772e",
      "tree": "586dbd1bf9cbefe26cfecd6cf853b78eb6a4fb64",
      "parents": [
        "9b64ef133c1eb24c8d00aa7e46ec86c544af5fe2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 17 15:14:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 17 18:01:35 2009 -0700"
      },
      "message": "Fix issue #2093608: Calendar widget takes a few seconds to launch\n\nAvert your eyes!\n\nThe key change here is that RemoteViews can now call a Context API to\nstart its pending intent, which inside of the activity manager we can\nuse to determine to cancel the timeout delay for external entities\nto disrupt the home screen.\n\nChange-Id: If097cf7478cbed7a3c04a304050bd7fd5703d197\n"
    },
    {
      "commit": "1b90def3c683afaea528a0ee705b14df6ce2e2c7",
      "tree": "bb5376233116a4f39e718889d86966eb926dc22c",
      "parents": [
        "96352104fbb172d91f957551c772988e02d79f33"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 17 16:42:09 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 17 19:23:15 2009 -0400"
      },
      "message": "telephony: Add CdmaCellLocation class to the public API.\n\nIts twin sister GsmCellLocation is public, so this really should be in the SDK too.\n\nChange-Id: If6f5899047546a7398f1e4191c67acf15555c21b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3ecd5f437580e49d80beecd29489d5fb1f7a7db0",
      "tree": "5d0ea12ee6e19b85a263c72c134a3140aaac0d38",
      "parents": [
        "ddbeed5d11f2ef0c286bbc9b5283ad0fab62ef5e"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Sep 17 12:42:35 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Sep 17 15:45:41 2009 -0700"
      },
      "message": "- Make the AccountManagerService delete accounts that\n  have no Authenticator, both when the package is removed\n  and when the phone is booted.\n- add the ability to register with the RegisteredServicesCache\n  to be notified when the set of Authenticators changes.\n"
    },
    {
      "commit": "4f21c4cf077cfee5b35a56703618115614bc40f2",
      "tree": "4f3ef99f737c731521ab5f8e81fba2e18e8facba",
      "parents": [
        "7805933738de33b1961bd03553237a86d90792dd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 17 10:24:05 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 17 11:13:45 2009 -0700"
      },
      "message": "Add API to retrieve memory used by running processes.\n\nChange-Id: I9c1935c2ef3c78bd67ec4dfd811a1caaab4514c3\n"
    },
    {
      "commit": "074c11c1649a097ba1beae719069f8d4a2dd43e3",
      "tree": "cd8be5c2c9b4fa1a2b6ef14a2857a6aac27daa72",
      "parents": [
        "ff22b182a2b8aade96d32c65b9af96ccb91f6296"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Sep 16 16:50:11 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 17 08:25:30 2009 -0700"
      },
      "message": "Do not @hide Parcelable implementations in BluetoothClass and BluetoothDevice.\n\nChange-Id: I92389c53a9b99c9507f78898329ff87b631c7aa3\n"
    },
    {
      "commit": "12cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77a",
      "tree": "e4d69c80d5aa3532a633a7240842cc14e453f366",
      "parents": [
        "75c4d498776a189f37e3d0294c9eda9ed51f6534"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 16 17:31:12 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 16 18:51:46 2009 -0700"
      },
      "message": "Add a new flag for IMEs to disable suggestions for certain fields.\n"
    },
    {
      "commit": "82c3ef7adc235e857736b09864c2aa81d41d7132",
      "tree": "e4167752a9fb2e2a449fe2c81a4fafb9e27b741f",
      "parents": [
        "9092ab4d458ad60b459d5fad52368bde5d25f665"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Sep 15 16:27:38 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Sep 16 17:05:09 2009 -0700"
      },
      "message": "Add a parcelable version of UUID file.\n\nChange-Id:I2582e1c9893292ba35bb5cac90ccd2bd18041d8c\n"
    },
    {
      "commit": "9092ab4d458ad60b459d5fad52368bde5d25f665",
      "tree": "3c96a0fe1bc09770934b18f15a4bc293e5d06572",
      "parents": [
        "764916d01b779ccc8064946c6ba2962fe063ed86"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 16 13:01:32 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 16 14:43:21 2009 -0400"
      },
      "message": "Add support for launching activities when attaching to a car or desk dock.\n\nCategories CATEGORY_CAR_DOCK and CATEGORY_DESK_DOCK can be assigned to\nactivities to make them launchable on docked events.\nThis is a better mechanism than listening for ACTION_DOCK_EVENT with a broadcast receiver.\n\nChange-Id: Ic5f3ab3555ce02ca922bc31ebba41978cefe8bda\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "017bb4ccf75375b359662932432cc61bd08fec24",
      "tree": "147b325e2dfaf092f48e747772ff8340053f4aab",
      "parents": [
        "46ad796186bdca8bac75607340aa0fac0c34a9d8"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 16 23:38:34 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 16 23:38:34 2009 +0800"
      },
      "message": "Make ExifInterface public.\n"
    },
    {
      "commit": "46ad796186bdca8bac75607340aa0fac0c34a9d8",
      "tree": "9d251d4de982f3eadd58791e11a9b358ee6c4d38",
      "parents": [
        "ccd064d4117bef3fc2a0914f03ccc84a1b50aaa1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 16 17:24:48 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 16 22:43:46 2009 +0800"
      },
      "message": "Unhide cancelAutoFocus API in Camera.\n\nChange-Id: I29450867edf9c68ac06e6d76fae0ad93ea89b632\n"
    },
    {
      "commit": "93e462b79d6896da10e15e74c5aec6beb098dddf",
      "tree": "1f5f178b544a49ba5a80e74269b083775ff97854",
      "parents": [
        "6cf05f1c3d6f4585573c8663a62848a09f6a08ff"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 15 22:50:40 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 15 22:50:40 2009 -0700"
      },
      "message": "Implement issue #1780928: Need support hiding nav keys.\n\nThis implements support for devices whose hardware can hide\ntheir navigation keys.  It works much like the existing keyboardHidden\nconfiguration, and for compatibility uses the same configuration\nchange bit.\n\nAlso add FLAG_TURN_ON_SCREEN for windows, which has the system\ncause the screen to be turned on when the window is displayed.\nGreat fun when used with FLAG_SHOW_WHEN_LOCKED!\n\nChange-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a\n"
    },
    {
      "commit": "9767e41d92bd6f4cf16111b3f911cef78c8b01eb",
      "tree": "115b324793c1bcc89164ee249711fe9a2475eb9b",
      "parents": [
        "5862b673d412e596f3fa419c00bd0ba16bf6c094"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 15 18:45:34 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 15 18:59:31 2009 -0700"
      },
      "message": "Some improvements for wallpaper configuration.\n\nThis introduces a new activity that you can derive from to implement\na wall paper configuration activity.  This is supposed to select\na theme based on whether it is being run to configure a real wallpaper\nor a preview, but this is going to be more difficult to do than I\nthought. :(\n\nAlso fix a problem in the white theme where the list view\u0027s background\nwas being set to white, so it wouldn\u0027t work on a transparent bg.\n\nChange-Id: I26d5a8695a3c878a1664eb09900eded57eaff990\n"
    },
    {
      "commit": "4e54f3309ec9dac3cf69ffa73ec7c5378f19dffb",
      "tree": "3d571d3d6a208daa55f69a64071a159e5f29b305",
      "parents": [
        "64ce0f8f5315e3a364aea047360520b097e7a7cd"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Sep 15 20:26:19 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Sep 15 20:26:19 2009 -0400"
      },
      "message": "update for new plugin api\n"
    },
    {
      "commit": "0b3a5d65247be1fb79d66af534fa78a94743864f",
      "tree": "4528b972912c47ee3c8f3161a9b9ba32134b3a74",
      "parents": [
        "d1d6778247d4b3798f9b9fafca4312a348826a0b"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Sep 08 18:31:40 2009 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Sep 15 19:33:54 2009 -0400"
      },
      "message": "First pass at replacing native plugin views with java.\n\nChange-Id: I6d1f45f31210c2353fa348cc37be8d91bcd5e887\n"
    },
    {
      "commit": "ed2c13a9d2e8b3c1bdf1ad54e45b1a9ff4d364b7",
      "tree": "86401ed3834092e6ef4da2d93ece12e71f38d116",
      "parents": [
        "1cd403eaac24e0e84619dea07e2d1d60e58e1fd2"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Sep 15 14:55:37 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Sep 15 19:49:10 2009 +0100"
      },
      "message": "Revert \"Deprecate showSearchIconAsBadge and icon search attrs\"\n\nI tried to revert a flag, but that doesn\u0027t actually work\nand ended up deprecating the entire attribute.\n\nThis reverts commit ab50b86b79936623b5e326f2ed84b3c947c8ec93.\n"
    },
    {
      "commit": "1cd403eaac24e0e84619dea07e2d1d60e58e1fd2",
      "tree": "8fd14791f029cdb5b808fc6b166b3a372b9c0d86",
      "parents": [
        "d583a015bcbac8718cbf5ed8a1c40d074c65a226"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 14 22:29:14 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 15 11:29:00 2009 -0700"
      },
      "message": "Add SurfaceView API to put surface on top of window.\n\nChange-Id: I9db84ee63a362e54ebc2f5b24a20ae5bdc3588bf\n"
    },
    {
      "commit": "83fe3f559249451706957b1a5f660b2b8272f114",
      "tree": "1693c610256fbe8fea20da55c21458d65ced98ef",
      "parents": [
        "c2974809373697147cbe5754835cc871fb93aef1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 12 23:38:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 14 17:53:52 2009 -0700"
      },
      "message": "Last big work on #1991910: Make swipes work with capacitive keys\n\nThis takes care of allowing us to cancel the back button.  The\nback button is a bear because it is strewn all over the place --\neverywhere you can close something, there is some code looking\nfor the back button that now needs to deal with being canceled.\n\nThe main things changed are activity (of course), dialog,\ninput method, search dialog.  There are some other misc places\nin the framework (and some I missed here that I will get in a\nsecond pass).\n\nTo facility all of this, the key dispatching APIs now provide\na lot more support for dealing with looking for cancelled keys,\nand incidentally also provide an actual API for catching long\nkey presses.  This also helped clean up the code in PhoneWindow\nwhere it deals with all of the combinations of key pressed and\nreleases.  (And also allows people to override\nActivity.onKeyLongPress() to provide a different long press\naction for a standard key like search.)\n\nAnd while I was doing this, I reworked how we detect long\npresses by having this be part of the key event delivered by\nthe window manager.  This should greatly reduce (hopefully\noutright eliminate) the problems with long presses being\nmis-detected when an application is being slow.\n\nChange-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d\n"
    },
    {
      "commit": "c2974809373697147cbe5754835cc871fb93aef1",
      "tree": "89168e34993a97dedd3aedc3bad2d5368e81729d",
      "parents": [
        "e7f47f50ad0a97e32c87104e56f311db910e98f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 13 18:22:19 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 14 16:32:56 2009 -0700"
      },
      "message": "Fix issue #2116977: buttons are huge and bent\n\nNow that we are using preloaded drawables in compatibilty mode, when\nconstructing them from their constant state we need to set the new\ndrawable\u0027s target density appropriately.\n\nChange-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266\n"
    },
    {
      "commit": "19382ac1a4e4e7c23a1346d299368763f149de9c",
      "tree": "9165f1b94f1bd5e9966729b1047d03a733570867",
      "parents": [
        "714ec1360cde8b1cbf6e6b8572256e4100f11560"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 11 21:13:37 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 14 15:29:44 2009 -0700"
      },
      "message": "Some optizations to wallpaper drawing/scrolling.\n\nFirst, fix some issues with the final wallpaper bitmap\nwe use: ensure it is always 16bpp, and make sure dithering\nof its bitmap is turned off.   We take of dithering\nwhen loading, to make sure we don\u0027t use it when drawing.\n\nAlso add new APIs to return the wallpaper with the equivalent\nof Launcher\u0027s old FastBitmapDrawable.  As doing this, also load\nthe default wallpaper the same way as custom ones, taking care to\nresize it as needed at load time.\n\nFinally implement a mechanism for the window manager to wait\nfor the wallpaper to redraw at its new position before returning\nfrom the application\u0027s call to change the offset.  This ensures\nthat the wallpaper better tracks the application.  Note that there\nis a timeout in this wait that is relatively short, and if it\nexpires we will run for a while without waiting.\n\nChange-Id: Ife449437746da85958bd447e0a6cf3d2223b398c\n"
    },
    {
      "commit": "ab50b86b79936623b5e326f2ed84b3c947c8ec93",
      "tree": "c3dfd2df8393aba3c3e43fdfefde01362c6f4d19",
      "parents": [
        "3ccfaaa70f25c8343ab45974a7a43cf9b9b15903"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Sep 11 15:44:51 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Sep 14 06:59:50 2009 +0100"
      },
      "message": "Deprecate showSearchIconAsBadge and icon search attrs\n\nmlebeau says:\n\"Basically, because we now show the app icon for in-app\nsearch, showSearchIconAsBadge is a bit unnecessary, but it does in\nfact still work. Basically if either showSearchIconAsBadge or\nshowSearchLabelAsBadge are specified, we grow the height of the search\nbar and place the provided icon or the provided label, respectively,\nabove the text field and app icon. But we do not remove the app icon\nif the developer specifies showSearchIconAsBadge - it\u0027s still just the\n\u0027badge area\u0027 above the icon.\"\n\nFixes:\nhttp://b/issue?id\u003d2105329\n\"Deprecate searchable attributes \u0027showSearchIconAsBadge\u0027 and \u0027icon\u0027\"\n\nChange-Id: Ie2976aafe42b4ab870be9e64b34eb0ed441ebbb0\n"
    },
    {
      "commit": "005b228cdfb369d9b3b325884c0337ba5968bf8c",
      "tree": "d1ee610898b65acd5c472014d395748b9d950150",
      "parents": [
        "9b6911cb85a9c9a0fef145f91c9999da5a75ce21"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 10 10:21:56 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 10 18:52:21 2009 -0700"
      },
      "message": "API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.\n\nThis is a large batch, and covers:\n\n-- Bluetooth Device Discovery --\nBluetoothAdapter.ACTION_DISCOVERY_STARTED\nBluetoothAdapter.ACTION_DISCOVERY_FINISHED\nBluetoothAdapter.startDiscovery()\nBluetoothAdapter.cancelDiscovery()\nBluetoothAdapter.isDiscovering()\n\n-- Bluetooth bonding (pairing) --\nBluetoothAdapter.getBondedDevices()\nBluetoothDevice.ACTION_BOND_STATE_CHANGED\nBluetoothDevice.EXTRA_BOND_STATE\nBluetoothDevice.EXTRA_PREVIOUS_BOND_STATE\nBluetoothDevice.BOND_NONE\nBluetoothDevice.BOND_BONDING\nBluetoothDevice.BOND_BONDED\nBluetoothDevice.getBondState()\nBluetoothDevice.createBond()\nBluetoothDevice.cancelBondProcess()\nBluetoothDevice.removeBond()\n\n-- BluetoothClass --\nBluetoothDevice.ACTION_CLASS_CHANGED\nBluetoothDevice.EXTRA_CLASS\nBluetoothDevice.getBluetoothClass()\nBluetoothClass.Service.*\nBluetoothClass.Device.Major.*\nBluetoothClass.Device.*\nBluetoothClass.getDeviceClass()\nBluetoothClass.getMajorDeviceClass()\nBluetoothClass.hasService()\n\n-- Misc BluetoothDevice --\nBluetoothDevice.ACTION_ACL_CONNECTED\nBluetoothDevice.ACTION_ACL_DISCONNECTED_REQUESTED\nBluetoothDevice.ACTION_ACL_DISCONNECTED\nBluetoothDevice.ACTION_DISCOVERED\nBluetoothDevice.ACTION_NAME_CHANGED\nBluetoothDevice.EXTRA_DEVICE\nBluetoothDevice.EXTRA_NAME\nBluetoothDevice.EXTRA_RSSI\n\n-- Misc BluetoothAdapter --\nBluetoothAdapter.ACTION_LOCAL_NAME_CHANGED\nBluetoothAdapter.EXTRA_LOCAL_NAME\nBluetoothAdapter.checkBluetoothAddress()\n\nI deprecated BluetoothIntent and moved each intent into the class it relates\nto.\n\nChange-Id: I877b1280428ab46278b2bc25668bb44cda22dc36\n"
    },
    {
      "commit": "70e1ad7d99c95967e3c0257bddc7b4ec6c403372",
      "tree": "65ab9a67e7d4ae4267a1988201b3ad0114eb34ea",
      "parents": [
        "ebebf9c36c0112d99cb2e11953febdff8ba5ff23"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Sep 09 22:45:47 2009 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Sep 10 18:10:53 2009 -0700"
      },
      "message": "Add smallIcon and accountPreferences references to AuthenticatorDescription. Update after path conflict.\n\nUpdate API for new AuthenticatorDescription preferences.xml\n"
    },
    {
      "commit": "bcbcaa7edd32ba67c6290d79f7e7821c4b5b39ac",
      "tree": "7840b8a005d8261f864b8404e5cf5941cf6caf80",
      "parents": [
        "e1fd02400d69c059db2cc6299c893eba4096cc1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 10 10:54:46 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 10 12:08:50 2009 -0700"
      },
      "message": "Wallpapers, animations, pending intent.\n\nSome more tweaks and fixes to wallpapers.  Make sure wallpapers are\ntold they are not visible when the screen is off.  Add some new animations\nfor transitions across tasks, and fiddle with many of the existing\nanimations.  Clean up the relationship between translucent activities\nand animations.  Add new API to start a PendingIntent from an\nactivity.\n\nChange-Id: Ie0bf45fe44081bb6982c75361257a55d9cd9d863\n"
    },
    {
      "commit": "b24e11baac589fe16426f2d243b460ab84991c7b",
      "tree": "fff4842c3fe188414743e077294984a1f0389a7c",
      "parents": [
        "de893f550301a60274e87aa8168225e7a7a42184"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Sep 08 17:40:43 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Sep 09 10:52:18 2009 -0700"
      },
      "message": "API_CHANGE\n\nDeprecate BluetoothError.java.\n\nI spent a lot of time experimenting with a class BluetoothError to enumerate\nthe many error codes returned by the Bluetooth API. But at the end of the day\nthey were never used. The vast majority of method calls only really need a\ntrue/false error value, and often not even that.\n\nMethods which do need more detailed error enumeration (for example, bonding\nfailures) can have there own enumerated error codes. But there is no need\nfor a common set of error codes.\n\nAlso change the IPC failed warnings in BluetoothA2dp to Log.e. These indicate\na very serious error.\n\nIntroduce BluetoothAdapter.ERROR and BluetoothDevice.ERROR as helper sentinel\nvalues.\n"
    },
    {
      "commit": "de893f550301a60274e87aa8168225e7a7a42184",
      "tree": "c8458bccf747e7c8035c349d42b13616fc1d5ac8",
      "parents": [
        "100f08613392c225b8dff3f1e1d586f981884e29"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Sep 08 13:15:33 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Sep 09 10:52:02 2009 -0700"
      },
      "message": "API_CHANGE\n\nAnother round of Bluetooth API clean up, javadoc\u0027ing and unhide\u0027ing.\n\n-- Symbols for getting/setting bluetooth state --\nBluetoothAdapter.ACTION_STATE_CHANGED\nBluetoothAdapter.EXTRA_STATE\nBluetoothAdapter.EXTRA_PREVIOUS_STATE\nBluetoothAdapter.STATE_OFF\nBluetoothAdapter.STATE_TURNING_ON\nBluetoothAdapter.STATE_ON\nBluetoothAdapter.STATE_TURNING_OFF\nBluetoothAdapter.isEnabled()\nBluetoothAdapter.getState()\nBluetoothAdapter.enable()\nBluetoothAdapter.disable()\n\n-- Symbols for getting/setting scan mode --\nBluetoothAdapter.ACTION_SCAN_MODE_CHANGED\nBluetoothAdapter.EXTRA_SCAN_MODE\nBluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE\nBluetoothAdapter.SCAN_MODE_NONE\nBluetoothAdapter.SCAN_MODE_CONNECTABLE\nBluetoothAdapter.SCAN_MODE_DISCOVERABLE\nBluetoothAdapter.getScanMode()\nBluetoothAdapter.setScanMode()\n\n-- Symbols for getting address/names --\nBluetoothAdapter.getAddress()\nBluetoothAdapter.getName()\nBluetoothAdapter.setName()\n"
    },
    {
      "commit": "96c08a69ea0b95d1d8a8edb67f73bd9548e09f16",
      "tree": "b3062ccac2f1bd12f33be481a957cd5b88579e16",
      "parents": [
        "948ef29ebacde30bc2f1283b5e6d86f2413698c4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 07 08:38:38 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 08 22:56:07 2009 -0700"
      },
      "message": "Fix issue 1992233: DTMF tones on Sholes is really long.\n\nAdd a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.\nAlso modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.\n"
    },
    {
      "commit": "c4516a7b62de525e3d6d5e76851bdfaf12c11f05",
      "tree": "c6808a36cddaced64341a1f11a66d3f471d49d22",
      "parents": [
        "b80f698362e84b83e1c44c92fb76b0fdf1a5ef6d"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Sep 03 12:14:06 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Sep 08 17:25:09 2009 -0700"
      },
      "message": "add a transaction monitor\n"
    },
    {
      "commit": "2c3eb14d43edcecbd85072f7068126cffd7ca493",
      "tree": "d40c829f9be94823b2f6bfdf18d4a23d36de01f4",
      "parents": [
        "377c5c15f8fea14b575b6b0f14ac7fd3a4d44b3a"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Sep 08 13:01:56 2009 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Sep 08 15:42:23 2009 -0400"
      },
      "message": "adding support for webkit plugins to use the java view system\n\nChange-Id: I4fb328e5f30476fe4aa70565bacb969dc97b495d\n"
    },
    {
      "commit": "eb034652c2037a47ebfd99779e8383bb8bb528af",
      "tree": "0d4f6d9b752d6be70083cdf51085872e52610c3b",
      "parents": [
        "9c93007bcdf684cd15fd9db0cf1eae238dd38191"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 07 00:49:58 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 07 22:48:02 2009 -0700"
      },
      "message": "Implement all of the infrastructure for configuring wallpapers.\n\nActually being able to configure a wallpaper relies on additional\nwork in the launcher and wallpapers that will be in another change.\nAlso note that this breaks all existing wallpapers, since they now\nneed to include a meta-data item about themselves.  This also\nwill be fixed in another change.\n\nChange-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71\n"
    },
    {
      "commit": "25994b4306a256b88d79159106834c9f114e6943",
      "tree": "bd6189443ff082f07761f5ace7ad013eba66da86",
      "parents": [
        "107039f94888fce212e0965b74971727d2b01b82"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 04 14:21:19 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 04 14:28:42 2009 -0700"
      },
      "message": "Wallpapers: new transitions, hiding when not visible, other cleanup.\n\nThis is work on the transitions with wallpapers.  There are now new\nanimations specifically for leaving the wallpaper and returning to\nit, which allow us to have a consistent animation when entering home\nand returning to it.  I also renamed the existing animations across\nwallpapers, and cleaned up some junk in the various interpolators.\n\nThis also now hides the wallpaper surface when it is not visible,\nto get rid of the wallpaper flickers people complained about albeit\nin a somewhat brutal way. :)  (Though really returning us to the\nprevious behavior with the same previous bugs and name back to them\nnot being very visible, yay!)  There is are also some bug fixes\nhere and there about managing the wallpaper visibility that this\nchange revealed.\n\nChange-Id: I913990a9a81651728122ed2e1101b75ed2c36fcb\n"
    },
    {
      "commit": "f163f7f0f29f0898eb82f54cf657cb34668abade",
      "tree": "cf0569a93e5e7b0c1662f43dabca3a0e032b5b07",
      "parents": [
        "6de753bffe47e796942272692869992f62f8f0ab"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 03 18:19:17 2009 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 03 18:20:50 2009 -0700"
      },
      "message": "do not merge: fix API current.xml for Hashtable.\n"
    },
    {
      "commit": "6de753bffe47e796942272692869992f62f8f0ab",
      "tree": "d79b96e2b1e7b0c9461b99413878d6f4a66b8cdf",
      "parents": [
        "1ab3ebad95e6b537719ee2f608c1fbc321e51f06"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 03 14:03:18 2009 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 03 17:48:11 2009 -0700"
      },
      "message": "do not merge: update API for Josh\u0027s optimizations for Eclair\n"
    },
    {
      "commit": "dd9b82c283815747b75fe4434c65e4b6c9c9b54f",
      "tree": "43b783b4c76db57f1e526d85e92ae3309079b043",
      "parents": [
        "19d6f7ac27448b59c936878756bad49f623a6a99"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 03 00:18:47 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 03 14:11:02 2009 -0700"
      },
      "message": "Add better service reporting.\n\nThis will be used elsewhere.\n\nChange-Id: Id561fa7fed5eb65446312cb697813483903d33a6\n"
    },
    {
      "commit": "32f589046b4105f1a1b7cc2231d334e3971549e6",
      "tree": "1c352c77d734950c0f3329e6d9d42d14d52abb55",
      "parents": [
        "29dab8278a53f02868dea5579c49a98018a21317"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Sep 02 15:36:20 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Sep 02 16:11:14 2009 -0700"
      },
      "message": "Make new attribute EXTRA_CHANGED_COMPONENT_NAME in\nbroadcast intent ACTION_PACKAGE_CHANGED public so that\napps like launcher can find out the changed component name\nwhen loading changes made in components.\n"
    },
    {
      "commit": "9b6a8ab8221f2df20c32711b0f1e4f301165fac2",
      "tree": "7497bc0e161afaa4fcc5ac445b1d10026f2e7ffa",
      "parents": [
        "9756a70bd92fb844d2fd8346cc4bb6c8bb768c4b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 17 18:19:25 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Sep 02 12:45:23 2009 +0800"
      },
      "message": "Add camera parameters constants and methods.\n"
    },
    {
      "commit": "5e1ab335e6e8fbfa19c64d53880a22f472010953",
      "tree": "4da429b3833ff29256d23f9e2e7f1b3a41715b65",
      "parents": [
        "c937b5ce4ff2f39fd9c60f718f98550a932b62f0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Tue Sep 01 20:32:49 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Tue Sep 01 20:59:36 2009 -0700"
      },
      "message": "Expand apps\u0027 control over the settings restore process\n\nApplications can now specify two more aspects of the restore process:  whether\nthey need to run with their own custom Application subclass rather than being\nlaunched in the usual restricted mode during restore, and whether it\u0027s okay for\nthe backup manager to kill the app process once restore has completed.  The new\nmanifest attributes for these are, respectively, android:restoreNeedsApplication\nand android:killAfterRestore.\n\nIf unspecified in the manifest, restoreNeedsApplication is false, and\nkillAfterRestore is true.\n\nIn order to support kill-after-restore cleanly, this change also adds a new\nsystem-process-only interface to the Activity Manager, which will schedule a\n\"commit suicide\" event on the target app\u0027s main thread looper.\n\nThe framework backup agents have been given the appropriate new backup\nattributes as well.\n"
    },
    {
      "commit": "65d62c774e42d8bf9a55ef50e153ffc9e277ef37",
      "tree": "aa3a5a47dac22d06c8a736380e2009ee925b1b87",
      "parents": [
        "03a3327badda54728de2ca969b31b53f5ad9ad3a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Sep 01 15:39:08 2009 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Sep 01 15:52:42 2009 -0700"
      },
      "message": "Add hasIccCard to IccCard and TelephonyManager.\n\nExpose the presence/absence of IccCards in the system.\nThis is needed to fix bug 2033811 which needs to show\nsome SIM menus in the Mms app and Contact apps only if\nthere is a SIM and on CDMA there is no sims yet.\n\nThe current implementation assumes CDMA never has an\nIccCard this is true at the moment but needs to change.\n\nChange-Id: I4167368e364623ea68e9b2778556e6d730b1e715\n"
    },
    {
      "commit": "3025ef332c29e255388f74b2afefe05f64bce07c",
      "tree": "b7982d9ebe8a578b5b439c564c014a9af8be952f",
      "parents": [
        "d9942b5cb1662638bb6fb57c12a06976e3c34651"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 31 21:31:47 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 11:16:25 2009 -0700"
      },
      "message": "Various infrastructure to support a running services UI.\n\nSome of this is temporary (in particular the two approaches for getting\nprocess memory, one working but horrible, the other not working but\npreferred) until I figure out the best way to do it.\n\nChange-Id: I8c8f25062d481fcea22a47d459b083d2fd8a5040\n"
    },
    {
      "commit": "05c9ed9ce1d920c322ee1431cfed64541f0acf3c",
      "tree": "fa082bc704f9432b909b41239d2335a4feaed8be",
      "parents": [
        "0c637113381cb49fbb83cf0e753e476d0d0d50eb"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Aug 25 13:51:08 2009 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Sep 01 08:37:22 2009 -0400"
      },
      "message": "Fix the documentation for onReceivedError.\n\nThis change adds the EventHandler error codes to WebViewClient for the public\napi. Previously, the api was ambiguous about the value of the errorCode\nparameter and falsely documented that the values are HTTP status codes.\n"
    },
    {
      "commit": "56f67d21459ad3f136c73c8932904d4a495989c0",
      "tree": "7d13afccbdd481fc71aef6403c5baf65bba56c47",
      "parents": [
        "cc927375cea38f44d810d9dd5ba87abb624d7e0c"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Aug 28 14:36:42 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Aug 28 17:01:16 2009 -0700"
      },
      "message": "add the ability to specify yieldpoints in a ContentProviderOperation\n"
    },
    {
      "commit": "e9df3cf79c2084391d5af140680cb4a18feca2e2",
      "tree": "4ad27fcdf972fc7e7b31d0c431f10739f197ec82",
      "parents": [
        "49237345d83e62fdb9eb8d50b13ad086636a04fa",
        "1e3483780ce4eda729cb2984470fd6964006e4fb"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Aug 27 23:54:12 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Aug 27 23:54:12 2009 -0700"
      },
      "message": "resolved conflicts for merge of 1e348378 to eclair\n"
    },
    {
      "commit": "49237345d83e62fdb9eb8d50b13ad086636a04fa",
      "tree": "224ca2d134177a09184c1440f4fceac13a10b627",
      "parents": [
        "5511c66955d96019ee62ac334d73e4d2bcda178b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 20:08:01 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 21:51:00 2009 -0700"
      },
      "message": "Add platform infrastructure for features.\n\nThis introduces a new mechanism to define features associated with\na platform, query the current device for the available features,\nand enforce that apps requiring features that aren\u0027t available can\u0027t\nbe installed.\n\nAlso now allows uses-library to specify that a library is optional,\nso the lack of such a library will not prevent the app from being\ninstalled (but if it does exist it will be correctly linked into\nthe app).\n\nChange-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b\n"
    },
    {
      "commit": "5c7aede8d69f4f0ad617d39decd4453b029ba6af",
      "tree": "59fc865b1571430f27377701ed7dc373bc3ba762",
      "parents": [
        "c298a8518a8fd73a303132c7db241f10eb46c5b6"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 27 21:41:27 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 27 21:43:35 2009 -0700"
      },
      "message": "allow delaying after yielding\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": "e5276a74746b5e8f09b05a50155e7aa0bbb4a747",
      "tree": "38f66bbad2a14adbee770b1d1c1caa842ecf4e28",
      "parents": [
        "d6ac7c73e17f0ce0cc3b1290760c4f67cafcdec5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 16:28:44 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 16:28:44 2009 -0700"
      },
      "message": "Fix issue #2084148: Define the format for the auto focus preview for barcode scanning\n\nAdd new manifest/aapt support for specifying device features an application\nrequires.  The aapt badging now returns these (as well as uses-permission since\nI need to look for those anyway); if an app doesn\u0027t explicitly request the\ncamera feature but does request the permission, then aapt will say that it has\nrequested both the basic camera feature as well as the autofocus feature.\n\nHere\u0027s what you put in your manifest to say you need a camera but don\u0027t need\nautofocus:\n\n    \u003cuses-permission android:name\u003d\"android.permission.CAMERA\" /\u003e\n    \u003cuses-feature android:name\u003d\"android.hardware.camera\" /\u003e\n    \u003cuses-feature android:name\u003d\"android.hardware.camera.autofocus\" android:required\u003d\"false\" /\u003e\n\nHere\u0027s what will be seen from aapt:\n\nuses-permission:\u0027android.permission.CAMERA\u0027\nuses-feature:\u0027android.hardware.camera\u0027\nuses-feature-not-required:\u0027android.hardware.camera.autofocus\u0027\n\nChange-Id: I4dd19cee0486cc54771f5bf14fc9db0e892115d5\n"
    },
    {
      "commit": "0409cde3601131caf14c88d132c65d74774bbd79",
      "tree": "17c5933801ab4c29207ed0c662d5d7b70451445c",
      "parents": [
        "1e0f7627389a18d7a2ea74d7a5fb2c251de56a56"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Aug 27 13:00:24 2009 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Aug 27 13:31:04 2009 -0700"
      },
      "message": "Updating synchronized to match x-net changes\n"
    },
    {
      "commit": "fe240ecf85ba4b5e95caa602398587d4cce6459b",
      "tree": "fc1a8b3b2ebac5e9d2bb458f03a260a220cf958c",
      "parents": [
        "aa0a3b09e7a2947130e9a98c459a63349ef2d339"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 12:51:11 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 12:51:11 2009 -0700"
      },
      "message": "Change these string constants back to match donut.\n\nUnfortunately we are stuck with the donut ones, can\u0027t change these in Eclair\nto be the more correct names.\n\nChange-Id: Id8aaa2e90cd21631b18a36bea3755a63d0e6d577\n"
    },
    {
      "commit": "d497d87650dd79f7d6a4751d79598d68ceb4b789",
      "tree": "e1bb8e0f192139b0ab2ebb19d5d16a24428a894e",
      "parents": [
        "97f870956a37d441f82e21135a5e68d3ecdd0bf5"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Tue Aug 25 19:32:54 2009 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Aug 26 12:39:55 2009 +0100"
      },
      "message": "Pass the estimated size of new HTML 5 databases to the ChromeClient so it can use that amount to figure an initial default quota.\n\nChange-Id:Ic9372b0c86472b42ba5d0b964aaff1e2bbfe3efa\n"
    },
    {
      "commit": "534aa012b5063abeaa36b9ade69851add8b7a48f",
      "tree": "ee2922b196c3e2b27cddaffc859f5985b29e3153",
      "parents": [
        "5439f4e30300084beb3f1ecbb19bcfd1bcac9e5d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 25 14:33:44 2009 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 25 17:27:15 2009 -0700"
      },
      "message": "Mark all legacy contacts APIs as deprecated.\n\nNow that we\u0027ve merged ContactsContract and are relying on\ncompatibility mode, we\u0027re marking the previous public\ncontacts API as deprecated.\n\nFixes http://b/2076016\n"
    },
    {
      "commit": "fa5382208b12586ed05e9e307227234ab676aa3c",
      "tree": "62e2c4390cc40f30b0abe04cd6fbcbc87f56a8bc",
      "parents": [
        "4b474440cef8afa5e355a9406bb076af8e493ca7"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Aug 25 14:47:44 2009 -0700"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Aug 25 14:47:44 2009 -0700"
      },
      "message": "Fix build break\n- Introduced in 22109\n"
    },
    {
      "commit": "7aba54b2edcb94f43c991c555b23fc1de364835e",
      "tree": "236e10de49ded0f19999f0669ebc66d5273c19c7",
      "parents": [
        "617b22dc075bbf704421adf15f39388ec098b4fd"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Thu Aug 20 19:20:54 2009 -0700"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Aug 25 12:44:56 2009 -0700"
      },
      "message": "Fix bug 1546445: Correct spelling errors in API\n- InstrumentationTestCase.injectInsrumentation\n- AndroidTestRunner.setInstrumentaiton\n"
    },
    {
      "commit": "dbade9d6a075b1d5b8ebe10ee8961a5de296c93b",
      "tree": "ba87f0dbb1f4ca2521a7282a65faa6ed0963eb9e",
      "parents": [
        "523018f1828884e96b1265f3e347410280577945"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Aug 25 13:20:19 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Aug 25 13:47:47 2009 -0400"
      },
      "message": "expose runtime changes to gamma\n"
    },
    {
      "commit": "4a51c20ce607c74914f90fd897f04080121ac13b",
      "tree": "067caf43aa752a8952061d7d8e03fb1aeb77c96e",
      "parents": [
        "cf3a08307d1599eaa91d7cc4e7c601e5fa13037f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 21 15:14:02 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 24 17:37:32 2009 -0700"
      },
      "message": "I am getting tired of the java doc warnings, so fix them.\n\nChange-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1\n"
    },
    {
      "commit": "f6f9f2d0256930ce0bb4913b2260b8480914edc2",
      "tree": "bf42a25258b12bf78239bcb14a753a3cfeafc573",
      "parents": [
        "2e951b5511750ebfbba28263ee5384bfa7f45128"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 21 16:26:03 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 24 17:00:54 2009 -0700"
      },
      "message": "Add more control over a service\u0027s start state.\n\nOne of the problems I have been noticing is background services\nsitting around running and using resources.  Some times this is\ndue to the app developer doing this when they shouldn\u0027t, but there\nare also a number of issues with the current Service interaction\nmodel that make it very difficult (or impossible) to avoid\ngetting services stuck in the started state.  This is a\nchange/enhancement to the Service API to try to address this.\n\nThe main change is that Service.onStart() has been deprecated,\nreplaced with a new Service.onStartCommand() that allows the\nservice to better control how the system should manage it.  The\nkey part here is a new result code returned by the function, telling\nthe system what it should do with the service afterwards:\n\n- START_STICKY is basically the same as the previous behavior,\n  where we usually leave the service running.  The only difference\n  is that it if it gets restarted because its process is killed,\n  onStartCommand() will be called on the new service with a null\n  Intent instead of not being called at all.\n\n- START_NOT_STICKY says that, upon returning to the system, if\n  its process is killed with no remaining start commands to\n  deliver, then the service will be stopped instead of restarted.\n  This makes a lot more sense for services that are intended to\n  only run while executing commands sent to them.\n\n- START_REDELIVER_INTENT is like START_NOT_STICKY, except if\n  the service\u0027s process is killed before it calls stopSelf()\n  for a given intent, that intent will be re-delivered to it\n  until it completes (unless after 4 or more tries it still\n  can\u0027t complete, at which point we give up).\n\nChange-Id: I978f5ca420d70023d1b5e7f97de639d09381f8ad\n"
    },
    {
      "commit": "dd03c6135f91df6d5d9e71de1487520dc3345742",
      "tree": "c4948e1ca876b218b8c50abd6171ad2be10396cd",
      "parents": [
        "bfcfb7eec61bd196cfd91f7b2c5715751308c048",
        "081a136d259c02b2ab8ba773c38e404f7b3c3de4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 21 12:59:04 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 21 12:59:04 2009 -0700"
      },
      "message": "resolved conflicts for merge of 081a136d to eclair\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": "3be63c09309b21c01b535271625d4c39045690e5",
      "tree": "5bc349f6c916ddb80bf852fa68de11cdfe3cfadf",
      "parents": [
        "e13ec26e6cab65831eefbd7b3c7aeee9ea714c91"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 20 19:31:38 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 20 20:34:42 2009 -0700"
      },
      "message": "Infrastructure for supporting wallpaper previews.\n\nVarious things that will allow us to show previews of wallpapers.\nAlso some fixes to animations across wallpapers.\n"
    },
    {
      "commit": "77709755b74bcc852cd511ff833c2827c0f0e1aa",
      "tree": "d526a9851433873588bf3504b1f2baa9e9555548",
      "parents": [
        "404780d62b8f6fe6787fca27cf36fe2c20b7220e"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 17:18:58 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 17:18:58 2009 -0700"
      },
      "message": "- add a reset to EntityIterator to allow it to go back to the beginning\n- clean up the debug printing of SyncResult\n"
    },
    {
      "commit": "8ada1c438af76552685775f1deb8f179fcf35997",
      "tree": "e84a20613eb86c337cb3e0daf210657dba44ef7a",
      "parents": [
        "58b6d1be26bd015b0da9336e82a83fd2cf303d2a"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 15:08:08 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 15:08:08 2009 -0700"
      },
      "message": "build fix\n"
    },
    {
      "commit": "58b6d1be26bd015b0da9336e82a83fd2cf303d2a",
      "tree": "e6e3583faebc207185dbb902ba7c21d1cb738c05",
      "parents": [
        "cc4f3424e5b5227d0711ae7d3850a8b903c15a07"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 14:23:28 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 14:24:36 2009 -0700"
      },
      "message": "build fix\n"
    },
    {
      "commit": "e0616ffb741b64e3bc7a1e3ad9def3d50eee53fd",
      "tree": "36beef758104791c49182db6cf4499d5ba885bcb",
      "parents": [
        "9e61acd9ff267fe9fdbcd130905bdd63ff70db3a"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Aug 19 13:13:18 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Aug 20 13:52:22 2009 -0700"
      },
      "message": "add a supportsUploading flag in the SyncAdapter description and honor it in the SyncManager\n"
    },
    {
      "commit": "45e2704ff512d41e22af2801d76e96955469ce8d",
      "tree": "9fff1a5f5e577c5545c2a9e7fdf4a25812d0973b",
      "parents": [
        "f768d24f7d9c01d1e01fdbccc3adc75fda3f8d4b"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Aug 19 11:00:00 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Aug 19 20:39:54 2009 -0700"
      },
      "message": "API CHANGE\n\nJavadoc, and unhide the first pieces of the Bluetooth API.\n\nWith this commit there is enough public API to connect and use an RFCOMM\nconnection between Bluetooth devices.\n"
    },
    {
      "commit": "0fa46a8de908a523540b9b709c18b759abba9e82",
      "tree": "614a167fc82401fc76c00639b46365e8db17e461",
      "parents": [
        "789de3a824003759c369e0f7c74520ef322d0504"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 19 18:37:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 19 18:38:28 2009 -0700"
      },
      "message": "fix build. forgot current.xml\n"
    },
    {
      "commit": "f8fbdb6b920562473dc47046924ac8ffed0b8daf",
      "tree": "24caa0567a13d5f7d3b6691c30a2edcfaf0029d6",
      "parents": [
        "7773e87178ba4978184198d83aa68498887a878f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 19 12:39:43 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 19 17:45:56 2009 -0700"
      },
      "message": "Add wallpaper transition animations.\n\nThe window manager now detects when a transition between two\nwallpaper activities is happening, and switches to a new set\nof animations for that.  The animations I defined here are just\nan arbitrary something that can work in this case.\n"
    },
    {
      "commit": "c818b141ee97a7a26fe069456d4b662d06c9eaea",
      "tree": "b8dab289aafc825d14d7968f27a2e665cc2d1883",
      "parents": [
        "460f541001112cdbee6902d33769191d5b264884"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 19 08:32:21 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 19 13:04:53 2009 -0700"
      },
      "message": "Do not enable the rew/pause/ffwd buttons when the media being played does not\nsupport these functions.\nThis extends the MediaPlayerControl interface with some new methods, and uses\nreflection to detect whether the old or new interface is used by an application.\n"
    },
    {
      "commit": "d8a43f61680bacf0d4b52a03ff3c7a07307377fc",
      "tree": "298808433ea17b6842b87424629fa1869478ed94",
      "parents": [
        "30c0b83490d856c1cd82441c8e2d800a88927237"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 23:33:56 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 18 13:59:27 2009 -0700"
      },
      "message": "Fix issue #2047139: Remove Service.setForeground()\n\nThis API is becoming seriously abused, so now it is deprecated and has\nbecome a no-op.\n\nAs an alternative, there is now a new API that allows you to make a service\nbe in the foreground but requires providing a persistent notification to\ngo along with this state, allowing the user to know about and control it.\n"
    },
    {
      "commit": "4a6679b97e0285c5b65ec5c0d9080ff90d3e9e81",
      "tree": "3356b9b309a39344d320635140a4380d5e1e5318",
      "parents": [
        "084cd8266ecbc70714fd3c7d27488411a00338b7"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Aug 17 13:05:39 2009 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Aug 18 11:06:52 2009 -0700"
      },
      "message": "make syncadapter set whether the account is syncable\n"
    },
    {
      "commit": "5d8cbf8da3f44709bd9e64b10c037cdb543ffb17",
      "tree": "d6eaf79f8949e4f3f5f7777574341e30f7df4cb7",
      "parents": [
        "6919f69281e32d0c3d4b3791b273f71f178cbb7c",
        "d5884a9ba45e58294c09fd2747c87d761b9daee5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 18 10:59:20 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 10:59:20 2009 -0700"
      },
      "message": "am d5884a9b: Merge change 21358 into donut\n\nMerge commit \u0027d5884a9ba45e58294c09fd2747c87d761b9daee5\u0027 into eclair\n\n* commit \u0027d5884a9ba45e58294c09fd2747c87d761b9daee5\u0027:\n  Unhide the broadcast intent that signals completion of the TTS language\n"
    },
    {
      "commit": "d2d6014f715f12f6263f61ba3eeb6f8cba6d0fa6",
      "tree": "6e075767b94546c6f0d6629587dd9a0204cef72e",
      "parents": [
        "1a8c1599de630ae4199b71cb3eca75d7db9c40d6"
      ],
      "author": {
        "name": "krosaen",
        "email": "krosaen@android.com",
        "time": "Mon Aug 17 08:56:48 2009 -0700"
      },
      "committer": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Tue Aug 18 08:56:03 2009 -0700"
      },
      "message": "NEW API for SearchManager and Activity to \u0027triggerSearch\u0027.\n\nThis is pretty much the same thing as startSearch, except it also launches the\nquery.  We enforce that this can only be done for the package of the app that is\nassociated with the search mananger (e.g you can\u0027t trigger a contacts search\nfrom anywhere).\n"
    },
    {
      "commit": "8df8b2b405c60cacf7a66c4e2ca078dd3d7ec7bd",
      "tree": "302a410dcd7af7bbf61f435cd96dd8b7384def2e",
      "parents": [
        "948ee251276e1ce7f5c5517b24bf88a75e99f160"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 15:15:18 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 21:23:05 2009 -0700"
      },
      "message": "Allow wallpapers to get touch events.\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": "20ea6ce0e8a758cc5c33eb2577495bf9f4dce16e",
      "tree": "cd953a03c33a8040bd2be14a4a4ee95a78e234c8",
      "parents": [
        "d87116728447eef3b73dd3b87074a5d12b532261"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Aug 17 15:47:14 2009 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Aug 17 16:06:15 2009 -0700"
      },
      "message": "Change get/set IsSyncable() methods to static.  Add isUserFacing flag to SyncAdapterType. Update api file.\n"
    }
  ],
  "next": "5e787c42f2a6b3afc8ec8320a08d51b2d44b8614"
}
