)]}'
{
  "log": [
    {
      "commit": "9bce8737f2f7581ade57445286aa150de051ff89",
      "tree": "19afa0f5dff514a7d555e94c8a81c05d6d9e111b",
      "parents": [
        "33c8e2b8e082555115e5f25735c7611fb80004fe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 17:55:49 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 21 22:28:20 2010 -0700"
      },
      "message": "more surfaceflinger cleanups\n\nget rid of the \"fake rtti\" code, and use polymorphism instead.\nalso simplify how we log SF\u0027s state (using polymorphism)\n\nChange-Id: I2bae7c98de4dd207a3e2b00083fa3fde7c467922\n"
    },
    {
      "commit": "33c8e2b8e082555115e5f25735c7611fb80004fe",
      "tree": "0fa80a750f133b31e0ae013042a86931a7aec2cb",
      "parents": [
        "1d6ff5a1f791c9cc5348f33f17c63fc6ba36e107",
        "a8a0aa8b922c45fb4633f51610f264a19f9bd825"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 21 22:27:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 21 22:27:22 2010 -0700"
      },
      "message": "Merge \"better fix for [2420565] Surface.lockCanvas() updates the dirty region too often\" into kraken"
    },
    {
      "commit": "a8a0aa8b922c45fb4633f51610f264a19f9bd825",
      "tree": "367c5b004195a5dbdca46e5f4049b029d3e570c9",
      "parents": [
        "a8624186a6f7a29697bf5a112e46a80ca796c9c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 21 15:24:11 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 21 22:25:35 2010 -0700"
      },
      "message": "better fix for [2420565] Surface.lockCanvas() updates the dirty region too often\n\nChange-Id: I83438b40effd21538f1c74396dc665254b9d5ab6\n"
    },
    {
      "commit": "1d6ff5a1f791c9cc5348f33f17c63fc6ba36e107",
      "tree": "8800a8a2b57beb9abc1ac1281b6bfd32f947d020",
      "parents": [
        "81b7ea00283378bd896ec7d587b1379c6197e4e7",
        "7e93aad42d5f96e4e3a471e49384e1ce794c9411"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 21 18:19:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 18:19:38 2010 -0700"
      },
      "message": "am 7e93aad4: am 36fa4713: Merge \"Fix security hole in Google backup transport registration\" into froyo\n\nMerge commit \u00277e93aad42d5f96e4e3a471e49384e1ce794c9411\u0027 into kraken\n\n* commit \u00277e93aad42d5f96e4e3a471e49384e1ce794c9411\u0027:\n  Fix security hole in Google backup transport registration\n"
    },
    {
      "commit": "7e93aad42d5f96e4e3a471e49384e1ce794c9411",
      "tree": "330f67bbeb8f4f9bd9cb52a58b7fc4825080ae4b",
      "parents": [
        "f77fff4b4e904486bf25affde713294d40764e15",
        "36fa47139d4621dc4bf8d89caa8650495d901b00"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 21 18:15:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 18:15:44 2010 -0700"
      },
      "message": "am 36fa4713: Merge \"Fix security hole in Google backup transport registration\" into froyo\n\nMerge commit \u002736fa47139d4621dc4bf8d89caa8650495d901b00\u0027 into froyo-plus-aosp\n\n* commit \u002736fa47139d4621dc4bf8d89caa8650495d901b00\u0027:\n  Fix security hole in Google backup transport registration\n"
    },
    {
      "commit": "36fa47139d4621dc4bf8d89caa8650495d901b00",
      "tree": "3f919622ab8530ccb91a66ce117a67b34338f874",
      "parents": [
        "23c0b2eb5a610030ad5afe406987cb09c858ccfb",
        "a32504fce826fb66b53991d04819ece3e6bf105e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 21 18:10:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 21 18:10:20 2010 -0700"
      },
      "message": "Merge \"Fix security hole in Google backup transport registration\" into froyo"
    },
    {
      "commit": "a32504fce826fb66b53991d04819ece3e6bf105e",
      "tree": "b51c9b09c4c071e5d90adac6ad766388676c873d",
      "parents": [
        "0dde41fbe0e36bfe059399c839604267ad0318c1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 21 17:58:07 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 21 18:02:56 2010 -0700"
      },
      "message": "Fix security hole in Google backup transport registration\n\nPreviously, it was conceivable that a 3rd party application on a non-GED\ndevice could publish a service that supported the (hidden) IBackupTransport\ninterface and spoofed the Google backup transport\u0027s package and component\nname.  This could allow it to secretly intercept all data moved through the\nbackup mechanism.\n\nFix by ensuring that the package in question exists and is part of the\nOS itself (FLAG_SYSTEM in its ApplicationInfo description) before binding\nto it.\n\nFixes bug #2457063\n\nChange-Id: I3487572be45c2014fa209beacfe3ac6f8270f872\n"
    },
    {
      "commit": "81b7ea00283378bd896ec7d587b1379c6197e4e7",
      "tree": "f86dc97d936e7576657bf8e2d515a303102fb08d",
      "parents": [
        "a8624186a6f7a29697bf5a112e46a80ca796c9c5",
        "f77fff4b4e904486bf25affde713294d40764e15"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 21 14:51:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 14:51:43 2010 -0700"
      },
      "message": "am f77fff4b: am 23c0b2eb: Merge \"Add ILLEGAL_SIM_OR_ME error code.\" into froyo\n\nMerge commit \u0027f77fff4b4e904486bf25affde713294d40764e15\u0027 into kraken\n\n* commit \u0027f77fff4b4e904486bf25affde713294d40764e15\u0027:\n  Add ILLEGAL_SIM_OR_ME error code.\n"
    },
    {
      "commit": "f77fff4b4e904486bf25affde713294d40764e15",
      "tree": "b03fe45b42356229c796b81494c748cade93bd22",
      "parents": [
        "46fba3b9e1bb02aa603ffbb17907f081be0ca873",
        "23c0b2eb5a610030ad5afe406987cb09c858ccfb"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 21 14:46:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 14:46:06 2010 -0700"
      },
      "message": "am 23c0b2eb: Merge \"Add ILLEGAL_SIM_OR_ME error code.\" into froyo\n\nMerge commit \u002723c0b2eb5a610030ad5afe406987cb09c858ccfb\u0027 into froyo-plus-aosp\n\n* commit \u002723c0b2eb5a610030ad5afe406987cb09c858ccfb\u0027:\n  Add ILLEGAL_SIM_OR_ME error code.\n"
    },
    {
      "commit": "23c0b2eb5a610030ad5afe406987cb09c858ccfb",
      "tree": "e1f7050c3bed1bf330908788ac4b5dc9d34bd190",
      "parents": [
        "52e70b25f8c2f652c27595c8fea0b6cb9f9ed87a",
        "7fb4b8455ccccde4698bed1a1906434a14a611a6"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 21 14:43:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 21 14:43:12 2010 -0700"
      },
      "message": "Merge \"Add ILLEGAL_SIM_OR_ME error code.\" into froyo"
    },
    {
      "commit": "7fb4b8455ccccde4698bed1a1906434a14a611a6",
      "tree": "5f441e1963bb4530d96af192bc79600684499afe",
      "parents": [
        "19275cb5b028c18228674f87ba4cbc98d8520c5e"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 21 11:34:15 2010 -0700"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 21 11:34:15 2010 -0700"
      },
      "message": "Add ILLEGAL_SIM_OR_ME error code.\n\nIt is for bug 2571583 to provide better failure information of network operator selection.\n\nNetwork selection returns ILLEGAL_SIM_OR_ME when the failure is\npermanent and no retries needed, such as illegal SIM, ME, HRL config, etc.\n\nChange-Id: Iaf70bef64d3cbf35e4d9915418cbb5b78607f73e\n"
    },
    {
      "commit": "a8624186a6f7a29697bf5a112e46a80ca796c9c5",
      "tree": "e2a26b36ddcab86323521d6dc778be28bd1619c3",
      "parents": [
        "d29eafdba5ca887631648a470dbec30b82cfd9dc",
        "46fba3b9e1bb02aa603ffbb17907f081be0ca873"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Apr 21 11:12:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 11:12:29 2010 -0700"
      },
      "message": "am 46fba3b9: am 52e70b25: Add title to recent apps dialog.\n\nMerge commit \u002746fba3b9e1bb02aa603ffbb17907f081be0ca873\u0027 into kraken\n\n* commit \u002746fba3b9e1bb02aa603ffbb17907f081be0ca873\u0027:\n  Add title to recent apps dialog.\n"
    },
    {
      "commit": "46fba3b9e1bb02aa603ffbb17907f081be0ca873",
      "tree": "6b082ef941111b10126a30a9a643a4fc70b90740",
      "parents": [
        "f021d12f6f7116e9275cd3553a349ce5cb8aab14",
        "52e70b25f8c2f652c27595c8fea0b6cb9f9ed87a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Apr 21 11:07:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 11:07:43 2010 -0700"
      },
      "message": "am 52e70b25: Add title to recent apps dialog.\n\nMerge commit \u002752e70b25f8c2f652c27595c8fea0b6cb9f9ed87a\u0027 into froyo-plus-aosp\n\n* commit \u002752e70b25f8c2f652c27595c8fea0b6cb9f9ed87a\u0027:\n  Add title to recent apps dialog.\n"
    },
    {
      "commit": "52e70b25f8c2f652c27595c8fea0b6cb9f9ed87a",
      "tree": "bd08683ac759789218e46afe80a02aa3aac88022",
      "parents": [
        "83512d4dfc06137bc2d9db0cb62644c54f41a771"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Apr 21 13:59:50 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Apr 21 14:00:44 2010 -0400"
      },
      "message": "Add title to recent apps dialog.\n\nBug: 2614279\n\nChange-Id: I45ebcd2e45140901df246db10f756c07864cccb4\n"
    },
    {
      "commit": "d29eafdba5ca887631648a470dbec30b82cfd9dc",
      "tree": "441b454713ae4315768545a2740c85f49edfc986",
      "parents": [
        "e1d851d36d0260f3e02e5ae7f372f8ab42494f8b",
        "f021d12f6f7116e9275cd3553a349ce5cb8aab14"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:15:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 21 09:15:15 2010 -0700"
      },
      "message": "am f021d12f: merge from open-source master\n\nMerge commit \u0027f021d12f6f7116e9275cd3553a349ce5cb8aab14\u0027 into kraken\n\n* commit \u0027f021d12f6f7116e9275cd3553a349ce5cb8aab14\u0027:\n  Allow META* macros outside of the framework\n  Fix printing order of phone objects creation\n"
    },
    {
      "commit": "f021d12f6f7116e9275cd3553a349ce5cb8aab14",
      "tree": "94cb2b13e3f75ad18ab56605781d1eb74698d07e",
      "parents": [
        "172673cd5b21dee6e175ab67235aa19bc2689868",
        "5a870fee53ca94c7575503c72574ca0f068d52c7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:43 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:43 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I08f1feae65b1dfc3f740d78654c267f2e3ae5e85\n"
    },
    {
      "commit": "e1d851d36d0260f3e02e5ae7f372f8ab42494f8b",
      "tree": "1f88d20251165ab0985dcbad56556fbece7c6089",
      "parents": [
        "bba573c2110128d1c829a533e6c328ac9ea0e9e4",
        "172673cd5b21dee6e175ab67235aa19bc2689868"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 22:29:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 22:29:05 2010 -0700"
      },
      "message": "am 172673cd: (-s ours) am 83512d4d: DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn\\\u0027t work with height \u003c\u003d 16\n\nMerge commit \u0027172673cd5b21dee6e175ab67235aa19bc2689868\u0027 into kraken\n\n* commit \u0027172673cd5b21dee6e175ab67235aa19bc2689868\u0027:\n  DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn\u0027t work with height \u003c\u003d 16\n"
    },
    {
      "commit": "172673cd5b21dee6e175ab67235aa19bc2689868",
      "tree": "77f783f080dec1b951253cd0292815bc6b35af52",
      "parents": [
        "ccc96754c5c6e31d6f782c3adeb06ad1694221d8",
        "83512d4dfc06137bc2d9db0cb62644c54f41a771"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 22:26:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 22:26:45 2010 -0700"
      },
      "message": "am 83512d4d: DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn\\\u0027t work with height \u003c\u003d 16\n\nMerge commit \u002783512d4dfc06137bc2d9db0cb62644c54f41a771\u0027 into froyo-plus-aosp\n\n* commit \u002783512d4dfc06137bc2d9db0cb62644c54f41a771\u0027:\n  DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn\u0027t work with height \u003c\u003d 16\n"
    },
    {
      "commit": "83512d4dfc06137bc2d9db0cb62644c54f41a771",
      "tree": "fe0ed7cbeafab7f97e7898d83c31928fbc53c00e",
      "parents": [
        "22caecda8a24c971972d78a112279c48f242d529"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 21:55:40 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 21:55:40 2010 -0700"
      },
      "message": "DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn\u0027t work with height \u003c\u003d 16\n\ndon\u0027t use glDrawTexi() anymore\n\nChange-Id: If71334de39114b0edce7771366f8d8dc26f6911e\n"
    },
    {
      "commit": "bba573c2110128d1c829a533e6c328ac9ea0e9e4",
      "tree": "1f88d20251165ab0985dcbad56556fbece7c6089",
      "parents": [
        "54f5ecc6d1f3556a8531c0f4c63353a25174d679",
        "ccc96754c5c6e31d6f782c3adeb06ad1694221d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 20 17:57:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 17:57:29 2010 -0700"
      },
      "message": "am ccc96754: am 22caecda: Merge \"Fix PM crash due to bad array bookkeeping logic.\" into froyo\n\nMerge commit \u0027ccc96754c5c6e31d6f782c3adeb06ad1694221d8\u0027 into kraken\n\n* commit \u0027ccc96754c5c6e31d6f782c3adeb06ad1694221d8\u0027:\n  Fix PM crash due to bad array bookkeeping logic.\n"
    },
    {
      "commit": "ccc96754c5c6e31d6f782c3adeb06ad1694221d8",
      "tree": "35ff62e48ebe6c9705119fffe5ba01cb8dab3a80",
      "parents": [
        "9127d9a5fd95d7454a10d44acb79079720f6bb91",
        "22caecda8a24c971972d78a112279c48f242d529"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 20 17:54:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 17:54:59 2010 -0700"
      },
      "message": "am 22caecda: Merge \"Fix PM crash due to bad array bookkeeping logic.\" into froyo\n\nMerge commit \u002722caecda8a24c971972d78a112279c48f242d529\u0027 into froyo-plus-aosp\n\n* commit \u002722caecda8a24c971972d78a112279c48f242d529\u0027:\n  Fix PM crash due to bad array bookkeeping logic.\n"
    },
    {
      "commit": "22caecda8a24c971972d78a112279c48f242d529",
      "tree": "a178b05a87f79c3dd1f55cd228fa02bd54d12df3",
      "parents": [
        "be34896457bb37b4e263efa87316d2e2420adab3",
        "8c8bb8b3c4eba500d64b75c344518fa1cda35e92"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 20 17:53:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 17:53:00 2010 -0700"
      },
      "message": "Merge \"Fix PM crash due to bad array bookkeeping logic.\" into froyo"
    },
    {
      "commit": "54f5ecc6d1f3556a8531c0f4c63353a25174d679",
      "tree": "ed64a4568bc3c5cc1d69e1c883dd8c290a3e4a80",
      "parents": [
        "f5e208018b07bf16419a9763771942604d5b9b28",
        "9127d9a5fd95d7454a10d44acb79079720f6bb91"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 20 17:42:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 17:42:08 2010 -0700"
      },
      "message": "am 9127d9a5: am be348964: Merge \"Move Tethering off the ServerThread.\" into froyo\n\nMerge commit \u00279127d9a5fd95d7454a10d44acb79079720f6bb91\u0027 into kraken\n\n* commit \u00279127d9a5fd95d7454a10d44acb79079720f6bb91\u0027:\n  Move Tethering off the ServerThread.\n"
    },
    {
      "commit": "9127d9a5fd95d7454a10d44acb79079720f6bb91",
      "tree": "c095cefa23761f45ea4f543298fb4c26097b4d77",
      "parents": [
        "89e28cbefaff6ae9499032bb446ae7e72e019466",
        "be34896457bb37b4e263efa87316d2e2420adab3"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 20 17:39:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 17:39:38 2010 -0700"
      },
      "message": "am be348964: Merge \"Move Tethering off the ServerThread.\" into froyo\n\nMerge commit \u0027be34896457bb37b4e263efa87316d2e2420adab3\u0027 into froyo-plus-aosp\n\n* commit \u0027be34896457bb37b4e263efa87316d2e2420adab3\u0027:\n  Move Tethering off the ServerThread.\n"
    },
    {
      "commit": "be34896457bb37b4e263efa87316d2e2420adab3",
      "tree": "cd26f31ddde2fe12ee14b0846d3a03a6ea05577c",
      "parents": [
        "9e609b0dfa155fbe8ba3b5abd4faa188e2270dde",
        "7eae25021d3aa71c7616ea766f9a4d5af3b1772b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 20 17:37:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 17:37:22 2010 -0700"
      },
      "message": "Merge \"Move Tethering off the ServerThread.\" into froyo"
    },
    {
      "commit": "8c8bb8b3c4eba500d64b75c344518fa1cda35e92",
      "tree": "ca666806895ac29e39eeb0511a0f47a04f7da034",
      "parents": [
        "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 20 17:21:47 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 20 17:21:47 2010 -0700"
      },
      "message": "Fix PM crash due to bad array bookkeeping logic.\n\nBug: 2586093\nChange-Id: I320deeef65a434060e608015dc2dd97b8200e025\n"
    },
    {
      "commit": "f5e208018b07bf16419a9763771942604d5b9b28",
      "tree": "112c364b5f4cef8a7cbaa9f1b186c31b83f40af7",
      "parents": [
        "b834b38a28660a46357e652ac2524e9947a13ba5",
        "89e28cbefaff6ae9499032bb446ae7e72e019466"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 16:37:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:37:35 2010 -0700"
      },
      "message": "am 89e28cbe: am 9e609b0d: Merge \"Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\" into froyo\n\nMerge commit \u002789e28cbefaff6ae9499032bb446ae7e72e019466\u0027 into kraken\n\n* commit \u002789e28cbefaff6ae9499032bb446ae7e72e019466\u0027:\n  Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\n"
    },
    {
      "commit": "89e28cbefaff6ae9499032bb446ae7e72e019466",
      "tree": "edd2037d32b72151b5fc52539f1e00a837dee1b4",
      "parents": [
        "8dc4c790e2c278f8f671c728401ee9458d2d74ab",
        "9e609b0dfa155fbe8ba3b5abd4faa188e2270dde"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 16:32:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:32:30 2010 -0700"
      },
      "message": "am 9e609b0d: Merge \"Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\" into froyo\n\nMerge commit \u00279e609b0dfa155fbe8ba3b5abd4faa188e2270dde\u0027 into froyo-plus-aosp\n\n* commit \u00279e609b0dfa155fbe8ba3b5abd4faa188e2270dde\u0027:\n  Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\n"
    },
    {
      "commit": "9e609b0dfa155fbe8ba3b5abd4faa188e2270dde",
      "tree": "bdb11671d67c5fd213246ee09d081bcdce095fe3",
      "parents": [
        "fe8620ac42c9b61ab47fab83caa34816e6404ee5",
        "63fbd5ab8fee9db73077d10c9b5ac61625588624"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 16:29:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 16:29:23 2010 -0700"
      },
      "message": "Merge \"Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\" into froyo"
    },
    {
      "commit": "b834b38a28660a46357e652ac2524e9947a13ba5",
      "tree": "594d5bdd485fc0a93c0109ec87771339b0f96775",
      "parents": [
        "827cda456a469777c9da60b3aaf491049a999515",
        "16a86ee30b70aea8c254b836c708f54a608d25f3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 16:28:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 16:28:24 2010 -0700"
      },
      "message": "Merge \"added setCrop() to android_native_window_t\" into kraken"
    },
    {
      "commit": "827cda456a469777c9da60b3aaf491049a999515",
      "tree": "af2d5341665243f3e6b74679a0b4351a29fa244c",
      "parents": [
        "219dbb67a6cd4a64abd6e9ec2f376eb982a032d3",
        "6bb5ebaa0305a30b5037f6533b3b989e0437d26c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Tue Apr 20 16:28:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 16:28:14 2010 -0700"
      },
      "message": "Merge \"add support for up to 16 buffers per surface\" into kraken"
    },
    {
      "commit": "219dbb67a6cd4a64abd6e9ec2f376eb982a032d3",
      "tree": "4f7afe6ad7a1c1c900b124af3a73b5fcd9338619",
      "parents": [
        "360865e26c1e6078a1d8363e469fc0ef2e05a159",
        "8dc4c790e2c278f8f671c728401ee9458d2d74ab"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 16:04:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:04:08 2010 -0700"
      },
      "message": "am 8dc4c790: am fe8620ac: Merge \"Update AudioService to reflect phone state changes with AudioFocus. Phone calls and rings are treated as a new client, with a dedicated client ID that identifies it in the audio focus stack. When it is present in the stack, others clie\n\nMerge commit \u00278dc4c790e2c278f8f671c728401ee9458d2d74ab\u0027 into kraken\n\n* commit \u00278dc4c790e2c278f8f671c728401ee9458d2d74ab\u0027:\n  Update AudioService to reflect phone state changes with AudioFocus.\n"
    },
    {
      "commit": "8dc4c790e2c278f8f671c728401ee9458d2d74ab",
      "tree": "7e6ab8af8e961e4d1490b26130bcc227e7284ec6",
      "parents": [
        "d32f942280cc4390ab853321557eef06292b300e",
        "fe8620ac42c9b61ab47fab83caa34816e6404ee5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 16:00:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:00:58 2010 -0700"
      },
      "message": "am fe8620ac: Merge \"Update AudioService to reflect phone state changes with AudioFocus. Phone calls and rings are treated as a new client, with a dedicated client ID that identifies it in the audio focus stack. When it is present in the stack, others clients cannot re\n\nMerge commit \u0027fe8620ac42c9b61ab47fab83caa34816e6404ee5\u0027 into froyo-plus-aosp\n\n* commit \u0027fe8620ac42c9b61ab47fab83caa34816e6404ee5\u0027:\n  Update AudioService to reflect phone state changes with AudioFocus.\n"
    },
    {
      "commit": "360865e26c1e6078a1d8363e469fc0ef2e05a159",
      "tree": "5a2e8f0f414901e71efb6d365f9451b7f184b90a",
      "parents": [
        "0c64ff7568f0e1e37e300005ea0de3f21faa08e0",
        "e5c0a7b7810092a593ff386843927238c175bdbd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 15:59:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 15:59:57 2010 -0700"
      },
      "message": "Merge \"clean-up surfaceflinger a bit\" into kraken"
    },
    {
      "commit": "e5c0a7b7810092a593ff386843927238c175bdbd",
      "tree": "0118a020f4e43c025fbfaadb2d91460aa893894d",
      "parents": [
        "796c5fc6abf01b1864223156d578288657fe9923"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 14:51:04 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 15:58:36 2010 -0700"
      },
      "message": "clean-up surfaceflinger a bit\n\nget rid of the glDrawTexi path and use floating points instead of fixed point maths\n\nChange-Id: I3aa9ce2dc082f702160e605a16ba5fe987cdf087\n"
    },
    {
      "commit": "fe8620ac42c9b61ab47fab83caa34816e6404ee5",
      "tree": "e176e1e650b85f2df047706ebbed6f1a9cb13864",
      "parents": [
        "0dde41fbe0e36bfe059399c839604267ad0318c1",
        "b4bccb6d8df16a2c5235cead187156bc721cf074"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 15:57:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 15:57:30 2010 -0700"
      },
      "message": "Merge \"Update AudioService to reflect phone state changes with AudioFocus. Phone calls and rings are treated as a new client, with a dedicated client ID that identifies it in the audio focus stack. When it is present in the stack, others clients cannot request audio focus (request is denied). Because the phone state is now mostly handled like a new client, there is no need monitor mode changes and to keep track of undispatched focus changes, as those will delayed focus gains will now automatically happen at the end of the call when the phone client is removed from the focus stack.\" into froyo"
    },
    {
      "commit": "63fbd5ab8fee9db73077d10c9b5ac61625588624",
      "tree": "c67c6ff00541a2d684a6e67475c13d067f28bec0",
      "parents": [
        "25dc5f30b2a8276c5790c7152a801fcd905c7281"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 15:46:28 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 15:56:36 2010 -0700"
      },
      "message": "Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\n\nChange-Id: Ic2d4a8f5b6bbf16772fba39377809ec68d249c1f\nrelated-to-bug: 2611257\n"
    },
    {
      "commit": "7eae25021d3aa71c7616ea766f9a4d5af3b1772b",
      "tree": "17eea07c1a61d9c7b277f8a72c089f655664f992",
      "parents": [
        "19275cb5b028c18228674f87ba4cbc98d8520c5e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 20 15:51:20 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 20 15:51:20 2010 -0700"
      },
      "message": "Move Tethering off the ServerThread.\n\nAn ANR has been reported because somebody else was hogging the Netd\nlink.  We can\u0027t pause the server thread for that, so make a new thread.\n\nbug:2609904\nChange-Id: I0430a08621da1cda0a0010ce15826cceee59a529\n"
    },
    {
      "commit": "b4bccb6d8df16a2c5235cead187156bc721cf074",
      "tree": "2c7e7e25191ce89f2e570cf802869018700d29fd",
      "parents": [
        "25dc5f30b2a8276c5790c7152a801fcd905c7281"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 14:56:34 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 15:23:39 2010 -0700"
      },
      "message": "Update AudioService to reflect phone state changes with AudioFocus.\nPhone calls and rings are treated as a new client, with a dedicated\nclient ID that identifies it in the audio focus stack. When it is\npresent in the stack, others clients cannot request audio focus\n(request is denied).\nBecause the phone state is now mostly handled like a new client,\nthere is no need monitor mode changes and to keep track of\nundispatched focus changes, as those will delayed focus gains\nwill now automatically happen at the end of the call when the\nphone client is removed from the focus stack.\n\nChange-Id: I11ff73b015ab93f07040755fd8ee75c8d675e025\n"
    },
    {
      "commit": "0c64ff7568f0e1e37e300005ea0de3f21faa08e0",
      "tree": "78ea580e5e56d5ce8cd0f00a35b4602818c0acd1",
      "parents": [
        "c9553f2ed0ae15bd75e16fff513b922bb1d307a8",
        "d32f942280cc4390ab853321557eef06292b300e"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 15:14:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 15:14:41 2010 -0700"
      },
      "message": "am d32f9422: am 0dde41fb: Merge \"Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.\" into froyo\n\nMerge commit \u0027d32f942280cc4390ab853321557eef06292b300e\u0027 into kraken\n\n* commit \u0027d32f942280cc4390ab853321557eef06292b300e\u0027:\n  Fix 2610961\n"
    },
    {
      "commit": "d32f942280cc4390ab853321557eef06292b300e",
      "tree": "9d513084bcfb45f763275ba8e50fe280f622ef6b",
      "parents": [
        "1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0",
        "0dde41fbe0e36bfe059399c839604267ad0318c1"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 15:08:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 15:08:50 2010 -0700"
      },
      "message": "am 0dde41fb: Merge \"Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.\" into froyo\n\nMerge commit \u00270dde41fbe0e36bfe059399c839604267ad0318c1\u0027 into froyo-plus-aosp\n\n* commit \u00270dde41fbe0e36bfe059399c839604267ad0318c1\u0027:\n  Fix 2610961\n"
    },
    {
      "commit": "0dde41fbe0e36bfe059399c839604267ad0318c1",
      "tree": "4d2ad7a53fc36484384a08c10a47b016eeaad0e8",
      "parents": [
        "25dc5f30b2a8276c5790c7152a801fcd905c7281",
        "89e0c1a9f5a86d47c20b1bf9b9c78507ffbafd1f"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 15:04:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 15:04:41 2010 -0700"
      },
      "message": "Merge \"Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.\" into froyo"
    },
    {
      "commit": "c9553f2ed0ae15bd75e16fff513b922bb1d307a8",
      "tree": "e5648b64fb302eabfa821adc44849a30b2cddaa9",
      "parents": [
        "bb331f7333b643794062a7c9e9eac329699f6502",
        "1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:57:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 14:57:25 2010 -0700"
      },
      "message": "am 1e1edb2c: am 25dc5f30: Merge \"Don\\\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\" into froyo\n\nMerge commit \u00271e1edb2c7376dbd9ca24bbeefbddbe4221f397a0\u0027 into kraken\n\n* commit \u00271e1edb2c7376dbd9ca24bbeefbddbe4221f397a0\u0027:\n  Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer.\n"
    },
    {
      "commit": "1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0",
      "tree": "c28c478b2e91f809fe3f644ada58a48c8c9a625f",
      "parents": [
        "0fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8",
        "25dc5f30b2a8276c5790c7152a801fcd905c7281"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:52:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 14:52:57 2010 -0700"
      },
      "message": "am 25dc5f30: Merge \"Don\\\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\" into froyo\n\nMerge commit \u002725dc5f30b2a8276c5790c7152a801fcd905c7281\u0027 into froyo-plus-aosp\n\n* commit \u002725dc5f30b2a8276c5790c7152a801fcd905c7281\u0027:\n  Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer.\n"
    },
    {
      "commit": "25dc5f30b2a8276c5790c7152a801fcd905c7281",
      "tree": "9d75ee28e6b997e99612c1be3e604ce601c980bd",
      "parents": [
        "8ccbd4ba6d7f1180284df7aa5735dba48b10d8ee",
        "2dd8ff8c4f068f9a5f31510d502abea5dbed9819"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:48:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 14:48:45 2010 -0700"
      },
      "message": "Merge \"Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\" into froyo"
    },
    {
      "commit": "bb331f7333b643794062a7c9e9eac329699f6502",
      "tree": "cefff690248bc9a13ac6eddb583883beab1214da",
      "parents": [
        "796c5fc6abf01b1864223156d578288657fe9923",
        "0fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 14:48:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 14:48:15 2010 -0700"
      },
      "message": "am 0fabf2e8: am 8ccbd4ba: Merge \"Fix bug 2604132 40s skip after undocking In case of A2DP write errors, there is an overflow in the calculation of the sleep duration to simulate the timing of a successful write.\" into froyo\n\nMerge commit \u00270fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8\u0027 into kraken\n\n* commit \u00270fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8\u0027:\n  Fix bug 2604132 40s skip after undocking\n"
    },
    {
      "commit": "0fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8",
      "tree": "fc39960b7e6d7245bb1808085222ee911495e2f3",
      "parents": [
        "3f5d7b83ee194db39c5f784146e4abc4f6568854",
        "8ccbd4ba6d7f1180284df7aa5735dba48b10d8ee"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 14:45:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 14:45:06 2010 -0700"
      },
      "message": "am 8ccbd4ba: Merge \"Fix bug 2604132 40s skip after undocking In case of A2DP write errors, there is an overflow in the calculation of the sleep duration to simulate the timing of a successful write.\" into froyo\n\nMerge commit \u00278ccbd4ba6d7f1180284df7aa5735dba48b10d8ee\u0027 into froyo-plus-aosp\n\n* commit \u00278ccbd4ba6d7f1180284df7aa5735dba48b10d8ee\u0027:\n  Fix bug 2604132 40s skip after undocking\n"
    },
    {
      "commit": "8ccbd4ba6d7f1180284df7aa5735dba48b10d8ee",
      "tree": "f1c5a7119131eb8ed3a4e6a705ed22a44a9872b2",
      "parents": [
        "b876bdb52e7c72ced8e7764946e5beb914f17036",
        "2f22d35936d5e9dfaec529ebbe1fbd2a27e843d7"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 14:41:11 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 14:41:11 2010 -0700"
      },
      "message": "Merge \"Fix bug 2604132 40s skip after undocking In case of A2DP write errors, there is an overflow in the calculation of the sleep duration to simulate the timing of a successful write.\" into froyo"
    },
    {
      "commit": "2dd8ff8c4f068f9a5f31510d502abea5dbed9819",
      "tree": "3bdd10b504d5881cf588290d66c7b99179b64132",
      "parents": [
        "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:26:00 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:26:00 2010 -0700"
      },
      "message": "Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer.\nThis currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\n\nIn certain edge cases (encoded audio track contains silence), each buffer would turn out to be an amazing 6(!!!) bytes, we\u0027d spend lots and lots of time streaming network data to fill the codec\u0027s buffers of size 6144 bytes with .. silence.\n\nChange-Id: I9f449f310fc64ca384bd02e4a783e33cf5b46fcc\nrelated-to-bug: 2609049\nQA-Impact: streamed (http) playback of aac audio content on Droid.\n"
    },
    {
      "commit": "5a870fee53ca94c7575503c72574ca0f068d52c7",
      "tree": "7c9746028570b87eb4f12a1e3f5c64f5004da89f",
      "parents": [
        "2aba0ec873e269b3ce5d044fe5f1f12b6b28228d"
      ],
      "author": {
        "name": "Michael Richardson",
        "email": "mcr@credil.org",
        "time": "Tue Nov 03 17:01:28 2009 -0500"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 20 14:14:30 2010 -0700"
      },
      "message": "Allow META* macros outside of the framework\n\nThe META* macros are useful outside of the framework\nfor other systems implementing Binder interfaces, but\nthey depend upon the android namespace. This includes\nthe appropriate namespace operations, which should be\nsane even in that android namespace.\n\nChange-Id: If600156c65191f51f487d0ee301d9f9f532b263d\n"
    },
    {
      "commit": "89e0c1a9f5a86d47c20b1bf9b9c78507ffbafd1f",
      "tree": "1c27bd6711a66defa5a9f5c1a0a1487154a54473",
      "parents": [
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "message": "Fix 2610961\nUnhide broadcast intents that are sent when sdcard gets mounted/unmounted.\n\nChange-Id: Ibb5700178e98f657f1c2b6a2f83e722151c4a44f\n"
    },
    {
      "commit": "16a86ee30b70aea8c254b836c708f54a608d25f3",
      "tree": "9e30bb72015eeaedcc5c7d9f8303cebd2cc3e07f",
      "parents": [
        "6bb5ebaa0305a30b5037f6533b3b989e0437d26c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 15 18:48:26 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 13:36:29 2010 -0700"
      },
      "message": "added setCrop() to android_native_window_t\n\nhooked up the new method up to Surface.cpp\nthe actual crop is not implemented in SF yet\n\nChange-Id: Ic6e313c98fd880f127a051a0ccc71808bd689751\n"
    },
    {
      "commit": "6bb5ebaa0305a30b5037f6533b3b989e0437d26c",
      "tree": "68048832ea2c2560a94bf506647e9fee0357f548",
      "parents": [
        "796c5fc6abf01b1864223156d578288657fe9923"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Mon Apr 05 16:21:53 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 13:36:29 2010 -0700"
      },
      "message": "add support for up to 16 buffers per surface\n\nalso increase the dirtyregion size from 1 to 6 rectangles.\nOverall we now need 27KiB process instead of 4KiB\n\nChange-Id: Iebda5565015158f49d9ca8dbcf55e6ad04855be3\n"
    },
    {
      "commit": "796c5fc6abf01b1864223156d578288657fe9923",
      "tree": "14d7ffdc1e5484c305e9048279756a2571d13bbd",
      "parents": [
        "5272399a1c822f1e896673b8744184a8abe03b2a",
        "3f5d7b83ee194db39c5f784146e4abc4f6568854"
      ],
      "author": {
        "name": "Nicolas Roard",
        "email": "nicolas@android.com",
        "time": "Tue Apr 20 13:29:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 13:29:11 2010 -0700"
      },
      "message": "am 3f5d7b83: am b876bdb5: Merge \"Speed up layers rendering when using animations Cherry-pick from master\" into froyo\n\nMerge commit \u00273f5d7b83ee194db39c5f784146e4abc4f6568854\u0027 into kraken\n\n* commit \u00273f5d7b83ee194db39c5f784146e4abc4f6568854\u0027:\n  Speed up layers rendering when using animations\n"
    },
    {
      "commit": "3f5d7b83ee194db39c5f784146e4abc4f6568854",
      "tree": "75af0e3eaa6cf6d8460af707f0e2a7c9380ce887",
      "parents": [
        "29019cb9773dfc7645c9326725a6ac514020eef7",
        "b876bdb52e7c72ced8e7764946e5beb914f17036"
      ],
      "author": {
        "name": "Nicolas Roard",
        "email": "nicolas@android.com",
        "time": "Tue Apr 20 13:26:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 13:26:36 2010 -0700"
      },
      "message": "am b876bdb5: Merge \"Speed up layers rendering when using animations Cherry-pick from master\" into froyo\n\nMerge commit \u0027b876bdb52e7c72ced8e7764946e5beb914f17036\u0027 into froyo-plus-aosp\n\n* commit \u0027b876bdb52e7c72ced8e7764946e5beb914f17036\u0027:\n  Speed up layers rendering when using animations\n"
    },
    {
      "commit": "b876bdb52e7c72ced8e7764946e5beb914f17036",
      "tree": "07c66841bdbbd3e3dc2fcaf3fd3f6bde1957cd71",
      "parents": [
        "c96307efd2829cdd0fa7c835484f2f89edf7d883",
        "f343a043efa812f3c331e172f57295d15fb5a397"
      ],
      "author": {
        "name": "Nicolas Roard",
        "email": "nicolas@android.com",
        "time": "Tue Apr 20 13:22:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 13:22:44 2010 -0700"
      },
      "message": "Merge \"Speed up layers rendering when using animations Cherry-pick from master\" into froyo"
    },
    {
      "commit": "5272399a1c822f1e896673b8744184a8abe03b2a",
      "tree": "1789c39e383df29e762acbc014611381a2e6d047",
      "parents": [
        "dbc108a718a9a0d59b4697d0e780193503b4cf92",
        "29019cb9773dfc7645c9326725a6ac514020eef7"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 20 13:06:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 13:06:57 2010 -0700"
      },
      "message": "am 29019cb9: (-s ours) am c96307ef: Merge \"Make the silent/vibrate status icon reflect overall device state. (DO NOT MERGE)\" into froyo\n\nMerge commit \u002729019cb9773dfc7645c9326725a6ac514020eef7\u0027 into kraken\n\n* commit \u002729019cb9773dfc7645c9326725a6ac514020eef7\u0027:\n  Make the silent/vibrate status icon reflect overall device state. (DO NOT MERGE)\n"
    },
    {
      "commit": "29019cb9773dfc7645c9326725a6ac514020eef7",
      "tree": "5348b463f551525896658c113231ee3925e45cf7",
      "parents": [
        "15feb4defc61c7bded6fdd3ea1c3781f25666275",
        "c96307efd2829cdd0fa7c835484f2f89edf7d883"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 20 13:01:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 13:01:58 2010 -0700"
      },
      "message": "am c96307ef: Merge \"Make the silent/vibrate status icon reflect overall device state. (DO NOT MERGE)\" into froyo\n\nMerge commit \u0027c96307efd2829cdd0fa7c835484f2f89edf7d883\u0027 into froyo-plus-aosp\n\n* commit \u0027c96307efd2829cdd0fa7c835484f2f89edf7d883\u0027:\n  Make the silent/vibrate status icon reflect overall device state. (DO NOT MERGE)\n"
    },
    {
      "commit": "c96307efd2829cdd0fa7c835484f2f89edf7d883",
      "tree": "a6b3b5a88cd2d58e3b22c2f9ce283ca7eab97558",
      "parents": [
        "19275cb5b028c18228674f87ba4cbc98d8520c5e",
        "c210b65cd2619ef462bd860c7197ddcb1c39c75c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 20 12:57:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 12:57:54 2010 -0700"
      },
      "message": "Merge \"Make the silent/vibrate status icon reflect overall device state. (DO NOT MERGE)\" into froyo"
    },
    {
      "commit": "2f22d35936d5e9dfaec529ebbe1fbd2a27e843d7",
      "tree": "97863a9587f3ab5c56ead4ee4f6cb9c83ea56c36",
      "parents": [
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 12:12:13 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 20 12:12:13 2010 -0700"
      },
      "message": "Fix bug 2604132 40s skip after undocking\nIn case of A2DP write errors, there is an overflow in the calculation\nof the sleep duration to simulate the timing of a successful write.\n\nChange-Id: Ic4e570aebf07fac69735aab1bbc2fc73512ee795\n"
    },
    {
      "commit": "f343a043efa812f3c331e172f57295d15fb5a397",
      "tree": "0b251364f1c957018d623477bb04fe38611f26ba",
      "parents": [
        "19275cb5b028c18228674f87ba4cbc98d8520c5e"
      ],
      "author": {
        "name": "Nicolas Roard",
        "email": "nicolas@android.com",
        "time": "Mon Apr 19 19:08:55 2010 -0700"
      },
      "committer": {
        "name": "Nicolas Roard",
        "email": "nicolas@android.com",
        "time": "Tue Apr 20 12:05:39 2010 -0700"
      },
      "message": "Speed up layers rendering when using animations\nCherry-pick from master\n\nBug:2522049\nChange-Id: I441f00b6e7551930c4f76983681f4cd0c57ce017\n"
    },
    {
      "commit": "dbc108a718a9a0d59b4697d0e780193503b4cf92",
      "tree": "1789c39e383df29e762acbc014611381a2e6d047",
      "parents": [
        "20fa839d2b6df87630ddc22b5c09f795387884f6",
        "15feb4defc61c7bded6fdd3ea1c3781f25666275"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Apr 20 11:50:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:50:45 2010 -0700"
      },
      "message": "am 15feb4de: am 19275cb5: Merge \"Remove code to pass the nonexistant lockprofsample flag to Dalvik.\" into froyo\n\nMerge commit \u002715feb4defc61c7bded6fdd3ea1c3781f25666275\u0027 into kraken\n\n* commit \u002715feb4defc61c7bded6fdd3ea1c3781f25666275\u0027:\n  Remove code to pass the nonexistant lockprofsample flag to Dalvik.\n"
    },
    {
      "commit": "15feb4defc61c7bded6fdd3ea1c3781f25666275",
      "tree": "1ba84fce8bc350c2c631259d98b5530b5c3020c4",
      "parents": [
        "19fa6d4586df8ff7897fcc73b2228b431502d58e",
        "19275cb5b028c18228674f87ba4cbc98d8520c5e"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Apr 20 11:48:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:48:09 2010 -0700"
      },
      "message": "am 19275cb5: Merge \"Remove code to pass the nonexistant lockprofsample flag to Dalvik.\" into froyo\n\nMerge commit \u002719275cb5b028c18228674f87ba4cbc98d8520c5e\u0027 into froyo-plus-aosp\n\n* commit \u002719275cb5b028c18228674f87ba4cbc98d8520c5e\u0027:\n  Remove code to pass the nonexistant lockprofsample flag to Dalvik.\n"
    },
    {
      "commit": "20fa839d2b6df87630ddc22b5c09f795387884f6",
      "tree": "67c4ae038d7212494ef849c30dc2f07f3db910ac",
      "parents": [
        "fe13eebee964cd9e91270403e3910c08d898ad31",
        "19fa6d4586df8ff7897fcc73b2228b431502d58e"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Apr 20 11:47:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:47:31 2010 -0700"
      },
      "message": "am 19fa6d45: am 738a0460: Merge \"Don\\\u0027t inflate the zoom button controller until we are going to show it. This should shave 5% of Browser start up time on Sapphire.\" into froyo\n\nMerge commit \u002719fa6d4586df8ff7897fcc73b2228b431502d58e\u0027 into kraken\n\n* commit \u002719fa6d4586df8ff7897fcc73b2228b431502d58e\u0027:\n  Don\u0027t inflate the zoom button controller until we\n"
    },
    {
      "commit": "19fa6d4586df8ff7897fcc73b2228b431502d58e",
      "tree": "1e2a56443351648a9d78de54eead67608aa3af0c",
      "parents": [
        "9d14e3ea22f48173070789951ee6dc64b507e13f",
        "738a0460c5c6b45506f5203b87d62f2ac99a8e7a"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Apr 20 11:43:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:43:18 2010 -0700"
      },
      "message": "am 738a0460: Merge \"Don\\\u0027t inflate the zoom button controller until we are going to show it. This should shave 5% of Browser start up time on Sapphire.\" into froyo\n\nMerge commit \u0027738a0460c5c6b45506f5203b87d62f2ac99a8e7a\u0027 into froyo-plus-aosp\n\n* commit \u0027738a0460c5c6b45506f5203b87d62f2ac99a8e7a\u0027:\n  Don\u0027t inflate the zoom button controller until we\n"
    },
    {
      "commit": "19275cb5b028c18228674f87ba4cbc98d8520c5e",
      "tree": "1023b9a155982a7e0fc4630a33bf7541d72a687a",
      "parents": [
        "738a0460c5c6b45506f5203b87d62f2ac99a8e7a",
        "8ba73ac72cd7becc2158e2b1f98794173f9746bd"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Apr 20 11:42:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 11:42:39 2010 -0700"
      },
      "message": "Merge \"Remove code to pass the nonexistant lockprofsample flag to Dalvik.\" into froyo"
    },
    {
      "commit": "738a0460c5c6b45506f5203b87d62f2ac99a8e7a",
      "tree": "e6dfdaa347732c9fe836dc77f35bc5a0b32019b9",
      "parents": [
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2",
        "f4c66efa203c430219809298788ef90b596489ce"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Apr 20 11:40:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 11:40:07 2010 -0700"
      },
      "message": "Merge \"Don\u0027t inflate the zoom button controller until we are going to show it. This should shave 5% of Browser start up time on Sapphire.\" into froyo"
    },
    {
      "commit": "fe13eebee964cd9e91270403e3910c08d898ad31",
      "tree": "f51318cb9d23c4b193eb15f6b967f1e900f8accf",
      "parents": [
        "5b550c9efc2cc10e376ae20c1947a7ce769e9660",
        "9d14e3ea22f48173070789951ee6dc64b507e13f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 20 11:33:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:33:21 2010 -0700"
      },
      "message": "am 9d14e3ea: am 9b8b417c: Merge \"When updating existing entries in the media database, don\\\u0027t update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-Id: I56761240d\n\nMerge commit \u00279d14e3ea22f48173070789951ee6dc64b507e13f\u0027 into kraken\n\n* commit \u00279d14e3ea22f48173070789951ee6dc64b507e13f\u0027:\n  When updating existing entries in the media database, don\u0027t update\n"
    },
    {
      "commit": "9d14e3ea22f48173070789951ee6dc64b507e13f",
      "tree": "f30186574354b54f9003b913ffe22d5b1a644720",
      "parents": [
        "11bae14009d91c063780b2cafee2fc4fb660c08c",
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 20 11:28:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 11:28:59 2010 -0700"
      },
      "message": "am 9b8b417c: Merge \"When updating existing entries in the media database, don\\\u0027t update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-Id: I56761240d6f6e699514169d\n\nMerge commit \u00279b8b417cd1ddfb81c1b0314f033a1439fd627aa2\u0027 into froyo-plus-aosp\n\n* commit \u00279b8b417cd1ddfb81c1b0314f033a1439fd627aa2\u0027:\n  When updating existing entries in the media database, don\u0027t update\n"
    },
    {
      "commit": "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2",
      "tree": "d22536503a44d0a650e6df33d6a0e064c503e2fa",
      "parents": [
        "3891c4cc918e8062abb97c542a8625d556dccc59",
        "c066557378c2305625a7bad3d25f084ad647ef27"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 20 11:24:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 11:24:10 2010 -0700"
      },
      "message": "Merge \"When updating existing entries in the media database, don\u0027t update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2\" into froyo"
    },
    {
      "commit": "f4c66efa203c430219809298788ef90b596489ce",
      "tree": "ccf4dda67b7fc1c21c72e4418a7de175149e9877",
      "parents": [
        "3891c4cc918e8062abb97c542a8625d556dccc59"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Apr 20 10:02:20 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Apr 20 11:23:50 2010 -0700"
      },
      "message": "Don\u0027t inflate the zoom button controller until we\nare going to show it. This should shave 5% of Browser\nstart up time on Sapphire.\n\nFix http://b/issue?id\u003d2604295\n"
    },
    {
      "commit": "5b550c9efc2cc10e376ae20c1947a7ce769e9660",
      "tree": "605d35c8dd613075110f6cd177bc89d63821ace6",
      "parents": [
        "e33e9db6b075adba78dba072550d8d04c81473f8",
        "11bae14009d91c063780b2cafee2fc4fb660c08c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 10:22:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 10:22:27 2010 -0700"
      },
      "message": "am 11bae140: am 3891c4cc: Fix issue 2602879: camera shutter sound not playing.\n\nMerge commit \u002711bae14009d91c063780b2cafee2fc4fb660c08c\u0027 into kraken\n\n* commit \u002711bae14009d91c063780b2cafee2fc4fb660c08c\u0027:\n  Fix issue 2602879: camera shutter sound not playing.\n"
    },
    {
      "commit": "11bae14009d91c063780b2cafee2fc4fb660c08c",
      "tree": "7d9b98c081e0f5386eb67415d05329dbe9ddfdc9",
      "parents": [
        "3cd1f9f98b59d31876b17b0ddf0bd0a518dc92fd",
        "3891c4cc918e8062abb97c542a8625d556dccc59"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 10:18:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 10:18:07 2010 -0700"
      },
      "message": "am 3891c4cc: Fix issue 2602879: camera shutter sound not playing.\n\nMerge commit \u00273891c4cc918e8062abb97c542a8625d556dccc59\u0027 into froyo-plus-aosp\n\n* commit \u00273891c4cc918e8062abb97c542a8625d556dccc59\u0027:\n  Fix issue 2602879: camera shutter sound not playing.\n"
    },
    {
      "commit": "c066557378c2305625a7bad3d25f084ad647ef27",
      "tree": "cb8333509ee9bda7436093f1b50a432647b7a876",
      "parents": [
        "758dd527f64f1e827adfe09f0141ab213733ca22"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 20 09:46:00 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 20 09:47:31 2010 -0700"
      },
      "message": "When updating existing entries in the media database, don\u0027t update\nthe is_music, is_ringtone, etc columns. This ensures that custom\nringtones will still be shown in the ringtone picker after a rescan.\nBug 2594125\nChange-Id: I56761240d6f6e699514169d80a445317ba0de9e2\n"
    },
    {
      "commit": "3891c4cc918e8062abb97c542a8625d556dccc59",
      "tree": "9046152de058eeca921535efb425c678a4a6c8cb",
      "parents": [
        "3b5912602bec6ccbe8eef8a576730b1565f0067c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 09:40:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 09:40:57 2010 -0700"
      },
      "message": "Fix issue 2602879: camera shutter sound not playing.\n\nThe problem occurs if the device is powered down in silent mode. When the device restarts,\nAudioService reads current ringer mode from saved settings but does not call setRingerModeInt()\nto perform actions required when ringer mode changes.\nThe volumes of streams affected by ringer mode are actually at 0 because they are also read from settings\nbut their mute state is not applied correclty. When we later exit from silent mode, the streams\nother than STREAM_RING that are affected by ringer mode are not restored as they are not considered\nmuted. This applies to STREAM_SYSTEM but also to STREAM_NOTIFICATION if its volume is controlled independently\nfrom STREAM_RING.\n\nThe fix consists in calling setRingerModeInt() when AudioService starts.\n\nChange-Id: Ica75b9874938dda1bc1b634c3e97db4a650d295c\n"
    },
    {
      "commit": "e33e9db6b075adba78dba072550d8d04c81473f8",
      "tree": "dacbef105fc21a7d2206230efd3458d42e9d82c8",
      "parents": [
        "732c73e1e76fef4f3857a1649b03021305639c3c",
        "3cd1f9f98b59d31876b17b0ddf0bd0a518dc92fd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 09:27:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 09:27:40 2010 -0700"
      },
      "message": "am 3cd1f9f9: am 3b591260: Fix issue 2604270  Device auto connects to Car Dock (Media profile) after undocking.\n\nMerge commit \u00273cd1f9f98b59d31876b17b0ddf0bd0a518dc92fd\u0027 into kraken\n\n* commit \u00273cd1f9f98b59d31876b17b0ddf0bd0a518dc92fd\u0027:\n  Fix issue 2604270  Device auto connects to Car Dock (Media profile) after undocking.\n"
    },
    {
      "commit": "3cd1f9f98b59d31876b17b0ddf0bd0a518dc92fd",
      "tree": "ac55f43531697bdd4623d32d147aa4331b0646b9",
      "parents": [
        "26f6163557980062dbb203388b3d0794ee0d06f7",
        "3b5912602bec6ccbe8eef8a576730b1565f0067c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 09:22:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 09:22:32 2010 -0700"
      },
      "message": "am 3b591260: Fix issue 2604270  Device auto connects to Car Dock (Media profile) after undocking.\n\nMerge commit \u00273b5912602bec6ccbe8eef8a576730b1565f0067c\u0027 into froyo-plus-aosp\n\n* commit \u00273b5912602bec6ccbe8eef8a576730b1565f0067c\u0027:\n  Fix issue 2604270  Device auto connects to Car Dock (Media profile) after undocking.\n"
    },
    {
      "commit": "3b5912602bec6ccbe8eef8a576730b1565f0067c",
      "tree": "7d6c55c3d494252408cbe25c16bfc989296734ab",
      "parents": [
        "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 07:01:00 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 20 07:01:00 2010 -0700"
      },
      "message": "Fix issue 2604270  Device auto connects to Car Dock (Media profile) after undocking.\n\nThere was a regression introduced by change 4c637b9e34f4c8db69a64ad21a4e2bcfa7485b5f\nfixing issue 2578813. As the A2DP device disconnection is notified to the audio policy manager\nafter a delay, there is a period during which the A2DP device is actually not connected but the\nA2DP output is considered present by audio framework. If a playback is started during this period,\nThe A2DP output requests the activation of the A2DP sink which in turn triggers a reconnection\nof the A2DP sink.\n\nThe fix consists in suspending the A2DP output immediately when receiving the A2DP disconnection\nintent so that any activity on A2DP output is ignored until the output is actually closed by the\naudio policy manager.\n\nChange-Id: I16eaace45e12bfc970f50836b46a73b756b493f0\n"
    },
    {
      "commit": "8ba73ac72cd7becc2158e2b1f98794173f9746bd",
      "tree": "01dfbde5157f6f87170a884d2570167fe382e00b",
      "parents": [
        "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Apr 20 01:25:20 2010 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Apr 20 01:27:50 2010 -0700"
      },
      "message": "Remove code to pass the nonexistant lockprofsample flag to Dalvik.\n\nChange-Id: If334e21d770bc21a9b7c4f04d0fb652f53359231\n"
    },
    {
      "commit": "2aba0ec873e269b3ce5d044fe5f1f12b6b28228d",
      "tree": "d7e56899561d6b22a12c4b4ec9e4aca15e019dc8",
      "parents": [
        "69acb6b746c82f88607b3365795ebb3279188eed"
      ],
      "author": {
        "name": "Alex Yakavenka",
        "email": "alex.yakavenka@gmail.com",
        "time": "Mon Apr 19 19:44:09 2010 -0700"
      },
      "committer": {
        "name": "Alex Yakavenka",
        "email": "alex.yakavenka@gmail.com",
        "time": "Mon Apr 19 20:28:22 2010 -0700"
      },
      "message": "Fix printing order of phone objects creation\n"
    },
    {
      "commit": "732c73e1e76fef4f3857a1649b03021305639c3c",
      "tree": "36df82e874b7ab5ad4a3b1ca82e25dc3dec7831e",
      "parents": [
        "15d484a7ef1e8f418281af3f6a393ff97729a1f5",
        "26f6163557980062dbb203388b3d0794ee0d06f7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:29:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 19:29:22 2010 -0700"
      },
      "message": "am 26f61635: am 0a4ab1b9: Merge \"fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\" into froyo\n\nMerge commit \u002726f6163557980062dbb203388b3d0794ee0d06f7\u0027 into kraken\n\n* commit \u002726f6163557980062dbb203388b3d0794ee0d06f7\u0027:\n  fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\n"
    },
    {
      "commit": "26f6163557980062dbb203388b3d0794ee0d06f7",
      "tree": "315ed8f9b1a5688854e16eeef72dcd86b10f8e2e",
      "parents": [
        "0679876997a5523a7539b8fe2c74a39434b17820",
        "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:26:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 19:26:31 2010 -0700"
      },
      "message": "am 0a4ab1b9: Merge \"fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\" into froyo\n\nMerge commit \u00270a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa\u0027 into froyo-plus-aosp\n\n* commit \u00270a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa\u0027:\n  fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\n"
    },
    {
      "commit": "0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa",
      "tree": "0a736fb372cffadb06a754dd909f610349a40f0e",
      "parents": [
        "7305f4166306dac08fc63056f2c85e91015df879",
        "92c3b393275e967f37162b40b3438c5616328372"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:23:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 19 19:23:45 2010 -0700"
      },
      "message": "Merge \"fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\" into froyo"
    },
    {
      "commit": "15d484a7ef1e8f418281af3f6a393ff97729a1f5",
      "tree": "d72db49a46bc5387cdcd224093aff340ae0d690f",
      "parents": [
        "72c0a3cf28440978ee9b73dcedba902b9c2ffc37",
        "0679876997a5523a7539b8fe2c74a39434b17820"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Apr 19 19:15:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 19:15:12 2010 -0700"
      },
      "message": "am 06798769: am 7305f416: Merge \"Quietly handle EGL_BAD_NATIVE_WINDOW errors\" into froyo\n\nMerge commit \u00270679876997a5523a7539b8fe2c74a39434b17820\u0027 into kraken\n\n* commit \u00270679876997a5523a7539b8fe2c74a39434b17820\u0027:\n  Quietly handle EGL_BAD_NATIVE_WINDOW errors\n"
    },
    {
      "commit": "0679876997a5523a7539b8fe2c74a39434b17820",
      "tree": "a9bbe1de12fab75db8ad7537e36c282c40ee38fa",
      "parents": [
        "e31724050041b4be41b7c868d531a6c00fd94587",
        "7305f4166306dac08fc63056f2c85e91015df879"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Apr 19 19:10:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 19:10:13 2010 -0700"
      },
      "message": "am 7305f416: Merge \"Quietly handle EGL_BAD_NATIVE_WINDOW errors\" into froyo\n\nMerge commit \u00277305f4166306dac08fc63056f2c85e91015df879\u0027 into froyo-plus-aosp\n\n* commit \u00277305f4166306dac08fc63056f2c85e91015df879\u0027:\n  Quietly handle EGL_BAD_NATIVE_WINDOW errors\n"
    },
    {
      "commit": "92c3b393275e967f37162b40b3438c5616328372",
      "tree": "14f077c0233038875cc90dd8eb107decb117b667",
      "parents": [
        "e80c6f49d5055e299b7ada91b5967feab66e467b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:09:03 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:09:03 2010 -0700"
      },
      "message": "fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\n\nget rid off the MAP_ONCE flag is MemoryHeapBase (as well as it\u0027s functionality),\nthis feature should not be used anymore.\n\nthe software renderer was incorrectly using the default ctor which set MAP_ONCE,\ncausing the leak. the software renderer itself is incorrectly used while coming\nback from sleep.\n\nChange-Id: I123621f8d140550b864f352bbcd8a5729db12b57\n"
    },
    {
      "commit": "7305f4166306dac08fc63056f2c85e91015df879",
      "tree": "ef1897151e5be5acbd78c75018c9235a42b6de25",
      "parents": [
        "c86f0779d6aa60d7eb446fb33742dac6bfc3b6b8",
        "0e4aa37872810e46775374596e0beb11f7123727"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Apr 19 19:06:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 19 19:06:35 2010 -0700"
      },
      "message": "Merge \"Quietly handle EGL_BAD_NATIVE_WINDOW errors\" into froyo"
    },
    {
      "commit": "72c0a3cf28440978ee9b73dcedba902b9c2ffc37",
      "tree": "cbd1c3532f7b2b6c8057f9447be673109b4687c0",
      "parents": [
        "fcc08fb8ed9dd4b6ab95d5f318faed5847be3fb4",
        "e31724050041b4be41b7c868d531a6c00fd94587"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Mon Apr 19 18:59:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 18:59:20 2010 -0700"
      },
      "message": "am e3172405: am c86f0779: Make vCard allow users to refrain image export. Useful when receivers cannot accept image data.\n\nMerge commit \u0027e31724050041b4be41b7c868d531a6c00fd94587\u0027 into kraken\n\n* commit \u0027e31724050041b4be41b7c868d531a6c00fd94587\u0027:\n  Make vCard allow users to refrain image export. Useful when\n"
    },
    {
      "commit": "e31724050041b4be41b7c868d531a6c00fd94587",
      "tree": "b7f174919a56f195c512ca4b14986054bedc0c35",
      "parents": [
        "8831d4dc5545cde841a0ef318b0ec870acfa0e45",
        "c86f0779d6aa60d7eb446fb33742dac6bfc3b6b8"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Mon Apr 19 18:52:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 18:52:07 2010 -0700"
      },
      "message": "am c86f0779: Make vCard allow users to refrain image export. Useful when receivers cannot accept image data.\n\nMerge commit \u0027c86f0779d6aa60d7eb446fb33742dac6bfc3b6b8\u0027 into froyo-plus-aosp\n\n* commit \u0027c86f0779d6aa60d7eb446fb33742dac6bfc3b6b8\u0027:\n  Make vCard allow users to refrain image export. Useful when\n"
    },
    {
      "commit": "c86f0779d6aa60d7eb446fb33742dac6bfc3b6b8",
      "tree": "bd641887fd92824911168fb1eba493b5225082f2",
      "parents": [
        "8f655cb6c836380778545fb13044d97ef57139d6"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Apr 20 09:53:30 2010 +0900"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Apr 20 09:53:30 2010 +0900"
      },
      "message": "Make vCard allow users to refrain image export. Useful when\nreceivers cannot accept image data.\n\nBug: 2603200\nChange-Id: I3c490b2de37ebb2780df4a27a440df3b0afacb3a\n"
    },
    {
      "commit": "fcc08fb8ed9dd4b6ab95d5f318faed5847be3fb4",
      "tree": "900c87215815ab5b139a7d5d05c2a680bf421944",
      "parents": [
        "8dc38941b4321bc367c02649f4efdbd99e7dffb6",
        "8831d4dc5545cde841a0ef318b0ec870acfa0e45"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Apr 19 16:19:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 16:19:30 2010 -0700"
      },
      "message": "am 8831d4dc: am 8f655cb6: Merge \"Update the comment which supposed to be checked in in the last CL.\" into froyo\n\nMerge commit \u00278831d4dc5545cde841a0ef318b0ec870acfa0e45\u0027 into kraken\n\n* commit \u00278831d4dc5545cde841a0ef318b0ec870acfa0e45\u0027:\n  Update the comment which supposed to be checked in\n"
    },
    {
      "commit": "8831d4dc5545cde841a0ef318b0ec870acfa0e45",
      "tree": "b6baaf1201e092e625eb2cf8596c65dba795ccf2",
      "parents": [
        "7f30f8abe3161ae912c3475aa89ad14388f576d7",
        "8f655cb6c836380778545fb13044d97ef57139d6"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Apr 19 16:15:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 16:15:41 2010 -0700"
      },
      "message": "am 8f655cb6: Merge \"Update the comment which supposed to be checked in in the last CL.\" into froyo\n\nMerge commit \u00278f655cb6c836380778545fb13044d97ef57139d6\u0027 into froyo-plus-aosp\n\n* commit \u00278f655cb6c836380778545fb13044d97ef57139d6\u0027:\n  Update the comment which supposed to be checked in\n"
    },
    {
      "commit": "8f655cb6c836380778545fb13044d97ef57139d6",
      "tree": "6d1c7c62d101f0cf98f42103123caf122dfdfe8c",
      "parents": [
        "93d35f77439f54cc55ff63b6e274dec0ac6c3c47",
        "f706ef857bd14501d2c91b52e12e6bd387f63dad"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Apr 19 16:11:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 19 16:11:21 2010 -0700"
      },
      "message": "Merge \"Update the comment which supposed to be checked in in the last CL.\" into froyo"
    },
    {
      "commit": "f706ef857bd14501d2c91b52e12e6bd387f63dad",
      "tree": "a25dfd5a88398e0f149a185ec1f32eed1079f82b",
      "parents": [
        "6edb3792d83e6e299a9d330db938075634e76d14"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Apr 19 16:05:19 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Apr 19 16:05:19 2010 -0700"
      },
      "message": "Update the comment which supposed to be checked in\nin the last CL.\n\nFix http://b/issue?id\u003d2607352"
    },
    {
      "commit": "8dc38941b4321bc367c02649f4efdbd99e7dffb6",
      "tree": "0ef52ef548a94a9738fefb5e146fff8f475a1259",
      "parents": [
        "3d27a2e6a1e4b831d2b3aa3ab308a21c4f261217",
        "7f30f8abe3161ae912c3475aa89ad14388f576d7"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Apr 19 15:41:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 15:41:05 2010 -0700"
      },
      "message": "am 7f30f8ab: am 93d35f77: Merge \"Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\" into froyo\n\nMerge commit \u00277f30f8abe3161ae912c3475aa89ad14388f576d7\u0027 into kraken\n\n* commit \u00277f30f8abe3161ae912c3475aa89ad14388f576d7\u0027:\n  Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\n"
    },
    {
      "commit": "7f30f8abe3161ae912c3475aa89ad14388f576d7",
      "tree": "5f141ef3a3f216bbdbc28aaff52846dc3e713cc8",
      "parents": [
        "2f8c9e6825e31614f26f8d9f3c1de7be2f3e9f9e",
        "93d35f77439f54cc55ff63b6e274dec0ac6c3c47"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Apr 19 15:38:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 15:38:11 2010 -0700"
      },
      "message": "am 93d35f77: Merge \"Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\" into froyo\n\nMerge commit \u002793d35f77439f54cc55ff63b6e274dec0ac6c3c47\u0027 into froyo-plus-aosp\n\n* commit \u002793d35f77439f54cc55ff63b6e274dec0ac6c3c47\u0027:\n  Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\n"
    },
    {
      "commit": "93d35f77439f54cc55ff63b6e274dec0ac6c3c47",
      "tree": "9922b58b685da61d067e7ffab340649cd4bac3c3",
      "parents": [
        "f06f2eb2d646789d723d4a08d0681cae5b40b768",
        "8568c3a09bff9bd2f7c9462b116bed0537d19342"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Apr 19 15:33:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 19 15:33:08 2010 -0700"
      },
      "message": "Merge \"Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\" into froyo"
    },
    {
      "commit": "8568c3a09bff9bd2f7c9462b116bed0537d19342",
      "tree": "6dcd9567a9358ea2a96b329d6ea1579b979b30dc",
      "parents": [
        "1892013643537f5fc330f5b0a02a0e9cb08b1134"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Apr 19 14:26:11 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Apr 19 15:26:15 2010 -0700"
      },
      "message": "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.\n\nChange-Id: I7eb38c53c3a03b23786b8b0c2d16139acd0eb38e\n"
    },
    {
      "commit": "3d27a2e6a1e4b831d2b3aa3ab308a21c4f261217",
      "tree": "03f78ca2c6b3efee4da753463affc5318ac37d38",
      "parents": [
        "4a77f9e9a23a434e99516dec98a7c100280189bb",
        "2f8c9e6825e31614f26f8d9f3c1de7be2f3e9f9e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Apr 19 13:31:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 13:31:24 2010 -0700"
      },
      "message": "am 2f8c9e68: am f06f2eb2: Merge \"Misc fixes for throttling.\" into froyo\n\nMerge commit \u00272f8c9e6825e31614f26f8d9f3c1de7be2f3e9f9e\u0027 into kraken\n\n* commit \u00272f8c9e6825e31614f26f8d9f3c1de7be2f3e9f9e\u0027:\n  Misc fixes for throttling.\n"
    },
    {
      "commit": "2f8c9e6825e31614f26f8d9f3c1de7be2f3e9f9e",
      "tree": "5d3cc5d9865938b97eb33506ee6fc0816420c5b5",
      "parents": [
        "e3ce4c89cc54770f01294adc3c3f052c062098c7",
        "f06f2eb2d646789d723d4a08d0681cae5b40b768"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Apr 19 13:25:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 19 13:25:46 2010 -0700"
      },
      "message": "am f06f2eb2: Merge \"Misc fixes for throttling.\" into froyo\n\nMerge commit \u0027f06f2eb2d646789d723d4a08d0681cae5b40b768\u0027 into froyo-plus-aosp\n\n* commit \u0027f06f2eb2d646789d723d4a08d0681cae5b40b768\u0027:\n  Misc fixes for throttling.\n"
    }
  ],
  "next": "4a77f9e9a23a434e99516dec98a7c100280189bb"
}
