)]}'
{
  "log": [
    {
      "commit": "eaeb663bcd7a82b654954b42663232cbd7bef7e7",
      "tree": "c9b62c0df637d7bd394aaf39e490641dadda9744",
      "parents": [
        "cede1ed3e1721dc4a697a540388ef0f4b51c60eb"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 03 15:16:10 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 03 15:38:24 2009 -0700"
      },
      "message": "Track activity foreground CPU usage for battery stats.\n\nTrack the foreground CPU time of an activity so that we can tell if apps are\nspending more time in the background compared to foreground.\nUpdate power profile values for screen backlight and GPS.\nFix some javadoc bugs (milliseconds vs. microseconds).\n"
    },
    {
      "commit": "cede1ed3e1721dc4a697a540388ef0f4b51c60eb",
      "tree": "5ff2785ac3838cfddf1877c8b019e7c5ca30e9ac",
      "parents": [
        "5de674e1cbd6e43b6d7954ccacf5cd709b30265d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 02 22:05:04 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 03 15:09:52 2009 -0700"
      },
      "message": "fix [1610840] Positional light doesn\u0027t work correctly on emulator\n\nThis bug was introduced when lighting computations was changed from eye-space to object-space.\nThe light position need to be transformed back to object-space each time the modelview matrix changes which requires us to compute the inverse of the modelview matrix. This computation was done with the assumption that normals where transformed (which was the case when the computation was made in eye-space), however, normals only require the inverse of the upper 3x3 matrix while transforming positions requires the inverse of the whole matrix.\nThis caused the interesting behavior that lights were more-or-less transformed properly, but not translated at all, which caused improper lighting with directional lights in particular.\n\nThere was also another smaller bug affecting directional lights: when vertices are read, only the active component are read, the other ones are ignored, later, the transformation operations are set up to ignore the unset values, howver, in the case of lighting, we use the vertex in object space (that is, before it is transformed), and therefore were using uninitalized values; in particular w.\n"
    },
    {
      "commit": "5de674e1cbd6e43b6d7954ccacf5cd709b30265d",
      "tree": "2cb0c8cfecd313046671126de66e903e1c927472",
      "parents": [
        "b9a39cd300998a1a4577ac7eb87f9b505b8621dc",
        "7c7dface993a66778c506179ae11cadd6a88f7b1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 15:07:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 15:07:26 2009 -0700"
      },
      "message": "Merge change 3013 into donut\n\n* changes:\n  fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.\n"
    },
    {
      "commit": "b9a39cd300998a1a4577ac7eb87f9b505b8621dc",
      "tree": "97bcebbde25f1b08bc05931d22c5d90be38c87d0",
      "parents": [
        "3e8950c0c73f9c1574ce3388c754009edf6bc930"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 14:14:27 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 14:14:27 2009 -0700"
      },
      "message": "Adding missing callback onJsConfirm to dismiss any confirmation dialogs\n"
    },
    {
      "commit": "3e8950c0c73f9c1574ce3388c754009edf6bc930",
      "tree": "6c96605e1dfa8d1c0c87479070bc3f1ebe06d390",
      "parents": [
        "be512bff60626efc9a4b85d271d6210b9115e5fc"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 12:23:09 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 12:23:09 2009 -0700"
      },
      "message": "Added new parameter to enable a manual pause between pages\n"
    },
    {
      "commit": "be512bff60626efc9a4b85d271d6210b9115e5fc",
      "tree": "ac9880e5375c21cf4d23c6a231422a159755594c",
      "parents": [
        "33a22dc9c84ef12006b0c12f6d169d2a74c15284",
        "8aeac9408ff74126a1b3e9bb58b86056350b708d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 10:08:46 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 10:08:46 2009 -0700"
      },
      "message": "Merge change 3038 into donut\n\n* changes:\n  Cleaning up makefile for libttssynthproxy for the simulator.\n"
    },
    {
      "commit": "8aeac9408ff74126a1b3e9bb58b86056350b708d",
      "tree": "5655d2712db1fd20995a36f96eb77034141a565c",
      "parents": [
        "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 03 09:43:14 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 03 09:43:14 2009 -0700"
      },
      "message": "Cleaning up makefile for libttssynthproxy for the simulator.\n"
    },
    {
      "commit": "33a22dc9c84ef12006b0c12f6d169d2a74c15284",
      "tree": "7be4b1a9ef0f32c327a902dcd5236cdd750830e3",
      "parents": [
        "c1823701cc76790494fb622fe58f0942236cd7d0"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Jun 02 16:59:54 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 13:01:24 2009 +0100"
      },
      "message": "Close icon input stream in SuggestionsAdapter.\n\nBefore, SuggestionsAdapter would not close input streams after\nreading icons from them. This leaks file descriptors and,\nin the case of MemoryFiles, virtual address space.\n"
    },
    {
      "commit": "c1823701cc76790494fb622fe58f0942236cd7d0",
      "tree": "4732327a73e57fa5ad55e1724d79fbbf35654141",
      "parents": [
        "963cd006c45716b034f656bf7e7179e6476f7e4d"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 01 10:53:06 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 12:53:42 2009 +0100"
      },
      "message": "Handle EOF correctly in MemoryFile input stream.\n\nBefore, the variants of MemoryFile.MemoryInputStream.read() would throw\nIOException or  IndexOutOfBoundsException if EOF was encountered\nbefore the requested number of bytes was read. This violates\nthe contract of InputStream.read().\n\nThis patch makes read() return the number of bytes available, if any.\nIf already at EOF, -1 is returned. The patch also adds new tests,\nwhich checks cases where MemoryFile.MemoryInputStream.read()\nshould throw IndexOutOfBoundsException or return -1. several of these\ntests failed with the old code and pass now.\n\nThis fixes http://b/issue?id\u003d1881894\n"
    },
    {
      "commit": "963cd006c45716b034f656bf7e7179e6476f7e4d",
      "tree": "fddf34e58d6cb5b7b8fb5afe0df3e98a76e7f959",
      "parents": [
        "8dbe612dc60526d635e57257b58627b33a099678"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 14:05:12 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 12:53:42 2009 +0100"
      },
      "message": "Allow creating AssetFileDescriptors for MemoryFiles.\n\nThis allows content providers to use in-memory data to implement\nContentProvider.openAssetFile(), instead of just normal files\nand sockets as before.\n\nTo test cross-process use of AssetFileDescriptors for MemoryFiles,\na test content provider and a client for it are added to\nAndroidTests.\n\nFixes http://b/issue?id\u003d1871731\n"
    },
    {
      "commit": "8dbe612dc60526d635e57257b58627b33a099678",
      "tree": "2f02924de3a2e890aab2d4a75a1b52d2e2aa1328",
      "parents": [
        "5f784df5680e07f6cbc5d929560dfadc0e22db3b"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Tue Jun 02 23:35:54 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jun 03 07:54:42 2009 +0100"
      },
      "message": "Adding internal method replacePreferredActivity.\n\nThis was required because we need a way to set the preferred activity for a\nparticular intent filter based on user selection (in our case the\nACTION_WEB_SEARCH intent filter for selecting the preferred search engine from\nthe list of available search engines providers). The current\naddPreferredActivity call was not sufficient since it leaves the existing\npreferred activities in the list and does not remove them, which this call\ndoes.\n"
    },
    {
      "commit": "5f784df5680e07f6cbc5d929560dfadc0e22db3b",
      "tree": "875d6669b1bd20d9d13800f22e5cbe51f4cb79cf",
      "parents": [
        "9af0b4f7be14f2b3ed0ecc843c57ea47ec288e55",
        "de15ddc86ce4d3c3acdff297c75ef56f65e10457"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 22:54:04 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 22:54:04 2009 -0700"
      },
      "message": "Merge change 3011 into donut\n\n* changes:\n  simplify this test\n"
    },
    {
      "commit": "7c7dface993a66778c506179ae11cadd6a88f7b1",
      "tree": "e94560a144f32364df9910d0a154aa66450fa319",
      "parents": [
        "b42e1ff65ae44a0873959c5defe3ba4826109490"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 02 22:51:09 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 02 22:51:09 2009 -0700"
      },
      "message": "fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.\n\nthe specular enable flag wasn\u0027t computed in that case.\n"
    },
    {
      "commit": "9af0b4f7be14f2b3ed0ecc843c57ea47ec288e55",
      "tree": "b3adeb84b7b5a8ab420cf178db107f19edb2ad78",
      "parents": [
        "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:56:27 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:59:42 2009 -0700"
      },
      "message": "Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation.\n"
    },
    {
      "commit": "de15ddc86ce4d3c3acdff297c75ef56f65e10457",
      "tree": "c3980e32888873112d91c86b25644d4b1210bf22",
      "parents": [
        "b42e1ff65ae44a0873959c5defe3ba4826109490"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 02 18:10:08 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 02 18:35:48 2009 -0700"
      },
      "message": "simplify this test\n"
    },
    {
      "commit": "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be",
      "tree": "aa4ba2fae462e561fdd4ff919d643a19e404121d",
      "parents": [
        "2c159ec05b8fc52166e22d7c4f49cf43d10b487b",
        "03228fa8f950dfee3f679d280f98d040dea397dc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 18:19:29 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 18:19:29 2009 -0700"
      },
      "message": "Merge change 2957 into donut\n\n* changes:\n  Allow response payload on RIL_REQUEST error\n"
    },
    {
      "commit": "03228fa8f950dfee3f679d280f98d040dea397dc",
      "tree": "56666df4741b76de9c8e96c52c9b11abcf4d6390",
      "parents": [
        "abf3c80c60c6584a2cc77a0971078f85a877bc6f"
      ],
      "author": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Tue Jun 02 14:58:35 2009 -0700"
      },
      "committer": {
        "name": "johnwang",
        "email": "johnwang@google.com",
        "time": "Tue Jun 02 17:23:08 2009 -0700"
      },
      "message": "Allow response payload on RIL_REQUEST error\n\nHandle response payload while RIL_REQUEST returns error.\n\n\tmodified:   gsm/GsmServiceStateTracker.java\n"
    },
    {
      "commit": "2c159ec05b8fc52166e22d7c4f49cf43d10b487b",
      "tree": "7c277f9170cafeaccbf79f28062c88e0a184c241",
      "parents": [
        "7322c96cc0c2524d399fb43fb406fb6324a795c8",
        "1f4b92a2d6bd62c07554f627c3a2926e1e088b7a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:22:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:22:18 2009 -0700"
      },
      "message": "Merge change 2971 into donut\n\n* changes:\n  Corrected the name of the native library the SynthProxy class loads (libttssynthproxy instead of libsynthproxy) to match the lib name from frameworks/base/tts/jni/Android.mk.\n"
    },
    {
      "commit": "7322c96cc0c2524d399fb43fb406fb6324a795c8",
      "tree": "330e639369186ed365deb5eb05338c3bec0d3146",
      "parents": [
        "1a21de56b9e3e69413ee6addc0e776b40f79782e",
        "3dfd0e131efab40df4beba1e40d232a4fcf807dc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 16:42:42 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 16:42:42 2009 -0700"
      },
      "message": "Merge change 2967 into donut\n\n* changes:\n  Fixed issue where code for extracting scripts was eclipsed by runTest method.\n"
    },
    {
      "commit": "1f4b92a2d6bd62c07554f627c3a2926e1e088b7a",
      "tree": "368ff0f3fee552e726b50f42f3685353954c2f35",
      "parents": [
        "1a21de56b9e3e69413ee6addc0e776b40f79782e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 16:02:31 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 16:02:31 2009 -0700"
      },
      "message": "Corrected the name of the native library the SynthProxy class loads (libttssynthproxy instead of libsynthproxy) to match the lib name from frameworks/base/tts/jni/Android.mk.\n"
    },
    {
      "commit": "3dfd0e131efab40df4beba1e40d232a4fcf807dc",
      "tree": "0992e369e3e6ae0f14318bec785286c74c7bcfb6",
      "parents": [
        "b56736b666dd906a214639e24b624ec368e383f5"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 02 15:42:48 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 02 15:42:48 2009 -0700"
      },
      "message": "Fixed issue where code for extracting scripts was eclipsed by runTest method.\n"
    },
    {
      "commit": "1a21de56b9e3e69413ee6addc0e776b40f79782e",
      "tree": "6d81a8875494a24e0956b7b7a1e1465874127693",
      "parents": [
        "432900bffb816f56f5f8058c90fed7731df46e23",
        "78ebbabfe18f2c6fb4825e4bdbb1613e0901f0f3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 15:35:46 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 15:35:46 2009 -0700"
      },
      "message": "Merge change 2961 into donut\n\n* changes:\n  Addressed comments of change 2515 for the TtsService class:  - made the SpeechItem and SoundResource inner classes static,  - prefixed the TtsService member variables by \u0027m\u0027,  - changed indentation from 2 to 4 characters.\n"
    },
    {
      "commit": "432900bffb816f56f5f8058c90fed7731df46e23",
      "tree": "09591ed788c416f085911c77207671b7345884db",
      "parents": [
        "b42e1ff65ae44a0873959c5defe3ba4826109490",
        "ce16d787bdcefa393cb2da09652b580ba94b94a9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 15:16:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 15:16:34 2009 -0700"
      },
      "message": "Merge change 2962 into donut\n\n* changes:\n  Fixes #1890914.\n"
    },
    {
      "commit": "ce16d787bdcefa393cb2da09652b580ba94b94a9",
      "tree": "78f5020d064a5294e4f7aad4636c9c85c65b8b1a",
      "parents": [
        "b56736b666dd906a214639e24b624ec368e383f5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 15:15:12 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 15:15:12 2009 -0700"
      },
      "message": "Fixes #1890914.\n\nBright theme\u0027s background color should be #fff9f9f9 instead of pure white (#ffffffff).\n"
    },
    {
      "commit": "78ebbabfe18f2c6fb4825e4bdbb1613e0901f0f3",
      "tree": "a6ce14898983c0fef8088c341bb3fbedce053486",
      "parents": [
        "b42e1ff65ae44a0873959c5defe3ba4826109490"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 15:09:51 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 15:09:51 2009 -0700"
      },
      "message": "Addressed comments of change 2515 for the TtsService class:\n - made the SpeechItem and SoundResource inner classes static,\n - prefixed the TtsService member variables by \u0027m\u0027,\n - changed indentation from 2 to 4 characters.\n"
    },
    {
      "commit": "b42e1ff65ae44a0873959c5defe3ba4826109490",
      "tree": "732e6b9d7d4cf350168d42a4f88972815fe91146",
      "parents": [
        "a74303d80637c0d63057fc4b501a4f93cf01ea85",
        "b33940abca9d43891575f58a1107c8ec247afed1"
      ],
      "author": {
        "name": "Doug Kramer",
        "email": "nobody@android.com",
        "time": "Tue Jun 02 13:15:15 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 13:15:15 2009 -0700"
      },
      "message": "am b33940ab: AI 149494: Minor improvements to wording in design tips for missing activity and notifications   See latest document at:   http://doog:9000/guide/practices/ui_guidelines/activity_task_design.html\n\nMerge commit \u0027b33940abca9d43891575f58a1107c8ec247afed1\u0027 into donut\n\n* commit \u0027b33940abca9d43891575f58a1107c8ec247afed1\u0027:\n  AI 149494: Minor improvements to wording in design tips for missing activity and notifications\n"
    },
    {
      "commit": "b33940abca9d43891575f58a1107c8ec247afed1",
      "tree": "9bf9782283bd646d545648252d6460c4b70a894c",
      "parents": [
        "7363e049ec7c2f490acf783a979ea101df35a055"
      ],
      "author": {
        "name": "Doug Kramer",
        "email": "nobody@android.com",
        "time": "Tue Jun 02 12:17:49 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 12:17:49 2009 -0700"
      },
      "message": "AI 149494: Minor improvements to wording in design tips for missing activity and notifications\n  See latest document at:\n  http://doog:9000/guide/practices/ui_guidelines/activity_task_design.html\n\nAutomated import of CL 149494\n"
    },
    {
      "commit": "a74303d80637c0d63057fc4b501a4f93cf01ea85",
      "tree": "7ed502fed6d88cfdf8b9b4f26231a47df7764c5a",
      "parents": [
        "eb949674fd3b83b706f795fc6b16ab1c66250c93"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 12:05:18 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 12:05:18 2009 -0700"
      },
      "message": "Trying to fix sim-eng build: when building the simulator on linux, link (only) with libdl, as opposed to also making libdl a build target.\n"
    },
    {
      "commit": "eb949674fd3b83b706f795fc6b16ab1c66250c93",
      "tree": "4c58350eef523e46bcd26423a15aaa109779988f",
      "parents": [
        "30b70cec05190c8fcfa5aeb175a37bf81ed3966d"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 01 15:49:32 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Tue Jun 02 11:01:43 2009 -0700"
      },
      "message": "Unhide inPurgeable in BitmapFactory.Options.\n\nThe correctness and effectiveness of the usage of the parameter are evaluated in:\nhttps://android-git.corp.google.com/g/Gerrit#change,2768\n"
    },
    {
      "commit": "30b70cec05190c8fcfa5aeb175a37bf81ed3966d",
      "tree": "c0db2e2269ebd9b8f7dcae75de6a09862cd7c654",
      "parents": [
        "b2decbe2f168a82d674ea699a809a702bad51f54"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 10:43:58 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 02 10:43:58 2009 -0700"
      },
      "message": "Trying to fix the build for simulator: modifying makefile to not link against libdl.\n"
    },
    {
      "commit": "b2decbe2f168a82d674ea699a809a702bad51f54",
      "tree": "e3826518aced764d5a6e809be2746a73eec89c24",
      "parents": [
        "abf3c80c60c6584a2cc77a0971078f85a877bc6f",
        "a042a740d37453a1974147ebe6ee206bbd85f17d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 10:11:58 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 10:11:58 2009 -0700"
      },
      "message": "Merge change 2515 into donut\n\n* changes:\n  Adding the TtsService class for text-to-speech synthesis.\n"
    },
    {
      "commit": "a042a740d37453a1974147ebe6ee206bbd85f17d",
      "tree": "78894dc8b312913f62a505bf3e8a46e90b7f4a95",
      "parents": [
        "2a4daf06fb36ff932f9d52962284ba369cee1ce0"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue May 26 20:55:10 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Jun 02 09:57:53 2009 -0700"
      },
      "message": "Adding the TtsService class for text-to-speech synthesis.\n"
    },
    {
      "commit": "abf3c80c60c6584a2cc77a0971078f85a877bc6f",
      "tree": "f680292b95153dfe155eff27638746bd2c55afd9",
      "parents": [
        "a058f02b591d971a829cb1e28d48a992e46ad85e",
        "700ec6568cdd788cac1bcccb77a817e822125f2f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 08:55:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 08:55:25 2009 -0700"
      },
      "message": "Merge change 2572 into donut\n\n* changes:\n  Adding java/jni code for the Java TTS SynthProxy class, which relays calls from the TTS service to the native TTS plugin library.\n"
    },
    {
      "commit": "a058f02b591d971a829cb1e28d48a992e46ad85e",
      "tree": "7f0ad05ea976d261c20cd5134b81d2d96f5ffb78",
      "parents": [
        "b3c3778edbc26affed9dc694f80412a85fe58d7b"
      ],
      "author": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Mon Jun 01 23:11:44 2009 +0100"
      },
      "committer": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Tue Jun 02 15:00:37 2009 +0100"
      },
      "message": "progress towards impression and click stats on all sources, plus some internal cleanup\n\n(framework portion)\n\nsuggestionCursor has new callbacks for impressions and clicks\n- impressions now used to trigger \"more\" UI, cleanup apis around that\n\nsearch dialog reports which position was clicked on via cursor#respond\n- can now detect when sources under \"more results\" are clicked\n- also used to simplify existing stuff:\n  - can detect when \"more results\" entry is clicked and toggle base on that (no longer need INTENT_ACTION_CURSOR_RESPOND one off)\n  - use response from click reporting to instruct which position should be selected\n"
    },
    {
      "commit": "b3c3778edbc26affed9dc694f80412a85fe58d7b",
      "tree": "4c27668f6cea703d641ba145b76ff4d156bbd8be",
      "parents": [
        "4ff42ad6d7218b89435424b53951c1bdb8ef6b8b",
        "b791f344744d39475925e480488c828e6b02999a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:31:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:31:21 2009 -0700"
      },
      "message": "Merge change 2844 into donut\n\n* changes:\n  Added some icon debug logging to SuggestionsAdapter.\n"
    },
    {
      "commit": "b791f344744d39475925e480488c828e6b02999a",
      "tree": "7a9cefa0e89b06bd1faaaea2275fa4e466e950ed",
      "parents": [
        "641bb3d8dfd72f57356d39ef00256d6077c9e235"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 01 19:39:53 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Jun 02 09:29:34 2009 +0100"
      },
      "message": "Added some icon debug logging to SuggestionsAdapter.\n\nGood for checking that lazy contact photos works.\n"
    },
    {
      "commit": "4ff42ad6d7218b89435424b53951c1bdb8ef6b8b",
      "tree": "2e7566c407960761895acfefee5f23fdb75441f3",
      "parents": [
        "c665349543b481b14e423ea9e7e2b368569ae311",
        "ad984f19339008f7eb8687aecc1779be70bc1f65"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:25:24 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 01:25:24 2009 -0700"
      },
      "message": "Merge change 2843 into donut\n\n* changes:\n  Use JNI region calls in MemoryFile read and write.\n"
    },
    {
      "commit": "ad984f19339008f7eb8687aecc1779be70bc1f65",
      "tree": "7c71ee777a5a57bda45b66d45798b3a3eae3b793",
      "parents": [
        "641bb3d8dfd72f57356d39ef00256d6077c9e235"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 01 18:33:33 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Jun 02 09:22:42 2009 +0100"
      },
      "message": "Use JNI region calls in MemoryFile read and write.\n\nThis will reduce copying or pinning, depending on GC policies, which should\nimprove performance. See dalvik/docs/jni-tips.html#RegionCalls for more information.\n\nFixes http://b/issue?id\u003d1887911\n"
    },
    {
      "commit": "c665349543b481b14e423ea9e7e2b368569ae311",
      "tree": "83ff3259d19e7bab75bdab117a1b1fe91b6aa6d7",
      "parents": [
        "35feec46d90d434a2439765d127a9e8f68a52340",
        "baae313f896d8048f23e4acc76e554c8aa4667bd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 00:58:47 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 00:58:47 2009 -0700"
      },
      "message": "Merge change 1522 into donut\n\n* changes:\n  support more minor cdms sms bearer data subparameters\n"
    },
    {
      "commit": "35feec46d90d434a2439765d127a9e8f68a52340",
      "tree": "b6aeed90546031768f194ad39c6a1411dcf76eeb",
      "parents": [
        "641bb3d8dfd72f57356d39ef00256d6077c9e235",
        "f315238a2b07c7e84f6ade800e504f520d262e66"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 00:49:46 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 00:49:46 2009 -0700"
      },
      "message": "Merge change 2761 into donut\n\n* changes:\n  TODO\u0027s from Teleca with modifications from wink.\n"
    },
    {
      "commit": "baae313f896d8048f23e4acc76e554c8aa4667bd",
      "tree": "8d0f8e633e0ec47d4c4fad4b4a204f636ce2f00f",
      "parents": [
        "f5df83035a45173f9ecdeaef03b68abc8a940ace"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue May 12 17:56:42 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jun 02 11:10:53 2009 +0800"
      },
      "message": "support more minor cdms sms bearer data subparameters\n\n- also clean up CdmaSmsAddress\n"
    },
    {
      "commit": "641bb3d8dfd72f57356d39ef00256d6077c9e235",
      "tree": "6695319a07c48df0513b2d5c0354797842c682f8",
      "parents": [
        "f5df83035a45173f9ecdeaef03b68abc8a940ace"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed May 27 16:00:03 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jun 02 10:43:59 2009 +0800"
      },
      "message": "expose (but still hide) sms user data headers\n\n  addresses bug http://b/issue?id\u003d1751571\n"
    },
    {
      "commit": "f5df83035a45173f9ecdeaef03b68abc8a940ace",
      "tree": "a0f02dde7a14ca6530dd1f9163dc73de6c9e779f",
      "parents": [
        "7728be035f5b3b814ef4455d1742d069dbcffb61",
        "93e7e22ec91dbc641d10ca6d70423e1357a95bba"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 19:30:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 19:30:54 2009 -0700"
      },
      "message": "Merge change 2879 into donut\n\n* changes:\n  Add backup side of new FullBackupAgent class\n"
    },
    {
      "commit": "7728be035f5b3b814ef4455d1742d069dbcffb61",
      "tree": "37a5bf3b88e7ae307a813750ce403a30946a5f98",
      "parents": [
        "b56736b666dd906a214639e24b624ec368e383f5",
        "46d7ccb403f416fbebf22c8ea2669a9d00fc74f7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 19:01:11 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 19:01:11 2009 -0700"
      },
      "message": "Merge change 2896 into donut\n\n* changes:\n  added a test that exhibits some lighting issues in the software renderer. see external bug 1709\n"
    },
    {
      "commit": "46d7ccb403f416fbebf22c8ea2669a9d00fc74f7",
      "tree": "b0487798cb353c65852730d6bd3801f61abc51c7",
      "parents": [
        "2d75410f20653858f358237ae9bd09b053fe8f8f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 18:59:44 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 18:59:44 2009 -0700"
      },
      "message": "added a test that exhibits some lighting issues in the software renderer. see external bug 1709\n"
    },
    {
      "commit": "93e7e22ec91dbc641d10ca6d70423e1357a95bba",
      "tree": "b14540bbc5176b7d1f3919a3646400063f9a6f4c",
      "parents": [
        "ff0d91479d3c8523bc290bd1b65fcd2546be1d40"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 01 16:49:50 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 01 16:49:50 2009 -0700"
      },
      "message": "Add backup side of new FullBackupAgent class\n\nThis class backs up an app\u0027s entire data directory tree.  Intended for use\nby the backup-through-adb full mirroring facility, etc.  @hide because\nit\u0027s not really something end apps will need to use.\n"
    },
    {
      "commit": "b56736b666dd906a214639e24b624ec368e383f5",
      "tree": "2b99765bd1003d4f6b3acf2c781534d421b98dc7",
      "parents": [
        "2ba3223cc9a4deb2980ba3c15a9b25c5652166a8",
        "627f9343b5fe6160d52897141a86a3a9d3f99e6a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 15:27:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 15:27:28 2009 -0700"
      },
      "message": "Merge change 2864 into donut\n\n* changes:\n  Fixed bug where test status is not marked \"DONE\" when completed\n"
    },
    {
      "commit": "627f9343b5fe6160d52897141a86a3a9d3f99e6a",
      "tree": "7e31c7a18480c587d3cfda2335ec52d5f833a002",
      "parents": [
        "892771ab81f79a6b0cf9735701760c5a12d6ab85"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 15:26:08 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 15:26:08 2009 -0700"
      },
      "message": "Fixed bug where test status is not marked \"DONE\" when completed\n"
    },
    {
      "commit": "2ba3223cc9a4deb2980ba3c15a9b25c5652166a8",
      "tree": "424e01c663fd82b64f5ea398e565e4bfd95420a7",
      "parents": [
        "c17f16e33a0fca7efa10e758a526cd8d5d3a31f3",
        "8cb6617107475c8b579f3bfbef24825c86ce32c5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 15:22:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 15:22:18 2009 -0700"
      },
      "message": "Merge change 2855 into donut\n\n* changes:\n  Add a new method to load html data into the WebView.\n"
    },
    {
      "commit": "c17f16e33a0fca7efa10e758a526cd8d5d3a31f3",
      "tree": "95371133e40db054f8ac4baed07ba94b7c1b29bd",
      "parents": [
        "b249890bc6740531898d94aaecac34d5736106bc",
        "21fd5f144a3e6919ff6b4e8a1a733c940d5dd6df"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 14:50:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 14:50:26 2009 -0700"
      },
      "message": "Merge change 2851 into donut\n\n* changes:\n  Change comment for SUGGEST_COLUMN_INTENT_EXTRA_DATA to clarify that this column is for use by global search only.\n"
    },
    {
      "commit": "700ec6568cdd788cac1bcccb77a817e822125f2f",
      "tree": "5915a2eb4a0a3d842176e2e44e97ecf176941dfe",
      "parents": [
        "004cb73a152327160614318fef0e1800ec91346d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 27 15:01:59 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 01 14:45:12 2009 -0700"
      },
      "message": "Adding java/jni code for the Java TTS SynthProxy class, which relays calls from the TTS service to the native TTS plugin library.\n"
    },
    {
      "commit": "8cb6617107475c8b579f3bfbef24825c86ce32c5",
      "tree": "dbea119f31ef001c5a13a0f1fefda4794de58345",
      "parents": [
        "11b1675a9348adabd9370ac01ae9c614ca4af384"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Jun 01 14:43:44 2009 -0700"
      },
      "committer": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Jun 01 14:43:44 2009 -0700"
      },
      "message": "Add a new method to load html data into the WebView.\n"
    },
    {
      "commit": "f315238a2b07c7e84f6ade800e504f520d262e66",
      "tree": "ca139c52989818f8a0adbbc28c13799c15bb5cf0",
      "parents": [
        "ff0d91479d3c8523bc290bd1b65fcd2546be1d40"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 01 14:39:20 2009 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 01 14:39:20 2009 -0700"
      },
      "message": "TODO\u0027s from Teleca with modifications from wink.\n"
    },
    {
      "commit": "21fd5f144a3e6919ff6b4e8a1a733c940d5dd6df",
      "tree": "620d85dfb5bf715eca244c8f30eadc5fe10afac7",
      "parents": [
        "ae9760b62c400e3e7009d4a7b85e9524a5cd44fc"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jun 01 22:30:56 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jun 01 22:30:56 2009 +0100"
      },
      "message": "Change comment for SUGGEST_COLUMN_INTENT_EXTRA_DATA to clarify that\nthis column is for use by global search only.\n"
    },
    {
      "commit": "b249890bc6740531898d94aaecac34d5736106bc",
      "tree": "f4c6629b597394ce7e862ee5cca48ca3a1765577",
      "parents": [
        "892771ab81f79a6b0cf9735701760c5a12d6ab85",
        "ae9760b62c400e3e7009d4a7b85e9524a5cd44fc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 14:21:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 14:21:54 2009 -0700"
      },
      "message": "Merge change 2835 into donut\n\n* changes:\n  Add framework support for scrolling to the \"More results...\" list item when it is clicked.\n"
    },
    {
      "commit": "ae9760b62c400e3e7009d4a7b85e9524a5cd44fc",
      "tree": "3e205a0f7183c166d96f60b76535150d23468656",
      "parents": [
        "11b1675a9348adabd9370ac01ae9c614ca4af384"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jun 01 21:53:09 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jun 01 21:53:09 2009 +0100"
      },
      "message": "Add framework support for scrolling to the \"More results...\" list item\nwhen it is clicked.\n"
    },
    {
      "commit": "892771ab81f79a6b0cf9735701760c5a12d6ab85",
      "tree": "8f5740676eb8314dda7248ee8936b7c09c921347",
      "parents": [
        "ff0d91479d3c8523bc290bd1b65fcd2546be1d40"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 13:51:21 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 13:51:21 2009 -0700"
      },
      "message": "Rename WRITE_SDCARD to WRITE_EXTERNAL_STORAGE in browser test app\n"
    },
    {
      "commit": "ff0d91479d3c8523bc290bd1b65fcd2546be1d40",
      "tree": "3d8d5b5788e366492829b71ccd3e7c1c61ad5b91",
      "parents": [
        "40d87ee4867baa25fd7a824f324ea7040bf5bc23",
        "faf4413dffdc9079683b951736088ff2a01073a4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 12:41:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 12:41:41 2009 -0700"
      },
      "message": "Merge change 2766 into donut\n\n* changes:\n  Manually merge a few fixes from cupcake and cupcake_dcm.\n"
    },
    {
      "commit": "faf4413dffdc9079683b951736088ff2a01073a4",
      "tree": "a893e858761612f78f9ab969b4ea0a5c2cec4486",
      "parents": [
        "6190fe6e7d7c8a917472637f5ab2fb21fc8a6eea"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri May 29 17:16:13 2009 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Mon Jun 01 12:39:27 2009 -0700"
      },
      "message": "Manually merge a few fixes from cupcake and cupcake_dcm.\n\nCL 144717: Correctly set user data payload length for non-7-bit encoded payload.\nCL 149058: Check for null TP-OA in SmsMessage.parseMessageBody().\nCL 138094: Make sure call state (and other updates) have a chance to get processed between data setup attempts.\nCL 132624: Added a comment for a way to save a message to the SIM.\n"
    },
    {
      "commit": "40d87ee4867baa25fd7a824f324ea7040bf5bc23",
      "tree": "821c968212366ae6e6b3afbd1215cb6ec37a30d7",
      "parents": [
        "50566b3554f440d6b84a696875147d8d21682b10"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 12:22:51 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 12:22:51 2009 -0700"
      },
      "message": "Removing @Override to fix the build\n"
    },
    {
      "commit": "50566b3554f440d6b84a696875147d8d21682b10",
      "tree": "5108b51e4a0818bc384533f580803cbc71e5238d",
      "parents": [
        "fa30c0eed3386af37be0f0df7aeaa886a8e6095d",
        "65455a1a46e3bec020befd27ff5ad6bfdab61a7d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 11:38:16 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 11:38:16 2009 -0700"
      },
      "message": "Merge change 2816 into donut\n\n* changes:\n  Update reliability test code. Use a separate activity with simpler calback mechanism.\n"
    },
    {
      "commit": "65455a1a46e3bec020befd27ff5ad6bfdab61a7d",
      "tree": "072548a78697f3f81740dc0f89865e6ba5c31380",
      "parents": [
        "162c9d0e90eaa71adc8c7d1456d1a9a95e638c47"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 11:36:03 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 11:36:03 2009 -0700"
      },
      "message": "Update reliability test code. Use a separate activity with simpler calback mechanism.\n"
    },
    {
      "commit": "fa30c0eed3386af37be0f0df7aeaa886a8e6095d",
      "tree": "cea3e80a8b015d24340ac262b39735c65efa9641",
      "parents": [
        "162c9d0e90eaa71adc8c7d1456d1a9a95e638c47",
        "c7b14e92075b8a0250ccc8bb4aa21e61d620a708"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 10:21:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 10:21:05 2009 -0700"
      },
      "message": "Merge change 2548 into donut\n\n* changes:\n  Fix a bug in AppSecurityPermissions where it wouldn\u0027t display permissions used by an app if it uses a shared user id. Remove the else clause and always get the list of requested permissions first before adding the permissions obtained via the shared user id. Also change an if condition and comments for better readability\n"
    },
    {
      "commit": "162c9d0e90eaa71adc8c7d1456d1a9a95e638c47",
      "tree": "25fdef0f5d683ec4e10859b86f24092d2d377960",
      "parents": [
        "450ad31b62af468aa0fb308a5c983b8f8334ae4e",
        "5a3a77dabd744d5be79d7745c2a977c108a9ad98"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:58:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:58:44 2009 -0700"
      },
      "message": "Merge change 2805 into donut\n\n* changes:\n  base: Rename WRITE_SDCARD -\u003e WRITE_EXTERNAL_STORAGE\n"
    },
    {
      "commit": "450ad31b62af468aa0fb308a5c983b8f8334ae4e",
      "tree": "43c979a2e1cb807afcb08f44c49a566d5629715d",
      "parents": [
        "10d273bb69016f7eb056d7ea1f3a929a5f5a3314",
        "3c8704b171c812dde6f48e5416ba0b336470dd4a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:57:24 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:57:24 2009 -0700"
      },
      "message": "Merge change 2774 into donut\n\n* changes:\n  Limit check on maxChannels for SoundPool. Bug 1838724\n"
    },
    {
      "commit": "10d273bb69016f7eb056d7ea1f3a929a5f5a3314",
      "tree": "ea96d69a9efc868726c85576ea46ddb0667edd53",
      "parents": [
        "181fafaf48208978b8ba2022683ffa78aaeddde1",
        "470681e0ff7a9f629ccfc3a36b51550c5a4d32fc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:55:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 09:55:44 2009 -0700"
      },
      "message": "Merge change 2591 into donut\n\n* changes:\n  Check if the ownerView is still attached to window in refreshPositionVariables.\n"
    },
    {
      "commit": "5a3a77dabd744d5be79d7745c2a977c108a9ad98",
      "tree": "2c5ad40a1c6c967839c60f91542eb99ca599502e",
      "parents": [
        "181fafaf48208978b8ba2022683ffa78aaeddde1"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "message": "base: Rename WRITE_SDCARD -\u003e WRITE_EXTERNAL_STORAGE\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "3c8704b171c812dde6f48e5416ba0b336470dd4a",
      "tree": "ca4eaff376c4c5aa2796496beae0bad526c0162e",
      "parents": [
        "b0ded43d3844d9d97c5d554e8ca4ec3ee2c7bbe1"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri May 29 19:12:11 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Jun 01 08:16:19 2009 -0700"
      },
      "message": "Limit check on maxChannels for SoundPool.\nBug 1838724\n"
    },
    {
      "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
      "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
      "parents": [
        "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 14 11:12:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun May 31 13:10:03 2009 -0700"
      },
      "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n"
    },
    {
      "commit": "c01159bb00f7273f9b051dfbbe6bc10d54d3a846",
      "tree": "48acd01fc87a8def05c86885081e31abefe20c08",
      "parents": [
        "11b1675a9348adabd9370ac01ae9c614ca4af384",
        "7363e049ec7c2f490acf783a979ea101df35a055"
      ],
      "author": {
        "name": "Doug Kramer",
        "email": "nobody@android.com",
        "time": "Sat May 30 11:58:57 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sat May 30 11:58:57 2009 -0700"
      },
      "message": "am 7363e049: AI 149404: Am sending again with the latest changes   Publish Activity and Task Design Guidelines   http://doog:9000/guide/practices/ui_guidelines/activity_task_design.html\n\nMerge commit \u00277363e049ec7c2f490acf783a979ea101df35a055\u0027 into donut\n\n* commit \u00277363e049ec7c2f490acf783a979ea101df35a055\u0027:\n  AI 149404: Am sending again with the latest changes\n"
    },
    {
      "commit": "7363e049ec7c2f490acf783a979ea101df35a055",
      "tree": "52318f5eec1c89d5afdc76d0008c30885ddda58c",
      "parents": [
        "2542c0a805b144b4c4324a749574d9ba76660557"
      ],
      "author": {
        "name": "Doug Kramer",
        "email": "nobody@android.com",
        "time": "Fri May 29 19:27:02 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 29 19:27:02 2009 -0700"
      },
      "message": "AI 149404: Am sending again with the latest changes\n  Publish Activity and Task Design Guidelines\n  http://doog:9000/guide/practices/ui_guidelines/activity_task_design.html\n\nAutomated import of CL 149404\n"
    },
    {
      "commit": "11b1675a9348adabd9370ac01ae9c614ca4af384",
      "tree": "955c42676cc70aaf1d058ebf7f2f66ebe99e2918",
      "parents": [
        "6190fe6e7d7c8a917472637f5ab2fb21fc8a6eea",
        "14f861a24af316ec6d60ef8f17c954b50a7f6fec"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:18:12 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:18:12 2009 -0700"
      },
      "message": "Merge change 2626 into donut\n\n* changes:\n  Adding TTS error code to signal missing resources (for instance missing language files).\n"
    },
    {
      "commit": "6190fe6e7d7c8a917472637f5ab2fb21fc8a6eea",
      "tree": "b26e42de335ee89851bce30d9b767c3c491604d9",
      "parents": [
        "afbc9ab3707cc8b1954333f258f220800b3cc104",
        "ef354fdd634de93004fddd7966d70f70a1351ca8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:13:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:13:34 2009 -0700"
      },
      "message": "Merge change 2758 into donut\n\n* changes:\n  Fix concat SMS for GSM.\n"
    },
    {
      "commit": "ef354fdd634de93004fddd7966d70f70a1351ca8",
      "tree": "abc075f7ddc15fd6fe79ee31aa44862a674bcf70",
      "parents": [
        "c3b7e4e7dda7a81e7f1017f17adb717ffb3d50d2"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri May 29 16:13:48 2009 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri May 29 17:11:28 2009 -0700"
      },
      "message": "Fix concat SMS for GSM.\n\nBug 1883998: We only support sending 8-bit references for now.\nBug 1885080: Also fix the GsmAlphabetTest, which started failing when SmsHeader\nwas re-worked.\n"
    },
    {
      "commit": "afbc9ab3707cc8b1954333f258f220800b3cc104",
      "tree": "5b5c4eb1a5812fd2c5b003b37c8eea4be8aeeda3",
      "parents": [
        "c3b7e4e7dda7a81e7f1017f17adb717ffb3d50d2",
        "34b234d53f9658ff7206dad6158993a1d197ffa7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:09:19 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 17:09:19 2009 -0700"
      },
      "message": "Merge change 2692 into donut\n\n* changes:\n  * Chagned RecognitionService interface to use more complex RecognitionResult instead of String.\n"
    },
    {
      "commit": "34b234d53f9658ff7206dad6158993a1d197ffa7",
      "tree": "71fcd4b1c21ed31a844b5f75ed33113bdaaf0e6b",
      "parents": [
        "e7c36dda7ada30e02f3aa9d75f282a53402aeae7"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Thu May 28 19:37:56 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Fri May 29 16:54:55 2009 -0700"
      },
      "message": "* Chagned RecognitionService interface to use more complex RecognitionResult instead of String.\n"
    },
    {
      "commit": "c3b7e4e7dda7a81e7f1017f17adb717ffb3d50d2",
      "tree": "86ee2f6b4a73afa9c722141690312b28d3ee8eb3",
      "parents": [
        "f422dc495ae092e8354b383a21f47b43ea698939",
        "867641ece36e2fd17faaea79cf19506ab17177c6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:16:22 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:16:22 2009 -0700"
      },
      "message": "Merge change 2736 into donut\n\n* changes:\n  Telephony support for SMS memory reporting to the network.\n"
    },
    {
      "commit": "f422dc495ae092e8354b383a21f47b43ea698939",
      "tree": "eb044935a4ea396131dbbee5a73dcadec3f80d20",
      "parents": [
        "2d75410f20653858f358237ae9bd09b053fe8f8f",
        "982be3be054960fbf254f225b4aeaee0310e619f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:07:45 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:07:45 2009 -0700"
      },
      "message": "Merge change 2566 into donut\n\n* changes:\n  Fix javadoc typos. No code changes.\n"
    },
    {
      "commit": "2d75410f20653858f358237ae9bd09b053fe8f8f",
      "tree": "787e85ead29553564d9042a76229edd630e9f522",
      "parents": [
        "b61ae351256518add7bcb40e0bf18337dd87195c",
        "8d78756c160bda736cccef9ca1a6e2d6a159ac42"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:03:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 15:03:25 2009 -0700"
      },
      "message": "Merge change 2748 into donut\n\n* changes:\n  Fix the build.\n"
    },
    {
      "commit": "8d78756c160bda736cccef9ca1a6e2d6a159ac42",
      "tree": "b4c2f9469cfa7d78b8495594ef62fce5eb284b27",
      "parents": [
        "a5f50b8f49cc9b34b1de462e11498d92c692b978"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "message": "Fix the build.\n"
    },
    {
      "commit": "b61ae351256518add7bcb40e0bf18337dd87195c",
      "tree": "ee9c2c1ac1a47188f8266938f5af00d6bae80a75",
      "parents": [
        "a5f50b8f49cc9b34b1de462e11498d92c692b978",
        "6d892b60dde12aff270df1b3d2809336c3fc1265"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:55:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:55:48 2009 -0700"
      },
      "message": "Merge change 2747 into donut\n\n* changes:\n  log the geomerty of surfaces causing an out of memory in SurfaceFlinger.\n"
    },
    {
      "commit": "6d892b60dde12aff270df1b3d2809336c3fc1265",
      "tree": "ae0c38b38fd6a284f27f9b4d0cc1352c96b4a690",
      "parents": [
        "004cb73a152327160614318fef0e1800ec91346d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 29 14:55:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 29 14:55:06 2009 -0700"
      },
      "message": "log the geomerty of surfaces causing an out of memory in SurfaceFlinger.\n"
    },
    {
      "commit": "a5f50b8f49cc9b34b1de462e11498d92c692b978",
      "tree": "3f0c483067be688801c01ec78427c7f3069fae2e",
      "parents": [
        "0f5179c7d333ddab729b5943766637c21d1b74db",
        "0a63716ed0e44f7cd32b81a444429318d42d8f08"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:46:02 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:46:02 2009 -0700"
      },
      "message": "Merge change 2746 into donut\n\n* changes:\n  Modify the base gestures API to use streams instead of files. Adds new wrappers to easily load/save gestures from files, resources, etc. Do the same for the letters recognizer.\n"
    },
    {
      "commit": "0a63716ed0e44f7cd32b81a444429318d42d8f08",
      "tree": "76387f19e8f6a5ff28b2429396928cb9e2bb98b1",
      "parents": [
        "7a8c437723a50b171d0cd97cb17886b28dffce92"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 14:43:54 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 14:43:54 2009 -0700"
      },
      "message": "Modify the base gestures API to use streams instead of files. Adds new wrappers to easily load/save gestures from files, resources, etc. Do the same for the letters recognizer.\n"
    },
    {
      "commit": "867641ece36e2fd17faaea79cf19506ab17177c6",
      "tree": "90125b403c6d0492a65ebd56d82566a290b77217",
      "parents": [
        "9d981343c9d187b4746ed1f3658224d9551d51c8"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Wed May 27 17:32:50 2009 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri May 29 14:22:36 2009 -0700"
      },
      "message": "Telephony support for SMS memory reporting to the network.\n\n- Use ordered broadcast to allow receivers to set a result code.\n- Ack SMS with result code.\n- New RIL command to report memory status.\n- Fixed a typo in a Gservices setting.\n- Merge in CL 137895 (hold a wake lock while broadcasting SMS_RECEIVED).\n"
    },
    {
      "commit": "0f5179c7d333ddab729b5943766637c21d1b74db",
      "tree": "b48963bc5e21a372f45a255549d615eee7a9686c",
      "parents": [
        "7a8c437723a50b171d0cd97cb17886b28dffce92",
        "8b0b174198793cabb2b3fcc015f9bfdc9d5082b5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:17:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:17:44 2009 -0700"
      },
      "message": "Merge change 2716 into donut\n\n* changes:\n  Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow passing a null surface. The API is now enabled to change the surface while the video is playing. This could allow orientation changes during playback or to allow the audio track from a video to play in the background. NOTE: There are still changes required to pmem driver to allow remapping shared physical memory into a process in order for this to work. This change only enables the API to send the appropriate calls when the lower level code supports it.\n"
    },
    {
      "commit": "7a8c437723a50b171d0cd97cb17886b28dffce92",
      "tree": "2ead5ff3b673352beed16d1747f10332ef70689b",
      "parents": [
        "d1353cc4f14a9bed49b04b0c3a6fd57784102465",
        "d1c67d42abdf41d10c9a7589da1e0088af1e123a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 13:54:39 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 13:54:39 2009 -0700"
      },
      "message": "Merge change 2737 into donut\n\n* changes:\n  Fixes #1878499.\n"
    },
    {
      "commit": "d1c67d42abdf41d10c9a7589da1e0088af1e123a",
      "tree": "a6fc0eeae8c9d694a44e598b710543a469c774f5",
      "parents": [
        "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 13:53:16 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 13:53:16 2009 -0700"
      },
      "message": "Fixes #1878499.\n\nIgnore touch up events that happen after a gesture was cancelled. This fix also improves performance by ignoring move events that are within the touch threshold.\n"
    },
    {
      "commit": "8b0b174198793cabb2b3fcc015f9bfdc9d5082b5",
      "tree": "a19ad8ea5e30a5ae94a4669fdb44ef1f35651166",
      "parents": [
        "b0ded43d3844d9d97c5d554e8ca4ec3ee2c7bbe1"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri May 29 09:01:20 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri May 29 13:51:38 2009 -0700"
      },
      "message": "Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow\npassing a null surface. The API is now enabled to change the surface while\nthe video is playing. This could allow orientation changes during playback\nor to allow the audio track from a video to play in the background.\nNOTE: There are still changes required to pmem driver to allow remapping\nshared physical memory into a process in order for this to work. This\nchange only enables the API to send the appropriate calls when the lower\nlevel code supports it.\n"
    },
    {
      "commit": "d1353cc4f14a9bed49b04b0c3a6fd57784102465",
      "tree": "b875a03a2ccee5a77eb1fd41a5a6152c4b9d777c",
      "parents": [
        "9d981343c9d187b4746ed1f3658224d9551d51c8",
        "c51ef9702d7ccd3dac15ccaeb509d1150f0a2d7f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 13:43:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 13:43:57 2009 -0700"
      },
      "message": "Merge change 2731 into donut\n\n* changes:\n  Fixes #1873537.\n"
    },
    {
      "commit": "9d981343c9d187b4746ed1f3658224d9551d51c8",
      "tree": "53c96d096f52a5540f963bbfaabb2fcd004d0c38",
      "parents": [
        "ecad93e5f3c7345febcfa078b1d2aa00a2e1fd66",
        "9ffe1ae56bf495b1ada1e9c1da523db0677d98b7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 12:29:17 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 12:29:17 2009 -0700"
      },
      "message": "Merge change 2732 into donut\n\n* changes:\n  Fix for #1878497.\n"
    },
    {
      "commit": "9ffe1ae56bf495b1ada1e9c1da523db0677d98b7",
      "tree": "dc95d38419e42c5ca094035ba2de5ab500482519",
      "parents": [
        "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 12:28:23 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 12:28:23 2009 -0700"
      },
      "message": "Fix for #1878497.\n\nAlways pre-allocate a gesture\u0027s bounding box to avoid possible NPEs.\n"
    },
    {
      "commit": "ecad93e5f3c7345febcfa078b1d2aa00a2e1fd66",
      "tree": "3296f876d9b442a569bb39d6d08113c8eeac6ef9",
      "parents": [
        "a3d28bd5c278f750c70f2b87fce23df221cd4a01",
        "51e03642cee5a695d6ff6f5b318925efcab05100"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 12:19:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 12:19:34 2009 -0700"
      },
      "message": "Merge change 2685 into donut\n\n* changes:\n  Change code coverage to write to app data folder rather than sdcard.\n"
    },
    {
      "commit": "c51ef9702d7ccd3dac15ccaeb509d1150f0a2d7f",
      "tree": "8d147eafe2b5ed67d431d877d4ef64c6c4d564af",
      "parents": [
        "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 12:05:11 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 12:05:11 2009 -0700"
      },
      "message": "Fixes #1873537.\n\nOnly update the popup window when it is shown. This avoids throwing an NPE in PopupWindow.\nA PopupWindow is only aware of its content view after being shown.\n"
    },
    {
      "commit": "a3d28bd5c278f750c70f2b87fce23df221cd4a01",
      "tree": "1d20b6c443779fe30f13efe18d5ee469725e7c50",
      "parents": [
        "e32edc614e62ac874a969d3cc6bb1e0c0c3f2607",
        "45515659438964ec47f4feac247f0e9dce587c86"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 11:48:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 11:48:34 2009 -0700"
      },
      "message": "Merge change 520 into donut\n\n* changes:\n  Enforce permissions for PhoneStateListener events.\n"
    },
    {
      "commit": "45515659438964ec47f4feac247f0e9dce587c86",
      "tree": "20591901118276470ed49591d9387b0f5c8e97ab",
      "parents": [
        "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Apr 23 15:20:21 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri May 29 11:38:00 2009 -0700"
      },
      "message": "Enforce permissions for PhoneStateListener events.\n\nPhoneStateListener events like LISTEN_CALL_STATE_CHANGED,\nhave privacy information like phone numbers and hence,\nneed to be protected with a permission. The permission\nREAD_PHONE_STATE is used for this purpose. Use the permission\ntrick to ensure backward compatability.\n"
    },
    {
      "commit": "e32edc614e62ac874a969d3cc6bb1e0c0c3f2607",
      "tree": "acab5f1e9471f7ed7daae85aee60d827794ed8ee",
      "parents": [
        "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 10:33:36 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 10:33:36 2009 -0700"
      },
      "message": "Fixes #1884152. This change improves how the opaque property is handled with respect to dividers.\n\nIf the list is opaque and its background is not, then we want to fill a solid rect where the dividers should be when they are skipped for non-selectable items. When the list is opaque and the background is also opaque, there is no need to draw something in lieu of the dividers since the background will do it for us.\n"
    },
    {
      "commit": "d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea",
      "tree": "778c55a06ea61da579a838b523fef05c55462197",
      "parents": [
        "761e0918d30b6a3f292625b44b86dffd1538bc78",
        "551603f0eca257f3c90668ef222403478f4c0880"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 09:40:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 09:40:23 2009 -0700"
      },
      "message": "Merge change 2706 into donut\n\n* changes:\n  Fix issue 1883666: Audio coming from the music player stopped suddenly\n"
    },
    {
      "commit": "761e0918d30b6a3f292625b44b86dffd1538bc78",
      "tree": "6b2cdf84b7ad5244391b18b4dbe524f071da0f29",
      "parents": [
        "9fc2e9c965c68d56a0caf812f7f6d38d15317063"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 11:46:12 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 13:28:14 2009 +0100"
      },
      "message": "Unmap memory in MemoryFile.close().\n\nAs reported in http://b/issue?id\u003d1398215 MemoryFile did not\nmunmap(2) the ashmem region after closing it. This\ncauses the process to leak virtual address space.\n\nThis change fixes the problem by calling munmap(2) in\nclose(). The unmapping is done by a helper method deactivate().\nThe change also replaces the use of an int for the\nfile descriptor with a FileDescriptor object to\nmake sure that we keep track of when the file descriptor\nhas been closed. I chose to implement it this way because I\nwill need decativate() and a FileDescriptor object in an\nupcoming change that allows sending MemoryFile file\ndescriptors between processes.\n\nThe change also adds a number of tests for the behavior\nof close(). The testCloseRead() and testCloseWrite() fail\nwith the old MemoryFile implementation, and testCloseLeak()\ncauses a segfault. They all pass now.\n"
    },
    {
      "commit": "551603f0eca257f3c90668ef222403478f4c0880",
      "tree": "25a317550f2ad9c7f5a25a0bef6f9f81f40ed81a",
      "parents": [
        "607384d45fae5c9c2b21c96e4278665c8d7d3006"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 02:03:21 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 02:03:21 2009 -0700"
      },
      "message": "Fix issue 1883666: Audio coming from the music player stopped suddenly\n\nThe problem comes from the code handling the automatic change of audio routing to speaker when notifications are played. The music is also muted while the sound is forced to speaker.\nTo avoid truncating the end of the notification, a delay is inserted between the end of the notification and the restoration of the audio routing.  If a new notification starts during this delay, the current music mute state read and saved before muting music corresponds to the forced mute due to previous notification. When the new notification ends, the mute state restored is muted and music stream stays muted for ever.\n\nThe fix consists in reading and saving music mute state only if the audio routing has been restored (check that mForcedRoute is back to 0).\n"
    }
  ],
  "next": "9fc2e9c965c68d56a0caf812f7f6d38d15317063"
}
