)]}'
{
  "log": [
    {
      "commit": "9d9953d94de4d17722ba2c768b92bd4ebeec908c",
      "tree": "576796767dbade84f759ffd5dbc07d0a6583f2df",
      "parents": [
        "8c850b792f2d371fd8a4aff146d9d757ee982539",
        "6ba283f726aaedd9a7c963d6b0514d4443c4a572"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 07 20:30:45 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 07 20:30:45 2009 -0700"
      },
      "message": "Merge change 3420 into donut\n\n* changes:\n  LocationManagerService: Remove some unneeded imports.\n"
    },
    {
      "commit": "6ba283f726aaedd9a7c963d6b0514d4443c4a572",
      "tree": "06c5a6cadf3a7543d38618ba1fc637e9cd5344ca",
      "parents": [
        "19cd309f9eccdf8454dc6e5076013588b7a170a3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jun 07 23:29:25 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jun 07 23:29:25 2009 -0400"
      },
      "message": "LocationManagerService: Remove some unneeded imports.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8c850b792f2d371fd8a4aff146d9d757ee982539",
      "tree": "3ab4ec581b85ed59078692c573725db69a109e8d",
      "parents": [
        "b4a6188a74273611abcae05f3a3b1f0547548301"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 19:33:20 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 19:33:20 2009 -0700"
      },
      "message": "Add IRestoreSession interface for the restore flow\n\nRestore is a fairly complicated, somewhat stateful process, so we introduce\na new interface to encapsulate the various bits and pieces into a nicely\nseparable component.  In particular, this will make it much cleaner to\nopen and interrogate an expensive-to-construct transport and then reuse it\nfor the actual restore process itself.\n"
    },
    {
      "commit": "b4a6188a74273611abcae05f3a3b1f0547548301",
      "tree": "8facd44ea2e5e13668fd6f42454c9b42f152603f",
      "parents": [
        "da55569b0aaf98ff4d472d85ae1b038e76e1e9c3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 15:19:32 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 15:30:44 2009 -0700"
      },
      "message": "Add rough-draft restore API set to IBackupTransport\n\n* getAvailableBackups returns the list of backup sets available for restore\n\n* getAppSet() returns the set of apps available from a given backup set\n\n* getRestoreData() streams the full backup data for a given application\n(within a given backup set) into a FD; that data will be handed to the\napp\u0027s backup agent for processing.\n"
    },
    {
      "commit": "da55569b0aaf98ff4d472d85ae1b038e76e1e9c3",
      "tree": "a07a8da474b7d37e76dd77e4a6de033d72f1a597",
      "parents": [
        "7757656a11ba7050274c337fd2dc2f18f9e7806f",
        "7b88128e08ba45b071cd714dad9681ce66920d32"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 07 14:10:31 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 07 14:10:31 2009 -0700"
      },
      "message": "Merge change 3417 into donut\n\n* changes:\n  Adjust IBackupTransport interface\n"
    },
    {
      "commit": "7b88128e08ba45b071cd714dad9681ce66920d32",
      "tree": "1e6517a62d2d4b9062719d72b735fba88c286203",
      "parents": [
        "19cd309f9eccdf8454dc6e5076013588b7a170a3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 13:52:37 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 13:55:42 2009 -0700"
      },
      "message": "Adjust IBackupTransport interface\n\nInstead of just passing a package name to performBackup, pass the whole\nPackageInfo struct, explicitly including the list of signatures for the package.\nNo need to make each transport look this up individually when it\u0027s a necessary\npart of the backup payload for each app.\n"
    },
    {
      "commit": "7757656a11ba7050274c337fd2dc2f18f9e7806f",
      "tree": "6f80ad437120d062fa91827ea7ed9d9bff0c3d51",
      "parents": [
        "19cd309f9eccdf8454dc6e5076013588b7a170a3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Jun 07 13:12:20 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Jun 07 13:12:20 2009 -0700"
      },
      "message": "Changed logic to handle timeout pages.\n"
    },
    {
      "commit": "19cd309f9eccdf8454dc6e5076013588b7a170a3",
      "tree": "97a9dc6b9ccbd887f053e39a2a7510e8fabe4c33",
      "parents": [
        "6fa959769051f08655292ec47aa8480b248b67fd",
        "5069cc78497209c035a7019b2f407bd1ed57f64a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 19:55:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 19:55:44 2009 -0700"
      },
      "message": "Merge change 3017 into donut\n\n* changes:\n  Add the EAP related fields for WiFi configuration.\n"
    },
    {
      "commit": "6fa959769051f08655292ec47aa8480b248b67fd",
      "tree": "57c5930396cd3cd6000ff7b16926359b7521c4cb",
      "parents": [
        "1aa8170e6a448afad86e5d62927d3b8ca4cd9707"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 05 18:43:55 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 05 18:45:34 2009 -0700"
      },
      "message": "Apply OOM adjustment while an app is undergoing backup\n"
    },
    {
      "commit": "1aa8170e6a448afad86e5d62927d3b8ca4cd9707",
      "tree": "911e494fa0ab405fa8c5cb4271f8a0907a583d24",
      "parents": [
        "5d16ac5eb6c4a468cabc39bdd00eac1759993db5"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 05 15:59:15 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jun 05 16:09:24 2009 -0700"
      },
      "message": "Add per-named-item overlay ability in res xml.\n\nFixes 1899451.\nAlso errors out if you add a bag via an overlay (which would renumber\nresources).  Note that you can still add elements within the bag as they are\nnot issued resource IDs.  So for example you can now modify the framework\nthemes.xml file without copying the entire file.\n\nAll bag types are now modifable except non-named bag types (how would you\naddress which element to replace?):\n    array\n    string_array\n    integer_array\n"
    },
    {
      "commit": "5d16ac5eb6c4a468cabc39bdd00eac1759993db5",
      "tree": "c5b4ba928707055656654db807b05eb386bc52c7",
      "parents": [
        "e3523054ded8c6e86935a978aa136c3ed2c0ba12",
        "cd4ff2e72d42d66ea2d6a27f1c87cfffd16b1791"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 16:07:56 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 16:07:56 2009 -0700"
      },
      "message": "Merge change 3374 into donut\n\n* changes:\n  Fix tracking of backup participants across package remove/update\n"
    },
    {
      "commit": "e3523054ded8c6e86935a978aa136c3ed2c0ba12",
      "tree": "f876647ab9cec332d0e72e91b3adba9c363aaa6d",
      "parents": [
        "4e0b13c9a94f2085d44d0fe36fd16e2599477145",
        "6270d6100e8fa1a986794bfcd61166f2715b6d21"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 15:55:24 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 15:55:24 2009 -0700"
      },
      "message": "Merge change 3356 into donut\n\n* changes:\n  Cleaning up comments in interface for TTS engines.\n"
    },
    {
      "commit": "6270d6100e8fa1a986794bfcd61166f2715b6d21",
      "tree": "623b2de4fa99bb6f0be36f6eb2afde0aaa2c3be5",
      "parents": [
        "327da854e8fbc444150b40941668b3c9187c34b9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 15:01:33 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 15:49:28 2009 -0700"
      },
      "message": "Cleaning up comments in interface for TTS engines.\n"
    },
    {
      "commit": "4e0b13c9a94f2085d44d0fe36fd16e2599477145",
      "tree": "f8761cc5b67f55c4f98cd69f041dc02d60a2682b",
      "parents": [
        "327da854e8fbc444150b40941668b3c9187c34b9",
        "1b111bb6e2a570fe5f88d018fb3ec3c1ae880dcc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 14:53:00 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 14:53:00 2009 -0700"
      },
      "message": "Merge change 3348 into donut\n\n* changes:\n  Fix AlphabetIndexer.getSectionForPosition()\n"
    },
    {
      "commit": "327da854e8fbc444150b40941668b3c9187c34b9",
      "tree": "1298e99a8cd34895642c5f56f972f167bb13e90f",
      "parents": [
        "d299b8194dde8c4875e5f032918ab35ebad8b1f1",
        "83e712a1420adf035f66bc7656ddd8a87069f6a7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 14:11:08 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 14:11:08 2009 -0700"
      },
      "message": "Merge change 3344 into donut\n\n* changes:\n  Updating TtsEngine.h and SynthProxy.cpp so that buffer memory management is handled on the system side.\n"
    },
    {
      "commit": "cd4ff2e72d42d66ea2d6a27f1c87cfffd16b1791",
      "tree": "66ded148b870e0374debd3298cf16eb014327596",
      "parents": [
        "b1c2874790908d1bbb9b99242fc7cc96c7b45a8a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 05 13:57:54 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 05 14:03:25 2009 -0700"
      },
      "message": "Fix tracking of backup participants across package remove/update\n"
    },
    {
      "commit": "83e712a1420adf035f66bc7656ddd8a87069f6a7",
      "tree": "35f709c6101318bb93788cb9b272585763d87cda",
      "parents": [
        "716b56817aee1c0b584266a686b18a1c02ea0116"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 05 13:58:33 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Jun 05 13:58:33 2009 -0700"
      },
      "message": "Updating TtsEngine.h and SynthProxy.cpp so that buffer memory\nmanagement is handled on the system side.\n"
    },
    {
      "commit": "d299b8194dde8c4875e5f032918ab35ebad8b1f1",
      "tree": "27fb20be4db7b7bdb4da2832df0a8146ee1f4cd3",
      "parents": [
        "b1c2874790908d1bbb9b99242fc7cc96c7b45a8a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 10:26:19 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 13:49:09 2009 -0700"
      },
      "message": "Add a new attribute to android manifest for defining the GLES version number.\nThis attribute is parsed by the PackageParser into ConfigurationInfo. The major\nand minor version numbers are defined as the higher and lower order bits.\n"
    },
    {
      "commit": "b1c2874790908d1bbb9b99242fc7cc96c7b45a8a",
      "tree": "8ec05f122d1469d0233c887254f532eda2e926c7",
      "parents": [
        "7b0d2d933d8a601cf6259f25576f5615ff146b33",
        "9c9151eccd27e824fdb7c266bff78c10038e87fe"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:34:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:34:25 2009 -0700"
      },
      "message": "Merge change 3305 into donut\n\n* changes:\n  Fix parameter mismatch for a couple of RIL commands.\n"
    },
    {
      "commit": "7b0d2d933d8a601cf6259f25576f5615ff146b33",
      "tree": "3910a7f282c4112bc4eaf166853eb630a9638fc6",
      "parents": [
        "47538fe6131d888edf542422a767528971797f5f",
        "f62ba452bb07407f577cabecde14bfad101d7f43"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:29:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:29:21 2009 -0700"
      },
      "message": "Merge change 3223 into donut\n\n* changes:\n  Adding new Settings.Secure properties for the Text-To-Speech functionality. Those properties are secure to prevent applications from altering the user\u0027s settings without his knowledge.\n"
    },
    {
      "commit": "47538fe6131d888edf542422a767528971797f5f",
      "tree": "53df7c659b7f7666fd10cace264d517673413ea4",
      "parents": [
        "3966536766cbe0bd45570c6785e912131911ff79",
        "1741ec39a90b95fff215a005b6b3941d7c1b4735"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:15:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 13:15:26 2009 -0700"
      },
      "message": "Merge change 3337 into donut\n\n* changes:\n  Fix external bug 2875: Matrix#mValues[7] assigned twice in place of mValues[8]\n"
    },
    {
      "commit": "1741ec39a90b95fff215a005b6b3941d7c1b4735",
      "tree": "51e421f6225e238f57afd25de495974a7d2b7680",
      "parents": [
        "7ebda6f110708bdb704f8700a6b3473249b12baf"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jun 05 12:55:14 2009 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jun 05 12:58:29 2009 -0700"
      },
      "message": "Fix external bug 2875: Matrix#mValues[7] assigned twice in place of mValues[8]\n"
    },
    {
      "commit": "1b111bb6e2a570fe5f88d018fb3ec3c1ae880dcc",
      "tree": "1b7d674f5a5c4cdcc5f9e544d68d1453ca876d82",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Fri Jun 05 12:27:59 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Fri Jun 05 12:27:59 2009 -0700"
      },
      "message": "Fix AlphabetIndexer.getSectionForPosition()\n\nThis did not properly set the cursor position before reading, which\nresulted in wrong return values or exceptions in the cursor.\n"
    },
    {
      "commit": "f62ba452bb07407f577cabecde14bfad101d7f43",
      "tree": "e9823536424790f37d8c816b5c6bfeeda74ce7df",
      "parents": [
        "716b56817aee1c0b584266a686b18a1c02ea0116"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 04 14:55:24 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 11:29:16 2009 -0700"
      },
      "message": "Adding new Settings.Secure properties for the Text-To-Speech functionality.\nThose properties are secure to prevent applications from altering the user\u0027s settings without his knowledge.\n"
    },
    {
      "commit": "3966536766cbe0bd45570c6785e912131911ff79",
      "tree": "af3b470538435a14fd039ed9d6e5bea349d23d23",
      "parents": [
        "716b56817aee1c0b584266a686b18a1c02ea0116",
        "834f0391b50d33a832bd583fd7763a9a12208e8d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 11:27:52 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 11:27:52 2009 -0700"
      },
      "message": "Merge change 3317 into donut\n\n* changes:\n  Fixes #1899273.\n"
    },
    {
      "commit": "834f0391b50d33a832bd583fd7763a9a12208e8d",
      "tree": "f3d4a7f5d48002ad4828b0abbcbe3cc7dc431d5b",
      "parents": [
        "ad8a510fcc3b853bd0dadcffb4433c465f2993b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 05 11:24:09 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 05 11:24:09 2009 -0700"
      },
      "message": "Fixes #1899273.\n\nWhen a \"ghost\" stroke was showing, events would be intercepted in ListView. This patch modifies the logic used to detect when to still events: either the current stroke is a gesture, or the previous stroke was a gesture.\n"
    },
    {
      "commit": "716b56817aee1c0b584266a686b18a1c02ea0116",
      "tree": "a05a10ab05d20ec1492353140dfb30b00820a0cb",
      "parents": [
        "0e74aa0f7ed90d46e0bdde02bf9b7b29c6b95bd8",
        "7a9e348c0776d0d9ad773fbf304bff3fd0de2e7b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 10:12:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 10:12:34 2009 -0700"
      },
      "message": "Merge change 2934 into donut\n\n* changes:\n  Don\u0027t crash on null edit url.\n"
    },
    {
      "commit": "9c9151eccd27e824fdb7c266bff78c10038e87fe",
      "tree": "b9ec9198836a12bef755074ea142e546cfec80e0",
      "parents": [
        "3e8950c0c73f9c1574ce3388c754009edf6bc930"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri Jun 05 10:03:17 2009 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Fri Jun 05 10:03:17 2009 -0700"
      },
      "message": "Fix parameter mismatch for a couple of RIL commands.\n\nBoth RIL_REQUEST_SET_SMSC_ADDRESS and RIL_REQUEST_CDMA_FLASH take a string\nas a parameter.  But RIL.java was sending down an array of strings with a\nsingle element instead.\n"
    },
    {
      "commit": "0e74aa0f7ed90d46e0bdde02bf9b7b29c6b95bd8",
      "tree": "fb8d2914be4fae6b8fec70bc5eb0a1cb69e47853",
      "parents": [
        "f9acde27486bcc6eea1092073f7b47c31749efd6"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 15:04:32 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 15:40:49 2009 +0100"
      },
      "message": "Fix broken Searchables unit tests.\n\nThe newly added code was using methods which were not overridden by the unit test, fixed now.\n"
    },
    {
      "commit": "f9acde27486bcc6eea1092073f7b47c31749efd6",
      "tree": "f82fb2fb4417e0774c8bfc56e21344877238dce7",
      "parents": [
        "7ebda6f110708bdb704f8700a6b3473249b12baf"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 04 11:51:17 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 10:34:53 2009 +0100"
      },
      "message": "Include web search providers in Searchables.\n\n- Along with ACTION_SEARCH we now enumate ACTION_WEB_SEARCH as well so web search providers are covered in the searchables list. This fixes a broken unit test.\n- Moved get/setPreferredWebSearchActivity and get-all-web-search-providers implementation to this module when the searchables list gets updated, so that it happens on boot and on package add/remove events and remains up to date. The duplicate code in WebSearchProvider will be removed in a separate change.\n- Also made Searchables broadcast an intent when the searchables list got rebuilt, so components such as GlobalSearch/SuggestionSources no longer need to do this on their own.\n"
    },
    {
      "commit": "7ebda6f110708bdb704f8700a6b3473249b12baf",
      "tree": "d4e79de27e57c377bbf1fbdab245e4de17d6bcf4",
      "parents": [
        "2f1b422dc8d30da19dfc51911261d92ccccd9edd",
        "2f5e6b2d31f445a4e9faf3a7ace94f9ef6948336"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 18:59:10 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 18:59:10 2009 -0700"
      },
      "message": "Merge change 3265 into donut\n\n* changes:\n  A workaround to fix rotation issue. I\u0027m remote now and hard to do troubleshooting (i cannot rotate emulator in nx..)\n"
    },
    {
      "commit": "2f5e6b2d31f445a4e9faf3a7ace94f9ef6948336",
      "tree": "f36b7d713e4592157e423e5cde631c1e6d016726",
      "parents": [
        "54de90635e1d0628c396d65e6c948bf4a1529229"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Thu Jun 04 18:06:27 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Thu Jun 04 18:06:27 2009 -0700"
      },
      "message": "A workaround to fix rotation issue. I\u0027m remote now and hard to do troubleshooting (i cannot rotate emulator in nx..)\n"
    },
    {
      "commit": "2f1b422dc8d30da19dfc51911261d92ccccd9edd",
      "tree": "32fa15d665aa63c13798abdc8c687e4a0fbc4459",
      "parents": [
        "0032ce80ac127e6bfb25d727162eee4af208dc77",
        "48603e7fed957f318b12aa24089e0b13c3e78529"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 17:54:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 17:54:44 2009 -0700"
      },
      "message": "Merge change 3249 into donut\n\n* changes:\n  Add new SHOW_WEB_SUGGESTIONS system setting, referenced by the search settings (in a follow-on change). This setting, to be respected by global search, and which I will also file a bug to the browser to respect, determines whether live web suggestions will be shown to the user as they type. For privacy reasons, this could be considered undesirable, as partial queries can then be sent to the user\u0027s chosen search engine, so a setting was required.\n"
    },
    {
      "commit": "48603e7fed957f318b12aa24089e0b13c3e78529",
      "tree": "e95ba9ed29a3713aa660c27c0db0d54676bf9bf8",
      "parents": [
        "54de90635e1d0628c396d65e6c948bf4a1529229"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 00:27:00 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 01:07:20 2009 +0100"
      },
      "message": "Add new SHOW_WEB_SUGGESTIONS system setting, referenced by the search settings\n(in a follow-on change). This setting, to be respected by global search, and which\nI will also file a bug to the browser to respect, determines whether live web\nsuggestions will be shown to the user as they type. For privacy reasons, this\ncould be considered undesirable, as partial queries can then be sent to the user\u0027s\nchosen search engine, so a setting was required.\n"
    },
    {
      "commit": "0032ce80ac127e6bfb25d727162eee4af208dc77",
      "tree": "c867a73a9f4fac2e025864c3dd506334c68d6f60",
      "parents": [
        "54de90635e1d0628c396d65e6c948bf4a1529229"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 04 17:01:06 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 04 17:02:56 2009 -0700"
      },
      "message": "Fix back_up_files() error detection when opening/CRCing the file\n"
    },
    {
      "commit": "54de90635e1d0628c396d65e6c948bf4a1529229",
      "tree": "56df1880cb82d7d5cfb0ef6cb1093df1ed749398",
      "parents": [
        "12bba912238f305d385b30c278a4bdbb027b7a03",
        "1885b37913181230c36d6485bdd389f89fa90f43"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 16:01:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 16:01:41 2009 -0700"
      },
      "message": "Merge change 3243 into donut\n\n* changes:\n  Fix backup agent unbind\n"
    },
    {
      "commit": "7a9e348c0776d0d9ad773fbf304bff3fd0de2e7b",
      "tree": "82d474f32aa96073383894e70641c77cae5d7b61",
      "parents": [
        "2c159ec05b8fc52166e22d7c4f49cf43d10b487b"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Fri May 22 12:33:15 2009 -0700"
      },
      "committer": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Thu Jun 04 15:59:48 2009 -0700"
      },
      "message": "Don\u0027t crash on null edit url.\n\nbug\u003d1568060\n"
    },
    {
      "commit": "12bba912238f305d385b30c278a4bdbb027b7a03",
      "tree": "5173367102754ca7ec404e8a8f9db2dfd32fcb0a",
      "parents": [
        "35c46680852268d6b7b51dadf3d5349d146ccdcd",
        "88db3448cf334e5e216015e756f27aa1219c5408"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:50:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:50:05 2009 -0700"
      },
      "message": "Merge change 3238 into donut\n\n* changes:\n  Browser edit fields should report variation WEB_EDIT_TEXT.\n"
    },
    {
      "commit": "35c46680852268d6b7b51dadf3d5349d146ccdcd",
      "tree": "61812eb4f0584d0894cc5b6f4a1adc98dff7ff7d",
      "parents": [
        "ad8a510fcc3b853bd0dadcffb4433c465f2993b4",
        "b111554883ef3d4101c2f3fe9d630f5c1d3bbf7a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:45:22 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:45:22 2009 -0700"
      },
      "message": "Merge change 3226 into donut\n\n* changes:\n  Update a javadoc comment suggesting the use of a deprecated class.\n"
    },
    {
      "commit": "ad8a510fcc3b853bd0dadcffb4433c465f2993b4",
      "tree": "c4615e9d469f249a5bf45d1de9f3d6532850872c",
      "parents": [
        "a80cc6ebe7426792927cddbf191bb7435a06fc5e",
        "a1f3e4aef19882b4b81075d9205bd363efe1e66d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:12:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:12:06 2009 -0700"
      },
      "message": "Merge change 3227 into donut\n\n* changes:\n  Fix int to string mapping of exported properties. The value generated by the mapping in a @ViewDebug.ExportedProperty annotation was always overriden by the resolveId attribute.\n"
    },
    {
      "commit": "a1f3e4aef19882b4b81075d9205bd363efe1e66d",
      "tree": "8c7587f0b7db09da341249e78317136fddcbbb8e",
      "parents": [
        "3d3e307a63144b1bddd534fefd35a557223d52bf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 04 15:10:46 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 04 15:10:46 2009 -0700"
      },
      "message": "Fix int to string mapping of exported properties. The value generated by the\nmapping in a @ViewDebug.ExportedProperty annotation was always overriden by\nthe resolveId attribute.\n"
    },
    {
      "commit": "88db3448cf334e5e216015e756f27aa1219c5408",
      "tree": "d859d6dd95bb3b8dc2e034607972200f7e1a110b",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 04 15:07:29 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 04 15:07:29 2009 -0700"
      },
      "message": "Browser edit fields should report variation WEB_EDIT_TEXT.\n\nThis will enable the IME to enable/disable prediction features\nfor browser fields where the exact type is not very well defined.\nPart of the fix for #1743620\n"
    },
    {
      "commit": "a80cc6ebe7426792927cddbf191bb7435a06fc5e",
      "tree": "f2bfdd7d2fca6acedd872ba14dbcad8d9095b4cc",
      "parents": [
        "b640da8fcbc63821dfca1ab92f038771a2bf0ab9",
        "c62a216a2bb877b3b8c968cc90ab6c1f10605edc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:05:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:05:48 2009 -0700"
      },
      "message": "Merge change 3184 into donut\n\n* changes:\n  The \u0027-D\u0027 option for the \u0027am\u0027 command appears to be optional, so reflect that in the usage.\n"
    },
    {
      "commit": "b111554883ef3d4101c2f3fe9d630f5c1d3bbf7a",
      "tree": "766c1eccbb8983902e33dd5fbb314651cb5f2fca",
      "parents": [
        "c62a216a2bb877b3b8c968cc90ab6c1f10605edc"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 15:02:49 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 15:02:49 2009 -0700"
      },
      "message": "Update a javadoc comment suggesting the use of a deprecated class.\n"
    },
    {
      "commit": "1885b37913181230c36d6485bdd389f89fa90f43",
      "tree": "285579b79592713e35b8137efe8da85fdf8d0c53",
      "parents": [
        "b640da8fcbc63821dfca1ab92f038771a2bf0ab9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 04 15:00:33 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 04 15:02:37 2009 -0700"
      },
      "message": "Fix backup agent unbind\n\nThe handwritten binder transaction passing wasn\u0027t propagating the agent-destroy\ntransaction to the client side.  Oops.\n\nAlso, remove obsolete run-one-agent code from the backup manager service.\n"
    },
    {
      "commit": "b640da8fcbc63821dfca1ab92f038771a2bf0ab9",
      "tree": "8ca83ac778baf2f1c3105ea6294170e68811820a",
      "parents": [
        "2b5f84a117ee6f51ed21239719afba0f33c182ff",
        "d296fafab597a6597d9eb276abe6f6eb049e9f12"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:12:02 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:12:02 2009 -0700"
      },
      "message": "Merge change 3204 into donut\n\n* changes:\n  Avoid touching all adapter items when building accessibility event.\n"
    },
    {
      "commit": "2b5f84a117ee6f51ed21239719afba0f33c182ff",
      "tree": "b771095d36081829fe9323631d0d20b2787a3ca7",
      "parents": [
        "2a3188672ab2b65c0ce7c9c598a463e382c47696",
        "24bd82a92fe13040e9d7e2ca1942043ed5931754"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:10:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:10:07 2009 -0700"
      },
      "message": "Merge change 3207 into donut\n\n* changes:\n  localize: remove dependency on mkdirs/etc in libhost\n"
    },
    {
      "commit": "2a3188672ab2b65c0ce7c9c598a463e382c47696",
      "tree": "6cd1a000ec04378c80e3b4ca921927f39f4fd233",
      "parents": [
        "7835b0b742a36641a4005663134dc0b5d0678eab",
        "8ae2335a3c93d0c00e998fdec18f64dfe43b94cb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:08:29 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 14:08:29 2009 -0700"
      },
      "message": "Merge change 3203 into donut\n\n* changes:\n  rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "24bd82a92fe13040e9d7e2ca1942043ed5931754",
      "tree": "ba61e821cc460d3fcbd86f1c540d0d625395f2e0",
      "parents": [
        "7835b0b742a36641a4005663134dc0b5d0678eab"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Thu Jun 04 14:04:53 2009 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Thu Jun 04 14:05:36 2009 -0700"
      },
      "message": "localize: remove dependency on mkdirs/etc in libhost\n\nThis will let us break the libhost dependency on libutils.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\n"
    },
    {
      "commit": "d296fafab597a6597d9eb276abe6f6eb049e9f12",
      "tree": "f65bd59646917e34ca4ed9b071d8930abcd9f38a",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 04 12:11:25 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 04 14:00:20 2009 -0700"
      },
      "message": "Avoid touching all adapter items when building accessibility event.\n\nOnly check for enabled items if the list is less than 15 items.\n"
    },
    {
      "commit": "8ae2335a3c93d0c00e998fdec18f64dfe43b94cb",
      "tree": "e4233d7c7c87d76cab05ebe98a6330f9b4731155",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "message": "rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "7835b0b742a36641a4005663134dc0b5d0678eab",
      "tree": "4ecb5badb1932bf75be6e6dd474115da20b8e0ce",
      "parents": [
        "d84aa185149edea1f1eba95a2c948930348864fe",
        "f993ad5b89a8aa47fcbc7494811f45bb74cb8713"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 13:28:20 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 13:28:20 2009 -0700"
      },
      "message": "Merge change 3192 into donut\n\n* changes:\n  Fixes #1882836.\n"
    },
    {
      "commit": "f993ad5b89a8aa47fcbc7494811f45bb74cb8713",
      "tree": "af67205886d89ab95401f87c5089bd034d6ee6eb",
      "parents": [
        "3d3e307a63144b1bddd534fefd35a557223d52bf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 04 13:26:52 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jun 04 13:26:52 2009 -0700"
      },
      "message": "Fixes #1882836.\n\nPrevents the gestures window from leaking. This change does exactly what was\ndone for the filter popup window: the popup is dismissed in onSaveInstanceState()\nas it is the only place that is executed early enough to avoid the dreaded\nwindow leak error.\n"
    },
    {
      "commit": "d84aa185149edea1f1eba95a2c948930348864fe",
      "tree": "6eeb55618371525b69b79b0cf6519598ecd23629",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969",
        "683f3bed89d15c673b9fd391dc258c088e9316ae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 13:21:03 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 13:21:03 2009 -0700"
      },
      "message": "Merge change 3181 into donut\n\n* changes:\n  Unhide inInputShareable in BitmapFactory.Options.\n"
    },
    {
      "commit": "c62a216a2bb877b3b8c968cc90ab6c1f10605edc",
      "tree": "ba99af94f1a63b1f362e000cdf3e2313250c13c0",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 12:04:03 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 12:04:03 2009 -0700"
      },
      "message": "The \u0027-D\u0027 option for the \u0027am\u0027 command appears to be optional, so reflect that in the usage.\n"
    },
    {
      "commit": "683f3bed89d15c673b9fd391dc258c088e9316ae",
      "tree": "2722c54001768a5275120852bd39339412c54559",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "message": "Unhide inInputShareable in BitmapFactory.Options.\n\nThe variable works together with inPurgeable, which has been unhidden in\nhttps://android-git.corp.google.com/g/Gerrit#change,2870.\n"
    },
    {
      "commit": "5069cc78497209c035a7019b2f407bd1ed57f64a",
      "tree": "20bcbb43d3d3a5897297c31a8e584a3541057100",
      "parents": [
        "641bb3d8dfd72f57356d39ef00256d6077c9e235"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 03 17:33:47 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jun 05 02:10:35 2009 +0800"
      },
      "message": "Add the EAP related fields for WiFi configuration.\n\n-- added the EAP/802.1X related fields in WifiConfiguration for\n  supporting EAP/802.1X authentication.\n-- hid the related fields for now.\n"
    },
    {
      "commit": "85dfec8c35d4e3216591bd2e534bbebd6338b969",
      "tree": "8c9f5789dc3e456cd2b7c9689cfa57d2face6b24",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189",
        "17f8fa6b24da34724b4497622f374b27f3041e1c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 11:05:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 11:05:21 2009 -0700"
      },
      "message": "Merge change 3174 into donut\n\n* changes:\n  Added bugreport collecting mechanism in case of crashes.\n"
    },
    {
      "commit": "17f8fa6b24da34724b4497622f374b27f3041e1c",
      "tree": "1a92246f128f38ae4f80e41772b87d71676d079a",
      "parents": [
        "3d3e307a63144b1bddd534fefd35a557223d52bf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 04 11:03:57 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 04 11:03:57 2009 -0700"
      },
      "message": "Added bugreport collecting mechanism in case of crashes.\n"
    },
    {
      "commit": "a41962065a93b63e7161cffd662b564e01a9e189",
      "tree": "9945a98db77b622b758cb92d26e3c5422ab4de41",
      "parents": [
        "3d3e307a63144b1bddd534fefd35a557223d52bf",
        "2a2c5cd74128a7750f05683614c9824c9262addc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 10:40:17 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 10:40:17 2009 -0700"
      },
      "message": "Merge change 3074 into donut\n\n* changes:\n  Modify the decoding logic in the FD case when a purgeable flag is set, and lower the threshold of bitmap size for using ashmem().\n"
    },
    {
      "commit": "3d3e307a63144b1bddd534fefd35a557223d52bf",
      "tree": "3f0b63a021a64c98dbb94e18f85ac890a1abd39f",
      "parents": [
        "320b2eeeea426dc06f7bb7f37c3d795babeb6adb",
        "9c2a3be8bad8867cc524d8813dc6468a7ffb3f09"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 10:09:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 10:09:59 2009 -0700"
      },
      "message": "Merge change 3126 into donut\n\n* changes:\n  Fix thread safety in DataConnectionTracker.\n"
    },
    {
      "commit": "320b2eeeea426dc06f7bb7f37c3d795babeb6adb",
      "tree": "c205b15188db42eac9871fd4c25f2e7791dce5ae",
      "parents": [
        "1c54cf0903cd81467ca41ec6733c459e10b22763"
      ],
      "author": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Thu Jun 04 17:59:44 2009 +0100"
      },
      "committer": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Thu Jun 04 17:59:44 2009 +0100"
      },
      "message": "SearchDialog should only do DialogCursorProtocol stuff when in global search mode.\n"
    },
    {
      "commit": "1c54cf0903cd81467ca41ec6733c459e10b22763",
      "tree": "bb128d935c2241b02371a0c0e003ff99e3314e06",
      "parents": [
        "241b4c74aab82c07de36479053509f9b27b0f0bb"
      ],
      "author": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Thu Jun 04 15:58:36 2009 +0100"
      },
      "committer": {
        "name": "Karl Rosaen",
        "email": "krosaen@android.com",
        "time": "Thu Jun 04 16:11:47 2009 +0100"
      },
      "message": "Detect impressions, and cleanup the SearchDialog / SuggestionCursor communication.\n\n(framework portion)\n\nThere are now 4 times the search dialog will check with the cursor:\n- after data set changed\n- when an item is clicked\n- when the cursor is about to be closed\n- when an item at a particular position is detected as showing\n\nthese are now the points where we can add data in either direction, which we use to accomplish:\n- finding out whether there are any pending results\n- find out if there is a position at which to notify when it is displayed (the \"more results\" triggering)\n- toggling the \"more results\" button\n- sending the max position that was displayed when the cursor is done\n\nthe new behavior (in addition to the refactoring) is improved detection of \"more results\" to trigger the additional sources\n(it is now precise), and detection of which items were displayed to the user.\n"
    },
    {
      "commit": "241b4c74aab82c07de36479053509f9b27b0f0bb",
      "tree": "9f5ae971744b7dfb64a04408b82a557379748548",
      "parents": [
        "3250fa73711537d42a9711eba6315f24d89dee0f",
        "0f7e914e87070b8528892380f8316d2fe486f65e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 07:08:45 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 07:08:45 2009 -0700"
      },
      "message": "Merge change 3149 into donut\n\n* changes:\n  Turn off verbose logging in SearchableInfo, which seems to have been left on by accident.\n"
    },
    {
      "commit": "0f7e914e87070b8528892380f8316d2fe486f65e",
      "tree": "7b7416e6ecfd4e3ecb70eb313bb3b4f4dd20b257",
      "parents": [
        "3a27803b29dc739685e1e2465a0ca697e4b60d14"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Jun 04 15:07:24 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Jun 04 15:07:44 2009 +0100"
      },
      "message": "Turn off verbose logging in SearchableInfo, which seems to have been\nleft on by accident.\n"
    },
    {
      "commit": "3250fa73711537d42a9711eba6315f24d89dee0f",
      "tree": "bf7568a6d21977bd7c506e8e08123d38a31fd34b",
      "parents": [
        "f762589d1fb2b0c191cfcd96de4fbe6044d7f52a"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 10:33:41 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Jun 04 15:04:38 2009 +0100"
      },
      "message": "Remove support for bitmap icons in search suggestions.\n\nThis is no longer needed, since content providers can now return\nAssetFileDescriptors for in-memory data.\nBitmaps in the suggestion cursor was resopnsible for lots of\nunnecessary copying, since all rows are copied out of the database\nregardless of how many are displayed in the UI.\n"
    },
    {
      "commit": "f762589d1fb2b0c191cfcd96de4fbe6044d7f52a",
      "tree": "bbcfdf4127b0422f41174579b05078a81b60c4db",
      "parents": [
        "c08fc64ff6bca9658c2addcb8ca63ee35bf5464e",
        "3a27803b29dc739685e1e2465a0ca697e4b60d14"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 06:10:37 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 06:10:37 2009 -0700"
      },
      "message": "Merge change 3145 into donut\n\n* changes:\n  Add INTENT_ACTION_WEB_SEARCH_SETTINGS (thereby fixing the build too :)).\n"
    },
    {
      "commit": "3a27803b29dc739685e1e2465a0ca697e4b60d14",
      "tree": "7f9eae33aabd011ab47db9d47c2a9b122dc60b21",
      "parents": [
        "33a22dc9c84ef12006b0c12f6d169d2a74c15284"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Jun 04 14:09:42 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Jun 04 14:09:42 2009 +0100"
      },
      "message": "Add INTENT_ACTION_WEB_SEARCH_SETTINGS (thereby fixing the build too :)).\n"
    },
    {
      "commit": "c08fc64ff6bca9658c2addcb8ca63ee35bf5464e",
      "tree": "af551b9c0e391e6532bc2e2e7035cff6f612f47e",
      "parents": [
        "df9f69dbec067a51559860449602c09058cfd762",
        "c55e08e3fc14475b3b15b4c87aaef7e47ec8a172"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 03:09:43 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 03:09:43 2009 -0700"
      },
      "message": "Merge change 2845 into donut\n\n* changes:\n  Allow making AssetFileDescriptors from SQLite blobs.\n"
    },
    {
      "commit": "df9f69dbec067a51559860449602c09058cfd762",
      "tree": "93c838ea8ad6f2923d3e24b18ef3ef3329972922",
      "parents": [
        "043dadc7516d20c3b3ccbcb20c53aaeef076a237",
        "90cb947c22f05f8ac68ceff1d74af15bf38268c6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 23:30:02 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 23:30:02 2009 -0700"
      },
      "message": "Merge change 1526 into donut\n\n* changes:\n  cdma getNeighboringCids to fail with an exception\n"
    },
    {
      "commit": "90cb947c22f05f8ac68ceff1d74af15bf38268c6",
      "tree": "6f901ff6454a3a9830afb750df22fe4b76d29e1b",
      "parents": [
        "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed May 13 14:44:07 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Thu Jun 04 14:07:13 2009 +0800"
      },
      "message": "cdma getNeighboringCids to fail with an exception\n"
    },
    {
      "commit": "043dadc7516d20c3b3ccbcb20c53aaeef076a237",
      "tree": "4ff8692d43447a1416b3d605e386237c8b97e9d3",
      "parents": [
        "4ee0a751682e713d3d6ca97fa1271df12d352ee0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 02 16:11:00 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 03 20:42:15 2009 -0700"
      },
      "message": "More backup work\n\n* Put in some permission enforcement around agent connection notification\n  and full-backup scheduling.\n* Full backup now applies to any package, not just backup participants who\n  have declared their own android:backupAgent\n* The process of running the backup operation on the set of apps who have\n  been queued for it is now done in a separate thread, with a notification\n  mechanism from the main Backup Manager service to pass along new-agent\n  binding knowledge.  There\u0027s no longer one do-backup message on the primary\n  Handler per target application.\n* The new backup thread sets up the desired transport now and passes\n  along the newly backed-up data to it for each backup target.  Two\n  transports have been defined so far, GoogleTransport and AdbTransport;\n  both are stubs at present.\n\nNote that at present the backup data output file seems to be properly\ncreated, but after doBackup() is called on the test app\u0027s agent it\u0027s\nstill zero size.\n"
    },
    {
      "commit": "9c2a3be8bad8867cc524d8813dc6468a7ffb3f09",
      "tree": "73567169aac1709b2bd100dac584d243cd083ba1",
      "parents": [
        "4ee0a751682e713d3d6ca97fa1271df12d352ee0"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 03 17:26:35 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jun 03 19:09:48 2009 -0700"
      },
      "message": "Fix thread safety in DataConnectionTracker.\n\nAll the methods in DataConnectionTracker should be called only through\nthe handler. Fix this as trySetupData was being called in the broadcast receiver.\n\nTested: Airplane mode and GPRS retry.\n"
    },
    {
      "commit": "4ee0a751682e713d3d6ca97fa1271df12d352ee0",
      "tree": "63b1e77c097e7ea148d4fdfeb6ac59bd8eab05f4",
      "parents": [
        "9654cba89ebf02b68bd7109df2d9f758a30fb8bf",
        "53003de64e1d2b8a4ed4433d5192b540653d79ec"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 17:01:01 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 17:01:01 2009 -0700"
      },
      "message": "Merge change 3095 into donut\n\n* changes:\n  Skip empty lines in test url list.\n"
    },
    {
      "commit": "9654cba89ebf02b68bd7109df2d9f758a30fb8bf",
      "tree": "8f6f4309702c130afab6bd0c4c1d2d9271014c13",
      "parents": [
        "9189cabb0b6c6c28232fe6f412b7ba7a37352a6a",
        "701f5164c1230cc1416b1a1f3b0091ca68f6caec"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 16:32:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 16:32:18 2009 -0700"
      },
      "message": "Merge change 3094 into donut\n\n* changes:\n  Grant permissions to older package when deleting an updated system application. When a system app gets updated, the permissions are granted to the new pkg. Similary when this updated pkg(from data partition) gets removed, the older pkg from system partition is restored. but the permissions are\u0027nt being granted explicitly and so the restore fails. This fix addresses specific bugs related to uninstall of updated system apps. These code paths will be revisited later but this fix is needed for OTA\u0027s that might fall back to older versions of system apps.\n"
    },
    {
      "commit": "9189cabb0b6c6c28232fe6f412b7ba7a37352a6a",
      "tree": "6ddc6a8eb0158cba32cc6139b04c6b6eb9f0ba5f",
      "parents": [
        "eaeb663bcd7a82b654954b42663232cbd7bef7e7"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 11:19:12 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 16:28:10 2009 -0700"
      },
      "message": "* Moved supports-density tag under manifest\n* Refactored Compatibility code\n  * Added CompatibilityInfo class\n  * Removed getApplicationScale from Context\n  * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context\n* Expandable support\n  * Added expandable tag under manifest\n  * Old application w/o expandable is given the default screen size  ([320, 480] x density).\n  * The non-expandable window is centered.\n"
    },
    {
      "commit": "53003de64e1d2b8a4ed4433d5192b540653d79ec",
      "tree": "b600813db91c65f14ac621cd83b5790afd54a417",
      "parents": [
        "b9a39cd300998a1a4577ac7eb87f9b505b8621dc"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 16:01:58 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 16:01:58 2009 -0700"
      },
      "message": "Skip empty lines in test url list.\n"
    },
    {
      "commit": "701f5164c1230cc1416b1a1f3b0091ca68f6caec",
      "tree": "b90842e5c1697daf6d4232f076b7b39df1f1a24d",
      "parents": [
        "cede1ed3e1721dc4a697a540388ef0f4b51c60eb"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jun 03 15:47:55 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jun 03 15:52:04 2009 -0700"
      },
      "message": "Grant permissions to older package when deleting an updated system application.\nWhen a system app gets updated, the permissions are granted to the new pkg. Similary when this updated pkg(from data partition)\ngets removed, the older pkg from system partition is restored. but the permissions are\u0027nt being granted explicitly and so the restore fails.\nThis fix addresses specific bugs related to uninstall of updated system apps. These code paths will be revisited later but this fix is needed for OTA\u0027s that might\nfall back to older versions of system apps.\n"
    },
    {
      "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": "2a2c5cd74128a7750f05683614c9824c9262addc",
      "tree": "1c84af1017a720032e3ebdcb0bc889b704572d3e",
      "parents": [
        "b9a39cd300998a1a4577ac7eb87f9b505b8621dc"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Wed Jun 03 14:08:04 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Wed Jun 03 14:27:52 2009 -0700"
      },
      "message": "Modify the decoding logic in the FD case when a purgeable flag is set,\nand lower the threshold of bitmap size for using ashmem().\n\nFor the decoding logic, we now go through the \"non-purgeable\" path if isShareable is false,\nirrespective of the value of the purgeable flag.\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": "c55e08e3fc14475b3b15b4c87aaef7e47ec8a172",
      "tree": "134d5a100bcdfc73912d49fdf8d2380a9a66ba50",
      "parents": [
        "c1823701cc76790494fb622fe58f0942236cd7d0"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 01 21:50:09 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 12:53:43 2009 +0100"
      },
      "message": "Allow making AssetFileDescriptors from SQLite blobs.\n\nThis change adds a new class SQLiteContentHelper, which contains\na static method for creating an AssetFileDescriptor from\nan SQLite query that returns a blob.\n\nInternally, this uses a file descriptor for a MemoryFile.\n\nThe implementation is temporary. Ideally, the data should be copied\ndirectly from SQLite to the MemoryFile ashmem region, using\nsqlite3_blob_read().\n\nThis is part of the implementation of http://b/issue?id\u003d1871731\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"
    }
  ],
  "next": "3dfd0e131efab40df4beba1e40d232a4fcf807dc"
}
