)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "0cd48879dca53a9f4d449126d406527bc4b94baf",
      "tree": "2cd5f92bbb63f0b9183cebe52cf2420b9f85e031",
      "parents": [
        "1d47a5142682c1f9f9a04fdbe1ec863fd5550c30"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 13 18:51:59 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 13 19:24:07 2009 -0700"
      },
      "message": "A little more wallpaper robustness.\n\n- Recover if a live wallpaper is crashing repeatedly.\n- Don\u0027t crash when someone tries to set a static wallpaper.\n- Make the static wallpaper update correctly when the image changes.\n"
    },
    {
      "commit": "317a6280cc109e873646e4652be1582d870eedfd",
      "tree": "3b6d41d465282970f498e172b81ed0ee83e3183e",
      "parents": [
        "81655243a6a373cfde1e689970eeb62af19622d1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 13 17:29:02 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 13 18:19:32 2009 -0700"
      },
      "message": "Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.\n\nthis also ripples into the window manager API by making some constant there deprecated as well.\n"
    },
    {
      "commit": "f21adf6fc19bc9c6908c6f1aaae203389f104bfa",
      "tree": "cb8ef5ad4095de96582b50f51a47bf483abda3be",
      "parents": [
        "455e3af1f82629d274447cd5d08d3c8dc1c58967"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 13 10:20:21 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 13 17:14:39 2009 -0700"
      },
      "message": "Always have a wallpaper service running.\n"
    },
    {
      "commit": "0749dcd19301fe4093f9cf8677c722d17bceabfb",
      "tree": "47d8c3c6a33915475b99ce1d233d398365a38f72",
      "parents": [
        "763101efcdcf306142af891f98eaaa971e6edaf0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Aug 13 15:13:03 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Aug 13 15:15:55 2009 -0700"
      },
      "message": "Backup participants must now hold the BACKUP_DATA permission\n\nPackages that do not use android.permission.BACKUP_DATA will neither be backed\nup nor restored.  That permission is currently signature-only.  In the future if\naccess to the backup/restore infrastructure is made available to arbitrary 3rd\nparty applications, the permission checks (and indeed, the permission itself)\ncan simply be removed.\n"
    },
    {
      "commit": "f71db95992dab3ea1c5b22baa9772761282ee287",
      "tree": "acd4b8efbe7fac405ab0596be8cc3c814751582b",
      "parents": [
        "a9085a59ecdd3bf05fe997c790a5a5146f3a97f6",
        "6639bb65c5ebb9493afba6d701a22223ac45ba04"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 14:04:37 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 14:04:37 2009 -0700"
      },
      "message": "Merge change 21134\n\n* changes:\n  Add a more compact representation of usage stats.\n"
    },
    {
      "commit": "a9085a59ecdd3bf05fe997c790a5a5146f3a97f6",
      "tree": "336e3b1527650d10c16e18b39f798133c5f80070",
      "parents": [
        "bcda5e039ff44d3510d18857ba4538e38c619d21",
        "42acef37339afe6ac608c842f1637870ee9c4f6c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 14:02:08 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 13 14:02:08 2009 -0700"
      },
      "message": "Merge change 20853\n\n* changes:\n  Add net type to mobile for mobile-required traffic\n"
    },
    {
      "commit": "6639bb65c5ebb9493afba6d701a22223ac45ba04",
      "tree": "9fd41cb21c1f417d445063da97b2ed36494aa0a9",
      "parents": [
        "0867e69176858e258b620a1b3acff2363c95b87d"
      ],
      "author": {
        "name": "Christian Sonntag",
        "email": "cxs@dhcp-172-31-153-155.sfo.corp.google.com",
        "time": "Thu Aug 13 11:51:13 2009 -0700"
      },
      "committer": {
        "name": "Christian Sonntag",
        "email": "cxs@google.com",
        "time": "Thu Aug 13 12:02:14 2009 -0700"
      },
      "message": "Add a more compact representation of usage stats.\n\nWe are replaceing the package name in the activity name with a * iff the activity is in the\nsame package, otherwise the activity name is pritned out in full.\nThis small change will remove a lot of bytes (in the order of kilobytes for a real log) from the logged data on the network and downstream processing,\nsince the package name is repeated in almost all cases.\n\n An exampe of the new format is here:\n DUMP OF SERVICE usagestats:\n D:4,20090813\n P:com.android.launcher,4,155456\n A:*.Launcher,4,0,0,0,0,0,0,0,0,0,2\n P:com.android.browser,1,6724\n A:*.BrowserActivity,1,0,0,0,0,0,0,0,0,0,0\n A:*.CombinedBookmarkHistoryActivity,1,0,0,0,0,0,0,0,0,0,1\n P:com.google.android.apps.maps,1,2219\n A:com.google.android.maps.MapsActivity,1,0,0,0,0,0,0,0,0,0,0\n P:com.android.contacts,1,0\n A:*.DialtactsActivity,1,0,0,0,0,0,0,0,0,0,1\n"
    },
    {
      "commit": "766cbfe44be3c5013a6a22bd6cd8ad1055a37256",
      "tree": "6421896684d28f3483fd60de185ed8dc63d4aa44",
      "parents": [
        "2cd0a5c6aab3089b5b7edeeae808405b077d13cd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 18:33:39 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 21:40:05 2009 -0700"
      },
      "message": "Add new API to compare certs of two UIDs.\n"
    },
    {
      "commit": "2a2b34434a256cf0e035e97580b310f997f9fcd3",
      "tree": "87a8a6f72bcc92fa43c94c62d44c7f69d5e4b8f6",
      "parents": [
        "72c82ab9923025a91bbabb32e56bfea27bfd083b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 17:13:55 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 17:13:55 2009 -0700"
      },
      "message": "Fix issue #2045895: Finger IDs are not tracked properly.\n\nThis was a problem with not dealing well with how the driver was\nreporting data in the old touch protocol.\n\nAlso fixed issue with not correctly rotating non-primary touches.\n"
    },
    {
      "commit": "42acef37339afe6ac608c842f1637870ee9c4f6c",
      "tree": "22b2f834f5bcd73389e8e9e3bd1a40348e5767fe",
      "parents": [
        "eeb175fb120668336e241e4708459a24faf103ec"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 12 16:08:25 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Aug 12 16:08:25 2009 -0700"
      },
      "message": "Add net type to mobile for mobile-required traffic\n\nThis also refactors ConnectivityService a bit towards supporting multiple simultaneous connections by making each a seem like a seperate Network with it\u0027s own stateTracker, etc.\nAlso adds tracking of process death to clean orphaned startUsingNetworkFeature features.\n"
    },
    {
      "commit": "72c82ab9923025a91bbabb32e56bfea27bfd083b",
      "tree": "2a97f8a85bc5f23c13e3f7a6476533bec88c81a7",
      "parents": [
        "a5f743f1fc7c5037ee7ad4ab611115b6d44af5b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 11 21:13:54 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 14:41:29 2009 -0700"
      },
      "message": "Report wallpaper offset to the wallpaper, use this in the image wallpaper.\n\nWallpapers can now be just the size of the screen, and get told when their\nscroll position should change to do the updating on their own.\n"
    },
    {
      "commit": "e7037b6c9ec41fd93eebc03bdba120a95d47dc6f",
      "tree": "c16403bda45a54369459f5c6d59526ddce053cde",
      "parents": [
        "71a08c1d78f3a152253ca51679e14bd33bfbaccd",
        "fe6e733a01b1ab8a6c7b651c65bf7abeb97f9525"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 12:36:47 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 12 12:36:47 2009 -0700"
      },
      "message": "am fe6e733a: Merge change 20960 into donut\n\nMerge commit \u0027fe6e733a01b1ab8a6c7b651c65bf7abeb97f9525\u0027\n\n* commit \u0027fe6e733a01b1ab8a6c7b651c65bf7abeb97f9525\u0027:\n  Fix issue #2049588: App widget can crash causing system to be unable to boot\n"
    },
    {
      "commit": "90f77218a24ac66bea52faef79c30d45420ce135",
      "tree": "d2925354575662d31307cb4affd52f5d5c97ee80",
      "parents": [
        "0914e0c1015e0331467d50622c1fe3d2557473bf",
        "b8546001701405a76dad7e6235046e592296fac2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 12:36:12 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 12 12:36:12 2009 -0700"
      },
      "message": "am b8546001: Merge change 20878 into donut\n\nMerge commit \u0027b8546001701405a76dad7e6235046e592296fac2\u0027\n\n* commit \u0027b8546001701405a76dad7e6235046e592296fac2\u0027:\n  Fix issue #2048263: More debugging information\n"
    },
    {
      "commit": "fe6e733a01b1ab8a6c7b651c65bf7abeb97f9525",
      "tree": "d6b7348b9e8d5ff768f3a4da52778ab8aefeefb0",
      "parents": [
        "4cc16a7b9f146c4a324202db6b1777d2e0150fc3",
        "002716d49a27d72efff810418b08c1ec8620aa8c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 12 11:29:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 12 11:29:59 2009 -0700"
      },
      "message": "Merge change 20960 into donut\n\n* changes:\n  Fix issue #2049588: App widget can crash causing system to be unable to boot\n"
    },
    {
      "commit": "002716d49a27d72efff810418b08c1ec8620aa8c",
      "tree": "c3ca07e3047cb7bded55fc693bae7cccebfe26f3",
      "parents": [
        "b3fa1084ba31698fa5c58150a713d7abbadb1cd2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 11:13:26 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 12 11:13:26 2009 -0700"
      },
      "message": "Fix issue #2049588: App widget can crash causing system to be unable to boot\n"
    },
    {
      "commit": "07a500f0de2243b832e258ed477652a10cbd2d08",
      "tree": "7ebbbcc116d05de1600da07f2555357cd6971560",
      "parents": [
        "2ec8458c5fd5b1bfad2d6e16b606f5acbcfa34cc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 12 09:56:44 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 12 09:59:32 2009 -0400"
      },
      "message": "BatteryService: Fix problems shutting down when the battery is dead:\n\nWait until system is booted before attempting to display the shutdown dialog.\nUse ShutdownActivity rather than attempting to run ShutdownThread in the battery service.\nFix logic error (check !isPowered() instead of isPowered())\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "82e1ee93eece8fb0aec6acc3ef4ee7b1c86feec7",
      "tree": "b7b376fc569f6d6fde7c69c8f832f3c52152f408",
      "parents": [
        "b3fa1084ba31698fa5c58150a713d7abbadb1cd2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 11 18:56:41 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 11 18:56:41 2009 -0700"
      },
      "message": "Fix issue #2048263: More debugging information\n\nWe now hopefully do better about generating the anr reports, and include\ninformation about the malloc loaded assets in meminfo.\n"
    },
    {
      "commit": "df1d0ff4ba706e7c8e5eb8b6c548a4313efa266c",
      "tree": "c57c8dfae1ed3609b28616abad68b4ae1fd242fd",
      "parents": [
        "29d85df051ca5e888a8f2b42416d09fc931d1a75",
        "0e0b4ae5bc5c652c8339d71ed9667e1e37baaa03"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 11 17:28:49 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 11 17:28:49 2009 -0700"
      },
      "message": "Merge change 20858\n\n* changes:\n  Don\u0027t let bmgr leave a restore session hanging on error\n"
    },
    {
      "commit": "0e0b4ae5bc5c652c8339d71ed9667e1e37baaa03",
      "tree": "42fa43521b6d394421d9f93f8191da457876ec63",
      "parents": [
        "a1cbccd7b31f3c33ea46b7fe2a287168eb672056"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Aug 10 16:13:47 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Tue Aug 11 17:25:12 2009 -0700"
      },
      "message": "Don\u0027t let bmgr leave a restore session hanging on error\n\nSpecifically, don\u0027t wait for the RestoreObserver to be informed that the restore\nhas completed unless performRestore() ran.  We were winding up in a case where\nbmgr was hanging forever waiting on a nonexistent restore process instead of\ncalling endRestoreSession().\n\nAlso improve the documentation, explicitly calling out the need to call\nendRestoreSession() even if previous operations on the session were\nunsuccessful.\n"
    },
    {
      "commit": "c8a0a75e1c61d1ab24bd46a8243041c107e738ac",
      "tree": "2fb0685253fe71e77f91e0ca7259c83a2b91cae8",
      "parents": [
        "2ce89adde442fac551413362ea442caa088c25e4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 10 23:05:49 2009 -0700"
      },
      "committer": {
        "name": "Cary Clark",
        "email": "cary@android.com",
        "time": "Tue Aug 11 10:03:16 2009 -0400"
      },
      "message": "Implement support for scrolling a wallpaper.\n\nThis currently only works for a wallpaper that is larger than the\nscreen.  Set the scroll position with the new wallpaper API.  Right\nnow only does jump scrolls.\n"
    },
    {
      "commit": "f2c321aeff64ac0b980c34b948755d52ddd52516",
      "tree": "52a6171799faeefe3644f077bea02cea0db4ac88",
      "parents": [
        "07cbacc11705f1f05a1150083aad000c53942dea"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Aug 10 15:43:36 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Aug 10 15:43:36 2009 -0700"
      },
      "message": "Print restore tokens in hex\n"
    },
    {
      "commit": "759a39e8d2a8b27ef07e102394629dce68aa186b",
      "tree": "acf932f5da454591ce3399df4888b84d4242c2c1",
      "parents": [
        "29b8fca9fde246c1dc5acd8d09f4f78f611772a1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 09 17:20:27 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 09 17:20:27 2009 -0700"
      },
      "message": "Live wallpapers become a little more real.\n\nThis adds a new theme for having a wallpaper, and fixes up the window manager\nto do the right thing when transitioning between a windows with and without\nwallpapers (between two windows with wallpapers is not yet addressed).\n\nThe wallpaper API now has callbacks to tell you when to start/stop animating.\n\nAlso fiddle the image wallpaper to be a little more interesting.\n"
    },
    {
      "commit": "4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3",
      "tree": "4bda953a3a1e32695c3c22006dc320b6a0cbcb1b",
      "parents": [
        "542040c51c49874c92d01381de1b1986cb53b4dd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Aug 08 20:40:27 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Aug 08 22:13:46 2009 -0700"
      },
      "message": "Very primitive wallpapers in a surface.\n\nThis is all of the basic pieces:\n\n- The WallpaperService now creates a surface with the window manager for its\n  contents.\n- There is a simple service that displays a bitmap.\n- The wallpaper manager takes care of starting and stopping the service.\n- The window manager knows about wallpaper windows and how to layer them with\n  the windows that want to be shown on top of wallpaper.\n\nLots and lots of issues remain, but at this point you can actually write a\nwallpaper service, select it in the UI, and see it behind an activity.\n"
    },
    {
      "commit": "2e6bca690197978bb23cdcf31d948383bdb14c91",
      "tree": "c41ff6d40120c2c0c4e6d98417061beeb6598fb8",
      "parents": [
        "c0f0115279adf7d3ee97defb6bdc9ff67b41cd36"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 07 20:26:13 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 07 20:28:33 2009 -0700"
      },
      "message": "Temporarily rollback a change that\u0027s causing SetupWizard failures during restore. #2042337\n\nDon\u0027t kill the process of the package that\u0027s being restored. This is causing a chain\nreaction of killing a provider needed by the setup process.\n"
    },
    {
      "commit": "509ca0792b7cb14ddcea7d2c7e83159d0621e725",
      "tree": "deb3b00b16d71a5481344ab1570e14a1ba376a93",
      "parents": [
        "341096ffa88d915927d13e6ebaf536f5a70f97aa",
        "75b2aed2769f6287edf2fc6d30d5ba6eaace5efd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 06 15:10:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 06 15:10:57 2009 -0700"
      },
      "message": "Merge change 20331\n\n* changes:\n  KeyInputQueue: get the name of the virtual-keys file from the input-device name\n"
    },
    {
      "commit": "4d426b94475ac5e8e2ae61b05cf67176bf606d46",
      "tree": "5ffc69a23aafbfc68f4c591d70068b23b6bdd791",
      "parents": [
        "597543c5e750bc5373855a8643aa18759625a2a3",
        "9dfdac5b088d91b905f4f24822b76f4a0883f9d6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 06 15:03:00 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 06 15:03:00 2009 -0700"
      },
      "message": "Merge change 20333\n\n* changes:\n  Clear app data via the Activity Manager, not Package Manager\n"
    },
    {
      "commit": "9dfdac5b088d91b905f4f24822b76f4a0883f9d6",
      "tree": "b0d19c881927d30856a59765e37cefe796962e0f",
      "parents": [
        "d87c19f7d7d7c25638e21d3b8a176b0573369493"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Aug 06 14:57:53 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Aug 06 14:57:53 2009 -0700"
      },
      "message": "Clear app data via the Activity Manager, not Package Manager\n\nThis is because doing it through the Activity Manager also makes sure that the\napp has been shut down first, which is quite a desirable invariant for restore\nhandling.\n"
    },
    {
      "commit": "75b2aed2769f6287edf2fc6d30d5ba6eaace5efd",
      "tree": "2a0c9d53a61bfdd41be421d2c97943f2992a944d",
      "parents": [
        "fc2ebc473bbca6f9e6e30ea5de979c4852f35319"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 06 14:50:57 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 06 14:52:13 2009 -0700"
      },
      "message": "KeyInputQueue: get the name of the virtual-keys file from the input-device name\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    }
  ],
  "next": "4cba59cb1f8bd30f033fb011300e478e899be084"
}
