)]}'
{
  "log": [
    {
      "commit": "1ccc6633bf47c95601cc13a2566c702bb8d986cd",
      "tree": "d12af54786f61168ceef1f3fd9f3ad1ab4e2a3f7",
      "parents": [
        "ad0cab26a7abb0b6d08e5a807bf8aff87db0a52a",
        "9e6d8f04940fd710ae858ff7ee4df43eb03ea85e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Tue Nov 26 12:32:22 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 26 12:32:22 2013 -0800"
      },
      "message": "am 9e6d8f04: Merge \"Adding operations to reflected Renderscript class\"\n\n* commit \u00279e6d8f04940fd710ae858ff7ee4df43eb03ea85e\u0027:\n  Adding operations to reflected Renderscript class\n"
    },
    {
      "commit": "9e6d8f04940fd710ae858ff7ee4df43eb03ea85e",
      "tree": "0127f0d37eb6d8b6776fc2355bb2c57172de9d70",
      "parents": [
        "99ef026f48948f281467fcf4ce7ebbe15630ad45",
        "6a5875cf96a6eebf4ef2e176176868ecbf17122f"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Tue Nov 26 20:23:44 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 26 20:23:44 2013 +0000"
      },
      "message": "Merge \"Adding operations to reflected Renderscript class\""
    },
    {
      "commit": "134631b9078df0b9277fb3b8319bf3b85f690727",
      "tree": "aedd24ccc1b8759184cf87e38936367bbc612633",
      "parents": [
        "6bb9588d767822a70823319170160ceb28c583f2",
        "90242fe5581c8f665c09337a0971a7c3fc908f7c"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Nov 07 16:22:22 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 07 16:22:22 2013 -0800"
      },
      "message": "am 90242fe5: Merge \"Switch to the new Skia PDF generation APIs.\" into klp-dev\n\n* commit \u002790242fe5581c8f665c09337a0971a7c3fc908f7c\u0027:\n  Switch to the new Skia PDF generation APIs.\n"
    },
    {
      "commit": "90242fe5581c8f665c09337a0971a7c3fc908f7c",
      "tree": "2cbcc6d5f5ec60c53ecd34f72036c00bce6c03e5",
      "parents": [
        "e81f9755d914b5b87f18e5ed201a4903dc09baa6",
        "35aacf2eb325d24c67d01f4dbd706ed26ab9e8c3"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 08 00:20:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 08 00:20:10 2013 +0000"
      },
      "message": "Merge \"Switch to the new Skia PDF generation APIs.\" into klp-dev"
    },
    {
      "commit": "35aacf2eb325d24c67d01f4dbd706ed26ab9e8c3",
      "tree": "659b0de968eb7d62a6e6aea8ac290b5d3ee3b3b0",
      "parents": [
        "c157cac9b2827a4eeb0ea29209fbb879a6076de4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Nov 06 18:22:13 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Nov 07 14:15:19 2013 -0800"
      },
      "message": "Switch to the new Skia PDF generation APIs.\n\nThe new Skia PDF generation APIs are a small extension to\nthe code that converts drawing commands to PDF (SkPDFDevice)\nand this new functionality is exposed via new APIs. This\nchange switches to using these new APIs allowing us to\ncapitalize on the new perspective support for PDF\ngeneration.\n\nbug:11561776\n\nChange-Id: Ief61f7ff6a5a22c27d3acbe99a48910cb679f594\n"
    },
    {
      "commit": "e34c477060bf7e212177029598bea0b04adc6f80",
      "tree": "d5f82e879fbb47e1b1164963af06e6b26d391179",
      "parents": [
        "f1612bcfdd2cb517948f14369fd0977ceb55d19c",
        "435c0ee10af132937dc0a22c39380624e6efd5ab"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Nov 07 11:21:03 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 07 11:21:03 2013 -0800"
      },
      "message": "am 435c0ee1: Merge \"Fix bug #11537133 Hideycling looks broken (KOT36), missing left padding\" into klp-dev\n\n* commit \u0027435c0ee10af132937dc0a22c39380624e6efd5ab\u0027:\n  Fix bug #11537133 Hideycling looks broken (KOT36), missing left padding\n"
    },
    {
      "commit": "435c0ee10af132937dc0a22c39380624e6efd5ab",
      "tree": "b1cf2fbb4a9f06cdc247edcfba96bff51aa5b6f0",
      "parents": [
        "e8c51298a43f607fea7418ced7cc783e6065fe87",
        "f7a93ef3847258157d144dfefaa5757128cc807d"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Nov 07 19:17:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 07 19:18:00 2013 +0000"
      },
      "message": "Merge \"Fix bug #11537133 Hideycling looks broken (KOT36), missing left padding\" into klp-dev"
    },
    {
      "commit": "badb59cd5d2a2905494964889f002a277211000a",
      "tree": "a05d5d3810c71a7ce4f5a631057eef39665e54c8",
      "parents": [
        "c565583384952007f37e090fb354d232f407bd31",
        "47feee535f9e4e77165b93b6b9f10379e7aa4bbd"
      ],
      "author": {
        "name": "Newton Allen",
        "email": "newt@google.com",
        "time": "Thu Nov 07 05:19:12 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 07 05:19:12 2013 +0000"
      },
      "message": "am 47feee53: Merge \"Fix some documentation typos.\" into klp-docs\n\n* commit \u002747feee535f9e4e77165b93b6b9f10379e7aa4bbd\u0027:\n  Fix some documentation typos.\n"
    },
    {
      "commit": "f7a93ef3847258157d144dfefaa5757128cc807d",
      "tree": "c9836a9e7aa1b367a7d5ea51aad8f7fee32cb501",
      "parents": [
        "be0b05a028ebc1b49ed32b79d53af384106c31a3"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Nov 06 15:32:01 2013 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Nov 06 15:32:01 2013 -0800"
      },
      "message": "Fix bug #11537133 Hideycling looks broken (KOT36), missing left padding\n\n- enforce the Drawable boolean getPadding(Rect) contract for NinePatchDrawable\nand DrawableContainer.\n\n- as NinePatchDrawable was not enforcing it, the consequence was that the\nmUserPaddingLeftInitial / mUserPaddingRitghInitial were reset to \"0\" (even\nif they got the correct value before the reset).\n\nChange-Id: I1efe7fad5f89c0ca47f90189f6d89940e0e9c6ae\n"
    },
    {
      "commit": "47742d4bb004a51c045d443024a36d784cd38d9b",
      "tree": "aa450e84607513558906e50ab6275c4dfc2f542f",
      "parents": [
        "e77d2a9c62e747902bc53d40e303214705702b00",
        "222f2ad294c9046b62af5e059f8b409aec044ce9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 06 23:23:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 06 23:23:56 2013 +0000"
      },
      "message": "Merge \"Fix NPE with inPurgeable Bitmaps in getAllocationByteCount\" into klp-dev"
    },
    {
      "commit": "222f2ad294c9046b62af5e059f8b409aec044ce9",
      "tree": "83c65f8b1f0572295a6a3823294631258f86f719",
      "parents": [
        "194271565399a9216b8e0dece118874fc5f7e474"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 06 14:01:28 2013 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 06 14:01:28 2013 -0800"
      },
      "message": "Fix NPE with inPurgeable Bitmaps in getAllocationByteCount\n\nbug:11556330\nChange-Id: I430136ea15baeb60adfb9bb2acdde9505ce707fe\n"
    },
    {
      "commit": "9d383ece52620b0358bcfae7f2102b64acd1d5cb",
      "tree": "23a545e2b6bc53ec5829c37a3d227aa5ea3d0518",
      "parents": [
        "6fbd4829a9614f0d6c668cd5ccba6cabdaeb81a0",
        "f68bb66c6ec239790ba18b8d078eb7ab4894fdc3"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 06 02:29:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 06 02:29:20 2013 +0000"
      },
      "message": "Merge \"Fix recent regression in DrawableContainer.\" into klp-dev"
    },
    {
      "commit": "be0b05a028ebc1b49ed32b79d53af384106c31a3",
      "tree": "79ff7102f438c8cb61e1cb1eb80e6aae453fcad9",
      "parents": [
        "4653837b78b7da950e7827598baabc79be1aa4ca",
        "e1693df494dbdedfb5eac56bf59f86afc893b778"
      ],
      "author": {
        "name": "Adam Koch",
        "email": "akoch@google.com",
        "time": "Wed Nov 06 01:13:44 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 06 01:13:44 2013 +0000"
      },
      "message": "Merge \"Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag. Bug: 6064760\" into klp-dev"
    },
    {
      "commit": "f68bb66c6ec239790ba18b8d078eb7ab4894fdc3",
      "tree": "7e5f7fe91eb18f538856aa883f32c0d86b0fc8dd",
      "parents": [
        "65d4a84b980583e068dd21bf11e5fe034df8d7ef"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 05 17:45:33 2013 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 05 19:15:41 2013 -0500"
      },
      "message": "Fix recent regression in DrawableContainer.\n\nEnsure optical insets are never null.\n\nBug:11537082\nChange-Id: Ib75be83909fac612ae947f501835285cd8a79862\n"
    },
    {
      "commit": "e1693df494dbdedfb5eac56bf59f86afc893b778",
      "tree": "1d8da930d22900c98a03e6d135ac99ad512e8b19",
      "parents": [
        "c880c27e63590c94ca3a43235574697ce0df043d"
      ],
      "author": {
        "name": "Adam Koch",
        "email": "akoch@google.com",
        "time": "Tue Nov 05 10:42:48 2013 -0500"
      },
      "committer": {
        "name": "Adam Koch",
        "email": "akoch@google.com",
        "time": "Tue Nov 05 16:00:09 2013 -0500"
      },
      "message": "Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag.\nBug: 6064760\n\nChange-Id: I3fd833a3205be451ff6548fab3555d170c9c570e\n"
    },
    {
      "commit": "f48bcd5b68613b0a4ff0162091047fb9465b5290",
      "tree": "15f167ec0177cda1315252ad2367c3419523f40c",
      "parents": [
        "cad157b370524782183de688bf97c9078c1c08da",
        "600d7dd1c6d9d1ff81b71085eff2a6be50d6f36c"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Nov 05 00:46:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 05 00:46:19 2013 +0000"
      },
      "message": "Merge \"Fix bug #11256076 Spinner text is too close from the opening triangle in RTL Locales\" into klp-dev"
    },
    {
      "commit": "ff236f5fc1a088b1210d37a67b0e88b06c0fbdb2",
      "tree": "4092fe0319950266e4fd5742dd62e5d32927760e",
      "parents": [
        "6934add2692ffbad8f299aaef80ee8d3f1f991d6"
      ],
      "author": {
        "name": "Newton Allen",
        "email": "newt@google.com",
        "time": "Tue Aug 13 11:22:32 2013 -0700"
      },
      "committer": {
        "name": "Newton Allen",
        "email": "newt@google.com",
        "time": "Fri Nov 01 02:38:01 2013 +0000"
      },
      "message": "Fix some documentation typos.\n\nChange-Id: I0360d468d54d970c87f313e24e50965245206f28\n(cherry picked from commit c502744f2ddcc80a34f5197b5d2c0d701c7d6e71)"
    },
    {
      "commit": "78da147d426c80baac63aeaf521f112d8c4c1d2d",
      "tree": "b1713593bc4f186810bded596db06018781ca006",
      "parents": [
        "73b5572f374d6c0e8e69f7387da9d1ff6ce144b8"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Oct 30 20:52:04 2013 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Oct 31 23:05:55 2013 +0000"
      },
      "message": "Update the PdfDocument docs with unsupported operations.\n\nThe PDF generating canvas we use does not yet support all\ndrawing operations. This change adds docs which operations\nare not yet supported.\n\nChange-Id: I8d5ee8c1e2a473ba783b5e62f23ab90a54bbf106\n(cherry picked from commit 8db45b844b5482cf61839404c0f6847e053de817)"
    },
    {
      "commit": "8db45b844b5482cf61839404c0f6847e053de817",
      "tree": "15269f70fa4558160b90d49243853d0b73aa28ba",
      "parents": [
        "334d98f1ece949414b94924a5bc852810e0bf367"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Oct 30 20:52:04 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 31 08:10:12 2013 -0700"
      },
      "message": "Update the PdfDocument docs with unsupported operations.\n\nThe PDF generating canvas we use does not yet support all\ndrawing operations. This change adds docs which operations\nare not yet supported.\n\nChange-Id: I8d5ee8c1e2a473ba783b5e62f23ab90a54bbf106\n"
    },
    {
      "commit": "6a5875cf96a6eebf4ef2e176176868ecbf17122f",
      "tree": "009b6a091811feaab8e3e2b39e3c28e00887aca4",
      "parents": [
        "a1b4d97b6920d3cd84fe19b07512a0de6996bb4c"
      ],
      "author": {
        "name": "Matthieu Delahaye",
        "email": "matthieu@multicorewareinc.com",
        "time": "Tue Sep 10 15:11:35 2013 -0500"
      },
      "committer": {
        "name": "Matthieu Delahaye",
        "email": "matthieu@multicorewareinc.com",
        "time": "Wed Oct 23 16:02:03 2013 -0500"
      },
      "message": "Adding operations to reflected Renderscript class\n\nRenderscript expose its native types back to the Android\nsystem through a set of classes defined within the renderscript\npackage. These classes provides no easy mean to manipulate\ndata they represent. It would be convinient to be able to manipulate\nthe data stored within an allocation via these classes directly\ninstead of having to marshall them into native Java objects.\n\nThis commit adds such operations to the existing exposed vector types.\n\nChange-Id: I1845df1368a82f0d39b36416c83938c7160f6a3f\n"
    },
    {
      "commit": "600d7dd1c6d9d1ff81b71085eff2a6be50d6f36c",
      "tree": "2282a60fc44a7e6af2460a36b7dea427490d3f6b",
      "parents": [
        "b5da7b23df5278a5e722b601eb8ef7e98537a51e"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Oct 16 13:16:00 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Oct 18 11:26:48 2013 -0700"
      },
      "message": "Fix bug #11256076 Spinner text is too close from the opening triangle in RTL Locales\n\nBackground Drawable padding was not taken into account in RTL Locales\n\n- make sure the Drawables are resolved before resolving padding\n- during padding resolution take care about background padding\n\nChange-Id: Ib0c722adf5341ab4fa2182a0d0ac2ca639e85cfc\n"
    },
    {
      "commit": "cd925885283396c0379ec2dcaa94e318993f40f8",
      "tree": "4f461ff3118c20640b4c921e07c86e48a423ab1e",
      "parents": [
        "6e19feb4f3da02916754636d3ade340dcd5412d5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 07 13:24:52 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:26:08 2013 +0000"
      },
      "message": "DO NOT MERGE: Hide new camera API.\n\nNot yet ready.\n\nBug: 11141002\n\nChange-Id: I4704bffb9ba36af47a66dc5b49cbba00be623aae\n"
    },
    {
      "commit": "31049d76c55b18a6d9993f0d9687598740b16014",
      "tree": "79bf629079bfc443f3c00597912e415d92636200",
      "parents": [
        "dbc31105bda3591d64e4d3e2abb3b3eaf857222e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 07 12:58:42 2013 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Oct 07 16:14:17 2013 -0700"
      },
      "message": "Use SCREEN Xfermode for keyguard badges; update SeekBar\n\nPlumb through the necessary API features through Drawables and\nImageView but leave it hidden for now pending future API review and\nplumbing through the rest of the framework Drawable implementations.\n\nUpdate SeekBar assets used for keyguard transport control.\n\nSet selected status directly instead of finding views by id.\n\nBug 10531608\nBug 10784913\n\nChange-Id: Ia38bd04ad1bc26e9e6da1dda8a374c9ba3ceccb3\n"
    },
    {
      "commit": "d0f379c1976c600313f1f4c39f2587a649e3a4fc",
      "tree": "367e1eba6b813b5ccf77af90c3a9f5320205bd2a",
      "parents": [
        "00fb27dda8c74229ea55b524063410842ba4a21e"
      ],
      "author": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Wed Oct 02 10:37:49 2013 -0400"
      },
      "committer": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Mon Oct 07 21:04:47 2013 +0000"
      },
      "message": "Preserve fill type in Path.reset().\n\nBug: 10838355\nChange-Id: I7bdecb945fc35dfed02d37745678ae7bda906628\n"
    },
    {
      "commit": "ee3e1603fdbbe24b0cbf3cb85c456696cf3b7941",
      "tree": "467d523ed0b15730db64007b622442dc4faae0bd",
      "parents": [
        "7aa7601c09ab5d87cc15a0ed9a8f511d494a4cbc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 01 15:32:13 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 01 16:03:00 2013 -0700"
      },
      "message": "Fix animations, padding in RTL mode.\n\nShow directory animations coming in from left-side when in RTL\nlanguage.  Also fix NinePatchDrawable to correctly mirror its padding\nwhen auto-mirrored, and fix InsetDrawable to propagate the layout\ndirection to the wrapped Drawable.\n\nBug: 10987190, 11030793\nChange-Id: I1213802a07d0c4ced93438df1e6ddf5aed3df677\n"
    },
    {
      "commit": "a4eb894a55b07eeddb05d47558e6b2838d56af08",
      "tree": "8af8628376606f7d2d5c8003faff8fe4c1cada6e",
      "parents": [
        "4e9c7d8ba3caa8b558e2a1de796c100a562445ae",
        "8dc7d5ea2680b7e397d2cdb7f83427d2c86c9de7"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Sep 26 21:40:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 21:40:55 2013 +0000"
      },
      "message": "Merge \"clarify Paint flag docs\" into klp-dev"
    },
    {
      "commit": "8dc7d5ea2680b7e397d2cdb7f83427d2c86c9de7",
      "tree": "13fb96a653a989ebcaaf49032b334169bb8d2576",
      "parents": [
        "bc05918c88fe9450008ba3adf6caed6afa46550b"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Sep 24 15:57:02 2013 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Sep 26 13:40:47 2013 -0700"
      },
      "message": "clarify Paint flag docs\n\nBug: 10460797\nChange-Id: Iae622b302cad3dc788f512b472e3a59ec227a8d7\n"
    },
    {
      "commit": "321bc46b3c885a806f2e7e29db8212f7ea6c8670",
      "tree": "94edc5de405b39cedeebc0ce23fb4190ad8815b6",
      "parents": [
        "9ca833f4a5eca732b1618bc1a183215c21ae11e5"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Sep 25 17:49:45 2013 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Sep 25 18:02:32 2013 -0400"
      },
      "message": "Update docs to state that mark is no longer called.\n\nBUG:6493544\n\nChange-Id: I97a4d90ce2efcd12f8f1cc5b545f822f8e5a5ab0\n"
    },
    {
      "commit": "6811f4e92cbb64e72a0d13eb9b99b5894bd59c76",
      "tree": "5b0ebddf52a449b1ea84d91d6313e897a03e2b3e",
      "parents": [
        "f95c9aa7e1229963a4cb92eed46eafc205b03cb3"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Sep 18 15:58:28 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 19 17:12:47 2013 -0700"
      },
      "message": "Move PdfDocument to android.graphics.pdf\n\n1. Move PdfDocument to android.graphics.pdf.\n\n2. Changed the PdfDocument as per API concil request.\n\n3. Updated the documentation.\n\nbug:10461180\nbug:10552565\nbug:10681585\nbug:10552336\n\nChange-Id: I08e15b34cf37bb064248c887e6f59808019cafe8\n"
    },
    {
      "commit": "7315f1baee19476363235127bc1438e2a291fa15",
      "tree": "376c68ec739e970b66165d059cf8e1e8e6d86980",
      "parents": [
        "c255a7113a6a6b058f1b3b5b128fba1d24bbd3d9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Sep 10 20:26:05 2013 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Sep 18 12:01:20 2013 -0400"
      },
      "message": "Use a native buffer for decoding images.\n\nFixes BUG:10725383\n\nDepends on https://googleplex-android-review.git.corp.google.com/#/c/357300/\nin external/skia.\n\nIn the previous fix for BUG:8432093 and BUG:6493544\n(https://googleplex-android-review.googlesource.com/#/c/346191/),\ninstead of calling mark on the provided input stream, we\ncopied the entire stream in native code (except in one case;\nmore details below), allowing rewind no matter how much of\nthe stream had been read. This was because two decoders\nmay rewind after reading an arbitrary amount of the stream:\nSkImageDecoder_wbmp and SkImageDecoder_libjpeg.\n\nIt turns out that the jpeg decoder does not need this rewind\nafter arbitrary length (it is a failure recovery case, and\nlibjpeg has a default recovery we can use - the above referenced\nCL in Skia uses the default).\n\nAlthough the wbmp decoder could read any amount given a\nstream with the \"right\" data, and then return false, such a\nstream would not be a valid stream of another format, so it\nis okay for this rewind to fail.\n\nFurther, the previous fix was inefficient in the common case\nwhere the caller decodes just the bounds, resets, then decodes\nthe entire image (since we have copied the entire stream twice).\nThe copy also resulted in the crashes seen in BUG:10725383.\n\nIn this CL, buffer only the amount of input needed by\nSkImageDecoder::Factory to determine the type of image decoder\nneeded. Do not mark the input stream provided by the caller,\nso their mark (if any) can remain in tact. The new Skia class\nSkFrontBufferedStream allows buffering just the beginning\nof the stream.\n\ncore/jni/android/graphics/BitmapFactory.cpp:\nInstead of calling GetRewindableStream (which has been removed),\ncall CreateJavaInputStreamAdaptor. Then wrap it in an\nSkFrontBufferedStream, with a large enough buffer to determine\nwhich type of image is used.\n\ncore/jni/android/graphics/CreateJavaOutputStreamAdaptor.h:\ncore/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp:\nRemove mark, markSupported, and rewind. CreateJavaInputStreamAdaptor\nnow turns an SkStream which is not rewindable. If the caller\nneeds rewind that needs to be handled differently (for example,\nby using SkFrontBufferedStream, as is done in BitmapFactory and\nMovie.\nRemove RewindableJavaStream and GetRewindableStream.\nRemove code specific to ByteArrayInputStream, which makes slow\nJNI calls. Instead, depend on the caller to buffer the input\nin the general case. There is no reason to special case this\nstream (especially since we already have decodeByteArray).\nRemove CheckForAssetStream, which is now always special cased\nin Java.\n\ncore/jni/android/graphics/Movie.cpp:\nCall CreateJavaInputStreamAdaptor and use an SkFrontBufferedStream.\nAdd a native function for decoding an Asset, and remove old\ncall to CheckForAssetStream.\n\ngraphics/java/android/graphics/BitmapFactory.java:\nWrite a helper function for decoding a stream to consolidate\ncommon code.\nBuffer enough of the input so that SkImageDecoder::Factory\ncan rewind after having read enough to determine the type.\nUnlike the old code, do NOT mark the caller\u0027s stream. This is\nhandled in native code. The caller\u0027s mark (if any) is left alone.\n\ngraphics/java/android/graphics/Movie.java:\nCheck for an Asset stream before passing to native, and\ncall a native function for handling the asset directly.\n\nBUG:6493544\nBUG:8432093\nBUG:10725383\n\nChange-Id: Ide74d3606ff4bb2a8c6cdbf11bae3f96696f331a\n"
    },
    {
      "commit": "2cad64c0fbeba07bb546674e19cfb0166d7ec332",
      "tree": "7ec5d5625c648ea459f4c4ec17917dae633e26f2",
      "parents": [
        "444ae3a2e66b4404fa715ab46403da09079dd572",
        "a86ab640f7bb0bf3cb4eaed80473ca8c5d131903"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Sep 11 18:27:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 18:28:07 2013 +0000"
      },
      "message": "Merge \"Surface: Change OutOfResourcesException to be a runtime exception\" into klp-dev"
    },
    {
      "commit": "1d2daa7809b58c226410c0060d7837de0a29888a",
      "tree": "4000e44aec08a20f016f35f169b0c38d2e08ff0f",
      "parents": [
        "8716c08151378f7488a0f129fe43a0b3d4dc499d",
        "5835157d762a5b6bffe3d892c588ebc475bccb44"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Sep 10 16:25:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 10 16:25:14 2013 +0000"
      },
      "message": "Merge \"Remove FD optimization case for decodeStream\" into klp-dev"
    },
    {
      "commit": "e3d0f022826a2a16e64dc9b5353a2a514393881b",
      "tree": "b824856d1031967e15049caa65ad885fa76d9ea8",
      "parents": [
        "5f5e84770badd10c41fd4a2b01a9958a607eacd9",
        "88990da58d0231b5a1b9a27b32c37839e95c7487"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 10 05:23:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 10 05:23:15 2013 +0000"
      },
      "message": "Merge \"Don\u0027t set Allocation mSize when we have no Type.\" into klp-dev"
    },
    {
      "commit": "a86ab640f7bb0bf3cb4eaed80473ca8c5d131903",
      "tree": "472883eaf9edff25136902d4976f275c56218b41",
      "parents": [
        "ff44ed58a1e38ff830e74b0d73549ff01725852d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 30 12:58:36 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 09 21:53:59 2013 -0700"
      },
      "message": "Surface: Change OutOfResourcesException to be a runtime exception\n\n- Deprecates SurfaceTexture.OutOfResourcesException, it wasn\u0027t used\n- Make all JNI code throw only Surface.OutOfResourcesException\n- Get rid of redundant SurfaceControl.OutOfResourcesException\n\nBug: 10566539\nChange-Id: I58126260771b9ccff6a69c672ce7719b9f98138d\n"
    },
    {
      "commit": "88990da58d0231b5a1b9a27b32c37839e95c7487",
      "tree": "c76a81dd08bdc49b46be9956d3126b35db882dbf",
      "parents": [
        "6416729c4732be6bcdbc5f303752a9d1885f86d0"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Sep 09 17:56:07 2013 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Sep 09 17:56:07 2013 -0700"
      },
      "message": "Don\u0027t set Allocation mSize when we have no Type.\n\nBug: 10667740\n\nA3D creates Allocations before knowing the underlying Type (and thus size).\nMoving the mSize calculation to be conditional for concrete Allocations\neliminates the bug. In the future, we could let A3D dynamically update the\nAllocation size if it is necessary to improve heap behavior.\n\nChange-Id: I520246806b6ead0387a1a41372dade1a6e7c2271\n"
    },
    {
      "commit": "5835157d762a5b6bffe3d892c588ebc475bccb44",
      "tree": "2540b1359dc480b22094e81544a4dd84fdd333ed",
      "parents": [
        "23ae1461d2cf0ac3f1da71200544381a8d8a4957"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Sep 09 16:37:57 2013 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Sep 09 23:41:20 2013 +0000"
      },
      "message": "Remove FD optimization case for decodeStream\n\n Bug: 10677727\n The problem is that the FileInputStream may be wrapping a pipe or\n AssetFileDescriptor which fails if handed to decodeFileDescriptor.\n The problem is that AFDs can start in the middle of a file, whereas\n decodeFileDescriptor assumes it can mmap() the FD and start at\n the beginning.\n\nChange-Id: I98a3c5f789865145e25a99b32d205e290808c1cf"
    },
    {
      "commit": "440f4dfac89c113b41f1a7259306b90b0cde8768",
      "tree": "0ccdbf67e7fb766e346667befa1c3489fc8a52bb",
      "parents": [
        "bec23ea922566c4b1656deffe1b1951575ae923f",
        "5d2cace4c5445915c9ea040518c59d85cfcd6b4b"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Sep 09 22:55:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 09 22:55:35 2013 +0000"
      },
      "message": "Merge \"Fix pixel test\" into klp-dev"
    },
    {
      "commit": "5d2cace4c5445915c9ea040518c59d85cfcd6b4b",
      "tree": "08eb666d9163d1bf29ffbe628ce8abfdc4b150e4",
      "parents": [
        "bdd61696c6720faa14ca9fdf180e519138b3d087"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Sep 09 10:19:44 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Sep 09 10:19:44 2013 -0700"
      },
      "message": "Fix pixel test\n\nA deprecated format was dropped entirely.\n\nBug 10666734\n\nChange-Id: I6b64bd27db8965a1696d72387232b7de4bce6574\n"
    },
    {
      "commit": "352919efd02808f0d6222f7a2cc657f3455c2049",
      "tree": "2997f863cded7a022bd9156d4c0c6859d3f9884b",
      "parents": [
        "b8b017cb6879352aee015ba24e9bfd05cc094e74"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 06 18:45:51 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 06 18:52:22 2013 -0700"
      },
      "message": "Update doc for BitmapFactory.Options to include BitmapRegionDecoder\n\nbug:9987022\nChange-Id: I1a4e187e1c35a7758b70f69a0a25914597920e8f\n"
    },
    {
      "commit": "e8222dddaf2e3da14380101e818d4254899e0c0d",
      "tree": "082abae3fd483ef9cf6ea2ee5a9c2ee19363a08a",
      "parents": [
        "9e8bdc39bcdfc22d05edd5f4a0ca69cdffec4f34"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Sep 05 07:44:18 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Sep 05 08:44:33 2013 -0700"
      },
      "message": "Change build version from KEY_LIME_PIE to KITKAT\n\nIssue #10631619 Change build version to KitKat\n\nChange-Id: I6ad13f6169ad74204078d36929479998b498ad8b\n"
    },
    {
      "commit": "d2676f9bd93c333ae2c7f3ca284d0fef5a7e146b",
      "tree": "1b69726920d7644c38f5063220f59dbde1a25337",
      "parents": [
        "c5c203d6ef8eea46f1c06f52e3ebfcc59c304760",
        "932e78e9903342e3494983fd3463084caab4ba42"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Sep 05 07:36:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 05 07:36:43 2013 +0000"
      },
      "message": "Merge \"Add YUV element convenience function.\" into klp-dev"
    },
    {
      "commit": "932e78e9903342e3494983fd3463084caab4ba42",
      "tree": "2892ce127d617120c1e6acb6722103cc4d179a47",
      "parents": [
        "5c2dfa8a21e7bd4e07e00f268d30058b654aa099"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Sep 03 11:42:26 2013 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Wed Sep 04 16:15:45 2013 -0700"
      },
      "message": "Add YUV element convenience function.\n\nChange-Id: Ie67dfba6a4c4f1913875ad9817c53e45d56809ae\n"
    },
    {
      "commit": "e182bfd4dcf35d5009bcae72356b999b5ead0433",
      "tree": "7ce91470652881a7b3d9fd30da2d095ed489cb0d",
      "parents": [
        "a861245f06e854d47ff44155ebd3ac0e31c0cb2c",
        "9622adf6e8028aebd57213371c4f2c6c26fc63e5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 23:32:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 03 23:32:33 2013 +0000"
      },
      "message": "Merge \"Prevent NPE when cloning gradients Bug #10436856\" into klp-dev"
    },
    {
      "commit": "9622adf6e8028aebd57213371c4f2c6c26fc63e5",
      "tree": "9b2cca35eb3b335998bc4c88d5b9c35409b82598",
      "parents": [
        "25ba1c86945a441428194d9ebcabbf31be75a45a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 16:08:00 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 16:08:00 2013 -0700"
      },
      "message": "Prevent NPE when cloning gradients\nBug #10436856\n\nChange-Id: I98cbce941a06842112b8caa3753a3fa32b227da9\n"
    },
    {
      "commit": "3e8105e212e65005c0ef0ecc345b47eb0bf129bd",
      "tree": "10d9cdb1e4f8e4a9a122a912d79c3641ddb50b1d",
      "parents": [
        "59f6b510569a4c70c43c5b9b80fa70d5a28d99f0",
        "25ba1c86945a441428194d9ebcabbf31be75a45a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 21:41:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 03 21:41:39 2013 +0000"
      },
      "message": "Merge \"Update Bitmap.Config.ARGB_4444 documentation Bug #10510122\" into klp-dev"
    },
    {
      "commit": "25ba1c86945a441428194d9ebcabbf31be75a45a",
      "tree": "df779e4383b091162e10a6737324d7181ba99ee3",
      "parents": [
        "5d923200846ed59e813373bde789d97d4ccc40b5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 11:50:23 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 03 11:50:23 2013 -0700"
      },
      "message": "Update Bitmap.Config.ARGB_4444 documentation\nBug #10510122\n\nARGB_4444 is deprecated and always replaced with ARGB_8888.\n\nChange-Id: I0da96216af701a7df00ad35913066fbfa997d790\n"
    },
    {
      "commit": "a49e89d2288827e2c96bc006e1e4893d22b41f3b",
      "tree": "d7883db11fbdea690ee541473ab0b71e638daa8d",
      "parents": [
        "6b115980483ec20cc3f7817c76dfea18c49a48f3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Aug 29 17:00:37 2013 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Aug 29 17:00:37 2013 -0700"
      },
      "message": "Cleanup API typo\n\nbug 10548782\n\nChange-Id: I3654b7d1f8ea10eb51006804248cc2a7d20eabb0\n"
    },
    {
      "commit": "6b115980483ec20cc3f7817c76dfea18c49a48f3",
      "tree": "62222f74ca0b127c46848d76a7a551d47e2e7e95",
      "parents": [
        "a78d9a24d97818a6c9c071483d7854b560ecf228",
        "42ef238208679813daa204bf110f776ab02c2beb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Aug 29 21:24:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 21:24:28 2013 +0000"
      },
      "message": "Merge \"Unhide USAGE_IO_INPUT functions\" into klp-dev"
    },
    {
      "commit": "42ef238208679813daa204bf110f776ab02c2beb",
      "tree": "0b81e5e6aeb08a7f89c128a384cb26c7a133d8d0",
      "parents": [
        "6b223c6a5be788ca28d5d911ab10650be673684b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Aug 29 13:30:59 2013 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Aug 29 13:30:59 2013 -0700"
      },
      "message": "Unhide USAGE_IO_INPUT functions\n\nChange-Id: I9c1a7e5d65adee133b99b9a94729ab0b3d5a097f\n"
    },
    {
      "commit": "4b2993123bf9a1c56d0a16b032612834dd418520",
      "tree": "abdb0c257f0862c32b7f1b509e8073ca41669a85",
      "parents": [
        "7be3a138d57713bbe6d624998620081807e65b71",
        "ca32021b43f326af7d3f4ae041f8db297f98a518"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Aug 29 17:12:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 17:12:01 2013 +0000"
      },
      "message": "Merge \"Replace stream wrap-function w/ more specific ones\" into klp-dev"
    },
    {
      "commit": "4d971c1fa0c71400ff1e843b8d8b4826d0aece16",
      "tree": "714e52e4573998becfffeb171427c32f82e690e6",
      "parents": [
        "107e2d418b335263da01aaa9bafb69475e79d7f7"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 28 10:24:12 2013 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 28 10:24:12 2013 -0700"
      },
      "message": "Set alpha channel correctly when recomputing gradient\n\nThe alpha channel is applied by modulateAlpha(). Setting it to\nmAlpha in ensureValidRect() locked the maximum alpha channel to\nwhatever value was set before layout. Setting it to BLACK\nensures it can be modulated later.\n\nBUG: 10514848\nChange-Id: If7a824410a66f1e9b648e20ee627bdf99a42ae78\n"
    },
    {
      "commit": "ca32021b43f326af7d3f4ae041f8db297f98a518",
      "tree": "95c04e5b699d34181a2fc2f4e866bc2759250fdb",
      "parents": [
        "fead1290d74492af5fdf3dcb6739fbd1898dc239"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Aug 20 17:59:39 2013 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Aug 27 15:28:58 2013 -0400"
      },
      "message": "Replace stream wrap-function w/ more specific ones\n\nThe current stream wrapper returns a potentially incorrect\nvalue for a call to getLength(), is typically copied into\nanother stream (not always in the same way), and doesn\u0027t\nalways take advantage of its underlying data (like when it\nis an Asset). The overall goal of this CL is to provide the\ncaller with something that is ready to use, depending on\nwhat is asked for. If a copy is desired, the copy is made\nbefore being returned to the caller.\n\ncore/jni/android/graphics/Bitmap.cpp:\n\n    Include SkStream.h, since it is no longer included by\n    CreateJavaOutputStreamAdaptor\u0027s header file.\n\ncore/jni/android/graphics/BitmapFactory.cpp:\n\n    Pass an SkStreamRewindable to decoding functions, as Skia\n    decoders will be updated to only take an SkStreamRewindable\n    (which makes more sense because they require rewinding).\n\n    Call the more specific GetRewindableStream to get a\n    rewindable stream.\n\n    Remove copyAssetToStream which has been moved to Utils.\n\n    In nativeDecodeAsset, pass forcePurgeable as allowPurgeable\n    in doDecode. Technically the old code worked, but it checked\n    the BitmapOptions again.\n\n    Remove getFDSize, which is no longer used.\n\ncore/jni/android/graphics/BitmapRegionDecoder.cpp:\n\n    Remove redundant buildSkMemoryStream. nativeNewInstanceFromStream\n    now calls CopyJavaInputStream, which handles the copy.\n\n    Copy the Asset directly, using common code, rather than creating\n    an AssetStreamAdaptor to copy.\n\ncore/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp:\ncore/jni/android/graphics/CreateJavaOutputStreamAdaptor.h:\n\n    Provide new interfaces to access data from a Java InputStream.\n    The new interfaces are more specific about what type of stream\n    is desired.\n\n    Use forward declarations where possible.\n\n    Remove doSize, which gives a misleading answer to the question\n    of how long the entire stream is.\n\n    TODO: Only call FindClass etc once.\n\ncore/jni/android/graphics/Movie.cpp:\n\n    Check for an asset stream, and use it if possible. Then call\n    GetRewindableStream if there is not an asset.\n    Remove the memory leak. Call DeleteLocalRef to delete the\n    allocated memory.\n\ncore/jni/android/graphics/Picture.cpp:\n\n    Call the new interface.\n\ncore/jni/android/graphics/Utils.cpp:\ncore/jni/android/graphics/Utils.h:\n\n    Make AssetStreamAdaptor inherit from SkStreamRewindable so it\n    can be passed to Skia decoding functions once they require it.\n\n    Add CopyAssetToStream (moved from BitmapFactory.cpp) so it can\n    be used by multiple files.\n\ngraphics/java/android/graphics/BitmapFactory.java:\n\n    Remove the call to mark, which is now done natively.\n\n    Remove the BufferedInputStream. Mark/reset is now handled\n    by native code.\n\n    Allow decodeStream to handle a FileInputStream by using the\n    FileDescriptor, if it is seekable. In decodeFileDescriptor,\n    call nativeDecodeStream instead of decodeStream so this new\n    functionality will not loop.\n\n    Call setDensityFromOptions in decodeFileDescriptor.\n\ngraphics/java/android/graphics/BitmapRegionDecoder.java:\n\n    Remove the BufferedInputStream. Mark/reset is now handled\n    by native code.\n\nTODO: ADD TESTS!\n\nRequires https://googleplex-android-review.googlesource.com/#/c/344317/\n\nBUG\u003dhttps://b.corp.google.com/issue?id\u003d8432093\n\nChange-Id: I4419b70b3482325c98ecc673dbfc4613f1b18581\n"
    },
    {
      "commit": "c264e0440076ccca4be6ec66e33bcd7f8a1ae5b3",
      "tree": "51618ff35364eefaa3caca26631b29805ea3ca1d",
      "parents": [
        "5de1faca166e2241cf9ad1981007caa947a1fc1b",
        "2f2472c42be8e80f00019594036744d902e09dcb"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Aug 23 23:40:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 23 23:40:48 2013 +0000"
      },
      "message": "Merge \"Add garbage collection hooks\" into klp-dev"
    },
    {
      "commit": "2f2472c42be8e80f00019594036744d902e09dcb",
      "tree": "2f36a019cf92994293e66cd54b897ae04c7f4e1d",
      "parents": [
        "2365745855ac4725949ebe9bae72fdc0613bb94f"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Aug 22 14:55:26 2013 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Aug 23 13:35:19 2013 -0700"
      },
      "message": "Add garbage collection hooks\n\nbug 10428172\n\nChange-Id: I6365aa58bbc99aa134e1f261a5819e07a7d70fb0\n"
    },
    {
      "commit": "1abf5d62429e5a9329520b2f7c2b5a5e7a8e72ec",
      "tree": "4c49fb0d025ab4232a399f707141bb4357c827c9",
      "parents": [
        "b4f6a01d51612b9e50dffd95905e9c9add79b5d8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 16 12:47:03 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Aug 20 18:29:33 2013 -0700"
      },
      "message": "Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap\n\nbug:2248948\n\nChange-Id: I8fdd649332667598504a1076d5a447572bd53086\n"
    },
    {
      "commit": "9fac8a6a4a47bf7b72d6c759c6f605b1806f925a",
      "tree": "8efc3268665a61fb42e967d70f79072f1b5c38b4",
      "parents": [
        "e9d372a1fa6af81cff038d7da60e4d67e54f71d3",
        "ccadaf1eb48c70a3eb5722ecbd0144d165bcd963"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 00:36:45 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 21 00:36:45 2013 +0000"
      },
      "message": "Merge \"Renderscript: Allow YUV_420_888 as a YUV type.\" into klp-dev"
    },
    {
      "commit": "ccadaf1eb48c70a3eb5722ecbd0144d165bcd963",
      "tree": "f03ca34f9b11e54b1f2a458b71603789bf363003",
      "parents": [
        "43e56c4a911c8d192b3e8cc1c6de664e8755cb73"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 14 10:36:30 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 14 10:40:30 2013 -0700"
      },
      "message": "Renderscript: Allow YUV_420_888 as a YUV type.\n\nChange-Id: I1ed731103a49a814f9a049ecd01be98261b6d06b\n"
    },
    {
      "commit": "be925721a5eef487a70baa8b0905e423c639e176",
      "tree": "48d7174fa9b278b5b2cf181a2a308500b60e5ae8",
      "parents": [
        "ca2fb9158e104ac88c8014e1273fd4554e1acd23"
      ],
      "author": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Wed Aug 14 13:13:30 2013 -0400"
      },
      "committer": {
        "name": "Mike Klein",
        "email": "mtklein@google.com",
        "time": "Wed Aug 14 13:13:51 2013 -0400"
      },
      "message": "Remove comment that\u0027s only relevant for the underlying SkMatrix.  Matrix has constructors.\n\nbug: 8470620\n\nChange-Id: I00063dc03f752955c27c73e9c59b0496a1795924\n"
    },
    {
      "commit": "7fbbc3c9c3dc25c2bc78bba6fd267bfd99c96b2b",
      "tree": "d31b7e4d182ea124aabfe4d78715b4d932a31dea",
      "parents": [
        "b15b446f420b3ec69424dabcbcbc8cf019d6c8d6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 13 10:37:25 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 13 10:37:25 2013 -0700"
      },
      "message": "Camera.applyToCanvas() now works with hardware canvases\n\nChange-Id: I7f06b2a74ccc1941d51e12a0417028e094c1b669\n"
    },
    {
      "commit": "790552b240c05d58407f7c14acba656b2e85c523",
      "tree": "b878263a391fa29323a3701e105d8e395fa08468",
      "parents": [
        "719c44e03b97e850a46136ba336d729f5fbd1f47"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 12 11:10:27 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 12 11:10:27 2013 -0700"
      },
      "message": "Update Bitmap.createBitmap() documentation\n\nChange-Id: Ic2efed6cc03c8b2c2d9810b7ab645b0b98b91e1f\n"
    },
    {
      "commit": "5af4edef084f4d3f94af71acca53c68929e82008",
      "tree": "ae0cf0a73f0f856ba0841691dce2ca5427b99e5e",
      "parents": [
        "5893a97cbf398ca3e1bff5444454343d94e25a4c",
        "41207bce2a13c77bf03a05524ba3b3c59f486cc0"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Aug 09 18:11:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 09 18:11:33 2013 +0000"
      },
      "message": "Merge \"Fix bug #10205316 CTS (KLP): android.graphics tests are failing\" into klp-dev"
    },
    {
      "commit": "003123004f7b23b3dc472d5c40b8c1a16df37a54",
      "tree": "974c2608d0f3f2477acb6da24b9a935f44952033",
      "parents": [
        "37ee68fc091f64e17c0ef29b123b782b6daecf16"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 08 19:11:20 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 09 03:52:29 2013 +0000"
      },
      "message": "Remove an unnecessary allocation\n\nAlso remove dead code from OpenGLRenderer.cpp\n\nChange-Id: I7eb54ca19e77ee3c32f1fe9513a031e6b2e115cf\n(cherry picked from commit 5c7d5ab878b26f855175a3305a14ac12fcacf25e)"
    },
    {
      "commit": "41207bce2a13c77bf03a05524ba3b3c59f486cc0",
      "tree": "31362f8e5a466c91c83bd44c822ea3e9ae262d39",
      "parents": [
        "89d16f7597d9e03bf3cf9eb1ba91b590ab1ac892"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 08 19:11:34 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 08 19:11:34 2013 -0700"
      },
      "message": "Fix bug #10205316 CTS (KLP): android.graphics tests are failing\n\n- fix null Shader case during copy\n\nRelated to https://googleplex-android-review.googlesource.com/#/c/336815/7\n\nChange-Id: I920d6bb181ddb92d6f771e5060fd1858430e71ad\n"
    },
    {
      "commit": "667fe1039feae068d3333de8fb7115313f4a517b",
      "tree": "cbe42efc3390b4f8bce6854573d7073e698b2dae",
      "parents": [
        "f6971c80fd413cad8e5333cd3184f41fcf64e14b"
      ],
      "author": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Fri Aug 02 15:28:31 2013 -0700"
      },
      "committer": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Thu Aug 08 17:22:48 2013 -0700"
      },
      "message": "Refactor Canvas.drawPicture() to delegate to Picture\n\nBug: 9814370\n\nTo allow WebView.capturePicture() to return a subclass, we need to\nensure the subclass is always consulted when being drawn into a canvas.\n\nChange-Id: Ia0357f95b6fafb3ac81e6bcfaef05739e619897a\n"
    },
    {
      "commit": "52a9a10b6b8c7b7a9f97777541841b94d4fd9754",
      "tree": "aaf72e50f157c69abc8be70991c16e93bef47fc4",
      "parents": [
        "0dff7064897afd4e07993bac28ae877aaeb1b5e3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 02 01:38:38 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 13:07:42 2013 -0700"
      },
      "message": "Clearly separate consumer and producer interfaces\n\nBug: 9265647\nChange-Id: Ic68e91788d0a05251e1d2fb9f9d4de403c7099bf\n"
    },
    {
      "commit": "f2ce9f994a0dba5e3d97b5d4ae97eddb0008b7b5",
      "tree": "996e5051375762b9b24f04ea788d6ec06f660b7d",
      "parents": [
        "f7d280396c3ae4d76915cadeb29df556d6cd8d38",
        "eab8e18d8f6f34a9d35fbb120148956789ad48a2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 05 11:10:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 05 11:10:06 2013 -0700"
      },
      "message": "am eab8e18d: am 8a736129: Merge \"If graphics wants ASCII lowercasing, it needs to ask for it.\"\n\n* commit \u0027eab8e18d8f6f34a9d35fbb120148956789ad48a2\u0027:\n  If graphics wants ASCII lowercasing, it needs to ask for it.\n"
    },
    {
      "commit": "eab8e18d8f6f34a9d35fbb120148956789ad48a2",
      "tree": "4a4922eba29897176d62632b920a71b747c8fe90",
      "parents": [
        "c8911ddd486776662e09a6822d4929074d40024d",
        "8a736129faa9e41b5f33c42bbeae1f68cb42d38f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 05 11:07:13 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 05 11:07:13 2013 -0700"
      },
      "message": "am 8a736129: Merge \"If graphics wants ASCII lowercasing, it needs to ask for it.\"\n\n* commit \u00278a736129faa9e41b5f33c42bbeae1f68cb42d38f\u0027:\n  If graphics wants ASCII lowercasing, it needs to ask for it.\n"
    },
    {
      "commit": "b7645acfd929911adeeea44334a3168dd0a0cf8b",
      "tree": "277d7cc491f28b9fb8ca9bbbd7f253cf0919ece5",
      "parents": [
        "111fd86c7a60c069ec54a398130701211342fdcd",
        "7a600ff65fa79696a2668c7d33101b6ac6696f04"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 02 23:43:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 23:43:54 2013 +0000"
      },
      "message": "Merge \"graphics: Update ImageFormat#YUV_420_888 javadoc\""
    },
    {
      "commit": "7a600ff65fa79696a2668c7d33101b6ac6696f04",
      "tree": "5a338d417d4bbf41a97a25ade2f7df8858065c78",
      "parents": [
        "b8fc83f3ac7b26e9f98c80919c935458a9a540fb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jul 31 16:46:10 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 02 16:39:03 2013 -0700"
      },
      "message": "graphics: Update ImageFormat#YUV_420_888 javadoc\n\n* Make it clear that the Y-plane is not interleaved for YUV_420_888\n* Make it clear that the U/V plane have the same stride\n* Make it clear what the order of Y/U/V planes is\n\nChange-Id: Id85d7c68e84382149dbf0e8b4e965ba2988326fe\n"
    },
    {
      "commit": "aeb60fb86fc572500239c6f6684d1eb71e3ae35b",
      "tree": "5d3d16485a73fe2aba3776c49404c290d24014f5",
      "parents": [
        "c67b2ed50226c4758d0fc1434d39f6add6a0a533"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 02 09:31:11 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 02 09:31:11 2013 -0700"
      },
      "message": "If graphics wants ASCII lowercasing, it needs to ask for it.\n\nhttp://elliotth.blogspot.com/2012/01/beware-convenience-methods.html\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58359\nChange-Id: I13c106985302335dbb15bb9176d35ec6b4546d4e\n"
    },
    {
      "commit": "3f5a90b2fbba2a83a8a2c5babd5d466a5e0ad2aa",
      "tree": "666fee2554ad0f795380960d425606804e8b7ede",
      "parents": [
        "851761574a775c6447ab2393d1ba42568ba08c1b"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Jun 24 19:22:25 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 01 15:15:10 2013 -0700"
      },
      "message": "Add automatic Drawable mirroring capability when in RTL layout direction\n\n- default value is \"no mirroring\"\n- introduce android:autoMirrored as a new attribute for Drawable,\nBitmapDrawable, LayerDrawable, StateListDrawable and NinePatchDrawable\n- setting android:autoMirrored\u003d\"true\" means that the drawable will\nbe mirrored when the layout direction is RTL (right-to-left)\n- also fix an issue with ImageView drawable layout direction not\nupdated correctly when RTL properties were changed\n\nSee bug #7034321 Need Drawable RTL support\n\nChange-Id: If595ee5106c786f38e786d3a032e182f784a9d97\n"
    },
    {
      "commit": "851761574a775c6447ab2393d1ba42568ba08c1b",
      "tree": "48c22d3c0d8d618a1d62a32219544dc41c227fa9",
      "parents": [
        "930524ade21464a4f8cbbf80fed7039f4e813965",
        "e3c526f4f603e83c5fa8b9e399506b085f5648b7"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 01 21:50:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 21:50:14 2013 +0000"
      },
      "message": "Merge \"Fix Paint Shader copy\""
    },
    {
      "commit": "e3c526f4f603e83c5fa8b9e399506b085f5648b7",
      "tree": "33ef3d7f64d5ee6f85b3ab2b8899d6e74b12724f",
      "parents": [
        "5259ffba255b38728a20e28aa6ba029416d0e925"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Jul 30 18:58:19 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 01 14:33:22 2013 -0700"
      },
      "message": "Fix Paint Shader copy\n\n- Paint.setClassVariablesFrom(Paint paint) was using the same Shader\nfor the copy as the initial Paint. Make sure that we are using a copy.\n- implement a copy() API for shaders\n\nSee bug #7034321 Need Drawable RTL support\n\nChange-Id: I4b9cee386edc72ad670723266333b85f4d2b0ab8\n"
    },
    {
      "commit": "5d3dff1d66f99fbd5bef9178e62d789119c02ad1",
      "tree": "f141b912bb1be372cc4f9627fab4a25f492f45bb",
      "parents": [
        "87d01e9e83f33651872b3f3b2a1492c58d3846b5",
        "86d3e03d381bff8c107e3def31cf37f4851f827c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 01 16:46:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 16:46:04 2013 +0000"
      },
      "message": "Merge \"Add missing alpha channel to built-in colors\""
    },
    {
      "commit": "86d3e03d381bff8c107e3def31cf37f4851f827c",
      "tree": "04f817e0c968cb25627dd5b77db3d28792ee4f87",
      "parents": [
        "84956d53f1e86b8c000f8994ea9040b71a30e321"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 01 09:43:26 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 01 09:43:26 2013 -0700"
      },
      "message": "Add missing alpha channel to built-in colors\n\nChange-Id: I911c17b623513b2715668d0f91604b28c32a969a\n"
    },
    {
      "commit": "1e546815bbb736c50679a8aefc25f48561026fc5",
      "tree": "11a3b7106638c123d052d50ce3e2a1757e004cb4",
      "parents": [
        "3a6f25512c0a682b10961a5a7428e3393ffb0b75"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Jun 25 14:25:17 2013 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Jul 31 15:50:47 2013 -0700"
      },
      "message": "Support RGBA fonts and bitmap fonts (and RGBA bitmap fonts)\n\nQuite a few things going on in this commit:\n\n- Enable bitmap strikes by default in Paint objects.\n\nThe SkPaint parameter that enables bitmap strikes was not previously\nincluded in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap\nfonts. Oops! It\u0027s for the best, though, as additional work was needed\nin Skia to make bitmap fonts work anyway.\n\n- Complain if TEXTURE_BORDER_SIZE is not 1.\n\nOur glyph cache code does not currently handle any value other than 1\nhere, including zero. I\u0027ve added a little C preprocessor check to\nprevent future engineers (including especially future-me) from\nthinking that they can change this value without updating the related\ncode.\n\n- Add GL_RGBA support to hwui\u0027s FontRenderer and friends\n\nThis also happened to involve some refactoring for convenience and\ncleanliness.\n\nBug: 9577689\nChange-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c\n"
    },
    {
      "commit": "6d64d5ab84a66f98633acf740414a8848feaa14b",
      "tree": "b9f0097582aeefdb657d9b58688ece8bfbb99d1c",
      "parents": [
        "d608b0e97cc524deeae496f9a24edef6f29af03f",
        "84956d53f1e86b8c000f8994ea9040b71a30e321"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 31 00:54:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 31 00:54:25 2013 +0000"
      },
      "message": "Merge \"Add missing InsetDrawable.getDrawable() method\""
    },
    {
      "commit": "84956d53f1e86b8c000f8994ea9040b71a30e321",
      "tree": "d060acdb0c9837c055f488ce232b6cbc0fea12c2",
      "parents": [
        "8018c8db8221aa604b3c083e09d173cc27e53d83"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 30 13:01:40 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 30 13:01:40 2013 -0700"
      },
      "message": "Add missing InsetDrawable.getDrawable() method\n\nChange-Id: I216b0e8a327f495fd83ebac79013418dbae007b9\n"
    },
    {
      "commit": "2f1a2e423e0fbb64467d6fcfa4e82c6384f31210",
      "tree": "84d91887a953c9a0bf5ca6d1ca112c8ab82bc08f",
      "parents": [
        "39dd5a62ae4348e941c8351635e61dc065b2ced7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:05 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 11:37:31 2013 -0700"
      },
      "message": "Camera2 API: Rename package to android.hardware.camera2\n\nChange-Id: I77b7939e199f9fe8e12a59393c24cff08097448c\n"
    },
    {
      "commit": "56fbb6362b6a0f17804d33af913b720f21c884c5",
      "tree": "56d0e70409283ecdb358d367e58774fee1ce89ba",
      "parents": [
        "4d4a137bf5f861bce744c113744718066e1f214e",
        "8018c8db8221aa604b3c083e09d173cc27e53d83"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 30 17:53:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 30 17:53:05 2013 +0000"
      },
      "message": "Merge \"Add path ops API\""
    },
    {
      "commit": "8018c8db8221aa604b3c083e09d173cc27e53d83",
      "tree": "60cbc26ddde4fa65a476a7e869d88f358b734210",
      "parents": [
        "93d34a61dbdfd9ece9ac4a53d78e896638172895"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 29 19:17:59 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 30 10:51:24 2013 -0700"
      },
      "message": "Add path ops API\n\nPath ops can be used to combine two paths instances in a single path\nobject. The following operations can be used:\n\n- Difference\n- Reverse difference\n- Union\n- XOR\n- Intersection\n\nTo use the API:\n\nPath p1 \u003d createCircle();\nPath p2 \u003d createRect();\n\nPath result \u003d new Path();\nresult.op(p1, p2, Path.Op.DIFFERENCE);\n\nThis code will subtract the rectangle from the circle and generate\nthe resulting path in \"result.\"\n\nChange-Id: Ic25244665b6691a7df0b0002a09da73d937b553b\n"
    },
    {
      "commit": "d979208974d995438ebd51e8070eaeabf63461db",
      "tree": "6473cce070d055cf030782a06feb6395409890a8",
      "parents": [
        "bf36ee2b0c49241e073da14ee1e1a08b8550f3b9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Fri Jul 26 20:24:34 2013 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Mon Jul 29 22:09:08 2013 +0000"
      },
      "message": "Relax restriction on Colormatrix and add Add step.\n\nChange-Id: Iccb519bb40f58f02346b5c0a10c1378cb853e3f8\n"
    },
    {
      "commit": "cb92a8d9428c2e4a9f038cd5f10e9d61bf265cd4",
      "tree": "2a5edc119dc9c998cc8ff08cac53d17c1c2b1357",
      "parents": [
        "9fe5b550e11992f73213acc8a07c5614164eecda"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jul 27 17:16:53 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jul 27 17:16:53 2013 -0700"
      },
      "message": "fix SDK build\n\nChange-Id: I41c19740b8f0532dbd6184e13bae43a13aaa46e2\n"
    },
    {
      "commit": "e591b49de038a9942cbcc77540c03e85c96e3dcb",
      "tree": "3bc8b5ae1d6db61c137dac96d77777db2d28032f",
      "parents": [
        "d06db894b2b092e95fc19bf993bfc5bab7a486b1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 24 19:15:00 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 26 19:33:54 2013 -0700"
      },
      "message": "single buffer mode for SurfaceTexture\n\nBug: 9891035\nChange-Id: Ib9cc2b64f7ff3c084ef1d7db442db8e7a24a923d\n"
    },
    {
      "commit": "9f213c8b648c06e781911c12d6c12f6a6606f6d2",
      "tree": "578f1ec578705834318daeb6e9e5f879c5109087",
      "parents": [
        "54e5f0eb7634c42b702f8ac0bb7cc2a48f0bc14c",
        "2ca204e4c0ba805c8fa0db79eeac9608d01cf5b4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 26 20:56:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 26 20:56:23 2013 +0000"
      },
      "message": "Merge changes I487d4eef,Ia750811f\n\n* changes:\n  get rid of PixelFormatInfo and simplify things\n  get rid of PIXEL_FORMAT_A_8\n"
    },
    {
      "commit": "2ca204e4c0ba805c8fa0db79eeac9608d01cf5b4",
      "tree": "f5619d2405b25c23a516a899649da4ec395ec980",
      "parents": [
        "6f7b58917104916ee6afd6f246c251c1d7a2102a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 25 19:25:10 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 25 19:25:10 2013 -0700"
      },
      "message": "get rid of PixelFormatInfo and simplify things\n\nChange-Id: I487d4eef7db0095ace4babf5bb100a8769711257\n"
    },
    {
      "commit": "a06cba19c98c15547d2dc361359cf6f955ec2588",
      "tree": "d732b8c572bcaf0e1c720c5fba2513ebe6beece9",
      "parents": [
        "109c9b57f6be4c01e7c54ae04741c887f28de008",
        "8d9a4bd1eb09cc795bf96c4f3a2824f9642c70e4"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 24 16:26:43 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 24 16:26:43 2013 -0700"
      },
      "message": "am 8d9a4bd1: am 174dd066: Merge \"remove link to renderscript support library\" into jb-mr2-ub-dev\n\n* commit \u00278d9a4bd1eb09cc795bf96c4f3a2824f9642c70e4\u0027:\n  remove link to renderscript support library\n"
    },
    {
      "commit": "d2d43b9647aa02e4f114d993364d7c686d99187b",
      "tree": "ca9198dda86220c9f5167b3ba7f42771243b2c3f",
      "parents": [
        "f213415175ec83df7b39089d559eb9d02b72883a"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 23 21:08:30 2013 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 23 21:08:30 2013 -0700"
      },
      "message": "remove link to renderscript support library\n\nChange-Id: If8e693239b92058c0a2928e0811870bec3a150fe\n"
    },
    {
      "commit": "9c2cde0583d02ba7551877dbe7a5ecaee6defb56",
      "tree": "ec45e43427d5009257fc08df8000b35e4d800ba6",
      "parents": [
        "7bfddb5434736a26fa9b32d7cd1741067169ae74"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 23 14:12:35 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 23 14:14:45 2013 -0700"
      },
      "message": "Use IllegaleStateException to be consistent with rest of Bitmap class\n\nChange-Id: Idd1c77f92eafa8a43619d27a9567382447540e5f\n"
    },
    {
      "commit": "d84feebba428d2f5adc021353ae24d3d2737220a",
      "tree": "1cec56a22068031bffe22a659aa2f969c40f33e5",
      "parents": [
        "4908d181ca8c48e9866474ffe7cab68719cdb833",
        "e32632682ca9207bd247ca27012cf670b5c23f54"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jul 20 01:03:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 20 01:03:22 2013 +0000"
      },
      "message": "Merge \"update to new Consumer APIs\""
    },
    {
      "commit": "ef5498edf62eb439b4c3f980422c3513e23b5ee9",
      "tree": "c77eb5743dba0b53a1dda9766e240477621843b8",
      "parents": [
        "350503fba389a753cbb92864c36864830fdd8efe",
        "c84d203da21c3ae3ded94c79c035d41b27809b3b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jul 18 22:55:44 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 18 22:55:44 2013 +0000"
      },
      "message": "Merge \"Add reconfigure method to Bitmap\""
    },
    {
      "commit": "c84d203da21c3ae3ded94c79c035d41b27809b3b",
      "tree": "ba05e5fbfa04ce5a40d760fd5a70edc065f4574c",
      "parents": [
        "e77d6dd94371b97a8fac21a60b804b4f99559eab"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jul 12 19:35:52 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 17 12:08:01 2013 -0700"
      },
      "message": "Add reconfigure method to Bitmap\n\nbug:9797004\n\nGrants a means to reuse a bitmap\u0027s allocation for different\nwidth/height/Config without going through\nBitmapFactoryOptions.inBitmap\n\nChange-Id: Ib62319f3bd96c451fc1636288adf06a8275b4e3d\n"
    },
    {
      "commit": "e32632682ca9207bd247ca27012cf670b5c23f54",
      "tree": "0026abe147d61ef6d42d476606ea5712f0f35cd4",
      "parents": [
        "5ab422bfa34f0fd64b6bef25287e7250f80de4ba"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 22:54:56 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 23:14:24 2013 -0700"
      },
      "message": "update to new Consumer APIs\n\nChange-Id: I8649f3add40e0aeeeb0396b98e2cb93312e8e990\n"
    },
    {
      "commit": "4e7b772b733593fbe25c733e95b8dcea293234b6",
      "tree": "26acbca3bc0a543bf90655412f04d3b4ae86fb0b",
      "parents": [
        "d91f8af40b8f9eb8752c432315c619e90d095b6a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 16 13:47:01 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 16 14:52:55 2013 -0700"
      },
      "message": "Fix crashes in setMatrix() and concat()\n\nsetMatrix() was crashing in native code, only with hw acceleration on.\nconcat() would throw a NullPointerException. It now ignores null matrices.\n\nChange-Id: Iebd8b410a957d2ba501570c6fbb3f680ff4a1a23\n"
    },
    {
      "commit": "787e35793f47abdb6cc10f328cd58d362c7bd250",
      "tree": "87e0bf94652a3164d0558817e9a41a67d3031728",
      "parents": [
        "5fade8c69aef621312232ef0647502d7a63990b9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 11 17:37:31 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 11 17:37:31 2013 -0700"
      },
      "message": "Trace bitmaps decoding\n\nAlso remove dead code\n\nChange-Id: Ie931b21858ccbe6ee4def54caf028fd2aed23317\n"
    },
    {
      "commit": "e68720ee154cc98fb6067cc63d333e3f809244dc",
      "tree": "365d205ceab8221512ac4e16d3e69d5bf3da327b",
      "parents": [
        "68389dee4e6dbb46d12096ea9a9565be795e0bd1",
        "73b81e75dfcdba048f294cf154ed9005a6581bd4"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Jul 10 16:44:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 10 16:44:40 2013 +0000"
      },
      "message": "Merge \"Minor fixes to android.graphics.Matrix\""
    },
    {
      "commit": "73b81e75dfcdba048f294cf154ed9005a6581bd4",
      "tree": "67c9def4490be3ee59fadba9ba817664bb1829f0",
      "parents": [
        "4a9095007ddf2ec763ad7133e9ac8c62c3f53a4e"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 09 16:33:18 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 09 16:45:20 2013 -0700"
      },
      "message": "Minor fixes to android.graphics.Matrix\n\nTweaked equals() and finalize(), introduced trivial hashCode().\n\n(Also picked up a handful of automatic trailing-space removals.)\n\nBug 9756081\n\nChange-Id: I4639cf1e970a16179fa6c0d24785f4d0dfbe58ed\n"
    },
    {
      "commit": "0c20c3898a533b7b76f60827cb6ea02e17c5953d",
      "tree": "15a488db02872005937082b918bfe108eeae1282",
      "parents": [
        "e969964c80a20b2d968b4ee54495176c9049d3e3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 02 10:48:54 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jul 08 11:08:02 2013 -0700"
      },
      "message": "Use global references for Bitmap AndroidPixelRefs\n\nbug:9621717\n\nBecause we\u0027re no longer holding onto Bitmaps Java side during\nDisplayList lifetime, use global refs to keep the backing byte arrays\naround.\n\nAdds back bitmap buffer passing + native ref management removed by\n3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9\n\nAdds back globalRef-ing removed by\nf890fab5a6715548e520a6f010a3bfe7607ce56e\n\nChange-Id: Ia59ba42f05bea6165aec2b800619221a8083d580\n"
    },
    {
      "commit": "ec6221e555ddddc7dd8ff7d01cab1cee98ddbb91",
      "tree": "cd21704c3b8b6d0cd5ba9674722575bed0965812",
      "parents": [
        "a3664247c701d975ebda9da9f0412bc49d3b6fae",
        "d93fdb77d84aa3f2c427034cf17e72941f3c3418"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Jun 27 22:45:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 22:45:26 2013 +0000"
      },
      "message": "Merge \"Add 2,3 vectors to allowed intrinsic list.\""
    },
    {
      "commit": "d93fdb77d84aa3f2c427034cf17e72941f3c3418",
      "tree": "9ba01cdac44d1b0d5571940b09e07c057da0ffee",
      "parents": [
        "7337fb460898c93971dd03f0a0a0d0214948b8f3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Jun 27 15:42:30 2013 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Jun 27 15:42:30 2013 -0700"
      },
      "message": "Add 2,3 vectors to allowed intrinsic list.\n\nChange-Id: Iafd90ef4337076ed9d1e335c16272a0517f846b3\n"
    }
  ],
  "next": "e3b0a0117a2ab4118f868a731b238fe8f2430276"
}
