)]}'
{
  "log": [
    {
      "commit": "212dfccc74e37521f771a52c8209b049fe984793",
      "tree": "9e7efaa15e993c0a04b234443d151d1365185b7a",
      "parents": [
        "95f1158908d990bbf954d7cc78f3f214a6c84f1f",
        "be925017201ad547a72e8d1e333dbc7eae3fc76f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jul 20 10:00:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 20 10:00:11 2012 -0700"
      },
      "message": "am be925017: am b71393bd: Merge \"Fix aapt -G to properly support class attr in fragment.\" into jb-dev\n\n* commit \u0027be925017201ad547a72e8d1e333dbc7eae3fc76f\u0027:\n  Fix aapt -G to properly support class attr in fragment.\n"
    },
    {
      "commit": "be925017201ad547a72e8d1e333dbc7eae3fc76f",
      "tree": "d07536a4132acc745f4170342898aeee1ceffd56",
      "parents": [
        "1c7a9b2ec9a75fe5975bd35482d74dc3d07e6205",
        "b71393bd34a48eeb622292e78f43b99e374a5e3a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 19 14:30:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 19 14:30:39 2012 -0700"
      },
      "message": "am b71393bd: Merge \"Fix aapt -G to properly support class attr in fragment.\" into jb-dev\n\n* commit \u0027b71393bd34a48eeb622292e78f43b99e374a5e3a\u0027:\n  Fix aapt -G to properly support class attr in fragment.\n"
    },
    {
      "commit": "095cd2e2d14e4fe25b66df54861fb66000a25adc",
      "tree": "b16c8e094f998b23b77a68e364e70f45629f13b5",
      "parents": [
        "12a5475205243bc2d069a87d2c7d4982b5f4d11d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 18 18:06:09 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 19 09:06:03 2012 -0700"
      },
      "message": "Fix aapt -G to properly support class attr in fragment.\n\nThe code added attributes android:name and class to a\nKeyedVector under the same key (fragment) so the 2nd\nadd (android:name) removed class with was never checked.\n\nThis replace the value type in the KeyedVector to be\nVector\u003cNamespaceAttributePair\u003e instead of just\nNamespaceAttributePair.\n\nChange-Id: I009b8a8cca878191661c2a63bb14c967d230498d\n"
    },
    {
      "commit": "c9c9a48e7bafae63cb35a9aa69255e80aba83988",
      "tree": "80295bae9e6546d9d7fb604af0fa772ebd18a4fc",
      "parents": [
        "dd0d0ba654cea3051e44ba9ae20ac4b269e123c0"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 16 08:46:07 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 16 08:46:11 2012 -0700"
      },
      "message": "Removing a workaround for incorrect window position on window move.\n\n1. The window manager was not notifying a window when the latter\n   has been moved. This was causing incorrect coordinates of the\n   nodes reported to accessibility services. To workaround that\n   we have carried the correct window location when making a\n   call from the accessibility layer into a window. Now the\n   window manager notifies the window when it is moved and the\n   workaround is no longer needed. This change takes it out.\n\n2. The left and right in the attach info were not updated properly\n   after a report that the window has moved.\n\n3. The accessibility manager service was calling directly methods\n   on the window manager service without going through the interface\n   of the latter. This leads to unnecessary coupling and in the\n   long rung increases system complexity and reduces maintability.\n\nbug:6623031\n\nChange-Id: Iacb734b1bf337a47fad02c827ece45bb2f53a79d\n"
    },
    {
      "commit": "54059cd38de24bbffc2525b56955535df73bf1eb",
      "tree": "693abe2c8ae261ba276ef46f72e9c7b16cb2adf4",
      "parents": [
        "23316a1ef8868bc641ed72d42839c20b7b86fadb",
        "15c15eaac51c0c375d18fb70cd1bd066d87b034e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 10 18:38:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 10 18:38:21 2012 -0700"
      },
      "message": "am 15c15eaa: Merge \"Replace LruCache implementation for layoutlib. do not merge.\" into jb-dev\n\n* commit \u002715c15eaac51c0c375d18fb70cd1bd066d87b034e\u0027:\n  Replace LruCache implementation for layoutlib. do not merge.\n"
    },
    {
      "commit": "105b78bb310a75dc44e0baa49fe7d20341cc0f15",
      "tree": "f724600922f997278723d8d650e469a8ce561f09",
      "parents": [
        "fbf885b652272013f44da71e9f77923333bf62eb"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 10 15:17:25 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 10 15:17:25 2012 -0700"
      },
      "message": "Add missing interface method.\n\nFix broken build.\n\nChange-Id: I6644df218e11a35330a985bdcb9ace33723330f5\n"
    },
    {
      "commit": "54a18ef7ad9da65a95f4d383952ae6268f8a4f34",
      "tree": "627ce814923bcd9cedc56c43b57faeddd2f1bea5",
      "parents": [
        "40a4ab130a3e3c99afb1a57e9aa30de03a89b51e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 09 15:53:40 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 10 12:51:30 2012 -0700"
      },
      "message": "Replace LruCache implementation for layoutlib. do not merge.\n\nThe android version depends on a custom version of LinkedHashMap\nwhich is not present on desktop VMs. This new implementation is done\nin a way that minimizes the difference between the two.\n\nAlso some minor fixes.\n\n(cherry picked from commit 01b6c755dbcf24e71192dc44757e2eea2a426091)\n\nChange-Id: Idc7bca820e472e281a3024a5b610fd55606cf428\n"
    },
    {
      "commit": "01b6c755dbcf24e71192dc44757e2eea2a426091",
      "tree": "ca4347753ccb79e7dc4307a8a54387a087c8d1a1",
      "parents": [
        "42eae21fb9abcff50ad69ab2faf2ffbdbd3b1156"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 09 15:53:40 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 10 11:48:10 2012 -0700"
      },
      "message": "Replace LruCache implementation for layoutlib.\n\nThe android version depends on a custom version of LinkedHashMap\nwhich is not present on desktop VMs. This new implementation is done\nin a way that minimizes the difference between the two.\n\nAlso some minor fixes.\n\nChange-Id: Ib27b0419f9d0e6ba4d4abb26b2ccd968af59eba8\n"
    },
    {
      "commit": "a4b7f2f75e7803193429ec1179fb5e2eb1c6fbda",
      "tree": "287a64b2e558134e4f80ce5ae2356405204a369b",
      "parents": [
        "6a15634f601617b815935bc7fdbe0c356d020f44"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 21 11:28:41 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 25 19:19:15 2012 -0700"
      },
      "message": "Use two fingers to work some magic...\n\nChange-Id: Ibcb3dbd3d158c22da8277e544d81fb47eadccd49\n"
    },
    {
      "commit": "cee303fac4324d32e78e3d174e256f39d70d820f",
      "tree": "69c8100ab55d4cd0990b21260a730dc5723b4d1b",
      "parents": [
        "17f006ea92b802ddc63f36f0ea876cabca278eb7",
        "cc6cf51b80eabd199f797f40b76f7980c343962b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 22 14:36:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 22 14:36:49 2012 -0700"
      },
      "message": "am cc6cf51b: am 8c71784e: Merge \"Initialize mJunkPath to false\"\n\n* commit \u0027cc6cf51b80eabd199f797f40b76f7980c343962b\u0027:\n  Initialize mJunkPath to false\n"
    },
    {
      "commit": "cc6cf51b80eabd199f797f40b76f7980c343962b",
      "tree": "1db1e94e54cec4da8d771afd1d802c72c21d3c2d",
      "parents": [
        "8a0f63bb588138a9e4f1ef7830e94282efe57c6b",
        "8c71784e9e83e914135e996591aa7903edd2fd96"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 22 14:34:54 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 22 14:34:54 2012 -0700"
      },
      "message": "am 8c71784e: Merge \"Initialize mJunkPath to false\"\n\n* commit \u00278c71784e9e83e914135e996591aa7903edd2fd96\u0027:\n  Initialize mJunkPath to false\n"
    },
    {
      "commit": "dbcfed9e2cad3175109aca4b55bbe41da7238a4f",
      "tree": "0d00f26132e510b1bb0c8758ecd09d9c57410064",
      "parents": [
        "a9543a3dad0da58f30580bdf99b76bc2ab97a2df"
      ],
      "author": {
        "name": "Haitao Feng",
        "email": "haitao.feng@intel.com",
        "time": "Fri Jun 22 09:20:26 2012 +0800"
      },
      "committer": {
        "name": "Haitao Feng",
        "email": "haitao.feng@intel.com",
        "time": "Fri Jun 22 09:20:26 2012 +0800"
      },
      "message": "Initialize mJunkPath to false\n\nChange-Id: Ib48bb1d91736d27f055528c3ba275237ff5ada07\n"
    },
    {
      "commit": "752e7b3bf624f72261bb789c5a6e8d34b419c8f1",
      "tree": "521ccf8d6879ba1671c611cbd92c10505b4734a7",
      "parents": [
        "e66ad7c900f7b5cfedd0056769b8d19306aa396f",
        "58a8d8d2d4b15cd4abf010680181359823ebfda4"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:09:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 19 18:09:14 2012 -0700"
      },
      "message": "am 58a8d8d2: am 0e302bc8: Merge \"Disable debug output in SDK layoutlib.\" into jb-dev\n\n* commit \u002758a8d8d2d4b15cd4abf010680181359823ebfda4\u0027:\n  Disable debug output in SDK layoutlib.\n"
    },
    {
      "commit": "58a8d8d2d4b15cd4abf010680181359823ebfda4",
      "tree": "2d5eb4858fa0599a93671be236fe41949585a544",
      "parents": [
        "f99e81a6ff22b6b93dd057802e553f66c0a7b97b",
        "0e302bc884fa4b25eb391d625f2fb0eddc25d9b7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:06:37 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 19 18:06:37 2012 -0700"
      },
      "message": "am 0e302bc8: Merge \"Disable debug output in SDK layoutlib.\" into jb-dev\n\n* commit \u00270e302bc884fa4b25eb391d625f2fb0eddc25d9b7\u0027:\n  Disable debug output in SDK layoutlib.\n"
    },
    {
      "commit": "4d7f301f94b9d2dda0ef109e9991ad2d77442f75",
      "tree": "f7a5bbab6a84abe5b9272b3e294e130c80e4ea72",
      "parents": [
        "1b36a68f607538bd090c33b31bd418169657ff6c"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:01:50 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:02:21 2012 -0700"
      },
      "message": "Disable debug output in SDK layoutlib.\n\nBug: 6697442\n\nChange-Id: I9741761342ea220c158aa124089430b0db80bf7e\n"
    },
    {
      "commit": "89e1ad05e7cca990f46d5b13b8b5892de1736faa",
      "tree": "1fc609bf0f392d6a34348cb4b174b30aee6d85d0",
      "parents": [
        "e526f14e3bc6b82e7977708c13683b21a0df7935",
        "bce1011dd2a371c587d2e39ad8c3d446b63049d0"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Jun 14 14:46:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 14:46:25 2012 -0700"
      },
      "message": "am bce1011d: resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aosp\n\n* commit \u0027bce1011dd2a371c587d2e39ad8c3d446b63049d0\u0027:\n  Layoutlib Create: Find dependencies.\n"
    },
    {
      "commit": "bce1011dd2a371c587d2e39ad8c3d446b63049d0",
      "tree": "3e99f4996919ff44364c895e95999f3f9c03d37b",
      "parents": [
        "eb02d40c6d068ffcbb822910c5449b7081d1ae51",
        "8cf489c1f509ad2414a887035ad3d6996d1931a3"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Jun 14 14:14:45 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Jun 14 14:14:45 2012 -0700"
      },
      "message": "resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aosp\n\nChange-Id: I06608e3c122b8f321429d457c51aa2213dd238b4\n"
    },
    {
      "commit": "8cf489c1f509ad2414a887035ad3d6996d1931a3",
      "tree": "9a2fc3f8ab1860b3cec34dc35eefd5fb7b452311",
      "parents": [
        "cfe75518ef23efede1359274c91c732c0ac7ccf3",
        "0f160c95122276c40ca84afe6fcd2b9cd800e35c"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Thu Jun 14 11:34:31 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 11:34:31 2012 -0700"
      },
      "message": "am 0f160c95: Merge \"Layoutlib Create: Find dependencies.\"\n\n* commit \u00270f160c95122276c40ca84afe6fcd2b9cd800e35c\u0027:\n  Layoutlib Create: Find dependencies.\n"
    },
    {
      "commit": "4306096a4351030cab4ea413b5e87460b60a84bf",
      "tree": "359ee2d75645d0d641f052fde11469628194add8",
      "parents": [
        "f01f6b6d379c911a2c1e350bc758cea26bfe6d9d"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed Jun 13 00:22:47 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed Jun 13 15:44:54 2012 -0700"
      },
      "message": "Layoutlib Create: Find dependencies.\n\nUsage: layoutlib_create --list-deps /path/to/layoutlib.jar\n\nPrints:\n- all classes found in the Jar and the types they use (the dependencies).\n- all the dependencies missing from the Jar and what uses them.\n\nChange-Id: I8b2674df127e1494feed7a653282e88e4d2f5494\n"
    },
    {
      "commit": "b1add0b8f251e237297ff7bad6a1107ef7d760f2",
      "tree": "c4f2ab40b07b03dd32baf96afe33d95c7a2da142",
      "parents": [
        "830dfe41d164184741cc9f446d3fb6c39987469e",
        "6892f1ec9670432f1cab71813592077bea991a8b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 12 13:00:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:00:15 2012 -0700"
      },
      "message": "am 6892f1ec: am 0f6471ac: Merge \"Fix issue #6641368: can\\\u0027t launch gallery\" into jb-dev\n\n* commit \u00276892f1ec9670432f1cab71813592077bea991a8b\u0027:\n  Fix issue #6641368: can\u0027t launch gallery\n"
    },
    {
      "commit": "6892f1ec9670432f1cab71813592077bea991a8b",
      "tree": "13dfe731323f7a32f0854d54da80aa8d3f54f438",
      "parents": [
        "19e046c4d2f11e6ed5d324122996080942e94569",
        "0f6471ace77387560988964ed0679f843bba6f1f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 12 12:41:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:41:36 2012 -0700"
      },
      "message": "am 0f6471ac: Merge \"Fix issue #6641368: can\\\u0027t launch gallery\" into jb-dev\n\n* commit \u00270f6471ace77387560988964ed0679f843bba6f1f\u0027:\n  Fix issue #6641368: can\u0027t launch gallery\n"
    },
    {
      "commit": "2bd8d0403be62df679f0f94ab4d84c9ae9a2e918",
      "tree": "64bab80cac947253c02794f0aea7d765aecb5e3b",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "message": "Fix issue #6641368: can\u0027t launch gallery\n\nThis is a revert of 1db36528b12395b9ed9bf8a1005a6d4ace737627,\nbut with comments added so I don\u0027t make this mistake again. :)\n\nChange-Id: I053216279e3721f08f32f561bb989736ef619f82\n"
    },
    {
      "commit": "f22eb96301aa1c4e0f7ac317daa64a617c21855c",
      "tree": "d85eda22d166b57293c05ae2e916eb63352f5f24",
      "parents": [
        "4835c17b13c08693cf9a370df86d660818f8d391",
        "c9fe6568f3e7e4d9dc6da072afc929b9a81001ed"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 18:48:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 18:48:00 2012 -0700"
      },
      "message": "am c9fe6568: am 9e22d9c5: Merge \"Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\"\n\n* commit \u0027c9fe6568f3e7e4d9dc6da072afc929b9a81001ed\u0027:\n  Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n"
    },
    {
      "commit": "c9fe6568f3e7e4d9dc6da072afc929b9a81001ed",
      "tree": "7b99d88b9c2c59836870644894ba9996cbbd5f74",
      "parents": [
        "44ff9b8f9294e015031fc9293974604771e5efdd",
        "9e22d9c514457c4b163d03b9241e4e28b1698368"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 18:43:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 18:43:49 2012 -0700"
      },
      "message": "am 9e22d9c5: Merge \"Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\"\n\n* commit \u00279e22d9c514457c4b163d03b9241e4e28b1698368\u0027:\n  Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n"
    },
    {
      "commit": "41bdb03ffb81d7bcbf6fa35d7b40e196635c86f3",
      "tree": "5eedea44e81362a897f143d2c43bbc60f669b370",
      "parents": [
        "36ac43ba9982a78b4a047c8970776505a3fab4da"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed May 30 18:02:55 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 14:30:39 2012 -0700"
      },
      "message": "Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n\nWith SDK 10.6 without _DARWIN_UNLIMITED_STREAMS aapt sometimes fails\nright away with the error \"Too many open files\" when calling fopen().\n\nChange-Id: Ifa7bd8a9530d706aa47f98be8186f1aefe943d76\n"
    },
    {
      "commit": "f6447b1878290960883314c8faa5ff705390f216",
      "tree": "99a5dd1f004e508fbe1ecab3cad6b205e2b390fb",
      "parents": [
        "0c60fabff2ee70a1ecaec2ab3a6cd79bd3021709",
        "8c8297f295be46e5ffefff73edbcd00e1848055f"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Jun 05 11:20:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 05 11:20:41 2012 -0700"
      },
      "message": "Merge \"Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\""
    },
    {
      "commit": "0eedd4be12c7bdcfe84ab28aa5fc0d07cb9334e7",
      "tree": "4c43e9c07258f5d78407b8cdfc9e0e3b80682d81",
      "parents": [
        "bce6f97202dba948808e702a7a75d9ed8f46f537",
        "9f374b9de5a557a7977b24d41f45c3464cfff8c1"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Jun 05 09:55:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 09:55:22 2012 -0700"
      },
      "message": "am 9f374b9d: am 44ff9b8f: am 36ac43ba: Merge \"Tweak default ignore-assets path\"\n\n* commit \u00279f374b9de5a557a7977b24d41f45c3464cfff8c1\u0027:\n  Tweak default ignore-assets path\n"
    },
    {
      "commit": "9f374b9de5a557a7977b24d41f45c3464cfff8c1",
      "tree": "7d2eba9b27fcddaf67d48fa22e1bebc2ff0b6dca",
      "parents": [
        "b25605cd7111bcab41ec10547f015bd2d6215c91",
        "44ff9b8f9294e015031fc9293974604771e5efdd"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Jun 05 08:45:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 08:45:20 2012 -0700"
      },
      "message": "am 44ff9b8f: am 36ac43ba: Merge \"Tweak default ignore-assets path\"\n\n* commit \u002744ff9b8f9294e015031fc9293974604771e5efdd\u0027:\n  Tweak default ignore-assets path\n"
    },
    {
      "commit": "44ff9b8f9294e015031fc9293974604771e5efdd",
      "tree": "91eabfeb2a567799b801af23f5e59b23d735488c",
      "parents": [
        "3df4e1a2f1b4f0eb110c8983107b7c7fa21ed338",
        "36ac43ba9982a78b4a047c8970776505a3fab4da"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Jun 05 08:41:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 08:41:16 2012 -0700"
      },
      "message": "am 36ac43ba: Merge \"Tweak default ignore-assets path\"\n\n* commit \u002736ac43ba9982a78b4a047c8970776505a3fab4da\u0027:\n  Tweak default ignore-assets path\n"
    },
    {
      "commit": "71ebf2830494e353dee797424bd2ebbc4fea2ff3",
      "tree": "b042acb954219718637c6136d7e67deed0f9d187",
      "parents": [
        "d7f13b4f0abea27b7ce947b69eab4716c4a2b67f",
        "fcd738240a7d716e21721514202caa5bfb2dcb98"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 11:13:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 11:13:27 2012 -0700"
      },
      "message": "am fcd73824: am dd251cab: Merge \"Fix build.\" into jb-dev\n\n* commit \u0027fcd738240a7d716e21721514202caa5bfb2dcb98\u0027:\n  Fix build.\n"
    },
    {
      "commit": "fcd738240a7d716e21721514202caa5bfb2dcb98",
      "tree": "caaa71a10f3154c2925f0c5b060126f74f1a81bf",
      "parents": [
        "5bf8f01be1cd9800e53b30117fe9ea7fb1153301",
        "dd251cab5b6e5b590cc0aeae8be8f885a7794e72"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 11:09:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 11:09:00 2012 -0700"
      },
      "message": "am dd251cab: Merge \"Fix build.\" into jb-dev\n\n* commit \u0027dd251cab5b6e5b590cc0aeae8be8f885a7794e72\u0027:\n  Fix build.\n"
    },
    {
      "commit": "bb47cf66ec72adff895d0e8b94c26f5d438be49a",
      "tree": "58824f18a2e3e751de8ef06e5cb2883bb19a36a5",
      "parents": [
        "6593be0c200f69d932e40e05e9df54b89c157c48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 10:51:17 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 10:51:17 2012 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I41415fed99d98406bc033289428bde59475c2917\n"
    },
    {
      "commit": "e0219c8baa9d63b3794f90ab772f1c19ecb74ec4",
      "tree": "cc5f1052ffefb73dcd46da1683d6bcfe6eda5adf",
      "parents": [
        "0748a5698776d1a9693a5449ffc983af26cc533b"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Jun 04 10:38:13 2012 -0700"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Jun 04 10:41:38 2012 -0700"
      },
      "message": "Tweak default ignore-assets path\n\nAdd .DS_Store to the list of ignored files that are silently\nignored (other dot-files are ignored but aapt emits a \"(skipping \u003cx\u003e)\"\nmessage.)\n\nAlso, add a \"!\" prefix to the *~ pattern for Emacs/Vim/Gedit backup\nfiles.\n\nFinally, move the !*.scc pattern up in front of the .* pattern, such\nthat it doesn\u0027t match the earlier .* pattern (which is verbose, unlike\n!*.scc).\n\nChange-Id: Id3e96490f1802486aea8c58366d43e9d413971b8\n"
    },
    {
      "commit": "3df4e1a2f1b4f0eb110c8983107b7c7fa21ed338",
      "tree": "1d687db32a08d214e7522eae3d9850c7fcb59036",
      "parents": [
        "ae545bb87c8509c31a72bbc03c0bee7cb23a5133",
        "0748a5698776d1a9693a5449ffc983af26cc533b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 02 09:56:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jun 02 09:56:45 2012 -0700"
      },
      "message": "am 0748a569: Merge \"aapt: Remove terminal pointer incrementaion\"\n\n* commit \u00270748a5698776d1a9693a5449ffc983af26cc533b\u0027:\n  aapt: Remove terminal pointer incrementaion\n"
    },
    {
      "commit": "0748a5698776d1a9693a5449ffc983af26cc533b",
      "tree": "cd409bf30a0c15e69a7417a7c22f9c53af70965b",
      "parents": [
        "54a2a6df410ad860f048ef4ff653820787f68f3a",
        "c4293c14083d833bb5d13dc19e73daed8cbbb4ea"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 02 09:21:36 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 02 09:21:37 2012 -0700"
      },
      "message": "Merge \"aapt: Remove terminal pointer incrementaion\""
    },
    {
      "commit": "8c8297f295be46e5ffefff73edbcd00e1848055f",
      "tree": "f38f71bdc62934d23e3fc5700d0aa354bcad8a7b",
      "parents": [
        "022a656396a9ceef931cbd6e24c9c44bcf7d2a90"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed May 30 18:02:55 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu May 31 15:06:22 2012 -0700"
      },
      "message": "Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n\nWith SDK 10.6 without _DARWIN_UNLIMITED_STREAMS aapt sometimes fails\nright away with the error \"Too many open files\" when calling fopen().\n\nChange-Id: Ifa7bd8a9530d706aa47f98be8186f1aefe943d76\n"
    },
    {
      "commit": "ce783749b191a58e4fed9a397066376915c1db65",
      "tree": "fe7bbae9d9db880b5e69d82d96cdffa5d4040ed9",
      "parents": [
        "b042f2d9908e20852e4077878e50a0c07b8eee79",
        "f3b4c93e0da9af2db9e16864faa734cf70fecfe3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 15:57:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 29 15:57:52 2012 -0700"
      },
      "message": "am f3b4c93e: am ae5811c7: Merge \"Fix (mostly) issue #5109947: Race condition between retrieving a...\" into jb-dev\n\n* commit \u0027f3b4c93e0da9af2db9e16864faa734cf70fecfe3\u0027:\n  Fix (mostly) issue #5109947: Race condition between retrieving a...\n"
    },
    {
      "commit": "f3b4c93e0da9af2db9e16864faa734cf70fecfe3",
      "tree": "7e9700c7556be59ccc6919bcb4cd0a3cdb50b7f6",
      "parents": [
        "09dfd60bc37585e2670e4ca997940256e5b21ac8",
        "ae5811c71405878b09eace395ec2b28e54eeb427"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 15:53:38 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 29 15:53:38 2012 -0700"
      },
      "message": "am ae5811c7: Merge \"Fix (mostly) issue #5109947: Race condition between retrieving a...\" into jb-dev\n\n* commit \u0027ae5811c71405878b09eace395ec2b28e54eeb427\u0027:\n  Fix (mostly) issue #5109947: Race condition between retrieving a...\n"
    },
    {
      "commit": "6ae8d1821822296df0606c9cd1c46708cc21cb58",
      "tree": "eb4b17b255b1f0e78078923474afcaad67755f12",
      "parents": [
        "3dac02265e42bf176e26b83da430ce15d6fd06df"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 23 13:12:42 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 13:33:09 2012 -0700"
      },
      "message": "Fix (mostly) issue #5109947: Race condition between retrieving a...\n\n...content provider and updating its oom adj\n\nThis introduces the concept of an \"unstable\" reference on a content\nprovider.  When holding such a reference (and no normal stable ref),\nthe content provider dying will not cause the client process to be\nkilled.\n\nThis is used in ContentResolver.query(), .openAssetFileDescriptor(),\nand .openTypedAssetFileDescriptor() to first access the provider\nwith an unstable reference, and if at the point of calling into the\nprovider we find it is dead then acquiring a new stable reference\nand doing the operation again.  Thus if the provider process dies\nat any point until we get the result back, our own process will not\nbe killed and we can safely retry the operation.\n\nArguably there is still the potential for a race -- if somehow the\nprovider is killed way late by the OOM killer after the query or\nopen has returned -- but this should now be *extremely* unlikely.\nWe also continue to have the issue with the other calls, but these\nare much less critical, and the same model can\u0027t be used there (we\nwouldn\u0027t want to execute two insert operations for example).\n\nThe implementation of this required some significant changes to the\nunderlying plumbing of content providers, now keeping track of the\ntwo different reference counts, and managing them appropriately.  To\nfacilitate this, the activity manager now has a formal connection\nobject for a client reference on a content provider, which hands to\nthe application when opening the provider.\n\nThese changes have allowed a lot of the code to be cleaned up and\nsubtle issues closed.  For example, when a process is crashing, we\nnow have a much better idea of the state of content provider clients\n(olding a stable ref, unstable ref, or waiting for it to launch), so\nthat we can correctly handle each of these.\n\nThe client side code is also a fair amount cleaner, though in the\nfuture there is more than should be done.  In particular, the two\nProviderClientRecord and ProviderRefCount classes should be combined\ninto one, part of which is exposed to the ContentResolver internal\nAPI as a reference on a content provider with methods for updating\nreference counts and such.  Some day we\u0027ll do that.\n\nChange-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c\n"
    },
    {
      "commit": "98a0607a314a7a6023fabdafaa8e470a1e800c09",
      "tree": "820f623b5b8b83061597cc24996cab7615f54e34",
      "parents": [
        "d4cb08df751e29338f4df1a76b303aa720f2bc00"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:24:22 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Thu May 24 11:07:14 2012 -0700"
      },
      "message": "Merge \"Fix length of pattern.\" DO NOT MERGE.\n\nAfter skipping * with \"token++\", the length should decrease by 1 as\nwell.\n\n(merged from 996b073e813ba1a22a13282ccdebb664f14ba898)\n\nChange-Id: Ie6232ef603bb31e25e03b926e6c1bb92ac34902d\n"
    },
    {
      "commit": "bb5a8fd908a53e5d0fdaf84548d3b835b2ccc426",
      "tree": "9269c7f21af63f58bb50f1e8ac69c90eac86f3a0",
      "parents": [
        "27637173bb815b4cf8684474595d32604753ccba",
        "9d98a089756b692eefeae7f92cca15e121196e0c"
      ],
      "author": {
        "name": "Manuel Roman",
        "email": "manuelroman@google.com",
        "time": "Wed May 23 16:00:37 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 23 16:00:37 2012 -0700"
      },
      "message": "am 9d98a089: Check result handler is not null\n\n* commit \u00279d98a089756b692eefeae7f92cca15e121196e0c\u0027:\n  Check result handler is not null\n"
    },
    {
      "commit": "9d98a089756b692eefeae7f92cca15e121196e0c",
      "tree": "8e2f4095f1845d2e410ba5da75b4116bd8f75b25",
      "parents": [
        "993f8a8c6518ac7d623af487c1b20835149ab673"
      ],
      "author": {
        "name": "Manuel Roman",
        "email": "manuelroman@google.com",
        "time": "Wed May 23 14:25:31 2012 -0700"
      },
      "committer": {
        "name": "Manuel Roman",
        "email": "manuelroman@google.com",
        "time": "Wed May 23 14:25:31 2012 -0700"
      },
      "message": "Check result handler is not null\n\nIf caller passes a null result handler to the proxy methods, we need\nto check it when getting the result. Otherwise we try to invoke a method\non a null object\n\nChange-Id: Ic2f456c36cb542b782b6a6d0d4d607ccf0987496\n"
    },
    {
      "commit": "b50a64878e0af817baf7f1ce491f6c08e55d9419",
      "tree": "edc11f37cbb4e0f7f648201ddd05fd112b87a6f0",
      "parents": [
        "a6cfe52eb83995b124efec5f73bcb179caadf888",
        "ac9f50573dad2050d261850f1accbcea383cc6f0"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 14:20:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 14:20:14 2012 -0700"
      },
      "message": "am ac9f5057: am 996b073e: Fix length of pattern.\n\n* commit \u0027ac9f50573dad2050d261850f1accbcea383cc6f0\u0027:\n  Fix length of pattern.\n"
    },
    {
      "commit": "ac9f50573dad2050d261850f1accbcea383cc6f0",
      "tree": "20b3b890015bf87346a6c5ebfa019d3f734b77e0",
      "parents": [
        "88ab8c8de4d8d2e2c1f3237024ecdefd77300916",
        "996b073e813ba1a22a13282ccdebb664f14ba898"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:43:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 11:43:14 2012 -0700"
      },
      "message": "am 996b073e: Fix length of pattern.\n\n* commit \u0027996b073e813ba1a22a13282ccdebb664f14ba898\u0027:\n  Fix length of pattern.\n"
    },
    {
      "commit": "996b073e813ba1a22a13282ccdebb664f14ba898",
      "tree": "0f59bedc48c4da4a49b82eac6170c5d8d7e37e6f",
      "parents": [
        "0eaeb69d1c4849da8ab1df70b84e90837193df67"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:24:22 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:35:22 2012 -0700"
      },
      "message": "Fix length of pattern.\n\nAfter skipping * with \"token++\", the length should decrease by 1 as\nwell.\n\nChange-Id: I132eb7d12bb756f2f713c607e92741ca834aef81\n"
    },
    {
      "commit": "b1b0058346190d6194afc7a87dd7d19cc6fd02c5",
      "tree": "0210d332e8d0e7ceec106ceb3495a05794029ffe",
      "parents": [
        "a43a91b72723948efee5eb1b84692a687aa90333",
        "72669b5f4663937b09d33f9d951f0b86a03fa98b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 21 14:29:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 21 14:29:14 2012 -0700"
      },
      "message": "am 72669b5f: am 13a0271c: Merge \"Add aapt support for generating proguard rules for onClick methods.\" into jb-dev\n\n* commit \u002772669b5f4663937b09d33f9d951f0b86a03fa98b\u0027:\n  Add aapt support for generating proguard rules for onClick methods.\n"
    },
    {
      "commit": "b80866a44e0e6fd46ea42615d4cff2d4289ee832",
      "tree": "60bfe363d67c27f9eeafb24efc6584bb3f84cc35",
      "parents": [
        "0af2f46da7fcb8a38bb723067cd3555a4b0379c3",
        "f67f834a9cb7ee9b743e79af85cb42bd45b5aa23"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 21 14:27:08 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 21 14:27:08 2012 -0700"
      },
      "message": "am f67f834a: am 8748399f: am 61394501: Merge \"Support a new ANDROID_AAPT_IGNORE env var.\"\n\n* commit \u0027f67f834a9cb7ee9b743e79af85cb42bd45b5aa23\u0027:\n  Support a new ANDROID_AAPT_IGNORE env var.\n"
    },
    {
      "commit": "3a00a28ddfee17a4f7d73e02329f25a2eb923bab",
      "tree": "af213a35741f3ab838b77af45e44e18f3f3113fb",
      "parents": [
        "c39b8fa901693bab8af939c051f60209d2509d3c",
        "a4cae2847eb086742ff9d3b24a469242bd9ddae1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 21 14:12:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 21 14:12:16 2012 -0700"
      },
      "message": "am a4cae284: am 4b51e293: Merge \"Fix the preloaded-classes tool for JellyBean.\" into jb-dev\n\n* commit \u0027a4cae2847eb086742ff9d3b24a469242bd9ddae1\u0027:\n  Fix the preloaded-classes tool for JellyBean.\n"
    },
    {
      "commit": "9c06ac09c3530c5f0bc0b47a3350eedb5b539c35",
      "tree": "4ce6121aa3126bd243e014b449df65c72296de1f",
      "parents": [
        "ee3bb6498adc801023798b4fc48b5dcd77e059f5",
        "6c255a3a378143af59021d29b4980b28f1ab4544"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "message": "Merge \"Merge \"AAPT: support a new --ignore-assets flag.\"\" into jb-dev"
    },
    {
      "commit": "6c255a3a378143af59021d29b4980b28f1ab4544",
      "tree": "145d2632678e6227c664a046de8930ff2e3873be",
      "parents": [
        "43a760ba84a5357bae792a33ad4a0e946f02679c"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 07 16:16:46 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Fri May 18 20:34:44 2012 -0700"
      },
      "message": "Merge \"AAPT: support a new --ignore-assets flag.\"\n\nAAPT has a fixed built-in list of files and directories\nto ignore when parsing resource files. Over the years we\nalways had developers requiring specific patterns.\n\nAdded a command-line option for it:\n  aapt di --ignore-assets \"foo*:*.blah\"\n\nIf the env var ANDROID_AAPT_IGNORE is set, it is parsed\nto find which file/directory patterns to ignore.\n\nOtherwise a default is used that matches the current behavior.\n\nSDK Bug: 5343 24067\n\n(cherry-pick from AOSP 90897ed87bce639bf6bb2ccf15fbabb59b131bab)\n\nChange-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f\n"
    },
    {
      "commit": "72669b5f4663937b09d33f9d951f0b86a03fa98b",
      "tree": "3daf749f3aa07123d471ab58c86ceaace6cee55f",
      "parents": [
        "099a220cf57f00732d347cd49422c849354d2e38",
        "13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:41:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 19:41:10 2012 -0700"
      },
      "message": "am 13a0271c: Merge \"Add aapt support for generating proguard rules for onClick methods.\" into jb-dev\n\n* commit \u002713a0271cb81d497edbf93f3d6ecf4b9b8da4ee69\u0027:\n  Add aapt support for generating proguard rules for onClick methods.\n"
    },
    {
      "commit": "9275197d35a99c3f187d18d0eda6ead3b8a32603",
      "tree": "ba364f6cf805ce6dac0d3eb8ced5d82d71cd956a",
      "parents": [
        "fb5c3dba4ddac023cfd4cdcabdfdbcf343197c94"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:22:14 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:23:19 2012 -0700"
      },
      "message": "Add aapt support for generating proguard rules for onClick methods.\n\nAlso fix Activity menu inflater when using the dark on light\ntheme wrapper to still be able to find onClick listeners.\n\nChange-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d\n"
    },
    {
      "commit": "f67f834a9cb7ee9b743e79af85cb42bd45b5aa23",
      "tree": "44605c7c36f04f1c951a07374e32d325a856721a",
      "parents": [
        "38e34874a89b6e71464bfa3e89480252000765ad",
        "8748399f6f999d21eef9226baadb20f71dfb61ea"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Fri May 18 16:33:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 16:33:14 2012 -0700"
      },
      "message": "am 8748399f: am 61394501: Merge \"Support a new ANDROID_AAPT_IGNORE env var.\"\n\n* commit \u00278748399f6f999d21eef9226baadb20f71dfb61ea\u0027:\n  Support a new ANDROID_AAPT_IGNORE env var.\n"
    },
    {
      "commit": "38e34874a89b6e71464bfa3e89480252000765ad",
      "tree": "4d1c5a4945991dec9dcefbb85ca59ca28a83afe5",
      "parents": [
        "1b61dc2eb7f738bb49142db14a7d339e2fd90545",
        "2a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 18 16:33:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 16:33:10 2012 -0700"
      },
      "message": "am 2a9b85d7: am c0f17383: Merge \"Move kxml2 to prebuilts/misc\"\n\n* commit \u00272a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64\u0027:\n  Move kxml2 to prebuilts/misc\n"
    },
    {
      "commit": "a4cae2847eb086742ff9d3b24a469242bd9ddae1",
      "tree": "7b64bbefff9c6a040d64ceaac1bc8bec8c4bc4cb",
      "parents": [
        "5f0d6063fac445f4628feeeafbc34dab35d34966",
        "4b51e293d86d60dc651c409ae0e25078a2170740"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 18 15:59:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 15:59:41 2012 -0700"
      },
      "message": "am 4b51e293: Merge \"Fix the preloaded-classes tool for JellyBean.\" into jb-dev\n\n* commit \u00274b51e293d86d60dc651c409ae0e25078a2170740\u0027:\n  Fix the preloaded-classes tool for JellyBean.\n"
    },
    {
      "commit": "613945011ef9f79388a1cf21acf514154e2d5af2",
      "tree": "f3ffbfd0d969139f01b9f349ea7821f4e4af0018",
      "parents": [
        "c0f17383579cf49f897fdd1d55aaf44b8d6be0da",
        "90897ed87bce639bf6bb2ccf15fbabb59b131bab"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Fri May 18 13:00:31 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 13:00:31 2012 -0700"
      },
      "message": "Merge \"Support a new ANDROID_AAPT_IGNORE env var.\""
    },
    {
      "commit": "c0f17383579cf49f897fdd1d55aaf44b8d6be0da",
      "tree": "d9e7f0a6611afb43096269bfc37008e8172a07ca",
      "parents": [
        "ad3f86a526c49ecd733564771b5c2ce7eade2a96",
        "bda124453d58d8b55d9026e4c5e7ae8c804e995a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 18 09:51:03 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 09:51:04 2012 -0700"
      },
      "message": "Merge \"Move kxml2 to prebuilts/misc\""
    },
    {
      "commit": "98e00add5544df3d8fc1804bc0be825b2238701c",
      "tree": "79d6ce9ea61ba9e2f7c34334396abdcad4d1738f",
      "parents": [
        "c6015df128811a52faf918bd34d0d7296c8a6834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 17 17:03:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 17 17:03:51 2012 -0700"
      },
      "message": "Fix the preloaded-classes tool for JellyBean.\n\nBug: 5213043\nChange-Id: I8178ca04da0bd72a90244983be5e8ecfbc1b0573\n"
    },
    {
      "commit": "e4b1c08abf88c55e71c0afab4c3c853d96d5d26c",
      "tree": "b8de69fe4984e76a96141550d27cb656280ecfac",
      "parents": [
        "6917b2a10d9b701282fbfb85be48eeb7e7877882",
        "095c2d315d3bdf4cdb61439d427413c0bd7796e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 19:37:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 14 19:37:24 2012 -0700"
      },
      "message": "am 095c2d31: am 4286d6d1: Fix build.\n\n* commit \u0027095c2d315d3bdf4cdb61439d427413c0bd7796e1\u0027:\n  Fix build.\n"
    },
    {
      "commit": "6917b2a10d9b701282fbfb85be48eeb7e7877882",
      "tree": "0fd56ec04c94ee9202908cdf814ec6ab5d1b2ee8",
      "parents": [
        "9a19d16a1a44b8f394f93e116adb48024148f8ef",
        "2da87ec32e72c2c25998e2444155c00074cfbd40"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 19:37:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 14 19:37:21 2012 -0700"
      },
      "message": "am 2da87ec3: am 2a7a6ca0: Merge \"Implement new window cropping.\" into jb-dev\n\n* commit \u00272da87ec32e72c2c25998e2444155c00074cfbd40\u0027:\n  Implement new window cropping.\n"
    },
    {
      "commit": "095c2d315d3bdf4cdb61439d427413c0bd7796e1",
      "tree": "31ddc4f91d1631b8c3183120da12eab33732d147",
      "parents": [
        "2da87ec32e72c2c25998e2444155c00074cfbd40",
        "4286d6d115385391b75db8e6c4e397008ef9b3db"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 19:32:43 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 14 19:32:43 2012 -0700"
      },
      "message": "am 4286d6d1: Fix build.\n\n* commit \u00274286d6d115385391b75db8e6c4e397008ef9b3db\u0027:\n  Fix build.\n"
    },
    {
      "commit": "2da87ec32e72c2c25998e2444155c00074cfbd40",
      "tree": "49dd2b0d98e7b0e451c23c15738a5e4cdf0e24c4",
      "parents": [
        "58b0dcde83354bd1ae9091a7cbc7f207fb29960a",
        "2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 19:32:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 14 19:32:39 2012 -0700"
      },
      "message": "am 2a7a6ca0: Merge \"Implement new window cropping.\" into jb-dev\n\n* commit \u00272a7a6ca00ab176105b5bbfa6b17bb0dcd058d517\u0027:\n  Implement new window cropping.\n"
    },
    {
      "commit": "4286d6d115385391b75db8e6c4e397008ef9b3db",
      "tree": "a44118310b76995e9b1eed18f6707b062117504b",
      "parents": [
        "2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 16:03:39 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 16:03:39 2012 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I53263d509559c70100cd78ad49f225f0dafd8891\n"
    },
    {
      "commit": "85afd1b6f871d471fdff1980134676a5f1690525",
      "tree": "94f1a2661418208e7969d659dc694353ff43d304",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "message": "Implement new window cropping.\n\nThe window manager now performs the crop internally, evaluating\nit every animation from, to be able to update it along with\nthe surface position.\n\nChange-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32\n"
    },
    {
      "commit": "e5c511a1cceffd17b8edb355f2c19a7498a5e229",
      "tree": "16924ebcae93f40adc90e35766b8734e45373adf",
      "parents": [
        "800421ba616598098278e63fdc0f189a17541c95",
        "bf1b5fa944158044a595706924b935b5577ec0f0"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 11:57:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 10 11:57:33 2012 -0700"
      },
      "message": "am bf1b5fa9: am 421dceb0: Merge \"Making transition out of recents look better\" into jb-dev\n\n* commit \u0027bf1b5fa944158044a595706924b935b5577ec0f0\u0027:\n  Making transition out of recents look better\n"
    },
    {
      "commit": "58d4f2e36f4091272c40d59fb3b7b80ee792ba57",
      "tree": "41e60ca2e85a20b3c9c38ba8080b73eb19b11b62",
      "parents": [
        "9979ee45852a304fbf41d818092e509224152cde",
        "e2e0391389fce1a9fd9d5c5442ba1901b6d96211"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 10 11:38:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 10 11:38:52 2012 -0700"
      },
      "message": "am e2e03913: am dd79ae6b: Merge \"Add infrastructure for accessing \"unstable\" content providers.\" into jb-dev\n\n* commit \u0027e2e0391389fce1a9fd9d5c5442ba1901b6d96211\u0027:\n  Add infrastructure for accessing \"unstable\" content providers.\n"
    },
    {
      "commit": "bf1b5fa944158044a595706924b935b5577ec0f0",
      "tree": "7f1c394643715a533da215864c4858a762e8955d",
      "parents": [
        "2c51f2b949d7b07d1f349dad7b90ce7bb1314c1b",
        "421dceb0a4fd8f20349a0de277f82b56e71cb90b"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 10:45:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 10 10:45:30 2012 -0700"
      },
      "message": "am 421dceb0: Merge \"Making transition out of recents look better\" into jb-dev\n\n* commit \u0027421dceb0a4fd8f20349a0de277f82b56e71cb90b\u0027:\n  Making transition out of recents look better\n"
    },
    {
      "commit": "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
      "tree": "092633533796bf65021ee895b1bd7d7a42cb99c2",
      "parents": [
        "dc442534070aa8ff4c07cae16fc5207ba6821651",
        "21385cd83d7d7938b57a4acbaa236dd4c7804ed4"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "message": "Merge \"Making transition out of recents look better\" into jb-dev"
    },
    {
      "commit": "e2e0391389fce1a9fd9d5c5442ba1901b6d96211",
      "tree": "303919fb5787ef92da3a372b2d5a18abd2ee28c5",
      "parents": [
        "dfca63f37484b207ff8dfe5fefc553c5ce1d7bc4",
        "dd79ae6b7201b68dbe2a223d2f371ea1a473f6c4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 10 09:26:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 10 09:26:03 2012 -0700"
      },
      "message": "am dd79ae6b: Merge \"Add infrastructure for accessing \"unstable\" content providers.\" into jb-dev\n\n* commit \u0027dd79ae6b7201b68dbe2a223d2f371ea1a473f6c4\u0027:\n  Add infrastructure for accessing \"unstable\" content providers.\n"
    },
    {
      "commit": "90897ed87bce639bf6bb2ccf15fbabb59b131bab",
      "tree": "53b5b28bf5a41e41a35751f12becef9dd94a0dbe",
      "parents": [
        "ad3f86a526c49ecd733564771b5c2ce7eade2a96"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 07 16:16:46 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed May 09 21:16:26 2012 -0700"
      },
      "message": "Support a new ANDROID_AAPT_IGNORE env var.\n\nAAPT has a fixed built-in list of files and directories\nto ignore when parsing resource files. Over the years we\nalways had developers requiring specific patterns.\nIf the env var ANDROID_AAPT_IGNORE is set, it is parsed\nto find which file/directory patterns to ignore.\nOtherwise a default is used that matches the current behavior.\n\nAdded a command-line option for it:\n  aapt di --ignore-assets \"foo*:*.blah\"\n\nSDK Bug: 5343 24067\n\nChange-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f\n"
    },
    {
      "commit": "21385cd83d7d7938b57a4acbaa236dd4c7804ed4",
      "tree": "4437d4ba6ded58da748f2231c2d87c5c406b807e",
      "parents": [
        "0fa152912e55f2d08f0a8d1260332a81e5706694"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 03 10:57:31 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Wed May 09 20:25:28 2012 -0700"
      },
      "message": "Making transition out of recents look better\n\n- Fading out recents first, then scaling up app\nthumbnail\n- Fade Recents out over 130ms\n- Delay the window animation for 200ms first,\nthen animate for 200ms (previously we didn\u0027t delay\nand then animated for 300ms)\n\nBug: 6390075\n\nChange-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682"
    },
    {
      "commit": "652b6d1e591f6684cda4b93d4712920f287991b4",
      "tree": "5ffe183aa2cbe66c8b8b89e8f3a809e4e7f4c603",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:18:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:18:40 2012 -0700"
      },
      "message": "Add infrastructure for accessing \"unstable\" content providers.\n\nWe have an API and some stuff that purports to this, but no real\nimplementation yet.\n\nChange-Id: I93555440014a50fdf79fa3f65318d90fb82265b4\n"
    },
    {
      "commit": "30600306592b571a455cfbc89e609522a5a158ab",
      "tree": "7e28a53823c63119e93ca1b57abe06ec1e7f3c28",
      "parents": [
        "ef63d094118d86d7ce371fd98bd05415d3f17ea2",
        "50e657e66ce6663fdff929cd365a3daf87cef9ae"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed May 09 10:10:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 10:10:48 2012 -0700"
      },
      "message": "am 50e657e6: am 024d3b23: Merge \"Add missing native method to Canvas_Delegate.\" into jb-dev\n\n* commit \u002750e657e66ce6663fdff929cd365a3daf87cef9ae\u0027:\n  Add missing native method to Canvas_Delegate.\n"
    },
    {
      "commit": "8fd851709fae7bb48aa513ebcf2285a8cdb28dce",
      "tree": "4585460e55bfc10ea8b2fcd90cc76d66de1eebad",
      "parents": [
        "f3f107140cb1b937d45e14dda6d18fcf78ca9948",
        "a394efa33531ce36c432872ec56ad0c93a9999e7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 09 10:09:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 10:09:20 2012 -0700"
      },
      "message": "am a394efa3: am 947f1c8d: Merge \"Move CancellationSignal to android.os package.\" into jb-dev\n\n* commit \u0027a394efa33531ce36c432872ec56ad0c93a9999e7\u0027:\n  Move CancellationSignal to android.os package.\n"
    },
    {
      "commit": "f3f107140cb1b937d45e14dda6d18fcf78ca9948",
      "tree": "232cd11274dffd8f936875efc18234b5cbb3fcd3",
      "parents": [
        "df74ef8ea51641d60e763deee73db76a8897b5d3",
        "fbb7b072d87f15fce2b694054a27a8ec5db3daaf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 10:09:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 10:09:17 2012 -0700"
      },
      "message": "am fbb7b072: am 6d6d186c: Merge \"The \\\u0027localize\\\u0027 tool is dead.\" into jb-dev\n\n* commit \u0027fbb7b072d87f15fce2b694054a27a8ec5db3daaf\u0027:\n  The \u0027localize\u0027 tool is dead.\n"
    },
    {
      "commit": "1c08c1b0f1e3dbaa6c53c78054ae0ce17547f4a6",
      "tree": "ad4562d51de62dc795885bcb1533308b48d575b1",
      "parents": [
        "b20f0d752214de9325b37a72832a19b0cc6b33cb",
        "e8e94a0743eae912658865645db75619533449b3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 09 10:08:26 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 10:08:26 2012 -0700"
      },
      "message": "am e8e94a07: am 41a4704b: Merge \"Small tweaks to orientation.\" into jb-dev\n\n* commit \u0027e8e94a0743eae912658865645db75619533449b3\u0027:\n  Small tweaks to orientation.\n"
    },
    {
      "commit": "50e657e66ce6663fdff929cd365a3daf87cef9ae",
      "tree": "aaa26ff945d2339d74f98822c5db59f5cd294188",
      "parents": [
        "0916b463598a99400840c5d55a443bee2446b626",
        "024d3b2374497c86b55298a8dc4f2fbe258ce7ea"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed May 09 01:49:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 01:49:29 2012 -0700"
      },
      "message": "am 024d3b23: Merge \"Add missing native method to Canvas_Delegate.\" into jb-dev\n\n* commit \u0027024d3b2374497c86b55298a8dc4f2fbe258ce7ea\u0027:\n  Add missing native method to Canvas_Delegate.\n"
    },
    {
      "commit": "a394efa33531ce36c432872ec56ad0c93a9999e7",
      "tree": "54bf6369b4448c23fbac41b05db5c4fec356fa66",
      "parents": [
        "fbb7b072d87f15fce2b694054a27a8ec5db3daaf",
        "947f1c8db00bd3805838ff49a5f4d220df507b47"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 09 01:47:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 01:47:20 2012 -0700"
      },
      "message": "am 947f1c8d: Merge \"Move CancellationSignal to android.os package.\" into jb-dev\n\n* commit \u0027947f1c8db00bd3805838ff49a5f4d220df507b47\u0027:\n  Move CancellationSignal to android.os package.\n"
    },
    {
      "commit": "fbb7b072d87f15fce2b694054a27a8ec5db3daaf",
      "tree": "09ebd4b9f44ccdf4e0254188b187a179052fbd17",
      "parents": [
        "92f12822c18f988c2a5cfbac1b33dd1b0ffaa8e1",
        "6d6d186cd1a5df5fff73c8a731a81a9da3fea13b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 01:47:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 01:47:17 2012 -0700"
      },
      "message": "am 6d6d186c: Merge \"The \\\u0027localize\\\u0027 tool is dead.\" into jb-dev\n\n* commit \u00276d6d186cd1a5df5fff73c8a731a81a9da3fea13b\u0027:\n  The \u0027localize\u0027 tool is dead.\n"
    },
    {
      "commit": "e8e94a0743eae912658865645db75619533449b3",
      "tree": "2e6b0a58080ce153230664f9b299491b5a819ce8",
      "parents": [
        "2521bfdc01939967a25c74f0cf195a7ad81319e6",
        "41a4704b09f98723f4ddec895c9f2e651a5c0c8e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 09 01:45:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 01:45:49 2012 -0700"
      },
      "message": "am 41a4704b: Merge \"Small tweaks to orientation.\" into jb-dev\n\n* commit \u002741a4704b09f98723f4ddec895c9f2e651a5c0c8e\u0027:\n  Small tweaks to orientation.\n"
    },
    {
      "commit": "f18c68b83f4919cf903e249da056acb470b683af",
      "tree": "56ebc10498d0d25156114dc3b6787cb49af44b61",
      "parents": [
        "5602d02389c2b945e8d78ea34990933a8e1ddc8b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 17:14:18 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 17:14:18 2012 -0700"
      },
      "message": "Add missing native method to Canvas_Delegate.\n\nChange-Id: I86288c942004e5489eacc43ba5e112cf56f94487\n"
    },
    {
      "commit": "05b50149ab3b3da19343155fa591eb5b47f246b8",
      "tree": "45992aa9ecc19435eb374ea5427ef0de14326c58",
      "parents": [
        "709d138d2fbbfbcddde9c87528151dc897095742"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 16:18:32 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 16:18:32 2012 -0700"
      },
      "message": "Fix classpath of eclipse projects for layoutlib.\n\nThis is due to the prebuilts reorg.\n\nChange-Id: I6afa82d7ac64286aa89b4b1cfb4af59e4c7000ce\n"
    },
    {
      "commit": "947f1c8db00bd3805838ff49a5f4d220df507b47",
      "tree": "706e6101ae3e5bfb31b505d11e429256e33580cd",
      "parents": [
        "6d6d186cd1a5df5fff73c8a731a81a9da3fea13b",
        "a7771df3696954f0e279407e8894a916a7cb26cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 08 10:51:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 10:51:12 2012 -0700"
      },
      "message": "Merge \"Move CancellationSignal to android.os package.\" into jb-dev"
    },
    {
      "commit": "6d6d186cd1a5df5fff73c8a731a81a9da3fea13b",
      "tree": "e466b0debd557c7954d9fd83624dfa5629b54bf3",
      "parents": [
        "4a337ec99e0d6b7f2f3b79b990809bf64a42f0ec",
        "436bbd1a6c227148c294117e725e03be75e01ebf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 10:45:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 10:45:38 2012 -0700"
      },
      "message": "Merge \"The \u0027localize\u0027 tool is dead.\" into jb-dev"
    },
    {
      "commit": "a7771df3696954f0e279407e8894a916a7cb26cc",
      "tree": "3615be79c515fad41808d2b84ac0221ba5a7e299",
      "parents": [
        "507f5586fb48f59f7b4f2fa0ca5387e4d4f2bd8d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 20:06:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 20:06:46 2012 -0700"
      },
      "message": "Move CancellationSignal to android.os package.\n\nBug: 6427830\nChange-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd\n"
    },
    {
      "commit": "daf5d894ef71c5674e83b11de8b408e3bdabe4c7",
      "tree": "37ab29946003c4d6b13d5f261c06f0737485241f",
      "parents": [
        "59bbef0cd781f4933fd8a0a85b6067f36e529e02"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 18:30:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 18:30:18 2012 -0700"
      },
      "message": "Small tweaks to orientation.\n\nImproved threshold for detecting external acceleration.\n\nBug: 5976859\nChange-Id: Iaf2298fba8eda72d1cacbb2f3aea72f460a9262f\n"
    },
    {
      "commit": "436bbd1a6c227148c294117e725e03be75e01ebf",
      "tree": "c0312cb3d52d2043e993eab54f6093f745e705db",
      "parents": [
        "476b03b0c0d5cae4d1b114c6f80858d59ba36cad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 17:34:08 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 17:34:08 2012 -0700"
      },
      "message": "The \u0027localize\u0027 tool is dead.\n\nChange-Id: I6486e50fd1d2f82dd040371a308a2a756beadb64\n"
    },
    {
      "commit": "cf08a248878320296c3fc283b1baff390bf0e172",
      "tree": "fd8ecae2662634d7bb853be557fb21167e03ff68",
      "parents": [
        "6ad4cc8ca8fbe1d0039755759497305c1a6c53e1",
        "a08dc5de8d039a4fd0a8c1286147c6afd01d2edf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 04 00:13:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 04 00:13:14 2012 -0700"
      },
      "message": "am a08dc5de: Merge \"Remove obsolete tool.\" into jb-dev\n\n* commit \u0027a08dc5de8d039a4fd0a8c1286147c6afd01d2edf\u0027:\n  Remove obsolete tool.\n"
    },
    {
      "commit": "fd1d99f5dd1749a8cecb4a98cddb91e911323eb8",
      "tree": "b118f59223942f1f61a74fd65a510dd1005b1593",
      "parents": [
        "6098c1f44b0f2010053f9ebb6d36e01830784fc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 03 17:15:56 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 03 17:15:56 2012 -0700"
      },
      "message": "Remove obsolete tool.\n\nChange-Id: I750ad12e9ebc41d9e620942f3df09c7660340715\n"
    },
    {
      "commit": "3e2d59146df9e9e325dcc65018bb130b03242bbc",
      "tree": "54d3d73e5d71d8ae0e83bfd6516cb6befd7ece97",
      "parents": [
        "39b58ba2b299e1c97e13535aae9add530d942c7b",
        "13c04786ceec6aebe898bca7c62853af2e4e7c09"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:00:22 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:02:02 2012 -0700"
      },
      "message": "resolved conflicts for merge of 13c04786 to jb-dev-plus-aosp\n\nChange-Id: Ib7aa5a768f4606beb2a4387811cfed7c00cbc111\n"
    },
    {
      "commit": "39b58ba2b299e1c97e13535aae9add530d942c7b",
      "tree": "94247b9025407767a527abeded5c8cfebfabe1cb",
      "parents": [
        "a43d2589b1ce657d8af7702cd7b3e3114e7ae133",
        "bc2fb7b92e013779356c16685a388d5cdae6e93d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:53:48 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:54:38 2012 -0700"
      },
      "message": "resolved conflicts for merge of bc2fb7b9 to jb-dev-plus-aosp\n\nChange-Id: I5386585e473201268c6ed8b05e0a16569d434ea2\n"
    },
    {
      "commit": "b2228eb7141354089f974a4db3b5224a0ad75fd4",
      "tree": "2b360bec8e2aa790c4ecee05b0486c60f42e55e6",
      "parents": [
        "9e3bc3f61df541271c8a1dfc5564cab853951aec",
        "249e3ed5400e5c7ab2e9aa8017f612d79d2e8089"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "message": "Merge \"Runtime resource overlay: clean-up.\""
    },
    {
      "commit": "9e3bc3f61df541271c8a1dfc5564cab853951aec",
      "tree": "d8433af997868fe41e207c58577e1fb934dcb903",
      "parents": [
        "6a8186fb88455fcc418def0650b7b9f8f3573153",
        "c761d8b0086f9e92eb1e4b3a5683ae6afb84036a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 08:49:37 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 08:49:38 2012 -0700"
      },
      "message": "Merge \"Build overlay packages just like regular packages.\""
    },
    {
      "commit": "bda124453d58d8b55d9026e4c5e7ae8c804e995a",
      "tree": "2692d58dee80a6999826d37bd331b8d7143a5567",
      "parents": [
        "d29032e362d41e81ed07d97b8103df855427cb14"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 30 17:35:26 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 30 17:35:26 2012 -0700"
      },
      "message": "Move kxml2 to prebuilts/misc\n\nChange-Id: Ie4b45d2073f26d8313843f9860cf658e288c850b\n"
    },
    {
      "commit": "5c58de3a523a384c47b0b1e0f5dd9728a74cd9f7",
      "tree": "1f765389f4c5153bf09f2cacb9fe87f74169dc67",
      "parents": [
        "3ea8761974a530218a246dc73583c8820b12bf0b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 28 19:52:37 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 30 12:11:43 2012 -0700"
      },
      "message": "Add system insets to windows.\n\nThis will be used to determine which parts of a window a completely\nhidden by system UI elements (status bar, nav bar, system bar) so\nthat they can be clipped out from rendering.\n\nChange-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9\n"
    },
    {
      "commit": "79c6346100b555a8a3d51b3b1c34dbbe99305b9a",
      "tree": "f1fa24b3be063a4a340ec15d19476691b181264e",
      "parents": [
        "a36b7ab04650b598ea08de1f95bb34c5e694167c",
        "12d3a94397c33fdb773a1eaaaa13cab80bf0c571"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "message": "Merge \"When a window is first shown only draw once while animating.\" into jb-dev"
    },
    {
      "commit": "a36b7ab04650b598ea08de1f95bb34c5e694167c",
      "tree": "faabf03b4fe32aea432136414afedad6dcebf3fc",
      "parents": [
        "ffd6ea4523d8fa1210d2a7bb757cc65e1d18465f",
        "96ff709fe25632f6e27fa4c13c7d75dbbcfa38e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:31:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:31:56 2012 -0700"
      },
      "message": "Merge \"Work around build break in layoutlib.\" into jb-dev"
    },
    {
      "commit": "96ff709fe25632f6e27fa4c13c7d75dbbcfa38e0",
      "tree": "9deab7479cde4ccd454b4b426e38c3de943662fa",
      "parents": [
        "771526c88f5cc4b56a41cb12aa06a28d377a07d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:18:06 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:18:06 2012 -0700"
      },
      "message": "Work around build break in layoutlib.\n\nBug: 6413563\nChange-Id: Ia7101fba87f3784fd8159c75e4289f642913d099\n"
    },
    {
      "commit": "12d3a94397c33fdb773a1eaaaa13cab80bf0c571",
      "tree": "607f0f7677f8597227883ced5d97f27b0cf39c52",
      "parents": [
        "11dea2945124b166f167d4b5a23a059f33c04fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 14:16:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 15:21:44 2012 -0700"
      },
      "message": "When a window is first shown only draw once while animating.\n\nOn some hardware allocating a new graphics buffer is quite\nexpensive, which blocks updates to the UI.  This can cause\nglitches when performing window animations.\n\nTo reduce these glitches, the view hierarchy will now only\nallow itself to be drawn once if its window is being shown\nwhile the window manager is animating, not resuming draws\nuntil it is told that the animation is done.\n\nChange-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84\n"
    },
    {
      "commit": "002f53770a7f6850eab4d7e381e91dc94d28968f",
      "tree": "d2d83fa4b29e498003fc5cd027bc818310a10e80",
      "parents": [
        "64ac862f7bb40f2ec2d65510904cf157b1cf60a5"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 25 18:53:49 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Apr 26 13:13:08 2012 -0700"
      },
      "message": "Apply --extra-packages in case --custom-pacakge is also specified.\n\nCherry-picked from master.\n\nChange-Id: I2d67b8821afdf064f4186ccd8def1b65f9a7dc88\n"
    }
  ],
  "next": "cb092e2b7fa46477651c8b8733d50307b0de9d6d"
}
