)]}'
{
  "log": [
    {
      "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": "7c9bf7caa2936e8b76598be9fffea980d81c61d3",
      "tree": "d474c5edac25a48c986f913aea99e66fa4a89951",
      "parents": [
        "d68781ace179e19b70120411baf307104683fa4b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Sep 11 17:23:35 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Sep 11 17:23:35 2009 -0700"
      },
      "message": "Don\u0027t init wifiChannels until after supplicant up\n\nThe supplicant can take up to 15 seconds to start - setting the number of wifi channels\nimmediately after requested wifi start often will fail.\n\nChanged to set the number of channels when the supplicant is reported as alive.\n\nbug:2083601\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": "f3f720031932500d92090b0093393651e7a713e0",
      "tree": "96db274a3d3af960d13e0e6f4f3c09349011cb8b",
      "parents": [
        "ebebf9c36c0112d99cb2e11953febdff8ba5ff23",
        "8206ff30c23c76851bebc8d72a65e65b0f7f9a29"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 10 21:10:58 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 10 21:10:58 2009 -0400"
      },
      "message": "Merge change 24588 into eclair\n\n* changes:\n  Fix for multi-apn MMS access.\n"
    },
    {
      "commit": "8206ff30c23c76851bebc8d72a65e65b0f7f9a29",
      "tree": "82c437af24595ae95bc313124cb9df09108b1041",
      "parents": [
        "bcbcaa7edd32ba67c6290d79f7e7821c4b5b39ac"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Sep 10 15:06:20 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Sep 10 18:01:01 2009 -0700"
      },
      "message": "Fix for multi-apn MMS access.\n\nMark cellular variants with the same availability, regardless of which are currently in use.\nAvailability just means the radio is enabled and sees the network, but has no guarantees that\nwe could connect to an APN if requested.\n\nFix the requestRouteToHost logic to support apn switches without WIFI.\n\nbug:2093841\n"
    },
    {
      "commit": "5a8a1151e267b29978f219f9569fdfc5e74cc210",
      "tree": "82e9098547c12283278fb001a48788133a5285c1",
      "parents": [
        "bcbcaa7edd32ba67c6290d79f7e7821c4b5b39ac"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Sep 10 16:08:47 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Sep 10 16:08:47 2009 -0700"
      },
      "message": "Try not to crash the system server because of corrupt restore data\n\nWhen we\u0027re about to allocate an array based on the restore data for purposes of\nunflattening a signature block, don\u0027t automatically assume that it\u0027s valid.  If\nit\u0027s corrupt [and we\u0027ve seen this in practice] we can wind up trying to allocate\nan array with 1.8 million objects, and throw an OutOfMemoryError, bringing down\nthe system.\n\nThis change arbitrarily decides that no package should have more than 20\nsignatures in its block, and aborts the restore if the metadata is thus revealed\nto be corrupt.\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": "a7ef2698a6c9182ffd41574495a18da1ffc2be2c",
      "tree": "a3ead0110190c2a6c18d82df7127e1ac92222233",
      "parents": [
        "f63e3f3cc8c61bc9eeda980f314795412eb03b79"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 10 11:15:26 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 10 11:19:57 2009 -0400"
      },
      "message": "MountService: Use correct icon for SD card notifications.\n\nChange-Id: Ia15847c48fce7957f1a376e173d39137b661d51c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\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": "f9e0e6bd5e070d4c213e0237fa2fb8d4bb558bcb",
      "tree": "4cc1de3d637b0a74ed225452bbd5257bcebb8813",
      "parents": [
        "377c5c15f8fea14b575b6b0f14ac7fd3a4d44b3a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 08 16:24:36 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 08 16:24:36 2009 -0400"
      },
      "message": "Fix b/2105945 - Windowshade not closed when device locked.\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": "c916c04495292c86051a2c31e90cca26a9bd99c1",
      "tree": "b5a2198c570efcd9ca9174e82b0eab4150bb5436",
      "parents": [
        "510469fbe1ad44c3c6255afb236f51502b6960cc",
        "0586a1b77a788a119166a37fccd909bf9ed65f23"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 07 10:16:20 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 07 10:16:20 2009 -0700"
      },
      "message": "Merge change 24099 into eclair\n\n* changes:\n  Fix issue #2095422: Some fades from opaque to transparent don\u0027t work\n"
    },
    {
      "commit": "510469fbe1ad44c3c6255afb236f51502b6960cc",
      "tree": "02da9bd09191b3522d4a65ae95294e23ccbf9bbc",
      "parents": [
        "96f8613d95122a491a44f755f06845cc2c13e81e",
        "a1e989b5755ea171ebe6875994d9174deee4399a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 07 10:14:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 07 10:14:44 2009 -0700"
      },
      "message": "Merge change 24098 into eclair\n\n* changes:\n  Fix bug where we wouldn\u0027t release remote provider references.\n"
    },
    {
      "commit": "0586a1b77a788a119166a37fccd909bf9ed65f23",
      "tree": "274272fd870b2cde2215b086138f557622cef8f2",
      "parents": [
        "88e625795943dea84b2e7c32f37e71303143b728"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 06 21:08:27 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 07 01:01:15 2009 -0700"
      },
      "message": "Fix issue #2095422: Some fades from opaque to transparent don\u0027t work\n\nViewRoot was using Surface.clear(), which has different behavior\nin different processes -- in the system process it would kill the\nsurface, causing all windows in that process to immediately disappear\ninstead of animating away.\n\nThis change makes Surface.release() public and uses that instead.  It\nalso renames Surface.clear() to Surface.destroy().\n\nAlso fixed some issues in the window manager that were causing the\nwallpaper to not get immediately resized when the orientation changes\nand its target window is removed and re-added.\n\nChange-Id: I2a992e365cf5747511f0bf1193db32dc2525b218\n"
    },
    {
      "commit": "a1e989b5755ea171ebe6875994d9174deee4399a",
      "tree": "faf1e8694283ece60a86ca2c61aa8c4b78483d7b",
      "parents": [
        "6e4b7d66998b9ec9255767f6070a2f94d83944a5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 19:54:29 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 06 21:15:41 2009 -0700"
      },
      "message": "Fix bug where we wouldn\u0027t release remote provider references.\n\nThe check for whether the release call is coming from another process was\nvery broken, and just happened to work by chance.  It also never worked for\napps that had code running in two different processes, with one process\nusing a provider in another of its processes.  Also a little cleanup and\ndebugging logs for provider management, and removal of that increasingly\nannoying log about services being stopped.\n\nChange-Id: Ibc298e674db7d35c4b6499fb32e30929a141b670\n"
    },
    {
      "commit": "e540833fdff4d58e37c9ba859388e24e2945ed45",
      "tree": "d1ec39dba3be85a50a1ac8556ab6d68b49d927b6",
      "parents": [
        "9cc1817d46d8092865d8f1e7a6391dcae197a26a"
      ],
      "author": {
        "name": "Bob Lee",
        "email": "crazybob@crazybob.org",
        "time": "Fri Sep 04 18:31:17 2009 -0700"
      },
      "committer": {
        "name": "Bob Lee",
        "email": "crazybob@crazybob.org",
        "time": "Sat Sep 05 11:53:18 2009 -0700"
      },
      "message": "Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler\nsystem property is set. Saves snapshots to the SD card.\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": "445f43081e207ee704a5152a5333054d7b4e13a4",
      "tree": "84adb97b95e2b72f1dc354f98094f6eb275d51bf",
      "parents": [
        "7111904802934e1fa4cf68c445f13c34c30c9cdb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 04 11:06:46 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 04 11:06:46 2009 -0400"
      },
      "message": "NotificationManagerService: Only blink red battery low LED when not charging.\n\nChange-Id: Ie5836ae99d4ca19d9d062e7c78c8b40cd8d6c29d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\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": "d42685d5de1dbd6d75b48d42418f370adaa4daef",
      "tree": "f175b669f7f5e888fc9454478d52c8df23c50868",
      "parents": [
        "1a3af62bfb3583ac2fece18523927587b6b6a277"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 03 09:25:22 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 03 13:47:54 2009 -0400"
      },
      "message": "Add support for running apps with uid/gid AID_LOG by specifying android.uid.log in the manifest\n\nThis is needed to allow the BugReportService to start the dumpstate service.\n\nChange-Id: I12cab23767c919592da102c654b6b80416717661\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e3c393d3d14dab5b1eab37d2c52b7283df253f7f",
      "tree": "63e7b8becc207bc0aff95dcc2f9a53a39a03efed",
      "parents": [
        "e2c9187b993a652fa8fdad516461ab66caa96cb4",
        "cc27870098a5b6105d6007a18bebaec8940db2d5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 23:11:16 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 23:11:16 2009 -0700"
      },
      "message": "Merge change 23787 into eclair\n\n* changes:\n  Fix issue #2097313: Latin IME crashes first use\n"
    },
    {
      "commit": "cc27870098a5b6105d6007a18bebaec8940db2d5",
      "tree": "bf1867f2775722823a68982c284ebc7ca4781281",
      "parents": [
        "fb16e5ccdb230a11cbbbfd17d323db7b88395c2f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 23:07:23 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 23:08:45 2009 -0700"
      },
      "message": "Fix issue #2097313: Latin IME crashes first use\n\nChange-Id: I50c48b66aff5aff42e71058591d20775eba73fed\n"
    },
    {
      "commit": "bdd52b264af8f562dd368d40b66771c88d45127f",
      "tree": "bb059c0e6b0032be61f8154f7fa49865503724f0",
      "parents": [
        "fb16e5ccdb230a11cbbbfd17d323db7b88395c2f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 21:46:19 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 21:54:18 2009 -0700"
      },
      "message": "Fix issue #2097060: Screen all messed up when setup wizard finished\n\nThe new code to rebuild the window list was missing some app tokens.\nAlso there were a few other smaller bugs floating around.\n\nChange-Id: I7734917af0b76ee4aa304e6a5321401d87640f89\n"
    },
    {
      "commit": "a34f1ad7c3a68d971e6332aa2fb1c16d083920b3",
      "tree": "1bfa09439ef3130cb5dacde84fc8dce44dac1a70",
      "parents": [
        "75f1d43b64cbf4b68ad62919a0c58907933ccd59"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 13:26:28 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 17:39:54 2009 -0700"
      },
      "message": "Fiddle system boot ordering.\n\nThis makes the system a little more careful to not start third party\ncode until it is ready to.\n\nAlso fix a little bug in SyncManager that would cause it to crash\nduring boot if sync was in a failure state.\n\nChange-Id: Ib2d287d8441d155d393fe740a5f98690895fd358\n"
    },
    {
      "commit": "a8f6018d6c2d28313f9550fa8fcb39c2f607e09c",
      "tree": "a64e1d3e4b63e2792ab93ee69d913b415925d814",
      "parents": [
        "14de0880dd7b716f39b822917e874ca5e579ff37"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 19:01:50 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 17:20:25 2009 -0700"
      },
      "message": "Work on issue #2079167: Flickering issue across multiple UI\n\nThis addresses a few parts of the bug:\n\n- There was a small issue in the window manager where we could show a window\n  too early before the transition animation starts, which was introduced\n  by the recent wallpaper work.  This was the cause of the flicker when\n  starting the dialer for the first time.\n\n- There was a much larger problem that has existing forever where moving\n  an application token to the front or back was not synchronized with the\n  application animation transaction.  This was the cause of the flicker\n  when hanging up (now that the in-call screen moves to the back instead\n  of closing and we always have a wallpaper visible).  The approach to\n  solving this is to have the window manager go ahead and move the app\n  tokens (it must in order to keep in sync with the activity manager), but\n  to delay the actual window movement: perform the movement to front when\n  the animation starts, and to back when it ends.  Actually, when the\n  animation ends, we just go and completely rebuild the window list to\n  ensure it is correct, because there can be ways people can add windows\n  while in this intermediate state where they could end up at the wrong\n  place once we do the delayed movement to the front or back.  And it is\n  simply reasuring to know that every time we finish a full app transition,\n  we re-evaluate the world and put everything in its proper place.\n\nAlso included in this change are a few little tweaks to the input system,\nto perform better logging, and completely ignore input devices that do not\nhave any of our input classes.  There is also a little cleanup of evaluating\nconfiguration changes to not do more work than needed when an input\ndevices appears or disappears, and to only log a config change message when\nthe config is truly changing.\n\nChange-Id: Ifb2db77f8867435121722a6abeb946ec7c3ea9d3\n"
    },
    {
      "commit": "f52e9f703305a03e76f59ad41094c5bc8636d31c",
      "tree": "5f7ba99e6646224a88cfaf7c268863e9e8a978df",
      "parents": [
        "983b837ea1effc462ecd9c14620b19178f98fd92",
        "e1b4437dba7c33566af55d4e5d27d35729678684"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 02 15:35:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 02 15:35:01 2009 -0700"
      },
      "message": "am e1b4437d: Revert \"Fix content provider\"\n\nMerge commit \u0027e1b4437dba7c33566af55d4e5d27d35729678684\u0027 into eclair\n\n* commit \u0027e1b4437dba7c33566af55d4e5d27d35729678684\u0027:\n  Revert \"Fix content provider\"\n"
    },
    {
      "commit": "0214e9475fa3b9aa00a784b5152bf4f1939c941e",
      "tree": "20b77f6204cfb82d8cde013472053ca191dadd20",
      "parents": [
        "bb54f93ff66f382dc706b9fff508d386e046fdc2"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Sep 02 11:03:18 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Sep 02 12:32:32 2009 -0700"
      },
      "message": "    For intent ACTION_PACKAGE_CHANGED, there could be a lot of broadcasts related to enabling/disabling\n    components by apps which could result in thrashing on the PackageManager. For apps that\n    do not want to be restarted when such a broadcast is sent, we can just aggregate these broadcasts and\n    handle them at one go.\n    Changes include:\n    New structure to hold pending broadcasts by class name. If a component is enabled or disabled frequently\n    aggregate component enabled/disabled settings in this structure in a 10 second window and then\n    send out the accumulated list of broadcasts to the ActivityManager.\n    A new Handler implementation handles this message\n    Add new attribute name EXTRA_CHANGED_COMPONENT_NAME in broadcast intent Intent.ACTION_PACKAGE_CHANGED for\n    additional information for apps like Launcher.\n    Rename a couple of parameters, the names were too jarring.\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": "e1b4437dba7c33566af55d4e5d27d35729678684",
      "tree": "b19d6696816a2892cea093dab422becd50e9a21f",
      "parents": [
        "c804efe278fa33555e6e836504a467cb14505eb3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 19:21:08 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 19:21:08 2009 -0700"
      },
      "message": "Revert \"Fix content provider\"\n\nArgh!\n\nThis reverts commit da706900f45dca82d89f090e4e52fa5d1772c495.\n"
    },
    {
      "commit": "ff0dc82c1cfe780e6f4c87d1d34de6dc3b741a2d",
      "tree": "f88ea0a73df05a08f1de2b61d3b1e39b31a44ad3",
      "parents": [
        "cc22efb52e8b5851b7d53099f7f814bfae266124",
        "6a98f8d93e4ddd407baad8d9b7481a892001d281"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 19:11:44 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 19:11:44 2009 -0700"
      },
      "message": "am 6a98f8d9: Merge change 23499 into donut\n\nMerge commit \u00276a98f8d93e4ddd407baad8d9b7481a892001d281\u0027 into eclair\n\n* commit \u00276a98f8d93e4ddd407baad8d9b7481a892001d281\u0027:\n  Fix content provider\n"
    },
    {
      "commit": "da706900f45dca82d89f090e4e52fa5d1772c495",
      "tree": "bad5a815faa00061a779e7ad4f7f208228837182",
      "parents": [
        "56205fea879543a50bb797016832416a8b48cabb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 13:57:11 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 01 13:57:11 2009 -0700"
      },
      "message": "Fix content provider\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": "9aa1fa2d3612d1d8ffeae6552d65669f4ca194d9",
      "tree": "21545e2ec4c53e65147b3f4129afd16b4e3fe89d",
      "parents": [
        "3a76fd627945c1df59aa0318867401e0e53da022"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:51:15 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:51:15 2009 -0400"
      },
      "message": "LocationManagerService: Remove caching of last known locations to flash.\n\nChange-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3a76fd627945c1df59aa0318867401e0e53da022",
      "tree": "a0ab42bcd122a4f61ab9aa688b8d10edf34f72f4",
      "parents": [
        "2bd4326a4694ea3055dc758c05533c905ad78291"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:26:56 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:26:56 2009 -0400"
      },
      "message": "LocationManagerService: Add null pointer check and remove useless finalize() method.\n\nChange-Id: I4017d38a1bea7564a85575486a7c2aef569dfe5d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b0a054048329c31948c2f5dbcc11b6f99e454177",
      "tree": "3cb43f480f4148e6ea88c771171e16fb8cb63390",
      "parents": [
        "2d93a11663d1d872bc7e9d6512a445fa84148583",
        "2d6b67d37f3164e53b311650aab94faabf46ef67"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 30 13:33:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 30 13:33:57 2009 -0700"
      },
      "message": "Merge change 23223 into eclair\n\n* changes:\n  SensorService: call close_data_source when we have no more sensor clients.\n"
    },
    {
      "commit": "2d93a11663d1d872bc7e9d6512a445fa84148583",
      "tree": "761954e7c20897ed8693c95317d1fa919aab22ea",
      "parents": [
        "f810d1a88b2d3166064c4a36d8cc9314f02094e0",
        "d0e82cec71442485d9cc952e5e16165d9d98b16e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 30 12:02:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 30 12:02:07 2009 -0700"
      },
      "message": "Merge change 23187 into eclair\n\n* changes:\n  Do not send dock state changed broadcasts until the system has finished booting.\n"
    },
    {
      "commit": "2d6b67d37f3164e53b311650aab94faabf46ef67",
      "tree": "0e0f301a837c0eb6b870b80860b6a4ba7c63a629",
      "parents": [
        "56f67d21459ad3f136c73c8932904d4a495989c0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 28 18:08:27 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Aug 30 14:25:56 2009 -0400"
      },
      "message": "SensorService: call close_data_source when we have no more sensor clients.\n\nChange-Id: I94accda4571c3f2cf6f8a5b6801e37c30c027fe1\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "284ac93aa30642fda87d5c40263a1263677c21cd",
      "tree": "2ff4c8d7a896dceb1fdb3fd14189ea67a2101b76",
      "parents": [
        "cfff8f2291881acb3b3400cd2a0f644c451c2f53"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 28 10:34:25 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 30 10:53:53 2009 -0700"
      },
      "message": "More work on wallpapers: animations, lifecycle, scaling, etc.\n\nYet more work on improving the behavior of wallpapers.  This fixes a few\nproblems in their lifecycle (corresponding change in the picker also\nrequired for this), makes their animations better for hardware that supports\nalpha fades, adds animations for the wallpapers themselves, eliminates\nfixed size wallpapers, and adjusts the API for retrieving a wallpaper\nbitmap to take care of scaling the raw wallpaper image to match the current\ndesired width and height.\n\nChange-Id: If1c0aaceba4ea4e175dcb7a8416ca7ddbb9bfa6f\n"
    },
    {
      "commit": "d0e82cec71442485d9cc952e5e16165d9d98b16e",
      "tree": "787c3cee546ba165013a0a2004ddac3efc46d3ef",
      "parents": [
        "9e6842caa8334f78744dee77d476ac6eec5b7540"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 16:19:07 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 28 13:36:14 2009 -0700"
      },
      "message": "Do not send dock state changed broadcasts until the system has finished booting.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\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": "d6ac7c73e17f0ce0cc3b1290760c4f67cafcdec5",
      "tree": "f33455300b85807f583ea6045f6cb9c9a6d613bf",
      "parents": [
        "5352e237cad365f39c87aaeda3822c891c7ca474",
        "6c3f571a1498f513dd53a67313a79bff877d3160"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 15:10:27 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 15:10:27 2009 -0700"
      },
      "message": "Merge change 22975 into eclair\n\n* changes:\n  Fix issue #2069662: The wallpaper doesn\u0027t move along with the home screen\n"
    },
    {
      "commit": "6391830d103ccb19465c69660065c22c2711dcfd",
      "tree": "78a1bd1636ce3ecfa506507c27516f2beffc8084",
      "parents": [
        "18ad9f657bda79069233c0b8e1476888ffd894d4",
        "ddfe879b783ad72603308e28e8f683454464684e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 14:31:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 14:31:06 2009 -0700"
      },
      "message": "Merge change 22958 into eclair\n\n* changes:\n  Don\u0027t activate keyguard if screen is turned off while proximity sensor is active.\n"
    },
    {
      "commit": "18ad9f657bda79069233c0b8e1476888ffd894d4",
      "tree": "4d1ae78e5918d2e9dd570a204c90555bec66a677",
      "parents": [
        "22d1f9fb23015471de6af1a70e40fb5c82ecb665"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 14:01:23 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 14:22:27 2009 -0700"
      },
      "message": "Only allow system code to call LocationManager.sendNiResponse()\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6c3f571a1498f513dd53a67313a79bff877d3160",
      "tree": "c904079d5c263bc662fde8b2b02dd2638e274361",
      "parents": [
        "1e0f7627389a18d7a2ea74d7a5fb2c251de56a56"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 25 18:42:59 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 14:18:51 2009 -0700"
      },
      "message": "Fix issue #2069662: The wallpaper doesn\u0027t move along with the home screen\n\nThe wallpaper target was being lost when an activity was restarted.\n\nChange-Id: Ib05622591c9bb2f01bb8f2c0a0a8e77fe657ae88\n"
    },
    {
      "commit": "22d1f9fb23015471de6af1a70e40fb5c82ecb665",
      "tree": "0952ea04b5b0059aa48812f76e26599946e605c2",
      "parents": [
        "0409cde3601131caf14c88d132c65d74774bbd79"
      ],
      "author": {
        "name": "Danke Xie",
        "email": "dankex@qualcomm.com",
        "time": "Tue Aug 18 18:28:45 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 14:18:30 2009 -0700"
      },
      "message": "gps: Network initiated SUPL\n\nInitial contribution from Qualcomm.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ddfe879b783ad72603308e28e8f683454464684e",
      "tree": "4011fd9c435bea64f3dd5dc440980fc63a0a4475",
      "parents": [
        "36fc302560fbc6dff3099860356d290d1653371c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 13:27:08 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 13:27:08 2009 -0700"
      },
      "message": "Don\u0027t activate keyguard if screen is turned off while proximity sensor is active.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "aa52f9a7c63d4fdeba0fa16fe0aba3b47fef3738",
      "tree": "d94c366008683c1fe066b75758b856f3ebe145ad",
      "parents": [
        "b3b1ccfe0e8d9ea6582646a6cedb7f4669e41352"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 25 16:01:15 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 13:10:09 2009 -0700"
      },
      "message": "Make SINGLE_TOP work with CLEAR_TOP.\n\nChange-Id: Ie98b491dc4b1a2ae5e8fc8452c6410597bc9676b\n"
    },
    {
      "commit": "aa0a3b09e7a2947130e9a98c459a63349ef2d339",
      "tree": "defb7804e825556510af393e461afba2e72cb0e8",
      "parents": [
        "bc86bda499b8600cc3dc900bba0e6421304c26dd",
        "6ccd2aff3eb4450c6f1021637d18e4e5d9346bf0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 12:27:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 12:27:51 2009 -0700"
      },
      "message": "Merge change 22944 into eclair\n\n* changes:\n  resolved conflicts for merge of 301b97ac to eclair\n"
    },
    {
      "commit": "6ccd2aff3eb4450c6f1021637d18e4e5d9346bf0",
      "tree": "692dfb78939b511e815e41783036c0d7d4028063",
      "parents": [
        "4d5b4225e492f3de543efa195204f38d03a6721a",
        "301b97ac19caf677c481cdf86ed27b2dd80a81b3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 12:26:44 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 12:26:44 2009 -0700"
      },
      "message": "resolved conflicts for merge of 301b97ac to eclair\n\nChange-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48\n"
    },
    {
      "commit": "25b9cec8de75bd38c4868515e611cd69aff524ca",
      "tree": "c57d0020980222d4cd5a66212267cce979856be4",
      "parents": [
        "e0daf8043fd4a9be995ff737d217b7b3514d4519",
        "36fc302560fbc6dff3099860356d290d1653371c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 11:26:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 11:26:44 2009 -0700"
      },
      "message": "Merge change 22692 into eclair\n\n* changes:\n  PowerManagerService: Disallow all user activity when in proximity wake lock.\n"
    },
    {
      "commit": "36fc302560fbc6dff3099860356d290d1653371c",
      "tree": "c8bc73126cd0f81e3cc4d8566cf8f745f3c0b013",
      "parents": [
        "09b0ca1ceefde02b9ed50dc4dd12774ba569143f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 25 16:49:06 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 11:07:49 2009 -0700"
      },
      "message": "PowerManagerService: Disallow all user activity when in proximity wake lock.\n\nFixes b/2076756\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "49c22570bb8717bb678dbd8bae6692bb585370fc",
      "tree": "90ff896ec36a96ed66658e0a79df3e936da67791",
      "parents": [
        "09b0ca1ceefde02b9ed50dc4dd12774ba569143f",
        "7566c1debebe072af76411e11d96810fd1409482"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 09:25:36 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 09:25:36 2009 -0700"
      },
      "message": "am 7566c1de: LocationManager: Fix problem replacing GPS and network providers with a mock provider.\n\nMerge commit \u00277566c1debebe072af76411e11d96810fd1409482\u0027 into eclair\n\n* commit \u00277566c1debebe072af76411e11d96810fd1409482\u0027:\n  LocationManager: Fix problem replacing GPS and network providers with a mock provider.\n"
    },
    {
      "commit": "301b97ac19caf677c481cdf86ed27b2dd80a81b3",
      "tree": "bd983f150775ec7af5a5375f4eed937bb6860721",
      "parents": [
        "7566c1debebe072af76411e11d96810fd1409482",
        "fd12af4e768fec852c4c5dfee3b9bd7403b4b347"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 01:14:00 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 27 01:14:00 2009 -0700"
      },
      "message": "Merge change 22883 into donut\n\n* changes:\n  Various tweaks to try to improve low memory behavior.\n"
    },
    {
      "commit": "fd12af4e768fec852c4c5dfee3b9bd7403b4b347",
      "tree": "0a321d615f85ab4c49ac62a6a8eefe80a2690042",
      "parents": [
        "b0f5b755e7f34ac00a390911d27c12f7e9e84154"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 00:44:33 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 27 01:03:24 2009 -0700"
      },
      "message": "Various tweaks to try to improve low memory behavior.\n\n- Reduce the amount that we ask processes to GC after a significant\n  operation occurs, but introducing a minimum time between GCs and\n  using this in various ways to schedule them.\n\n- Don\u0027t spam all of the processes with onLowMemory().  Now deliver\n  these using the same gc facility, so we do the processes one at a\n  time, and don\u0027t allow the same process to get this call more than\n  once a minute.\n\n- Increase the time a service must run before we will reset its\n  restart delay to 30 minutes (from 10).\n\n- Increase the restart delay multiplication factor from 2 to 4.\n\n- Ensure that we don\u0027t restart more than one service every 10 seconds\n  (unless some external event causes a service\u0027s process to be started\n  for some other reason of course).\n\n- Increase the amount of time that a service must run before we\n  decide to lower it to a background process.\n\nAnd some other things:\n\n- Catch IllegalArgumentException in ViewRoot like we do for no\n  resources to avoid the system process crashing.\n\n- Fix a number of places where we were missing breaks between the\n  activity manager\u0027s message dispatch func(!!).\n\n- Fix reason printed for processes in the background.\n\n- Print the list of processing waiting to GC.\n"
    },
    {
      "commit": "7566c1debebe072af76411e11d96810fd1409482",
      "tree": "29dc10dcd632e201d2a805636939539503eb05dd",
      "parents": [
        "b0f5b755e7f34ac00a390911d27c12f7e9e84154"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 25 10:05:18 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 26 23:34:18 2009 -0700"
      },
      "message": "LocationManager: Fix problem replacing GPS and network providers with a mock provider.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9517443904e341ee77c38648763d55687cd88760",
      "tree": "d40ff6fd084f9cc2d40a8e3513e8a655b81eaee8",
      "parents": [
        "d497d87650dd79f7d6a4751d79598d68ceb4b789"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 26 09:44:09 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 26 09:44:09 2009 -0700"
      },
      "message": "MountService: Launch UsbStorageActivity with Intent.FLAG_ACTIVITY_NEW_TASK flag.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cc907741b9b7344820ffbc8d68992567d74d0f4b",
      "tree": "aedfa2443f45c1db1f82e9c85e8e6c0f404bde8a",
      "parents": [
        "8d61d005839b23a41034325d5f458f1344933b1b",
        "9f87cb2f8d796f57054c1c0f0ce4b9bef9414642"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 16:18:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 16:18:32 2009 -0700"
      },
      "message": "Merge change 22660 into eclair\n\n* changes:\n  Simplify data icons of CDMA in status bar.\n"
    },
    {
      "commit": "9f87cb2f8d796f57054c1c0f0ce4b9bef9414642",
      "tree": "edc883684ada3f63a9b1b6549201f6c2882bacbd",
      "parents": [
        "347c5a22a915df5aa180573573adf6b2213a35dc"
      ],
      "author": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Tue Aug 25 15:25:37 2009 -0700"
      },
      "committer": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Tue Aug 25 16:12:39 2009 -0700"
      },
      "message": "Simplify data icons of CDMA in status bar.\n\nUse 3G icons when connect to EvDO, use 1x icons when connected to 1x, and remove dormant state display.\n"
    },
    {
      "commit": "8d61d005839b23a41034325d5f458f1344933b1b",
      "tree": "f4c4c0bccf10e3bf58636f8036f134a70789148c",
      "parents": [
        "ca5362cec4954366f8c1dc011bd14264c8381646",
        "b06324a5c1af11b0fef76bdafa569a60498a93d2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 16:11:47 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 16:11:47 2009 -0700"
      },
      "message": "Merge change 22638 into eclair\n\n* changes:\n  Fix the removal of dns entries.\n"
    },
    {
      "commit": "9acc030be474db2bc2371440a12cbdc478238689",
      "tree": "bdf84962a21ad6bce0c74d91cef7d07e629df787",
      "parents": [
        "1e09e9e0d09602ee84a299f09b451db686ff6c40"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 25 00:27:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 25 15:15:31 2009 -0700"
      },
      "message": "Implement issue #2071750: add a pre-boot upgrade step.\n\nChange-Id: I7133a03a6bf302dbac00c5f8b0420071d2453f89\n"
    },
    {
      "commit": "b06324a5c1af11b0fef76bdafa569a60498a93d2",
      "tree": "227c8ff7207493e78452b7cda366847fef006f79",
      "parents": [
        "dbade9d6a075b1d5b8ebe10ee8961a5de296c93b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Aug 25 14:00:10 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Aug 25 14:00:10 2009 -0700"
      },
      "message": "Fix the removal of dns entries.\n\nWhen switching default networks we should erase any excess dns server entries.  The old code\nused the wrong index and didn\u0027t erase all of them properly.\n\nFound in conjunction with\nbug: 2077628\n"
    },
    {
      "commit": "4b474440cef8afa5e355a9406bb076af8e493ca7",
      "tree": "d10a3be590670be3247f6cfe00c8a5fd3c146c87",
      "parents": [
        "c69a8807f3aae255c9fe61c4f61bc1ebdd355543",
        "347c5a22a915df5aa180573573adf6b2213a35dc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 13:39:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 25 13:39:34 2009 -0700"
      },
      "message": "Merge change 22566 into eclair\n\n* changes:\n  Simplify CDMA Status Bar icons\n"
    },
    {
      "commit": "347c5a22a915df5aa180573573adf6b2213a35dc",
      "tree": "4ae4133c118be475e2677c1eda9c9d9e3ba60b33",
      "parents": [
        "ec9fe4672a46eb928ab710d8e3caf2ce046100d4"
      ],
      "author": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Mon Aug 24 22:11:11 2009 -0700"
      },
      "committer": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Tue Aug 25 12:39:49 2009 -0700"
      },
      "message": "Simplify CDMA Status Bar icons\n\nUpdate the RSSI display policy in CDMA.\n1. Use single RSSI icon instead of two icons\n2. If 3G(EV) and 1x network are available than 3G should be displayed,  Displayed RSSI should be from the EV side.\n3. If a voice call is made then RSSI should switch to 1x.\n"
    },
    {
      "commit": "83360b3167f2c394125b74f655bc577070cb9cca",
      "tree": "0e869b5adc44c322f3bd1909c9fa6b31731f7cfc",
      "parents": [
        "cf3a08307d1599eaa91d7cc4e7c601e5fa13037f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 24 18:43:32 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 24 18:43:32 2009 -0700"
      },
      "message": "Fix bug that would leave old windows around.\n\nThe problem was instigated by another fix I made to keep\nwindows around while their tokens are animating or preparing to\nanimate.  This then hit an issue where if the window\u0027s process\ndied while its token was getting ready to animate, we would\nimmediately hide the token, and when we then went to start\nthe token animation we wouldn\u0027t do anything, leaving the old\ndummy animation in place and not allowing it to run.\n\nNow we clear the animation before hiding the token, to ensure\nthe dummy animation is gone at this point.\n\nChange-Id: If83fadcce6815bc545c80fbdb82fe6972bbdf5ef\n"
    },
    {
      "commit": "cf3a08307d1599eaa91d7cc4e7c601e5fa13037f",
      "tree": "e885507688b1bc361a23147179e798b81fb9c2e3",
      "parents": [
        "ec9fe4672a46eb928ab710d8e3caf2ce046100d4",
        "f6f9f2d0256930ce0bb4913b2260b8480914edc2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 24 17:01:50 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 24 17:01:50 2009 -0700"
      },
      "message": "Merge change 22400 into eclair\n\n* changes:\n  Add more control over a service\u0027s start state.\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": "ec9fe4672a46eb928ab710d8e3caf2ce046100d4",
      "tree": "377b56f8959c8842a6cca77e3a0182c9a0e15978",
      "parents": [
        "2e951b5511750ebfbba28263ee5384bfa7f45128"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Aug 20 15:25:14 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Aug 24 16:19:42 2009 -0700"
      },
      "message": "Fix a race condition for data change notification\n\nWe could sometimes not be told about network state changes breaking subsequent mms access.\nTurning on more logging too.\n\nbug: 2069106\n"
    },
    {
      "commit": "e4465e2eac9cb62a860320b3dd6493aeb13f136e",
      "tree": "dada97254c42df54bd32bfb6695bf6d4fb5a26c7",
      "parents": [
        "725fcbf5ec0cbbe7fe9b899fe7acd01c9170c290"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 24 13:51:01 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 24 13:51:58 2009 -0700"
      },
      "message": "DockObserver: minor cleanup.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224",
      "tree": "c35adde6bdba4ccb93a2aefd61a343c0306f3751",
      "parents": [
        "cc0a17cb08c6a6ee2f27c00b7f658e4734fdf0c9"
      ],
      "author": {
        "name": "Li Zhe",
        "email": "jqc837@motorola.com",
        "time": "Fri Aug 14 19:22:16 2009 +0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Aug 21 13:41:05 2009 -0700"
      },
      "message": "Framework changes to support HSDPA/HSUPA/HSPA\nHSDPA: High-Speed Downlink Packet Access\nHSUPA: High-Speend Uplink Packet Access\nHSPA:  High-Speed Packet Access\n\nAdd support for HSDPA/HSUPA/HSPA:\n 1) extend TelephonyManager.NETWORK_TYPE for HSDPA/HSUPA/HSPA\n 2) extend ServiceState.RADIO_TECHNOLOGY for HSDPA/HSUPA/HSPA\n 3) set radioTechnology into ServiceState in GsmServiceStateTracker\n 4) change the implementation of TelephonyManager.getNetworkType to\n    solve the competition timing issue between the time of setting\n    system property and the time of receiving notification through\n    PhoneStateListener\n    4.1) add a getNetworkType interface in ITelephony.aidl\n 5) add icons resources for HSDPA/HSUPA/HSPA\n 6) make use of HSDPA/HSUPA/HSPA icons in StatusBarPolicy\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": "a64bf834ffa677405af1c87c9f53eed0cd3853ce",
      "tree": "6e92c9024b708aa8cf0e7e2839d20d071774cd45",
      "parents": [
        "f5d493a54b2320efecfb47d9c8b51092a7fe171f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 19 20:19:33 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 19 21:58:12 2009 -0700"
      },
      "message": "Fix various issues found when testing Mms.\n\nFix some race conditions (check isTeardownRequested).\nFix the passing of mInterfaceName to subtypes (mms, etc).\nFix the generation of CONNECTED message to already active subtypes.\nFix the enabling of Data in DataConnectionTracker.\n\nbug: 2065037\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": "6647da1fa8f5126b09b9ce47ab30f03417eb5700",
      "tree": "2ddc8516f880635b36570a94eac481a65de07c8c",
      "parents": [
        "37e036fb81b36f36afea150d61a4f634d78150af",
        "75e1d3137cdcdb88783795d3f1fe735098330fa8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 19 11:54:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 19 11:54:48 2009 -0700"
      },
      "message": "Merge change 21919 into eclair\n\n* changes:\n  Fix exception when reporting disconn cdma state.\n"
    },
    {
      "commit": "75e1d3137cdcdb88783795d3f1fe735098330fa8",
      "tree": "715f28f5770a1c5ba00661dc51337cc3a0a7190e",
      "parents": [
        "a659744041d0b74b4243fdd448a5fa302a581278"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 19 11:18:53 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 19 11:18:53 2009 -0700"
      },
      "message": "Fix exception when reporting disconn cdma state.\n\nArray out of bounds when checking first element of a 0-length array.\n"
    },
    {
      "commit": "24f1076097588b7db1269044fb55af58bc420e58",
      "tree": "03e99298b69bee7ef8464553237262645bb91426",
      "parents": [
        "220dec2897d739ecb627e46b4cafbd664f4ff762"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Aug 19 09:03:56 2009 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Aug 19 13:12:13 2009 -0400"
      },
      "message": "Check for a timeout \u003c\u003d 0 before adding the vibration.\n\nA timeout of 0 could cause the vibration thread to run with a null pattern and\ncrash the system server. Instead, we should just ignore vibrations that don\u0027t\nmake any sense (similar to ignoring a bad pattern vibration).\n"
    },
    {
      "commit": "cbf15048240ecf460957ac3de98a7efbccbbb754",
      "tree": "1037f5b84fe2a5d19d62915fe2d89ebc79dedc39",
      "parents": [
        "7b6771a97b9abe821e1cc6c126990fe960278f3a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 18 18:29:09 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 18 18:40:01 2009 -0700"
      },
      "message": "Don\u0027t call onSurfaceChanged() if nothing interesting has changed.\n"
    },
    {
      "commit": "41f31b62e5f4a6c9bb3021ffa08a3677afe98d38",
      "tree": "0cdee542b11a6b99c0b9faac8021d1169e646ae8",
      "parents": [
        "6c8dd9841f9958ae64cd2b8540bb5de70247487c",
        "d50066f8d2ab82c2c8ff305c86cc9b39eaca3c28"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Aug 18 17:31:54 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 17:31:54 2009 -0700"
      },
      "message": "am d50066f8: invoke sendMessage instead of dispatchMessage to avoid deadlocks in ActivityManagerService\n\nMerge commit \u0027d50066f8d2ab82c2c8ff305c86cc9b39eaca3c28\u0027 into eclair\n\n* commit \u0027d50066f8d2ab82c2c8ff305c86cc9b39eaca3c28\u0027:\n  invoke sendMessage instead of dispatchMessage to avoid deadlocks in ActivityManagerService\n"
    },
    {
      "commit": "d50066f8d2ab82c2c8ff305c86cc9b39eaca3c28",
      "tree": "66749bef2d23b9819e3d57a9bb7d815e08d28863",
      "parents": [
        "ad4bc607bd236dd9b06df9cf89dc5e14541ff66c"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Aug 18 16:57:41 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Aug 18 17:03:10 2009 -0700"
      },
      "message": "invoke sendMessage instead of dispatchMessage to avoid deadlocks in ActivityManagerService\n"
    },
    {
      "commit": "e9e9bca842473f2e9d343d4248be98f8731a79d1",
      "tree": "efa9313fb0569d80988136660feaa1cce6268dd5",
      "parents": [
        "48134b78d53eca2a0a71799b0901aba5997f2eba"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 18 15:08:22 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 18 15:59:34 2009 -0700"
      },
      "message": "More wallpaper fixes: scroll position, visibility, leaking.\n\nThis fixes a bunch of edge cases in updating the wallpaper\u0027s scroll position\nand visibility when switching between wallpapers and traveling through the UI.\n\nIt also fixes some leaks of wallpaper tokens and windows.\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": "30c0b83490d856c1cd82441c8e2d800a88927237",
      "tree": "5ec1144e77cd97039a04198cd79502a2e3608396",
      "parents": [
        "1d3fb679af17965dec6b5961e2b9845712b118fd",
        "d9d2576017fadcf47589b54e8ee198f48cc19352"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Aug 18 13:00:32 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 13:00:32 2009 -0700"
      },
      "message": "am d9d25760: Remove dead locks in system process when installing packages\n\nMerge commit \u0027d9d2576017fadcf47589b54e8ee198f48cc19352\u0027 into eclair\n\n* commit \u0027d9d2576017fadcf47589b54e8ee198f48cc19352\u0027:\n  Remove dead locks in system process when installing packages\n"
    },
    {
      "commit": "b22293590cb10b1d8722dbf9c226cb58f240d7d5",
      "tree": "e26e594879b7252601c413bd52a68020d1a03d7d",
      "parents": [
        "97e470048a9ce703c7192f08a86b0ce0eed00eaa",
        "82cb029e2a4907ee55fed4a00493b76b3e11a7a1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 12:39:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 12:39:34 2009 -0700"
      },
      "message": "Merge change 21748 into eclair\n\n* changes:\n  Get At command count from Bluetooth headset.\n"
    },
    {
      "commit": "82cb029e2a4907ee55fed4a00493b76b3e11a7a1",
      "tree": "1264377aae5de49f1dbbbf9f1ef14b8655f03e33",
      "parents": [
        "54ba86f0e236a55fb4dc3aabbd81078f586321a5"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 18 11:29:28 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 18 12:38:06 2009 -0700"
      },
      "message": "Get At command count from Bluetooth headset.\n\nPass in the BT headset object when available to the BatteryStats.\n"
    },
    {
      "commit": "5bfc64f8f6d62df30b24841c751e29e942c25596",
      "tree": "3a3680be9f1d4abe9c5b4e70a7ced3096de8cd25",
      "parents": [
        "381d70286c32ae50e04c81d320c84bad4c776f7f"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Aug 18 12:25:30 2009 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Aug 18 14:04:52 2009 -0500"
      },
      "message": "Include the list of registered providers the package manager dumpsys output.\n"
    },
    {
      "commit": "bd022f423a33f0794bb53e5b0720da2d67e4631c",
      "tree": "4def583f15b783ada3d49866a8cd29bcdb1bbe00",
      "parents": [
        "82e7408be29c6c8c6ed80887ea97f48f38b3223d"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 14 18:33:38 2009 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 18 08:24:22 2009 -0700"
      },
      "message": "Bluetooth: API change.\n\nSplit BluetoothDevice into BluetoothDevice and BluetoothAdapter.\n\nBluetoothAdapter: Represents the local BT adapter. Operations on the local\n                  adapter (start a scan, etc).\nBluetoothDevice: Represents a remote BT device. Operations on remote devices\n                 (pair, connect, etc).\n\nIBluetoothDevice.aidl -\u003e Bluetooth.aidl\nBluetoothDeviceService.java -\u003e BluetoothDeviceService.java\n\nTODO:\nJavadoc\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": "d9d2576017fadcf47589b54e8ee198f48cc19352",
      "tree": "7d18abbb1724f4aeab9786707397b1863ae8b9ce",
      "parents": [
        "ace6a5cfc0d14a909b4b95bdfe16609188125baf"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Aug 17 16:57:03 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Aug 17 17:21:56 2009 -0700"
      },
      "message": "Remove dead locks in system process when installing packages\n"
    },
    {
      "commit": "921831b4dcad1898c265889430a32367e99ef6c1",
      "tree": "dd526013adf8304d40270c96ee44718674317598",
      "parents": [
        "1a797546d75d2c85d6fefeefdc55de051aa66018",
        "c9f4eaf4388087f23aa97e55349850f0902a19d3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 12:27:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 12:27:06 2009 -0700"
      },
      "message": "Merge change 21522 into eclair\n\n* changes:\n  Dock changes:Docking station intents\n"
    },
    {
      "commit": "c9f4eaf4388087f23aa97e55349850f0902a19d3",
      "tree": "2ee205d7cb4ef19df62cbb9e1afa568b63cd7d80",
      "parents": [
        "56e7ba2928bce62283a62ad1c9d9f1ec7b54c24c"
      ],
      "author": {
        "name": "Dan Murphy",
        "email": "D.Murphy@motorola.com",
        "time": "Wed Aug 12 15:15:43 2009 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 15:23:24 2009 -0400"
      },
      "message": "Dock changes:Docking station intents\n\nDocking station intents for dock switch driver.\nAdd DockObserver and updated Intent.java and systemserver.jave\n\nSigned-off-by: Dan Murphy \u003cD.Murphy@motorola.com\u003e\n\n\tmodified:   core/java/android/content/Intent.java\n\tnew file:   services/java/com/android/server/DockObserver.java\n\tmodified:   services/java/com/android/server/SystemServer.java\n\nDocking station updates\n\nAdd constants for the dock\n\nSigned-off-by: Dan Murphy \u003cD.Murphy@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1a797546d75d2c85d6fefeefdc55de051aa66018",
      "tree": "fc11eaf56f7e1f2a52aca38431cc3619e00d566e",
      "parents": [
        "54ba86f0e236a55fb4dc3aabbd81078f586321a5",
        "7341d7a104b47996445d069a695e155a07184606"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 11:46:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 11:46:57 2009 -0700"
      },
      "message": "Merge change 21380 into eclair\n\n* changes:\n  More work on wallpapers.\n"
    },
    {
      "commit": "9dc2355b9bdfdaadb72936b5ad865193a2af58c8",
      "tree": "f211ef4c5efcea9b30e6b193b32f0c4d15a3b1f5",
      "parents": [
        "56e7ba2928bce62283a62ad1c9d9f1ec7b54c24c",
        "00717e2d04cc2c273da9eae4d0dfe61621c7c08d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 10:47:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 10:47:06 2009 -0700"
      },
      "message": "Merge change 21492 into eclair\n\n* changes:\n  WifiService: Hash based on both SSID and BSSID in scan result cache.\n"
    },
    {
      "commit": "7341d7a104b47996445d069a695e155a07184606",
      "tree": "1be8efee3847179fbb0ed4d556be029ad23f5832",
      "parents": [
        "56e7ba2928bce62283a62ad1c9d9f1ec7b54c24c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 14 11:37:52 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 10:42:59 2009 -0700"
      },
      "message": "More work on wallpapers.\n\n- Do better about figuring out when to stop them and other related window\n  management.\n- Fix problem where we were not redrawing the surface when the orientation\n  changed.  This was the cause of the device hang.\n"
    },
    {
      "commit": "c6cc836f88349e871c2aa7579223c9220e95e5b0",
      "tree": "08f7fcfd710a7eb7500b36e85d0c18df8220ab6e",
      "parents": [
        "6ba7ae1e4c3c04f6a71380b913ad79f83b00a628"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 13:16:08 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 13:16:08 2009 -0400"
      },
      "message": "LocationManagerService: Add NullPointerException to avoid change in behavior.\n\nAfter fixing a null pointer check we were no longer throwing NullPointerExceptions\nwhich caused a CTS test to fail.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "00717e2d04cc2c273da9eae4d0dfe61621c7c08d",
      "tree": "7c043f615036d82353528116e54184c6cb3beca5",
      "parents": [
        "6ba7ae1e4c3c04f6a71380b913ad79f83b00a628"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 10:09:36 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 10:09:36 2009 -0400"
      },
      "message": "WifiService: Hash based on both SSID and BSSID in scan result cache.\n\nFixes problem with base stations that have multiple SSIDs.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6ba7ae1e4c3c04f6a71380b913ad79f83b00a628",
      "tree": "9157688ebf55cb34d22df4405ffa1f615e1042dc",
      "parents": [
        "0ff7a463ad7fe6ca7b0ab3afcf566bfdc69a00f0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 08:39:12 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 08:39:12 2009 -0400"
      },
      "message": "LocationManagerService: Fix null pointer check in sendExtraCommand().\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "06952d9299c23ee15df0825e75934971cfecf2ba",
      "tree": "17c6acac8c7ffc4875d2e0ee7e1840772a4e6307",
      "parents": [
        "8af2d22552c61d8d4e09e52287f056428172ab05"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 13 16:05:38 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 17 06:56:43 2009 -0400"
      },
      "message": "DO NOT MERGE - cherry-picked from master:\n\nPowerManager: Fix problem waking screen from negative proximity sensor events.\n\nFixes bug b/2048591\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "82726f045de91b899502a54ca76d234c43a1ba4b",
      "tree": "5531f2e91f7e7b52c66e9a9672a23943fce67cdd",
      "parents": [
        "c650bf583dbed8701da9a49b9dbd9023768f0df8",
        "0f79b54c3a0b4141b1da38fa301571a89e165632"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 14 18:41:56 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 14 18:41:56 2009 -0700"
      },
      "message": "Merge change 21298 into eclair\n\n* changes:\n  ConnectivityService: Do not send broadcasts until the system is ready.\n"
    },
    {
      "commit": "b1ac1a86dc656a3f27ab1256641b46f89ac1cb47",
      "tree": "01e70d0ffe5c89935b6ad10df198c8e19e010866",
      "parents": [
        "a8dfe24da014b52d7ae93c3fbd7a8b88ec336572"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 14 12:12:31 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 14 12:12:31 2009 -0700"
      },
      "message": "Turn off static live wallpaper for now.\n"
    },
    {
      "commit": "0f79b54c3a0b4141b1da38fa301571a89e165632",
      "tree": "b407f538f02b86db5855fc4d5d11c307f7a126e7",
      "parents": [
        "68e530047786b4f9d219d17652d7429e6e5a21bd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 14 14:18:49 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 14 15:09:11 2009 -0400"
      },
      "message": "ConnectivityService: Do not send broadcasts until the system is ready.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    }
  ],
  "next": "0cd48879dca53a9f4d449126d406527bc4b94baf"
}
