)]}'
{
  "log": [
    {
      "commit": "78c405178c57bb45e40f1e2839d6a18d91f7f02c",
      "tree": "6e7137f628b8fff1f72c59e5e42f3f4878e0bb39",
      "parents": [
        "ef1f21b34f5624adb7436d3da927660ed16c97c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:07:40 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:12:37 2009 -0700"
      },
      "message": "Don\u0027t re-parse the framework resources all the time.\n\nA small optimization to the resource code, to not re-parse the framework\nresources every time we build a new AssetManager.  Instead, you can now\nconstruct a ResTable from a previously created one...  of course, like the\nexisting code for using the data in-place, you can\u0027t delete the original\nResTable until you have deleted the one that has been constructed from it.\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": "de7faf658cd40d34c08a98b39477055da8e19172",
      "tree": "8450b4d75fbe22a3fed25867c1d53a059c10d664",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "message": "Fix issue #1673793: Theme styles don\u0027t apply.\n\nIt turns out this was not a problem in the resource code at all.  Rather,\nthe system process has a cache of pre-loaded attributes it uses to avoid\ncontinually reloading things as it needs them.  Well it turns out this\ncache wasn\u0027t flushed after a package was uninstalled or a configuration\nchanged, so you could re-install an app where you change its style resources\nso its theme now points to one that is inconsistent in the cache.\n\nThis is mostly a problem for developers, where they continually install\nnew versions of an app where resources have changed.  This could possibly\nshow up when updating an app on a normal phone, although the problem would\neventually correct itself since this cache uses weak references.\n\nAnyway, the cache is now reworked to be flushed appropriately.\n\nThis change also includes an update to aapt to be able to dump the\ncontents of bags in resources.\n"
    },
    {
      "commit": "bd9aa793b19f7aa529ca4123492f8940b96486b8",
      "tree": "558dee159943dc4817dd7be4bef246af9c9b7a42",
      "parents": [
        "c25dbf88fc21c707b72502c43695c2c31ff22a23",
        "287148b80b1eb0e248994410cb24ecce5edda386"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 10:04:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 10:04:09 2009 -0700"
      },
      "message": "Merge change 5593 into donut\n\n* changes:\n  Add in TTS engine interface the methods to query the availability for a language, to set the synthesis audio format, to query the current language, country and variant setting.\n"
    },
    {
      "commit": "287148b80b1eb0e248994410cb24ecce5edda386",
      "tree": "f3ea612a77536a22cc922a8cbe66ebbc08abf911",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 26 17:09:21 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 29 09:52:17 2009 -0700"
      },
      "message": "Add in TTS engine interface the methods to query the availability for a language,\nto set the synthesis audio format, to query the current language, country and\nvariant setting.\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": "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": "d6d03e05bed76a49b8badda98e471bf36304b6ef",
      "tree": "5fa6990b05198b111d51d60ef04b756296c2f918",
      "parents": [
        "ee513b600efeb55040030a3dc9c8e7ef74b36149"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 25 18:37:55 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 26 09:46:28 2009 -0700"
      },
      "message": "Use the same interface in the TTS engine interface for setLanguage and loadLanguage.\nAdding function to check the support level for a language in TTS engine interface.\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": "df65b60ce33e5a56815864f8f0713e25378fa649",
      "tree": "6acc20d2790f5fe93bedf777c130d2b4e60b95aa",
      "parents": [
        "2cf6f5df59d466a729cc10b7688e17cd548a2fda",
        "63bcb79dd437e70593b63cc5a87baab3251c2183"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:58:52 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:58:52 2009 -0700"
      },
      "message": "Merge change 5243 into donut\n\n* changes:\n  Only report \"unknown metadata\" once per restore helper\n"
    },
    {
      "commit": "63bcb79dd437e70593b63cc5a87baab3251c2183",
      "tree": "97eab12039e80d6f16d64e2c3d7dac2073dfae54",
      "parents": [
        "54118adb3766fdf73a409102b88d7494bb6889a3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "message": "Only report \"unknown metadata\" once per restore helper\n\nAlso removes the auto-free object, replacing it with direct memory manipulation.\n"
    },
    {
      "commit": "6f0602e84a0387fe9239a57f44785de40feb051c",
      "tree": "c4f588848a7caa95565131374fa6419732aeaa63",
      "parents": [
        "b1dffc48ca8aec61d99391495b3f436d0e8b16dd"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "message": "Cleanup header file. Disallow copy of Camera object by making copy\nconstructor and operator\u003d private.\n"
    },
    {
      "commit": "b1dffc48ca8aec61d99391495b3f436d0e8b16dd",
      "tree": "0ed71e91e20db61d993388d4ee1bfad3f866cd10",
      "parents": [
        "5e27115995c4506dddf4f1271effd4fb4c935ad3"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 19:09:05 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Remove deprecated callback function support.\nThis is the last of a 3-part change to modify the camera to use\na more streamlined callback interface. This change removes the\nold code.\nBug 1884362\n"
    },
    {
      "commit": "5e27115995c4506dddf4f1271effd4fb4c935ad3",
      "tree": "dd67833f50a64768b2bf25ec4d9dd5daa3a2dd78",
      "parents": [
        "5f80605a0b866f34c74955e190909bd6ab5d992e"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 17:30:11 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Use a ref-counted callback interface for Camera.\nThis allows the camera service to hang onto the callback interface\nuntil all callbacks have been processed. This prevents problems\nwhere pending callbacks in binder worker threads are processed\nafter the Java camera object and its associated native resources\nhave been released.\nBug 1884362\n"
    },
    {
      "commit": "1bee98af6532eba3c6cda636eee890530c95a2a7",
      "tree": "331751ef706fab0d35586cc6751aa8e132a80560",
      "parents": [
        "11b157790234d3d2f116ce4c7ed1d3d00fb78bc3",
        "b6d90ca1292ffab015d5068f9e184b1dc84b7233"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 13:38:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 13:38:34 2009 -0700"
      },
      "message": "Merge change 5100 into donut\n\n* changes:\n  Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "11b157790234d3d2f116ce4c7ed1d3d00fb78bc3",
      "tree": "1db558751d0c942f0c231a0de9de5965aa1d50ba",
      "parents": [
        "2e418428987132ea66533cbc05f9c526eb59519a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:03:00 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:07:47 2009 -0700"
      },
      "message": "Add file mode to the file-backup saved state blobs\n\nThis change puts the file\u0027s access mode into the saved-state blob used by the\nfile backup helpers.  The tests have been updated for the new blob content\nformat.\n\nWhat this change *doesn\u0027t* do is actually backup/restore the file mode.  This\nchange is a prerequisite for that, but mode preservation in backup/restore will\nrequire adding metadata to the backup data stream itself, so will be approached\na bit more carefully.\n\n(Also fixed one outright bug in the test program: ReadEntityData() had been\nchanged to return a ssize_t union of either a byte-count or a negative number\nindicating error, but the test program was still assuming that nonzero \u003d\u003d error,\nand was spuriously failing.)\n"
    },
    {
      "commit": "b6d90ca1292ffab015d5068f9e184b1dc84b7233",
      "tree": "4713ca5d25092a8c630af7af79598ee5bb335208",
      "parents": [
        "b0ae27f4e10a9e5fe56b9ca549718051fe342bba"
      ],
      "author": {
        "name": "David Krause",
        "email": "david.krause@motorola.com",
        "time": "Wed Jun 17 15:46:13 2009 -0500"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jun 23 12:32:12 2009 -0700"
      },
      "message": "Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "aaf4b6b3315fc546396a4b82c8c5cab0c2d2cb85",
      "tree": "a0f381ad14b9f85f6ed6a9d23d55a09eab7727c6",
      "parents": [
        "72be40490951d3f9d0ada16fcf5288d0c3306d88"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 18:04:45 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 18:09:09 2009 -0700"
      },
      "message": "add glTexParameteri() and fix glTexParameteriv()\n"
    },
    {
      "commit": "72be40490951d3f9d0ada16fcf5288d0c3306d88",
      "tree": "c03ccfb9727e67dee8a9106e61a49dff3784ada6",
      "parents": [
        "bbf781379b134812458591722c986cb29c396a5b",
        "5f91097b26f036a45e32f4e4cae3e9e135a6042d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:01:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:01:25 2009 -0700"
      },
      "message": "Merge change 4910 into donut\n\n* changes:\n  fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "06290a4bb9b280fa14a2bbeb2d3ceb09396a78c3",
      "tree": "15fccf5ce4e9c42bba3fc7581ac2ddc0d8363dc9",
      "parents": [
        "eed76b2a8ddc41af01cd3ae87c4722f3784c975c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 20:10:37 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 22 13:02:24 2009 -0700"
      },
      "message": "Helper API cleanup.  Allows multiple helpers to function,\nbecause they\u0027ll always go in the same order, and this lets\nus not have to write headers to keep them paired.\n"
    },
    {
      "commit": "5f91097b26f036a45e32f4e4cae3e9e135a6042d",
      "tree": "f8b6ddcb19437b86fdfce765ffa236e12ccccd2a",
      "parents": [
        "4da7dff5e79e57494b58a97b285c53c111b18c82"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 02:35:32 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 02:35:32 2009 -0700"
      },
      "message": "fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "e17086ba346009a26cc2299b133a0fe602acb6ec",
      "tree": "4fbc5d71e2eab364edf88f3d9aa0a28611fb4efc",
      "parents": [
        "03255de32d127d17504b6d475e6e79190dd637f8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 15:13:28 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 15:13:28 2009 -0700"
      },
      "message": "Report densities in badging, debugging for nine patch bug.\n\nThe aapt tool now reports all available densities like it already did\nfor locales.  Also this includes more resource data output, which I\nwas using to examine bug #1867049 (which at this point I am unable to\nreproduce).\n"
    },
    {
      "commit": "5d605dc56b036232e885f6ec36b888b729673060",
      "tree": "8a29f6a2feb495cbac08bb43b08e0ca9b8cf7dce",
      "parents": [
        "d2d9ceb7305d593c1b767bbb05de0082a9af4109"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:23:43 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "backup stuff\n"
    },
    {
      "commit": "d2d9ceb7305d593c1b767bbb05de0082a9af4109",
      "tree": "1ba39c3c5901d65a18855286e240f177820a6ec6",
      "parents": [
        "abce4e8714bed26a2b37b20ad3f02cf619d71c9a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 13:11:18 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "efd0fab04b96d7ab0c1d8bf3b79397c8621e31c5",
      "tree": "f4b5afd53736822e9dc9e4c0f08140cd6fac8d60",
      "parents": [
        "2cf3971ea4d22f8981ae71e6ba358f19e1628d09"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "message": "FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "5f15d151b5101fadfe6cba1e8f4aa6367e8c603e",
      "tree": "3a94295ffc2935c7ca1550c01a6e793766bf415f",
      "parents": [
        "aa088447baadd2e0bbcfd18cc529645610c13ddc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 16:31:35 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 18:46:50 2009 -0700"
      },
      "message": "checkpoint BackupDatAInput / RestoreHelper\n"
    },
    {
      "commit": "35a8e80bf8cbe3c64fdf59a4a8b7d33bb1cfbb2d",
      "tree": "af67a0ec08ccb97df0cb7de39b618ad874dfad4a",
      "parents": [
        "9908b3d820f7574ef432f22d280c7f1f5065f67f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 15 15:14:49 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 16 13:25:15 2009 -0700"
      },
      "message": "Updating TTS engine interface for setting the language based on language, country and variant codes\ncoming from a java.util.Locale instance.\n"
    },
    {
      "commit": "d670b8c61ebd13324ac21bdbc08d8a02fc0a765a",
      "tree": "c24961f49c83ed6db9784ac9972d683f380f4555",
      "parents": [
        "83bb56c389d003162093eef0aaee251cefc1deed",
        "32f82774884bdd709789ab9f3ccdf5b972ff7681"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:32:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:32:09 2009 -0700"
      },
      "message": "Merge change 3981 into donut\n\n* changes:\n  Removed trailing whitespaces.\n"
    },
    {
      "commit": "32f82774884bdd709789ab9f3ccdf5b972ff7681",
      "tree": "ef2b6af8c2d2c68838b1e10496f3b8cff2e644e0",
      "parents": [
        "cb9534f92007b47d86cccc306dc75ca2d64bd197"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jun 11 16:33:49 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jun 11 16:54:48 2009 -0700"
      },
      "message": "Removed trailing whitespaces.\n"
    },
    {
      "commit": "ce88cb15b52998e16c3ba548a4ec49117a835e21",
      "tree": "dc02e85657a63858b45a5eef8f99cbf5efae6339",
      "parents": [
        "23ecae3bbb60c5af940f3a22170d75eb6ac05b69"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:27:16 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 14:51:45 2009 -0700"
      },
      "message": "Make the file backup helper not crash if a file you requested\ncan\u0027t be stated.  This means you don\u0027t need to know if the files\nyou are backing up exist or not -- we\u0027ll figure it out for you.\n"
    },
    {
      "commit": "23ecae3bbb60c5af940f3a22170d75eb6ac05b69",
      "tree": "1138102ba856743cffd931121409a71c2bae37c3",
      "parents": [
        "0b77453076a22569f24318d194b378b68f11a63e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 10 17:07:15 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:29:57 2009 -0700"
      },
      "message": "Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n\nThis took quite a bit of refactoring.\n"
    },
    {
      "commit": "b2df1699c996e62baa78877978cd2c5607ea4194",
      "tree": "442c0e288e853fbf2b0978bad6db676fe59e619f",
      "parents": [
        "bad927a987d30fc63e0b280b3a99a9ba4a9520ea",
        "2bcda90c0234f67f210a96f195b355493ca7d1ff"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 15:58:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 15:58:21 2009 -0700"
      },
      "message": "Merge change 1548 into donut\n\n* changes:\n  NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).\n"
    },
    {
      "commit": "2bcda90c0234f67f210a96f195b355493ca7d1ff",
      "tree": "ccc9334fe1faca406e67d4bb1822d8195dba5c35",
      "parents": [
        "be512bff60626efc9a4b85d271d6210b9115e5fc"
      ],
      "author": {
        "name": "Jianhong Jiang",
        "email": "jianhong@google.com",
        "time": "Mon Jun 08 08:50:42 2009 -0700"
      },
      "committer": {
        "name": "Jianhong Jiang",
        "email": "jianhong@google.com",
        "time": "Mon Jun 08 08:50:42 2009 -0700"
      },
      "message": "NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).\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": "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": "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": "14f861a24af316ec6d60ef8f17c954b50a7f6fec",
      "tree": "4bb70c798dcf7ad14f84b540189e43f925080f7c",
      "parents": [
        "b0ded43d3844d9d97c5d554e8ca4ec3ee2c7bbe1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 28 11:11:25 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 28 11:11:25 2009 -0700"
      },
      "message": "Adding TTS error code to signal missing resources (for instance missing language files).\n"
    },
    {
      "commit": "f1472a79728324f4f6b5d66af986e9e9db24d0aa",
      "tree": "a2564a0aa4ee3ebb7ff4980ca86dbac09ecbec7e",
      "parents": [
        "c29df57e5abb09c7e1ceed153e8f2b906f522d7b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 26 17:44:57 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 26 17:47:39 2009 -0700"
      },
      "message": "minor clean-up to Rect and Point.\n\n- return \"const\" objects for overloaded operators to disallow constructs like: (a+b) \u003d c;\n- don\u0027t return references to non-static members, it\u0027s not always safe.\n- Point.cpp was empty, so get rid of it\n"
    },
    {
      "commit": "4bc035a65cac177be9294e69f110497e3b6e34e6",
      "tree": "634b5bde8fc4cae5a7b77ee3cde01f04bc9ae7fc",
      "parents": [
        "a5f158bdde77f8d173d1f1c95d0f92405c519b0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 09:18:15 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 07:44:28 2009 -0700"
      },
      "message": "Fix issue 1846343 - part 1\n\nThis change is the first part of a fix for issue 1846343, :\n- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.\n- renamed streamType to inputSource in all native functions handling audio record.\n\nA second change is required in opencore author driver and android audio input to completely fix the issue.\n"
    },
    {
      "commit": "895fb8e5f332b565c42b2131387f2b3412e9123a",
      "tree": "9c188988c16b97224a761f2f6c1ddeefdec5efae",
      "parents": [
        "aeed1816b7bbf8948c1daed48db6fe7567f338af"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 21 15:32:11 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 21 15:32:11 2009 -0700"
      },
      "message": "Add header declaring the interface for TTS engines to implement.\n"
    },
    {
      "commit": "9890815e427c49192efd738a8ae07ce038da92be",
      "tree": "646c4fae7b60c45fe8b43a91397ab47749efe1ef",
      "parents": [
        "2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 14:33:23 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 14:33:23 2009 -0700"
      },
      "message": "bring the native_handle stuff back from master_gl\n"
    },
    {
      "commit": "d2110dbce071a236b6176de344ca797b737542eb",
      "tree": "996e044c8c7bf49463394bc911f0277d969bde5d",
      "parents": [
        "40f5a4ea3bc90e43a442ab336f2342020bba86b3"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 19 13:41:21 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 20 11:24:20 2009 -0700"
      },
      "message": "Hook up the backup data writer, and add a utility to read the backup data files.\n"
    },
    {
      "commit": "bb9ea30ea9e390e69602935571795d2c80dc7b91",
      "tree": "49aa4e0e04f5c3d906149eff4ef6c1b93f3aa9c6",
      "parents": [
        "ce2372de58ad018623748f63e61ffc70c9eb8895"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 18 15:22:00 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 18 15:22:00 2009 -0700"
      },
      "message": "Update aapt badging for native code, configs, density, etc.\n"
    },
    {
      "commit": "2e1da32203b7f6df76023f25a7382a31fad6b19d",
      "tree": "4595241ae1e0e2207fc2285774f6fef86320e6b6",
      "parents": [
        "4535e40544aeb957d44fad75fbe5676effe03689"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 18:20:19 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 18:20:19 2009 -0400"
      },
      "message": "Add the backup data file writer C++ class.\n"
    },
    {
      "commit": "4535e40544aeb957d44fad75fbe5676effe03689",
      "tree": "6861c7e610cd7061338b361ecab09d6b19ac3ca6",
      "parents": [
        "eae850cefe7e149f396c9e8ca1f34ec02b20a3f0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 09:07:06 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 10:37:10 2009 -0400"
      },
      "message": "Implement the C++ class to write the backed up file data.\n"
    },
    {
      "commit": "290bb011c5c1a9ba1f2116810b06cf52a9c36b3e",
      "tree": "cfb9ce077d79021e86c1b8d7951f3655520f368d",
      "parents": [
        "ec2d74d40f9b7a8bf96feeb45a5d054d8b0ce0dd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 13 18:57:29 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 14 09:39:32 2009 -0400"
      },
      "message": "Get the backup calling through to the file backup helper.\n\nThis includes some cleanup to make the parameters match\nbetween BackupService.onBackup and FileBackupHelper.performBackup.\n"
    },
    {
      "commit": "d6289b1b03d209219c2dd3126ee8839a45682b33",
      "tree": "1c7d73bff30577aaf680aea9f72df5a219a1ca2d",
      "parents": [
        "b4735b6c04c6bca3219115395748a1b5ef02ff6c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 19:27:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon May 11 07:36:58 2009 -0700"
      },
      "message": "Modify camera framework to use new streamlined binder interface.\nThis is the second half of bug 1837832. Modifies the camera client\nand camera service to use the new binder interface. Removes the\nold binder interface. There will be one more part to this change\nto surface the undefined callbacks to the Java layer so that\npartners can implement new features without having to touch the\nstack.\n"
    },
    {
      "commit": "c825d3ebd6ca66e65e63fdc76f032e08aa2a8e22",
      "tree": "dd9eca8ae68aaab8ed8d692ccf425a76541e9972",
      "parents": [
        "1e09a72a75f5e6236acffe84f2758dd042b1c8c0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 06 12:55:46 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 08 09:33:19 2009 -0700"
      },
      "message": "fix the sim build.  disables the tests for now.\n"
    },
    {
      "commit": "2a04aefdf03abbdabb035f89c8a1df636c168de0",
      "tree": "af1373ffe5244655f868c9145fdf3813fe82e66a",
      "parents": [
        "50396063c2fbb1f427cf31e0b8a56567fb5a069c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 12:25:25 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 12:25:25 2009 -0700"
      },
      "message": "Add new binder methods to camera client to support generic callbacks\nThis is the first step in a multi-step change to move from the old\nspecific callbacks to a generic callback. This will allow future\nflexibility in the interface without requiring binder rewrites.\nBug 1837832\n"
    },
    {
      "commit": "f3af740bdfc261b1cb25c0799af780d3753d4518",
      "tree": "f33c3453caf03db8c4b7a358ddc8a8d3945076ae",
      "parents": [
        "b9c9d260f21b321527c4622a123af9767630d94d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 05 00:49:01 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 11:35:46 2009 -0700"
      },
      "message": "Fixed issue 1709450: Requirements for CDMA Tone Generator\n\nAdded new tone types for CDMA IS-95 specific tones.\nAutomatic selection between IS-95, CEPT and JAPAN version base on operator\ncountry code for call supervisory tones.\nAlso improved tone generator capabilities:\n- Each tone segment can now generate its own set of frequencies\n- A tone does not have to be a succession of alternating ON/OFF segments\n- The sequence repetition does not have to start from first segment\n"
    },
    {
      "commit": "3ad977b41c6e4ef30c2f4f316b909b742ffc04aa",
      "tree": "0b3c7a5263817709bc31c19e02f9fbc19b63de82",
      "parents": [
        "06d96020c35dac2bf1651cb8bd4cfced911f1142"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 05 11:50:51 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 05 13:45:25 2009 -0700"
      },
      "message": "Add some C++ code to do raw files for backup\n"
    },
    {
      "commit": "325ac475c51dc0d54503f725179ea2d9353485bb",
      "tree": "4345b6602a076488623b2815f1af55f112b8b7d3",
      "parents": [
        "3eab744d018924189b1b8f5530accd52e91213de"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 27 12:01:59 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 27 12:01:59 2009 -0700"
      },
      "message": "Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)\n- remove an unused Camera constructor\n- add a check on the argument in Camera::create() method\n"
    },
    {
      "commit": "3eab744d018924189b1b8f5530accd52e91213de",
      "tree": "f9002bced44ef10597b196f8c09b3f0f6843d9b3",
      "parents": [
        "1fb758e94b5b9e342b6dc6452cb5bd7cf0cc4ed6",
        "e9d376b801b7890b1ef5006ed55de4208e64bb63"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 27 09:18:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 27 09:18:14 2009 -0700"
      },
      "message": "Merge change 376 into donut\n\n* changes:\n  Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background\n"
    },
    {
      "commit": "e9d376b801b7890b1ef5006ed55de4208e64bb63",
      "tree": "9c4840944aeaccfe4c9eaf6a72a164af38f17ed1",
      "parents": [
        "03a54faa454381e8d67fe11b1be2b2d54f3894c6"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 21 14:06:36 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Apr 27 09:17:06 2009 -0700"
      },
      "message": "Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "0a9b5bbb47a965238ca0e1e699d61d7ddd054742",
      "tree": "4a6f50aed3f4be6c55f7a50c54b756a60643120b",
      "parents": [
        "5616a7d1dea1aecc8353bab144d14446aa33391a",
        "2adc2dbbd65fc89983f20702db2004f9b8cf8258"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 23 15:58:38 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 23 15:58:38 2009 -0700"
      },
      "message": "Merge change 509 into donut\n\n* changes:\n  Fix a media server crash (bug 1807910): part one Add a factory method that creates a Camera object from a remote client\n"
    },
    {
      "commit": "2adc2dbbd65fc89983f20702db2004f9b8cf8258",
      "tree": "c6cb8b422dbe5e3f1bd41eec0f0944216e1856c9",
      "parents": [
        "0a57e5b730beaea75c1c1b1ca51b40c463918b4d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 23 14:07:23 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 23 14:07:23 2009 -0700"
      },
      "message": "Fix a media server crash (bug 1807910): part one\nAdd a factory method that creates a Camera object from a remote client\n\nNext:\nThe changes in authordriver.cpp and android_camera_input.cpp will come.\nand the constructor for Camera object will be removed.\n"
    },
    {
      "commit": "96e20409afc720f61d0cd49bf1441f62069bd6bb",
      "tree": "8088015f1763a454848ad35d4f5dc8f64ebcf6f4",
      "parents": [
        "644cf62660c87a9b8d5bcb22412cc2ad2aeea291"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 22 14:35:11 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 22 14:35:11 2009 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 012b56fc607cf243cf4b29cb2a5f172bcbe0aecd\nAuthor: Robert Greenwalt \u003crobdroid@android.com\u003e\nDate:   Wed Apr 22 14:31:26 2009 -0700\n\n    Additional fixes and tests for density.\n\ncommit 91fdc8e187551ae69e0029a4325fb3ad38fe411b\nAuthor: Robert Greenwalt \u003crobdroid@android.com\u003e\nDate:   Tue Apr 14 14:39:00 2009 -0700\n\n    Fix runtime resource selection logic.\n\n    Fix isBetterThan so that o or this may be supperior at any stage.\n    Used to only handle this-better or tie at each stage, biasing against o.\n    Also allows reset of unit test to succeed.  Fixes bug 1709202.\n"
    },
    {
      "commit": "ef02827d4c3b9c0601eddc9c348fc2ea866420a2",
      "tree": "d5f3e26f262cd16e5d95e89ef3be688c8766c5b3",
      "parents": [
        "a0c9e8526b094e3b4f2c2747622059215d00516f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 21 07:56:33 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 21 07:56:33 2009 -0700"
      },
      "message": "Fix issue 1745312: Various cleanups in media framework\n\nAudioTrack, AudioRecord:\n  - remove useless mAudioFlinger member of AudioTrack and AudioRecord.\n  - signal cblk.cv condition in stop() method to speed up stop completion.\n  - extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily\n\nAudioFlinger:\n  - remove some warnings in AudioFlinger.cpp.\n  - remove function AudioFlinger::MixerThread::removetrack_l()  as its content is never executed.\n  - remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().\n  - Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.\n\nAudioSystem.java:\n  - correct typo in comment\n\nIAudioflinger, IAudioFlingerClient:\n  - make AudioFlinger binder interfaces used for callbacks ONEWAY.\n\nAudioHardwareInterface:\n  - correct routeStrings[] table in AudioHardwareInteface.cpp\n"
    },
    {
      "commit": "f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75",
      "tree": "1dd68eeddbfa83d571a3544d6d2e25ba9be21b49",
      "parents": [
        "1eb75a0b3770177c3f0d0c2e843f80fc34451ef5"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "",
        "time": "Fri Apr 10 16:24:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 10 16:24:47 2009 -0700"
      },
      "message": "AI 145778: Manual merge changes 145382-145384 from cupcake.\n\nAutomated import of CL 145778\n"
    },
    {
      "commit": "a7f1e5c540ff7b94c212facdcd89459cba3e4edc",
      "tree": "b274b0d2709ce9eb453c7297f2fe87e824c75eec",
      "parents": [
        "321ae681cad03d00ad1efc6f06f74268e00172a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "",
        "time": "Fri Mar 27 16:27:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 16:27:16 2009 -0700"
      },
      "message": "AI 143177: am: CL 142889 Fix issue #1736153\tCamera shutter sound can be muted by new AlarmClock setting.\n  Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.\n  The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.\n  Original author: elaurent\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143177\n"
    },
    {
      "commit": "66b8ec99c5fc505877b3711a52e284bbb451f836",
      "tree": "7551907d6083bcd455632f84f528cbd4d06ffd04",
      "parents": [
        "1e880dba106b14619c3eaf94c5dc2d1a943645bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "",
        "time": "Fri Mar 27 16:10:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 16:10:37 2009 -0700"
      },
      "message": "AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor\n  Original author: mathias\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143171\n"
    },
    {
      "commit": "78c131473165830c8d042a0f445ca858aaa7a4b1",
      "tree": "e34aa7423450760068a5ac5697f394802e55db91",
      "parents": [
        "32048300e917c9181927ac017d02855bbde940ef"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 19:48:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:48:58 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141200,141200\n"
    },
    {
      "commit": "4610f7d1f9c98c5abcb47d45b51bade2443fa84a",
      "tree": "57d3c6bfc5fd82f931bb46affda9f091692a23bc",
      "parents": [
        "e4787558f85fca4c6383a81caf6f5d07e43a1844"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "",
        "time": "Tue Mar 24 18:45:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:45:20 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140866,140866\n"
    },
    {
      "commit": "4a5c1a7e84a250eafe0e3a12d859c45747520d55",
      "tree": "eb0ff9222bd6535c82662ae84931680c6ef97ce1",
      "parents": [
        "59f026f2dd71a5d2676f0808a0c4c4d5354963bb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 18:11:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:11:07 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140663,140663\n"
    },
    {
      "commit": "105925376f8d0f6b318c9938c7b83ef7fef094da",
      "tree": "3b19ee2bd8704cb9c6a0da7e42dec6759183de6d",
      "parents": [
        "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@140373\n"
    },
    {
      "commit": "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93",
      "tree": "ee35f76532767dc29411a8738a434d1d88d330f2",
      "parents": [
        "c39a6e0c51e182338deb8b63d07933b585134929"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@138607\n"
    },
    {
      "commit": "c39a6e0c51e182338deb8b63d07933b585134929",
      "tree": "e55fc5bd38b1eb8fb4851a0fe1cc264a7fe2f245",
      "parents": [
        "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137873\n"
    },
    {
      "commit": "53b404521227d30353f0f2421458103dff903626",
      "tree": "7f7af71e9d8f79fa33d27a820fc87af365a0f231",
      "parents": [
        "b22d55b9f8048b2a1ed99b90894c19388bebd7ae"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 17:04:48 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 17:04:48 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136654\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c",
      "tree": "aa3b0365c47cb3c1607c0dc76c8d32b4046fc287",
      "parents": [
        "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b",
      "tree": "d03d027a7ed97af616904e02a7b420babf40d44f",
      "parents": [
        "3001a035439d8134a7d70d796376d1dfbff3cdcd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132569\n"
    },
    {
      "commit": "3001a035439d8134a7d70d796376d1dfbff3cdcd",
      "tree": "343ccdba15a594ff6e50c874a145232753315a30",
      "parents": [
        "da996f390e17e16f2dfa60e972e7ebc4f868f37e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "da996f390e17e16f2dfa60e972e7ebc4f868f37e",
      "tree": "00a0f15270d4c7b619fd34d8383257e1761082f4",
      "parents": [
        "d24b8183b93e781080b2c16c487e60d51c12da31"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "22f7dfd23490a3de2f21ff96949ba47003aac8f8",
      "tree": "41bc290bb2f1f08a0e37cfda4955742a85d42ecf",
      "parents": [
        "9266c558bf1d21ff647525ff99f7dadbca417309"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "9266c558bf1d21ff647525ff99f7dadbca417309",
      "tree": "1630b1ba80f4793caf39d865528e662bdb1037fe",
      "parents": [
        "b798689749c64baba81f02e10cf2157c747d6b46"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
