)]}'
{
  "log": [
    {
      "commit": "7f7752439543db6e13c599bdd10cb10254c24528",
      "tree": "8161d572cce9194745972fc3fde670a6c6412614",
      "parents": [
        "c9f32f23327cbeeb50f0d494d01c8d6784720bc6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Nov 04 17:15:54 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 08 18:38:12 2010 -0800"
      },
      "message": "Layoutlib: Load fragments\n\nThis change does the following:\n- Make the bridge context extend Activity instead of Context\nso that it can act as a view factory. This is needed because\nthe Activity is used as factory for Fragment objects.\n\n- Override the default Fragment.instantiate(...) method\nthrough a delegate. This is done to load the Fragment\nclasses located in the project (similar to custom views).\n\nChange-Id: If62e7c9ff2b7585677077ad825aa1c3591d1b5e0\n"
    },
    {
      "commit": "e0c763f54f5848a2513990fe37791b6f60ef7760",
      "tree": "61f4f1bd15ccb820d844c15496bb383f42c379af",
      "parents": [
        "3fe599ce21a3a28a03a2d575fdeedb7b2ac8590a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Nov 04 18:04:27 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 08 16:13:28 2010 -0800"
      },
      "message": "Layoutlib: more text drawing.\n\nChange-Id: I32f46d23e746b095be0577a53b61567a868f0b8a\n"
    },
    {
      "commit": "82849afd719037968ddcb58e14cec8685f702216",
      "tree": "a16549c00299cb9ed039a2d1428c0b5561b378f1",
      "parents": [
        "a9570ab0439e7a734ef4ffc65e55dbf7f433d270",
        "3442611ee11b2987c83054fe3c7ed5521f27f052"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Nov 06 16:25:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 16:25:03 2010 -0700"
      },
      "message": "am 3442611e: am 5580e44c: Merge \"Support changing style parent in overlays\"\n\n* commit \u00273442611ee11b2987c83054fe3c7ed5521f27f052\u0027:\n  Support changing style parent in overlays\n"
    },
    {
      "commit": "41a4833bf2603d4194e470f783531581dd532545",
      "tree": "1cc53ac16a0c261991dce82092d571cf80caf163",
      "parents": [
        "3513c3f17f6fdbb92d1bf3be68df97708bacbc82",
        "4da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Sat Nov 06 16:24:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 16:24:28 2010 -0700"
      },
      "message": "am 4da6efc8: am 46151652: Merge \"fix xlarge support in aapt for gingerbread\" into gingerbread\n\n* commit \u00274da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c\u0027:\n  fix xlarge support in aapt for gingerbread\n"
    },
    {
      "commit": "3442611ee11b2987c83054fe3c7ed5521f27f052",
      "tree": "ff4a2db0081d7c404b0c5a1bdc4ac28768272405",
      "parents": [
        "8806fc729b96bf806806ef8d82147d59abfc1536",
        "5580e44c250944f5cd011b2682eea5cc2de9706c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Nov 05 14:05:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 05 14:05:41 2010 -0700"
      },
      "message": "am 5580e44c: Merge \"Support changing style parent in overlays\"\n\n* commit \u00275580e44c250944f5cd011b2682eea5cc2de9706c\u0027:\n  Support changing style parent in overlays\n"
    },
    {
      "commit": "4da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c",
      "tree": "70ac77a2300fe3d201896d3f2ec81a54ff607233",
      "parents": [
        "04856d99f8f353711f294254c1159461213684a5",
        "46151652b8dc562f4a3332e1d12fa799e3638ea8"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Nov 05 13:57:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 05 13:57:41 2010 -0700"
      },
      "message": "am 46151652: Merge \"fix xlarge support in aapt for gingerbread\" into gingerbread\n\n* commit \u002746151652b8dc562f4a3332e1d12fa799e3638ea8\u0027:\n  fix xlarge support in aapt for gingerbread\n"
    },
    {
      "commit": "d58fb97ddf052b3ceac921ac7e936af990392b2c",
      "tree": "69314556c53d6c55ddc9078854f9db0aa270142e",
      "parents": [
        "265acc5085ad03c4c043dd33faed808b55732134"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Nov 04 18:32:00 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Nov 04 18:33:05 2010 -0700"
      },
      "message": "fix xlarge support in aapt for gingerbread\n\nChange-Id: I4d8872fb839a6eadc538055215d4455af328846c\n"
    },
    {
      "commit": "5580e44c250944f5cd011b2682eea5cc2de9706c",
      "tree": "e49d19666d7ad5f0f2e9e980f488b0085f163db6",
      "parents": [
        "db2403ff3251bebb5dd6bdb98f826a8e04dc6ed1",
        "2fda9f45623e888f71c6ea769305ccc4d9e76af2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 04 07:26:37 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Nov 04 07:26:37 2010 -0700"
      },
      "message": "Merge \"Support changing style parent in overlays\""
    },
    {
      "commit": "9c05b3972872d83c60bf5afe1a05f08c7753cd9a",
      "tree": "fb46e02e4e3a4d04b798f59bb3511ae404b56a63",
      "parents": [
        "4b606da91d2d76dd90a427cb3e37ea7df655e8e0"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 03 18:00:21 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 03 19:15:07 2010 -0700"
      },
      "message": "Layoutlib native delegate: FloatMath.\n\nWhile the difference is pretty minor since it\u0027s a small class,\nthe point is that the unit test will ensure that we detect\nnew methods added to FloatMath more easily.\n\nChange-Id: Ia8bfee231cc4ae0cfeb18692be86d02649c187d5\n"
    },
    {
      "commit": "4b606da91d2d76dd90a427cb3e37ea7df655e8e0",
      "tree": "e12029f7b29397ff9a01755f3bd46f5a5758efb2",
      "parents": [
        "079fd674fb9005771dd383a1a483d7dc5072b5b3"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 03 17:40:17 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 03 19:15:07 2010 -0700"
      },
      "message": "Layoutlib native delegate: path effects and xfermode.\n\nChange-Id: Iafaac6dbaf452e2dba3e77c801089dad33ac4ea9\n"
    },
    {
      "commit": "251d2e99245095369b52d891a660b2ed270f02e0",
      "tree": "e8adcad8c591c9e9637a478e385f6e04071d561d",
      "parents": [
        "abff653ce84e5079f35afab008c906063b0b2b6c"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 22:02:08 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 03 13:23:22 2010 -0700"
      },
      "message": "Layoutlib native delegate: primitive shapes and shaders\n\nChange-Id: Id2b0c6231589e82d8e96c9f019042eba348a6583\n"
    },
    {
      "commit": "abff653ce84e5079f35afab008c906063b0b2b6c",
      "tree": "80bcc1121378c031cd99ea097bb422ebd3666394",
      "parents": [
        "5802deabf06a0754c36e990ce2af7b5c8727e543"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 18:45:20 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 18:45:20 2010 -0700"
      },
      "message": "More layout Canvas/Paint implementation.\n\nChange-Id: Ib3da4a4b2259dc7c53b24444b5c0b78cee15d387\n"
    },
    {
      "commit": "5802deabf06a0754c36e990ce2af7b5c8727e543",
      "tree": "1d824bd2fda259b9eaed46aab4742bc9e82359ba",
      "parents": [
        "1d8479fa95d61d5e49a8b054f5a8aad62432af1e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 16:17:18 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 17:52:42 2010 -0700"
      },
      "message": "More implementation of the layoutlib Paint/Canvas delegates.\n\nChange-Id: I0c0029b9a679af4ae0178488f70b2a90292ea42d\n"
    },
    {
      "commit": "9f63ff263b0a97f0fa63e97136c18f6abccbfc68",
      "tree": "51941d0fad58ffb49097b1da5c7b7551da16a570",
      "parents": [
        "5c95212f6a8f5786b8199cdc4bb3725d15ada993"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 28 11:52:00 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Nov 01 13:31:47 2010 -0700"
      },
      "message": "Layoutlib Canvas and Paint implementation through native delegates\n\nAlso fix native delegate generation to put \"this\" parameter even\nfor methods that don\u0027t have any parameters.\n\nChange-Id: I5dd0c505871370ff7b4cda16de84a5b3ae438f73\n"
    },
    {
      "commit": "5de11a18e9151e6bc9b3e81cf31fc43dc63dffbf",
      "tree": "3d956f7bfa6cc38ed3dd4a4a2e48c62c30fe7afe",
      "parents": [
        "5164246d7e47b9c995ca1e1587f3056eb777f60b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 29 16:01:40 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 29 16:01:40 2010 -0700"
      },
      "message": "Implement the layoutlib Bitmap through a native delegate.\n\nThis does not implement all the native methods of the\nandroid.graphics.Bitmap class, only what\u0027s needed to draw an\nImageView object. The rest will be implemented after Canvas and\nPaint have been moved to the native delegate.\n\nChange-Id: Ia0c3b2cafa03871c298deaef5817a25ac1c35521\n"
    },
    {
      "commit": "65dc3974a116fecefd2273fac1fd5127c02b2cd9",
      "tree": "4f7c32f5f985d69772ce7b7df39a3cf7e6fbf5ed",
      "parents": [
        "5e7ed8da0d990cbc55071d16b5db270231ff0c89"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 18:22:03 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 18:22:03 2010 -0700"
      },
      "message": "Fix the layoutlib_bridge .classpath to not use the full layoutlib\n\nInstead this uses the actual output of layoutlib_create, which is\nall the modified classes before the content of the bridge is added\nto form layoutlib.\n\nChange-Id: I22755f38800cd69206834ff9594a99cb0c1d2139\n"
    },
    {
      "commit": "5e7ed8da0d990cbc55071d16b5db270231ff0c89",
      "tree": "41f445a825f93cd55c7587ebe327b96da299858f",
      "parents": [
        "162b689c5257d7e6a937cf734c0edde470c77969"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 16:45:38 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 18:12:27 2010 -0700"
      },
      "message": "Move layoutlib typeface implementation to delegate.\n\nAlso move BridgeContentProvider to its own class to make it\nless messy in BridgeContentResolver.\n\nChange-Id: Id3462218b500d43d4c9b20b25326ad24e4106fa5\n"
    },
    {
      "commit": "4c9d691a01ab6741e4b54b69edca7b528603d9fa",
      "tree": "3219daea7a9c34e56cfca83bd2fae9027cbb405e",
      "parents": [
        "0af3cfc6f3d364c3dd0a8952382ff4b843013d5f",
        "57f7ccc4223ad7f51aa41b593ed26770f3cca22b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 11:59:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 27 11:59:05 2010 -0700"
      },
      "message": "am 57f7ccc4: am 63e5d07e: Merge \"Fix issue with project resources overriding framework resources.\" into gingerbread\n"
    },
    {
      "commit": "57f7ccc4223ad7f51aa41b593ed26770f3cca22b",
      "tree": "861f6de829874fdcbc524976dd808b72af4fa84b",
      "parents": [
        "751cc4245ff65a979317827109818e1e127a53dd",
        "63e5d07ec9941d64c85210a38d569a719e844940"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 11:23:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 27 11:23:58 2010 -0700"
      },
      "message": "am 63e5d07e: Merge \"Fix issue with project resources overriding framework resources.\" into gingerbread\n"
    },
    {
      "commit": "4f291d33e14e62b3301acc056a82fe206c74835f",
      "tree": "cc6d5b0297f4c755c2e2cee64189633007096636",
      "parents": [
        "5da5438e4101ab3c499797f90cc3d9403e075a5a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 22 14:48:17 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 27 09:55:58 2010 -0700"
      },
      "message": "Reimplement the native matrix method using the new delegate way.\n\nInstead of renaming the old Matrix class into _Original_Matrix\nand have layoutlib provide a full new implementation of Matrix,\nwe keep the old one by only modifying it to implement the native\nmethods which calls out to a new Matrix_Delegate class.\n\nThe goal is to not have to maintain the java portion in\nsync between the framework and the layoutlib version.\n\nChange-Id: I3e1aefffbae45e91b75331c0c6ff2260323deacd\n"
    },
    {
      "commit": "c2e28dd74813799aad132673ff9d302657dd04ed",
      "tree": "af700b4c91f9135026816458018547e7303dfc32",
      "parents": [
        "2f19f56ac5bcf02ed503bdaf95b724cba8ff782d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 16:58:34 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 17:14:55 2010 -0700"
      },
      "message": "Fix issue with project resources overriding framework resources.\n\nFramework resources loaded through Drawable.createFromXml could\nbe overriden by project resources if there were loaded through\na  state list drawable where the final resource name was used\nby a project resource (of the same type).\n\nThis ensures that the XML parser knows that it\u0027s a framework\nresource being parsed and that the resource resolution uses\nthat information.\n\nChange-Id: I39cf9eba755e55f1604b968637aeecff969a558d\n"
    },
    {
      "commit": "d815e3704850a513e8d02ba3b88fa47f41cea9a5",
      "tree": "8c9329a964c587977bc9b69db24b27847c0ea0de",
      "parents": [
        "f241c40476b6ff2acf57617d4f90cc8c229f1207"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 14:01:41 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 14:29:23 2010 -0700"
      },
      "message": "Fix rendering of digitalClock/Gallery in Eclipse editors.\n\nChange-Id: Iedcd3184cd9f34be8d0695a51eda953ac68683ce\n"
    },
    {
      "commit": "f241c40476b6ff2acf57617d4f90cc8c229f1207",
      "tree": "01bfa1ca7a7630aea907d7a63f4d653a773aef89",
      "parents": [
        "9440083be22ec13e252aa347e654911d33e50086"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Tue Oct 26 13:55:10 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Tue Oct 26 13:55:10 2010 -0700"
      },
      "message": "Revert \"Fix rendering of digitalClock/Gallery in Eclipse editors.\"\n\nThis reverts commit 25e96ce7b99f9736a6024d25bd65a83774c7640f.\n"
    },
    {
      "commit": "68404a0125999ebe0d58c3eb1845b3c9aaf4d51e",
      "tree": "78fa4511887e235982fd70dfa9d089235e4fa937",
      "parents": [
        "ee1dc6221fc9193fb135386244e61e557a07260d",
        "a44a5e02d21505a9c891a31a34c83761600024c0"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 12:13:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 26 12:13:32 2010 -0700"
      },
      "message": "am a44a5e02: am 1b6180ec: Merge \"Fix rendering of digitalClock/Gallery in Eclipse editors.\" into gingerbread\n"
    },
    {
      "commit": "a44a5e02d21505a9c891a31a34c83761600024c0",
      "tree": "0cd858aa1b1ca5560f5c9ead9febc2c2fce88aa2",
      "parents": [
        "cc8de576cd3aaf6c0b7d1515ffb74cb89e4764e3",
        "1b6180ec317201e51cb4a773c59a825342fd2235"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 12:10:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 26 12:10:28 2010 -0700"
      },
      "message": "am 1b6180ec: Merge \"Fix rendering of digitalClock/Gallery in Eclipse editors.\" into gingerbread\n"
    },
    {
      "commit": "25e96ce7b99f9736a6024d25bd65a83774c7640f",
      "tree": "2060eeb90d6cd266f526daa2f16bcfe33111a2a6",
      "parents": [
        "106165b5102be226eb8049d2f7f62d7e26034e8a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 11:18:39 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 26 11:18:39 2010 -0700"
      },
      "message": "Fix rendering of digitalClock/Gallery in Eclipse editors.\n\nChange-Id: I80f4f90b173529632eaf2fbc3bb5471b7ede8216\n"
    },
    {
      "commit": "4f145c9674f814939cc91f699efe538b6c18cba0",
      "tree": "b1bbbde3205e0fbf054c21a9760375beab29070e",
      "parents": [
        "48c9daac20dcae18bf45e528fd073612bc0122e1"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Thu Oct 21 14:53:40 2010 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Oct 26 13:22:17 2010 -0400"
      },
      "message": "Fix debug statements and aapt assert.\n\nENABLE_PSEUDOLOCALIZE seems to not exist.\n\nChange-Id: Ifef771a96938c7ff0f8b664142bb502030b8c543\n"
    },
    {
      "commit": "a7a44d47cb4dea01c6b35e74fda42cbf1529c7a1",
      "tree": "6efb852ec77ea187cdf7406c47e80330e716eda4",
      "parents": [
        "70e4c0f1b63040875af197dee5ab6923fef1f6b3",
        "a0b46c9c441f017a2008ca8ee2c864987465996b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 17:16:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 22 17:16:12 2010 -0700"
      },
      "message": "Merge \"Implement issue #3116702: New manifest tags for supported screen sizes\""
    },
    {
      "commit": "a0b46c9c441f017a2008ca8ee2c864987465996b",
      "tree": "5f2bd72c1e65c7005e3f495f9d1a485bc8079914",
      "parents": [
        "e6634981f12e1d218eaf61c6488af3d8c9f0d202"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 16:18:43 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes\n\nMerged from GB.\n\nChange-Id: I94730b54bcacd083f77708e84c35f4932a7b9d2e\n"
    },
    {
      "commit": "a6ca66af0c0e17804e914eece758d9734d936044",
      "tree": "8dd6413845d470c80db15047d182ca4377bdb8b3",
      "parents": [
        "c08e175f14434f132dfe19a75701170cc57679bc",
        "e2e8ba904b306f11dfc5b71e00ab9ac013358cd7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Oct 22 15:42:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 22 15:42:40 2010 -0700"
      },
      "message": "Merge \"Layoutlib_Create: Fix order of class adapters.\""
    },
    {
      "commit": "c08e175f14434f132dfe19a75701170cc57679bc",
      "tree": "73c05b15343bad704f2f39b8722294c586000b18",
      "parents": [
        "b398fb91ebab7b1717d37680ddfe71c71f532fb4",
        "280372e2c7db128254b5f65395ea843ef285729e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Oct 22 15:42:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 22 15:42:26 2010 -0700"
      },
      "message": "Merge \"Layoutlib_create: fix binary name of delegate methods.\""
    },
    {
      "commit": "e2e8ba904b306f11dfc5b71e00ab9ac013358cd7",
      "tree": "21931ec99ebb589620af398db5ca7559652cbc02",
      "parents": [
        "280372e2c7db128254b5f65395ea843ef285729e"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 15:29:04 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 15:29:04 2010 -0700"
      },
      "message": "Layoutlib_Create: Fix order of class adapters.\n\nThe Transform adapter was running last, instead of\nrunning on the output of the Delegate adapter.\n\nChange-Id: I2cd777add7b0972c6bb197aaac6693d39dd5a103\n"
    },
    {
      "commit": "2191b4b22f4bb497ec08f503c37d112428968afe",
      "tree": "6cd6d2fd5448be50250bc945be9ea680ace160d6",
      "parents": [
        "ee9642c2ba5309ae5094e06c95a5d167d05058c0",
        "d556d8ba369e05836bedab6004f3dbdc5ec3387e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Oct 22 14:03:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 22 14:03:07 2010 -0700"
      },
      "message": "Merge \"Remove dependency on ASM util classes.\""
    },
    {
      "commit": "280372e2c7db128254b5f65395ea843ef285729e",
      "tree": "f01e3cd10350ee880c61c0de2ed957e6bfbc8c03",
      "parents": [
        "d556d8ba369e05836bedab6004f3dbdc5ec3387e"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 13:58:31 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 13:58:31 2010 -0700"
      },
      "message": "Layoutlib_create: fix binary name of delegate methods.\n\nChange-Id: Iebd7d730b23e12f770e6ecadafb2f5c3459958db\n"
    },
    {
      "commit": "ee9642c2ba5309ae5094e06c95a5d167d05058c0",
      "tree": "d9e38744d58c921723bdb40f2c37adc9ff36bdf4",
      "parents": [
        "cf3c7cf3c986526398e2bc79a39227d751202822",
        "2051a1be52b3380285597c62e283e12bf659bda9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 22 13:41:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 13:41:08 2010 -0700"
      },
      "message": "am 2051a1be: am c5371fad: Merge \"Make layoutlib use the prebuilt of layoutlib_api\"\n"
    },
    {
      "commit": "2051a1be52b3380285597c62e283e12bf659bda9",
      "tree": "b6706267e5b25debd3ae3d59f56e91add39c5a27",
      "parents": [
        "faf53c0bf2bd942cc06149364a5425396d958a23",
        "c5371fadf2753d074ef117685fed05b0140d6864"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 22 13:38:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 22 13:38:58 2010 -0700"
      },
      "message": "am c5371fad: Merge \"Make layoutlib use the prebuilt of layoutlib_api\"\n"
    },
    {
      "commit": "d556d8ba369e05836bedab6004f3dbdc5ec3387e",
      "tree": "8fff4f9f0d449ec530bc2d71e36a3786e32e3109",
      "parents": [
        "cf3c7cf3c986526398e2bc79a39227d751202822"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 13:32:04 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Oct 22 13:33:50 2010 -0700"
      },
      "message": "Remove dependency on ASM util classes.\n\nChange-Id: I975b103f8c207e727699e4135170755f6ba2a084\n"
    },
    {
      "commit": "101f14b275ab2451aef50dec427376d721d17aea",
      "tree": "af8c333d1c2d519c300ab817991b74d51cee43b6",
      "parents": [
        "86f1b643d10e0b5b17ae01db3b81020db87b3295",
        "ba501785c7b298198d1c6e4787fd40e98f97da67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 20:17:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 20:17:56 2010 -0700"
      },
      "message": "am ba501785: Merge \"Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\" into gingerbread\n\nMerge commit \u0027ba501785c7b298198d1c6e4787fd40e98f97da67\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ba501785c7b298198d1c6e4787fd40e98f97da67\u0027:\n  Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\n"
    },
    {
      "commit": "0db38449257d6702d18ddf77b019bef38ce3d692",
      "tree": "bfa3735b5356d9054f47cd6d36013a91dd464864",
      "parents": [
        "db723ea0f70392f712542edb1114fc15e782cdb7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 21 18:32:37 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 21 18:32:37 2010 -0700"
      },
      "message": "Make layoutlib use the prebuilt of layoutlib_api\n\nChange-Id: Ie04a9e847acacf7b2aeb179589517fc75688c75b\n"
    },
    {
      "commit": "a6d9c7c04c4b17d85ac70f4494777555655f3be1",
      "tree": "216d077a636fa8be9369de734e14350886c0e7ac",
      "parents": [
        "7dc08fb070ff7455e794fc81645ccb4349cd152f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\n\nChange-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb\n"
    },
    {
      "commit": "d4533f1469990582e4a2dd0898429093fe2690c0",
      "tree": "7ca94c99e6e56ad7d1007c6a1a9d62846a52d075",
      "parents": [
        "82a8a2aa0acc8af59f264d41090c3b99d695c2d5"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 19 15:15:08 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 21 14:25:06 2010 -0700"
      },
      "message": "Report drag success/fail in the DRAG_ENDED message\n\nDragEvent.getResult() returns \u0027true\u0027 if the drop was ultimately accepted;\nfalse otherwise.  The validity of this datum is only guaranteed when the\nDragEvent\u0027s action verb is ACTION_DRAG_ENDED.\n\nAlso fixes the drag-start timeout handling (though the offending app is\nnot yet officially declared ANR).\n\nImplements bug 3097807\n\nChange-Id: I6908ac628c72ff7d6193d87060d769a559a78d0e\n"
    },
    {
      "commit": "3222df8d835c23ceaefc7e4782bb2d5146bb4112",
      "tree": "2f094b24c4614f58d72eae474440d1cc53d34daf",
      "parents": [
        "3027855fb0d7cc32963aed892cac865c866fa87c",
        "ec62719c8396997b436c44906c2760e3914698b8"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Oct 19 09:52:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 09:52:16 2010 -0700"
      },
      "message": "am ec62719c: am 004f968d: Merge \"Link against the static libcrypto in external/openssl.\" into gingerbread\n\nMerge commit \u0027ec62719c8396997b436c44906c2760e3914698b8\u0027\n\n* commit \u0027ec62719c8396997b436c44906c2760e3914698b8\u0027:\n  Link against the static libcrypto in external/openssl.\n"
    },
    {
      "commit": "ec62719c8396997b436c44906c2760e3914698b8",
      "tree": "65ac99ded31c48cf278ce7056cf84acff4e59eaa",
      "parents": [
        "8f5214eb6fa6c85c9c6703da15c4a6cf95ac4b17",
        "004f968d0cf60c08d7b393129ed2d6e4304041e5"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Oct 18 11:50:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 11:50:08 2010 -0700"
      },
      "message": "am 004f968d: Merge \"Link against the static libcrypto in external/openssl.\" into gingerbread\n\nMerge commit \u0027004f968d0cf60c08d7b393129ed2d6e4304041e5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027004f968d0cf60c08d7b393129ed2d6e4304041e5\u0027:\n  Link against the static libcrypto in external/openssl.\n"
    },
    {
      "commit": "78fc85ce64379d36f6a8f955149c7532db1e84ba",
      "tree": "d449980704b790411812ab833cd458e2ee66766b",
      "parents": [
        "672a2531ae69f3a9bc14bd534ad33e540a38672a",
        "35d34c67b7e94639086f2392d674e59b82c26a42"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Oct 15 14:25:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 14:25:59 2010 -0700"
      },
      "message": "am 35d34c67: am 3d828e62: Merge \"Do not build pbkdf2gen on non-Linux hosts\" into gingerbread\n\nMerge commit \u002735d34c67b7e94639086f2392d674e59b82c26a42\u0027\n\n* commit \u002735d34c67b7e94639086f2392d674e59b82c26a42\u0027:\n  Do not build pbkdf2gen on non-Linux hosts\n"
    },
    {
      "commit": "fcab0f5502410b975afe045354bbae31ccba68a5",
      "tree": "184b37e57a998580c15fdaa98d7d8bf0c9155a90",
      "parents": [
        "10aca41e51934822dc492cb69b69cef37f42ad42",
        "8fda1636e3e35f060b9046294efd3c062a1fdb84"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 15 14:00:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 14:00:58 2010 -0700"
      },
      "message": "am 8fda1636: am bdf8034c: Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread\n\nMerge commit \u00278fda1636e3e35f060b9046294efd3c062a1fdb84\u0027\n\n* commit \u00278fda1636e3e35f060b9046294efd3c062a1fdb84\u0027:\n  OBB: use PBKDF2 for key generation.\n"
    },
    {
      "commit": "f25d24b2c772195898db622598b267fc0e04b048",
      "tree": "3c453af7f7205587dbab1ff2fb79392378471ab4",
      "parents": [
        "db3694d03068aca596feee7326d3c14eb71d8dc9",
        "8b1082bba91c085baf523212d85f3bfbb6ee9cea"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 15 13:10:01 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 15 13:10:01 2010 -0700"
      },
      "message": "resolved conflicts for merge of 8b1082bb to master\n\nChange-Id: If9d898123894c53bf83ac28cc7c03cd849c8ef17\n"
    },
    {
      "commit": "1785627fb36a93a1cbc69a048de6ed6412f83de9",
      "tree": "edb283e9a5c5e0fe2e5905826cfca80907bd72fa",
      "parents": [
        "09b35d2fe51c59b6495df3492e12ecd5009e4cf0",
        "b58af2b8b3871436942d0e2c878c906bffaa2fb0"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Oct 15 08:33:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 08:33:00 2010 -0700"
      },
      "message": "am b58af2b8: am 5c62ab0a: Merge \"Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats.\" into gingerbread\n\nMerge commit \u0027b58af2b8b3871436942d0e2c878c906bffaa2fb0\u0027\n\n* commit \u0027b58af2b8b3871436942d0e2c878c906bffaa2fb0\u0027:\n  Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify\n"
    },
    {
      "commit": "a1b592e60dee58aaaf66ce430f3dbe36cf0448bb",
      "tree": "b34fee41e098d981ebff23052a0999b510a256c7",
      "parents": [
        "d4e03f37423bee383d17f7292753a5f67e497a28"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 14 16:13:31 2010 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 14 16:13:31 2010 -0700"
      },
      "message": "Link against the static libcrypto in external/openssl.\n\nChange-Id: Iad41ec975f9b9a4aec0b8470678320f5abe03e1f\n"
    },
    {
      "commit": "35d34c67b7e94639086f2392d674e59b82c26a42",
      "tree": "9d4f08a5b707a78d8787b19668efa975a6625881",
      "parents": [
        "4fa7f4f4963568258a6b4179176de8386cb5d3db",
        "3d828e62c856074334a00ce7c621050b4d7166e4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Oct 14 12:03:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 12:03:07 2010 -0700"
      },
      "message": "am 3d828e62: Merge \"Do not build pbkdf2gen on non-Linux hosts\" into gingerbread\n\nMerge commit \u00273d828e62c856074334a00ce7c621050b4d7166e4\u0027 into gingerbread-plus-aosp\n\n* commit \u00273d828e62c856074334a00ce7c621050b4d7166e4\u0027:\n  Do not build pbkdf2gen on non-Linux hosts\n"
    },
    {
      "commit": "a09f1ebeb5fcdb1763b68a077f918bae87a0095d",
      "tree": "b243e46a81df7ad2e1b05d393998841d29ad6ea3",
      "parents": [
        "bd57eeafe034cf850225db403700b5dc5db5ebcc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 14 10:25:25 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 14 10:43:15 2010 -0700"
      },
      "message": "Do not build pbkdf2gen on non-Linux hosts\n\nChange-Id: I9f575a2ca7d45102a4f67424ea5866cf750adb13\n"
    },
    {
      "commit": "8fda1636e3e35f060b9046294efd3c062a1fdb84",
      "tree": "9c5d4cb8df12357a067f5214eb2f3dbd08d252ca",
      "parents": [
        "e3c50a5470f64fd99438d6fd985f88d9fe20919a",
        "bdf8034c657147226b2390eef113ff841e0d6065"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 22:54:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 22:54:10 2010 -0700"
      },
      "message": "am bdf8034c: Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread\n\nMerge commit \u0027bdf8034c657147226b2390eef113ff841e0d6065\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bdf8034c657147226b2390eef113ff841e0d6065\u0027:\n  OBB: use PBKDF2 for key generation.\n"
    },
    {
      "commit": "bdf8034c657147226b2390eef113ff841e0d6065",
      "tree": "58be0affeafef6d38ef9e53744af1aaf1a7a8fa8",
      "parents": [
        "cebe5b2e01f8ebbf9089aebc386caecea232df76",
        "3b1abba6bbc895d63da3e82e9b158c01bd12eddd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "message": "Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread"
    },
    {
      "commit": "3b1abba6bbc895d63da3e82e9b158c01bd12eddd",
      "tree": "1296e8c25a2927c94783eda83100c061fc9fe379",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:00:07 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:25:33 2010 -0700"
      },
      "message": "OBB: use PBKDF2 for key generation.\n\nSwitch to using PBKDF2 for the key generation for OBBs. Any previously\ngenerated OBBs will stop being read correctly. A small pbkdf2gen program\nis available to allow generation of appropriate keys with the salts.\n\nBug: 3059950\nChange-Id: If4305c989fd692fd1150eb270dbf751e09c37295\n"
    },
    {
      "commit": "8b1082bba91c085baf523212d85f3bfbb6ee9cea",
      "tree": "09d564ab2bfe8888b17d1fe0ed0cb2d37d77c66e",
      "parents": [
        "a905d9551103c5be465429ffeb0352b78058457e",
        "3394db7d9432053e56d86b3f24e64deeb3099950"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 13 17:02:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 17:02:48 2010 -0700"
      },
      "message": "am 3394db7d: Merge \"Regenerate preloaded classes for Gingerbread.\" into gingerbread\n\nMerge commit \u00273394db7d9432053e56d86b3f24e64deeb3099950\u0027 into gingerbread-plus-aosp\n\n* commit \u00273394db7d9432053e56d86b3f24e64deeb3099950\u0027:\n  Regenerate preloaded classes for Gingerbread.\n"
    },
    {
      "commit": "3394db7d9432053e56d86b3f24e64deeb3099950",
      "tree": "5c3f4108526de568b18a583e0be61b7ac1b29d26",
      "parents": [
        "a31cbd61bc53730d756464b0c273475c4f738066",
        "eaca10e2d0a61c482b6a1799ca9f51d8f67482cb"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 13 16:59:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 16:59:12 2010 -0700"
      },
      "message": "Merge \"Regenerate preloaded classes for Gingerbread.\" into gingerbread"
    },
    {
      "commit": "eaca10e2d0a61c482b6a1799ca9f51d8f67482cb",
      "tree": "0a8d7c05494fe42eacff02ead4a0275909763634",
      "parents": [
        "844a6b3ccaff1ad1443ad985e4527b733ce97c0e"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Oct 12 21:35:56 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 13 16:55:26 2010 -0700"
      },
      "message": "Regenerate preloaded classes for Gingerbread.\n\nUnlike previous releases where the set of classes-to-be-preloaded\nwas generated on a first-generation device (G1 and MyTouch 3G), this\nround I used a second-generation device, a Nexus One. As a consequence,\nclass loading is faster (win) and fewer classes hit the 1250ms threshold.\nInstead of sharing classes based on load time alone, classes are now shared\nbased on the number of applications loading them.\n\nChange-Id: I18f7aa3e7e6258818871b3968b515c06314371b3\nhttp://b/2546002\n"
    },
    {
      "commit": "b58af2b8b3871436942d0e2c878c906bffaa2fb0",
      "tree": "bedff3eeabf2f1173dcd8dcb5153058c4f39ca09",
      "parents": [
        "89b73a75467d85c58467c5b8c080c77d25860fe0",
        "5c62ab0af9dadc3bccdad7b01c3ae17266f0b0e1"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Oct 13 15:23:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 15:23:27 2010 -0700"
      },
      "message": "am 5c62ab0a: Merge \"Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats.\" into gingerbread\n\nMerge commit \u00275c62ab0af9dadc3bccdad7b01c3ae17266f0b0e1\u0027 into gingerbread-plus-aosp\n\n* commit \u00275c62ab0af9dadc3bccdad7b01c3ae17266f0b0e1\u0027:\n  Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify\n"
    },
    {
      "commit": "6f51fc14d0c3df8f9153ae5df992cc2731f099c8",
      "tree": "ea1dc04c2e55af8a93c1bc3c7d08ce00182dca15",
      "parents": [
        "527d8bbd79c1ff2b6e24d19fe9e7a1ecdb72891a"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Oct 13 14:33:43 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Oct 13 14:33:43 2010 -0700"
      },
      "message": "Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify\nfiltering based on support for OpenGL ES texture and texture compression\nformats.\n\nChange-Id: I993209a673579b296007ae2ba830d0275770dd11\n"
    },
    {
      "commit": "79d433dd8772fb20caa947c2b0b20965348954a7",
      "tree": "94cac2e1d9cd8a32082c124c0fce9d7aea1e4669",
      "parents": [
        "1d8db8a0a83f3a09dd74afa3070df8bf4b8a6962",
        "556866a2ea1f4758a79fe4f207153b71815ed400"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Oct 08 17:59:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 17:59:13 2010 -0700"
      },
      "message": "am 556866a2: am 656d2165: Merge \"Parser is optional in obtainStyledAttributes.\" into gingerbread\n\nMerge commit \u0027556866a2ea1f4758a79fe4f207153b71815ed400\u0027\n\n* commit \u0027556866a2ea1f4758a79fe4f207153b71815ed400\u0027:\n  Parser is optional in obtainStyledAttributes.\n"
    },
    {
      "commit": "556866a2ea1f4758a79fe4f207153b71815ed400",
      "tree": "d1e1e04500d7ffff4be687ab2e6cf36ad68cbc9b",
      "parents": [
        "909a974f8e5df4b6fc2cf8de6c64633406095c6e",
        "656d21656ad9b33f7d7e1e4960a2f03076a5fc7a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 07 07:16:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 07:16:51 2010 -0700"
      },
      "message": "am 656d2165: Merge \"Parser is optional in obtainStyledAttributes.\" into gingerbread\n\nMerge commit \u0027656d21656ad9b33f7d7e1e4960a2f03076a5fc7a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027656d21656ad9b33f7d7e1e4960a2f03076a5fc7a\u0027:\n  Parser is optional in obtainStyledAttributes.\n"
    },
    {
      "commit": "0a226d84e1e67fc5a180d65246ed942266701fb8",
      "tree": "7ade3027b041ce09f500d92eafad958350cf876c",
      "parents": [
        "70f1a3b8a0fcf332e35f87be85ae3a9e37a85e9c"
      ],
      "author": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Wed Sep 01 12:06:04 2010 -0500"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 06 18:39:19 2010 -0700"
      },
      "message": "Avoid pre-processing images when they won\u0027t be used\n\nChange-Id: I24db3645c399f66dc7cc0e85909ce34b68ff829e\n"
    },
    {
      "commit": "f8e4c1f57bbb658f53995443b0f175e50a2fc814",
      "tree": "95673dc259dc4636da7618f824e9a923d168f8ec",
      "parents": [
        "a29643a6455df7d3d615cdc45e11c437fe4b6cee"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Oct 04 17:41:03 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Oct 04 18:11:50 2010 -0700"
      },
      "message": "Parser is optional in obtainStyledAttributes.\n\nIf the parser is null it just means the default style/values are\nused.\n\nChange-Id: I5ff3d632fd5dfc5a1ce42796b2fef7b30f9fbf34\n"
    },
    {
      "commit": "58520b24d40bb2587f394a52535dab4f2736bab1",
      "tree": "09b3f3ed6d4c68f0084df07a8b880884d109e071",
      "parents": [
        "5e9f64ce24b3381ee48f9e12242aba5216f136a4",
        "10d5b0966d1b6ab0e3b63c71d5325403e75b647e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:54:59 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:54:59 2010 -0700"
      },
      "message": "resolved conflicts for merge of 10d5b096 to master\n\nChange-Id: Id5c6ba651f72b48f0d70ee2ca64a6c9adf5e74f7\n"
    },
    {
      "commit": "10d5b0966d1b6ab0e3b63c71d5325403e75b647e",
      "tree": "f80bfe84762d9c46202a79c5320546593ae796f8",
      "parents": [
        "b12bfbd4df985041ab0e584ef5a746328baac038",
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:03:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 14:03:06 2010 -0700"
      },
      "message": "am 407f625a: Add new API to find out whether external storage is removable.\n\nMerge commit \u0027407f625a9b8e356e765a5ec587c443af1f3aadb5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027407f625a9b8e356e765a5ec587c443af1f3aadb5\u0027:\n  Add new API to find out whether external storage is removable.\n"
    },
    {
      "commit": "407f625a9b8e356e765a5ec587c443af1f3aadb5",
      "tree": "f2cb0a3b75327c8ffee2e1d0f351d35431305f24",
      "parents": [
        "eb6e22f29ded58e7e51702c34878fd01e20ff802"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 11:31:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 13:58:56 2010 -0700"
      },
      "message": "Add new API to find out whether external storage is removable.\n\nThis is implemented based on whether we are using the \"nosdcard\"\nproduct.  Needed to tweak aapt to allow use of the product attribute\nwith other resource definition tags besides strings.\n\nChange-Id: I49922d23b52a34183a8e2f4d2515adaf1fc9149a\n"
    },
    {
      "commit": "3cff14ca778694c137052e83d7642ab7475b1319",
      "tree": "75d4db8e7523e71d99635454da27a2223111c8f7",
      "parents": [
        "b4152eda1da54fc25abd14cb3f61982332bbc8bc",
        "bc101806249eb883f89c4a770a8c27f9ac315837"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Oct 04 12:46:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 04 12:46:37 2010 -0700"
      },
      "message": "Merge \"layoutlib_create: Generate delegate to implement native methods.\""
    },
    {
      "commit": "edeb7a5a391ddec6df6d34ecb1f64ef2bb376dbb",
      "tree": "d57d8976a2fb625ff8f5f65e8619759a854646b2",
      "parents": [
        "120e6be701833fd7cdc6bf063b17e1f88929a074",
        "7e40e67f73e0e9fa61a9601d82e8a207ffdca039"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 17:07:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 17:07:21 2010 -0700"
      },
      "message": "am 7e40e67f: am d9e88d22: Merge \"Add \"none\" for vold and deprecate mkobb -c\" into gingerbread\n\nMerge commit \u00277e40e67f73e0e9fa61a9601d82e8a207ffdca039\u0027\n\n* commit \u00277e40e67f73e0e9fa61a9601d82e8a207ffdca039\u0027:\n  Add \"none\" for vold and deprecate mkobb -c\n"
    },
    {
      "commit": "7e40e67f73e0e9fa61a9601d82e8a207ffdca039",
      "tree": "88b12a0c64fc835ade01d012a827c26e36c4b42b",
      "parents": [
        "007d5b2cf6af32dfe96c0c04988d090b872afb01",
        "d9e88d22f0ffefdc6a3b9c59168bd1bb6d402486"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 15:11:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 01 15:11:22 2010 -0700"
      },
      "message": "am d9e88d22: Merge \"Add \"none\" for vold and deprecate mkobb -c\" into gingerbread\n\nMerge commit \u0027d9e88d22f0ffefdc6a3b9c59168bd1bb6d402486\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d9e88d22f0ffefdc6a3b9c59168bd1bb6d402486\u0027:\n  Add \"none\" for vold and deprecate mkobb -c\n"
    },
    {
      "commit": "12ffd9bf4c2cc9075ea7602b4932f823ba940f80",
      "tree": "5799aa5df8bde6b1f641d704b8909d0549fd1784",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 12:56:59 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 14:02:47 2010 -0700"
      },
      "message": "Add \"none\" for vold and deprecate mkobb -c\n\nIf vold isn\u0027t told \"none\" for the key, it will try to mount it as an\nencrypted container.\n\nAlso remove the -c option from mkobb since it can be triggered by\nincluding a key as well.\n\nChange-Id: I40a8ff3f778bfda682312630e6687ecc14b51844\n"
    },
    {
      "commit": "13cc0a06fce4ec54574c9bf2084752961a144c24",
      "tree": "77af62b768870dc45b26c56978f70332fad66d94",
      "parents": [
        "fc32a6023676c2f1b13c890c7295cccad6f0000c",
        "4309b52fe19de5241113d8f9ebcdf52741e086a9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 19:47:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 19:47:06 2010 -0700"
      },
      "message": "am 4309b52f: am 735de3b3: Hash keys with MD5; track IBinders not IInterface\n\nMerge commit \u00274309b52fe19de5241113d8f9ebcdf52741e086a9\u0027\n\n* commit \u00274309b52fe19de5241113d8f9ebcdf52741e086a9\u0027:\n  Hash keys with MD5; track IBinders not IInterface\n"
    },
    {
      "commit": "4309b52fe19de5241113d8f9ebcdf52741e086a9",
      "tree": "cd5746570a1a7ce256a27babfddc7c24d7c1402a",
      "parents": [
        "0f064de830d11ddb08a3c000b894b46aa530348a",
        "735de3b38abbd6564082a819377673ee593744a6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:30:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 17:30:37 2010 -0700"
      },
      "message": "am 735de3b3: Hash keys with MD5; track IBinders not IInterface\n\nMerge commit \u0027735de3b38abbd6564082a819377673ee593744a6\u0027 into gingerbread-plus-aosp\n\n* commit \u0027735de3b38abbd6564082a819377673ee593744a6\u0027:\n  Hash keys with MD5; track IBinders not IInterface\n"
    },
    {
      "commit": "735de3b38abbd6564082a819377673ee593744a6",
      "tree": "ec309587616c5abbc49df83d7d21b6a3b3e9dfbd",
      "parents": [
        "27358a69b33eaa268ee75ef778ec824c8085adcc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 14:11:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:25:05 2010 -0700"
      },
      "message": "Hash keys with MD5; track IBinders not IInterface\n\nUsing a plaintext password doesn\u0027t work unless it\u0027s a certain length, so\njust hash the plaintext password with MD5 to make it the right length\nfor the twofish encryption.\n\nTracking the IInterface doesn\u0027t make much sense since it\u0027s different\neach time, so track the IBinder instead. That way we can unlinkToDeath\nthe binder when the last thing it\u0027s holding onto goes away.\n\nChange-Id: Id828d25b4d74f27e9d8b4bfb3909c964469cc473\n"
    },
    {
      "commit": "a53146c5569f8ff5f7eb55e9ad35d23ddacf2add",
      "tree": "2e29a19de07b5b6c721221b72a82392ff7452d8b",
      "parents": [
        "07b88ea0acd44ecd317ce37eb4338e5b0d2b52b0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Sep 07 11:57:52 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 30 16:29:07 2010 -0700"
      },
      "message": "Drag/drop APIs and infrastructure\n\nA View initiates a drag-and-drop operation (hereafter just called a \"drag\")\nby calling its startDrag(ClipData) method.  Within the processing of that\ncall, two callbacks are made into the originating View.  The first is to\nonMeasureDragThumbnail().  Similarly to the core onMeasure() method, this\ncallback must respond by calling setDragThumbnailDimension(width, height) to\ndeclare the size of the drag thumbnail image that should be used.  Following\nthis, the View\u0027s onDrawDragThumbnail(canvas) method will be invoked to\nactually produce the bits of the thumbnail image.\n\nIf all goes well, startDrag() will return \u0027true\u0027, and the drag is off and\nrunning.  (The other arguments to startDrag() provide reconciliation between\nthe current finger position and where the thumbnail should be placed on\nthe screen relative to it.)\n\nPotential receipients of the ClipData behind the drag are notified by a\nnew dispatch mechanism, roughly parallel to motion event dispatch.  The core\nroutine is the View\u0027s onDragEvent(event) callback, with the mechanics of\ndispatch itself being routed through dispatchDragEvent(event) -- as in\nthe case of motion events, the dispatch logic is in ViewGroup, with leaf\nView objects not needing to consider the dispatch flow.\n\nSeveral different event \u0027actions\u0027 are delivered through this dispatch\nmechanism:\n\nACTION_DRAG_STARTED: this event is propagated to every View in every window\n(including windows created during the course of a drag).  It serves as a\nglobal notification that a drag has started with a payload whose matching\nClipDescription is supplied with the event.  A View that is prepared to\nconsume the data described in this event should return \u0027true\u0027 from their\nonDragEvent() method, and ideally will also make some visible on-screen\nindication that they are a potential target of the drop.\n\nACTION_DRAG_ENTERED: this event is sent once when the drag point\nenters the View\u0027s bounds.  It is an opportunity for the View to set up\nfeedback that they are the one who will see the drop if the finger goes\nup now.\n\nACTION_DRAG_LOCATION: when the drag point is over a given View, that\nView will receive a stream of DRAG_LOCATION events, providing an\nopportunity for the View to show visual feedback tied to the drag point.\n\nACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point\nleaves the View\u0027s bounds.  The View should undo any visuals meant to\nemphasize their being the hovered-over target.\n\nACTION_DROP: when the drag ends at a given point, the View under that\npoint is sent this event, with the full ClipData of the payload.\n\nACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global\nbroadcast that the drag has ended and all Views should return to their\nnormal visual state.  This happens after the DROP event.\n\nChange-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6\n"
    },
    {
      "commit": "bc101806249eb883f89c4a770a8c27f9ac315837",
      "tree": "d8ad184b4ceddb749a56ed53e00a1fd57ff154d0",
      "parents": [
        "1c1797acff49857b41ea1e3630d23d940882791c"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Sep 27 08:55:43 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Wed Sep 29 14:45:20 2010 -0700"
      },
      "message": "layoutlib_create: Generate delegate to implement native methods.\n\n- Some new parameters are added to CreateInfo with the list of methods\n  or classes to override with delegates.\n- DelegateClassAdapter and DelegateMethodAdapter do the work... see javadoc.\n\nChange-Id: I0657cd929837181d81c65db7051d8ccbdc59c741\n"
    },
    {
      "commit": "1e57996f47e9d7f96506e2d680eea9f1d7ecc7ac",
      "tree": "0906b44f43359e84cd44cd69e954092f12702806",
      "parents": [
        "9783052ec1260985f4e08f4dada6331445ce538e",
        "0e8dc464bdfa29785aab7be6343154fee361f6a0"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Sep 28 17:38:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:38:19 2010 -0700"
      },
      "message": "am 0e8dc464: am 292c246b: Merge \"Call functions to calculate deps and classes.jar\" into gingerbread\n\nMerge commit \u00270e8dc464bdfa29785aab7be6343154fee361f6a0\u0027\n\n* commit \u00270e8dc464bdfa29785aab7be6343154fee361f6a0\u0027:\n  Call functions to calculate deps and classes.jar\n"
    },
    {
      "commit": "0e8dc464bdfa29785aab7be6343154fee361f6a0",
      "tree": "3212fbd5f51b163b254a7b0fada909ae18381a05",
      "parents": [
        "df31e03c47cd4caf45d8a58cf1fe5893da48ec6c",
        "292c246b27319bc2195e2b3dbc3c3adea22db672"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Sep 28 15:09:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 15:09:49 2010 -0700"
      },
      "message": "am 292c246b: Merge \"Call functions to calculate deps and classes.jar\" into gingerbread\n\nMerge commit \u0027292c246b27319bc2195e2b3dbc3c3adea22db672\u0027 into gingerbread-plus-aosp\n\n* commit \u0027292c246b27319bc2195e2b3dbc3c3adea22db672\u0027:\n  Call functions to calculate deps and classes.jar\n"
    },
    {
      "commit": "c486da4887811bce4895199c3116616b3638f35a",
      "tree": "2f8abb1491b97169dca7a85be2e5c4bfdb54d285",
      "parents": [
        "65a5ba45559e88a50c258d794a1728498c248376"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Sep 28 14:33:58 2010 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Sep 28 14:33:58 2010 -0700"
      },
      "message": "Call functions to calculate deps and classes.jar\n\nInstead of hard-coding them.\n\nChange-Id: Ia5818a1a69efb0964d5aa7de7e8d30ef04dfeccc\n"
    },
    {
      "commit": "cdde57ae5c5bc12317f1eababf43bf3a6c2d511e",
      "tree": "ef56c87cf0d6652c6f96cdeae392f2277c06552c",
      "parents": [
        "e18f15e6fe9a7217de805e8a7ad84c01761910ec",
        "e335914c7ef0ad765200282911a7903be1715995"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 28 10:59:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 10:59:46 2010 -0700"
      },
      "message": "Merge \"Improve error reporting in the layoutlib class replacement test.\""
    },
    {
      "commit": "e335914c7ef0ad765200282911a7903be1715995",
      "tree": "4507031035a966cbb8c8461b53ccfde1b1fc83ae",
      "parents": [
        "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 28 10:55:24 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 28 10:55:24 2010 -0700"
      },
      "message": "Improve error reporting in the layoutlib class replacement test.\n\nChange-Id: I451253ebb902171d67683784ef7a6de65588865d\n"
    },
    {
      "commit": "cca1f0e3476edd09cdd81b075a6b7780a2959b46",
      "tree": "d403a9351ccb722771dea382852bde6df8f23a68",
      "parents": [
        "c63806d852a550d82bbe6cadff8a2139d78ed559"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 18:34:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 18:05:44 2010 -0700"
      },
      "message": "Allow all apps to call ContentResolver.getType().\n\nI can\u0027t find the bug number for this, but it is needed for some things\nwe are doing where the app building an intent may not have access to the\nURI in the data field.  This is for HC, but doing in GB to avoid introducing\nintegration issues.\n\nChange-Id: I0cac971854198b18775d2a73deb80f23431bfbe2\n"
    },
    {
      "commit": "a8bce7c8acb3904eb69bf21276c0ca2635c76a20",
      "tree": "3687f29b2ed1e8eb9b74d995dff9de2bf7824b08",
      "parents": [
        "9785bf0f2b6b8758aed7ded3b996a2ef0be89919",
        "d8691d73d158acd9ffc63748126e822afd656707"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 12:45:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 12:45:31 2010 -0700"
      },
      "message": "am d8691d73: Merge \"Allow all apps to call ContentResolver.getType().\" into gingerbread\n\nMerge commit \u0027d8691d73d158acd9ffc63748126e822afd656707\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d8691d73d158acd9ffc63748126e822afd656707\u0027:\n  Allow all apps to call ContentResolver.getType().\n"
    },
    {
      "commit": "8313fc7e94e46e5cc09f457a15a771a325b9f74f",
      "tree": "d68bf554b0d92a64cde72e58178e60d4d30b521d",
      "parents": [
        "08c09b0f84b23627b4cd02e1b9a642952fbd2e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 18:34:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 21:31:47 2010 -0700"
      },
      "message": "Allow all apps to call ContentResolver.getType().\n\nI can\u0027t find the bug number for this, but it is needed for some things\nwe are doing where the app building an intent may not have access to the\nURI in the data field.  This is for HC, but doing in GB to avoid introducing\nintegration issues.\n\nChange-Id: I0cac971854198b18775d2a73deb80f23431bfbe2\n"
    },
    {
      "commit": "dcc9dced33dd0237d386bd2ca39b2d105b1ec938",
      "tree": "af1b8c9166a9fad7b03e2d6144313c6c7f7237c1",
      "parents": [
        "22ba86cfafaedab650a3bb85417ed4d9c0c57675",
        "cb7c5498709526e2a2367a7f36f83caf05be5f1a"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Sep 24 17:02:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 17:02:00 2010 -0700"
      },
      "message": "am cb7c5498: am 91512f57: Layoutlib_create: Unittest for ClassHasNativeVisitor.\n\nMerge commit \u0027cb7c5498709526e2a2367a7f36f83caf05be5f1a\u0027\n\n* commit \u0027cb7c5498709526e2a2367a7f36f83caf05be5f1a\u0027:\n  Layoutlib_create: Unittest for ClassHasNativeVisitor.\n"
    },
    {
      "commit": "cb7c5498709526e2a2367a7f36f83caf05be5f1a",
      "tree": "c8f1d73b4ece160faf79bdc14b152c2434cf30bc",
      "parents": [
        "ca25d2c31dc20f69597be8f34d6da9167d53b4d0",
        "91512f579e7a1bf91d23254471ee47d3a88d342f"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Sep 24 16:43:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 24 16:43:28 2010 -0700"
      },
      "message": "am 91512f57: Layoutlib_create: Unittest for ClassHasNativeVisitor.\n\nMerge commit \u002791512f579e7a1bf91d23254471ee47d3a88d342f\u0027 into gingerbread-plus-aosp\n\n* commit \u002791512f579e7a1bf91d23254471ee47d3a88d342f\u0027:\n  Layoutlib_create: Unittest for ClassHasNativeVisitor.\n"
    },
    {
      "commit": "91512f579e7a1bf91d23254471ee47d3a88d342f",
      "tree": "19f8ce8d207419aaf50c8ad98105fbace52373a5",
      "parents": [
        "f2960b8d66d7a20f590716f5e51160e77d0d1b24"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Sep 24 13:54:37 2010 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Fri Sep 24 14:04:04 2010 -0700"
      },
      "message": "Layoutlib_create: Unittest for ClassHasNativeVisitor.\n\nChange-Id: Id101bb3fc2644e450847e73c933cb6f616982f24\n"
    },
    {
      "commit": "6f27ab8bd4aca5a43f6bf93cd68c43dde825bfa1",
      "tree": "40eaf1634c582ef040e5157fc2bbf73ac16b9106",
      "parents": [
        "7eb805707fc512f1711fbf00eb5eec2472a0bae1",
        "9c70835896b6c078ac4c8b2e30cb6cfba70bb9d7"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Sep 23 13:52:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 13:52:00 2010 -0700"
      },
      "message": "am 9c708358: am 37cedce1: Merge \"Add an aapt option to allow string variations for different devices.\" into gingerbread\n\nMerge commit \u00279c70835896b6c078ac4c8b2e30cb6cfba70bb9d7\u0027\n\n* commit \u00279c70835896b6c078ac4c8b2e30cb6cfba70bb9d7\u0027:\n  Add an aapt option to allow string variations for different devices.\n"
    },
    {
      "commit": "9c70835896b6c078ac4c8b2e30cb6cfba70bb9d7",
      "tree": "4d742cfa9df924a9b42145785e57d81dd90ddc44",
      "parents": [
        "9c4d7d677097981a349c718902e29050dad3d59f",
        "37cedce14bc0e68e8bf27c2cecb181728226e6ed"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Sep 23 13:49:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 13:49:44 2010 -0700"
      },
      "message": "am 37cedce1: Merge \"Add an aapt option to allow string variations for different devices.\" into gingerbread\n\nMerge commit \u002737cedce14bc0e68e8bf27c2cecb181728226e6ed\u0027 into gingerbread-plus-aosp\n\n* commit \u002737cedce14bc0e68e8bf27c2cecb181728226e6ed\u0027:\n  Add an aapt option to allow string variations for different devices.\n"
    },
    {
      "commit": "90964040cabfc67f92a7c3322a02401bb6f8ae82",
      "tree": "52f1ce1de971a071026a12e145837e015e60d26a",
      "parents": [
        "89647b1172cdf40a3681922150122b0bd2ea83f1"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Sep 15 15:59:21 2010 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Sep 23 10:32:47 2010 -0700"
      },
      "message": "Add an aapt option to allow string variations for different devices.\n\nThe --product option to aapt is a comma-separated list of characteristics\nof the device being built for.  For example, --product nosdcard,grayscale\nfor a device with no SD card and a grayscale screen.\n\nStrings can specify a product\u003d\"characteristic\" option to cause that version\nof the string to be used only for that type of device.  All such strings\nshould also specify, at the end of the block, product\u003d\"default\", which\nwill be used if none of the variations match.  For example:\n\n\u003cstring name\u003d\"choose\" product\u003d\"bw\"\u003eChoose black or white\u003c/string\u003e\n\u003cstring name\u003d\"choose\" product\u003d\"grayscale\"\u003eChoose a shade of gray\u003c/string\u003e\n\u003cstring name\u003d\"choose\" product\u003d\"default\"\u003eChoose a color\u003c/string\u003e\n\nThe default characteristic will also be used when no --product option\nis specified.\n\nChange-Id: Ie6c1505599e02e15b7818e8be6ec47bc6ce71aaa\n"
    },
    {
      "commit": "adaba84ad76f70d833e140d5c28a0de58c8f19d2",
      "tree": "108753beb7101d987e7f83ee777c8bdf49087ade",
      "parents": [
        "1198ac4ac6f27cd59db9dbbe369748f38b64731f",
        "625ac271f80777668f832a344486a6fcdc06d0ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 21 22:17:52 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 22:17:52 2010 -0700"
      },
      "message": "Merge \"Work on fragments in layouts.\""
    },
    {
      "commit": "625ac271f80777668f832a344486a6fcdc06d0ae",
      "tree": "d9646d9a22d407ef7745cc39fa161488433a8e6e",
      "parents": [
        "6cf08937a11851403e63908b937c9de0dff5a8cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 17 18:29:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 21 22:08:50 2010 -0700"
      },
      "message": "Work on fragments in layouts.\n\n- Change semantics if IDs associated with these fragments, to\n  work correctly when placed in a container.  If the container\n  has an ID or you have supplied a tag, the fragment\u0027s ID is\n  optional.\n\n- To do this, there is a new LayoutInflater API that allows code\n  creating views to access the parent container that view will\n  be in.\n\n- Fix issues with state management around these fragments.  Now\n  correctly retains state when switching to a layout that doesn\u0027t\n  include the fragment.\n\nAlso:\n\n- Add new simple list layouts for items that want to show an\n  activated state.\n- Add new Activity.dump() that can be invoked with adb shell\n  dumpsys; the default implementation dumps fragment state.\n\nChange-Id: I192f35e3ea8c53fbd26cf909095f2a994abfc1b6\n"
    },
    {
      "commit": "1ad0e9a1a2c1f5b31d3610acb3142ab2b4f6f958",
      "tree": "6220db2870bc2afecbabbd107e6386136ea0db45",
      "parents": [
        "a7553c5e330a6f743f6a62d610373214b1001663",
        "98699c8fc44358d168183dae47e10758b2d1cb08"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Sep 21 20:21:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 20:21:43 2010 -0700"
      },
      "message": "am 98699c8f: am f2960b8d: Refresh the layoutlib_create doc.\n\nMerge commit \u002798699c8fc44358d168183dae47e10758b2d1cb08\u0027\n\n* commit \u002798699c8fc44358d168183dae47e10758b2d1cb08\u0027:\n  Refresh the layoutlib_create doc.\n"
    },
    {
      "commit": "98699c8fc44358d168183dae47e10758b2d1cb08",
      "tree": "c1d13c9e4d5dd0cbd183ca8ed48eaaa031a56581",
      "parents": [
        "77d9a5a55fa52074f18012cf997854a82500fd59",
        "f2960b8d66d7a20f590716f5e51160e77d0d1b24"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Sep 21 18:58:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 18:58:14 2010 -0700"
      },
      "message": "am f2960b8d: Refresh the layoutlib_create doc.\n\nMerge commit \u0027f2960b8d66d7a20f590716f5e51160e77d0d1b24\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f2960b8d66d7a20f590716f5e51160e77d0d1b24\u0027:\n  Refresh the layoutlib_create doc.\n"
    },
    {
      "commit": "f2960b8d66d7a20f590716f5e51160e77d0d1b24",
      "tree": "2435836bb2a57b8b4619cd9e7fc03e0843cf64cc",
      "parents": [
        "7869f08c55d774b0006c2260e87747ff5e0746f2"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Sep 21 17:10:35 2010 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Sep 21 17:39:35 2010 -0700"
      },
      "message": "Refresh the layoutlib_create doc.\n\nChange-Id: I43e92c33d824ace9edd77d90a1b36a5f69d85e7f\n"
    },
    {
      "commit": "d68e8d679c199d1cbef314e8bd545bcb62e36a88",
      "tree": "544ae122e3c6edfa9c14514e8876d0f9ff52b515",
      "parents": [
        "d0f533ec0aa6042dc8eef4d6f4bba5d616b845f7",
        "c1558df7778ec5bf9be5ecee9395d4684b6948e2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 21 15:11:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:11:09 2010 -0700"
      },
      "message": "am c1558df7: am 34d3aeaf: Merge \"Add image creator helper script for OBBs\" into gingerbread\n\nMerge commit \u0027c1558df7778ec5bf9be5ecee9395d4684b6948e2\u0027\n\n* commit \u0027c1558df7778ec5bf9be5ecee9395d4684b6948e2\u0027:\n  Add image creator helper script for OBBs\n"
    },
    {
      "commit": "c1558df7778ec5bf9be5ecee9395d4684b6948e2",
      "tree": "f844500c2fd6a9027fe854979be326dfbd0f3880",
      "parents": [
        "8bf158f6ba31efd2f262fc3ba6cdd13733c7d99e",
        "34d3aeaf7f5dd744f46220f7730913468256ae9c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 21 15:06:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:06:08 2010 -0700"
      },
      "message": "am 34d3aeaf: Merge \"Add image creator helper script for OBBs\" into gingerbread\n\nMerge commit \u002734d3aeaf7f5dd744f46220f7730913468256ae9c\u0027 into gingerbread-plus-aosp\n\n* commit \u002734d3aeaf7f5dd744f46220f7730913468256ae9c\u0027:\n  Add image creator helper script for OBBs\n"
    },
    {
      "commit": "30c1102fecda5e9ef071c58c0e54b721961ae4e3",
      "tree": "d7b24893fb749d99db005a7cc10ae424c3e9de12",
      "parents": [
        "181e5ea8087360742b3ed0a7f2e6f8f8baa0a760"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 21 10:13:19 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 21 10:13:19 2010 -0700"
      },
      "message": "Add image creator helper script for OBBs\n\nChange-Id: Id3f2b158077e8d104582e0ac720c2428c3ba4d97\n"
    },
    {
      "commit": "f14fafdb7d107b1303e6c93e54b20d457195dca2",
      "tree": "a112f3032693ee0c9638c777d341bb82a23e7280",
      "parents": [
        "5d77928f328feefe0ba15fd12c5b0b9a54b89519",
        "fa8887848e2877dd96e853dfcd52086f1b66c26b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Sep 10 15:01:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 10 15:01:56 2010 -0700"
      },
      "message": "am fa888784: am 89fef418: Merge \"Avoid pre-processing images when they won\\\u0027t be used\"\n\nMerge commit \u0027fa8887848e2877dd96e853dfcd52086f1b66c26b\u0027\n\n* commit \u0027fa8887848e2877dd96e853dfcd52086f1b66c26b\u0027:\n  Avoid pre-processing images when they won\u0027t be used\n"
    },
    {
      "commit": "fa8887848e2877dd96e853dfcd52086f1b66c26b",
      "tree": "923ad4607189c83780383ae6a69c06d3cfb7380c",
      "parents": [
        "e3dabc4bc4ad977d8b126e644e4328e70bd58b72",
        "89fef4183a3c58aebbbf66e894bbdc1ae9f634e9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Sep 10 13:03:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 10 13:03:43 2010 -0700"
      },
      "message": "am 89fef418: Merge \"Avoid pre-processing images when they won\\\u0027t be used\"\n\nMerge commit \u002789fef4183a3c58aebbbf66e894bbdc1ae9f634e9\u0027 into gingerbread-plus-aosp\n\n* commit \u002789fef4183a3c58aebbbf66e894bbdc1ae9f634e9\u0027:\n  Avoid pre-processing images when they won\u0027t be used\n"
    },
    {
      "commit": "578a57fc6bba6d19e31e91961ef5a9e86b890e4b",
      "tree": "f56287c185424d57a6e94c667518e5edf785ac1b",
      "parents": [
        "bd6abed3c8c7c0215fd937d27f1eda1ee88d11a1"
      ],
      "author": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Wed Sep 01 12:06:04 2010 -0500"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Fri Sep 03 15:17:09 2010 -0500"
      },
      "message": "Avoid pre-processing images when they won\u0027t be used\n\nChange-Id: Iffa31228ca95a2e29ccc0aa81bda0fc66922d577\n"
    },
    {
      "commit": "f156e752b50ec3bfe013c6a7af6b1c16b0dfa611",
      "tree": "2f50ebd88056b77b519b8f36b55a2c36265d0569",
      "parents": [
        "0a01f076d221ccdaf360cac83e42e92b97ee3900",
        "31103928ed5b9091bcd7de74c8a49675d10c87e7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 02 17:59:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 02 17:59:51 2010 -0700"
      },
      "message": "am 31103928: am 192b56d4: Merge \"Implement #2964234: Add support for \u003cuses-package\u003e element to aapt\" into gingerbread\n\nMerge commit \u002731103928ed5b9091bcd7de74c8a49675d10c87e7\u0027\n\n* commit \u002731103928ed5b9091bcd7de74c8a49675d10c87e7\u0027:\n  Implement #2964234: Add support for \u003cuses-package\u003e element to aapt\n"
    }
  ],
  "next": "43b6803095e41e6a1cf844a77813c6cdbdc84ec3"
}
