)]}'
{
  "log": [
    {
      "commit": "fe4f3ae33c8da86585399b4167fd7987c8a16066",
      "tree": "9d106e681a8f94a024ecd87ce50f584991e99d6b",
      "parents": [
        "d2b1f00e1e34cdce0047af7374aa57b1e4b5b040"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 11:25:26 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Move the usb mass storage notification \u0026 activity into SystemUI.apk.\n\nAlso fix the notification to show properly when the runtime is restarted.\n\nChange-Id: Id0c7ef9f9dc9c9df18428cbaa7db1703f085137e\n"
    },
    {
      "commit": "d2b1f00e1e34cdce0047af7374aa57b1e4b5b040",
      "tree": "24d8b0b9971e44aa47fcb9e7b5e7eafb5493b237",
      "parents": [
        "55f8209da3048768a6dc24929dec8798e8ddf077"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 10:42:41 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Add some disabled logging and another test case for reapplying the notification views.\n\nChange-Id: I839d7771ab42a5d508ce7d15385f6ac6a4e3be83\n"
    },
    {
      "commit": "55f8209da3048768a6dc24929dec8798e8ddf077",
      "tree": "0a3c2057396e0ba39a5383868eee438cfba8e960",
      "parents": [
        "3b68548da60ab3249fbc89b8e587e22485630f32",
        "5e14010b1fc066dfcbc0a577d59492687c99667d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 08 20:14:11 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 20:14:11 2010 -0700"
      },
      "message": "Merge \"allow re-targetting of surfaces\" into kraken"
    },
    {
      "commit": "5e14010b1fc066dfcbc0a577d59492687c99667d",
      "tree": "221d256bf258e97b3e7e7c953a679a9104792374",
      "parents": [
        "1debc66521f699bbf0a8eb80cababaef8bc63607"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 08 19:54:15 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 08 20:10:02 2010 -0700"
      },
      "message": "allow re-targetting of surfaces\n\nSurfaces can now be parcelized and sent to remote\nprocesses. When a surface crosses a process\nboundary, it looses its connection with the\ncurrent process and gets attached to the new one.\n\nChange-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0\n"
    },
    {
      "commit": "3b68548da60ab3249fbc89b8e587e22485630f32",
      "tree": "2f7caf5654ffecfb79e24668a1a237106417672a",
      "parents": [
        "1debc66521f699bbf0a8eb80cababaef8bc63607",
        "75b6a6b972e6b18143fd629d3d9c824c442c5f4c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 16:33:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 08 16:33:26 2010 -0700"
      },
      "message": "am 75b6a6b9: Merge \"Fix 2737842: Disable KeguardManager API if device policy is enabled\" into froyo\n\nMerge commit \u002775b6a6b972e6b18143fd629d3d9c824c442c5f4c\u0027 into kraken\n\n* commit \u002775b6a6b972e6b18143fd629d3d9c824c442c5f4c\u0027:\n  Fix 2737842: Disable KeguardManager API if device policy is enabled\n"
    },
    {
      "commit": "75b6a6b972e6b18143fd629d3d9c824c442c5f4c",
      "tree": "63e0e3fde1d253ed1cf8a09d14908c8130b663d0",
      "parents": [
        "71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5",
        "284b62e1b8c3419bfd02c6fea5ba0a68146c06f8"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 16:31:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 16:31:32 2010 -0700"
      },
      "message": "Merge \"Fix 2737842: Disable KeguardManager API if device policy is enabled\" into froyo"
    },
    {
      "commit": "284b62e1b8c3419bfd02c6fea5ba0a68146c06f8",
      "tree": "8eb35ad894780e15c7b79acb8fbe455e7c76e8e4",
      "parents": [
        "cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 14:27:42 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 08 15:47:52 2010 -0700"
      },
      "message": "Fix 2737842: Disable KeguardManager API if device policy is enabled\n\nThis change adds notification to find out when the device policy\nhas changed.  When an admin adds or changes a policy, we get notified\nand reset the state of keyguard to be enabled.\n\nIt also moves disabling keyguard into the TokenWatcher.acquired()\nmethod to avoid disabling keyguard when a policy doesn\u0027t permit it.\nThis avoids reference counting issues in TokenWatcher and hence relieves\nthe ordering issue.\n\nThere is one remaining caveat. An application that uses KeyguardManager\nto disable keyguard will need to disable keyguard again after any\npolicy change.\n\nTested:\n\nInstall and run app that disables keyguard with no admin. Result: keyguard is enabled/disabled as expected.\nEnable admin and set quality \u003d \"something\" after installing \u0026 running app. Result: keyguard is enabled.\nChange admin password quality to \"unspecified\" and re-run app (per caveat). Result: keyguard is disabled.\nChange admin password quality to \"something\" again. Result: keyguard is enabled.\nDisable admin : Result: keyguard is enabled until app runs again (per caveat).\n\nAdded minor cosmetic changes after review.\n\nChange-Id: I302f2b01446bf031f746b0f3e8b5fd7a6cc0e648\n"
    },
    {
      "commit": "1debc66521f699bbf0a8eb80cababaef8bc63607",
      "tree": "718d23f3d018d6d30c2428cd121464cab6ff85bc",
      "parents": [
        "c44c4742e7d79f6fe846f807bb26ad8b3cd16f68"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 08 15:40:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 08 15:40:56 2010 -0700"
      },
      "message": "fix [2751143] Device crashes when in a text box for too long"
    },
    {
      "commit": "c44c4742e7d79f6fe846f807bb26ad8b3cd16f68",
      "tree": "4e52c015386402b842db1703476315afca375958",
      "parents": [
        "804d04969da91b45ee31e8d290de3ede7650fe48",
        "1244eab2cea41df1db4eeb930fddbb9e67ff7691"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 13:13:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 13:13:26 2010 -0700"
      },
      "message": "Merge \"Remove some hard-coded encoding parameters\" into kraken"
    },
    {
      "commit": "804d04969da91b45ee31e8d290de3ede7650fe48",
      "tree": "b13ad68a21510fc82529b02fd09071c16369c428",
      "parents": [
        "9ac3743dbdf729bf543d5e72628460dd51802f5e",
        "71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 08 13:00:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 08 13:00:30 2010 -0700"
      },
      "message": "am 71d73a0d: Merge \"Add a method to hide/show a SurfaceView\\\u0027s surface.\" into froyo\n\nMerge commit \u002771d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5\u0027 into kraken\n\n* commit \u002771d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5\u0027:\n  Add a method to hide/show a SurfaceView\u0027s surface.\n"
    },
    {
      "commit": "71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5",
      "tree": "9245e0808b7c751265e9b9f98c7547b79b83132c",
      "parents": [
        "cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0",
        "afc3e11f10828e113331eb24b65e4f9759f67747"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 08 12:59:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 12:59:36 2010 -0700"
      },
      "message": "Merge \"Add a method to hide/show a SurfaceView\u0027s surface.\" into froyo"
    },
    {
      "commit": "9ac3743dbdf729bf543d5e72628460dd51802f5e",
      "tree": "21acbee7dbcbeb311eff5ad762a42e00c3e5eea2",
      "parents": [
        "dae9fd31907c62712f7a96bb2a8e288b0cca57c2",
        "44dc76a8a702d6a919fcea1c2d19ba3792687c85"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jun 08 12:37:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 12:37:34 2010 -0700"
      },
      "message": "Merge \"Log.wtf when databases go to be downgraded.\" into kraken"
    },
    {
      "commit": "1244eab2cea41df1db4eeb930fddbb9e67ff7691",
      "tree": "931554aa3de80d1bbf85113303be1827c5e5bbe8",
      "parents": [
        "dae9fd31907c62712f7a96bb2a8e288b0cca57c2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 11:58:53 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 12:30:58 2010 -0700"
      },
      "message": "Remove some hard-coded encoding parameters\n\nChange-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913\n"
    },
    {
      "commit": "44dc76a8a702d6a919fcea1c2d19ba3792687c85",
      "tree": "18fe4e826955510a2bea65136ccdeeb15dafdb00",
      "parents": [
        "31b1975890d0159ab5ee060c94084461f8b74bd8"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Jun 02 15:12:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jun 08 12:20:51 2010 -0700"
      },
      "message": "Log.wtf when databases go to be downgraded.\n\nBUG\u003d2734435\n\nChange-Id: I686d6d9415f3081544c3fbe379287c31e0ecec20\n"
    },
    {
      "commit": "dae9fd31907c62712f7a96bb2a8e288b0cca57c2",
      "tree": "11a43e820abb66a26beace440e94dc7df6f54529",
      "parents": [
        "31b1975890d0159ab5ee060c94084461f8b74bd8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 04 13:59:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 11:54:21 2010 -0700"
      },
      "message": "Initial check-in for collecting stats from authoring engine at runtime\n\nChange-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794\n"
    },
    {
      "commit": "afc3e11f10828e113331eb24b65e4f9759f67747",
      "tree": "01bf8cdb92ec37ce290e40851b33e76736ba0031",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 07 17:04:33 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 08 11:34:43 2010 -0700"
      },
      "message": "Add a method to hide/show a SurfaceView\u0027s surface.\n\nThis can be used to move a surface offscreen to avoid the cost of compositing it.\nThis preserves the window and therefore the OpenGL context when used in h/w\naccelerated apps.\n\nChange-Id: I280295376601b17989d0fc8a271af66650016f09\n"
    },
    {
      "commit": "31b1975890d0159ab5ee060c94084461f8b74bd8",
      "tree": "a0e47a444f1df36cee4cbf44402bbce6bab6a482",
      "parents": [
        "097da9644f07295e7c698250701598d1de68bceb",
        "4f501f0f2b71b69cadbdb96c71e83a06751e7f0e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 10:14:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 10:14:26 2010 -0700"
      },
      "message": "Merge \"Second part of speeding up video recording frame rate\" into kraken"
    },
    {
      "commit": "4f501f0f2b71b69cadbdb96c71e83a06751e7f0e",
      "tree": "6bec0a78ccd9c1f2fbc6b1537324aef8ffc24121",
      "parents": [
        "526f2ff1a5f648a2ae3c872acc085b2a16a6a34c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 07 14:41:41 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 08 10:01:47 2010 -0700"
      },
      "message": "Second part of speeding up video recording frame rate\n\n1. Avoid copying the input recording frames to the encoder via OMX interface\n   for TI video encoder\n   This is a missing change for part one which help reduces the CPU load.\n\n2. Release output buffers as early as possible. This is a little bit helpful, but not critical.\n\nTODO:\nWe should save the underlying pointers allocated by the OMX component before we replace them\nand restore them before we call OMX_FreeBuffer()!\n\nChange-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff\n"
    },
    {
      "commit": "097da9644f07295e7c698250701598d1de68bceb",
      "tree": "148dda9bd4fadf6e947212adc72c1503f6a3cdee",
      "parents": [
        "700a95068e7c774963be318c91df5bf40d765397",
        "7a747b8e0dadf909ea4ac0b67fd88fc14b4eb3f8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 08 09:19:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 08 09:19:07 2010 -0700"
      },
      "message": "Merge \"Initial checkin of preliminary rtsp support for stagefright.\" into kraken"
    },
    {
      "commit": "700a95068e7c774963be318c91df5bf40d765397",
      "tree": "a5af1d8557183963f81b577ebaf8c295fcebaf34",
      "parents": [
        "7d70358a039426ca2da53cd3330638e2b12ca92e",
        "cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 21:23:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 21:23:53 2010 -0700"
      },
      "message": "am cb52cb52: Fix SDK build.\n\nMerge commit \u0027cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0\u0027 into kraken\n\n* commit \u0027cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0\u0027:\n  Fix SDK build.\n"
    },
    {
      "commit": "cb52cb52253c3832ccc7f5f1dbb4d8a0bd8178c0",
      "tree": "5541e97b8ef10dabf00e1cc6d0c2e33b006988e6",
      "parents": [
        "bde25c207731783a62e3611586fe05cd35add0d9"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 21:19:16 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 21:19:16 2010 -0700"
      },
      "message": "Fix SDK build.\n\n On branch fix_sdk\n Changes to be committed:\n   (use \"git reset HEAD \u003cfile\u003e...\" to unstage)\n\n\tmodified:   core/java/android/app/KeyguardManager.java\n\nChange-Id: I56848db098822536f0ac32efc8f0eb1d725bf6f9\n"
    },
    {
      "commit": "7d70358a039426ca2da53cd3330638e2b12ca92e",
      "tree": "5aa8ded514c38c7225ca8eadd7d19443fd4053cc",
      "parents": [
        "8a7fa44fdc4163083703cf1127839bcf35decb9f",
        "bde25c207731783a62e3611586fe05cd35add0d9"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:25:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 19:25:49 2010 -0700"
      },
      "message": "am bde25c20: Merge \"Fix 2737842: disable keyguard API when device policy is enabled.\" into froyo\n\nMerge commit \u0027bde25c207731783a62e3611586fe05cd35add0d9\u0027 into kraken\n\n* commit \u0027bde25c207731783a62e3611586fe05cd35add0d9\u0027:\n  Fix 2737842: disable keyguard API when device policy is enabled.\n"
    },
    {
      "commit": "bde25c207731783a62e3611586fe05cd35add0d9",
      "tree": "402adb4327f1f1e768d663487c4e6f32b5c32eed",
      "parents": [
        "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a",
        "d6b5705e188e55a3b9dbb07954b16564b1a31b9f"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:24:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 19:24:45 2010 -0700"
      },
      "message": "Merge \"Fix 2737842: disable keyguard API when device policy is enabled.\" into froyo"
    },
    {
      "commit": "d6b5705e188e55a3b9dbb07954b16564b1a31b9f",
      "tree": "f5b89bc6a0d24f7414dc2fd55846d89b5e8f794c",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 17:52:42 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 07 19:19:29 2010 -0700"
      },
      "message": "Fix 2737842: disable keyguard API when device policy is enabled.\n\nThis fix disables KeyguardManager\u0027s enable/disable API when any\ndevice policy admin requests a policy that enforces a password.\n\nChange-Id: Idb1da16b14ed8963142f7b1f62d2b060d84ffa65\n"
    },
    {
      "commit": "8a7fa44fdc4163083703cf1127839bcf35decb9f",
      "tree": "b2fed3c2ab2c232dd1029cea310235b1390ba729",
      "parents": [
        "0bc0a46ae84de11265ac7d1dbea5e3b28e90936a",
        "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:48:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 18:48:27 2010 -0700"
      },
      "message": "am ac24d23c: Merge \"Don\\\u0027t bring up Launcher until after boot complete\" into froyo\n\nMerge commit \u0027ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a\u0027 into kraken\n\n* commit \u0027ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a\u0027:\n  Don\u0027t bring up Launcher until after boot complete\n"
    },
    {
      "commit": "ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a",
      "tree": "6f9ab928487b4acb961ced8f71d791ffef38fd15",
      "parents": [
        "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff",
        "04c0af8f5553ee9cbba8cac80067934066835c1f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:46:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 18:46:46 2010 -0700"
      },
      "message": "Merge \"Don\u0027t bring up Launcher until after boot complete\" into froyo"
    },
    {
      "commit": "04c0af8f5553ee9cbba8cac80067934066835c1f",
      "tree": "b9c07a8ffb37a3758f9fe59c1a17df10b924b949",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:35:20 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 07 18:35:20 2010 -0700"
      },
      "message": "Don\u0027t bring up Launcher until after boot complete\n\nThe preboot upgrade handling was bringing up the acore process with a default\napplication object, then the normal \"start the HOME app\" code was bringing up\nLauncher2 [hosted in acore] in anticipation of boot completion... but then it\nsaw that the host process was alive and continued with Launcher2\u0027s init.\nLauncher2 depends on a custom application object, however, so it crashed\nimmediately.\n\nThis change ensures that the HOME app is not actually initted at that level\nuntil after boot has completed, at which point its proper application class\ncan be instantiated.\n\nFixes bug #2732250\n\nChange-Id: I1a15384e2c0d50e14300df0c0db236bd7b1a187c\n"
    },
    {
      "commit": "0bc0a46ae84de11265ac7d1dbea5e3b28e90936a",
      "tree": "0887920207d99f30e942baabae452fbd0b8ca76c",
      "parents": [
        "7db534fac4ff65a5339ed5adaf9cfaa028b39f00",
        "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 18:32:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 18:32:04 2010 -0700"
      },
      "message": "am d1d9047d: Merge \"Fix issue #2749322: addPackageToPreferred throws SecurityException\" into froyo\n\nMerge commit \u0027d1d9047d5c34fb05be08099fa8cd73e4301ee0ff\u0027 into kraken\n\n* commit \u0027d1d9047d5c34fb05be08099fa8cd73e4301ee0ff\u0027:\n  Fix issue #2749322: addPackageToPreferred throws SecurityException\n"
    },
    {
      "commit": "d1d9047d5c34fb05be08099fa8cd73e4301ee0ff",
      "tree": "8ab4837641979403ba4f8b255eff71bfb2251ae2",
      "parents": [
        "5a671d03e3abe522a761a43b0460f9f3816b14ed",
        "8377fc0f36842d355dfb354c98fa3e86d61e0288"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 17:32:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 17:32:02 2010 -0700"
      },
      "message": "Merge \"Fix issue #2749322: addPackageToPreferred throws SecurityException\" into froyo"
    },
    {
      "commit": "8377fc0f36842d355dfb354c98fa3e86d61e0288",
      "tree": "e34bd860856ffca9471d68e1baa2e4d91c1b02f3",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 15:54:58 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 17:30:57 2010 -0700"
      },
      "message": "Fix issue #2749322: addPackageToPreferred throws SecurityException\n\nChange-Id: I96cdc110fd9acca4b6c95d281e819bad1e4557f8\n"
    },
    {
      "commit": "7db534fac4ff65a5339ed5adaf9cfaa028b39f00",
      "tree": "021b1b140eafe30538b9f5afa0673285fe350e20",
      "parents": [
        "2cbff0edb67e47fb75f4142dce7ba104c6336fc7",
        "5a671d03e3abe522a761a43b0460f9f3816b14ed"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:59:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 07 16:59:01 2010 -0700"
      },
      "message": "am 5a671d03: Cut logging, boost efficiency of ThrottleService\n\nMerge commit \u00275a671d03e3abe522a761a43b0460f9f3816b14ed\u0027 into kraken\n\n* commit \u00275a671d03e3abe522a761a43b0460f9f3816b14ed\u0027:\n  Cut logging, boost efficiency of ThrottleService\n"
    },
    {
      "commit": "5a671d03e3abe522a761a43b0460f9f3816b14ed",
      "tree": "e61bd2e28bb729f27c0bcb92b55fe655f9a160aa",
      "parents": [
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:43:16 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Jun 07 16:43:16 2010 -0700"
      },
      "message": "Cut logging, boost efficiency of ThrottleService\n\nChanged the Alarms to be non-waking.\n\nbug:2748959\nbug:2747862\nChange-Id: I9e4294162a4fc2f90aed36393b858edcf82aa307\n"
    },
    {
      "commit": "7a747b8e0dadf909ea4ac0b67fd88fc14b4eb3f8",
      "tree": "fc5d4df0f1e22027e927fe3c0a609ab46c97ba6e",
      "parents": [
        "2cbff0edb67e47fb75f4142dce7ba104c6336fc7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 15:19:40 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 15:34:45 2010 -0700"
      },
      "message": "Initial checkin of preliminary rtsp support for stagefright.\n\nChange-Id: I0722aa888098c0c1361c97a4c1b123d910afc207\n"
    },
    {
      "commit": "2cbff0edb67e47fb75f4142dce7ba104c6336fc7",
      "tree": "4cf136a3124248a71129ddcad8f66fc17c7f3927",
      "parents": [
        "526f2ff1a5f648a2ae3c872acc085b2a16a6a34c",
        "202348e0d4aa07e81fc5b2fb2fd6340131d752ce"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 15:20:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 15:20:14 2010 -0700"
      },
      "message": "Merge \"Initial checkin of preliminary support for \"http live\" streaming in stagefright.\" into kraken"
    },
    {
      "commit": "202348e0d4aa07e81fc5b2fb2fd6340131d752ce",
      "tree": "b15ae5127fd244a8e52660b4821d3206851eb82e",
      "parents": [
        "a557b24ac4dd568d86b08753f7c0361d04f80d46"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 14:35:29 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 14:35:29 2010 -0700"
      },
      "message": "Initial checkin of preliminary support for \"http live\" streaming in stagefright.\n\nChange-Id: I20399f63d63af86a3ba22641c0e43385a108fb3f\n"
    },
    {
      "commit": "526f2ff1a5f648a2ae3c872acc085b2a16a6a34c",
      "tree": "898d5d1f885b9db3862111cd2d8c68c492c49807",
      "parents": [
        "a8c2514eddd39eb1d486d7bfa616178c45f2adea",
        "f1048cdb68d4e4671be2060ca31a3adfc613e88e"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jun 07 14:10:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 14:10:08 2010 -0700"
      },
      "message": "Merge \"Serialize all commands for a particular profile.\" into kraken"
    },
    {
      "commit": "a8c2514eddd39eb1d486d7bfa616178c45f2adea",
      "tree": "c7d737b379983a930a20af150bc5a2247191636f",
      "parents": [
        "e50ab5f94c61d6884d7544c982f471661c2fbe32",
        "740e39be6af3e366a4b82c030b5ea67ab144b42a"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jun 07 14:09:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 14:09:49 2010 -0700"
      },
      "message": "Merge \"Pass BluetoothDevice to the Bluetooth Headset calls.\" into kraken"
    },
    {
      "commit": "e50ab5f94c61d6884d7544c982f471661c2fbe32",
      "tree": "363cdf565abf788d56835d91a05b014c08544b26",
      "parents": [
        "e0cbd72b332a30811a816cae212306bb08b93066",
        "9b637e5985f9a86f39d70335c0390ade3716592a"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jun 07 14:09:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 14:09:39 2010 -0700"
      },
      "message": "Merge \"Add a new state machine for handling the incoming / outgoing profile connections.\" into kraken"
    },
    {
      "commit": "f1048cdb68d4e4671be2060ca31a3adfc613e88e",
      "tree": "f6a33c6d6da986a26692191055955b496ada5d43",
      "parents": [
        "740e39be6af3e366a4b82c030b5ea67ab144b42a"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 02 20:30:34 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jun 07 14:08:38 2010 -0700"
      },
      "message": "Serialize all commands for a particular profile.\n\nChange-Id: I843ea9ab0bb2372c8316e99e8c083a9939ad774a\n"
    },
    {
      "commit": "e0cbd72b332a30811a816cae212306bb08b93066",
      "tree": "7f30cc6268eb3dab2074743cd98b57b258ca0a8b",
      "parents": [
        "a557b24ac4dd568d86b08753f7c0361d04f80d46",
        "6390929174cbd214d4ac80c7147e2985004667e1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 07 14:02:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 14:02:38 2010 -0700"
      },
      "message": "Merge \"PackageManagerService: always install native binaries from .apk\" into kraken"
    },
    {
      "commit": "a557b24ac4dd568d86b08753f7c0361d04f80d46",
      "tree": "1f74017b413d818c3473e559451e9c45cd613acb",
      "parents": [
        "455d41002e17de93b1486b2b2a97a71a0d62903b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 13:05:37 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 13:05:37 2010 -0700"
      },
      "message": "Initial checkin of mpeg2 transport stream parser for stagefright.\n\nChange-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f\n"
    },
    {
      "commit": "455d41002e17de93b1486b2b2a97a71a0d62903b",
      "tree": "ea51f57aa417fd7b5596355897e84a18352fb386",
      "parents": [
        "b7bb3b3df6cb3743ee43b71455d9525762e55b45",
        "7d2f703649e270b635018f8b7219bb0e1d62a2e5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 12:50:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 12:50:05 2010 -0700"
      },
      "message": "Merge \"Initial checkin of \"foundation\" library for future stagefright development.\" into kraken"
    },
    {
      "commit": "b7bb3b3df6cb3743ee43b71455d9525762e55b45",
      "tree": "948830404473ff0ac41bcf525f52c76f81912429",
      "parents": [
        "7a68d3686aace4781ee6c25d8ab8704bebee34af"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 22:47:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 11:01:29 2010 -0700"
      },
      "message": "Fix bug in reporting a processes\u0027s dependent component.\n\nAlso add new action to show an app\u0027s details.\n\nChange-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92\n"
    },
    {
      "commit": "7d2f703649e270b635018f8b7219bb0e1d62a2e5",
      "tree": "83ad53ba7bc4382f82258eebf5061083796dcd2d",
      "parents": [
        "a8ebe8b3f5aea0d3f09a62d6d255f99c1f911f7b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 10:18:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 07 10:22:07 2010 -0700"
      },
      "message": "Initial checkin of \"foundation\" library for future stagefright development.\n\nChange-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3\n"
    },
    {
      "commit": "7a68d3686aace4781ee6c25d8ab8704bebee34af",
      "tree": "481ffa2e47ec1ca726e7043219e2f0e60039f81f",
      "parents": [
        "a8ebe8b3f5aea0d3f09a62d6d255f99c1f911f7b",
        "c2f328d0d2821e402823d6e17589da2849b67d0d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 07 10:19:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 07 10:19:58 2010 -0700"
      },
      "message": "Merge \"Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime.\" into kraken"
    },
    {
      "commit": "a8ebe8b3f5aea0d3f09a62d6d255f99c1f911f7b",
      "tree": "82e315bc4d0a1531c90b98c17513f5a44c4ede13",
      "parents": [
        "168585ed68f03ddc851cd734cbb6ba813e30eb85",
        "df2e2eff9446c0220515fa7aab7857135e04e12e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 06 12:10:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:08 2010 -0700"
      },
      "message": "am df2e2eff: Merge \"Watchdog now records kernel stacks when it fires\" into froyo\n\nMerge commit \u0027df2e2eff9446c0220515fa7aab7857135e04e12e\u0027 into kraken\n\n* commit \u0027df2e2eff9446c0220515fa7aab7857135e04e12e\u0027:\n  Watchdog now records kernel stacks when it fires\n"
    },
    {
      "commit": "168585ed68f03ddc851cd734cbb6ba813e30eb85",
      "tree": "f48591a6feb0e60c3da8400098fc9a961af48d9d",
      "parents": [
        "9c4ed1394bb16b1d76758127a9b5d73bd363adaf",
        "5474902fe9fe72c825855c4a77f99a581a9f6594"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 12:10:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:05 2010 -0700"
      },
      "message": "am 5474902f: Merge \"xhdpi\" into froyo\n\nMerge commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027 into kraken\n\n* commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027:\n  xhdpi\n"
    },
    {
      "commit": "9c4ed1394bb16b1d76758127a9b5d73bd363adaf",
      "tree": "3f7f3f36ce1efa79e9072d312220e5ae2066ad71",
      "parents": [
        "fae5cb2b356a1fef172b43066180a7ab4c32dbac",
        "f9610b3842e030138c1dc327a3a467aaea02c227"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Sun Jun 06 12:10:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:00 2010 -0700"
      },
      "message": "am f9610b38: Merge \"Make the DUN apn data secure.\" into froyo\n\nMerge commit \u0027f9610b3842e030138c1dc327a3a467aaea02c227\u0027 into kraken\n\n* commit \u0027f9610b3842e030138c1dc327a3a467aaea02c227\u0027:\n  Make the DUN apn data secure.\n"
    },
    {
      "commit": "fae5cb2b356a1fef172b43066180a7ab4c32dbac",
      "tree": "55e73b81c3a666ab1165603238e7ca43495ff99c",
      "parents": [
        "7623da435e45c7c03ef6a00a43675deb6645f070"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 04 18:26:32 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 04 18:57:41 2010 -0700"
      },
      "message": "optimize Surface.readFromParcel()\n\nthis is called for each relayout() and used to create a full Surface (cpp)\nwhich in turn did some heavy work (including an IPC with surfaceflinger),\nmost of the time to destroy it immediatelly when the returned surface\n(the one in the parcel) was the same.\n\nwe now more intelligentely read from the parcel and construct the new\nobject only if needed.\n\nChange-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267\n"
    },
    {
      "commit": "7623da435e45c7c03ef6a00a43675deb6645f070",
      "tree": "b789cdc5e60ccc4474bd319b1dbb4e1a7e3f3858",
      "parents": [
        "593c05ce7bcf7b6d94bd8c50da2b818cf05116b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 01 15:12:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 04 18:57:41 2010 -0700"
      },
      "message": "split surface management from surface\u0027s buffers management\n\nChange-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87\n"
    },
    {
      "commit": "593c05ce7bcf7b6d94bd8c50da2b818cf05116b1",
      "tree": "7dd70eab8cf6b3dc140e5eedbe01164349d987de",
      "parents": [
        "66236db38dbaae229a86005309b9f7c74eabc998"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 02 23:28:45 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 04 18:57:40 2010 -0700"
      },
      "message": "clean-up client management.\n\nsimplified things a lot, the biggest change is that the concept\nof \"ClientID\" is now gone, instead we simply use references.\n\nChange-Id: Icbc57f80865884aa5f35ad0d0a0db26f19f9f7ce\n"
    },
    {
      "commit": "df2e2eff9446c0220515fa7aab7857135e04e12e",
      "tree": "dd1c383a329395a203d88da23618778ddce30c6c",
      "parents": [
        "5474902fe9fe72c825855c4a77f99a581a9f6594",
        "ecaa7b41ca49154ceaa9a7504eb0a86b89a96026"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 18:06:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 18:06:07 2010 -0700"
      },
      "message": "Merge \"Watchdog now records kernel stacks when it fires\" into froyo"
    },
    {
      "commit": "6390929174cbd214d4ac80c7147e2985004667e1",
      "tree": "ad9eeb413d694265e1aed7c29dcc20ee84578b7b",
      "parents": [
        "b705eea70245dae69d16e18d63b3ee38e1d0c5c3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 03 14:37:42 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 04 16:32:27 2010 -0700"
      },
      "message": "PackageManagerService: always install native binaries from .apk\n\nThe previous implementation fails to work properly when the .apk\nand installed versions of the binaries have the same size and date.\n\nChange-Id: I296e34505ab4f0af028de5bcff7a83969f160ec1\n"
    },
    {
      "commit": "5474902fe9fe72c825855c4a77f99a581a9f6594",
      "tree": "673d1df6c1cec47226eb4a68443d9a9f1012689a",
      "parents": [
        "f9610b3842e030138c1dc327a3a467aaea02c227",
        "588feee5e771de5ec71da213fbb1cba29392c690"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 16:32:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 16:32:01 2010 -0700"
      },
      "message": "Merge \"xhdpi\" into froyo"
    },
    {
      "commit": "f9610b3842e030138c1dc327a3a467aaea02c227",
      "tree": "e1ca2b33bff382420400705efe493a4ab0f697e9",
      "parents": [
        "4b3309211ed6f3532b44481945a4725143d50b8a",
        "77b32ddbbeeb13a07b16f23af705567c75a8e3df"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 04 15:55:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 15:55:09 2010 -0700"
      },
      "message": "Merge \"Make the DUN apn data secure.\" into froyo"
    },
    {
      "commit": "ecaa7b41ca49154ceaa9a7504eb0a86b89a96026",
      "tree": "a598349af5efb1e2a57e92862cf4a9b68d33f284",
      "parents": [
        "de56c27dab020bf85187c8bcfc6842cb31006c59"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 14:55:02 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 04 14:55:02 2010 -0700"
      },
      "message": "Watchdog now records kernel stacks when it fires\n\nThe kernel threads are appended to the usual /data/anr/traces.txt file\nand dropboxed along with the usual Dalvik stack dumps.\n\nChange-Id: I120f1f5ee54c965efe9ac0c7f40fdef56385f1fa\nNOTE: this change depends on the kernel publishing /proc/$PID/stack\n"
    },
    {
      "commit": "588feee5e771de5ec71da213fbb1cba29392c690",
      "tree": "fdfb7f705f3368a88410547ecd302737ad514725",
      "parents": [
        "2e3761ba43f634e97ac493f4b79e5e53954a1491"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 14:36:39 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 14:36:39 2010 -0700"
      },
      "message": "xhdpi\n\nThis is only a tool (aapt) change, and does not impact any current code.\n\nChange-Id: I562063f612af919eaadba8ac4868a95ff41ac840\n"
    },
    {
      "commit": "66236db38dbaae229a86005309b9f7c74eabc998",
      "tree": "96bcf8854c357992fecbb9829f431b07aa2fb933",
      "parents": [
        "fef42db92568918161a2a9d69411290adfa1720f",
        "1e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 13:52:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 13:52:45 2010 -0700"
      },
      "message": "am 1e2e2aea: am 4b330921: Don\\\u0027t crash when low storage is encountered pre-boot completion.\n\nMerge commit \u00271e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac\u0027 into kraken\n\n* commit \u00271e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac\u0027:\n  Don\u0027t crash when low storage is encountered pre-boot completion.\n"
    },
    {
      "commit": "1e2e2aea8ce3b1c39f4d0f753e3f7081c94a0bac",
      "tree": "e7880c77fa7537b6ef1a6d72b0a0fe9d259d9a77",
      "parents": [
        "2d743fe2f39397d41334001d897eb78da56e94ef",
        "4b3309211ed6f3532b44481945a4725143d50b8a"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 13:50:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 13:50:31 2010 -0700"
      },
      "message": "am 4b330921: Don\\\u0027t crash when low storage is encountered pre-boot completion.\n\nMerge commit \u00274b3309211ed6f3532b44481945a4725143d50b8a\u0027 into froyo-plus-aosp\n\n* commit \u00274b3309211ed6f3532b44481945a4725143d50b8a\u0027:\n  Don\u0027t crash when low storage is encountered pre-boot completion.\n"
    },
    {
      "commit": "fef42db92568918161a2a9d69411290adfa1720f",
      "tree": "9677b197a4bce2db746ed0568b48aa37caad7212",
      "parents": [
        "faed5fbf1583ccb6633cde31f1ec3a3acf508260"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 13:38:43 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 13:38:43 2010 -0700"
      },
      "message": "Add sample code.\n\nChange-Id: I8f598dcbccbb0c43cedc1e1d02f6e3a46d6ebc67\n"
    },
    {
      "commit": "faed5fbf1583ccb6633cde31f1ec3a3acf508260",
      "tree": "385e1b8de68667650e2022ac29817342b3c4c5cb",
      "parents": [
        "7c035d8a65626b8fed6e7da46477137ab9d5573e",
        "860755faa6bdd3c2aeae49c05b87b5bc080ae60c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 13:30:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 13:30:32 2010 -0700"
      },
      "message": "Merge \"Add support for heavy-weight applications.\" into kraken"
    },
    {
      "commit": "4b3309211ed6f3532b44481945a4725143d50b8a",
      "tree": "e6601c2badc671e722549a0e871d929bba6c9dff",
      "parents": [
        "2e3761ba43f634e97ac493f4b79e5e53954a1491"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 15:16:06 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 04 15:16:06 2010 -0500"
      },
      "message": "Don\u0027t crash when low storage is encountered pre-boot completion.\n\nBug: 2741633\nChange-Id: Ic073ead64ff43b2e2c32b439756cd71c2b6550b8\n"
    },
    {
      "commit": "7c035d8a65626b8fed6e7da46477137ab9d5573e",
      "tree": "01777eb0d50d2324e7a7e69a348b56f2c6649d6f",
      "parents": [
        "f8acea6ccbdd7e7283b1dc439f49c72a937f746d",
        "2d743fe2f39397d41334001d897eb78da56e94ef"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 04 12:58:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 12:58:09 2010 -0700"
      },
      "message": "am 2d743fe2: merge from open-source master\n\nMerge commit \u00272d743fe2f39397d41334001d897eb78da56e94ef\u0027 into kraken\n\n* commit \u00272d743fe2f39397d41334001d897eb78da56e94ef\u0027:\n  Add better error handling for savePicture and restorePicture\n"
    },
    {
      "commit": "77b32ddbbeeb13a07b16f23af705567c75a8e3df",
      "tree": "6a284450b6ea308c982d7adcc89bc86c8d59947c",
      "parents": [
        "6a297118724f31b1063b74f52295d459ec4f58dc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jun 03 18:57:26 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 04 11:13:34 2010 -0700"
      },
      "message": "Make the DUN apn data secure.\n\nRather than come out of the user-modifiable APN DB, the DUN APN data will\ncome first from a built-in resource and then potentially overriden by a secure\nsetting (which is gservices upgradable).\n\nAlso made the \"require-dun\" setting secure-setting overridable.\nbug:2736390\n\nChange-Id: I1e4644c3839f06c977b83797641f3948785146a2\n"
    },
    {
      "commit": "2d743fe2f39397d41334001d897eb78da56e94ef",
      "tree": "329c927aa7b709608d488d4271a95aa32df062a1",
      "parents": [
        "e896d41699ffe7be932102d7ccc9566f41ddb447",
        "fb59fbf14e3d8580ad8702343795f03b2f823295"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 04 11:07:49 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 04 11:08:36 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ic9060d92c014d6cbe9d90ce8deca8fa111711471\n"
    },
    {
      "commit": "860755faa6bdd3c2aeae49c05b87b5bc080ae60c",
      "tree": "49cb794a0de5b8f505048533ac5daf02e95c94b1",
      "parents": [
        "f8acea6ccbdd7e7283b1dc439f49c72a937f746d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 03 18:47:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 10:09:13 2010 -0700"
      },
      "message": "Add support for heavy-weight applications.\n\nOnly one can be running at a time, their process can not be killed,\nand a notification is posted while it is running.\n\nChange-Id: I843015723947e0c934ae63a1aeee139327c0bc01\n"
    },
    {
      "commit": "f8acea6ccbdd7e7283b1dc439f49c72a937f746d",
      "tree": "fd86290ce0abc36a00bcb38f34aa2d739b0edd0b",
      "parents": [
        "cefb01abbfdb175e0c4b298126bcb4a98bf6371f",
        "a7c0bdc4e46301530c89c67ec3ce6ae8df7260d7"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri Jun 04 09:46:03 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 09:46:03 2010 -0700"
      },
      "message": "Merge \"Delete local references to avoid reference table overflow.\" into kraken"
    },
    {
      "commit": "cefb01abbfdb175e0c4b298126bcb4a98bf6371f",
      "tree": "fdf01eb997e5a8053bd8527ba7ad6994b8e8776a",
      "parents": [
        "2ea200c5a7c13e6a7e8bfdb04e96066a38b19240",
        "8aba232dbce3d7a1e3efd5fa41c37810de79d0ea"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 04 03:38:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 03:38:25 2010 -0700"
      },
      "message": "Merge \"Add KEY_SUPPORTED_METERING_MODES and fix some typos.\" into kraken"
    },
    {
      "commit": "8aba232dbce3d7a1e3efd5fa41c37810de79d0ea",
      "tree": "895d4ec947f9974da6bd1152ea393893863e9239",
      "parents": [
        "5f5df382e5b87f02399f21c916e0ebb6c48c759d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 04 14:18:32 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 04 17:18:17 2010 +0800"
      },
      "message": "Add KEY_SUPPORTED_METERING_MODES and fix some typos.\n\nbug:2737111\nChange-Id: I108ae7057786921bf99385ad66dbc1f02d6a1448\n"
    },
    {
      "commit": "2ea200c5a7c13e6a7e8bfdb04e96066a38b19240",
      "tree": "4cce0e6e3096c7cf4c22fe668687b49e6bfc3c50",
      "parents": [
        "5f5df382e5b87f02399f21c916e0ebb6c48c759d",
        "65b65459e6ac59f8a257009df8014467ae0838ee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 04 00:14:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 04 00:14:46 2010 -0700"
      },
      "message": "Merge \"Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.\" into kraken"
    },
    {
      "commit": "5f5df382e5b87f02399f21c916e0ebb6c48c759d",
      "tree": "17291c68df4f7836674bf9a0f53753261795a83f",
      "parents": [
        "266b74e8759e76fedec60ec1ffa88cfbd86cc91d",
        "f7f6333831e7b991d92abeddfbd46c2884afa405"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jun 03 22:32:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 03 22:32:05 2010 -0700"
      },
      "message": "Merge \"Add camera metering mode API.\" into kraken"
    },
    {
      "commit": "a7c0bdc4e46301530c89c67ec3ce6ae8df7260d7",
      "tree": "680563b1bb97a2b0ec85849fe9178d4c73cd9c79",
      "parents": [
        "c87d5849f22d805b3dde8f70f60ddfadfc7c7b9d"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jun 03 16:50:57 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jun 03 16:59:01 2010 -0700"
      },
      "message": "Delete local references to avoid reference table overflow.\n\nChange-Id: I2218b97647e381bfe6d329b1b6134bb76c1832b6\n"
    },
    {
      "commit": "266b74e8759e76fedec60ec1ffa88cfbd86cc91d",
      "tree": "2f3426691972f7d2856ef19c5cb912687bd9898d",
      "parents": [
        "b8c7548df6a6708b8f06033f0790929e91558e95",
        "cfda9f3a4756c71b3aadd1387419cb3b513dd400"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 03 16:07:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 03 16:07:51 2010 -0700"
      },
      "message": "Merge \"Sprinkle new BlockGuard around SQLiteDatabase.\" into kraken"
    },
    {
      "commit": "b8c7548df6a6708b8f06033f0790929e91558e95",
      "tree": "54779bcccaacf56ba44e5e75f00c2f00cab990f6",
      "parents": [
        "c458d0e3078cad4131fc6a7960c1386b4de95ca6",
        "e896d41699ffe7be932102d7ccc9566f41ddb447"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 03 15:31:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 15:31:56 2010 -0700"
      },
      "message": "am e896d416: am 2e3761ba: Merge \"Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\" into froyo\n\nMerge commit \u0027e896d41699ffe7be932102d7ccc9566f41ddb447\u0027 into kraken\n\n* commit \u0027e896d41699ffe7be932102d7ccc9566f41ddb447\u0027:\n  Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\n"
    },
    {
      "commit": "e896d41699ffe7be932102d7ccc9566f41ddb447",
      "tree": "80cf3ca0500dab21fce09711e3f74d3775974edf",
      "parents": [
        "b85a1679a4a6fae5dd39611ae594f5e2b945407c",
        "2e3761ba43f634e97ac493f4b79e5e53954a1491"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 03 15:30:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 15:30:03 2010 -0700"
      },
      "message": "am 2e3761ba: Merge \"Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\" into froyo\n\nMerge commit \u00272e3761ba43f634e97ac493f4b79e5e53954a1491\u0027 into froyo-plus-aosp\n\n* commit \u00272e3761ba43f634e97ac493f4b79e5e53954a1491\u0027:\n  Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\n"
    },
    {
      "commit": "2e3761ba43f634e97ac493f4b79e5e53954a1491",
      "tree": "010ff82ebb23d3c7554423de6a643bec2a6c802e",
      "parents": [
        "85a1c578300a0c9fb23aef5f79c9b1f3892e9c2e",
        "3c460f3da0d0f633d392776a635fe940d5373626"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 03 15:28:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 03 15:28:13 2010 -0700"
      },
      "message": "Merge \"Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\" into froyo"
    },
    {
      "commit": "3c460f3da0d0f633d392776a635fe940d5373626",
      "tree": "4a84ebb0b45389cffa86cc1acbb1f1aa5556606f",
      "parents": [
        "6a297118724f31b1063b74f52295d459ec4f58dc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 03 14:42:19 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 03 14:43:57 2010 -0700"
      },
      "message": "Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.\n\nChange-Id: I03dbdac3cd250340059ea43b341129b30acce4e2\nrelated-to-bug: 2736779\n"
    },
    {
      "commit": "fb59fbf14e3d8580ad8702343795f03b2f823295",
      "tree": "ab8b8f3a9bc04aa4bbc5dae4787a2dd225ecb149",
      "parents": [
        "e99c012503bbd205cbaa9f16f9894ca5ffeaaf76",
        "dad86349bea3aec1d48793adc61b446f82311d15"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 03 14:26:21 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jun 03 14:26:21 2010 -0700"
      },
      "message": "Merge \"Add better error handling for savePicture and restorePicture\""
    },
    {
      "commit": "c458d0e3078cad4131fc6a7960c1386b4de95ca6",
      "tree": "b9da2e482347dbb4e07f0289c9dd63b52eab8466",
      "parents": [
        "57ad07039a63e8454d8a73cdce9c5e269f13205c",
        "b85a1679a4a6fae5dd39611ae594f5e2b945407c"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Thu Jun 03 13:00:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 13:00:31 2010 -0700"
      },
      "message": "am b85a1679: am 85a1c578: Merge \"Doc change: Adjust security sandbox description.\" into froyo\n\nMerge commit \u0027b85a1679a4a6fae5dd39611ae594f5e2b945407c\u0027 into kraken\n\n* commit \u0027b85a1679a4a6fae5dd39611ae594f5e2b945407c\u0027:\n  Doc change: Adjust security sandbox description.\n"
    },
    {
      "commit": "b85a1679a4a6fae5dd39611ae594f5e2b945407c",
      "tree": "986280cc42bf67cc21f589776ace9bf97805dfae",
      "parents": [
        "c40209ac60a64a7c08b0d0028060d5308fd7a0b8",
        "85a1c578300a0c9fb23aef5f79c9b1f3892e9c2e"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Thu Jun 03 12:58:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 12:58:35 2010 -0700"
      },
      "message": "am 85a1c578: Merge \"Doc change: Adjust security sandbox description.\" into froyo\n\nMerge commit \u002785a1c578300a0c9fb23aef5f79c9b1f3892e9c2e\u0027 into froyo-plus-aosp\n\n* commit \u002785a1c578300a0c9fb23aef5f79c9b1f3892e9c2e\u0027:\n  Doc change: Adjust security sandbox description.\n"
    },
    {
      "commit": "85a1c578300a0c9fb23aef5f79c9b1f3892e9c2e",
      "tree": "e4c28e458a18a6481bb5b115c01cb785b1609821",
      "parents": [
        "28a92b2e76a13c18dc23e5239717b122a174182f",
        "5bacbfd39ba71089f9d599e5954aaa7cbee630a7"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Thu Jun 03 12:57:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 03 12:57:06 2010 -0700"
      },
      "message": "Merge \"Doc change: Adjust security sandbox description.\" into froyo"
    },
    {
      "commit": "cfda9f3a4756c71b3aadd1387419cb3b513dd400",
      "tree": "af4e30debab7180d5ac2e7a92c522169eedd952c",
      "parents": [
        "57ad07039a63e8454d8a73cdce9c5e269f13205c"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 03 12:52:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 03 12:52:54 2010 -0700"
      },
      "message": "Sprinkle new BlockGuard around SQLiteDatabase.\n\nSQLite is JNI to native code and doesn\u0027t go via IFileSystem, so it\nneeds custom sprinkling, at least for now.\n\nChange-Id: Ic7fded1b64a4f483dfc17b3a7b136c803df1e111\n"
    },
    {
      "commit": "c2f328d0d2821e402823d6e17589da2849b67d0d",
      "tree": "8d2297a4948222dcb06974a171323a966c266046",
      "parents": [
        "ca583f0966f891efda4710074c15795d99b9d9ba"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 11:48:31 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 11:51:39 2010 -0700"
      },
      "message": "Remove hard-coded pixel format for recording frames in CameraSource.\nRetrieve the pixel format from Camera HAL at runtime.\n\nChange-Id: I63f820f54c59c2019dfd195320b9928da3362536\n"
    },
    {
      "commit": "57ad07039a63e8454d8a73cdce9c5e269f13205c",
      "tree": "bb20fd9bd00f3127b8d44f69e24c7855742269ef",
      "parents": [
        "15fe2cb73b0770316db302f6502f568062d68e74",
        "c40209ac60a64a7c08b0d0028060d5308fd7a0b8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 11:30:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 11:30:03 2010 -0700"
      },
      "message": "am c40209ac: am 28a92b2e: Merge \"Fix a Javadoc to clarify when setAudioStreamType() should be called.\" into froyo\n\nMerge commit \u0027c40209ac60a64a7c08b0d0028060d5308fd7a0b8\u0027 into kraken\n\n* commit \u0027c40209ac60a64a7c08b0d0028060d5308fd7a0b8\u0027:\n  Fix a Javadoc to clarify when setAudioStreamType() should be called.\n"
    },
    {
      "commit": "c40209ac60a64a7c08b0d0028060d5308fd7a0b8",
      "tree": "d4127ea5aa2536ce18734229be5497054b558388",
      "parents": [
        "ee7e6a78e28b360826f215e0e84d43b1513b6401",
        "28a92b2e76a13c18dc23e5239717b122a174182f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 11:27:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 11:27:19 2010 -0700"
      },
      "message": "am 28a92b2e: Merge \"Fix a Javadoc to clarify when setAudioStreamType() should be called.\" into froyo\n\nMerge commit \u002728a92b2e76a13c18dc23e5239717b122a174182f\u0027 into froyo-plus-aosp\n\n* commit \u002728a92b2e76a13c18dc23e5239717b122a174182f\u0027:\n  Fix a Javadoc to clarify when setAudioStreamType() should be called.\n"
    },
    {
      "commit": "28a92b2e76a13c18dc23e5239717b122a174182f",
      "tree": "a980eb827dc583d141ca37257ac0ecc9284714b5",
      "parents": [
        "6a297118724f31b1063b74f52295d459ec4f58dc",
        "9d96354d7055cd165d7d5625990f810f46339e52"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 11:26:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 03 11:26:09 2010 -0700"
      },
      "message": "Merge \"Fix a Javadoc to clarify when setAudioStreamType() should be called.\" into froyo"
    },
    {
      "commit": "9d96354d7055cd165d7d5625990f810f46339e52",
      "tree": "55c549e4744f0bbb87dd4d9a722bca22d4cacdb9",
      "parents": [
        "de56c27dab020bf85187c8bcfc6842cb31006c59"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 10:36:04 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 03 10:37:28 2010 -0700"
      },
      "message": "Fix a Javadoc to clarify when setAudioStreamType() should be called.\n\nbug - 2737926\n\nChange-Id: I8718c3d1a544cf5cb1b7e98b6c24fe0e6d3574ba\n"
    },
    {
      "commit": "15fe2cb73b0770316db302f6502f568062d68e74",
      "tree": "9764af2f6feb0083e768779fc933de1b7f98f352",
      "parents": [
        "a9f06fef8e2fff0c909132073203de5bd2461795"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri May 28 15:44:32 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 03 09:33:43 2010 -0700"
      },
      "message": "Add error checking for translatable strings\n\nTranslatable strings that have multiple substitutions should use\npositional String.format() substitutions. This change makes it an error\nnot to use that format on translatable strings that have more than one\nsubstitution in its text.\n\nChange-Id: I3a19707f3804aa24e8568dc1653a11576cac5916\n"
    },
    {
      "commit": "a9f06fef8e2fff0c909132073203de5bd2461795",
      "tree": "9f606a6a66e1612e10d3f7c2743e7fc98ae89278",
      "parents": [
        "ca583f0966f891efda4710074c15795d99b9d9ba",
        "ee7e6a78e28b360826f215e0e84d43b1513b6401"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 09:09:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 09:09:07 2010 -0700"
      },
      "message": "am ee7e6a78: merge from open-source master\n\nMerge commit \u0027ee7e6a78e28b360826f215e0e84d43b1513b6401\u0027 into kraken\n\n* commit \u0027ee7e6a78e28b360826f215e0e84d43b1513b6401\u0027:\n  Improved error-handling in Rfc822Tokenizer\n"
    },
    {
      "commit": "ee7e6a78e28b360826f215e0e84d43b1513b6401",
      "tree": "704c72b88fd367184c094d78bedd05a3924d5f47",
      "parents": [
        "105e1c5adc3da14996d659ac403e7254b81bcb76",
        "e99c012503bbd205cbaa9f16f9894ca5ffeaaf76"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 09:03:58 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 09:03:58 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Idf8d5661d7b261b74ac0b1271af98795ac5faff9\n"
    },
    {
      "commit": "65b65459e6ac59f8a257009df8014467ae0838ee",
      "tree": "5f9ba01afd1e0ffe85f4b700c1a16f9b998c807d",
      "parents": [
        "501b2b400a15a43849ff84c5da4e68d23ed726cf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 01 23:49:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 03 03:21:53 2010 -0700"
      },
      "message": "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.\n\nFirst drop of audio framework modifications for audio effects support.\n\n- AudioTrack/AudioRecord:\nAdded support for auxiliary effects in AudioTrack\nAdded support for audio sessions\nFixed left right channel inversion in setVolume()\n\n- IAudioFlinger:\nAdded interface methods for effect enumeraiton and instantiation\nAdded support for audio sessions.\n\n- IAudioTrack:\nAdded method to attach auxiliary effect.\n\n- AudioFlinger\nCreated new classes to control effect engines in effect library and manage effect connections to tracks or\noutput mix:\n  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There\n\tis one EffectModule per instance of an effect in a given audio session\n  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.\n\tEffectChain for session 0 is for output mix effects, other chains are attached to audio tracks\n\twith same session ID. Each chain contains a variable number of EffectModules\n  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application\n\tcontrolling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.\n\nAdded support for effect modules and effect chains creation in PlaybackThread.\nmodified mixer thread loop to allow track volume control by effect modules and call effect processing.\n\n-AudioMixer\nEach track now specifies its output buffer used by mixer for accumulation\nModified mixer process functions to process tracks by groups of tracks with same buffer\nModified track process functions to support accumulation to auxiliary channel\n\nChange-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c\n"
    },
    {
      "commit": "f7f6333831e7b991d92abeddfbd46c2884afa405",
      "tree": "bbe6fb84932164301709ddde62af18ad95ad405e",
      "parents": [
        "00e21f8eb57a7ae2c19516aa0290ab4fb5f251c2"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jun 03 16:34:18 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jun 03 16:34:18 2010 +0800"
      },
      "message": "Add camera metering mode API.\n\nbug:2737111\nChange-Id: Ie986fee56ebeaaed2d2efb757701dfe3ffdec8d8\n"
    },
    {
      "commit": "5bacbfd39ba71089f9d599e5954aaa7cbee630a7",
      "tree": "be5d88834ff8c1142699a65315b5fd82705b38f2",
      "parents": [
        "6a297118724f31b1063b74f52295d459ec4f58dc"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jun 02 16:53:00 2010 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jun 02 16:53:00 2010 -0700"
      },
      "message": "Doc change: Adjust security sandbox description.\n\nChange-Id: I7b2f530afe65fe0abe6c66e69c9abddcfbc5ae9c\n"
    },
    {
      "commit": "740e39be6af3e366a4b82c030b5ea67ab144b42a",
      "tree": "7a3f130873dde329ab0f64128a59ee318c13833a",
      "parents": [
        "9b637e5985f9a86f39d70335c0390ade3716592a"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 02 12:33:53 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 02 16:03:51 2010 -0700"
      },
      "message": "Pass BluetoothDevice to the Bluetooth Headset calls.\n\nThis is to support multiple headsets at the same time, atleast\nat the framework level.\n\nChange-Id: I91d05c6c2828c9a09d00806d5e79f1e9c9c7cf84\n"
    },
    {
      "commit": "9b637e5985f9a86f39d70335c0390ade3716592a",
      "tree": "1ffa5bfee87452ebdb619a075fab765714e916d3",
      "parents": [
        "c87d5849f22d805b3dde8f70f60ddfadfc7c7b9d"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 02 14:36:14 2010 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 02 16:03:45 2010 -0700"
      },
      "message": "Add a new state machine for handling the incoming / outgoing profile\nconnections.\n\nChange-Id: I5fc9170b5e24c4a52a6f2ef4ca7a8bac65271941\n"
    },
    {
      "commit": "ca583f0966f891efda4710074c15795d99b9d9ba",
      "tree": "aa77fc316f59d1a6bdd0639c5eca35d1619f3224",
      "parents": [
        "169af47b0076457854cc0f92d6b015195837686d",
        "d28f4be870ea8850a2d4a2fe51333643f16b9ab1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 02 15:46:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 02 15:46:13 2010 -0700"
      },
      "message": "Merge \"Fixed some minor bugs in MotionEvent recycling.\" into kraken"
    },
    {
      "commit": "d28f4be870ea8850a2d4a2fe51333643f16b9ab1",
      "tree": "3275e1bdf086968c859567e90a2373b1b424a7b4",
      "parents": [
        "501b2b400a15a43849ff84c5da4e68d23ed726cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 02 15:35:46 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 02 15:36:01 2010 -0700"
      },
      "message": "Fixed some minor bugs in MotionEvent recycling.\n\n1. MotionEvent.recycle() never set mRecycled to true so it couldn\u0027t actually\n   detect doubly-recycled events (unless the TRACK_RECYCLED_LOCATION debuging\n   flag was enabled).\n\n2. MotionEvent.obtain() did not set mNext to null before returning the event\n   so it would unnecessarily retain a reference to other events in the\n   recycled event linked list until recycled again.\n\nChange-Id: I93709c402d260691875f632dfc080a355f85fbb0\n"
    },
    {
      "commit": "169af47b0076457854cc0f92d6b015195837686d",
      "tree": "c60cbfc4b398fcb80d141ec071ef2d7d725a7135",
      "parents": [
        "c91460d2c3a6ad51cdc455abcc540bf887bc6785"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 17:10:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "remove logging\n\nChange-Id: I42c2332c3c114700f5ade77b63b4f6010ea5507a\n"
    },
    {
      "commit": "c91460d2c3a6ad51cdc455abcc540bf887bc6785",
      "tree": "fb165f0fd0f5afabbbfd1807bf4a32df3475db41",
      "parents": [
        "1a86dd10c11413cf0301a14b1837dbf703f2b9de"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 08:18:17 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Pull the carrier name display in the windowshade out into its own view.\n\nChange-Id: I76ea5e72288245b69273c76a470b54eaec890361\n"
    },
    {
      "commit": "1a86dd10c11413cf0301a14b1837dbf703f2b9de",
      "tree": "13a35835993f69c59abe42597b9bff33cd4c5c8d",
      "parents": [
        "f55105405578bfd8315584e69faa655800edef77"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 08:17:58 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Use the built-in handler instead of allocating another one.\n\nChange-Id: Ia2e5db99b751d3f299c4a9b587ef718212bd8161\n"
    }
  ],
  "next": "f55105405578bfd8315584e69faa655800edef77"
}
