)]}'
{
  "log": [
    {
      "commit": "7c5ae202c53be1ab4881a6811aa5bd091c3aef10",
      "tree": "09b923df422ef48fc0075ac457c06e08b40ccf09",
      "parents": [
        "a642e313988ec7f9e732ead00edbded8b57d7452",
        "ee0e78af5af3bf23dd928fe5e0ebeb39157eaf66"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:10:42 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:10:42 2009 -0700"
      },
      "message": "Merge change 6104 into donut\n\n* changes:\n  Add a \"clear backed-up data\" method to the backup mechanism\n"
    },
    {
      "commit": "a642e313988ec7f9e732ead00edbded8b57d7452",
      "tree": "c8a758e4b5ee26b768bb9f78fa4c234ed59a9b41",
      "parents": [
        "c7396025e59524e7ef639fd86fc23123939ee91c",
        "99a0feecd0f0aad314d7a4637d329b8a9e8c1150"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:31:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:31:14 2009 -0700"
      },
      "message": "Merge change 6090 into donut\n\n* changes:\n  Adding strings for data root and data files - these are needed for returning this information in an Intent from checkVoiceData.\n"
    },
    {
      "commit": "ee0e78af5af3bf23dd928fe5e0ebeb39157eaf66",
      "tree": "d364ee20d633ea67a5cf6e82e3f67e1e3bd7feb8",
      "parents": [
        "c7396025e59524e7ef639fd86fc23123939ee91c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 11:17:03 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 11:30:29 2009 -0700"
      },
      "message": "Add a \"clear backed-up data\" method to the backup mechanism\n\nIt\u0027s now possible to ask that the backup manager wipe the saved data for a given\napplication from the backing store.  LocalTransport implements this now but the\nGoogle backend does not yet.  When the data is wiped, the on-device backup state\nis also wiped to ensure that the next backup pushes all necessary data.\n\nBmgr has not yet been modified to actually call into this method, but it will\nbe soon.\n"
    },
    {
      "commit": "99a0feecd0f0aad314d7a4637d329b8a9e8c1150",
      "tree": "ebabb368763e275416a58f6ea2cd3fb949d3e076",
      "parents": [
        "7de4bd9b40d80fd68fc746efd645e3df7442acea"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 10:41:51 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 11:29:26 2009 -0700"
      },
      "message": "Adding strings for data root and data files - these are needed\nfor returning this information in an Intent from checkVoiceData.\n"
    },
    {
      "commit": "c7396025e59524e7ef639fd86fc23123939ee91c",
      "tree": "ec0f2b85cab7a18753f1597e612fc28738d4a142",
      "parents": [
        "d3de90f38d779d28a724e89297c83e6ba1a66fa7",
        "a1b653d41df9a7999e1dba2a508295671ff6771d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:00:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:00:41 2009 -0700"
      },
      "message": "Merge change 6084 into donut\n\n* changes:\n  Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "a1b653d41df9a7999e1dba2a508295671ff6771d",
      "tree": "74c7c4639f56b4aab2e076eaadb7d436cab68113",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "message": "Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "220f4d633be1098e7887dbd06f179138bf19f1ad",
      "tree": "31e4a5379beddf0dbf492ba7047b4005a103365a",
      "parents": [
        "d45dcbec856710f9478ffc5689e7cdf95d757ab8"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 02:34:14 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 04:58:09 2009 -0700"
      },
      "message": "System and Secure settings backup.\n\nThis backs up the basic system and secure settings. THe restoration doesn\u0027t\ntake effect immediately. You many need to restart the runtime to see all\nrestored values take effect.\n"
    },
    {
      "commit": "d7cd29da91ccc0aba1f1097e19366f9ca36c7ce1",
      "tree": "03869e5efe3791758b0e9da9d029373ec1653cb2",
      "parents": [
        "cf098294da7a820d5c30d8ed2006ed5446ee1da9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 11:22:45 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 20:20:47 2009 -0700"
      },
      "message": "Add facility to run setup wizard after an update.\n\nThe system now keeps a tag of the last version (just an arbitrary string)\nthat the setup wizard was run for.  If this is different than the current\none in the setup wizard, then setup is launched at boot.\n\nThis introduces a new intent action for the part of the setup wizard that\ngets run for an ungrade, which the system uses to find its current version\ntag for comparing against what was last stored.  It is up to the launched\nsetup activity update the stored setting to reflect its current value,\nonce it is happy.\n"
    },
    {
      "commit": "cf098294da7a820d5c30d8ed2006ed5446ee1da9",
      "tree": "d53913b8c355c15da25d2ab8708eeee94e6cf7ab",
      "parents": [
        "2bbb80e183c6492689f8b10b2d0f5dfe9872a6ac"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 19:55:20 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 20:12:36 2009 -0700"
      },
      "message": "Move backup state to settings, change permission checks to use symbol.\n\nThis changes the backup service to use the settings provider instead\nof system properties, correspondingly making it off by default and\nallowing specific devices to define the transport.  Also tweaks\nthe permission checks to use the permission symbol instead of raw\nstrings.\n\nThis requires some corresponding changes in the vendor projects.\n"
    },
    {
      "commit": "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4",
      "tree": "055ff8aa0729e942105686135b0197f3bca3ae35",
      "parents": [
        "392282f1e01518491c6536d931500c4bfac7f24f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 01 17:20:08 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 01 17:21:12 2009 -0700"
      },
      "message": "Cleanup a bunch of warnings in app widgets code.\n"
    },
    {
      "commit": "8dd02090cec0743bb1987c2cf21f974ab2e075da",
      "tree": "8976f987d6228d89abfdfdcb5973828d1f3872bc",
      "parents": [
        "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe",
        "c08dd9e27e864c03f77c3b031812969f3f9a97b1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:04:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:04:32 2009 -0700"
      },
      "message": "Merge change 5940 into donut\n\n* changes:\n  Add CLDR data/formats for newly-translated locales.\n"
    },
    {
      "commit": "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe",
      "tree": "cb0a8d954f69f79c9fb57d959d74ce182301ea8f",
      "parents": [
        "54af78a3f7064e04d7ebd64c985d4149f9f7b05c",
        "8f25c426b118c35f558cbf27bd413e1eb6d59823"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:53:04 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:53:04 2009 -0700"
      },
      "message": "Merge change 5906 into donut\n\n* changes:\n  resolve complex value in application context instead of system context.\n"
    },
    {
      "commit": "54af78a3f7064e04d7ebd64c985d4149f9f7b05c",
      "tree": "319681ef2905159095a4aa89f1165058b22bbca8",
      "parents": [
        "49401ddb9ac11ad5caead4e4cefcaa81d2418ed2",
        "fff2fda0199dedbf1079454dca98a81190dce765"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:52:39 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:52:39 2009 -0700"
      },
      "message": "Merge change 5950 into donut\n\n* changes:\n  Fix memory leaks in system_server unlink DeathRecipients in a whole bunch of places to avoid memory leaks\n"
    },
    {
      "commit": "fff2fda0199dedbf1079454dca98a81190dce765",
      "tree": "c45c5960e5c3469b36b5d728378a1aa901d1ec4e",
      "parents": [
        "c56096fe1fe3486102079f06ca5de3e2bef12e47"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jun 30 21:36:16 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jul 01 12:55:30 2009 -0700"
      },
      "message": "Fix memory leaks in system_server\nunlink DeathRecipients in a whole bunch of places to avoid memory leaks\n"
    },
    {
      "commit": "c08dd9e27e864c03f77c3b031812969f3f9a97b1",
      "tree": "ba8151790537ad598eb87170794247ba1e0be2c2",
      "parents": [
        "74dc3e4a1e4f9c4eed3a3619ffc8beff30b3ec0f"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 11:10:35 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 11:10:35 2009 -0700"
      },
      "message": "Add CLDR data/formats for newly-translated locales.\n"
    },
    {
      "commit": "1b1a6e406c4233b309baee85e14f5a563ca63c48",
      "tree": "d0ffc3fabf151929ad734d5b5a52a2cec8c60910",
      "parents": [
        "fef8d3e4d8f6f46c098d04b3a57409c947ec1c75"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 19:06:24 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 19:08:05 2009 +0100"
      },
      "message": "Fix build break by adding an @hide javadoc comment.\n"
    },
    {
      "commit": "fef8d3e4d8f6f46c098d04b3a57409c947ec1c75",
      "tree": "152d5b23718ae8d019dd85886429db8c32987245",
      "parents": [
        "74dc3e4a1e4f9c4eed3a3619ffc8beff30b3ec0f"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 17:48:42 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 17:55:31 2009 +0100"
      },
      "message": "Make search UI open up quicker to the user.\n\nOn invoking the search UI, the drop down list box with past queries and shortcut items\nappears after a few hundreds of milliseconds on screen. This was because we were\ndisplaying the drop down within the onFilterCompleted callback after the list box filtered\nthe items based on the given query text. While that code path is necessary, for the first\ninvocation of the search dialog with an empty query we can show the list box before the\ntext stuff happens. This change does that, issuing an async request to show the drop\ndown after pending events have been processed.\n\nWithout this change, on an average it took 350ms for the code to show the drop down.\nWith this change, on an average it takes 150ms.\n"
    },
    {
      "commit": "50d87fbd691a59759d5bbe12284d322f9fa967dd",
      "tree": "369668e4cbd3c38e3a7366d44d8ecc0f4c1e80e3",
      "parents": [
        "c56096fe1fe3486102079f06ca5de3e2bef12e47",
        "735b333bf6d297700718afd669e1c9e374d0c6e6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 08:51:31 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 08:51:31 2009 -0700"
      },
      "message": "Merge change 5879 into donut\n\n* changes:\n  Represent new searchSettingsDescription attribute on searchables in SearchableInfo.\n"
    },
    {
      "commit": "8f25c426b118c35f558cbf27bd413e1eb6d59823",
      "tree": "1dc53d22e856c9f15afabfdef4c3a957652a129b",
      "parents": [
        "083928fefde7060eb69f7f45cd8e2180efa9bfe1"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jul 01 00:10:43 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jul 01 00:10:43 2009 -0700"
      },
      "message": "resolve complex value in application context instead of system context.\n"
    },
    {
      "commit": "c56096fe1fe3486102079f06ca5de3e2bef12e47",
      "tree": "fc4ace607cf39b7b511f43a1781761ea2a8dac15",
      "parents": [
        "65363830c1e5ca8c59b6e12b4b43a3f03688ca2e",
        "f763e8f42df8e99b84420c80eaff24b3573ff0bc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 18:44:12 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 18:44:12 2009 -0700"
      },
      "message": "Merge change 5878 into donut\n\n* changes:\n  Add new attribute \u0027searchSettingsDescription\u0027 for use within an app\u0027s searchable.xml. This attribute defines the string to be shown as the description a searchable in the \u0027searchable items\u0027 section of system search settings.\n"
    },
    {
      "commit": "735b333bf6d297700718afd669e1c9e374d0c6e6",
      "tree": "b77afbc428773e21a04acecf79ee88357367d630",
      "parents": [
        "f763e8f42df8e99b84420c80eaff24b3573ff0bc"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:27:40 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:27:40 2009 -0700"
      },
      "message": "Represent new searchSettingsDescription attribute on searchables in\nSearchableInfo.\n"
    },
    {
      "commit": "f763e8f42df8e99b84420c80eaff24b3573ff0bc",
      "tree": "6171508b99ea7e11e217ee02a8e378445e6d59e3",
      "parents": [
        "f9eca3d43aed870774633a176aa691d3e530a12b"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "message": "Add new attribute \u0027searchSettingsDescription\u0027 for use within an app\u0027s\nsearchable.xml. This attribute defines the string to be shown as the\ndescription a searchable in the \u0027searchable items\u0027 section of system\nsearch settings.\n"
    },
    {
      "commit": "b0b815da8c487bbfac6b2eadc91c619682720a71",
      "tree": "b00997545367253620244e677088f25fa05afa8f",
      "parents": [
        "daa5a21562cb4b1fda21400bc638be4d6b7f5825",
        "58b971d733a2c700cabd3db02b6ea4d5faca6939"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:44:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:44:07 2009 -0700"
      },
      "message": "Merge change 5845 into donut\n\n* changes:\n  Always clear the TextView drag state whenever a touch begins.\n"
    },
    {
      "commit": "58b971d733a2c700cabd3db02b6ea4d5faca6939",
      "tree": "9e1a09aacc31af2a2671dfa4d8248fd72bc7de96",
      "parents": [
        "1dac277f93a80c53a870b8924508dd2af81293de"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 30 15:22:51 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 30 15:22:51 2009 -0700"
      },
      "message": "Always clear the TextView drag state whenever a touch begins.\n\nApparently it can sometimes miss a touch release, which would prevent\nthe longpress menu from appearing if the location of the new touch was\ntoo far from the location of the previous touch.\n\nBug 1673223\n"
    },
    {
      "commit": "f3ab3c3437f18834ce63542062c2ed7a87a05fca",
      "tree": "e86c2eba8a0f4772ea9f8cdc2ffab52f34e5d932",
      "parents": [
        "f9eca3d43aed870774633a176aa691d3e530a12b",
        "09b3373d83a0f582eae46562bc307022c64ac497"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:35:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:35:59 2009 -0700"
      },
      "message": "Merge change 5833 into donut\n\n* changes:\n  Fix nit on length of flag constant.\n"
    },
    {
      "commit": "09b3373d83a0f582eae46562bc307022c64ac497",
      "tree": "ddec6deb0680894a930d2cb8b28a7b86275f13da",
      "parents": [
        "b0cba433057857ab61d2231a979a50c2b999f9e7"
      ],
      "author": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Tue Jun 30 13:52:45 2009 -0700"
      },
      "committer": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Tue Jun 30 14:09:33 2009 -0700"
      },
      "message": "Fix nit on length of flag constant.\n"
    },
    {
      "commit": "d8de2ba42679a10db2adc11995d6596a0045ab3a",
      "tree": "b81fa5a4a51a92d00969fa4cb5b74de4af2ab165",
      "parents": [
        "1dac277f93a80c53a870b8924508dd2af81293de",
        "b0cba433057857ab61d2231a979a50c2b999f9e7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:48:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:48:14 2009 -0700"
      },
      "message": "Merge change 5750 into donut\n\n* changes:\n  Add a new checkin server flag for Vending Machine client server ping frequency for pending downloads.\n"
    },
    {
      "commit": "1dac277f93a80c53a870b8924508dd2af81293de",
      "tree": "ec4687e36a6703c0ffe9434748a5fe66975b42e7",
      "parents": [
        "9848f11fd8788b985330183aeb83cc589b8b14ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 18:16:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:40:51 2009 -0700"
      },
      "message": "Implement issue #1943927 (need notification in status bar when adb is active)\n\nThis is a little hacky -- we just assume that if adb is enabled and power\nis connected through usb, then it is active.\n\nThe icons and text are temporary until final design is provided.\n"
    },
    {
      "commit": "d0cbb1a52d1b2b8b04a122501d696938b295e502",
      "tree": "1199f1d0f5ee25175a6d3441654e4c9e56a36e33",
      "parents": [
        "72d19aa51e90d45c7895629db78e548da2f6d469"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Jun 29 19:03:33 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 30 13:20:30 2009 -0700"
      },
      "message": "Check to make sure the Java camera object is still valid on the\ncallback from native. Omitted from previous fix. Bug 1936850.\n"
    },
    {
      "commit": "b5537c452271634b6ff3981b0624fa65384abd5b",
      "tree": "66159c3caed7ad21c6afb61974b77278d32097aa",
      "parents": [
        "2f8d58b7ae2b9dc60eed83e5dddc8c28223e1ede"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "message": " Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "5fb4cab2db174bff5e28a3a2c6f50c07e0f7a845",
      "tree": "46c3b79bdf1b8c05982a66c4939f91af1b7a4b58",
      "parents": [
        "b8a10fe45657f2dcc50cae8a06805f8438a6937e",
        "2f189fa0f75d6899b9fa7db11f5301bc7850b744"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 10:57:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 10:57:18 2009 -0700"
      },
      "message": "Merge change 5787 into donut\n\n* changes:\n  Fix http://code.google.com/p/android/issues/detail?id\u003d3059\n"
    },
    {
      "commit": "b8a10fe45657f2dcc50cae8a06805f8438a6937e",
      "tree": "4391154a42118f9872199fa4467f966c623e29a5",
      "parents": [
        "33a7030f56d83126baa656820bf884ea02772751"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 23 23:37:36 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 01 01:41:25 2009 +0800"
      },
      "message": "Allow setPreviewDisplay after startPreview.\n"
    },
    {
      "commit": "2f189fa0f75d6899b9fa7db11f5301bc7850b744",
      "tree": "3266c190944a0916b9c326f0b8eec44167fd6f89",
      "parents": [
        "bd1e8aa502a6d9231e2a1399cee18debcf70b3d6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 30 10:32:00 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 30 10:32:00 2009 -0700"
      },
      "message": "Fix http://code.google.com/p/android/issues/detail?id\u003d3059\n"
    },
    {
      "commit": "7a5738624fa78e328b5f36c687c20b9cf0eb5a60",
      "tree": "a8c5e9dabb9f90b597b06c77fe31fff4496d3715",
      "parents": [
        "083928fefde7060eb69f7f45cd8e2180efa9bfe1",
        "65c0fc4fc445374c7f6e2106e6ed3d6191e45cae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 07:06:50 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 07:06:50 2009 -0700"
      },
      "message": "Merge change 5720 into donut\n\n* changes:\n  Fix #1876303. Even rfc2616 4.2 says that \"Field names are case-insensitive.\", servers including Google internal uses case-sensitive checking for \"Cookie\". So change it.\n"
    },
    {
      "commit": "b0cba433057857ab61d2231a979a50c2b999f9e7",
      "tree": "92e5a21d79214c687db60478d1bd395634cf4be4",
      "parents": [
        "083928fefde7060eb69f7f45cd8e2180efa9bfe1"
      ],
      "author": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Mon Jun 29 20:50:25 2009 -0700"
      },
      "committer": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Mon Jun 29 20:50:25 2009 -0700"
      },
      "message": "Add a new checkin server flag for Vending Machine client server ping frequency for pending downloads.\n"
    },
    {
      "commit": "aa4f1f9edc94851a5892ba94af94002018821ddc",
      "tree": "350e400a5265a1e4e570fc34442f5614de8dc873",
      "parents": [
        "22e8cbc32bd642bcb3e9b6f161ec662bcf45ff70",
        "ddb0a803fd353fbaf0139cc8804499bc9dce7403"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 17:26:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 17:26:32 2009 -0700"
      },
      "message": "Merge change 5711 into donut\n\n* changes:\n  Adding in TTS service support for language query and level of support.\n"
    },
    {
      "commit": "22e8cbc32bd642bcb3e9b6f161ec662bcf45ff70",
      "tree": "945fb40056c686be4a02add5b4bc69714ad91359",
      "parents": [
        "27a8e07e4a10d3754c696cf5b0d947b7bdaea187",
        "86d56cca9ce23b0f4814418d7c71ec11ea9fd278"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 17:13:49 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 17:13:49 2009 -0700"
      },
      "message": "Merge change 5656 into donut\n\n* changes:\n  Generate key events for actions sent to generic input connections.\n"
    },
    {
      "commit": "65c0fc4fc445374c7f6e2106e6ed3d6191e45cae",
      "tree": "4fccea1f7857917dc4f4ed36599491c044956342",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jun 29 17:03:42 2009 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jun 29 17:03:42 2009 -0700"
      },
      "message": "Fix #1876303. Even rfc2616 4.2 says that \"Field names are case-insensitive.\", servers including Google internal uses case-sensitive checking for \"Cookie\". So change it.\n"
    },
    {
      "commit": "ddb0a803fd353fbaf0139cc8804499bc9dce7403",
      "tree": "72bc3de2db1b608a093828071db927ebcf852f80",
      "parents": [
        "27a8e07e4a10d3754c696cf5b0d947b7bdaea187"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 29 16:38:47 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 29 16:58:32 2009 -0700"
      },
      "message": "Adding in TTS service support for language query and level of support.\n"
    },
    {
      "commit": "27a8e07e4a10d3754c696cf5b0d947b7bdaea187",
      "tree": "fb00aaed6a0392b8e1babf840a65b3f03e0e9544",
      "parents": [
        "bda04135ee9375d5a6b2bf00e464c3ae69ae9ab4",
        "5c22f516be7753859f62ca3ff5327c453ee26faa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:26:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:26:57 2009 -0700"
      },
      "message": "Merge change 5699 into donut\n\n* changes:\n  Adding status return codes for TTS calls.\n"
    },
    {
      "commit": "5c22f516be7753859f62ca3ff5327c453ee26faa",
      "tree": "022b9be488a8e66c67d340d0113dbd2105134e71",
      "parents": [
        "3a608f829b54a7653c9cc2b3bdbda0641cca37bb"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jun 29 15:52:47 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jun 29 16:25:58 2009 -0700"
      },
      "message": "Adding status return codes for TTS calls.\n"
    },
    {
      "commit": "ab4748c62d106d9cbc27c88ccd3d2bbda8e451bd",
      "tree": "919f6034276d70c99f45e4d606e1f06b341940f8",
      "parents": [
        "48d4f673001160df8feae3185a603f320c000e1b",
        "6ef58a1509b9d3348a33ca5686917796c2759aa5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:35:11 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:35:11 2009 -0700"
      },
      "message": "Merge change 5694 into donut\n\n* changes:\n  Implement persistent enable/disable of the backup manager\n"
    },
    {
      "commit": "48d4f673001160df8feae3185a603f320c000e1b",
      "tree": "8c53c5d343582b59663d16da1f1147298e44f6f9",
      "parents": [
        "3a608f829b54a7653c9cc2b3bdbda0641cca37bb",
        "48d2c4a90415f790e6c2e5285ac0798422f8d5af"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:34:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:34:05 2009 -0700"
      },
      "message": "Merge change 5692 into donut\n\n* changes:\n  Adjust the character picker layout a little so it will fit on the screen.\n"
    },
    {
      "commit": "6ef58a1509b9d3348a33ca5686917796c2759aa5",
      "tree": "0cdfef7bf8e2085dc2888c4222aba7481683ee2f",
      "parents": [
        "3a608f829b54a7653c9cc2b3bdbda0641cca37bb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 29 14:56:28 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 29 15:33:27 2009 -0700"
      },
      "message": "Implement persistent enable/disable of the backup manager\n\nBackup \u0026 restore is still enabled by default, but with the expectation that it\nwill be enabled during the course of the Setup Wizard or some other privileged\nentity that has notified the user about the ramifications.  While disabled,\ndata-changed notices will still be collected, but no backup pass will be\nscheduled.  When the backup manager is later enabled, any pending data-changed\nnotices will then be processed and the apps invoked for backup.\n"
    },
    {
      "commit": "48d2c4a90415f790e6c2e5285ac0798422f8d5af",
      "tree": "2966f6572e8a6013f58d04af972c1b8e20f0e1b7",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jun 29 15:30:11 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jun 29 15:30:11 2009 -0700"
      },
      "message": "Adjust the character picker layout a little so it will fit on the screen.\n\nPreviously when there were three rows of characters, the Cancel button\nwould hang off the edge a little.\n\nBug 1747709\n"
    },
    {
      "commit": "3a608f829b54a7653c9cc2b3bdbda0641cca37bb",
      "tree": "53c51466f6842c3d2dc6efd17a439a57b3e0e64f",
      "parents": [
        "52bce9c4e7b66ee0a8e1bc5ea7798cf5892b4f23",
        "baac46339da03aed166e8a4240ad063caad019ad"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 14:29:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 14:29:23 2009 -0700"
      },
      "message": "Merge change 5684 into donut\n\n* changes:\n  Fixes #1940605. MeasureSpec\u0027s mode and height were inverted in RelativeLayout.\n"
    },
    {
      "commit": "baac46339da03aed166e8a4240ad063caad019ad",
      "tree": "b66a9b317202c10fd4ebdf3ba1dbe0cbde0eb8e5",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 29 14:28:29 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 29 14:28:29 2009 -0700"
      },
      "message": "Fixes #1940605. MeasureSpec\u0027s mode and height were inverted in RelativeLayout.\n\nAlso bumps up the cache\u0027s number of Nodes.\n"
    },
    {
      "commit": "52bce9c4e7b66ee0a8e1bc5ea7798cf5892b4f23",
      "tree": "b8a78045b6feaa79079bf5154bc9fd0fe01385cd",
      "parents": [
        "9032ab8e2d42882ea79eabac33c5c2a09565b982",
        "e11232287296eefc82cd895b8392079feedb37cc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 14:26:31 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 14:26:31 2009 -0700"
      },
      "message": "Merge change 5680 into donut\n\n* changes:\n  Fixes #1949502. Prevents an NPE in View.buildDrawingCache().\n"
    },
    {
      "commit": "e11232287296eefc82cd895b8392079feedb37cc",
      "tree": "905ed73b8960f7cfe6ce2bad7407e9f1f2264d72",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 29 14:24:56 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 29 14:26:04 2009 -0700"
      },
      "message": "Fixes #1949502. Prevents an NPE in View.buildDrawingCache().\n"
    },
    {
      "commit": "86d56cca9ce23b0f4814418d7c71ec11ea9fd278",
      "tree": "243efa786bd7e18843e619d0348edc81168666b4",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 29 12:00:39 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 29 12:00:39 2009 -0700"
      },
      "message": "Generate key events for actions sent to generic input connections.\n\nThere is a compatibility issue with the cupcake IME where the generic\ninput connection would just consume actions.  Late in cupcake this\nstuff was reworked so that the IME would send an action command\nto the app instead of an enter key event, and the compatibility code\ngot lost.\n"
    },
    {
      "commit": "8aeaf2e079a1776c5b17f95bf7ad401966f2beef",
      "tree": "07ace523be3ddc0109e1d770f36c8d347f61710d",
      "parents": [
        "c25dbf88fc21c707b72502c43695c2c31ff22a23"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 29 14:46:30 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 29 14:46:30 2009 -0400"
      },
      "message": "The BACKUP permission should have the signatureOrSystem protectionLevel,\nbecause the setup wizard isn\u0027t signed by the same cert as the framework.\n"
    },
    {
      "commit": "c25dbf88fc21c707b72502c43695c2c31ff22a23",
      "tree": "30c92daa99b1bf3a1264569b5f252d61e60f68b0",
      "parents": [
        "9171749700853305f3e6abbcdbd9e02f3a71d459"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Sun Jun 28 16:00:23 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Sun Jun 28 16:01:58 2009 +0800"
      },
      "message": "add comment about endianness\n"
    },
    {
      "commit": "9171749700853305f3e6abbcdbd9e02f3a71d459",
      "tree": "7aaa1fada6783a588d1662165730e8d3f4ef591c",
      "parents": [
        "4cb1276e143e175590c69ceefa58eb721aa52846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 26 21:07:13 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 26 21:14:41 2009 -0700"
      },
      "message": "Use system properties to track the current transport\n\nThis change retools the transport selection mechanism a fair bit.  Transports\nare now specified by name rather than by numeric ID, and the name of the\ncurrently selected transport is stored in a persistent system property under the\nname \"persist.service.bkup.trans\".\n\nThe name -\u003e IBackupTransport translation is now handled by maintaining a map\nfrom the names to the live IBackupTransport objects that correspond.  The Google\ntransport service observer now registers and unregisters the transport as the\nservice goes up and down.\n\nThe bmgr command has been expanded to include real transport interrogation and\nselection by name, and some documentation has been written for it.\n"
    },
    {
      "commit": "f4f7046183f0daedd17703fa16cf9026442bdaee",
      "tree": "087091380d36069f9be408222ac96844dac0e64a",
      "parents": [
        "fbd8f69a84163ef1cf52b07966320caf448c2bc9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 16:55:54 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 19:21:54 2009 -0700"
      },
      "message": "Update spinner\u0027s drawables. Clean up resources, pave the way for new animation.\n"
    },
    {
      "commit": "fbd8f69a84163ef1cf52b07966320caf448c2bc9",
      "tree": "463069b756b53fb2a1bb221f158f071d4e2d990a",
      "parents": [
        "a1590586e4c02e50d14cc99018be2c419f5a07b9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 14:51:58 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 16:56:32 2009 -0700"
      },
      "message": "Fixes #1946141. Introduce new caching API to control scaling.\n\nThis change fixes issues with existing applications that access the drawing cache\ndirectly. The API now lets application choose whether they want to get a scaled\ndrawing cache or not. The framework relies on the scaled cache for quality\npurposes.\n"
    },
    {
      "commit": "a1590586e4c02e50d14cc99018be2c419f5a07b9",
      "tree": "4f10aa66cd1090cd8a5ace7f6db5199889e2a062",
      "parents": [
        "3059924953dafdd94dce65d8be42e98fcde305b8",
        "74d909565beece0049ab45b2def48c792aa1bb3d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:38:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:38:51 2009 -0700"
      },
      "message": "Merge change 5578 into donut\n\n* changes:\n  Add new EXTRA_POST_DATA extra key for use in VIEW intents to Browser. In a followup change, Grace will need to remove EXTRA_APPEND_LOCATION as we are replacing that with this.\n"
    },
    {
      "commit": "74d909565beece0049ab45b2def48c792aa1bb3d",
      "tree": "376d1831a911fa49b1add5de911c20cfb0db4eed",
      "parents": [
        "5e8a4b842c20dd47b82e9915f1bd730ee1b0d46d"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 26 16:02:13 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 26 16:38:03 2009 -0700"
      },
      "message": "Add new EXTRA_POST_DATA extra key for use in VIEW intents to Browser.\nIn a followup change, Grace will need to remove EXTRA_APPEND_LOCATION\nas we are replacing that with this.\n"
    },
    {
      "commit": "3059924953dafdd94dce65d8be42e98fcde305b8",
      "tree": "2500d8b2c87c59de8699712d72156bbe5cab5feb",
      "parents": [
        "3a15fbd7df56e44060c78d7832fbea895ceb9bbf",
        "d4989093ed708ddf9c799655ea0af7afda726426"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:24:03 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:24:03 2009 -0700"
      },
      "message": "Merge change 5570 into donut\n\n* changes:\n  Adding implementation of IPA to the TextToSpeech.java\n"
    },
    {
      "commit": "3a15fbd7df56e44060c78d7832fbea895ceb9bbf",
      "tree": "bad58a1ad3f2220631d16807634dc53b70f368fd",
      "parents": [
        "a013a98f93fd5ced58cf76dcc2bd6ab2ca95dd92",
        "d072154bddbfda8eb99a65b724922785f896f8eb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:23:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 16:23:51 2009 -0700"
      },
      "message": "Merge change 5581 into donut\n\n* changes:\n  Add a null check in an AutoCompleteTextView callback to prevent a crash.\n"
    },
    {
      "commit": "d072154bddbfda8eb99a65b724922785f896f8eb",
      "tree": "d0075b2e4b85d40ec5fa366a1300f7caa434c159",
      "parents": [
        "d09f86ce175fad6ddbd446363f327dfa0575a1d2"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Jun 26 16:14:59 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Jun 26 16:14:59 2009 -0700"
      },
      "message": "Add a null check in an AutoCompleteTextView callback to prevent a crash.\n\nIt looks like the drop down list had already been taken down before the\ncallback fired so it caused a null pointer exception.  In this case just\ndo nothing instead.\n\nBug 1927858\n"
    },
    {
      "commit": "a013a98f93fd5ced58cf76dcc2bd6ab2ca95dd92",
      "tree": "6ea832ebdb78476b47abacf8fe2e2936aa51902e",
      "parents": [
        "f7c886b4fe27cd9ab4a9991958ff931054556a24"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jun 26 16:03:46 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jun 26 16:05:33 2009 -0700"
      },
      "message": "Fix the nested preferences title. Again.\n\nMade a mistake when refactoring just before checkin. ! ?\n"
    },
    {
      "commit": "d4989093ed708ddf9c799655ea0af7afda726426",
      "tree": "f8bce2ac51ad019c287a811beddefff89f1a1f35",
      "parents": [
        "ec0cf8bc874f53cfc7256628f0ec56657ac92073"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 26 15:32:46 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 26 15:56:10 2009 -0700"
      },
      "message": "Adding implementation of IPA to the TextToSpeech.java\n"
    },
    {
      "commit": "ec0cf8bc874f53cfc7256628f0ec56657ac92073",
      "tree": "d65909955e7ccea6d7485162f17934b1d87261b6",
      "parents": [
        "ae3522734ef83254626cacee18a9490f6af62415",
        "f032bc7da536774a0b6a1c77632c65b935eee6fa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 15:20:36 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 15:20:36 2009 -0700"
      },
      "message": "Merge change 5554 into donut\n\n* changes:\n  Adding in the playSilence method to TextToSpeech.java\n"
    },
    {
      "commit": "f032bc7da536774a0b6a1c77632c65b935eee6fa",
      "tree": "5ec5020532fb8b4fb9559782ae5a813841e28135",
      "parents": [
        "d09f86ce175fad6ddbd446363f327dfa0575a1d2"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 26 14:41:55 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 26 14:41:55 2009 -0700"
      },
      "message": "Adding in the playSilence method to TextToSpeech.java\n"
    },
    {
      "commit": "ae3522734ef83254626cacee18a9490f6af62415",
      "tree": "c142c5f6f6cc49050ae2aca8b0809e546da790c8",
      "parents": [
        "d09f86ce175fad6ddbd446363f327dfa0575a1d2",
        "326c66d888f9b3ce82af93fe63e4828a4a4e3fbe"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:41:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:41:51 2009 -0700"
      },
      "message": "Merge change 5192 into donut\n\n* changes:\n  make BitwiseInputStream.read return int\n"
    },
    {
      "commit": "d09f86ce175fad6ddbd446363f327dfa0575a1d2",
      "tree": "1402e4c2472e7e4ec6e09e51d608d29e4f40f7d9",
      "parents": [
        "17a80081a42410f541a220ab7e6afc64fc6cc399",
        "568bc32344dce841c8f6958f1a65ff839a1b64c0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:19:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:19:59 2009 -0700"
      },
      "message": "Merge changes 5548,5549 into donut\n\n* changes:\n  Better (and less) logging from backup.\n  Add an extra null terminator.  String8::unlockBuffer is supposed to be doing this, but it\u0027s not and I can\u0027t figure out why.  This makes BackupHelperDispatcher able to read the keys correctly.\n"
    },
    {
      "commit": "12a4da328a234b171b78cc341544817e9a074057",
      "tree": "706ced47f799ce47486e1ca622e74f112fad8b22",
      "parents": [
        "8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 17:18:01 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 17:18:01 2009 -0400"
      },
      "message": "Add an extra null terminator.  String8::unlockBuffer is\nsupposed to be doing this, but it\u0027s not and I can\u0027t\nfigure out why.  This makes BackupHelperDispatcher able\nto read the keys correctly.\n\nAlso, we weren\u0027t writing the data size.\n"
    },
    {
      "commit": "17a80081a42410f541a220ab7e6afc64fc6cc399",
      "tree": "a4fe51dcf8e8caddc7cba9ebbc2c98606cf44950",
      "parents": [
        "72eb0acad5cffc57ce5006f6deab29ee259e461e",
        "c62f9bd13327937aa2d2f20b44215397120634c1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:02:10 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:02:10 2009 -0700"
      },
      "message": "Merge change 5544 into donut\n\n* changes:\n  Pipe all the camera callbacks to Java to facilitate the addition of new features. This will make it easy to add things like zoom callbacks without modifying the entire camera stack. Bug 1837832.\n"
    },
    {
      "commit": "72eb0acad5cffc57ce5006f6deab29ee259e461e",
      "tree": "fe7a0e33cb310eb4abf5415583d2b2ea9345d724",
      "parents": [
        "156411df4627336b246db78cddca8248ed615b67",
        "723738cfaec3dd7b0fe152c872c41bebf94074c4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:46:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:46:07 2009 -0700"
      },
      "message": "Merge change 5483 into donut\n\n* changes:\n  Expand support for different screen sizes.\n"
    },
    {
      "commit": "723738cfaec3dd7b0fe152c872c41bebf94074c4",
      "tree": "421ddeed166d0a4586c9460c4de581307bf08d44",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 25 19:48:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 13:37:05 2009 -0700"
      },
      "message": "Expand support for different screen sizes.\n\nApplications can now declare that they support small, normal, or\nlarge screens.  Resource selection can also be done based on these\nsizes.  By default, pre-Donut apps are false for small and large,\nand Donut or later apps are assumed to support all sizes.  In either\ncase they can use \u003csupports-screens\u003e in their manifest to declare\nwhat they actually support.\n"
    },
    {
      "commit": "c62f9bd13327937aa2d2f20b44215397120634c1",
      "tree": "8bb2e7596e82588e9c4517f65209a174f809cc32",
      "parents": [
        "aae628b44518f0886a7f33b88c1131f47d853e70"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "message": "Pipe all the camera callbacks to Java to facilitate the addition\nof new features. This will make it easy to add things like zoom\ncallbacks without modifying the entire camera stack.\nBug 1837832.\n"
    },
    {
      "commit": "156411df4627336b246db78cddca8248ed615b67",
      "tree": "e0aab41ac43c870e5c464b297418034a50e47d93",
      "parents": [
        "040441fa992bcfc11070d559bfceeb039667b382"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Jun 26 13:20:02 2009 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Jun 26 13:25:27 2009 -0700"
      },
      "message": "Use a long for restore token\n"
    },
    {
      "commit": "040441fa992bcfc11070d559bfceeb039667b382",
      "tree": "77d6f7d9aa320a7a75cc89f14c82a0b3d410615d",
      "parents": [
        "8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc",
        "a9be47cea45c19f2869732252e9922bf88fa4d86"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:19:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:19:59 2009 -0700"
      },
      "message": "Merge change 5529 into donut\n\n* changes:\n  Tweak the core and maximum pool sizes for AsyncTask.\n"
    },
    {
      "commit": "8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc",
      "tree": "785242d6c32e7b9bd30c353444c7de452209304c",
      "parents": [
        "c73a218c2663e6ae3ec8a9ab8b9524f95702ade9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 26 11:49:18 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 26 12:20:10 2009 -0700"
      },
      "message": "Don\u0027t crash in various ways when using backup services too early\n\nBackupManager now no longer tries to use a null service binder if it\u0027s used\nearly during the boot process.  ActivityManagerService no longer tries to\ndereference null pointers if bind/unbind semantics get out of step due to things\nbeing run too early.\n"
    },
    {
      "commit": "56bc71565ecd72bf7a3e45b5c871b0407ed9f781",
      "tree": "731e6770c2a3dcae1a3106318d5b84d6341ae1d8",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da",
        "dc355a90a3d9d34f66316928a53f61ac35ab4781"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 11:48:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 11:48:54 2009 -0700"
      },
      "message": "Merge change 5537 into donut\n\n* changes:\n  Add a test for SharedPreferencesBackupHelper\n"
    },
    {
      "commit": "dc355a90a3d9d34f66316928a53f61ac35ab4781",
      "tree": "7b9de72bba6ed97ff81b600073cbbed46a0cf7a1",
      "parents": [
        "aae628b44518f0886a7f33b88c1131f47d853e70"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 14:45:25 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 14:45:25 2009 -0400"
      },
      "message": "Add a test for SharedPreferencesBackupHelper\n\n(which nobody had ever tested.  I like it when stuff\njust works the first time).\n"
    },
    {
      "commit": "77cb40a0b088b02357fbc7d5fad24886d607f0da",
      "tree": "9d41d81d1600211ef9f533f2dfb7c0dd313140ff",
      "parents": [
        "b65dba4560f7aff894ebcdbe8468daeaae3489c8",
        "741c25b164d132ddc6ef662ddf854ebedcd0e389"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 11:28:43 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 11:28:43 2009 -0700"
      },
      "message": "Merge change 5447 into donut\n\n* changes:\n  Adding skeleton methods for IPA support.\n"
    },
    {
      "commit": "a9be47cea45c19f2869732252e9922bf88fa4d86",
      "tree": "593ed737b1ba304a3cbdda77f06fe48aa08aa18c",
      "parents": [
        "6067d953d7c6c0216a383fe520222fa6a23926fa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 10:34:20 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 10:36:46 2009 -0700"
      },
      "message": "Tweak the core and maximum pool sizes for AsyncTask.\n\nThis change allows up to 5 AsyncTasks to run concurrently. Before, only 1 task\ncould run at a time, which was too limited. This change also bumps up the maximum\nnumber of tasks that can be created; this large number is not an issue because\ntasks are queued up and run only 5 at a time.\n"
    },
    {
      "commit": "741c25b164d132ddc6ef662ddf854ebedcd0e389",
      "tree": "bf2a0f1fd6d5607a3a88476395ba82b173e6da9b",
      "parents": [
        "5cb400bd72726c22f641f334951b35ce2ddcfeef"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jun 25 17:11:29 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 26 10:14:44 2009 -0700"
      },
      "message": "Adding skeleton methods for IPA support.\n"
    },
    {
      "commit": "7d619f18a277ee3114624df7301db94db83936b9",
      "tree": "ab64cffe75ebb381148544692566ab4479237d0d",
      "parents": [
        "5c7d9e8194900a2b1699cd57f95b22ca5f7b9be2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jun 26 08:38:13 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jun 26 08:38:13 2009 -0700"
      },
      "message": "framework: process: Set the control group of a thread to the background group\nif the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "7d562ec393d54dd9ef387c49d1283243bfdbd2b1",
      "tree": "ac2590ef8df168167789764153a1869c80363748",
      "parents": [
        "b505ae4195d9b8a93c71b1f9da6d7d8c3aaa3c08"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 18:03:43 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 18:09:28 2009 -0700"
      },
      "message": "Add a new IRestoreObserver callback class to the restore process\n\nThe observer is told when restore begins how many packages are being restored.\nIt then gets an onUpdate() call telling it that the Nth package is now\nundergoing restore.  Ultimately, its restoreFinished() callback is invoked,\npassing a simple success/fail error code, to let it know that the restore\noperation has concluded.\n"
    },
    {
      "commit": "4ababd922eac5931e0222862ff082dc29e012816",
      "tree": "9b7ed494cd38bed3ded7c34ce93425d35d42fc04",
      "parents": [
        "5cb400bd72726c22f641f334951b35ce2ddcfeef"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 18:29:18 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 20:36:09 2009 -0400"
      },
      "message": "Make the BackupHelperDispatcher properly handle multiple helpers.\n"
    },
    {
      "commit": "5cb400bd72726c22f641f334951b35ce2ddcfeef",
      "tree": "efb4514d204568a5031c6aa4f847b3a227391273",
      "parents": [
        "2f437b4c56db1750cc6cb3d1ad549a79049b6370"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 16:03:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 16:09:03 2009 -0700"
      },
      "message": "Keep track of backup state independently for each transport\n\nBackup transports now provide the Backup Manager with a suggested name with\nwhich it can disambiguate any transport-specific bookkeeping that it needs to\nmaintain.  The Manager keeps separate application backup \u0027state blobs\u0027 for each\ntransport now, preventing things from getting out of step if the device is\nswitched among multiple transports.\n\nAlso, the metadata backup agent is always invoked now on each backup pass.  This\nis cheap when there is nothing to do, but also strongly ensures that we never\nwind up in a situation where a given transport destination has not been given\nall of the metadata necessary for the backup set.\n"
    },
    {
      "commit": "6067d953d7c6c0216a383fe520222fa6a23926fa",
      "tree": "7fb45576c258c5137fa170b586068101c065c397",
      "parents": [
        "c44989d6c7bcc761fb37f54fd37aac2070ba8e5e",
        "f782e60efc09f210643432f31b4c18026d7716d6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:28:10 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:28:10 2009 -0700"
      },
      "message": "Merge change 5428 into donut\n\n* changes:\n  Improve handling of FILL_PARENT in RelativeLayout.\n"
    },
    {
      "commit": "f782e60efc09f210643432f31b4c18026d7716d6",
      "tree": "5217ec3aae25fa1632f5c9b3b43982de90379a47",
      "parents": [
        "c4e0ff750e98dfec61aff76f22743d819189f802"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 15:26:49 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 15:26:49 2009 -0700"
      },
      "message": "Improve handling of FILL_PARENT in RelativeLayout.\n\nThis was causing trouble with VideoView, in Gallery in particular.\n"
    },
    {
      "commit": "c44989d6c7bcc761fb37f54fd37aac2070ba8e5e",
      "tree": "e6b968bb0bcb4a9daea55487de1690ff928b4acc",
      "parents": [
        "2450173b78b27ca744e5d2e58efa35560ce73f8c",
        "864c0d50cda714d73fa70e3600ec36b5db8a835a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:09:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:09:44 2009 -0700"
      },
      "message": "Merge change 5350 into donut\n\n* changes:\n  move ui/Time.cpp to core/jni, since this is the only place it is used\n"
    },
    {
      "commit": "2450173b78b27ca744e5d2e58efa35560ce73f8c",
      "tree": "a6991e99c23d7f54a15fdddd139a0bf6625bb4c2",
      "parents": [
        "c4e0ff750e98dfec61aff76f22743d819189f802",
        "87c9684fd0fa31fd6ad7f7e9f4cfedddc4fdc4b0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:58:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:58:51 2009 -0700"
      },
      "message": "Merge change 5414 into donut\n\n* changes:\n  Add caching of the speech rate and language in android.speech.tts.TextToSpeech so the speech params can be passed along in calls for text synthesis.\n"
    },
    {
      "commit": "c4e0ff750e98dfec61aff76f22743d819189f802",
      "tree": "b26701c3f840eb18c0dae9879b156746fcdbc961",
      "parents": [
        "157601594fc7139a45ec43a860d36ee0045d0333",
        "f7dabb088a474f821d1b07af9a51d063b4782537"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:49:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:49:23 2009 -0700"
      },
      "message": "Merge change 5417 into donut\n\n* changes:\n  Fixes #1943309. RelativeLayout was confused by gravities.\n"
    },
    {
      "commit": "f7dabb088a474f821d1b07af9a51d063b4782537",
      "tree": "1c26eff565029dd58c244bf038181b39fcb279ec",
      "parents": [
        "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 14:47:14 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 14:47:14 2009 -0700"
      },
      "message": "Fixes #1943309. RelativeLayout was confused by gravities.\n\nRelativeLayout, when measured with AT_MOST, was applying the gravity on its\nchildren way too early. This caused the RL to set its measured size to\na value that was larger than necessary. This fixes the issue by deferring\nthe positioning of the gravity-dependent children until the dimensions\nof the layout are known.\n"
    },
    {
      "commit": "157601594fc7139a45ec43a860d36ee0045d0333",
      "tree": "0d740863795d703e427bf4c94ab15124fb0bb962",
      "parents": [
        "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc",
        "2b2e9d91521a9f271d8661d4254c4e154e3c0223"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:44:38 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 14:44:38 2009 -0700"
      },
      "message": "Merge change 5413 into donut\n\n* changes:\n  Need to write the correct float math.\n"
    },
    {
      "commit": "2b2e9d91521a9f271d8661d4254c4e154e3c0223",
      "tree": "5029962d44dbe4e53cb0594284da51d153907ede",
      "parents": [
        "0d8b77c2453d0e597f94e39212e4bfeed8affffa"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 25 14:43:53 2009 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 25 14:43:53 2009 -0700"
      },
      "message": "Need to write the correct float math.\n"
    },
    {
      "commit": "864c0d50cda714d73fa70e3600ec36b5db8a835a",
      "tree": "6a4e6e481ef35565a3ce1d027537690bb91308f8",
      "parents": [
        "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 23:12:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 14:39:56 2009 -0700"
      },
      "message": "move ui/Time.cpp to core/jni, since this is the only place it is used\n"
    },
    {
      "commit": "87c9684fd0fa31fd6ad7f7e9f4cfedddc4fdc4b0",
      "tree": "439ce5b87652e668099f77593e90d33cb72da4bd",
      "parents": [
        "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 25 14:29:15 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 25 14:29:15 2009 -0700"
      },
      "message": "Add caching of the speech rate and language in android.speech.tts.TextToSpeech\nso the speech params can be passed along in calls for text synthesis.\n"
    },
    {
      "commit": "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc",
      "tree": "4bffd01eb09c0e6382ce942b815f51505708c611",
      "parents": [
        "78fb3775ee20c48980a3cfe00b8a7263422158d0",
        "1ab621e316828fa65e8941954e2a3c7f1d68f77a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:32:52 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:32:52 2009 -0700"
      },
      "message": "Merge change 5397 into donut\n\n* changes:\n  Fixes #1943915. Prevents circular dependency exception when using several NO_ID views.\n"
    },
    {
      "commit": "1ab621e316828fa65e8941954e2a3c7f1d68f77a",
      "tree": "af3233cd17929a8689ffbbb0f572a5f56f8ecb76",
      "parents": [
        "a1fb3950cf46f61800d2ca41d2020037d6b2307e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 13:31:57 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 13:31:57 2009 -0700"
      },
      "message": "Fixes #1943915. Prevents circular dependency exception when using several NO_ID\nviews.\n"
    },
    {
      "commit": "78fb3775ee20c48980a3cfe00b8a7263422158d0",
      "tree": "dda3d5e3e45b5c70a75275a3ead3446ad23fd30e",
      "parents": [
        "c6f36ed547e7f480ea2484cc378698d4205b3155",
        "aaf842edbfe76990413d4c002acb394f855321b5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:22:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:22:57 2009 -0700"
      },
      "message": "Merge change 5385 into donut\n\n* changes:\n  Updating the TextToSpeech.java with skeleton methods.\n"
    },
    {
      "commit": "7cb8182e36268dca8ca59d706966c43095c8baa0",
      "tree": "b1ae72df972076670a243cd74ed2ba1604822832",
      "parents": [
        "24a4f20c0b907babb11dd824550018cbab09b7b2",
        "6c451b766d0d24994f2c5ce1750e5351f9f4ba83"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:18:24 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:18:24 2009 -0700"
      },
      "message": "Merge change 5390 into donut\n\n* changes:\n  When mPreventDrag is true, don\u0027t respond to long press. This should prevent the context menu popping up in the Map sites.\n"
    },
    {
      "commit": "35a47a6eebae21738bcf9b481e0bb606328cbd1a",
      "tree": "19e7057a8bf2a9f7c9d1ae50e25cb678b5ebfcaf",
      "parents": [
        "a1fb3950cf46f61800d2ca41d2020037d6b2307e",
        "add868cebaf62cffe96e79764ea0b7f2320a03eb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:11:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 13:11:18 2009 -0700"
      },
      "message": "Merge change 5389 into donut\n\n* changes:\n  Skip spaces and tabs in readProcLines()\n"
    },
    {
      "commit": "e24ef6032f52cb754bfeb9ab32aae0a5cfa61f8a",
      "tree": "770ebc80bceefb86623497964165624786e4e30b",
      "parents": [
        "a7251991ffb6a26e4cf23e60633c8250c78bd9df"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 13:01:55 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 25 13:01:55 2009 -0700"
      },
      "message": "Fixes #1940605. RelativeLayout was swapping horizontal and vertical\ndependencies.\n"
    },
    {
      "commit": "6c451b766d0d24994f2c5ce1750e5351f9f4ba83",
      "tree": "3c0674d03bf3ac85386264b83d6fba4ea69425b8",
      "parents": [
        "0d8b77c2453d0e597f94e39212e4bfeed8affffa"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 25 12:25:30 2009 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 25 12:25:30 2009 -0700"
      },
      "message": "When mPreventDrag is true, don\u0027t respond to long press. This should prevent the context menu popping up in the Map sites.\n"
    }
  ],
  "next": "add868cebaf62cffe96e79764ea0b7f2320a03eb"
}
