)]}'
{
  "log": [
    {
      "commit": "a9d0771377a1208cfaab7c7b2bf68332ab370f49",
      "tree": "a1e4a3531da4ee2f0490fcadab4b576d12788e1d",
      "parents": [
        "cedd71b8217efd2d2310570d8875a7686ca8f760",
        "5fe7b4094791b898f8ffcc166c621a2bc5b05c1e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:22:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 19:22:51 2010 -0700"
      },
      "message": "am 5fe7b409: am 1484b6d6: Merge \"Fix \"incall in landscape sometimes\" bug #2523942\" into froyo\n\nMerge commit \u00275fe7b4094791b898f8ffcc166c621a2bc5b05c1e\u0027 into kraken\n\n* commit \u00275fe7b4094791b898f8ffcc166c621a2bc5b05c1e\u0027:\n  Fix \"incall in landscape sometimes\" bug #2523942\n"
    },
    {
      "commit": "5fe7b4094791b898f8ffcc166c621a2bc5b05c1e",
      "tree": "9b1d3ce4e8753b3965fa593e7d82edc93c7fc93a",
      "parents": [
        "24903fecb0607b7972d4576e9efd258a7e9590f4",
        "1484b6d6b75e13dd96b0f47158926d7989808272"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:18:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 19:18:09 2010 -0700"
      },
      "message": "am 1484b6d6: Merge \"Fix \"incall in landscape sometimes\" bug #2523942\" into froyo\n\nMerge commit \u00271484b6d6b75e13dd96b0f47158926d7989808272\u0027 into froyo-plus-aosp\n\n* commit \u00271484b6d6b75e13dd96b0f47158926d7989808272\u0027:\n  Fix \"incall in landscape sometimes\" bug #2523942\n"
    },
    {
      "commit": "1484b6d6b75e13dd96b0f47158926d7989808272",
      "tree": "dd1d210a42efd5560bd1401314040a9ed0267ffc",
      "parents": [
        "fc5aa9cfd103258c45fe1d6c072e93f227a044d8",
        "b696aee7b30487feaf6188675a3f01e13ac65a13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:14:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 19:14:58 2010 -0700"
      },
      "message": "Merge \"Fix \"incall in landscape sometimes\" bug #2523942\" into froyo"
    },
    {
      "commit": "b696aee7b30487feaf6188675a3f01e13ac65a13",
      "tree": "978284ac5141acc7a2c9c608b6d2d86e9c257ca3",
      "parents": [
        "29039deea99a5529d92f7add3f9077ab247d3acd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:08:30 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:13:51 2010 -0700"
      },
      "message": "Fix \"incall in landscape sometimes\" bug #2523942\n\nThe problem turns out to have been a deep weirdness in the way that keyguard\nand incall interact.  Incall gets relaunched when the keyboard is opened/closed,\nwhich transiently exposes keyguard with its nosensor orientation demands, and\nthat plus the long keyguard-hide animation was leaving incall in a bad state\nfrom which the window manager didn\u0027t try to recover.\n\nWe now disregard animating-towards-hidden windows [i.e. keyguard] when running\nthrough the app tokens to determine what orientation should be, and do not do\nconfiguration calculations at all while the display is frozen.  There can still\nbe a transient state in which incall is drawn in landscape, but things proceed\nfrom there to relaunch it back into the proper portrait orientation, and it\nends up in the right state in the end.\n\nChange-Id: I0d74ee19064b6d7f65600976f1b5b16b7ec36f31\n"
    },
    {
      "commit": "db83a6f56c54055b1e62da9fe97eb4def0669b3f",
      "tree": "b2af889bac0e361dc58e25d1f1937cc9dd016c15",
      "parents": [
        "5130073d1788e5860d55f617da3fdc906d9a3cb7",
        "90bd943364af8af8e3409f3fffe409f724a4210b"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:53:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 12:53:49 2010 -0700"
      },
      "message": "am 90bd9433: am 9c50996b: Merge \"Dont start wifi if in airplane mode\" into froyo\n\nMerge commit \u002790bd943364af8af8e3409f3fffe409f724a4210b\u0027 into kraken\n\n* commit \u002790bd943364af8af8e3409f3fffe409f724a4210b\u0027:\n  Dont start wifi if in airplane mode\n"
    },
    {
      "commit": "5130073d1788e5860d55f617da3fdc906d9a3cb7",
      "tree": "7b770bddcab21d6a764d116d80eb726f695e5017",
      "parents": [
        "1f857164a5c60b94d2ee5d9003dc9e4c5af9b757",
        "21f15f68c2940a87954d9889e208ffbbed2c1995"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Apr 02 12:53:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 12:53:45 2010 -0700"
      },
      "message": "am 21f15f68: am a77acab9: Merge \"Handle exceptions when doing dexopt.\" into froyo\n\nMerge commit \u002721f15f68c2940a87954d9889e208ffbbed2c1995\u0027 into kraken\n\n* commit \u002721f15f68c2940a87954d9889e208ffbbed2c1995\u0027:\n  Handle exceptions when doing dexopt.\n"
    },
    {
      "commit": "90bd943364af8af8e3409f3fffe409f724a4210b",
      "tree": "9e5cd1b33d939bf96ce3d4832c3cd454a23b42a5",
      "parents": [
        "21f15f68c2940a87954d9889e208ffbbed2c1995",
        "9c50996b175a1ee4b0069cba5163310c0189ac36"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:51:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 12:51:05 2010 -0700"
      },
      "message": "am 9c50996b: Merge \"Dont start wifi if in airplane mode\" into froyo\n\nMerge commit \u00279c50996b175a1ee4b0069cba5163310c0189ac36\u0027 into froyo-plus-aosp\n\n* commit \u00279c50996b175a1ee4b0069cba5163310c0189ac36\u0027:\n  Dont start wifi if in airplane mode\n"
    },
    {
      "commit": "21f15f68c2940a87954d9889e208ffbbed2c1995",
      "tree": "c0566af2a88188229fc9371b4b78fc2d16b30afb",
      "parents": [
        "f0e62b7a50e3f72a6e7bad510a2d605656b297ad",
        "a77acab9c623a8b63b46d14686cf1a86dd863289"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Apr 02 12:51:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 12:51:01 2010 -0700"
      },
      "message": "am a77acab9: Merge \"Handle exceptions when doing dexopt.\" into froyo\n\nMerge commit \u0027a77acab9c623a8b63b46d14686cf1a86dd863289\u0027 into froyo-plus-aosp\n\n* commit \u0027a77acab9c623a8b63b46d14686cf1a86dd863289\u0027:\n  Handle exceptions when doing dexopt.\n"
    },
    {
      "commit": "9c50996b175a1ee4b0069cba5163310c0189ac36",
      "tree": "79e91be91975c36b2b33f3ddd733b5f40a8b8b3b",
      "parents": [
        "a77acab9c623a8b63b46d14686cf1a86dd863289",
        "60e3ba071d2b129906e92981d1615a46febd825a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:47:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 12:47:45 2010 -0700"
      },
      "message": "Merge \"Dont start wifi if in airplane mode\" into froyo"
    },
    {
      "commit": "a77acab9c623a8b63b46d14686cf1a86dd863289",
      "tree": "6c9f337209566b43aeee84bcf5e6437c4ddefe74",
      "parents": [
        "29039deea99a5529d92f7add3f9077ab247d3acd",
        "73dafa1f6630a5209b0a0626c46e18f73614accc"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Apr 02 12:46:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 12:46:38 2010 -0700"
      },
      "message": "Merge \"Handle exceptions when doing dexopt.\" into froyo"
    },
    {
      "commit": "60e3ba071d2b129906e92981d1615a46febd825a",
      "tree": "80d6dcbdd23bbb9549cd5c145698a831b15c43e2",
      "parents": [
        "59610c041a9cdd45e1040a7a4592af42f49d7a5d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:18:45 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:43:04 2010 -0700"
      },
      "message": "Dont start wifi if in airplane mode\n\nNow that wifi start is asynchronous\nat the time of bring up, make sure\nWifi is not started if in airplane\nmode.\n\nBug: 2567652\nChange-Id: I947b7c8480029973bcbf028f6143aabbc88c9793\n"
    },
    {
      "commit": "e21dd4edbbe4bc04e760b5dab3f3378c45ca1ed7",
      "tree": "07ae0d163de5e4009444e4d8a35c189175ff55d3",
      "parents": [
        "a269a54e07c0da62a601cbdf3959582500e2afea",
        "750edffbc0fe528b93097f9ce909f446540cfff5"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 11:03:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 11:03:13 2010 -0700"
      },
      "message": "am 750edffb: am 25642f0b: Merge \"Make desk mode work again.\" into froyo\n\nMerge commit \u0027750edffbc0fe528b93097f9ce909f446540cfff5\u0027 into kraken\n\n* commit \u0027750edffbc0fe528b93097f9ce909f446540cfff5\u0027:\n  Make desk mode work again.\n"
    },
    {
      "commit": "750edffbc0fe528b93097f9ce909f446540cfff5",
      "tree": "b5eb0484e16e262acacface739982f1342ca22c3",
      "parents": [
        "3667b9b471a6585d22106cbfe4a04111ca86643c",
        "25642f0b16bc0584605ab1d0c327b1b1b3c1909e"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:59:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 02 10:59:41 2010 -0700"
      },
      "message": "am 25642f0b: Merge \"Make desk mode work again.\" into froyo\n\nMerge commit \u002725642f0b16bc0584605ab1d0c327b1b1b3c1909e\u0027 into froyo-plus-aosp\n\n* commit \u002725642f0b16bc0584605ab1d0c327b1b1b3c1909e\u0027:\n  Make desk mode work again.\n"
    },
    {
      "commit": "25642f0b16bc0584605ab1d0c327b1b1b3c1909e",
      "tree": "5fda0b59e3c77cc4bb95ad513568f3f07d87d545",
      "parents": [
        "30ed25c252e9eb9923d71676e8f703bb775b7cdf",
        "8daf2a47995b4522bceb38eef8c310268b1d91b0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:54:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 10:54:57 2010 -0700"
      },
      "message": "Merge \"Make desk mode work again.\" into froyo"
    },
    {
      "commit": "8daf2a47995b4522bceb38eef8c310268b1d91b0",
      "tree": "44bde15b0ad2120e015dac90310c6fcb442dca57",
      "parents": [
        "3fe1708d9d204fa63e8abe6e434378d89e963752"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:15:09 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:15:09 2010 -0400"
      },
      "message": "Make desk mode work again.\n\nBug: 2564612\nChange-Id: I858a86d14a6840f5f587343a64c5d0c4bc5d5263\n"
    },
    {
      "commit": "73dafa1f6630a5209b0a0626c46e18f73614accc",
      "tree": "6648c661b173e332f762b2011f1ee472de97933f",
      "parents": [
        "2d8234b73d11fdc2178232cabad3ffaa23723405"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 01 16:31:31 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 01 21:02:21 2010 -0700"
      },
      "message": "Handle exceptions when doing dexopt.\n\nChange-Id: Iaeba98ef9fef2f1dbf3dbe2e8e4497dae8d0fe7f\n"
    },
    {
      "commit": "4e925f8afb6f94a9867145d252d186eb65e79ccf",
      "tree": "561c4dc46a589e9b5436dc64158e60b2c7350099",
      "parents": [
        "86a09e4d769cea6a470e83180ace516e4c6bbc9d",
        "cab133a7fa39969f136e3f401f97f6ce843514bb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 01 10:27:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 01 10:27:04 2010 -0700"
      },
      "message": "am cab133a7: am 33eb7767: Merge \"NetworkManagementService: Add interface counters \u0026 throttle API\" into froyo\n\nMerge commit \u0027cab133a7fa39969f136e3f401f97f6ce843514bb\u0027 into kraken\n\n* commit \u0027cab133a7fa39969f136e3f401f97f6ce843514bb\u0027:\n  NetworkManagementService: Add interface counters \u0026 throttle API\n"
    },
    {
      "commit": "cab133a7fa39969f136e3f401f97f6ce843514bb",
      "tree": "22570ae81404991143aa5ad577179cbd6492fbf0",
      "parents": [
        "4ba57a4e0ab56126e54d5c7137cfda1d47845578",
        "33eb7767fb49482643df80c8b5567da83aa0e49f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 01 10:22:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 01 10:22:51 2010 -0700"
      },
      "message": "am 33eb7767: Merge \"NetworkManagementService: Add interface counters \u0026 throttle API\" into froyo\n\nMerge commit \u002733eb7767fb49482643df80c8b5567da83aa0e49f\u0027 into froyo-plus-aosp\n\n* commit \u002733eb7767fb49482643df80c8b5567da83aa0e49f\u0027:\n  NetworkManagementService: Add interface counters \u0026 throttle API\n"
    },
    {
      "commit": "91cac64cd010e6b4006fdd14b39dbc75778f20cb",
      "tree": "4db61525fc553585f0744357c2ced35584443b33",
      "parents": [
        "461cef5d209fd072c82f6a70eb106e4690b7ef97"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 31 14:31:36 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 01 08:34:20 2010 -0700"
      },
      "message": "NetworkManagementService: Add interface counters \u0026 throttle API\n\nChange-Id: I4976549cdbb027ba7859335e69bf866e738961c9\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "d0b5b3cb6118269fac00af14b81ab974763937ca",
      "tree": "359dda20172cbb9c80b1be79c0728b8612bc33eb",
      "parents": [
        "aa3bbe9c9f480ca6114befaa6739d0d51f7d5629",
        "2d8d4d7b16b474ef58c86ae9ccd3dc70d7132c23"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:23:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:23:16 2010 -0700"
      },
      "message": "am 2d8d4d7b: am 513ae361: Merge \"Fix issue #2560791: Expose API to go in to car mode.\" into froyo\n\nMerge commit \u00272d8d4d7b16b474ef58c86ae9ccd3dc70d7132c23\u0027 into kraken\n\n* commit \u00272d8d4d7b16b474ef58c86ae9ccd3dc70d7132c23\u0027:\n  Fix issue #2560791: Expose API to go in to car mode.\n"
    },
    {
      "commit": "aa3bbe9c9f480ca6114befaa6739d0d51f7d5629",
      "tree": "f1a33ad61a023fe348fc82c64cd4aa452c555e40",
      "parents": [
        "3946101cc66421eae8f8b37949ea453a2b05a230",
        "025f3933cfc21655bfc5a5068c69303f1fe321ee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:23:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:23:10 2010 -0700"
      },
      "message": "am 025f3933: am 686f7911: Merge \"Fix issue #2561067: Screen Display half faded...\" into froyo\n\nMerge commit \u0027025f3933cfc21655bfc5a5068c69303f1fe321ee\u0027 into kraken\n\n* commit \u0027025f3933cfc21655bfc5a5068c69303f1fe321ee\u0027:\n  Fix issue #2561067: Screen Display half faded...\n"
    },
    {
      "commit": "392be3fa3d7c5e33ddb1dd85893bc4eaee170252",
      "tree": "5975a21f7ed93826414d0affdaa8adf205e5415f",
      "parents": [
        "d4afde3d12dd0320b64d3bf26bf805aafa09395c",
        "1aa64b53eb9b3cc7904705076a015a5cd0e3b536"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 31 23:22:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:22:56 2010 -0700"
      },
      "message": "am 1aa64b53: am ae18171a: Change certificate policy.\n\nMerge commit \u00271aa64b53eb9b3cc7904705076a015a5cd0e3b536\u0027 into kraken\n\n* commit \u00271aa64b53eb9b3cc7904705076a015a5cd0e3b536\u0027:\n  Change certificate policy.\n"
    },
    {
      "commit": "2d8d4d7b16b474ef58c86ae9ccd3dc70d7132c23",
      "tree": "b426148984470e963011ce07bd41b1eb9007cc5e",
      "parents": [
        "025f3933cfc21655bfc5a5068c69303f1fe321ee",
        "513ae3610e5d6eac3af71c3e51a4e5e8b55b5256"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:18:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:18:28 2010 -0700"
      },
      "message": "am 513ae361: Merge \"Fix issue #2560791: Expose API to go in to car mode.\" into froyo\n\nMerge commit \u0027513ae3610e5d6eac3af71c3e51a4e5e8b55b5256\u0027 into froyo-plus-aosp\n\n* commit \u0027513ae3610e5d6eac3af71c3e51a4e5e8b55b5256\u0027:\n  Fix issue #2560791: Expose API to go in to car mode.\n"
    },
    {
      "commit": "025f3933cfc21655bfc5a5068c69303f1fe321ee",
      "tree": "64503fa17ab1ec65b9f67c323788e6686e60cc99",
      "parents": [
        "c2eb4094d1f62cf6e4f10b0b1f64e64c70a03ea9",
        "686f7911a3462d6847d2a9396572eaaf04a9f175"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:18:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:18:24 2010 -0700"
      },
      "message": "am 686f7911: Merge \"Fix issue #2561067: Screen Display half faded...\" into froyo\n\nMerge commit \u0027686f7911a3462d6847d2a9396572eaaf04a9f175\u0027 into froyo-plus-aosp\n\n* commit \u0027686f7911a3462d6847d2a9396572eaaf04a9f175\u0027:\n  Fix issue #2561067: Screen Display half faded...\n"
    },
    {
      "commit": "1aa64b53eb9b3cc7904705076a015a5cd0e3b536",
      "tree": "86f8ad437456bd392f434b32ab3f420cb26605c4",
      "parents": [
        "b8fc825dfafd8792a4d9daead9d3d1b4a4b55de5",
        "ae18171acd3c70fc6d27fc6bbe85828e0f928fad"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 31 23:18:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 23:18:12 2010 -0700"
      },
      "message": "am ae18171a: Change certificate policy.\n\nMerge commit \u0027ae18171acd3c70fc6d27fc6bbe85828e0f928fad\u0027 into froyo-plus-aosp\n\n* commit \u0027ae18171acd3c70fc6d27fc6bbe85828e0f928fad\u0027:\n  Change certificate policy.\n"
    },
    {
      "commit": "513ae3610e5d6eac3af71c3e51a4e5e8b55b5256",
      "tree": "da94143809ff664e1edd2c27304779af31811934",
      "parents": [
        "686f7911a3462d6847d2a9396572eaaf04a9f175",
        "9c9c532d3625ba2485eb4ea6924ed0a0163fd958"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:03:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 23:03:26 2010 -0700"
      },
      "message": "Merge \"Fix issue #2560791: Expose API to go in to car mode.\" into froyo"
    },
    {
      "commit": "686f7911a3462d6847d2a9396572eaaf04a9f175",
      "tree": "2cb5fc760b8f466dc49b2c8df26d0f7a29b0dfee",
      "parents": [
        "de1b1872b33495da0bcd4c29ffeb3783fa7702e9",
        "f83c555d8a153662d067702c0df5761b5e71b1bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:49:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 22:49:30 2010 -0700"
      },
      "message": "Merge \"Fix issue #2561067: Screen Display half faded...\" into froyo"
    },
    {
      "commit": "f83c555d8a153662d067702c0df5761b5e71b1bf",
      "tree": "52a2df9d1eb59e1cc11976e1746985eeadc82a15",
      "parents": [
        "058e385b8bca0376c27a24a54f3b00777ef30e0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:19:32 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:47:10 2010 -0700"
      },
      "message": "Fix issue #2561067: Screen Display half faded...\n\nAlso a little tweak to the activity manager to behave better when\nan application crash, to hopefully mostly avoid situations where\nyou get into a crash loop.\n\nChange-Id: I627cc1da3a0f16a180957f02bfbe5c81ecd31758\n"
    },
    {
      "commit": "ae18171acd3c70fc6d27fc6bbe85828e0f928fad",
      "tree": "18d4da543c957767bfb7fdc76677f6dd04107a03",
      "parents": [
        "3a0d1d11eba05d74d0461083eb6f31321588a0f6"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Mar 30 14:01:02 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 31 19:58:25 2010 -0700"
      },
      "message": "Change certificate policy.\n\nThe certificates of the package and its shared user certificates\n are initialized only when installing the package.\n\nWhen scanning the packages, the certificates are collected from the apk\nif the time stamp changes. If not the one\u0027s from\nPackageSetting(read from packages.xml) are reused.\n\nRemoved mergeSignatures and updateSignatures since we don\u0027t support\nthis any more.\nAlso fix some bugs related to reinstalling failed upgrades.\n\nSome unit tests.\n\nChange-Id: Ibdeff170bd386d723f774136b18e0ad59d9cdabb\n"
    },
    {
      "commit": "9c9c532d3625ba2485eb4ea6924ed0a0163fd958",
      "tree": "139c6a91e2ded72ee0e2abc86a7b1e71a7b91e66",
      "parents": [
        "058e385b8bca0376c27a24a54f3b00777ef30e0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 23:12:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 16:25:53 2010 -0700"
      },
      "message": "Fix issue #2560791: Expose API to go in to car mode.\n\nAlso fix bug where night mode was being used in desk dock.\n\nChange-Id: I56c1cf3d6fe800a4f986d40cc4cb2e70b76ac261\n"
    },
    {
      "commit": "6801cedb76cbdd0e7036f6b32e97598589f5654b",
      "tree": "cfd578e3c857af441745b4be8de3e0e7ac38aa90",
      "parents": [
        "0da58f15c4fd6a89919bd61ede51f5236333d08b",
        "6a3e7dfa87345244190403eaad71e760f11305ba"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 16:06:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 16:06:53 2010 -0700"
      },
      "message": "am 6a3e7dfa: am c738783c: Merge \"Fix alarms with negative or very large wakup times.\" into froyo\n\nMerge commit \u00276a3e7dfa87345244190403eaad71e760f11305ba\u0027 into kraken\n\n* commit \u00276a3e7dfa87345244190403eaad71e760f11305ba\u0027:\n  Fix alarms with negative or very large wakup times.\n"
    },
    {
      "commit": "6a3e7dfa87345244190403eaad71e760f11305ba",
      "tree": "71aa2eeb5d35c01b9666c86579dc3ee813342373",
      "parents": [
        "e4fa5d7669bba2cdb6f72379933005407a5bedc5",
        "c738783cc2b7b5bde1f0c25ed2cb4f9fd4df38cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 16:00:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 16:00:58 2010 -0700"
      },
      "message": "am c738783c: Merge \"Fix alarms with negative or very large wakup times.\" into froyo\n\nMerge commit \u0027c738783cc2b7b5bde1f0c25ed2cb4f9fd4df38cc\u0027 into froyo-plus-aosp\n\n* commit \u0027c738783cc2b7b5bde1f0c25ed2cb4f9fd4df38cc\u0027:\n  Fix alarms with negative or very large wakup times.\n"
    },
    {
      "commit": "c738783cc2b7b5bde1f0c25ed2cb4f9fd4df38cc",
      "tree": "2a1de4552272ec9d0f68fd62bf8b6c80055d09b7",
      "parents": [
        "36b3b5fc9a86a77488ed8b2497621ddca03d3cba",
        "11c5f1a65d6c495cc60f9f15d408c776baed9f73"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:56:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 15:56:30 2010 -0700"
      },
      "message": "Merge \"Fix alarms with negative or very large wakup times.\" into froyo"
    },
    {
      "commit": "11c5f1a65d6c495cc60f9f15d408c776baed9f73",
      "tree": "1a82c873340eabb636e04091c0fd59be3b271984",
      "parents": [
        "966fcb81eece9096040ccc185bb662335d3964cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:29:40 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:38:08 2010 -0700"
      },
      "message": "Fix alarms with negative or very large wakup times.\n\nWhen the wakeup time is negative, the kernel /dev/alarm driver\nnever triggers the alarm.  This can cause alarms to back up in the\npriority queue since an alarm at the head with a negative wakup time\nwill never be triggered.  Now we use 0 as the wakup time which causes\nan immediate triggering.\n\nWhen the wakeup time is very large, it is possible for a numeric\noverflow to occur when converting the timestamp from milliseconds\nsince epoch to nanoseconds.  This has been fixed by avoiding the\nintermediate conversion in the JNI call so that overflow cannot\noccur.\n\nBug: b/2558820\nChange-Id: I4f5b4646a04090cc749a9fc5d3982a68402954ef\n"
    },
    {
      "commit": "8cb52c8a7d4102036231bbb2ef4eab14b3331d1b",
      "tree": "21101748f910eabbd86a2c6e671cabee894d5cf3",
      "parents": [
        "92065ad77272885619b27daf76ced5a089206830",
        "bc50bdca0ae1f7d173e4f589db250dc519740c16"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 11:17:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 11:17:01 2010 -0700"
      },
      "message": "am bc50bdca: am e259bc77: Fix issue #2558391: Package manager problem when not replacing existing system partition app\n\nMerge commit \u0027bc50bdca0ae1f7d173e4f589db250dc519740c16\u0027 into kraken\n\n* commit \u0027bc50bdca0ae1f7d173e4f589db250dc519740c16\u0027:\n  Fix issue #2558391: Package manager problem when not replacing existing system partition app\n"
    },
    {
      "commit": "bc50bdca0ae1f7d173e4f589db250dc519740c16",
      "tree": "1382dbe09896baaabec61d1fa31be2e34aaf8cef",
      "parents": [
        "fa41ccf18cfb9b366c859e09112f8f98797bf152",
        "e259bc770b3eeb88eb7a03ec0af2522ca9929f58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 11:14:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 11:14:13 2010 -0700"
      },
      "message": "am e259bc77: Fix issue #2558391: Package manager problem when not replacing existing system partition app\n\nMerge commit \u0027e259bc770b3eeb88eb7a03ec0af2522ca9929f58\u0027 into froyo-plus-aosp\n\n* commit \u0027e259bc770b3eeb88eb7a03ec0af2522ca9929f58\u0027:\n  Fix issue #2558391: Package manager problem when not replacing existing system partition app\n"
    },
    {
      "commit": "e259bc770b3eeb88eb7a03ec0af2522ca9929f58",
      "tree": "95a9552fe0a7392e108b7ea279fdbd8207e4661e",
      "parents": [
        "9b9a89a58f50c3004959c36252489fae54fb9c58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 19:24:44 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 11:07:47 2010 -0700"
      },
      "message": "Fix issue #2558391: Package manager problem when not replacing existing system partition app\n\nThis fixes the package manager to ensure we can\u0027t get in this bad state of\nan update to a system app being installed as a separate app.\n\nChange-Id: I2a3f601bbc06b74f31ca09192993614bc6885ff7\n"
    },
    {
      "commit": "8d72c64404ac869dbbc39a8e3646656392e2fca9",
      "tree": "1c45cb3e64a8e4cee050699411e15aaacb14978f",
      "parents": [
        "4f0be1a8f3903f28f688da79028ecb54611e969c",
        "f26cf98ffa087670a5ad849d7dd3c568d4f03ec9"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Wed Mar 31 10:12:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 10:12:26 2010 -0700"
      },
      "message": "am f26cf98f: am 71106558: Merge \"Add thermal shutdown.  If battery temp \u003e\u003d 68C.\" into froyo\n\nMerge commit \u0027f26cf98ffa087670a5ad849d7dd3c568d4f03ec9\u0027 into kraken\n\n* commit \u0027f26cf98ffa087670a5ad849d7dd3c568d4f03ec9\u0027:\n  Add thermal shutdown.  If battery temp \u003e\u003d 68C.\n"
    },
    {
      "commit": "f26cf98ffa087670a5ad849d7dd3c568d4f03ec9",
      "tree": "c150bce6e1837acb4542ed8c96454ee4e3d3f9f3",
      "parents": [
        "c7418149fafc7ded51a527b1d756028b33af3ac0",
        "711065587b46ea0279788757c49a273ff796f844"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Wed Mar 31 10:07:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 31 10:07:36 2010 -0700"
      },
      "message": "am 71106558: Merge \"Add thermal shutdown.  If battery temp \u003e\u003d 68C.\" into froyo\n\nMerge commit \u0027711065587b46ea0279788757c49a273ff796f844\u0027 into froyo-plus-aosp\n\n* commit \u0027711065587b46ea0279788757c49a273ff796f844\u0027:\n  Add thermal shutdown.  If battery temp \u003e\u003d 68C.\n"
    },
    {
      "commit": "6a362a97f71cda9eadfb72ce51e664c494cf7a04",
      "tree": "ecf0974a0ad851a3fecfd7ad40b9bea4fa2fc96a",
      "parents": [
        "0a08b1948f1e93fc36af8913e6e87fbeb0e9a92d"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 26 15:38:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Wed Mar 31 09:33:47 2010 -0700"
      },
      "message": "Add thermal shutdown.  If battery temp \u003e\u003d 68C.\n\nChange-Id: I625fa47939d8ecc532457b5c6e13f91d83bfbcc5\n"
    },
    {
      "commit": "a749f869747b763600fcfaa67a934f404f262d39",
      "tree": "ee337de245769dbc2518385d6580c24137088956",
      "parents": [
        "767225d8206adf4db968f3fa86d9ebb107a12067"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 00:43:36 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 00:43:36 2010 -0700"
      },
      "message": "Fix a previous bad merge.\n\nChange-Id: I12e577873389d6200f8add252867e63dee2d2c3c\n"
    },
    {
      "commit": "767225d8206adf4db968f3fa86d9ebb107a12067",
      "tree": "140c2a0f460d096a0c031c2007d357610a297aa0",
      "parents": [
        "2e41ffe7cfc9cb7666224217c38d46ccca57ca1a",
        "d9ee01a95c8d9e785a48f1b1cb5245c8b12e444d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 23:49:17 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 23:49:17 2010 -0700"
      },
      "message": "resolved conflicts for merge of d9ee01a9 to kraken\n\nChange-Id: I645177513e6dfa4b3b02c0061b8026bde4acde8d\n"
    },
    {
      "commit": "d9ee01a95c8d9e785a48f1b1cb5245c8b12e444d",
      "tree": "077dea6e2c338be68c3e2274b4971628686a036c",
      "parents": [
        "b19b6fec04de14860efb47d59084a66bb288cc98",
        "07330791116513710d879c45b2f095cd314cbfd0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 23:32:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 23:32:12 2010 -0700"
      },
      "message": "am 07330791: Show SD unavailable icon for apps on SD when ejected.\n\nMerge commit \u002707330791116513710d879c45b2f095cd314cbfd0\u0027 into froyo-plus-aosp\n\n* commit \u002707330791116513710d879c45b2f095cd314cbfd0\u0027:\n  Show SD unavailable icon for apps on SD when ejected.\n"
    },
    {
      "commit": "07330791116513710d879c45b2f095cd314cbfd0",
      "tree": "de0b74c79d4302c7a111fd4415426b1ce794502a",
      "parents": [
        "966fcb81eece9096040ccc185bb662335d3964cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 19:57:08 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 22:20:42 2010 -0700"
      },
      "message": "Show SD unavailable icon for apps on SD when ejected.\n\nThis change include a minor refactoring of PackageItemInfo and related\nclasses to eliminate code duplication and to avoid redundant work\nsearching for an ApplicationInfo instance we already have.\n\nBug: b/2537578\nChange-Id: Id0794c3f055ea58b943028f7a84abc7dec9d0aac\n"
    },
    {
      "commit": "bdb59f66b9f8d3395bd76e6506e5846ef544aca0",
      "tree": "e6373e80b686e19ea517457395a4d04fde0dd6e4",
      "parents": [
        "b4915265a09361c375e792781ead5bfec6c797d9",
        "295eb97c7623105d6199fa91e58394e474a0abb1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 13:55:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:55:21 2010 -0700"
      },
      "message": "am 295eb97c: am 59610c04: cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n\nMerge commit \u0027295eb97c7623105d6199fa91e58394e474a0abb1\u0027 into kraken\n\n* commit \u0027295eb97c7623105d6199fa91e58394e474a0abb1\u0027:\n  cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n"
    },
    {
      "commit": "295eb97c7623105d6199fa91e58394e474a0abb1",
      "tree": "3b1872247ada627f6c6971229957663b93e5799d",
      "parents": [
        "ab86fc91f5b54b8b730c0f594f04bbfb4c41697a",
        "59610c041a9cdd45e1040a7a4592af42f49d7a5d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 13:51:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:51:46 2010 -0700"
      },
      "message": "am 59610c04: cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n\nMerge commit \u002759610c041a9cdd45e1040a7a4592af42f49d7a5d\u0027 into froyo-plus-aosp\n\n* commit \u002759610c041a9cdd45e1040a7a4592af42f49d7a5d\u0027:\n  cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n"
    },
    {
      "commit": "b4915265a09361c375e792781ead5bfec6c797d9",
      "tree": "4b3345896a4637e4cd196d42e294c1fb33ba99dd",
      "parents": [
        "91ff1dbf7f93c2cb3d618f36fad66122aadbe17b",
        "ab86fc91f5b54b8b730c0f594f04bbfb4c41697a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 13:42:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:42:50 2010 -0700"
      },
      "message": "am ab86fc91: am de2722af: Merge \"Package manager optimizations.\" into froyo\n\nMerge commit \u0027ab86fc91f5b54b8b730c0f594f04bbfb4c41697a\u0027 into kraken\n\n* commit \u0027ab86fc91f5b54b8b730c0f594f04bbfb4c41697a\u0027:\n  Package manager optimizations.\n"
    },
    {
      "commit": "ab86fc91f5b54b8b730c0f594f04bbfb4c41697a",
      "tree": "5719597e9165310d8c714907a0557961dc6eb8ff",
      "parents": [
        "0bca99e987420a63ebd509093cbde015399d8522",
        "de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 13:40:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:40:24 2010 -0700"
      },
      "message": "am de2722af: Merge \"Package manager optimizations.\" into froyo\n\nMerge commit \u0027de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8\u0027 into froyo-plus-aosp\n\n* commit \u0027de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8\u0027:\n  Package manager optimizations.\n"
    },
    {
      "commit": "59610c041a9cdd45e1040a7a4592af42f49d7a5d",
      "tree": "6ee33a23bf97e9a766c3d89a48cc2d8ea9c16140",
      "parents": [
        "de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 11:00:41 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 13:37:00 2010 -0700"
      },
      "message": "cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n\nSetting the allowed channel count in the\ndriver can take a long time to potentially\ncause ANR in the phone process. Make the call\nasynchronous\n\nBug: 2555117\nChange-Id: Ie3c2e6f90aa0ec8ee4b85c989ccae1ca0f2b94f9\n"
    },
    {
      "commit": "d7c096845dee7616095eda0fe9e7aa08f0ba9c20",
      "tree": "d20190ae42b25ce05960e16a89b8eb803d837602",
      "parents": [
        "22375e4a736c0d646c3cf0905c15126f7f4107c2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 10:42:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 13:34:43 2010 -0700"
      },
      "message": "Package manager optimizations.\n\nAddresses:\nIssue #2550648: PackageManagerService setComponentEnabledSetting unconditionally\nwrites Settings xml\nIssue #2549084: Make PackageManager.addPermission have async version\n\nAlso make the writing of settings when changing the preferred activities to use\nthe same async mechanism, and fiddle with thread priorities in the background\nthread to go up to foreground priority when holding the lock to write settings\nand a few other places.  (At some point we should really clean this up to never\nacquire the main lock while in the background.)\n\nChange-Id: Ib2b7632543f6fb3f92a225518579f3b2d15e1413\n"
    },
    {
      "commit": "4caee4f7199d43b98badb02c9b746af66062cef2",
      "tree": "2f86cde099635d98cc44e51eac687dd4ae629544",
      "parents": [
        "2fa4ab04b43ea1e377d2921f6e5112025a6f1439",
        "b3f7fe44f5a3a6a4c04d4102eb61f29edf83129c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 13:17:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:17:23 2010 -0700"
      },
      "message": "am b3f7fe44: am 22375e4a: Merge \"Make RestoreSession.getAvailableRestoreSets() asynchronous\" into froyo\n\nMerge commit \u0027b3f7fe44f5a3a6a4c04d4102eb61f29edf83129c\u0027 into kraken\n\n* commit \u0027b3f7fe44f5a3a6a4c04d4102eb61f29edf83129c\u0027:\n  Make RestoreSession.getAvailableRestoreSets() asynchronous\n"
    },
    {
      "commit": "b3f7fe44f5a3a6a4c04d4102eb61f29edf83129c",
      "tree": "7d22d070d522c8e9bbfe44113f4e44e761069a44",
      "parents": [
        "454a956b52884083e3436fe2ea7e478df2bcbeea",
        "22375e4a736c0d646c3cf0905c15126f7f4107c2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 13:13:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 13:13:52 2010 -0700"
      },
      "message": "am 22375e4a: Merge \"Make RestoreSession.getAvailableRestoreSets() asynchronous\" into froyo\n\nMerge commit \u002722375e4a736c0d646c3cf0905c15126f7f4107c2\u0027 into froyo-plus-aosp\n\n* commit \u002722375e4a736c0d646c3cf0905c15126f7f4107c2\u0027:\n  Make RestoreSession.getAvailableRestoreSets() asynchronous\n"
    },
    {
      "commit": "22375e4a736c0d646c3cf0905c15126f7f4107c2",
      "tree": "4d0b5b820628f445234c2e50e818915229982c44",
      "parents": [
        "a7035909453c9980a5f8547f5090c70c4281156c",
        "2d449afe3d075020bdd1115bcc15c9383cbce122"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 13:09:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 30 13:09:50 2010 -0700"
      },
      "message": "Merge \"Make RestoreSession.getAvailableRestoreSets() asynchronous\" into froyo"
    },
    {
      "commit": "2fa4ab04b43ea1e377d2921f6e5112025a6f1439",
      "tree": "92dbad198ea87cfad991848153010f85035b29ad",
      "parents": [
        "d43a2b5a2325a6457a70872a0e7eabd168e8d8b5",
        "454a956b52884083e3436fe2ea7e478df2bcbeea"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 12:56:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 12:56:36 2010 -0700"
      },
      "message": "am 454a956b: am a7035909: Remove logspew.\n\nMerge commit \u0027454a956b52884083e3436fe2ea7e478df2bcbeea\u0027 into kraken\n\n* commit \u0027454a956b52884083e3436fe2ea7e478df2bcbeea\u0027:\n  Remove logspew.\n"
    },
    {
      "commit": "454a956b52884083e3436fe2ea7e478df2bcbeea",
      "tree": "a1c729cb53f6aa40c2adc671e47952452677cbcc",
      "parents": [
        "7fb1a89128a87c30441bc839c935f8e1fb993a26",
        "a7035909453c9980a5f8547f5090c70c4281156c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 12:53:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 12:53:28 2010 -0700"
      },
      "message": "am a7035909: Remove logspew.\n\nMerge commit \u0027a7035909453c9980a5f8547f5090c70c4281156c\u0027 into froyo-plus-aosp\n\n* commit \u0027a7035909453c9980a5f8547f5090c70c4281156c\u0027:\n  Remove logspew.\n"
    },
    {
      "commit": "a7035909453c9980a5f8547f5090c70c4281156c",
      "tree": "3755850bc3c9c3df243356d07f3043482aa18780",
      "parents": [
        "ae405d56215e4ab43e8210b66e741a0bf9d5edcf"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 15:45:31 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 15:45:31 2010 -0400"
      },
      "message": "Remove logspew.\n\nChange-Id: I8b56a9c289dcc87080116e6af27721e24d49c3b0\n"
    },
    {
      "commit": "2d449afe3d075020bdd1115bcc15c9383cbce122",
      "tree": "d7c71c9a74e317319de947f3e3fe3ee673f0c559",
      "parents": [
        "ae405d56215e4ab43e8210b66e741a0bf9d5edcf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 19:14:24 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 12:42:35 2010 -0700"
      },
      "message": "Make RestoreSession.getAvailableRestoreSets() asynchronous\n\nThis transaction can involve the transport having to query a remote backend\nover the wire, so it can take a Long Time(tm).  Make it main-thread-safe by\nmaking it asynchronous, with the results passed as a callback to the invoker\u0027s\nRestoreObserver.  We also make the IRestoreObserver callback interface\nproperly oneway.\n\nBug #2550665\nBug #2549422\n\nChange-Id: If18a233a0a3d54c7b55101715c9e6195b762c5a0\n"
    },
    {
      "commit": "93d71444623489e05d6362342840cd342346d2fb",
      "tree": "a2ca4b8c9ef5c1734602776cee2724e179a5806a",
      "parents": [
        "839e1b6c3991939cc966f7b4b4e9056a70392dca",
        "e5132805110ba98e301b792cc0c2141b1729b680"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:23:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 21:23:08 2010 -0700"
      },
      "message": "am e5132805: am e2522466: Fix issue #2547337: switching night modes\n\nMerge commit \u0027e5132805110ba98e301b792cc0c2141b1729b680\u0027 into kraken\n\n* commit \u0027e5132805110ba98e301b792cc0c2141b1729b680\u0027:\n  Fix issue #2547337: switching night modes\n"
    },
    {
      "commit": "839e1b6c3991939cc966f7b4b4e9056a70392dca",
      "tree": "25483e9e3d8f3b2746e0399961f710483d29152b",
      "parents": [
        "ecf4406ce581b559b691cf8fe729836171a02250",
        "2fecae386d952197d63fb75f8ec245d87159a684"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:23:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 21:23:03 2010 -0700"
      },
      "message": "am 2fecae38: am ad5499dd: Hopefully get rid of some ANRs.\n\nMerge commit \u00272fecae386d952197d63fb75f8ec245d87159a684\u0027 into kraken\n\n* commit \u00272fecae386d952197d63fb75f8ec245d87159a684\u0027:\n  Hopefully get rid of some ANRs.\n"
    },
    {
      "commit": "e5132805110ba98e301b792cc0c2141b1729b680",
      "tree": "8fc64e3f8f096bcbafbf78e964714551f772cb61",
      "parents": [
        "2fecae386d952197d63fb75f8ec245d87159a684",
        "e2522466552f9c6b7fcea866709710f53aa1f2a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:19:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 21:19:39 2010 -0700"
      },
      "message": "am e2522466: Fix issue #2547337: switching night modes\n\nMerge commit \u0027e2522466552f9c6b7fcea866709710f53aa1f2a8\u0027 into froyo-plus-aosp\n\n* commit \u0027e2522466552f9c6b7fcea866709710f53aa1f2a8\u0027:\n  Fix issue #2547337: switching night modes\n"
    },
    {
      "commit": "2fecae386d952197d63fb75f8ec245d87159a684",
      "tree": "ee836efb4b5c7d2b182b169554636d3b7d3d1efa",
      "parents": [
        "370fe2a91e9e824c6339fc836377c4aa6d80fc06",
        "ad5499dd204a1512471778462a805a288595f2f2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:19:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 21:19:36 2010 -0700"
      },
      "message": "am ad5499dd: Hopefully get rid of some ANRs.\n\nMerge commit \u0027ad5499dd204a1512471778462a805a288595f2f2\u0027 into froyo-plus-aosp\n\n* commit \u0027ad5499dd204a1512471778462a805a288595f2f2\u0027:\n  Hopefully get rid of some ANRs.\n"
    },
    {
      "commit": "e2522466552f9c6b7fcea866709710f53aa1f2a8",
      "tree": "318e1210d8af3c75bb8405e935b3363d8950d974",
      "parents": [
        "ad5499dd204a1512471778462a805a288595f2f2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 18:41:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:13:31 2010 -0700"
      },
      "message": "Fix issue #2547337: switching night modes\n\nDumb.\n\nChange-Id: Iaa72eaac54422f7fd95cf1050f6b7b6da55af0c3\n"
    },
    {
      "commit": "ad5499dd204a1512471778462a805a288595f2f2",
      "tree": "b1c5ad6d2f9becfee7e84e9073c1dba210f65a37",
      "parents": [
        "9d32d24dbd8a015c9d5c44ed4901d5a666eb8e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 18:08:45 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:07:23 2010 -0700"
      },
      "message": "Hopefully get rid of some ANRs.\n\nDon\u0027t hold the activity manager lock the entire time we are processing an ANR,\nwhich often causes us to cause a second ANR as someone else calls into the\nactivity manager and gets blocked.\n\nChange-Id: Ife4db82b12d6f4378ac2705bd6f60beb1244a1e6\n"
    },
    {
      "commit": "1ec71365f98baa24f8df82d9c4a79dd6edc940eb",
      "tree": "5b0a394acd9d40aae3e82b2af81f8126dde10cff",
      "parents": [
        "629d03f12251220daf26abc5be86d4649318a331",
        "f5f300678abb79574bb56eee13c8dd2b7b98b740"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Mar 29 19:01:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 19:01:16 2010 -0700"
      },
      "message": "am f5f30067: Merge \"DO NOT MERGE Removing unused features from source tree. Please refer to Bug#2502219.\" into froyo\n\nMerge commit \u0027f5f300678abb79574bb56eee13c8dd2b7b98b740\u0027 into froyo-plus-aosp\n\n* commit \u0027f5f300678abb79574bb56eee13c8dd2b7b98b740\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "1f4df90bfab8ca42eabe95f19eadff3432eee7fd",
      "tree": "13d9bc806e8850259b2b939d7ee9cf02651bf9d7",
      "parents": [
        "59fc58dc3f164e33a96aee09505fac5818747cb6"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Fri Mar 26 18:44:14 2010 -0700"
      },
      "committer": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Mar 29 18:12:24 2010 -0700"
      },
      "message": "DO NOT MERGE\nRemoving unused features from source tree.\nPlease refer to Bug#2502219.\n\nChange-Id: I879c29bfd5ffe933f64bb1082aaae7c956450a5a\n"
    },
    {
      "commit": "245df5ad16ff227761906c10dc97c01901232666",
      "tree": "1e8787fea89b70b6846de9da3b38dea2a14b3c71",
      "parents": [
        "0815235ffceb9e079185c1a3c78e2793157523f9",
        "3f264c4fba416f55247da3fafd6afbe55bf93598"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 15:53:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 15:53:54 2010 -0700"
      },
      "message": "am 3f264c4f: Merge \"API CHANGE: rename BackupHelperAgent \u003d\u003e BackupAgentHelper per API Council\" into froyo\n\nMerge commit \u00273f264c4fba416f55247da3fafd6afbe55bf93598\u0027 into froyo-plus-aosp\n\n* commit \u00273f264c4fba416f55247da3fafd6afbe55bf93598\u0027:\n  API CHANGE: rename BackupHelperAgent \u003d\u003e BackupAgentHelper per API Council\n"
    },
    {
      "commit": "cc84c69726507a85116f5664e20e2ebfac76edbe",
      "tree": "1f58e9d718d8694d2b22f925a7e79263991d0c74",
      "parents": [
        "89d4e2dd7888913d3eb1f4f669bd756a3b85f2c1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 14:54:02 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 15:48:14 2010 -0700"
      },
      "message": "API CHANGE: rename BackupHelperAgent \u003d\u003e BackupAgentHelper per API Council\n\nPart of bug #2545514\n\nChange-Id: Ic775e3b942c485252149c1b6c15c88517fa4e3e5\n"
    },
    {
      "commit": "9d0f6dfdc1ac0b9374acf51572f273e9c9bbc9f9",
      "tree": "572b082f9c87aa9e578fb1442567fcef105b6288",
      "parents": [
        "7e31b282ddd1f4296ba702f7604044216a95f65e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 29 12:55:09 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 29 12:55:09 2010 -0700"
      },
      "message": "Fix build\n\nChange-Id: I8c68731786ab648dc916b09333b67acb26f81594\n"
    },
    {
      "commit": "92380919cc54fb6f0b56d1c69ebbb66d4d78bfaa",
      "tree": "6f3b1464e6d8e17592c9fdeba15d04baad6eead7",
      "parents": [
        "1889f40aa17bd658df1b7181d091a6dff631ec95",
        "b99fe5e622aa5419d80c02e3fab614372f44bc2a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 29 12:07:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 12:07:37 2010 -0700"
      },
      "message": "am b99fe5e6: cherry-pick 288b4ac94571e6f77036831708e7bb7c31874688 into froyo\n\nMerge commit \u0027b99fe5e622aa5419d80c02e3fab614372f44bc2a\u0027 into froyo-plus-aosp\n\n* commit \u0027b99fe5e622aa5419d80c02e3fab614372f44bc2a\u0027:\n  cherry-pick 288b4ac94571e6f77036831708e7bb7c31874688 into froyo\n"
    },
    {
      "commit": "b99fe5e622aa5419d80c02e3fab614372f44bc2a",
      "tree": "55017e13c16a4ebe0958af0ce0fc56caff1b2165",
      "parents": [
        "ab924c909a516eb71fef7c238a20c7755f8170ed"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 26 14:56:07 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 29 12:02:44 2010 -0700"
      },
      "message": "cherry-pick 288b4ac94571e6f77036831708e7bb7c31874688 into froyo\n\nKilling the WifiWatchdogService thread from\nWifiService can cause messages to be handled on\na dead thread. Quit the thread on the broadcast\ninstead.\n\nA couple of more fixes:\n- Do an asynchronous bring up of Wifi. This will\nallow WifiWatchdogServiceThread to be immediately\nbrought up, instead of relying on an update.\n\n- There is no need to listen on supplicant connection\nin wifiwatchdog anymore. We kill the thread when\nsupplicant connection is no more.\n\nBug: 2546756\nChange-Id: I15a188e031bc79856c55aabdd271287b0df0377d\n"
    },
    {
      "commit": "c89704a77f9c51ebd8c1cc6863e15ff402a56c86",
      "tree": "bf9afd1f069c18d6ae0849cc82c1513e1ab8fc14",
      "parents": [
        "3e9032e646c898a725c256c90031494cc349eea0",
        "0d3b202bdedcdd692d96e53303bc5168d39a07e1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 10:57:04 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 10:57:04 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I6a8109d11dabc579501c598ab2927cf802797130\n"
    },
    {
      "commit": "211957f63913d4a050604e0dfc1e0f80980e3d0c",
      "tree": "3ec92761267b29fd5064e8f502df9e94e5d3608c",
      "parents": [
        "1f196f29127f9a05d0bd0553d2f3db2ad983df14"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 26 18:19:33 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 29 09:37:02 2010 -0700"
      },
      "message": "Implement audio focus support in the notification manager.\n\nThis change introduces the NotificationPlayer class which was\ncreated from the code of android.media.AsyncPlayer. The only modification\nwas to modify the construction of the MediaPlayer so it properly issues\nonCompletion notifications (which are used to abandon audio focus).\n\nUnless the sound to be played is looped, the notification is transient\nand other apps may duck (uses AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK in\naudio focus request).\nChange-Id: I69cbb71d0892447b934351384e4e24a2e239295b\n"
    },
    {
      "commit": "9c3cee9824026764275e4d84ba9b5d9fdc5da690",
      "tree": "a68cba5a6d4dc4dc747c4089a2426dcfe5550b77",
      "parents": [
        "a3de74555120cc4dc205a3f93ef44c843b8d64a8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 25 16:06:43 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 26 14:26:44 2010 -0700"
      },
      "message": "API CHANGE: Backup/restore API changes requested by the API Council\n\n* @hide the android.app.backup.RestoreSession class and functionality\n\n* Provide a public method on android.app.backup.BackupManager that apps\n  can use to request a restore pass of their last-known-good dataset.\n  The new method is called requestRestore().\n\n* Provide the name of the package being restored, not just its ordinal,\n  in the RestoreObserver\u0027s onUpdate() callback.\n\nPart of bug #2545514\n\nChange-Id: I9689bf8d6e2b808b4ee412424a36a835be0a5ca8\n"
    },
    {
      "commit": "d49258fed489bcd72a2b2a6ce3a3c38d4b2531e6",
      "tree": "fdb02af6a4750fa8795a57f9aaec67660cffedba",
      "parents": [
        "fc6d1ba930111ef7a51d91908f489ca9469fc572"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 00:44:29 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 12:52:53 2010 -0700"
      },
      "message": "Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83\n\nThere was a really dumb bug that was causing us to not always apply\nthe new configuration.  As a result of fixing this, there were new\nglithes in the transition between car and regular mode, so further\nwork here to fix that.  And since I was actually working during the\nnight and seeing night mode, I noticed how obnoxiously bright the\nstatus bar is compared to the car home at night, so it now nicely\ndims itself when we switch to the night config.  Oh and in doing\nthat I also found and fixed a bug in dispatching config changes to\na window (where they wouldn\u0027t get dispatched if the window didn\u0027t\nresize).\n\nFINALLY...  tweak the wallpaper enter/exit animations a bit to\nmake them a little smoother.\n\nChange-Id: I4e062093cbcfbc919307799a794846db2920216f\n"
    },
    {
      "commit": "1aedcce92f4ea2537de6295d8109707bc3989d37",
      "tree": "b785d2b5ce7d511cfeaec1c1d5d63aaa36dbda2f",
      "parents": [
        "2911e8eff79572a896b24debb11f20d179bd6f83"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Mar 26 12:11:44 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Mar 26 12:13:29 2010 -0700"
      },
      "message": "Fix StatusBarService deadlock for real this time.\n\nThe lock is now only held long enough to swap the queue with a new ArrayList.\n\nBug: 2542233\nChange-Id: I8c1c3d4d0b5b53166cc239fc0069d69929b43f91\n"
    },
    {
      "commit": "0d3b202bdedcdd692d96e53303bc5168d39a07e1",
      "tree": "ae2a72281b4339e6b62899358caa9d136aa4089b",
      "parents": [
        "1be46d7920dbdce24f878d6f4889ea8591ab75c6",
        "0c33ed2992b2eb484c229fd3322df14d97c10caa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Thu Mar 25 19:23:09 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Mar 25 19:23:09 2010 -0700"
      },
      "message": "Merge \"Fix Memory Leak When Switching Input Methods\""
    },
    {
      "commit": "621bc545982e2318e71bef3111d3cab39169d648",
      "tree": "5304507ea895e217127fcd379a2f1ae7227bba1a",
      "parents": [
        "8e10a7b7c82209bf52ab8545d21777ea1728f81e"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 25 16:20:14 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 25 17:16:01 2010 -0700"
      },
      "message": "Add \"dumpsys diskstats\" to get a dump of disk-free values.\n\nAlso includes a trivial test of I/O latency.  (Mostly useful to be invoked\nfrom checkin to poll disk-free and latency issues.  Also moderately useful\nto see in a bugreport.)\n\nAlso make \"dumpsys netstat\" a non-no-op, in case we want this data.\n\nChange-Id: Ia93550a23ca6b35586c5d9217890ee0a5801aae1\n"
    },
    {
      "commit": "53d7c234432c8d2cca5b6e2ac08ab859b062f892",
      "tree": "b795b314ce2de6aada5ed6da728b475061a6c274",
      "parents": [
        "b012e15441d86bdb31e87b23a7b3a565121aa37c",
        "32b51436c68966cc7e5895fc917e7d9c7ffb10dd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 16:00:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 16:00:25 2010 -0700"
      },
      "message": "Merge \"Fix 2495749 - System process crash when a notification switches sections.\""
    },
    {
      "commit": "32b51436c68966cc7e5895fc917e7d9c7ffb10dd",
      "tree": "4568799414f4b100dd157083ae441ba3c9c841d5",
      "parents": [
        "661a19765bf52e84ed225995fb6bdb5f26b65455"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 15:57:49 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 15:57:49 2010 -0700"
      },
      "message": "Fix 2495749 - System process crash when a notification switches sections.\n\nChange-Id: I86ff1b78fc309b758c6457be867509b71042d42e\n"
    },
    {
      "commit": "b012e15441d86bdb31e87b23a7b3a565121aa37c",
      "tree": "72bd1a0308b5722a26674d6201390381493619ac",
      "parents": [
        "a3bd409a0a5dea446bd1b6edca1b367f3f70b503",
        "b37f0c6513241f79a6ea0e3c162dc540d028b60c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 15:50:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 15:50:25 2010 -0700"
      },
      "message": "Merge \"Fix Tethering of multiple downstream ifaces.\""
    },
    {
      "commit": "b37f0c6513241f79a6ea0e3c162dc540d028b60c",
      "tree": "1364914cdc98719d498f50c70a98be952a0a7e0b",
      "parents": [
        "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 14:50:34 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 15:29:57 2010 -0700"
      },
      "message": "Fix Tethering of multiple downstream ifaces.\n\nWe weren\u0027t notifying the second tethered iface of it\u0027s upstream iface name so its traffic\nwas not getting routed correctly.\nWe also weren\u0027t clearing out our connected iface name when we untethered, so the route rules\nweren\u0027t getting flushed when the last tether came down.\n\nChange-Id: I34e5d672ea882c89c8f582d69d6dc421cb52d4b4\n"
    },
    {
      "commit": "a3bd409a0a5dea446bd1b6edca1b367f3f70b503",
      "tree": "feea7bb56c78a921f04969d1124f9182c48e6a27",
      "parents": [
        "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 24 17:58:59 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 25 15:10:34 2010 -0700"
      },
      "message": "settings variable for wifi saved state\n\nWe add a variable for saving wifi state\nto restore after tethering.\n\nBring up wifi on boot up if the state indicates so.\n\nBug: 2537983\nChange-Id: I9c6548b93df6fcbc0cec1e6b857f7224dc6d1b2c\n"
    },
    {
      "commit": "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a",
      "tree": "6f7b9f635d9b1d47caca0a5c7f2b338bc536b4f8",
      "parents": [
        "838bfef91504837b64c4f11be820aa2aa4cd4efe"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 24 16:03:21 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 14:46:13 2010 -0700"
      },
      "message": "Update Framework to support multiple dhpc ranges\n\nPreviously we only supported a single range - this was inadequate for\nmultiple interfaces.  Adding a second range so we can support\nboth usb and wifi tethering.\n\nAlso moving out of the zero-conf range as our dhcp client won\u0027t\naccept ip addrs in that range (no nexus to nexus wifi action).\n\nbug: 2537963\nbug: 2533491\nbug: 2538303\nChange-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d\n"
    },
    {
      "commit": "c68b5b7e5ba3216e52f70e61d089820b9a3b526b",
      "tree": "8953c720dbc4fca04dfa4df7203ce25262180ff0",
      "parents": [
        "b80d49d33831ad95e6cddd2aa0903a25cd838f93",
        "39576c8df34e95bfb117e57d2bb17a5869d577f1"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 13:26:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 13:26:36 2010 -0700"
      },
      "message": "Merge \"Use a more benign icon for ADB notifications.\""
    },
    {
      "commit": "39576c8df34e95bfb117e57d2bb17a5869d577f1",
      "tree": "81d11883ddd0a6e729b54f4453b24f48a918ea2a",
      "parents": [
        "4b4d3039ec5e1538436e36d02127076c746bd3bf"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 16:02:33 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 16:19:53 2010 -0400"
      },
      "message": "Use a more benign icon for ADB notifications.\n\nAlso suppress vibe \u0026 noise for ADB notifications.\n\nBug: 2544480\nBug: 2545486\n\nChange-Id: I955a7271f47601f9b35f0d3fcd48363370ebd252\n"
    },
    {
      "commit": "529bef692541a0f1290992b2f261e711b3bea9af",
      "tree": "42d6472acb47c8755cf62e13e76691cf537f6b22",
      "parents": [
        "c6a90a59b342114d760d899e09d8def672b49ca8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 11:48:43 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 11:48:43 2010 -0700"
      },
      "message": "Dumb late-night typo.\n\nChange-Id: If5e5d8c3728ffc06d686c793ed94a7e18328e5ab\n"
    },
    {
      "commit": "a50785979712bd45e4d122e7ef0e999732b15fca",
      "tree": "f5852561bf70330a99aa272bb3b3b549f8fb5fc0",
      "parents": [
        "f4264011c0e5c52f29627f2489aeabe67eff66a4"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 25 09:36:54 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 25 10:03:39 2010 -0700"
      },
      "message": "MountService: Switch all Log -\u003e Slog\n\nChange-Id: Id33c76497e9d963f295ef6e99d850223ca59b6cd\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "2e13d2331e3010e1437aa5567e8ef471f9c3589d",
      "tree": "16f5aa6537d76723342d7e81c883867c0071b8c1",
      "parents": [
        "8f26b323d8f78c6a183e74c464864ef7da457267",
        "16064f9f183e4a07cd361042dad660aadf84dc9c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 01:02:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 01:02:32 2010 -0700"
      },
      "message": "Merge \"Fix issue #2543231: chat invitation dialog does show all the time\""
    },
    {
      "commit": "16064f9f183e4a07cd361042dad660aadf84dc9c",
      "tree": "5d916f9cc813d3303ed1f8b18ac5beec214b4d4a",
      "parents": [
        "4b4d3039ec5e1538436e36d02127076c746bd3bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 00:47:24 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 01:00:03 2010 -0700"
      },
      "message": "Fix issue #2543231: chat invitation dialog does show all the time\n\nWe were forgetting to re-assign layers after re-ordering windows\nafter an app token transaction.\n\nChange-Id: I448c0b9da644e027c3edff3ae8a4afa79da292d1\n"
    },
    {
      "commit": "e861ec11c458b4f76eb80da518dfee6a400071bf",
      "tree": "7ecb061abf6bb6cf6e55093702bef5e9660a9a6c",
      "parents": [
        "2c9607137cd496cd0373f17a8bd4454715057f67"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 24 21:39:27 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 24 21:39:27 2010 -0700"
      },
      "message": "Fix 2242164 Soft keyboard keeps getting enabled even if I disable it\n\nOn keyboardful devices, it is possible to disable the system soft input\nmethod. Something changed in eclair that caused the ime to be re-enabled\non every package manager update (packages added/deleted).\n\nNow keep track of disabled system imes in the settings db and search\nin that list before enabling a system IME on package changes.\n\nEvery time the user goes to settings to enable/disable imes, the list\nis re-created.\n\nAny new system IMEs that may be added via an OTA will get enabled if\nthey have a different package name.\n"
    },
    {
      "commit": "12331739e05b0c73fb8dbecefe2d9b2a2335e1d7",
      "tree": "db6894d9feedc66086c777ff9fda3d5447fc03fe",
      "parents": [
        "f91444c5e161bd0017c0a9a2a38f597da3805046",
        "3a8b0c18a49c017ecfde8ebf4eb4bb5181ac6fef"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 24 18:13:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 24 18:13:41 2010 -0700"
      },
      "message": "Merge \"Limit DropBox storage to 1000 files (by default).\""
    },
    {
      "commit": "f91444c5e161bd0017c0a9a2a38f597da3805046",
      "tree": "aee450311732f69c743437c58aadd62c991045e2",
      "parents": [
        "b54727e01f2c19c19328be300931ae2ea6112cda"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 24 12:11:00 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 24 18:01:57 2010 -0700"
      },
      "message": "Disallow tethering disable by Wifi\n\nDisallow Tethering being disabled by Wifi\nand vice versa. We now need to explicitly\ndisable tethering to enable Wifi.\n\nBug: 2539071\nChange-Id: Id34a5335e70cb7234367b4709882937a4b8cc526\n"
    },
    {
      "commit": "3bf504df9fc1971078fdde7eed418a0dd8f601e2",
      "tree": "8b80810bd70ed9346b43a012e9e357b20b038e2f",
      "parents": [
        "69c997a5c603c3cc56cbfdacd72cbe9993c5f053"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 23 12:24:33 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 24 17:59:42 2010 -0700"
      },
      "message": "Fix WakeLock issue for driver stop\n\nDue to message removal, wakelock could be held forever.\n\nDo a timer only based wakelock release until we do this\nmore cleanly in ConnectivityService for later release.\n\nAlso, add an optimization to prevent use of wakelocks when driver is\nalready stopped.\n\nBug: 2529883\nChange-Id: Ia1c2ddd44213ef3aa609855613bf155945bef8e4\n"
    },
    {
      "commit": "3a8b0c18a49c017ecfde8ebf4eb4bb5181ac6fef",
      "tree": "ef23dd3d6f7bc385025977c79fc1808ee29ca02c",
      "parents": [
        "3e8b72ac6e2e5237c21f7af28adaa595dd68ffe5"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 24 17:48:20 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 24 17:48:20 2010 -0700"
      },
      "message": "Limit DropBox storage to 1000 files (by default).\n\nAlso does trimming asynchronously (not directly in the broadcast receiver).\n\nBug: 2541253\nChange-Id: I7daf8bc618e2dce68a98571f5f7fbce4df1d6a76\n"
    },
    {
      "commit": "3ac71b605b9a8fb7432bf98926cb0b3d5551e577",
      "tree": "460e3e727ddc79e9f205696d80554525358fa1dc",
      "parents": [
        "4dc844c5df9064fe4e0921ab8d431a4c3027444a",
        "af7cea3a510d80e7a4558c49756564d6500f106e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 24 13:22:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 24 13:22:20 2010 -0700"
      },
      "message": "Merge \"Fix issue #2540920: connectivity issues with tripit/pandora\""
    },
    {
      "commit": "610f3890405a908735c369d37075a31e80dd82a0",
      "tree": "b140a1b76b1a86853e8ab0da462c4f96fe6dbaa5",
      "parents": [
        "aa721c2d190ff511d3f605f5ccd9c49190348952",
        "83e48f57e937a2e582707056f164aefa3c2f7e1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 24 13:11:55 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 24 13:11:55 2010 -0700"
      },
      "message": "Merge \"Fix issue #2537384: Default keyboard input method switched on Eclaire to FRE77D upgrade\""
    },
    {
      "commit": "83e48f57e937a2e582707056f164aefa3c2f7e1d",
      "tree": "764cf77d41f188f054df20820520930302c6bf0f",
      "parents": [
        "d0f11ea9fd3a3a9803b3f7719168003d37f03e48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 23 23:03:25 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 24 13:03:47 2010 -0700"
      },
      "message": "Fix issue #2537384: Default keyboard input method switched\non Eclaire to FRE77D upgrade\n\nWe want to prefer system IMEs when our current IME disappears.\n\nChange-Id: Ief7332bc4f029991cd833ce0968d75bde987b594\n"
    },
    {
      "commit": "af7cea3a510d80e7a4558c49756564d6500f106e",
      "tree": "e86b10d358b6872af20747ad4da4e5a99cec059f",
      "parents": [
        "e77852c8853465ce69a567a5446f251274f98a15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 24 12:59:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 24 12:59:52 2010 -0700"
      },
      "message": "Fix issue #2540920: connectivity issues with tripit/pandora\n\nNeed to be sure to compute gids when SD card is mounted, since we\nneed the package info for that.  Note that this is not re-granting\npermissions (and in the future we could optimize this to just pass\nthrough the mounted apps).\n\nChange-Id: I51e1c23d17a6429642132902ef75c65a307fc33a\n"
    },
    {
      "commit": "c7537ee7b6a7d7c857a02170fa9f41461e5d075b",
      "tree": "c1cac51c45a941ffc59531951e061c204686f627",
      "parents": [
        "cbac8ac6d40227c58edd549728938d76d07a9d20"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 24 09:27:19 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 24 10:32:37 2010 -0700"
      },
      "message": "Clean up stale containers if needed at install time.\nThis is needed when restoring applications installed on sdcard\nvia Market after a data wipe. The stale containers need to be cleaned up before\nreinstalling again.\nAdd a test case for installing when a stale container exists.\n\nChange-Id: I20c30b3003e85fb31531dd3cf9cb59962fe8fe5f\n"
    },
    {
      "commit": "f7f5dda5e54da53b98f1504672a422a484496531",
      "tree": "a56c7cd420cd7a4bfea916f3939b8a2d28aee240",
      "parents": [
        "e0a29d6f947b0e5b2c1aba80fc8acfe30d23df1b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Mar 23 10:34:28 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Mar 23 16:56:08 2010 -0700"
      },
      "message": "Add new activity manager method to get list of running applications installed on sdcard.\nUse new method in UsbStorageActivity.\nFix moving dex files.\nmoveDex should be suffixed with LI since it uses Installer\n\nChange-Id: Id5ef0254578e84b9aae2c2ac44f722eb5a0fda1c\n"
    }
  ],
  "next": "9818d7506e69ac30d614edf0379a2ea486115c19"
}
