)]}'
{
  "log": [
    {
      "commit": "3eee9de19f11a76b9efbfe0821e830e638c69fee",
      "tree": "e3c972b5cd3565ecefff757fa95073b1160d2eb6",
      "parents": [
        "497a92cc5ba2176b8a8484b0a7da040eac0e887b",
        "9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 16:08:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 15 16:08:28 2010 -0700"
      },
      "message": "Merge \"Fix text rendering artifact.\""
    },
    {
      "commit": "9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30",
      "tree": "9ea9d664453cffdd499fad587693e5dcf12e4c88",
      "parents": [
        "e5ebcb0107a939395e03592fd44c746cd09e311d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 16:06:03 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 16:06:03 2010 -0700"
      },
      "message": "Fix text rendering artifact.\n\nChange-Id: I50f47207846e4208d363dde4e8f5f1a0f23d2d75\n"
    },
    {
      "commit": "497a92cc5ba2176b8a8484b0a7da040eac0e887b",
      "tree": "2d9bd7a2ef24754fa83a36f440ee45fd8a32b9fb",
      "parents": [
        "cd9afc3722a1edebf0e6f7172627930052c81ce4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:55:08 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 16:00:07 2010 -0700"
      },
      "message": "Add keycodes and meta-key modifiers to support external keyboards.\n\nAdded new key maps for external keyboards.  These maps are intended to\nbe shared across devices by inheriting the \"keyboards.mk\" product\nmakefile as part of the device\u0027s product definition.\n\nOne of the trickier changes here was to unwind some code in\nMetaKeyKeyListener that assumed that only the low 8 bits of the meta key\nstate were actually used.  The new code abandons bitshifts in favor\nof simple conditionals that are probably easier to read anyways.\nThe special meta key state constants used by MetaKeyKeyListener\nare now (@hide) defined in KeyEvent now so as to make it clearer that they\nshare the same code space even if those codes are not valid for KeyEvents.\n\nThe EventHub now takes care of detecting the appropriate key layout\nmap and key character map when the device is added and sets system\nproperties accordingly.  This avoids having duplicate code in\nKeyCharacterMap to probe for the appropriate key character map\nalthough the current probing mechanism has been preserved for legacy\nreasons just in case.\n\nAdded support for tracking caps lock, num lock and scroll lock and\nturning their corresponding LEDs on and off as needed.\n\nThe key character map format will need to be updated to correctly support\nPC style external keyboard semantics related to modifier keys.\nThat will come in a later change so caps lock doesn\u0027t actually do\nanything right now except turn the shiny LEDs on and off...\n\nAdded a list of symbolic key names to KeyEvent and improved the toString()\noutput for debug diagnosis.  Having this list in a central place in the\nframework also allows us to remove it from Monkey so there is one less\nthing to maintain when we add new keycodes.\n\nBug: 2912307\nChange-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4\n"
    },
    {
      "commit": "cd9afc3722a1edebf0e6f7172627930052c81ce4",
      "tree": "636be59fa3dd6fc05de7de8d5b36817897fda9d2",
      "parents": [
        "3577e98ffac36e3961597cbb0341501ccac3be4a",
        "729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Fri Oct 15 14:28:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 14:28:15 2010 -0700"
      },
      "message": "am 729503c2: am 848a2bc4: Merge \"MinGW/Cygwin requires open() in O_BINARY mode.\" into gingerbread\n\nMerge commit \u0027729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f\u0027\n\n* commit \u0027729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f\u0027:\n  MinGW/Cygwin requires open() in O_BINARY mode.\n"
    },
    {
      "commit": "a617fdc65be94d0ff875090d45168eec354c919e",
      "tree": "198aefa59e3e8ba7c77f74ce768795792f2f3ba1",
      "parents": [
        "ecc105668c4f87c3a21425e29c68026cefb92b4a",
        "567db07702f851f2e7fb1fb0021ce2871469183e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 14:26:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 14:26:18 2010 -0700"
      },
      "message": "am 567db077: am 2d441e14: Merge \"Make sure EventHub reports added/removed devices immediately.\" into gingerbread\n\nMerge commit \u0027567db07702f851f2e7fb1fb0021ce2871469183e\u0027\n\n* commit \u0027567db07702f851f2e7fb1fb0021ce2871469183e\u0027:\n  Make sure EventHub reports added/removed devices immediately.\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": "10aca41e51934822dc492cb69b69cef37f42ad42",
      "tree": "a9954fca3fd337929a7d768d48a1287b3332d090",
      "parents": [
        "97d88927f28226403ff7e5befe1a5486b5fc8725",
        "e5ebcb0107a939395e03592fd44c746cd09e311d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 14:00:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 15 14:00:17 2010 -0700"
      },
      "message": "Merge \"Fix clipping issue in StackView.\""
    },
    {
      "commit": "e5ebcb0107a939395e03592fd44c746cd09e311d",
      "tree": "1ee2cc9fb92d3de28f40658df2a7df1da79f64f8",
      "parents": [
        "c65217e4ec3e6c80834988ec3bc66a90778ee4b0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "message": "Fix clipping issue in StackView.\n\nChange-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905\n"
    },
    {
      "commit": "afbcc82ae89c24e97295124a0bf890dff92fce7b",
      "tree": "4c797475f224d4da9d2ff7b593e1a0a460c123b3",
      "parents": [
        "72cd64b20ed7118a6c0ed12f4924659abb5dcd0d",
        "0d2b2d5e13ef4dcff89a28b4d6b25d5f0a05b96d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Oct 15 11:28:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 15 11:28:56 2010 -0700"
      },
      "message": "Merge \"Fix deadlock on RS teardown.\""
    },
    {
      "commit": "0d2b2d5e13ef4dcff89a28b4d6b25d5f0a05b96d",
      "tree": "97af93d20e909165ad7c8f766b156ab0a517ffdf",
      "parents": [
        "9c25aee52672f9c8908e062bde502341c189970e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Oct 15 11:21:24 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Oct 15 11:21:24 2010 -0700"
      },
      "message": "Fix deadlock on RS teardown.\n\nChange-Id: I34d2702b535e28e9519c7368fd8a942bfe0724bc\n"
    },
    {
      "commit": "99e3fab534d3a489726665cb8c71edecd5798b04",
      "tree": "86bb8ed74070ebc7bf2f92b0908a2c2959e25217",
      "parents": [
        "a4a2a3aaef730dbab020f7ece09149b05a399000",
        "5bfa3a34eaef759c3ec4def76f646eb1c0bf997f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 15 08:33:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 08:33:43 2010 -0700"
      },
      "message": "am 5bfa3a34: am 011b5bcc: Merge \"implement part of [3094280] New animation for screen on and screen off add support for screen on animation\" into gingerbread\n\nMerge commit \u00275bfa3a34eaef759c3ec4def76f646eb1c0bf997f\u0027\n\n* commit \u00275bfa3a34eaef759c3ec4def76f646eb1c0bf997f\u0027:\n  implement part of [3094280] New animation for screen on and screen off\n"
    },
    {
      "commit": "3b9c52ab8c1ab240d2299358d01a8efbe392d111",
      "tree": "ad86f6f761e41591de73aeaa236fa8c99105e672",
      "parents": [
        "c65217e4ec3e6c80834988ec3bc66a90778ee4b0"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Oct 14 17:48:46 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Oct 14 17:48:46 2010 -0700"
      },
      "message": "Async type creation.\n\nChange-Id: I4d98446fabbf7e8a98c97f85b573a58c8a0c58c2\n"
    },
    {
      "commit": "d2a1ff003b9b1212c9ab4b5f679b5b097720a359",
      "tree": "8ed98a94f0799861c4ebcb1799e7263fc8024000",
      "parents": [
        "ba7aad209f2b130a953467abd8cb41357fc20410"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 14 14:46:44 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 14 14:49:34 2010 -0700"
      },
      "message": "Fix text rendering issue.\n\nThe local clip rect could be off by one pixel when a 3D transform\nwas applied to a text primitive. This would cause small rendering\nglitches in Launcher in particular.\n\nChange-Id: I1254f6a5838c26810cbe969b096679d40b8dd504\n"
    },
    {
      "commit": "729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f",
      "tree": "ae02f4add70d938cf6fd1b2a46edb1d18ede21bc",
      "parents": [
        "3d4a9774ced0c704da455c5bd9989127e90ba133",
        "848a2bc4cc6eab0f1d0bc030616b9305df3aa7da"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Oct 14 13:41:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 13:41:51 2010 -0700"
      },
      "message": "am 848a2bc4: Merge \"MinGW/Cygwin requires open() in O_BINARY mode.\" into gingerbread\n\nMerge commit \u0027848a2bc4cc6eab0f1d0bc030616b9305df3aa7da\u0027 into gingerbread-plus-aosp\n\n* commit \u0027848a2bc4cc6eab0f1d0bc030616b9305df3aa7da\u0027:\n  MinGW/Cygwin requires open() in O_BINARY mode.\n"
    },
    {
      "commit": "848a2bc4cc6eab0f1d0bc030616b9305df3aa7da",
      "tree": "8323a689d54c52f0ded61e67a90ac43c098e9443",
      "parents": [
        "b0e020ab409b725a556f2c5043b08c9bac2c29bf",
        "5c4d4da4b74aff0a47a1da566ed30594e07661b3"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Oct 14 13:01:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 14 13:01:17 2010 -0700"
      },
      "message": "Merge \"MinGW/Cygwin requires open() in O_BINARY mode.\" into gingerbread"
    },
    {
      "commit": "567db07702f851f2e7fb1fb0021ce2871469183e",
      "tree": "a89e2a2e1b23a114bfa1055335de2492def68d09",
      "parents": [
        "d23cc4b814c01675f6503c4dcab21655c56d0256",
        "2d441e148502bb492816ef84837510397f77a039"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 12:03:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 12:03:36 2010 -0700"
      },
      "message": "am 2d441e14: Merge \"Make sure EventHub reports added/removed devices immediately.\" into gingerbread\n\nMerge commit \u00272d441e148502bb492816ef84837510397f77a039\u0027 into gingerbread-plus-aosp\n\n* commit \u00272d441e148502bb492816ef84837510397f77a039\u0027:\n  Make sure EventHub reports added/removed devices immediately.\n"
    },
    {
      "commit": "2d441e148502bb492816ef84837510397f77a039",
      "tree": "fd720666a4530e8d3693ecb0dade2712c874d762",
      "parents": [
        "29f28cdc5315d11919595bf8623d6a67797a34e7",
        "a9b84229a3e9e0ae15e3e964985fac2314247be2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 11:52:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 14 11:52:58 2010 -0700"
      },
      "message": "Merge \"Make sure EventHub reports added/removed devices immediately.\" into gingerbread"
    },
    {
      "commit": "838c6a15783b3ca9adc1ab49b25043ee272f63de",
      "tree": "7c8da5719795c42c95d049429f1584d3610d69bb",
      "parents": [
        "4826ce828ffeae4e6a69666e6631dc8eb4f220c4",
        "9e401bcd88a0fdeea96f53cb776e5de7b5b084cb"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Oct 14 09:34:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 14 09:34:56 2010 -0700"
      },
      "message": "Merge \"Changing scenegraph sample to use arrays.\""
    },
    {
      "commit": "a9b84229a3e9e0ae15e3e964985fac2314247be2",
      "tree": "e3d7d7e6a54abc6e6f44ccc9a3d79e02812c2816",
      "parents": [
        "844a6b3ccaff1ad1443ad985e4527b733ce97c0e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 02:23:43 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 02:23:43 2010 -0700"
      },
      "message": "Make sure EventHub reports added/removed devices immediately.\n\nFixed a bug where EventHub would not report changes in devices\nuntil the next event.\n\nBug: 3096147\nChange-Id: Ie4c3e1d14d0ad806cfaa212611ce06034d1b94d4\n"
    },
    {
      "commit": "eb86aaaab34687a77454fa130b08788db1317d74",
      "tree": "6a0b8bd8dc7d3bb45511902d5d6fba012a3c8b43",
      "parents": [
        "4afdf666fdb034834c48445570ed9d6f4133fc71",
        "9a12a3c8d4bb20042cf69e07d268e3a04ac71f96"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Oct 13 23:34:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 23:34:21 2010 -0700"
      },
      "message": "am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbread\n\nMerge commit \u00279a12a3c8d4bb20042cf69e07d268e3a04ac71f96\u0027\n\n* commit \u00279a12a3c8d4bb20042cf69e07d268e3a04ac71f96\u0027:\n  Remove dead code, and make the animation a setting.\n  turn off the electron beam\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": "5c4d4da4b74aff0a47a1da566ed30594e07661b3",
      "tree": "9066c3bc2bfe21d71bd791435c379ab093fbd2ba",
      "parents": [
        "3bb1044243ad38da35ccddc3e0d6d92d64fefe3e"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Wed Oct 13 19:13:48 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Wed Oct 13 21:55:15 2010 -0700"
      },
      "message": "MinGW/Cygwin requires open() in O_BINARY mode.\n\nAlsso printf %zd is not supported on MinGW/Cygwin.\n\nChange-Id: I03811dabb46e2b05dd1d8abcc0ff97b125c77d54\n"
    },
    {
      "commit": "4afdf666fdb034834c48445570ed9d6f4133fc71",
      "tree": "a957f9f7fc930ac5e7eed44b8849ecee9794c6ab",
      "parents": [
        "1b422d8cd8ed83b79e977a3afb99969cea4a6700"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Oct 13 21:31:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Oct 13 21:31:28 2010 -0700"
      },
      "message": "Color filters were ignored by the program cache fast path.\n\nChange-Id: I08f2f02d356234a674be778d088e0558fd49c849\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": "93d2361c6d294c390cb5c4a13bd1b88dcd465fd7",
      "tree": "654b730c9228af7f6947f5f7db231057235b9a34",
      "parents": [
        "909cbaf8f92d69f507bbdba9e5aa960d1e6c7a1f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 18:26:36 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 18:26:36 2010 -0700"
      },
      "message": "Fix layer rendering glitch.\n\nChange-Id: If2f987fe5526fc88743ca3e91edde4f8232ff658\n"
    },
    {
      "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": "909cbaf8f92d69f507bbdba9e5aa960d1e6c7a1f",
      "tree": "e0b26f1015f875c9490bb1cfeceb76d3c40c1fd0",
      "parents": [
        "5d794412e3e429e47404395badcd11b0b8639e8b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 18:19:48 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 18:19:48 2010 -0700"
      },
      "message": "Don\u0027t draw TextView\u0027s alpha layers when not needed.\n\nChange-Id: Iedf42cbc62d727f18500c78fcccf2d081a761fec\n"
    },
    {
      "commit": "5d794412e3e429e47404395badcd11b0b8639e8b",
      "tree": "8a51193f6132d76192665b44fe65a009a2ac3cff",
      "parents": [
        "67a2f7b5a1b3ec5d2440d8be6e5ee4274e90e226"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 16:36:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 17:24:41 2010 -0700"
      },
      "message": "Small potential performance improvement for fonts rendering.\n\nChange-Id: If59c1e7803b84340fbc8b31ce6171ef0e5dc6189\n"
    },
    {
      "commit": "99bcdc52dcb365ed7d8cfa13540fb33fbcbbac9d",
      "tree": "6aa73d73948d851ea9b61c36e74a275c4092f5ad",
      "parents": [
        "bbf68c6ad2cc3dd338f93779d60c5821e730a263"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 15:17:00 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 17:24:41 2010 -0700"
      },
      "message": "Return identity matrix when rendering in an FBO.\n\nChange-Id: I57438e745b30c8cfe16c269f3cafcd719049d705\n"
    },
    {
      "commit": "cd4af421ca6b102cabd2cf1ff63488e086c32c44",
      "tree": "65c60516db0a95bb1eb6ae4d0b751c36cbc676e4",
      "parents": [
        "bad553ba34dbf9b6764c9c6b72f0082f011b577c",
        "4b255a23041225103a6870e77a236f78c2816eda"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@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 4b255a23: am 03aa28fb: Merge \"Improve the input policy handling a bit.\" into gingerbread\n\nMerge commit \u00274b255a23041225103a6870e77a236f78c2816eda\u0027\n\n* commit \u00274b255a23041225103a6870e77a236f78c2816eda\u0027:\n  Improve the input policy handling a bit.\n"
    },
    {
      "commit": "9f164aa9b39ddd42963f52ca47d1739ee4bb1e7d",
      "tree": "445b6f4970325f6a663f262547497a36f3dbcb26",
      "parents": [
        "8635bb5405a50b86badcb3e674032d6f444d4944",
        "b05632aae37ea3a3573aabf10e6868733546de96"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 13 17:01:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 17:01:53 2010 -0700"
      },
      "message": "am b05632aa: am a28d5aff: Merge \"Fix a bug synthesizing cancelation events for motions.\" into gingerbread\n\nMerge commit \u0027b05632aae37ea3a3573aabf10e6868733546de96\u0027\n\n* commit \u0027b05632aae37ea3a3573aabf10e6868733546de96\u0027:\n  Fix a bug synthesizing cancelation events for motions.\n"
    },
    {
      "commit": "5bfa3a34eaef759c3ec4def76f646eb1c0bf997f",
      "tree": "db253b21d2e04cb6a1c74007eaf595d6edfbd864",
      "parents": [
        "27c7fb1a861776b4fdc2632697e4e25eee83617f",
        "011b5bcc0355338b7ff906656282a54ffaa04b5a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 15:59:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 15:59:42 2010 -0700"
      },
      "message": "am 011b5bcc: Merge \"implement part of [3094280] New animation for screen on and screen off add support for screen on animation\" into gingerbread\n\nMerge commit \u0027011b5bcc0355338b7ff906656282a54ffaa04b5a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027011b5bcc0355338b7ff906656282a54ffaa04b5a\u0027:\n  implement part of [3094280] New animation for screen on and screen off\n"
    },
    {
      "commit": "fd14fb59584a3670a676ca014ba74f788734dfeb",
      "tree": "630302d285f4eb37b1a8c6ce64e51696ec9389ea",
      "parents": [
        "0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639",
        "c30414329c381afba7bd23bdd0f1237fad0850a6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:58:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 15:58:59 2010 -0700"
      },
      "message": "am c3041432: am de846ac6: Merge \"Change to new binder implementation for OBB\" into gingerbread\n\nMerge commit \u0027c30414329c381afba7bd23bdd0f1237fad0850a6\u0027\n\n* commit \u0027c30414329c381afba7bd23bdd0f1237fad0850a6\u0027:\n  Change to new binder implementation for OBB\n"
    },
    {
      "commit": "0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639",
      "tree": "22ff1466c777067596537ccb085cd64ed0bc3bc5",
      "parents": [
        "0726fd9e835579019f6b23ab50d7b45401e11dbe",
        "8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:43:35 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:43:51 2010 -0700"
      },
      "message": "resolved conflicts for merge of 8bb7a1df to master\n\nChange-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9\n"
    },
    {
      "commit": "0726fd9e835579019f6b23ab50d7b45401e11dbe",
      "tree": "9a17c234e4ca2b3345cf6579e33332ff9f6abef7",
      "parents": [
        "d8404b23739b135060ab9a04317a9f8b990cf8ca",
        "11c8af9ded3a319635b4e91a639a616ec97fc7e3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Oct 13 15:33:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 15:33:00 2010 -0700"
      },
      "message": "Merge \"Begin hooking up SurfaceConfig.\""
    },
    {
      "commit": "11c8af9ded3a319635b4e91a639a616ec97fc7e3",
      "tree": "b229be5c62ec938c4cf2f11ca6aa15d2b85e5ba2",
      "parents": [
        "3c0365518f3f664634ed0f9464c351acf3b7e86d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Oct 13 15:31:10 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Oct 13 15:31:10 2010 -0700"
      },
      "message": "Begin hooking up SurfaceConfig.\n\nChange-Id: I328138f29affbed11fcfb5e9ed0872d4ba22d241\n"
    },
    {
      "commit": "9e401bcd88a0fdeea96f53cb776e5de7b5b084cb",
      "tree": "d2c32d8fdcf107f30e97c4dc880d46a30a8f31ed",
      "parents": [
        "79c92540877d6683290511617aac8e3108b68ad1"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Oct 13 14:22:02 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Oct 13 14:33:44 2010 -0700"
      },
      "message": "Changing scenegraph sample to use arrays.\n\nChange-Id: Ifa454d503c1445efcad6e31243b65d75e62e3035\n"
    },
    {
      "commit": "2d2b803a92ba531cf6c4bb7042326653255b8780",
      "tree": "4f9bfc77e4850d74b260dff622d03a175add6840",
      "parents": [
        "e03471e12f1adcd818b5bfd9dcb894c75fe955c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 12 16:05:48 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 14:28:26 2010 -0700"
      },
      "message": "implement part of [3094280] New animation for screen on and screen off\nadd support for screen on animation\n\nChange-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238\n"
    },
    {
      "commit": "79c92540877d6683290511617aac8e3108b68ad1",
      "tree": "a9543a887788e776c4f766394300b20087a6c8a6",
      "parents": [
        "a338ca83396ecdad89f4d4dd9aa403d04c0d36e4",
        "41030da16856c8869e1e51d4a0405432fa96614e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 14:18:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 14:18:18 2010 -0700"
      },
      "message": "Merge \"Add a getNativeMatrix() API.\""
    },
    {
      "commit": "41030da16856c8869e1e51d4a0405432fa96614e",
      "tree": "e40b599f2961989c444e5ca1bb92536eef76b7ba",
      "parents": [
        "2b67ce7213501d4377e46f67656993914eceb423"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 13:40:37 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 13 13:40:37 2010 -0700"
      },
      "message": "Add a getNativeMatrix() API.\n\nThis API can be used by WebView to apply the appropriate transform\non its rendering.\n\nChange-Id: I79aa39a29805f462fb08226370328815e74bdc52\n"
    },
    {
      "commit": "d6edfbbb789548c573c827914f35f662e2713085",
      "tree": "98522c57f2eddb4fbb5d835d70b7eb705a4b98d4",
      "parents": [
        "2b67ce7213501d4377e46f67656993914eceb423",
        "c119493e01fb54108394a02c46b302f050de5ab6"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Oct 13 10:11:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 10:11:02 2010 -0700"
      },
      "message": "Merge \"Packing the struct to work around llvm bug.\""
    },
    {
      "commit": "c119493e01fb54108394a02c46b302f050de5ab6",
      "tree": "e7e81be781a337f96022f5c3a96640b12282c7f4",
      "parents": [
        "b8203e9718350e0b5ada07848c40a639220472b3"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Oct 13 10:02:28 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Oct 13 10:02:28 2010 -0700"
      },
      "message": "Packing the struct to work around llvm bug.\n\nChange-Id: If94d6659df7e00b70c39619b05732046233cb196\n"
    },
    {
      "commit": "eb07af687319a0f52c219c3c0c1b73162fce9d04",
      "tree": "a27dad9873cd7cab7217ff45fd5c26a4a8885ff0",
      "parents": [
        "a0a312225ad56b858f37c2a428e9b8a7140907c4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 18:40:36 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 18:40:36 2010 -0700"
      },
      "message": "Optimize layer clears.\n\nDon\u0027t clear the entire texture when we use textures that are bigger\nthan the layer itself. This will save time during the glClear() calls.\n\nChange-Id: I06f3259ba62affb3708ba69ea41418832c7e1a65\n"
    },
    {
      "commit": "8cbda423d0ac189d6d86c3288d6ea6333cfe99cf",
      "tree": "d79fcaf732cb9757dab0fdf5994489ffcb51302a",
      "parents": [
        "e165de76853c15e2d35f176b61788f919b827db4",
        "e91080581f467d55913a8c5ab53dedc2dab2e5b6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 18:20:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 18:20:06 2010 -0700"
      },
      "message": "Merge \"Tweak layers caching for better performance in Launcher.\""
    },
    {
      "commit": "e91080581f467d55913a8c5ab53dedc2dab2e5b6",
      "tree": "ef4bfc31fac147b8a36b3c3d6593726106825032",
      "parents": [
        "1f114a55b5eaaa81bd302c9ad851362512b61e2f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 18:15:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 18:15:42 2010 -0700"
      },
      "message": "Tweak layers caching for better performance in Launcher.\n\nChange-Id: Ia6e67699d98f69c8a93385b3ecbdd814c7b16921\n"
    },
    {
      "commit": "290dcfb4e6824caa982bd14bfb5dcd5756adaeca",
      "tree": "39ea355ec0343ab23fbfd8caf35ad2f8efb8d51d",
      "parents": [
        "06cbb47bca698d3595c8916d325ec5fcfd0163bc",
        "1f114a55b5eaaa81bd302c9ad851362512b61e2f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 17:50:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 17:50:32 2010 -0700"
      },
      "message": "Merge \"Remove logging.\""
    },
    {
      "commit": "1f114a55b5eaaa81bd302c9ad851362512b61e2f",
      "tree": "80567c8d4e3a977978fd0b70cda7ddce899e0fbd",
      "parents": [
        "4bb942083a0d4db746adf95349108dd8ef842e32"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 17:47:34 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 17:47:34 2010 -0700"
      },
      "message": "Remove logging.\n\nChange-Id: Ibcb11d704653d8875e22629ea39e4ee2ebce3c22\n"
    },
    {
      "commit": "84349e3ef7335fa1daa8927f4504bc1ddd5bdf84",
      "tree": "6a7a3ccc42e3a54e4548a265bd286c7f7ea123d3",
      "parents": [
        "b8203e9718350e0b5ada07848c40a639220472b3",
        "4bb942083a0d4db746adf95349108dd8ef842e32"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 16:01:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 16:01:41 2010 -0700"
      },
      "message": "Merge \"Optimize 9patch rendering.\""
    },
    {
      "commit": "4bb942083a0d4db746adf95349108dd8ef842e32",
      "tree": "7707bc9551f3db4ad0561c30c73293e4a0edfbf2",
      "parents": [
        "5a3b8e698e276839e502dcf41894b56ad59695c3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "message": "Optimize 9patch rendering.\n\nThis change detects empty quads in 9patches and removes them from\nthe mesh to avoid unnecessary blending.\n\nChange-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704\n"
    },
    {
      "commit": "9a12a3c8d4bb20042cf69e07d268e3a04ac71f96",
      "tree": "8077adbd81854c5b5571b57a5f9d20f28d92ca75",
      "parents": [
        "090ac9f7dd883aa75c899745182471d409a2b762",
        "ba799098608c7be8ff1e18adfa7dc1f452205a7e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 12 14:46:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 12 14:46:23 2010 -0700"
      },
      "message": "am ba799098: Merge changes I76513387,I335fb671 into gingerbread\n\nMerge commit \u0027ba799098608c7be8ff1e18adfa7dc1f452205a7e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ba799098608c7be8ff1e18adfa7dc1f452205a7e\u0027:\n  Remove dead code, and make the animation a setting.\n  turn off the electron beam\n"
    },
    {
      "commit": "2bc063fdb697574a58eddf12adf2cc301d6aab74",
      "tree": "8f823a7e55fdd35f6daea3e86ce1bfe61e0c5c55",
      "parents": [
        "5a3b8e698e276839e502dcf41894b56ad59695c3",
        "960ae15cf37fe31790e255521ee2045312e82d36"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 14:17:59 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 14:17:59 2010 -0700"
      },
      "message": "Merge \"Fixing font bug, initialization was done in the wrong order.\""
    },
    {
      "commit": "aab758e87991d1460ca94d4a5f22c0ef34641e2d",
      "tree": "560d9e47119175b6a5618dd16d9d9ac4a92145fd",
      "parents": [
        "844a6b3ccaff1ad1443ad985e4527b733ce97c0e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 11 12:37:43 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Oct 12 14:16:11 2010 -0700"
      },
      "message": "turn off the electron beam\n\nChange-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6\n"
    },
    {
      "commit": "960ae15cf37fe31790e255521ee2045312e82d36",
      "tree": "eaee3ae547e0dddb0636d5fe514f8871cfbc9fb8",
      "parents": [
        "7d4cb2e1183285d171c36007897790069cd10ed3"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 14:15:17 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 14:15:17 2010 -0700"
      },
      "message": "Fixing font bug, initialization was done in the wrong order.\n\nChange-Id: Icc7b932f25be1ca6e5423bba6a5cfc965f6c3341\n"
    },
    {
      "commit": "735821fccc181bdfbebd6f067296182130934e5d",
      "tree": "e284e8d4591d909651f73597530440503ded4bb7",
      "parents": [
        "5fdc0c7397ee2d638bc310e5ce2830b938d7c008",
        "9db91243c5ace4421091557b76a0b1cbd2312fec"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 13:15:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 13:15:44 2010 -0700"
      },
      "message": "Merge \"Simplify black texture fragment shader.\""
    },
    {
      "commit": "9db91243c5ace4421091557b76a0b1cbd2312fec",
      "tree": "7fc21b5c4942c98e092fe376525fd3194700be84",
      "parents": [
        "a3496a9e6011e73deadd33bd0edd9229512e23d3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 13:13:09 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 13:13:09 2010 -0700"
      },
      "message": "Simplify black texture fragment shader.\n\nChange-Id: If2d43f92f4c98ec128692761a670b0f31207a3c0\n"
    },
    {
      "commit": "e28c8f286d9bd4c7b558d6ffb8bd2fb1226ada2e",
      "tree": "9db50803fcfa0ba90251d994567b80c421287fc9",
      "parents": [
        "be27cc6943ead560c0b404b7755b88cda0fd1eea",
        "e1ff214e32ed5c546a7603b07b054908c4d93312"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 12 12:45:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 12:45:46 2010 -0700"
      },
      "message": "Merge \"Add API to check for emulated external storage\""
    },
    {
      "commit": "c00972bb162779e52d1b0d8f662a9f6033bf9182",
      "tree": "8ccf4a198e231998bc3c2eb75d3fc4d17cb0b2b3",
      "parents": [
        "425c305a535d8c5a9082685523ba46d06199e543"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 11:31:07 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 11:31:07 2010 -0700"
      },
      "message": "Don\u0027t recreate a new texture every time we draw a layer.\n\nChange-Id: I3c28aff5acffc7c6f1ac74805869725426c62d28\n"
    },
    {
      "commit": "e1ff214e32ed5c546a7603b07b054908c4d93312",
      "tree": "d61485a78a33eaedf4494cbdf21e48225d49b4e7",
      "parents": [
        "84e8827a477cdf3d8c2b67e370395b22ec1963ad"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 12 11:20:01 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 12 11:30:56 2010 -0700"
      },
      "message": "Add API to check for emulated external storage\n\nWhen the storage is emulated, we don\u0027t want to install ASEC containers\nto it. This adds the API to check when the external storage is emulated\nand uses it to check whether or not to install packages to the external\nstorage in an ASEC container.\n\nBug: 3024387\nChange-Id: Ia0318aca9e4938a4897deaada5603a4c7c1d0f48\n"
    },
    {
      "commit": "7d4cb2e1183285d171c36007897790069cd10ed3",
      "tree": "036f2ccae01df1ef076946577659b55880197ab5",
      "parents": [
        "9c9430b30f31713971d8f9f53df9588a3ba01340",
        "af55cc711abc51a24d1b33d0a34c55e877711405"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 09:40:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 12 09:40:23 2010 -0700"
      },
      "message": "Merge \"Fixing refcounting debug statements that\u0027ve gotten bitrotten.\""
    },
    {
      "commit": "af55cc711abc51a24d1b33d0a34c55e877711405",
      "tree": "9383213fac0b0319c778873fb63076f5c892f36d",
      "parents": [
        "26ae3904e8050eae655722caf93ee5d3f0ab195a"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 09:31:10 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 12 09:31:10 2010 -0700"
      },
      "message": "Fixing refcounting debug statements that\u0027ve gotten bitrotten.\n\nChange-Id: Ie93bf651b9e469b7b4e9cacd8f79b38d04012892\n"
    },
    {
      "commit": "4b255a23041225103a6870e77a236f78c2816eda",
      "tree": "97afc0304575b68c913b09990e4fd8d9a5d8d2c8",
      "parents": [
        "b99db0c70e0ee18e0a691126134b9394f30f7f03",
        "03aa28fb36589a3d601be08e75c08a24c4344d6f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 12 01:04:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 12 01:04:16 2010 -0700"
      },
      "message": "am 03aa28fb: Merge \"Improve the input policy handling a bit.\" into gingerbread\n\nMerge commit \u002703aa28fb36589a3d601be08e75c08a24c4344d6f\u0027 into gingerbread-plus-aosp\n\n* commit \u002703aa28fb36589a3d601be08e75c08a24c4344d6f\u0027:\n  Improve the input policy handling a bit.\n"
    },
    {
      "commit": "3122e4488aa0749cbec9890ace22c366e35350c3",
      "tree": "fed38c07c499413707f543ef9d0bbe45ccdf23c7",
      "parents": [
        "a28d5aff5466a55149b9e6f9cd908fcc225c25ff"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 23:32:49 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 12 00:16:14 2010 -0700"
      },
      "message": "Improve the input policy handling a bit.\n\nFixed some issues with Monkeys turning off their own screens.  Ook ook!\nAdded some more comments to explain what\u0027s going on.\n\nChange-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12\n"
    },
    {
      "commit": "26b6df74b9bcc693a5b57347d427b352cdc0541a",
      "tree": "091190ad442a4fa545b28ee6db9dece536c2cbab",
      "parents": [
        "4bede9e425875542976a422222510fa4056a8339",
        "9c9f1a3ba1bc19754e4d38cb27a537d4dfedc0fe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 20:29:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 20:29:36 2010 -0700"
      },
      "message": "Merge \"Track input state when transferring touch focus.\""
    },
    {
      "commit": "b05632aae37ea3a3573aabf10e6868733546de96",
      "tree": "626838a065345833e01c90ea00f4c2df41aaaedb",
      "parents": [
        "c74d39173e1071dbffe713e008b95784ac4312bc",
        "a28d5aff5466a55149b9e6f9cd908fcc225c25ff"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 20:24:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 20:24:38 2010 -0700"
      },
      "message": "am a28d5aff: Merge \"Fix a bug synthesizing cancelation events for motions.\" into gingerbread\n\nMerge commit \u0027a28d5aff5466a55149b9e6f9cd908fcc225c25ff\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a28d5aff5466a55149b9e6f9cd908fcc225c25ff\u0027:\n  Fix a bug synthesizing cancelation events for motions.\n"
    },
    {
      "commit": "9c9f1a3ba1bc19754e4d38cb27a537d4dfedc0fe",
      "tree": "fc519d8f2f97dc3fa6007f16e07cc05b09849109",
      "parents": [
        "e20c9e0264190f94324197a8271cf03811a4ca58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:32:20 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:32:20 2010 -0700"
      },
      "message": "Track input state when transferring touch focus.\n\nCopies the input state to the destination window and sends synthesic\ncancelation events to the source window.\n\nChange-Id: Ia75820b0d756ed5d6cd22dce7830251ac85141ed\n"
    },
    {
      "commit": "a1160a798b688370bed3642a105dfeb7fba2f5f3",
      "tree": "51d68dce59ef9b99f12fcfe46bdc0220ecbb07e5",
      "parents": [
        "de846ac659e8c14d898a3fa14bd0504b24096057"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:22:53 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:22:53 2010 -0700"
      },
      "message": "Fix a bug synthesizing cancelation events for motions.\n\nChange-Id: I881c0fa16c1d22c4b1b6cca24deb0105405ff5b0\n"
    },
    {
      "commit": "4231124c9df51727a42cb1c09777816797c912cb",
      "tree": "7ebad7fcf31ab71ebcf422ce156a3c69f0f22548",
      "parents": [
        "d5d2b7382cd863dd5c92c99575fb345777f0c567",
        "e20c9e0264190f94324197a8271cf03811a4ca58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 18:15:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 18:15:38 2010 -0700"
      },
      "message": "Merge \"Fix an event injection bug when the policy is bypassed.\""
    },
    {
      "commit": "d5d2b7382cd863dd5c92c99575fb345777f0c567",
      "tree": "f604ab5bc0272bff8d2ebf5734e83eb978c3530a",
      "parents": [
        "02241ab2929c34aa48acdf4befcc9cacd86c1a6f",
        "dbc26d2ba13f80a7590c57de2d80530d96832969"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 18:00:43 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 18:00:43 2010 -0700"
      },
      "message": "Merge \"Don\u0027t draw fully transparent views/primitives.\""
    },
    {
      "commit": "dbc26d2ba13f80a7590c57de2d80530d96832969",
      "tree": "1883c28948243ec8906c594009c4a4208b132546",
      "parents": [
        "707b2f78ccaa09965d7e030fda3a883ce9b75ea8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 17:58:29 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 17:58:29 2010 -0700"
      },
      "message": "Don\u0027t draw fully transparent views/primitives.\n\nChange-Id: Icd7d8ef1f57b51a24faf32f7004125e6300d4fdc\n"
    },
    {
      "commit": "e20c9e0264190f94324197a8271cf03811a4ca58",
      "tree": "e482829d555d313e57ead50bc24102897dde9b36",
      "parents": [
        "182e5cf105aa71effbdee15628f020214b54774c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 14:20:19 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 17:54:12 2010 -0700"
      },
      "message": "Fix an event injection bug when the policy is bypassed.\n\nAdded the concept of a \"trusted\" event to distinguish between events from\nattached input devices or trusted injectors vs. other applications.\nThis change enables us to move certain policy decisions out of the\ndispatcher and into the policy itself where they can be handled more\nsystematically.\n\nCherry pick of b931a1b4 from gingerbread into master.\n\nChange-Id: I700a5f07b8b227878cea9437a289a45a245c0424\n"
    },
    {
      "commit": "c30414329c381afba7bd23bdd0f1237fad0850a6",
      "tree": "521e9a52dab799e79172cae8e9dca70dc183a615",
      "parents": [
        "8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832",
        "de846ac659e8c14d898a3fa14bd0504b24096057"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:43:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:43:05 2010 -0700"
      },
      "message": "am de846ac6: Merge \"Change to new binder implementation for OBB\" into gingerbread\n\nMerge commit \u0027de846ac659e8c14d898a3fa14bd0504b24096057\u0027 into gingerbread-plus-aosp\n\n* commit \u0027de846ac659e8c14d898a3fa14bd0504b24096057\u0027:\n  Change to new binder implementation for OBB\n"
    },
    {
      "commit": "dd8b0c90400a1c59d4d71d768c02eed961596bc8",
      "tree": "824f5086cdab46a9484c41dc87e921e2ff4212a6",
      "parents": [
        "5d3f6073bfc62811f552a16be7d58483104a29a3",
        "41aabeb51305d19747687f246080f44fc2a74435"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 17:42:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:42:30 2010 -0700"
      },
      "message": "am 41aabeb5: am 1e6a3a53: Merge \"Added more robust tracking and cancelation of events.\" into gingerbread\n\nMerge commit \u002741aabeb51305d19747687f246080f44fc2a74435\u0027\n\n* commit \u002741aabeb51305d19747687f246080f44fc2a74435\u0027:\n  Added more robust tracking and cancelation of events.\n"
    },
    {
      "commit": "de846ac659e8c14d898a3fa14bd0504b24096057",
      "tree": "f26e8ad5faaca084f908dd01f6b2fc7b5203c1df",
      "parents": [
        "b4de3dca96b9ff18562062e181dcd8b83e641e45",
        "4a99ed897796bec95039496a66ed1be066b6294c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:40:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 17:40:53 2010 -0700"
      },
      "message": "Merge \"Change to new binder implementation for OBB\" into gingerbread"
    },
    {
      "commit": "4a99ed897796bec95039496a66ed1be066b6294c",
      "tree": "d329f79f97a6513f25236eef8d70fa48cd9c27d0",
      "parents": [
        "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:38:51 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:38:51 2010 -0700"
      },
      "message": "Change to new binder implementation for OBB\n\nChange-Id: I3282df361a11fc37e94bc5ba4bd5860ae62a10e4\n"
    },
    {
      "commit": "5d3f6073bfc62811f552a16be7d58483104a29a3",
      "tree": "67d27e307c21924b87e32ffb5dd660d96f912eb6",
      "parents": [
        "20b4cf8cc7e59d84aaf9ff9b3bd42161cb1d4752",
        "52d836332f6aae74ed97fda1b53681f36710af64"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 17:32:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 17:32:25 2010 -0700"
      },
      "message": "Merge \"Support for unsigned long and unsigned long long.\""
    },
    {
      "commit": "8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832",
      "tree": "0eb8b8355abedba7b083d5ef547893ed66d3d56a",
      "parents": [
        "0ad4a77cb78348951c349ba92ec858bfb26aeb33",
        "b4de3dca96b9ff18562062e181dcd8b83e641e45"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:31:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:31:06 2010 -0700"
      },
      "message": "am b4de3dca: Merge \"OBB: rearrange to be entirely asynchronous\" into gingerbread\n\nMerge commit \u0027b4de3dca96b9ff18562062e181dcd8b83e641e45\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b4de3dca96b9ff18562062e181dcd8b83e641e45\u0027:\n  OBB: rearrange to be entirely asynchronous\n"
    },
    {
      "commit": "f2e0681ada3ffe1de994a51dcebd6ef045d27434",
      "tree": "c6f8e837d2091a890fb3d9d2882b3a534b190625",
      "parents": [
        "d965724fdcc63a070657518542559a8b1a35a70d",
        "1da8d4d1697cec871dea8c30dad67e90db10bde6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 17:26:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 17:26:51 2010 -0700"
      },
      "message": "am 1da8d4d1: Merge \"Fix an event injection bug when the policy is bypassed.\" into gingerbread\n\nMerge commit \u00271da8d4d1697cec871dea8c30dad67e90db10bde6\u0027 into gingerbread-plus-aosp\n\n* commit \u00271da8d4d1697cec871dea8c30dad67e90db10bde6\u0027:\n  Fix an event injection bug when the policy is bypassed.\n"
    },
    {
      "commit": "b4de3dca96b9ff18562062e181dcd8b83e641e45",
      "tree": "b2e8b6060e1dbea173de867e5258add9b08ef8f3",
      "parents": [
        "1169f420f6df5cf5254fed883efa7e6780473c08",
        "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:24:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 17:24:54 2010 -0700"
      },
      "message": "Merge \"OBB: rearrange to be entirely asynchronous\" into gingerbread"
    },
    {
      "commit": "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c",
      "tree": "c59adbe6d27cf236d6920f689dd237a115fef3f9",
      "parents": [
        "ce2f1909c74a1b90995f06a865d21260b062300b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 08 09:21:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:22:03 2010 -0700"
      },
      "message": "OBB: rearrange to be entirely asynchronous\n\nRearrange structure of MountService handling of OBBs to be entirely\nasynchronous so we don\u0027t rely on locking as much. We still need the\nlocking to support dumpsys which has been improved to output all the\ndata structures for OBBs.\n\nAdded more tests to cover more of the error return codes.\n\nOh and fix a logic inversion bug.\n\nChange-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9\n"
    },
    {
      "commit": "20b4cf8cc7e59d84aaf9ff9b3bd42161cb1d4752",
      "tree": "d924411bd6b978697a3f1b1f9c8f76d021c1eb08",
      "parents": [
        "1e1ebcb2d0bb1eaefa48a8d774beb0f459fe8b2c",
        "707b2f78ccaa09965d7e030fda3a883ce9b75ea8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 17:13:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 17:13:32 2010 -0700"
      },
      "message": "Merge changes I9a5e01bc,If1caee31\n\n* changes:\n  Optimize GLSL shaders.\n  Improve performance of linear gradients.\n"
    },
    {
      "commit": "707b2f78ccaa09965d7e030fda3a883ce9b75ea8",
      "tree": "0503326cbed34fe219dc32508456b5ce9bd03340",
      "parents": [
        "7537f856f9076a84db04d8de447f6527b67166fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 16:34:59 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 16:34:59 2010 -0700"
      },
      "message": "Optimize GLSL shaders.\n\nChange-Id: I9a5e01bced63d8da0c61330a543a2b805388a59d\n"
    },
    {
      "commit": "b931a1b4183386ba840edc1bcc507eccf11b5cbe",
      "tree": "f9e1ba1030d392ab288ad13e5eaba32c65a96c76",
      "parents": [
        "b699726018a0049665d8ad6b90dbc5af0e18f135"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 14:20:19 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 16:26:13 2010 -0700"
      },
      "message": "Fix an event injection bug when the policy is bypassed.\n\nAdded the concept of a \"trusted\" event to distinguish between events from\nattached input devices or trusted injectors vs. other applications.\nThis change enables us to move certain policy decisions out of the\ndispatcher and into the policy itself where they can be handled more\nsystematically.\n\nChange-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970\n"
    },
    {
      "commit": "52d836332f6aae74ed97fda1b53681f36710af64",
      "tree": "d8e98e1e692e249e303be69a71c252718faa5fa0",
      "parents": [
        "1e1ebcb2d0bb1eaefa48a8d774beb0f459fe8b2c"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 16:10:42 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 16:10:42 2010 -0700"
      },
      "message": "Support for unsigned long and unsigned long long.\n\nChange-Id: I2f9cfb7f352e2e7e7fd49eac42a821c03b5fcb9f\n"
    },
    {
      "commit": "1e1ebcb2d0bb1eaefa48a8d774beb0f459fe8b2c",
      "tree": "3420a3e5dc484932edaaca7597a3625b4781a039",
      "parents": [
        "75a3bcc36b3c1650ccbee5cd679aaf731ccf6874",
        "2332340b0e4b4202962b5307194addf44cf88236"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 15:14:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 15:14:36 2010 -0700"
      },
      "message": "Merge \"Test exported \"long\" type.\""
    },
    {
      "commit": "7537f856f9076a84db04d8de447f6527b67166fd",
      "tree": "87788a3ee601b5db44945f8916c395cbb93980d2",
      "parents": [
        "101e2ae00c478e13f34c81db05a9a921ad637571"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 14:38:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 11 14:38:28 2010 -0700"
      },
      "message": "Improve performance of linear gradients.\n\nChange-Id: If1caee31fc045dea13a4c5c10f25f2ffd325c4f8\n"
    },
    {
      "commit": "2332340b0e4b4202962b5307194addf44cf88236",
      "tree": "34612574e3f4413926fbc596c79220371abf84e4",
      "parents": [
        "3e6fee857a317d35b4861b8bb24a2d3e5e3e6fc2"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 14:33:21 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 14:33:21 2010 -0700"
      },
      "message": "Test exported \"long\" type.\n\nChange-Id: I1239aecf29f6d25ed975c8d026328366624d58b9\n"
    },
    {
      "commit": "26ae3904e8050eae655722caf93ee5d3f0ab195a",
      "tree": "9dfbe324379dd9ea0067011fa85a62a348a66961",
      "parents": [
        "3e6fee857a317d35b4861b8bb24a2d3e5e3e6fc2"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Oct 11 12:35:15 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Oct 11 14:04:09 2010 -0700"
      },
      "message": "Update allocation from bitmap.\nGL attribute cleanup in type.\n\nChange-Id: I504dcf6744ad13d65e068e784b6608c999ab48c6\n"
    },
    {
      "commit": "031ec58cfc7a20927302a5300eba3f5fc1709b50",
      "tree": "4a5719c7c6c89b66d8a304d0df333810b2a2aa3f",
      "parents": [
        "c2a443250768086a609c5666f23d93316d84252c"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 10:54:21 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 11 12:32:33 2010 -0700"
      },
      "message": "Fix support for 64-bit integers.\n\nChange-Id: I4e2146a5fda41f280ee3f6f685a34f3cff28f05e\n"
    },
    {
      "commit": "2222aa90031604e9752ebc2909303a84139b8b18",
      "tree": "221332fe04b58b792d1c40cfca730948cf4ccca5",
      "parents": [
        "7499a1ca68ba115efcf53f6a06520c579c44364d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Oct 10 17:58:25 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Oct 10 17:58:25 2010 -0700"
      },
      "message": "Cleanup error message for null binding address.\nOnly print the debug if script debugging is enabled.\n\nChange-Id: I72b9c2a73d49987a73b354442e9defec02b93bc6\n\nImplement inner utiliy class to specify surface formats.\nRemove boxed bitmap upload functions.\n\nChange-Id: I3ff5ca59e53d02b9d75277afa947ea3d218459eb\n"
    },
    {
      "commit": "41aabeb51305d19747687f246080f44fc2a74435",
      "tree": "98ac58495ec40abed5b08de8a1a2563ce93edb5b",
      "parents": [
        "0acb0d7a4b9cb684bff6e70b4c41002fb45adc04",
        "1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:50:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 14:50:38 2010 -0700"
      },
      "message": "am 1e6a3a53: Merge \"Added more robust tracking and cancelation of events.\" into gingerbread\n\nMerge commit \u00271e6a3a53fc4d56e3a0f86c8721dedfd46e738a32\u0027 into gingerbread-plus-aosp\n\n* commit \u00271e6a3a53fc4d56e3a0f86c8721dedfd46e738a32\u0027:\n  Added more robust tracking and cancelation of events.\n"
    },
    {
      "commit": "b699726018a0049665d8ad6b90dbc5af0e18f135",
      "tree": "e711b4de7efbb4473306a208befe0e834d90c39b",
      "parents": [
        "db56b9bd39e739474684987b83f386f50596aa5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 08 22:31:17 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:45:51 2010 -0700"
      },
      "message": "Added more robust tracking and cancelation of events.\n\nThis change fixes several issues where events would be dropped in the\ninput dispatch pipeline in such a way that the dispatcher could not\naccurately track the state of the input device.\n\nGiven more robust tracking, we can now also provide robust cancelation\nof input events in cases where an application might otherwise become\nout of sync with the event stream due to ANR, app switch, policy decisions,\nor forced focus transitions.\n\nPruned some of the input dispatcher log output.\n\nMoved the responsibility for calling intercept*BeforeQueueing into\nthe input dispatcher instead of the input reader and added support for\nearly interception of injected events for events coming from trusted\nsources.  This enables behaviors like injection of media keys while\nthe screen is off, haptic feedback of injected virtual keys, so injected\nevents become more \"first class\" in a way.\n\nChange-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9\n"
    },
    {
      "commit": "584ad9af405e891aebaf3f29b150a91c7d5bc4f1",
      "tree": "0c1566b73960ace1bea2e192aa2e57ca3faed39c",
      "parents": [
        "ee04af3ed40103bc1e3ed5f6ab9e0094d893bceb",
        "1ef773ff9caf9c1b9ee32b634f1c80e9a065aa6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 10 13:36:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 10 13:36:13 2010 -0700"
      },
      "message": "Merge \"Move binder magic from the Surface class to GraphicBuffer.\""
    },
    {
      "commit": "1ef773ff9caf9c1b9ee32b634f1c80e9a065aa6a",
      "tree": "9f00c524f8d91b21fe99ce89c3a1d703fb236b1d",
      "parents": [
        "d6e9d7695b55414420c366528ba431eacdea5dfc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Oct 07 13:46:55 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Oct 10 13:09:46 2010 -0700"
      },
      "message": "Move binder magic from the Surface class to GraphicBuffer.\n\n- Register buffers with Gralloc when unflattening a GraphicBuffer (rather than\ndoing it in the Surface class).\n- Add support for a GraphicBuffer that wraps an android_native_window_t*.\n\nChange-Id: I029ac086111bbac800e5ca37eb505f558b718cd8\n"
    },
    {
      "commit": "4475c0edcc35b283a16c9b27033c8e83d8cf1496",
      "tree": "7fdd8129eacd267cb7d02636744b7fedea917310",
      "parents": [
        "02611a728036b283c1d46612a124498eebe8a840",
        "f10929fb350395c21edd2cba7641479afe75e750"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 12:53:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 12:53:39 2010 -0700"
      },
      "message": "am f10929fb: am a1bf0a06: Merge \"Minor fix for InputReader support for non-touchscreen devices.\" into gingerbread\n\nMerge commit \u0027f10929fb350395c21edd2cba7641479afe75e750\u0027\n\n* commit \u0027f10929fb350395c21edd2cba7641479afe75e750\u0027:\n  Minor fix for InputReader support for non-touchscreen devices.\n"
    },
    {
      "commit": "d5da367024c36b317b101fc066a7a4cf992c7d58",
      "tree": "87cf98a6514557be5427c462349a0ee9deb9a9dd",
      "parents": [
        "bcf74accafcdac6c7a940ce28982fc0ef08e111b",
        "22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 12:52:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 12:52:40 2010 -0700"
      },
      "message": "am 22cb4ef8: am d577cfd7: Merge \"Switch Looper back to using poll() instead of epoll().\" into gingerbread\n\nMerge commit \u002722cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5\u0027\n\n* commit \u002722cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5\u0027:\n  Switch Looper back to using poll() instead of epoll().\n"
    },
    {
      "commit": "4c0c81a30733ba677c16db14a54349d80c642b5b",
      "tree": "20ed836a93c32f1d1453ad6ae183409aff7c1abc",
      "parents": [
        "c4e43d80b3cc026f7b7084de60de5c0b7d358720",
        "5a6d7ac2bdf70fdf571750979ea05972fc293f98"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Sat Oct 09 00:21:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 09 00:21:56 2010 -0700"
      },
      "message": "Merge \"Remove pragma for RS export variables.\""
    },
    {
      "commit": "c4e43d80b3cc026f7b7084de60de5c0b7d358720",
      "tree": "a611c5c34fb1482e4ecf64298ef39fa634ac4c30",
      "parents": [
        "7ea6ebe73a8a69d9c026a24a820c881dbd59cbe7",
        "21b028a44f3e0bd9b0f0432b8b92c45f661d22a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:47:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 18:47:45 2010 -0700"
      },
      "message": "Merge \"Move GenerationCache to the utils directory.\""
    },
    {
      "commit": "21b028a44f3e0bd9b0f0432b8b92c45f661d22a4",
      "tree": "e337e7e38e6706c4bc9126cfef742521606e6a1d",
      "parents": [
        "2728f961614a385df1f056fc24803a9f65c90fab"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:43:58 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:44:56 2010 -0700"
      },
      "message": "Move GenerationCache to the utils directory.\n\nChange-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6\n"
    },
    {
      "commit": "b154dfe757a533b5359467472a830b083a6b52ae",
      "tree": "617421f0c2aec93dbc755dafa9aa00108b1aeeeb",
      "parents": [
        "e1199e382f875ca6a41ba4991b3e5c3d784729ba",
        "2728f961614a385df1f056fc24803a9f65c90fab"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:39:04 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 18:39:04 2010 -0700"
      },
      "message": "Merge \"Don\u0027t update 9patches on every frame.\""
    },
    {
      "commit": "2728f961614a385df1f056fc24803a9f65c90fab",
      "tree": "c09ff5c42f949f4b9e76e197108cc5a506113ca3",
      "parents": [
        "8550c4c7b5952b7a4e1e0ede95c9492d03099a13"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:36:15 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:36:57 2010 -0700"
      },
      "message": "Don\u0027t update 9patches on every frame.\n\nChange-Id: I7ffb2365f83e0453e7d0a0cdcb3fc9308b305238\n"
    }
  ],
  "next": "5a6d7ac2bdf70fdf571750979ea05972fc293f98"
}
