)]}'
{
  "log": [
    {
      "commit": "7303c6bf1a8b00a0e7d8165d774a1f259b4ccda9",
      "tree": "329ae25bcf03c06ddca3828a038bd499c63dbee0",
      "parents": [
        "6b5513538aedc19c624ff7a260c832dcfae630f2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:11:53 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:50:51 2009 -0700"
      },
      "message": "get rid of references to MemoryDealer in SurfaceFlinger\n"
    },
    {
      "commit": "6b5513538aedc19c624ff7a260c832dcfae630f2",
      "tree": "b007839207fe20a2868790920869203f4a0f0c6f",
      "parents": [
        "759fdb2ef735422d6b8c65e168fa9d1c24562a86"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 17:36:04 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:46:57 2009 -0700"
      },
      "message": "forgot to remove those files\n"
    },
    {
      "commit": "759fdb2ef735422d6b8c65e168fa9d1c24562a86",
      "tree": "043f7f5a9288a37b0e888ebb2d537930c154a149",
      "parents": [
        "84d1f7a09827fe195dd08b647b8c5092d03516f7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 17:33:40 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:45:29 2009 -0700"
      },
      "message": "free gralloc buffers as soon as possible (when a surface is not visible any longer), client who have the buffers still mapped won\u0027t crash, btu may see garbage data\n"
    },
    {
      "commit": "84d1f7a09827fe195dd08b647b8c5092d03516f7",
      "tree": "3ae98a01683005e0fd44a5ca58d9cb453172157e",
      "parents": [
        "2dd6727c46120f2164f7ac447281f485ece9bc72",
        "9ff0fe07b6a93c1dbf967298dbba50e136bc4162"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 18:33:18 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 18:33:18 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "78f1c1949ff509b88cc094ed782656c5fba9262a",
      "tree": "84d5dd7448140cdfea396525cddc22e2afe928b1",
      "parents": [
        "854129514ce847f726f0cfc8323cb631ccb6094b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 17:47:38 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 17:47:38 2009 -0700"
      },
      "message": "Allocate 16MB for surfaces on Firstone, since 8MB is way to small for our bigger screen.\n"
    },
    {
      "commit": "cd998742c3b439eff94683e236c09c70c9729ecf",
      "tree": "ced08bb77259f4c9fadc00c1f9dab38e9d889994",
      "parents": [
        "5c670fbc50a5eaf5615fbff48cdf82a84d8059e3",
        "988fb62884c108e487a39ef03f0873f74525a9c8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 01 11:20:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 11:20:08 2009 -0700"
      },
      "message": "am b8a10fe4: Allow setPreviewDisplay after startPreview.\n\nMerge commit \u0027b8a10fe45657f2dcc50cae8a06805f8438a6937e\u0027\n\n* commit \u0027b8a10fe45657f2dcc50cae8a06805f8438a6937e\u0027:\n  Allow setPreviewDisplay after startPreview.\n"
    },
    {
      "commit": "99da6dd7f26d31865794d25d062f150ac2bf5dc3",
      "tree": "e6754504b687d551ed6faaa1f8ab27e52565c881",
      "parents": [
        "23c6a451be917cddbb611e60232c319324eea62e",
        "5cb3aa855aa6fe2059fa1a0b48596c70a2b1be62"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 00:06:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 00:06:47 2009 -0700"
      },
      "message": "am 58ebdcc0: Merge change 5625 into donut\n\nMerge commit \u002758ebdcc06eca06741460a7db2be4b79e3865eb88\u0027\n\n* commit \u002758ebdcc06eca06741460a7db2be4b79e3865eb88\u0027:\n  fix [1947273] the DimLayer causes the whole screen to update during transactions\n"
    },
    {
      "commit": "988fb62884c108e487a39ef03f0873f74525a9c8",
      "tree": "28dee31c23cf25106f7ae5e8c1e76ddd5e9ff9aa",
      "parents": [
        "0bfb456fc044666c76e5047eec19487c778e4706"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 23 23:37:36 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 01 01:41:25 2009 +0800"
      },
      "message": "Allow setPreviewDisplay after startPreview.\n"
    },
    {
      "commit": "2dd6727c46120f2164f7ac447281f485ece9bc72",
      "tree": "4901babf821aab916b66944675a470abeb8a145f",
      "parents": [
        "29d06ac9a45e564b4f935b91067fc92c2d4c193d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:53:53 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:57:42 2009 -0700"
      },
      "message": "when there is a choice between UPDATE_ON_DEMAND and SWAP_BUFFER optimizations, choose UPDATE_ON_DEMAND which is often more efficient.\n"
    },
    {
      "commit": "29d06ac9a45e564b4f935b91067fc92c2d4c193d",
      "tree": "cd222364df15c9fc100614fad8bb41b9b1df106e",
      "parents": [
        "9f96145725ff3f265712d607d19078fb91a5c8ec"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:49:56 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:49:56 2009 -0700"
      },
      "message": "fix a bug that caused artifacts when SWAP_RECTANGLE was enabled\n"
    },
    {
      "commit": "9f96145725ff3f265712d607d19078fb91a5c8ec",
      "tree": "353412441f6f9e59e3cafcf29a2189d510b19d9a",
      "parents": [
        "446ff920387052887bc905cc0cc439a7e3c38b83"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:46:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:46:37 2009 -0700"
      },
      "message": "Region::makeBoundsSelf() efficiently turns a region to its bounds\n"
    },
    {
      "commit": "446ff920387052887bc905cc0cc439a7e3c38b83",
      "tree": "2ada36e85d16b8107862ca03e2322073733cb47c",
      "parents": [
        "295eff200867d58bbd1b21711c6ef0a7c10c9f95"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 17:32:20 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 17:32:20 2009 -0700"
      },
      "message": "don\u0027t use a 1/4th of the screen size texture for the dim layer\n\nwe can\u0027t use a texture of 1/4th of the screen for the dim layer, because the mdp internal input resultion is alwyas integers and for very small blits of a couple pixels the scale factor can get way out of range, for instance for a 7 pixels source, the scale factor would be either 7 (7/1) or 3.5 (7/2) instead of 4 (7/1.75). This caused the mdp to fail in some cases and revert to software. we now always use a texture of the actual screen size, so the problem will never happen. This burns 300KB of pmem instead of 21KB. On devices with a larger screen we might want to use a smaller texture and tile it by hand.\n"
    },
    {
      "commit": "468edaa46d96dda79332babb580a731dc9662aa5",
      "tree": "5151f210b66e11bcfc34a1baa006573d4e265e80",
      "parents": [
        "ff10113dd45b6a8cb32ccaf36b2bc768c06ff26a",
        "d8c2564bbf3e563f2e392fe2822c136e2ee74683"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:37:39 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 29 16:37:39 2009 -0700"
      },
      "message": "am d09f86ce: Merge changes 5548,5549 into donut\n\nMerge commit \u0027d09f86ce175fad6ddbd446363f327dfa0575a1d2\u0027\n\n* commit \u0027d09f86ce175fad6ddbd446363f327dfa0575a1d2\u0027:\n  Better (and less) logging from backup.\n  Add an extra null terminator.  String8::unlockBuffer is\n"
    },
    {
      "commit": "b9c8a7349671ed003f40f70412ed0bbacab90931",
      "tree": "2b844d47e2f1ae943a3ab7b4e75bb266d7ad55bc",
      "parents": [
        "1e10e6434b7cb9e119992ce3b9c712091812e9d1",
        "899543b030082ffb034d85943a1635b9b4b84f8c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:37:17 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 29 16:37:17 2009 -0700"
      },
      "message": "am 72eb0aca: Merge change 5483 into donut\n\nMerge commit \u002772eb0acad5cffc57ce5006f6deab29ee259e461e\u0027\n\n* commit \u002772eb0acad5cffc57ce5006f6deab29ee259e461e\u0027:\n  Expand support for different screen sizes.\n"
    },
    {
      "commit": "a8d44f75e1934072713371a2dcd143c63ffcbe0e",
      "tree": "abb09cfa5769da6fa403ed515ada22b8e3dbb35d",
      "parents": [
        "b8a5560e1303cb10f5cd482af466fc04d2bdfcab"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 28 02:54:16 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 14:44:11 2009 -0700"
      },
      "message": "fix [1947273] the DimLayer causes the whole screen to update during transactions\n"
    },
    {
      "commit": "6b3287b5d4933cebf87b43aaf564cc2963d796d6",
      "tree": "f76dde21d33312da8e3e3eff69db0467b2e2090c",
      "parents": [
        "ce6d17210750258ac990cbd13bfeaf9252cf2bb5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 28 02:54:16 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 28 02:54:16 2009 -0700"
      },
      "message": "fix [1947273] the DimLayer causes the whole screen to update during transactions\n"
    },
    {
      "commit": "b8a5560e1303cb10f5cd482af466fc04d2bdfcab",
      "tree": "3d8e2c45d87cb1dcb85e36978ea1658d6cd7db91",
      "parents": [
        "17b2ad027b4b72b96dfb663c0ea001972da7ef58"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 26 19:06:36 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 26 19:06:36 2009 -0700"
      },
      "message": "fix an update bug with SHOW_UPDATE debug feature. Fix a problem with the debug binder codes too\n"
    },
    {
      "commit": "d8c2564bbf3e563f2e392fe2822c136e2ee74683",
      "tree": "5f96f3ac2c60d87323c43a7364e2b4c5214f49b9",
      "parents": [
        "5579a65263a93786219737f28c7b902ff3bf4529",
        "6eabaa311f752bba624dff00a62b02a34119f55a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:19:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:19:59 2009 -0700"
      },
      "message": "Merge changes 5548,5549 into donut\n\n* changes:\n  Better (and less) logging from backup.\n  Add an extra null terminator.  String8::unlockBuffer is supposed to be doing this, but it\u0027s not and I can\u0027t figure out why.  This makes BackupHelperDispatcher able to read the keys correctly.\n"
    },
    {
      "commit": "6eabaa311f752bba624dff00a62b02a34119f55a",
      "tree": "d73bd5b89127ea2f627bf5b9a2d9ac8771aab505",
      "parents": [
        "0fccd5bfc05dce04f4400d56b0ca811c7ba9de99"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 17:19:11 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 17:19:11 2009 -0400"
      },
      "message": "Better (and less) logging from backup.\n"
    },
    {
      "commit": "21342c5c19c1768fe98a30155bfa97fa4138dc80",
      "tree": "37ffbb81e46542c2387e96be46ec5a2a1a9952b6",
      "parents": [
        "955a6690f49e670ef0e03857f118f1ce79ace91e"
      ],
      "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": "d512f238a6c439c422a229fe53a86dc386bd3b58",
      "tree": "b305f83c609313f1bc3f0c5f10f88c2d407ce5e0",
      "parents": [
        "958b3cac99cef204767b9c8f5bb8e20cbe1fc97b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 17:41:12 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 17:41:12 2009 -0700"
      },
      "message": "add support for out-of-range copybit scaling. camera capture is in color again\n"
    },
    {
      "commit": "958b3cac99cef204767b9c8f5bb8e20cbe1fc97b",
      "tree": "049f6e81a2b1f9cf74fa43c74a93eaf29b3f9bee",
      "parents": [
        "240c9fe59e9db5807c88796f60889acc44ba845c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 16:21:32 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 16:21:32 2009 -0700"
      },
      "message": "use 1/16 the size (20KB) for the dim texture in the copybit/msm case\n"
    },
    {
      "commit": "240c9fe59e9db5807c88796f60889acc44ba845c",
      "tree": "cd793b55234d4b87cdc32a7ae52809691579f08a",
      "parents": [
        "2ab55a4e31c37d74abdd85486e1f4045c7f708e2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 15:39:25 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 15:39:25 2009 -0700"
      },
      "message": "use copybit for eglSwapBuffers() copy-back operations\n"
    },
    {
      "commit": "694fcc5d1d3505c034a2cb89b6150214e7cea0fd",
      "tree": "f6227f22f57d9d1d5fe0d82edc2fc75ba3c9dd20",
      "parents": [
        "39e0745497bfe09b251ce57c41717b382d328b5c",
        "a54d053e79794f4fde5508eae0fdd792e08a31db"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:11:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 25 15:11:09 2009 -0700"
      },
      "message": "am c44989d6: Merge change 5350 into donut\n\nMerge commit \u0027c44989d6c7bcc761fb37f54fd37aac2070ba8e5e\u0027\n\n* commit \u0027c44989d6c7bcc761fb37f54fd37aac2070ba8e5e\u0027:\n  move ui/Time.cpp to core/jni, since this is the only place it is used\n"
    },
    {
      "commit": "a8664df810ad46ce33c0ea28d4e648c067112db8",
      "tree": "53c63e4eb2709b2100586f1a13118a4e750824fa",
      "parents": [
        "d654ae6d7eadd919b8e5983fabd3e60c9e04bdf5"
      ],
      "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": "2ab55a4e31c37d74abdd85486e1f4045c7f708e2",
      "tree": "d4ff7f4fe7ac7a6078eb819077e1325d7938e28e",
      "parents": [
        "8d2e83b9f44c7f2207a312fcfda8eb3a4c26745f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 22:39:26 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 00:09:27 2009 -0700"
      },
      "message": "make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently\n"
    },
    {
      "commit": "5911aa9510caad7c5d1dea849f9d2c8321fa9d7b",
      "tree": "acd8a122221e5473e7912ccba1f38bd94e3e291b",
      "parents": [
        "69029eb5abfaeb52716b84db89e32dc742551508"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 16:55:59 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 20:39:16 2009 -0700"
      },
      "message": "copybit now uses a native_handle_t* instead of a fd/offset\n"
    },
    {
      "commit": "69029eb5abfaeb52716b84db89e32dc742551508",
      "tree": "42f99fe892035c13c17fcee07582a607a5566355",
      "parents": [
        "4c4b387afb2e775fcac3b81a249bb7646515dffa"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 21:11:43 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 20:39:16 2009 -0700"
      },
      "message": "hack copybit back in for video playback on msm7k. we have h/w accelerated video again\n"
    },
    {
      "commit": "4c4b387afb2e775fcac3b81a249bb7646515dffa",
      "tree": "893af3f7521ad4aa204449dc58132b21177e41fb",
      "parents": [
        "2e123245811a1f31c080a29728fcc1655045f011",
        "6ebed6600464d507a651d99792baa3a23a4f0766"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 18:31:21 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 18:31:21 2009 -0700"
      },
      "message": "merge master in master_gl\n"
    },
    {
      "commit": "6ef6895b03881d565643077c5d86591c5a3f4951",
      "tree": "e6768fdce462c506c237caeddf7e6febdb171106",
      "parents": [
        "21c7d43004d4bef58848f2da8232a96b1569b474",
        "b6ab1e901092072ca9a933a6eff2bcb9969cdc4b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:45:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:45:20 2009 -0700"
      },
      "message": "am df65b60c: Merge change 5243 into donut\n\nMerge commit \u0027df65b60ce33e5a56815864f8f0713e25378fa649\u0027\n\n* commit \u0027df65b60ce33e5a56815864f8f0713e25378fa649\u0027:\n  Only report \"unknown metadata\" once per restore helper\n"
    },
    {
      "commit": "3fc010e74e1c4f9627daf1d48ed9d89702bf8028",
      "tree": "73c983a903966914ab4ec5758deef9be6df161b7",
      "parents": [
        "5a35e220c5bfa5458c72498a899c86819d36d1a2",
        "6441a76b2ed24eddcadc6a0763dd674c3aa38c46"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 15:44:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:44:40 2009 -0700"
      },
      "message": "am 54118adb: Put back LOGP -\u003e printf in the backup helper code\n\nMerge commit \u002754118adb3766fdf73a409102b88d7494bb6889a3\u0027\n\n* commit \u002754118adb3766fdf73a409102b88d7494bb6889a3\u0027:\n  Put back LOGP -\u003e printf in the backup helper code\n"
    },
    {
      "commit": "5a35e220c5bfa5458c72498a899c86819d36d1a2",
      "tree": "ffb5b28617242ba4f701a27d2f6a9cd65e64e46d",
      "parents": [
        "fc486ea207440a2a17287371575ed0e1d9d41fff",
        "8068d16df69034d917f201f8c4ca20c47fb4e3d2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:44:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:44:37 2009 -0700"
      },
      "message": "am 0e034e5a: Merge change 5162 into donut\n\nMerge commit \u00270e034e5a9a71e5e196baff630dca796a0e3ed3e2\u0027\n\n* commit \u00270e034e5a9a71e5e196baff630dca796a0e3ed3e2\u0027:\n  Preserve file access mode when backing up / restoring files\n"
    },
    {
      "commit": "bd95c1d3af82e329ada195876348383b7859ce85",
      "tree": "4cec70ab5bc29efff8cfaaabcf36db4f8a7ae6e2",
      "parents": [
        "6441a76b2ed24eddcadc6a0763dd674c3aa38c46"
      ],
      "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": "de5b60b06254748e4593d6095277da45e44acf80",
      "tree": "bc06b60cc82a9f5613b76bca681d481c5a6c38fa",
      "parents": [
        "e193f7cd9eded002b5a74b8823be704c020be536",
        "43b4f796bbfe2e64cf0da79c2efa474a066ebddb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:54:13 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 13:54:13 2009 -0700"
      },
      "message": "am eaa89f74: Merge change 5172 into donut\n\nMerge commit \u0027eaa89f74c04c0f10d5f3f8190b457087537bff2e\u0027\n\n* commit \u0027eaa89f74c04c0f10d5f3f8190b457087537bff2e\u0027:\n  Remove deprecated callback function support.\n"
    },
    {
      "commit": "e193f7cd9eded002b5a74b8823be704c020be536",
      "tree": "791f958dac5fd75d89cdd4020df37b2bf408cb42",
      "parents": [
        "994c7d1fe2fe0cdf4ad0a888e1b82af5b58b255d",
        "e1a75447f5ec3e9d41cb2e5d039958680477b2c5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:54:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 13:54:09 2009 -0700"
      },
      "message": "am 3d7b8d1a: Merge change 5158 into donut\n\nMerge commit \u00273d7b8d1aa6a362292f56defbe8fb2d5653f79282\u0027\n\n* commit \u00273d7b8d1aa6a362292f56defbe8fb2d5653f79282\u0027:\n  Use a ref-counted callback interface for Camera.\n"
    },
    {
      "commit": "6441a76b2ed24eddcadc6a0763dd674c3aa38c46",
      "tree": "0a526dbea015068e7226666fb5050514b9a489e8",
      "parents": [
        "8068d16df69034d917f201f8c4ca20c47fb4e3d2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 11:20:51 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 11:20:51 2009 -0700"
      },
      "message": "Put back LOGP -\u003e printf in the backup helper code\n"
    },
    {
      "commit": "8068d16df69034d917f201f8c4ca20c47fb4e3d2",
      "tree": "6f4ee77e0d4469878928aed0c62dbc6cff7a073b",
      "parents": [
        "fd9e3c554685c3921dfec6aef15fdfe59ee4b796",
        "5c2882b25c5f50ad5fe0dd658e4076b0c857dddc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 11:18:01 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 11:18:01 2009 -0700"
      },
      "message": "Merge change 5162 into donut\n\n* changes:\n  Preserve file access mode when backing up / restoring files\n"
    },
    {
      "commit": "dc76f7bfa10a037ea0cc0f253022d8de7eefc691",
      "tree": "50b17db5f387dffadd3e936d35eea9e811e9f2d0",
      "parents": [
        "bbbc7cb77efba3dd46e9d13fc22e81cff17c35d2"
      ],
      "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": "bbbc7cb77efba3dd46e9d13fc22e81cff17c35d2",
      "tree": "ad5f5dd2ecdc50bed94d205d4ee05b006551a84e",
      "parents": [
        "c8be159ba67931ae38c552fc7b9da6084ca5a60a"
      ],
      "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": "2e123245811a1f31c080a29728fcc1655045f011",
      "tree": "bc8e84f4040daa648b819424a431ae1826203437",
      "parents": [
        "e7829b8656ab4d179aa608e5715280819e5230b5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 20:06:46 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 20:06:46 2009 -0700"
      },
      "message": "fix a bug causing push-buffer surfaces\u0027 identity to be garbage, which resulted in some attributes (size/pos) to fail to be set\n"
    },
    {
      "commit": "1fed11c86a9d59d0f5282ae8ae25ceba2f802fdd",
      "tree": "940032f8fb572ae8096b79027382ddb0538404fd",
      "parents": [
        "9f8b0c909760aa5b866255fe08042a3200b736cc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 18:08:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 18:08:22 2009 -0700"
      },
      "message": "checkpoint. bring back video/camera\n"
    },
    {
      "commit": "5c2882b25c5f50ad5fe0dd658e4076b0c857dddc",
      "tree": "8d629574bc30b1d9946144ab8cdfb1a5c19ad6dc",
      "parents": [
        "4b1af267542e07c65df1270343ebbbbf53ef7f8e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 17:35:11 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 17:40:44 2009 -0700"
      },
      "message": "Preserve file access mode when backing up / restoring files\n\nThis change adds a fixed-size metadata block at the head of each file\u0027s content\nentity.  The block is versioned, and fixed-size on the theory that it might be\nnice to be able to recover the content (if not the full metadata) of the files\nif we\u0027re ever confronted with data backed up some hypothetical future helper\nthat stored expanded metadata.\n\nThe net effect is that now on restore, we assign the same access mode to the\nfile that it originally had when backed up.\n\nAlso, some of the code was failing to properly free transient heap-based buffers\nwhen it encountered errors.  This has been fixed with the addition of a tiny\nstack-based object whose job it is to free() its designated pointer from its\ndestructor.\n"
    },
    {
      "commit": "2d1db86e4587a919742c2f18223f7cf408263f7d",
      "tree": "1aec243aede8da34f70387b98618aed1e3a36830",
      "parents": [
        "a69409d45f06b229e39279c9f5e0f5f7687feec9",
        "ab2e9e81e187d427b22ac969f47900d3de041264"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:28:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 23 13:28:41 2009 -0700"
      },
      "message": "am 11b15779: Add file mode to the file-backup saved state blobs\n\nMerge commit \u002711b157790234d3d2f116ce4c7ed1d3d00fb78bc3\u0027\n\n* commit \u002711b157790234d3d2f116ce4c7ed1d3d00fb78bc3\u0027:\n  Add file mode to the file-backup saved state blobs\n"
    },
    {
      "commit": "ab2e9e81e187d427b22ac969f47900d3de041264",
      "tree": "8e455d00eed9db3596d4c0cbe5ff3e72624e43d4",
      "parents": [
        "e9107fd74515b46f774aa31f391dceeaeff887d3"
      ],
      "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": "d056f2d08771091b100bed8cb36946dfc421de24",
      "tree": "36fb624e6c26040ea228803055cb143a282f8f9a",
      "parents": [
        "fe3c1e0ba0d7bee05da75104cf44c104c5329448",
        "cfb991d1f860e5233d383a40967b252793677469"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:03:17 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 14:03:17 2009 -0700"
      },
      "message": "am 72be4049: Merge change 4910 into donut\n\nMerge commit \u002772be40490951d3f9d0ada16fcf5288d0c3306d88\u0027\n\n* commit \u002772be40490951d3f9d0ada16fcf5288d0c3306d88\u0027:\n  fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "cfb991d1f860e5233d383a40967b252793677469",
      "tree": "a941930f1aaf211eb032a6cd0f5788c8ec71fc12",
      "parents": [
        "7412caaa8c7f43256155df216be70177919c81ec",
        "52ed26a78b77e559555622a006f888a70cd84a0a"
      ],
      "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": "2a84f2e369e144ff1fbd6eb0867ebaa608bfaf6a",
      "tree": "50f63e5a92db342520afa6f6fb28c4067f39dbba",
      "parents": [
        "924852ec65b1f791869bec34aac4c1981cd0e89e",
        "2e69f210fd7a9cd0466defa78ae9e5920d29c26f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 13:20:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 13:20:31 2009 -0700"
      },
      "message": "am 856dd8a6: Merge change 4952 into donut\n\nMerge commit \u0027856dd8a60a70a5b7dca2bf2114872ce063e2ad60\u0027\n\n* commit \u0027856dd8a60a70a5b7dca2bf2114872ce063e2ad60\u0027:\n  Helper API cleanup.  Allows multiple helpers to function,\n"
    },
    {
      "commit": "9cda3e02c6154422abec1c3215b93cc6bb70d76a",
      "tree": "1ee13094dcc54121c3c1096d0ec0b9540813e941",
      "parents": [
        "292ae4f642709eb42974d9c1a26ab80921518c54"
      ],
      "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": "52ed26a78b77e559555622a006f888a70cd84a0a",
      "tree": "f195b8e67b014890ab40ed3fa262ac85f8130cd9",
      "parents": [
        "5fff2075c4de0d2abbcc1af8ccfa13fcfbc0b8e1"
      ],
      "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": "cca6b4267d2e3910b9808aa45e69206e06ef353e",
      "tree": "e4e3dfc9a0ef163099ab30cba0d202eb73578f0e",
      "parents": [
        "f9d932774e06d5122c48b47d8cabd791783f56d2",
        "f84dda74d51258b28a8b17a22544d9984dfeb05b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:41:14 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:41:14 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "f9d932774e06d5122c48b47d8cabd791783f56d2",
      "tree": "e78c8148d0e3fcc166ebb3f4bd60c931ec956344",
      "parents": [
        "cd8c5e29c245e55a5f648b7a10f8586baf64e622"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:00:27 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:00:27 2009 -0700"
      },
      "message": "fix a memory corruption where a SF Client could be used after it\u0027s been destroyed\n"
    },
    {
      "commit": "03428fcc8bfb43968f9e9cbd3c6c1fd23290439b",
      "tree": "09daf4c8be976298969439ab8c987d4641ead3b4",
      "parents": [
        "f5702d01b9a7ded2e935374b27002ac2a32fb502",
        "4018f35e274e5c8c005623ac3f724686dc8299d3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 16:44:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 19 16:44:07 2009 -0700"
      },
      "message": "am 1585bd24: Merge change 4828 into donut\n\nMerge commit \u00271585bd24c10d16351f89e32dddbfa799f18db6bd\u0027\n\n* commit \u00271585bd24c10d16351f89e32dddbfa799f18db6bd\u0027:\n  Report densities in badging, debugging for nine patch bug.\n"
    },
    {
      "commit": "cd8c5e29c245e55a5f648b7a10f8586baf64e622",
      "tree": "d5e8bfb9c3148dc1fbdb4b77c5ac3f8a12cf5817",
      "parents": [
        "7272add7a5be7a8e1a0a3ba6066039037033f8cd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 16:24:02 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 16:24:02 2009 -0700"
      },
      "message": "release the last reference to surfaces explicitely instead of letting it go implicitely when the message is destroyed\n"
    },
    {
      "commit": "be1bc0a1f969dd874d4a4d10c70f8d585b21a214",
      "tree": "b6e168923feee89f7e50bc16d2d0683d418ea1f7",
      "parents": [
        "03868d319572696939368207d7caec014feaf38f"
      ],
      "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": "05915a4d9d4a9ffc9a8fe36a3079762ca7b847d5",
      "tree": "386115392cef0eb33bf8fc8e193655f045c796c3",
      "parents": [
        "c5e321700d9f7385de595a3ce248aa5db404d689",
        "4182cf630895f8c607958c536098b5cfb743ecb4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:46:59 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 19:46:59 2009 -0700"
      },
      "message": "am c6282977: Merge change 4718 into donut\n\nMerge commit \u0027c6282977180c220b1a68c23a328e7d75a11963ab\u0027\n\n* commit \u0027c6282977180c220b1a68c23a328e7d75a11963ab\u0027:\n  Fix sim-eng build and simplify previous lcd-density related patch\n"
    },
    {
      "commit": "ae71accf63add81ec3d3cd0269536c24db112cab",
      "tree": "b89b1cc2e1ba38d0737f24ad9cb1a25457027997",
      "parents": [
        "c62834b9faafdccc56439bdb62a63ffcdfbcb4c4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 19 04:41:12 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 19 04:41:12 2009 +0200"
      },
      "message": "Fix sim-eng build and simplify previous lcd-density related patch\n"
    },
    {
      "commit": "4910dc62561c90c75d953a04f75b31f16e0c0e9c",
      "tree": "4244157c729b78b8900cf455a2f274905fa317e2",
      "parents": [
        "0388b513418f0e1eb45bcb554f866e160cd475da",
        "c62834b9faafdccc56439bdb62a63ffcdfbcb4c4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:04:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 19:04:56 2009 -0700"
      },
      "message": "am 5502f04c: Merge change 4709 into donut\n\nMerge commit \u00275502f04c1dcf2b1918858bacb99fb0480a711707\u0027\n\n* commit \u00275502f04c1dcf2b1918858bacb99fb0480a711707\u0027:\n  backup stuff\n"
    },
    {
      "commit": "0388b513418f0e1eb45bcb554f866e160cd475da",
      "tree": "eb5e1caf7ffc8478dc0d2de23e8993f1cb71613b",
      "parents": [
        "bb4818d155a2797a34f2a557a6bc21794ebcf5fc",
        "1c5550974f75ff455175e390b8b3b7f49ac7ff75"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:04:50 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 19:04:50 2009 -0700"
      },
      "message": "am 16ce3504: Merge change 4708 into donut\n\nMerge commit \u002716ce3504c5bf98d95d5c36001f755bb4b15253c9\u0027\n\n* commit \u002716ce3504c5bf98d95d5c36001f755bb4b15253c9\u0027:\n  Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "945ebbfd3dc07c7168602a1603eeb76ea7425376",
      "tree": "84d870c92c75c4e01ce1da91de579342a75260ee",
      "parents": [
        "aa6e88b80854dbcaa12678e77ffd440006faf828"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 18 18:48:39 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 18 18:48:39 2009 -0700"
      },
      "message": "implement dimming with a texture on msm7k so it uses copybit\n"
    },
    {
      "commit": "6bda7fd5564a1a88daef7a00890b3eaa191b8854",
      "tree": "0bdda15863c0e050672738f8acb819ef7fb2e2c1",
      "parents": [
        "da1430be269b2b20920b6cb27616f54e2b83a973"
      ],
      "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": "da1430be269b2b20920b6cb27616f54e2b83a973",
      "tree": "a262f22df1bf4797e25bfe2209416dbcfe465f1b",
      "parents": [
        "fa1cf39b803d71ac22af606ce0dd9dd81d512325"
      ],
      "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": "e2095d0a1c4cf65562213bc54eb880cd6dd8c82a",
      "tree": "aad9e7393807f410bc45103b229ca9bc12031954",
      "parents": [
        "b041606d8f8490a6a6a0c767eb62cff795aee088",
        "bcb14286cc3f38701b0a28991694e4bbdaff10fc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 15:43:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 15:43:28 2009 -0700"
      },
      "message": "am b1cdb648: Merge change 4565 into donut\n\nMerge commit \u0027b1cdb64877ebd3b8c5182913ff02edd8b54a6982\u0027\n\n* commit \u0027b1cdb64877ebd3b8c5182913ff02edd8b54a6982\u0027:\n  Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density\n"
    },
    {
      "commit": "bcb14286cc3f38701b0a28991694e4bbdaff10fc",
      "tree": "ff5a60708d2963de62d54c089209ed314e723bba",
      "parents": [
        "0491cda63bd88f64b2f845349e811ad46f61c09a",
        "694e10ba8778dbb3cda9abe106f73ec0f45c8800"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 15:41:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 15:41:34 2009 -0700"
      },
      "message": "Merge change 4565 into donut\n\n* changes:\n  Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density\n"
    },
    {
      "commit": "694e10ba8778dbb3cda9abe106f73ec0f45c8800",
      "tree": "5a40bf218a32b7c98c3f060558cb91f154349ec8",
      "parents": [
        "55a72ba8eb43cd4423dff606cb8aefc3a1a23aa4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 18 04:30:32 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 19 00:17:31 2009 +0200"
      },
      "message": "Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density\n\nro.sf.lcd_density is usually defined in the build.prop file which is parsed by init\nbefore anything else. Since its name begins with \"ro.\", this property is write-once\nand cannot later be modified, e.g. in /system/etc/init.goldfish.sh.\n\nIn other words, you cannot use \"emulator -prop ro.sf.lcd_density\u003d\u003cvalue\u003e\", since\nit is impossible to override the value defined in build.prop\n\nThis patch modifies the system to recognize \"qemu.sf.lcd_density\" as an override\nvalue, which can be set with \"emulator -prop qemu.sf.lcd_density\u003d\u003cvalue\u003e\", forcing\na specific density.\n\nA later patch will allow the emulator to automatically set this property depending\non AVD hardware configuration settings.\n"
    },
    {
      "commit": "00ea06792b76f30b7e1ee450f0915edb5df75e42",
      "tree": "be4ebf3ab853ee4af8dbc003607f1f779459c740",
      "parents": [
        "14b8f4ccc671a5cbac4a91b9f167f9ccaffb5eba",
        "e272cd8e4cd7f695c1f368e6cd995f37efa3e3c3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 21:49:21 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 21:49:21 2009 -0700"
      },
      "message": "am de72697b: Merge change 4524 into donut\n\nMerge commit \u0027de72697b771d33738c5f9d6c28087504e0796622\u0027\n\n* commit \u0027de72697b771d33738c5f9d6c28087504e0796622\u0027:\n  FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "f509f669cfde367b4591b027d95512accbd2ccef",
      "tree": "62ca6fc3dcb6c4e2f005d95422ec32a59cb1cca5",
      "parents": [
        "74b00231cc0ecca02a76cf7d2ee20db05fa2309e"
      ],
      "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": "f757bd07108267d37a7944353d2cf2a40d68e115",
      "tree": "93f20b722f646402831336429999e8603aed6afb",
      "parents": [
        "ae13d759db51d5d31cffc632570fb262ae56508d",
        "03aa8d7d04428b9c7981f9bada5acf1e808b0056"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 15:38:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 15:38:08 2009 -0700"
      },
      "message": "am 5f15d151: checkpoint BackupDatAInput / RestoreHelper\n\nMerge commit \u00275f15d151b5101fadfe6cba1e8f4aa6367e8c603e\u0027\n\n* commit \u00275f15d151b5101fadfe6cba1e8f4aa6367e8c603e\u0027:\n  checkpoint BackupDatAInput / RestoreHelper\n"
    },
    {
      "commit": "03aa8d7d04428b9c7981f9bada5acf1e808b0056",
      "tree": "a1a5e71e6912eb35a5cf10d1a0fe5b156bcd82da",
      "parents": [
        "4d86bc379151050bf6b76da54b683cab7afff00e"
      ],
      "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": "b6822d7a3ea86b729a8c716a5fc9ad7a02532bfe",
      "tree": "ff13fe6883ce554cd7266dc38cd3e8ad4886630a",
      "parents": [
        "375f56363a8737119ce2222dcfaacbe1cf733fc0",
        "ecbcd559f027ca6e7c6c8c9df3cafe8f09588f7d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 16 12:38:55 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 16 12:38:55 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "375f56363a8737119ce2222dcfaacbe1cf733fc0",
      "tree": "5cdf2be415ef2668b6d4179b00b61e5a57f5c077",
      "parents": [
        "5e78e0965169790111f01354e78b0f8d34c94840"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 18:24:59 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 21:56:51 2009 -0700"
      },
      "message": "new Permission class used to improve permission checks speed (by caching results)\n"
    },
    {
      "commit": "fcb97fcc43844d53a7d9e986dcb35119a72ca431",
      "tree": "d5ec015e9035c9d5775e2f979efb7d55f0094caf",
      "parents": [
        "b067d5589be1b5065e5c473099f3d3664330885c",
        "fd5212ed227c14b6fb5b876727bba7a9a536f7ab"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 14 21:13:03 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jun 14 21:13:03 2009 -0700"
      },
      "message": "am 2fdd428e: Fix some backup reader/writer issues; make local transport do backup\n\nMerge commit \u00272fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2\u0027\n\n* commit \u00272fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2\u0027:\n  Fix some backup reader/writer issues; make local transport do backup\n  Fix the jni initializer.\n  Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.\n  Fix bug #1812041: activity manager crash with bad args.\n  Journal backup requests so that they won\u0027t be lost in a crash\n  Fix data connection issues.\n"
    },
    {
      "commit": "7bdc440894ead2dc3f0eafee903782c9eb584ecd",
      "tree": "77bac1f903717b3f88276e947aea228d4f831536",
      "parents": [
        "d15085f31ee1a315d25897dbf6984494205921d7"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 12 11:06:24 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 12 16:21:24 2009 -0700"
      },
      "message": "Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.\n"
    },
    {
      "commit": "a08c7b6759075c3076e6f2c52df71dd7da894c15",
      "tree": "d722056a833b931e1c63195cd552c3d83f1db078",
      "parents": [
        "854e909cac151233d254d2389a2d0fe488eff717",
        "fcff1ffa541e0076df6adeb437ba79bb4c3fa35d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:26:05 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 12 08:26:05 2009 -0700"
      },
      "message": "am 78f0f8cb: Merge changes 3953,3954 into donut\n\nMerge commit \u002778f0f8cb2efe9410127c39201e240f6d438eb53c\u0027\n\n* commit \u002778f0f8cb2efe9410127c39201e240f6d438eb53c\u0027:\n  Make the file backup helper not crash if a file you requested\n  Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n"
    },
    {
      "commit": "5e78e0965169790111f01354e78b0f8d34c94840",
      "tree": "18f5ca4dce455c4e801c2177c48853e6eddd46a0",
      "parents": [
        "0a3139a21e628093893bba8ca0bb0b4742e0522c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 11 17:19:54 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 11 17:19:54 2009 -0700"
      },
      "message": "protect ANDROID specific egl extension with #define\n"
    },
    {
      "commit": "1a9e19a73e12f5e4891557de64cab5b9b7ae1ac5",
      "tree": "a8ac144dc38834a992ff8a07fed46a51755ba8a1",
      "parents": [
        "0ad6120dadc1665f394e73330d30e949066c77e1"
      ],
      "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": "0ad6120dadc1665f394e73330d30e949066c77e1",
      "tree": "2bdfbd1b67328716af81e2dd8ec37cc41690c249",
      "parents": [
        "67182a34f0268dcda9442f0a211f88e12626aa3b"
      ],
      "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": "e3408b8e029f575e2edfce4a30decdc5db473d37",
      "tree": "f8e699fa23cf8e3c0c6c73146ce3bda87f5e0e16",
      "parents": [
        "8ba1e7f7cac0d1b4afe691f8a4b0c1b26bef6a4f"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue May 05 22:26:12 2009 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Jun 09 17:21:08 2009 -0700"
      },
      "message": "Framework changes for bluez4.\n\nChanges in the Bluetooth JNI calls and framework functions\nfor Bluez4.\n"
    },
    {
      "commit": "1a0c4cd5d83facd9653c45db1d2b9725c2e060b0",
      "tree": "afe90f777b212eb54b54ac09f88c5d482dbf0945",
      "parents": [
        "0c97ed3a2ecc4a5b49bfb26674a9f4a5ac361024",
        "4fcd9c700368f08117aa1e2264f56eeb6b8af832"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 15:45:39 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 15:45:39 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "4fcd9c700368f08117aa1e2264f56eeb6b8af832",
      "tree": "210a453c29ea11b03a0e1b08850cb3c1ac83785d",
      "parents": [
        "32ca56e23b8f14748421dcd678da244b4a05aef7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 15:11:23 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 15:11:23 2009 -0700"
      },
      "message": "get rid of LogSocket which wasn\u0027t even implemented (enabled)\n"
    },
    {
      "commit": "7e83f043d9c7afc42b632aa9567ecc17e901068c",
      "tree": "dd7065f0a211813617e7d392f3b17af2030082c3",
      "parents": [
        "25cf68b1f8d79192e6ce08ad73ac4e561860a96c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 14:56:35 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 14:56:35 2009 -0700"
      },
      "message": "break dependency on utils/ZipEntry.h and utils/ZipFile.h, get rid of inet_address.h and Socket.h which were not used\n"
    },
    {
      "commit": "c5992f071d1a0c89db0ff78dfca7bc81b9265fc3",
      "tree": "d57a85663e29a3d497ebeed8562344380fc851bd",
      "parents": [
        "31ff12b53de8accf0c24b6df36ad118ada232c19",
        "861aa2f0c9136298380496bd78d6a18e69331c53"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 01:29:08 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 01:29:08 2009 -0700"
      },
      "message": "Merge change 3284\n\n* changes:\n  rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.\n"
    },
    {
      "commit": "861aa2f0c9136298380496bd78d6a18e69331c53",
      "tree": "27e1508d0451bc6c93d191cb81d8910836a3c4b0",
      "parents": [
        "6fb4be4f76e2c784d1fab76eca742d2f90507540"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 01:26:23 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 01:26:23 2009 -0700"
      },
      "message": "rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.\n\nStringArray is used in two places in framework/base and in the Sim. Ideally we should get rid of it and use Vector\u003cString8\u003e instead of creating new code.\n"
    },
    {
      "commit": "1ba244fb656b452e3e4239e01f117cf8af336158",
      "tree": "950a5b302d3e3ed063d9450e8bba4cc4c58837ab",
      "parents": [
        "4fb7b9dba30ceeb1d4740b4d5966459c2bf61cd2",
        "173e38d47c0c1f2407fe2741700b8bdc3c6035cc"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 05 00:29:50 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 05 00:29:50 2009 -0700"
      },
      "message": "am 0032ce80: Fix back_up_files() error detection when opening/CRCing the file\n\nMerge commit \u00270032ce80ac127e6bfb25d727162eee4af208dc77\u0027\n\n* commit \u00270032ce80ac127e6bfb25d727162eee4af208dc77\u0027:\n  Fix back_up_files() error detection when opening/CRCing the file\n"
    },
    {
      "commit": "6d2bc14d2420689d9789fadc3058bfc1191a8e72",
      "tree": "c369a5ee2db4cf277eab898bfd1322c7fe886583",
      "parents": [
        "cd1a14fdfb5e7cd736e346229727081c45c59d0f",
        "e0074ad3cea369497f9a8a5b1ad2a81a293f1169"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 22:44:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 04 22:44:18 2009 -0700"
      },
      "message": "am 2a318867: Merge change 3203 into donut\n\nMerge commit \u00272a3188672ab2b65c0ce7c9c598a463e382c47696\u0027\n\n* commit \u00272a3188672ab2b65c0ce7c9c598a463e382c47696\u0027:\n  rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "3d57964a81cd631d80aa9575647e1ce35b5e82d5",
      "tree": "0958ca702a23944cd1b69d4718ee19ac545d9150",
      "parents": [
        "9648c1a2b9b527bcef64bb9d96e8385a14949840"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 18:46:21 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 18:46:21 2009 -0700"
      },
      "message": "fix a bunch of problems with destroying surfaces.\n\nnow, all destruction path, go through the purgatory which is emptied when ~ISurface is called, but we also make sure to remove the surface from the current list from there (in case a client forgot to request the destruction explicitely).\n"
    },
    {
      "commit": "173e38d47c0c1f2407fe2741700b8bdc3c6035cc",
      "tree": "651c4afeda36110fc3e42006fd58626ae971e3e0",
      "parents": [
        "e9f4934470d09028bf3a92a2ed96c56d0a00662c"
      ],
      "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": "f446ba9dcb7df59f886be2f15d83ed3814a556f7",
      "tree": "56fef80823c51f03029cf3cf154ec431fa951443",
      "parents": [
        "b2d4ba5bb25c7cfe5c81ebd16b124db328d0d735"
      ],
      "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": "e92c713cb685f78d2041b7ffc89ccb155c992b2d",
      "tree": "75c6c8938e470cad8fea0e8d1b1ee33f85293e45",
      "parents": [
        "6457359fa5df7869d5881acee80b34dfc760a5bf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 03 14:49:08 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 03 14:49:08 2009 -0700"
      },
      "message": "when looking for an EGLConfig always pick the first one that matches, not the last one\n"
    },
    {
      "commit": "6457359fa5df7869d5881acee80b34dfc760a5bf",
      "tree": "ef8f648559e4bb622173959721c6e24c05a19a58",
      "parents": [
        "e839d826804b36b86839cb4c080f2541e9977438",
        "d23399d0fffcc87bb1f7b56c246fc696cbb6fb89"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 14:30:08 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 14:30:08 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "294423e148c62b413788945be00cedde3cb3acec",
      "tree": "1f4cc3035a7ee6aa1c73b12d440aa5568f800638",
      "parents": [
        "3b7294521fae1a3075a112e0e3bd315cfe0155df"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 13:55:28 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 01 13:55:28 2009 -0700"
      },
      "message": "get rid of TimerProbe which is never used\n"
    },
    {
      "commit": "1bc9c93faff43eeffe61fc371674159da83f1690",
      "tree": "f997ea48f9a576dd9e61b8ad98c420694147a96c",
      "parents": [
        "ad736fb1658b2a96530c518ade7cf44ee6f088f9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 23:29:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 23:45:01 2009 -0700"
      },
      "message": "get rid of sleepForInterval() which didn\u0027t seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there.\n"
    },
    {
      "commit": "e0c322049ab2be291c1fc40f79702543d4e77934",
      "tree": "e3e672f4f4fdd72b465cc0f39fb95c7711814122",
      "parents": [
        "d07f2a523f43051a681683657f7c0da2c49f46a4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "message": "get rid of utils.h\n"
    },
    {
      "commit": "e839d826804b36b86839cb4c080f2541e9977438",
      "tree": "d2f89a2f70dc132ac6121d60d4c888785bed19ed",
      "parents": [
        "de58697644a52a614ad9498aa087e95d4a223673",
        "8ae930e70693e6117d1f45c9958ec2700845f919"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 01:16:45 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 01:16:45 2009 -0700"
      },
      "message": "merge master to master_gl\n"
    },
    {
      "commit": "c20e4ebef258f243447b95349bb2664ac0b8013b",
      "tree": "ae7b62e213251f7ab364e9fbcc4fe68de1e3d81a",
      "parents": [
        "c61218f33f8c01a96bf495739d60561a2ff5a06f",
        "489d3953f01b3d71774dd76fc2dbe985bb0dfa06"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:57:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 29 14:57:33 2009 -0700"
      },
      "message": "am b61ae351: Merge change 2747 into donut\n\nMerge commit \u0027b61ae351256518add7bcb40e0bf18337dd87195c\u0027\n\n* commit \u0027b61ae351256518add7bcb40e0bf18337dd87195c\u0027:\n  log the geomerty of surfaces causing an out of memory in SurfaceFlinger.\n"
    },
    {
      "commit": "489d3953f01b3d71774dd76fc2dbe985bb0dfa06",
      "tree": "b6e64e28834fa7911fd87ee97fd3c30569028cf4",
      "parents": [
        "811eeff5778a3990a5488e6a31ab330a4b1e5328",
        "3c4d8c83da33bdd740afd683af42eca1a6bd6500"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:55:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 14:55:48 2009 -0700"
      },
      "message": "Merge change 2747 into donut\n\n* changes:\n  log the geomerty of surfaces causing an out of memory in SurfaceFlinger.\n"
    },
    {
      "commit": "3c4d8c83da33bdd740afd683af42eca1a6bd6500",
      "tree": "0dc5130f7eb8ad6df976263aaf4899db8ced0ba3",
      "parents": [
        "253dd5cb262d5b49e692a428398dfc9284b34495"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 29 14:55:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 29 14:55:06 2009 -0700"
      },
      "message": "log the geomerty of surfaces causing an out of memory in SurfaceFlinger.\n"
    },
    {
      "commit": "e5eb06d98bc4759e3a248e2ece034cca9d103e28",
      "tree": "171eadda1b903980d9040c248ba62d0392a9dba5",
      "parents": [
        "d87acc22284078acc7077b8c833a1b36a377ad6a",
        "52192700a7a00c44c9737b8f991a3d266b72a278"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 29 09:42:26 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 29 09:42:26 2009 -0700"
      },
      "message": "am d9cc7659: Merge change 2706 into donut\n\nMerge commit \u0027d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea\u0027\n\n* commit \u0027d9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea\u0027:\n  Fix issue 1883666: Audio coming from the music player stopped suddenly\n"
    },
    {
      "commit": "01c4ba35637e1c3fbddcb80ce619345812f23c3f",
      "tree": "7be144bfbcbc6c7a8d8e327a2aa45e22669561d7",
      "parents": [
        "ce3647052d06127dc1996391a7d5fdeec6c88b20"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 02:03:21 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 29 02:03:21 2009 -0700"
      },
      "message": "Fix issue 1883666: Audio coming from the music player stopped suddenly\n\nThe problem comes from the code handling the automatic change of audio routing to speaker when notifications are played. The music is also muted while the sound is forced to speaker.\nTo avoid truncating the end of the notification, a delay is inserted between the end of the notification and the restoration of the audio routing.  If a new notification starts during this delay, the current music mute state read and saved before muting music corresponds to the forced mute due to previous notification. When the new notification ends, the mute state restored is muted and music stream stays muted for ever.\n\nThe fix consists in reading and saving music mute state only if the audio routing has been restored (check that mForcedRoute is back to 0).\n"
    },
    {
      "commit": "1c4ec71612bae05467fedbbebce37f5330a2b18c",
      "tree": "be49d041d0b260db6ff98d31a3b2077c961cf50c",
      "parents": [
        "b1a39d67be99fe6c4545b25e10ac82a5dd1df634"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 28 12:31:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 28 12:31:00 2009 -0700"
      },
      "message": "fix typo defining a singleton attrbutes for an object that is not a singleton -- no side effects, but useless\n"
    },
    {
      "commit": "bed9dd128dfbdc7d9dbca005078536dadc0b9359",
      "tree": "eabfee52c02276a81d270595d4d436e35a5da7fa",
      "parents": [
        "4b8160fdfd3281d1d66c0cae9bb9c647b4333491"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 17:01:58 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 17:01:58 2009 -0700"
      },
      "message": "make sure the Region code disallows constructs like \"(a+b)\u003dc;\", which is somewhat meaningless.\n"
    }
  ],
  "next": "da416411e0598adbf180c187eb0c2bc08a4df283"
}
