)]}'
{
  "log": [
    {
      "commit": "c64b3fab95cff6f33cba524f1b9c540cfb75c73b",
      "tree": "465b876084be864f8205c98e5f6fa69fce126ef4",
      "parents": [
        "0bc8afff7eb3b5af72b7e9a4ce3954488bfbecd0",
        "f29ed28c7b878ef28058bc730715d0d32445bc57"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue May 05 14:50:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 05 14:50:50 2015 +0000"
      },
      "message": "Merge \"Attempt to solve the double-GC problem\" into mnc-dev"
    },
    {
      "commit": "f29ed28c7b878ef28058bc730715d0d32445bc57",
      "tree": "3687467f789dfd447159e13dd0a840d1a5dae98f",
      "parents": [
        "05dc201ff64f6324c2726a8841af7021e7071b97"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 07 07:32:03 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 04 16:05:12 2015 -0700"
      },
      "message": "Attempt to solve the double-GC problem\n\nFix the issue where Bitmap requires two GC passes\nto release its byte[] by using some questionable\nref-counting hacks to manage whether or not\nnative has a strong or weak ref to the byte[]\n\nChange-Id: Ia90a883579f61c0b1904b5549a66bd0ef34b32c5\n"
    },
    {
      "commit": "d21be499753b964433faefbe0fd770c62a4c2e12",
      "tree": "21b13b793f6f6b545b059311d235e50c9dd73285",
      "parents": [
        "5551aca2b8ec9fe7ab5ffda8dad82ee104556962"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon May 04 12:51:54 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon May 04 12:51:54 2015 -0700"
      },
      "message": "More documentation for handling RippleDrawable mask at run time\n\nThe docs are now really explicit about the layer\u0027s ID and how to set\nor update the mask layer from code.\n\nBug: 20493831\nChange-Id: I801f10cd08fd1b4bb226c63a1bdf3271229928ea\n"
    },
    {
      "commit": "05dc201ff64f6324c2726a8841af7021e7071b97",
      "tree": "e3d4dcbeb60a01cf2f4cf7f255ef4fa3ad11c05a",
      "parents": [
        "1641c0cb0b6baf313c82846fe4f64007078c604f",
        "7c103a36f60b690e3fe83c40210e1cb0c76bba43"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 04 14:34:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 04 14:34:52 2015 +0000"
      },
      "message": "Merge \"Remove Bitmap#getSkBitmap\" into mnc-dev"
    },
    {
      "commit": "1641c0cb0b6baf313c82846fe4f64007078c604f",
      "tree": "0bb708048847af2e31dccd2361a5e3cc95fabca0",
      "parents": [
        "335f043bdb20f3528f486ad91eb9e1fdf8f673ab",
        "c6e2e8ff474ae44bab5b9eb665851118abd27b68"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 04 14:34:38 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 04 14:34:39 2015 +0000"
      },
      "message": "Merge \"Move AssetAtlas off of SkBitmap*\" into mnc-dev"
    },
    {
      "commit": "7c103a36f60b690e3fe83c40210e1cb0c76bba43",
      "tree": "1928ebdea926aa00a9f4eb876bff708169fcad8e",
      "parents": [
        "c6e2e8ff474ae44bab5b9eb665851118abd27b68"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 15:52:10 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 01 14:38:44 2015 -0700"
      },
      "message": "Remove Bitmap#getSkBitmap\n\nChange-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27\n"
    },
    {
      "commit": "c6e2e8ff474ae44bab5b9eb665851118abd27b68",
      "tree": "1c193512201d8fd4ca033f3979849dd1b9b2a861",
      "parents": [
        "78760b4ae47f5d59a541cbcbf1fca623bae4508a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 13:24:47 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 01 14:30:21 2015 -0700"
      },
      "message": "Move AssetAtlas off of SkBitmap*\n\nSwitched to SkPixelRef*\n\nChange-Id: I4a1d9dc6c55c1ebcce6b0b8c585e69559e523898\n"
    },
    {
      "commit": "9fc943d1a69f2ab0f6d8285b09aef7e344a1fd1a",
      "tree": "0db0df2a76f3e993dcb3d23af55026c2ef322565",
      "parents": [
        "a7cba44a22ffdaccf5198bb83b73a31c78091978",
        "b9f7aac3488873677377b36c57338d758098f78e"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Fri May 01 17:57:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 17:57:14 2015 +0000"
      },
      "message": "Merge \"Icon: a clean, parcelable place for images.\" into mnc-dev"
    },
    {
      "commit": "b9f7aac3488873677377b36c57338d758098f78e",
      "tree": "505fc8e2f81d70f0f9949ed490acb5854bf87c99",
      "parents": [
        "7dc7d09ba5abdc99eb5f106cf3ce545355d4c9be"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Mar 04 13:08:49 2015 -0500"
      },
      "committer": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Fri May 01 13:44:42 2015 -0400"
      },
      "message": "Icon: a clean, parcelable place for images.\n\nBinder APIs which wish to consume Bitmaps *and* drawable\nresources can now do so by using Icon, a kind of union type\nthat accommodates each of these. Icon also accepts byte\narrays holding compressed Bitmaps (PNG, JPEG, etc), which\nsaves clients the additional memory cost of decoding and\nsending full uncompressed bitmaps through Binder interfaces.\nReceiving clients can call loadDrawable{,Async} and then\ngetDrawable to start immediately using the image in an\nImageView or other Drawable-hosting container.\n\nBug: 19609468\nChange-Id: Ic1343711c2ac0b15876b46f0b6008b0108a49470\n"
    },
    {
      "commit": "78760b4ae47f5d59a541cbcbf1fca623bae4508a",
      "tree": "0147df2dfcb399ef96050f938c4b1afa3844f775",
      "parents": [
        "6e761c5d6b8ed2126c6544ce32db569203c46e2a",
        "3731dc220ed457e0f1e99d7ec2589e0a43872b59"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 01 14:42:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:42:51 2015 +0000"
      },
      "message": "Merge \"A bunch more cleanups\" into mnc-dev"
    },
    {
      "commit": "3731dc220ed457e0f1e99d7ec2589e0a43872b59",
      "tree": "2defd2b50881d20db99296b25e3da7c59ac48de0",
      "parents": [
        "ed207b92747234eac88dd3664ecfb535e45d8ed1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 13 15:20:29 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 30 14:34:55 2015 -0700"
      },
      "message": "A bunch more cleanups\n\nSwitch a few places to using android::canvas\ninstead of SkCanvas as well which eliminated\nsome JNI\n\nChange-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc\n"
    },
    {
      "commit": "db672b03a2de26127b40dbe50c794b5697b01c37",
      "tree": "e9610a9faf575cd38bc0c3d14b870fbfffc478a6",
      "parents": [
        "0069301d364a219bbd4b166ba6f4d9be854d556f",
        "ed207b92747234eac88dd3664ecfb535e45d8ed1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 30 21:00:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 21:00:08 2015 +0000"
      },
      "message": "Merge \"Change how Java Bitmaps are accessed in a few places\" into mnc-dev"
    },
    {
      "commit": "ed207b92747234eac88dd3664ecfb535e45d8ed1",
      "tree": "1dbef1ad7b0dc01fbcbb2da189c6824005153c4e",
      "parents": [
        "b77a7551121561f4ea7d5ce0c4030aeb7ce709e8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 10 13:52:57 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 30 12:46:57 2015 -0700"
      },
      "message": "Change how Java Bitmaps are accessed in a few places\n\nStop assuming that a Java Bitmap has a SkBitmap* that\nhas some externally managed lifecycle, and instead switch\na bunch of users to accessing the bitmap by providing\ntheir own SkBitmap* on which to set the (ref counted!)\nSkPixelRef* instead\n\nAttempt #2 to land this, original issue was in getSkBitmap\nand should be fixed\n\nChange-Id: I0fd9e193968b41e5597784140d56b4885906864a\n"
    },
    {
      "commit": "1f29e71c4688bdc04b27224c16d5b99006796a80",
      "tree": "b4f53a1e8c869ee98deb0a7d42043e8470c3d246",
      "parents": [
        "0e0c9d9392e4b4580939632ca4e74f2073e59290"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 29 14:28:25 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 29 14:28:25 2015 -0700"
      },
      "message": "Don\u0027t propagate level or RTL in LayerDrawable.setDrawable()\n\nThe developer used to be responsible for this and automatically\npropagating the values breaks some use cases (ex. in Camera).\n\nBug: 20696311\nChange-Id: Ia8ddc132c6d629bcc27d66f654baf30d9f078568\n"
    },
    {
      "commit": "2f1d09c3c5e80e875f588d77bc1e47d317491fa8",
      "tree": "9b9f132a66596e5a46e10a0cd93136fdf539bbb8",
      "parents": [
        "ff623a5ab3b26cd98790e355e316a65d76197cbd",
        "58fc522a69e8ddf9ac8530ce88e9c2c92da1dd14"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 22:06:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 28 22:06:17 2015 +0000"
      },
      "message": "Merge \"Use default constructor to get anti-aliasing\" into mnc-dev"
    },
    {
      "commit": "58fc522a69e8ddf9ac8530ce88e9c2c92da1dd14",
      "tree": "f8261731ca0c80c0c5b36c713a74abf7e69b3c7e",
      "parents": [
        "340b198ccbd1a05e67d586c345139617d4b84ce0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 11:49:27 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 11:49:27 2015 -0700"
      },
      "message": "Use default constructor to get anti-aliasing\n\nChange-Id: I3e078a3bc91a2fd703984ba18b5e7e98069b32f1\n"
    },
    {
      "commit": "a54cd38ba552a924c481c01cf9eae31b7bb63e86",
      "tree": "38d2bb3832d56b3f5d53d4e267461995d83cc237",
      "parents": [
        "e658285baf86a223ad369851d1fc5ebacad7b408"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 28 10:44:50 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 28 10:45:26 2015 -0700"
      },
      "message": "Layout layers without intrinsic dimensions using FILL gravity\n\nAddresses a regression in Calendar where a custom drawable that doesn\u0027t\nimplement intrinsic bounds is laid out incorrectly. Also fixes an issue\nwhere ColorDrawable would be laid out incorrectly.\n\nBug: 20643614\nChange-Id: I796f0d3e189e482cf6fa169a5dd13f654d72653c\n"
    },
    {
      "commit": "c6abf5bff6bbfafa1f133644f02a5d50d5269b7f",
      "tree": "8823d8ef7116a6378e6aef476d7bbe5f731a1202",
      "parents": [
        "25d12e3f6a5ef15add0c0ccb560bb842283b98e2"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Thu Apr 23 16:12:23 2015 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Mon Apr 27 15:33:03 2015 -0700"
      },
      "message": "Expose drawTextRun publicly\n\nFor correct low-level drawing of low level text, a method that\nincludes context for shaping is necessary, and it\u0027s similarly useful\nto provide the direction explicitly rather than running the BiDi\nalgorithm on the text. The drawTextRun method (in both char[] and\nCharSequence variants) has provided this functionality for several\nmajor releases but has been internal. This patch exposes the\nmethods publicly, and also improves the doc strings for both\nthe new method and some related ones.\n\nBug: 20193553\nChange-Id: I9be33ca5ae3e7db2b69a56298400671d5ef8ad05\n"
    },
    {
      "commit": "1b60cc0529161b5eca6407b551d67d355994c567",
      "tree": "b7c88b82712f55193680e685572df3180833b62f",
      "parents": [
        "580c30a63353f67433da25ef7b90913300e0372f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 24 10:46:46 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 27 18:11:57 2015 +0000"
      },
      "message": "Anti-alias by default\n\nChange-Id: I19434717dd3af4fdcffbfcca2ffbb485dfebe644\n"
    },
    {
      "commit": "88d109d2c5a62f2fb4a82f0ee78a535e56b10907",
      "tree": "1bcd8141dbfb922c96f6644cc32a8d83dd2da16d",
      "parents": [
        "c30327cbb3f3826c3276953a73e10e47d4b5872e",
        "1c44ba9fd45635ec2c7ccdcc41557adf795d2bb5"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Apr 24 04:58:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 04:58:48 2015 +0000"
      },
      "message": "Merge \"Fix the build: Revert \"Anti-alias by default\"\""
    },
    {
      "commit": "1c44ba9fd45635ec2c7ccdcc41557adf795d2bb5",
      "tree": "a33af2d7be71164d459e571a7320473736291b1f",
      "parents": [
        "d34b7329935a6f9ffdc9a40c01f7b558e07830d4"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Apr 24 04:57:24 2015 +0000"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Apr 24 04:57:24 2015 +0000"
      },
      "message": "Fix the build: Revert \"Anti-alias by default\"\n\nThis reverts commit d34b7329935a6f9ffdc9a40c01f7b558e07830d4.\n\nChange-Id: I74e63570ce868e6d8c36fd2e1c864419bd6102e4\n"
    },
    {
      "commit": "d1d27c1543a2de464938c068115f2f8dfa5b790a",
      "tree": "b475db1a5cdfe9dfa149e29076dc2471b7c2744d",
      "parents": [
        "b3492138913260f9f7f26f50bb1122f8e99f8e4e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 23 16:32:38 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 23 19:14:32 2015 -0700"
      },
      "message": "media: add flexible YUV422, 444, and RGB/RGBA formats\n\nThese are used by Media.Image on getOutputImage.\n\nChange-Id: I171c5b90423800eeab4e36625dcf727a2a2affcd\n"
    },
    {
      "commit": "01fb343fe8b75a31d4369ed1780bc7d28297a491",
      "tree": "4202e1a5d34764dd9ff2754bc0c411e44327de42",
      "parents": [
        "917c4e4d453f9f36fb6945cf1e3e11f45314d602",
        "d34b7329935a6f9ffdc9a40c01f7b558e07830d4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 23 23:06:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 23 23:06:40 2015 +0000"
      },
      "message": "Merge \"Anti-alias by default\""
    },
    {
      "commit": "a20ea2f056d46916f84e2fbb53fa32728be8bcf4",
      "tree": "9c12ec2f13b0304bbfd749da6dc60c174f425865",
      "parents": [
        "19d0f539649af9163f15dcb5bb3d370f9ad1c14e",
        "5b3edbde20b446ecbfebe5d6ad0dcd735473ac75"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Apr 23 13:29:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 23 13:29:59 2015 +0000"
      },
      "message": "Merge \"Add annotation to Rect.intersect()\""
    },
    {
      "commit": "5b3edbde20b446ecbfebe5d6ad0dcd735473ac75",
      "tree": "e06000c6bdda394aa3920f1782ffcd6373fabaeb",
      "parents": [
        "f14c5350419aa5eac8a81a4cdbca5bda4b449315"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 22 17:07:21 2015 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 22 17:07:21 2015 -0700"
      },
      "message": "Add annotation to Rect.intersect()\n\nFailing to check the return result from intersect() can cause artifacts\nbecause the developer may assume that the rect has been changed to the intersection.\nIn particular, when the two rects do not overlap, there is no change made to the\nsource rect. Instead, the method simply returns false. When developers do not\ncheck that return value, they may use the source rect and get undefined results.\n\nThis change adds the @CheckResults annotation that will cause a Lint warning\nwhen developers call this method without checking the return value.\n\nChange-Id: I476367d74e712038c248c2379fb124734298fcc1\n"
    },
    {
      "commit": "3797a788dc187cdffbdc034a1d4f9791432dac67",
      "tree": "36c01139c13ff3778467979abbe7434ea8acc01f",
      "parents": [
        "f7de58130a6a38d62857f6b885986f6a5cc74fcb",
        "388cd3b69c51a449b8bbb8086dbc429f24783ad1"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 22 20:41:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 22 20:41:30 2015 +0000"
      },
      "message": "Merge \"Fix visual styling for Material Spinner background\""
    },
    {
      "commit": "c1b33d665c8caf5760f68c45c6ca0baa649b832a",
      "tree": "9c89975587ac76b4d10589fdc15d7af4baa22dbf",
      "parents": [
        "bb2979d61c9cabd6f0476cc9e2121616d8001567"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 22 09:04:45 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 22 09:34:34 2015 -0700"
      },
      "message": "GraphicsJNI Canvas cleanup\n\nChange-Id: I72e142986a8bc9f464c1951b6b5187919de3462e\n"
    },
    {
      "commit": "388cd3b69c51a449b8bbb8086dbc429f24783ad1",
      "tree": "380b1e282106043b970a52b34e95e7596bd81580",
      "parents": [
        "6a1c23bf190db7bfc8bba1973c5a03a5af897623"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 21 13:00:33 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 21 13:00:33 2015 -0700"
      },
      "message": "Fix visual styling for Material Spinner background\n\nAdds explicit padding attributes to LayerDrawable, constrains the ripple\nto fit within the container to avoid projection.\n\nBug: 19359934\nBug: 20083467\nChange-Id: I46da941fba37552adeb2c1fe617b799f576df0c6\n"
    },
    {
      "commit": "1c17ba5f83ad58e3db2aacff3c56323f6fe2bb06",
      "tree": "3cbc949a7a88ccfc6223da594fe4f9449eeedd6a",
      "parents": [
        "8222a7ec81552276de1814541201c424b392d90b",
        "a027ec5c2dbfbbf10cac9ea538f5e230b093be2f"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Mon Apr 20 22:13:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 20 22:13:55 2015 +0000"
      },
      "message": "Merge \"Add Paint methods for cursor positioning\""
    },
    {
      "commit": "8222a7ec81552276de1814541201c424b392d90b",
      "tree": "e6d3ab0569338f3ade22f973019e6d7c7d45a13b",
      "parents": [
        "2eec3d14249640988ad6f89c49e6ea155f3ec744",
        "edc22fba5921f5c2d3502727e707f959b8c3a460"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 20 22:07:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 20 22:07:45 2015 +0000"
      },
      "message": "Merge \"Revert \"Change how Java Bitmaps are accessed in a few places\"\""
    },
    {
      "commit": "edc22fba5921f5c2d3502727e707f959b8c3a460",
      "tree": "947113958a48609f55d003e2735739727b6cc70f",
      "parents": [
        "a771b9861d11671c780092d35c0062eeefcf37c0"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 20 22:06:31 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 20 22:06:31 2015 +0000"
      },
      "message": "Revert \"Change how Java Bitmaps are accessed in a few places\"\n\nBug: 20207616\n\nThis reverts commit a771b9861d11671c780092d35c0062eeefcf37c0.\n\nChange-Id: Ifd891cc075274a7986e987229e0fed5a04ed9ff0\n"
    },
    {
      "commit": "9d4efdf2802f06ccf7031610891f75af70ea5538",
      "tree": "a86a7a833af6b45b466a391c5ff72fbffcdca329",
      "parents": [
        "7809f835cae637c12eebdc92103ad88890228d97"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:45:40 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:47:27 2015 +0000"
      },
      "message": "Revert \"A bunch more cleanups\"\n\nThis reverts commit c294d128d03bc9a9982b273a82516c04583438cc.\n\nChange-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d\n"
    },
    {
      "commit": "7809f835cae637c12eebdc92103ad88890228d97",
      "tree": "6e1d18e8b417f76e32a13b22ac9c3ced00b8c083",
      "parents": [
        "afbeb2c2374bf7b7f7efa120944714fab469173d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:45:19 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:46:47 2015 +0000"
      },
      "message": "Revert \"Move AssetAtlas off of SkBitmap*\"\n\nThis reverts commit 87ffb63d90fb6dd2689fe72dcb24fda9a6156220.\n\nChange-Id: I92adfcee454a0a19020cdd9e96a134be0ee529aa\n"
    },
    {
      "commit": "afbeb2c2374bf7b7f7efa120944714fab469173d",
      "tree": "4536c4995989aa41fd349733939fbbf4f677ad9d",
      "parents": [
        "eaa388bc2c4259e4d9c887af2aca0aa4ce50b08e",
        "1ff961dd6d51247e82e41de052f04fd0b577f09b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:46:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 17 20:46:22 2015 +0000"
      },
      "message": "Merge \"Revert \"Remove Bitmap#getSkBitmap\"\""
    },
    {
      "commit": "1ff961dd6d51247e82e41de052f04fd0b577f09b",
      "tree": "b5a50ef42c04b17739892de88d5cd07b7fde7151",
      "parents": [
        "4bd981ec533a65e8dee053a0a709b484770b0a76"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:45:15 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 17 20:45:15 2015 +0000"
      },
      "message": "Revert \"Remove Bitmap#getSkBitmap\"\n\nThis reverts commit 4bd981ec533a65e8dee053a0a709b484770b0a76.\n\nChange-Id: I5c92cd955c6e70e197dc5cbc5dfeed8369a24a31\n"
    },
    {
      "commit": "65aea84c5a41c7c14bfcaf2f390911f8b5596acd",
      "tree": "64077f9e26fb24d8161f945bb60c22e919186b2f",
      "parents": [
        "62b5b02c4f80bed47f8e2c542d4aa2d7bbeb7c08",
        "78bf1d329a4c0210394f846be1fd1390314aefc0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Apr 17 18:16:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 17 18:16:19 2015 +0000"
      },
      "message": "Merge \"Move date picker arrows out of SimpleMonthView\""
    },
    {
      "commit": "78bf1d329a4c0210394f846be1fd1390314aefc0",
      "tree": "e612ba9efd54d1b80292fb56c508054e740babfa",
      "parents": [
        "4b46ed3b425493b56d4c32b0a45f5338b2674889"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Apr 17 10:39:22 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Apr 17 10:39:22 2015 -0700"
      },
      "message": "Move date picker arrows out of SimpleMonthView\n\nAlso fixes incorrect docs in Drawable.\n\nBug: 20188255\nChange-Id: I01c8563f734d9c1dad1e149bee80c651981e469f\n"
    },
    {
      "commit": "4bd981ec533a65e8dee053a0a709b484770b0a76",
      "tree": "c9563c173961c03ed25fceec3aace0373212c31c",
      "parents": [
        "87ffb63d90fb6dd2689fe72dcb24fda9a6156220"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 15:52:10 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 15:56:12 2015 -0700"
      },
      "message": "Remove Bitmap#getSkBitmap\n\nChange-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27\n"
    },
    {
      "commit": "87ffb63d90fb6dd2689fe72dcb24fda9a6156220",
      "tree": "b5a50ef42c04b17739892de88d5cd07b7fde7151",
      "parents": [
        "f7a61483bc2a763145b0f1b6e6809c44cdc97187"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 13:24:47 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 15 13:27:05 2015 -0700"
      },
      "message": "Move AssetAtlas off of SkBitmap*\n\nSwitched to SkPixelRef*\n\nChange-Id: I4a1d9dc6c55c1ebcce6b0b8c585e69559e523898\n"
    },
    {
      "commit": "a027ec5c2dbfbbf10cac9ea538f5e230b093be2f",
      "tree": "e9b6a31e92091d55a10cf17dd1b5828b111feb74",
      "parents": [
        "954850ce5db39324a9f6a4a1ac62a182d88dea83"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Mon Apr 06 16:21:59 2015 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Tue Apr 14 23:51:46 2015 -0700"
      },
      "message": "Add Paint methods for cursor positioning\n\nAdds methods to Paint for finding an offset corresponding to an\nadvance, and for finding the advance corresponding to an offset,\nuseful for positioning and drawing a cursor.\n\nChange-Id: Id57402ddd1980650f1d0d2f8bbdb75e43612ec51\n"
    },
    {
      "commit": "c294d128d03bc9a9982b273a82516c04583438cc",
      "tree": "fd6c7ae3a6a292caf48160f0c0c8cc82e4729225",
      "parents": [
        "4fc266bbef6129b5cefc910f0680eb9d61794faf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 13 15:20:29 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 14 15:38:22 2015 -0700"
      },
      "message": "A bunch more cleanups\n\nSwitch a few places to using android::canvas\ninstead of SkCanvas as well which eliminated\nsome JNI\n\nChange-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc\n"
    },
    {
      "commit": "d34b7329935a6f9ffdc9a40c01f7b558e07830d4",
      "tree": "3c038da15885acd53bdeedf0692bcc0fd5e09d7a",
      "parents": [
        "a323e3f3366321ce63d1f465d7dfe8bdc0e95679"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 10 14:02:39 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 13 12:39:11 2015 -0700"
      },
      "message": "Anti-alias by default\n\nChange-Id: I4d29cae73b05b7ffa03212acdbb13d7b0cf8f905\n"
    },
    {
      "commit": "0381d0b665781394dcd7b47753735f969a670dd6",
      "tree": "1e5eb77b84cc179c52c4d883ac13be4098405f7c",
      "parents": [
        "0cdd4a93a483ab148bdcf242531cd294883b86c1",
        "7a583e7bb3eb13a804bbe2f3ebce802c885a9901"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Apr 13 19:28:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 13 19:28:49 2015 +0000"
      },
      "message": "Merge \"Allow null layers in LayerDrawable\""
    },
    {
      "commit": "073f36c6c1bc937a55393f7fe9a21b95e822bfda",
      "tree": "b893a2628d6bf80f5c41a0941b38809a741e6657",
      "parents": [
        "bed238fcea7c5dc5f0ad6f14d1b585b0947a4cdc",
        "a771b9861d11671c780092d35c0062eeefcf37c0"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 13 19:20:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 13 19:20:59 2015 +0000"
      },
      "message": "Merge \"Change how Java Bitmaps are accessed in a few places\""
    },
    {
      "commit": "7a583e7bb3eb13a804bbe2f3ebce802c885a9901",
      "tree": "a101e72b884dcaec620a0974d0ae16d0f6698787",
      "parents": [
        "05ce40e1af0ff8b3c7e183e70d068ce10ef09b87"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Apr 13 11:03:55 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Apr 13 11:03:55 2015 -0700"
      },
      "message": "Allow null layers in LayerDrawable\n\nBug: 20098214\nChange-Id: I80285ddda7101ab7403048d38f9c40af6b692a1a\n"
    },
    {
      "commit": "a771b9861d11671c780092d35c0062eeefcf37c0",
      "tree": "a575dc870712330cb8ddc70b5dccd0df26806a6a",
      "parents": [
        "4147877b388eb4a6f4e1ee116edfa58a018891ca"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 10 13:52:57 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 13 09:50:42 2015 -0700"
      },
      "message": "Change how Java Bitmaps are accessed in a few places\n\nStop assuming that a Java Bitmap has a SkBitmap* that\nhas some externally managed lifecycle, and instead switch\na bunch of users to accessing the bitmap by providing\ntheir own SkBitmap* on which to set the (ref counted!)\nSkPixelRef* instead\n\nChange-Id: I0fd9e193968b41e5597784140d56b4885906864a\n"
    },
    {
      "commit": "d18c59b3e6d855e6a7ec12fd324791cd621a9b53",
      "tree": "2031de47da76a9f61e9b29de6bd2e531c0965e80",
      "parents": [
        "bb0acea215794f5386e08aca91ae918c8febb000",
        "9eaa604116ea5ee2eca81095d4d587fe680857a7"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Apr 10 17:50:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 17:50:21 2015 +0000"
      },
      "message": "Merge \"Don\u0027t change state when inflating LayerDrawable\""
    },
    {
      "commit": "9eaa604116ea5ee2eca81095d4d587fe680857a7",
      "tree": "00e42164b61b05922b8ddfe197ee2f341e7eac33",
      "parents": [
        "a323e3f3366321ce63d1f465d7dfe8bdc0e95679"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 09 17:28:24 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 09 17:28:24 2015 -0700"
      },
      "message": "Don\u0027t change state when inflating LayerDrawable\n\nBug: 20098214\nChange-Id: I6968697053587454bba42c0652efd99b9c8a8e25\n"
    },
    {
      "commit": "45f207d6d9ccec1b9975f2ec4ca55e3c42f7bc48",
      "tree": "1015541034d2686194e1acca9411e768890781ed",
      "parents": [
        "a323e3f3366321ce63d1f465d7dfe8bdc0e95679"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 09 13:14:32 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 09 13:14:32 2015 -0700"
      },
      "message": "Only parse LayerDrawable child items when necessary\n\nBug: 20098214\nChange-Id: Ie9da5f6e494ede47f9fdc94481a3f8ca41d3ef00\n"
    },
    {
      "commit": "b7acab634ad2a8f318e5e53267df010e3c2a2219",
      "tree": "9041ad32d6ed042cdced8dd4641e90f62dbc46b8",
      "parents": [
        "1ffaca4414c5c2b73e5aaf085728e3b01ea534c3",
        "e9c01a40a2f0f0da195dfbb2909aaee5c005d1c6"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 06 18:04:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 18:05:00 2015 +0000"
      },
      "message": "Merge \"Fix path clipping in VectorDrawable\""
    },
    {
      "commit": "e9c01a40a2f0f0da195dfbb2909aaee5c005d1c6",
      "tree": "98bb68bd73ad336faa1c07ba79fba02cfbf63bdd",
      "parents": [
        "095d99904579a5231d974a2447661c10a8eb621b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 06 10:47:23 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 06 10:50:36 2015 -0700"
      },
      "message": "Fix path clipping in VectorDrawable\n\nbug:19946683\n\nChange-Id: I773957df7459eb72ea5d505afb0daac08239ecbf\n"
    },
    {
      "commit": "df62ab4833dc34207e68f8ad22e31a5fcaa6744e",
      "tree": "ef3481166f3008123d64f58627e5693f055d86cf",
      "parents": [
        "689dd8fb5bbc07720cf1777133505784a1b53a10",
        "9af77a4ce22540726fbddd275f89e65fd1a1edf8"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Apr 03 20:08:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 03 20:09:02 2015 +0000"
      },
      "message": "Merge \"Add group scaling factor into stroke width.\""
    },
    {
      "commit": "f673acb6c955a43e0fcf9d95eccc36b31083ff48",
      "tree": "9e4e0b7413bb257ea37fa6d8c1a8113d718c79fc",
      "parents": [
        "fd93eaf278ad2f58bb23d3141da1342f872c473c",
        "f7f969e67e9ab420404807b1b103dcd18d7aa7b7"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Thu Apr 02 23:27:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 02 23:27:24 2015 +0000"
      },
      "message": "Merge \"Add Paint.hasGlyph method\""
    },
    {
      "commit": "f7f969e67e9ab420404807b1b103dcd18d7aa7b7",
      "tree": "535aec6e14f2ddfecf19311145c123581a7cebc0",
      "parents": [
        "78c926c9a3ee2a513bff08ca3e6276eafeebc531"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Wed Apr 01 14:41:21 2015 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Thu Apr 02 23:14:58 2015 +0000"
      },
      "message": "Add Paint.hasGlyph method\n\nThis patch adds a method to determine whether a typeface has a glyph\nto support a particular Unicode character or sequence.\n\nThe implementation is based on shaping the text and checking for the\npresence of .notdef glyphs, and counting the number of glyphs in the\nligature case. In the case of variation selector control characters, it\ncurrently just returns false because there is no variation selector\nsupport yet (Mongolian Free Variation Selectors work because they\u0027re\nshaped with GSUB instead).\n\nChange-Id: I8ee4ae0d6e81a0ac57f961eb02dcc35aabd87042\n"
    },
    {
      "commit": "9af77a4ce22540726fbddd275f89e65fd1a1edf8",
      "tree": "78f7335463e410712fd09c023b8abee4eaa097b8",
      "parents": [
        "072be09aafc258a8d9d8c4f1dbf4f800b3983434"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Apr 01 16:38:44 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Apr 02 16:09:03 2015 -0700"
      },
      "message": "Add group scaling factor into stroke width.\n\nOriginally, stroke width is independent of group scaling.\nBut that is a bug and causing animation trouble.\n\nb/19501782\n\nChange-Id: I33d5e44f2f8b2a82fee1a5a326223a39aaffa86c\n"
    },
    {
      "commit": "ec3c97d27f2a424fa847561a3932a40c093a91a1",
      "tree": "f9805e9bac2b743eccc886edb296eceea8ca9e31",
      "parents": [
        "f4c301bdf52449668d50f31b351d822ec900e687",
        "3891f3ad598561d5a82c07795e1fee7f1d3612d1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 02 22:38:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 02 22:38:49 2015 +0000"
      },
      "message": "Merge \"Add compat path for restore underflow\""
    },
    {
      "commit": "3891f3ad598561d5a82c07795e1fee7f1d3612d1",
      "tree": "7672d25f02d022ba08453a8fee6c9be02d92ef6b",
      "parents": [
        "095d99904579a5231d974a2447661c10a8eb621b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 02 15:28:08 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 02 15:30:32 2015 -0700"
      },
      "message": "Add compat path for restore underflow\n\nbug:19829784\n\nChange-Id: Ia761664208ab80c055ca11174db3ddc74457b92b\n"
    },
    {
      "commit": "a4dc29a72122f3e52377134039ebdb92b8e4d618",
      "tree": "98000a89118e2dde0c315a6c2d5d3d822b36e2a4",
      "parents": [
        "845e196cb3d3414d9a1e39b4c8ef3cf0fc4ef385",
        "428c2fa0f8b3c49e8bd48458c15363fcd98e8944"
      ],
      "author": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Thu Apr 02 20:38:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 02 20:38:08 2015 +0000"
      },
      "message": "am 428c2fa0: am c3fbf13d: am e2fc3adb: am 61ce6c9b: am 776cf41d: Fix a broken link in javadoc\n\n* commit \u0027428c2fa0f8b3c49e8bd48458c15363fcd98e8944\u0027:\n  Fix a broken link in javadoc\n"
    },
    {
      "commit": "c3fbf13d525a0bcf1202618b197f4160750b54f1",
      "tree": "edb26104586808046ed90ad964db0670afe5fb6f",
      "parents": [
        "9987b6e867d862c27cd1339d7fa8135b75d565f1",
        "e2fc3adbb4040400496aebdab80c4cac1083da27"
      ],
      "author": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Thu Apr 02 20:19:09 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 02 20:19:09 2015 +0000"
      },
      "message": "am e2fc3adb: am 61ce6c9b: am 776cf41d: Fix a broken link in javadoc\n\n* commit \u0027e2fc3adbb4040400496aebdab80c4cac1083da27\u0027:\n  Fix a broken link in javadoc\n"
    },
    {
      "commit": "0daa5713ee2df841ea22d88a1393ca11e0138621",
      "tree": "c7edb73e7c5ac99785550722ae889d5f8d6b7cf3",
      "parents": [
        "bcfe87f3e05ac65d7ecb7156cd0de580586df5e9",
        "e0f95f39c5a669a48ee3ebb8dc45bf2d7ee940f1"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 02 18:02:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 02 18:02:04 2015 +0000"
      },
      "message": "Merge \"Fix issues with theming of preloaded ColorStateLists\""
    },
    {
      "commit": "776cf41d7c8f239d20397886f2120407396cfc87",
      "tree": "6be3366cfc5feb9f6314c10aea094f6a745fd99d",
      "parents": [
        "b2b93762b8165ee47f49765816fc7ba0428c371c"
      ],
      "author": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Fri Mar 20 18:01:02 2015 +0900"
      },
      "committer": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Thu Apr 02 04:03:07 2015 +0000"
      },
      "message": "Fix a broken link in javadoc\n\nBug: 19856130\n\nChange-Id: I0456e951f8bed36e3a62ddfd882f9c2d2bef9627\n"
    },
    {
      "commit": "77840f4e8fd1af7d0fadce9a42ab5c6c99842d41",
      "tree": "ee51f6a055738a65950eb909c8c377e4d15fa139",
      "parents": [
        "80eaa6aaaf676e7fa34ad5cd92ff161bb31b5c76",
        "b89a605b58bc20ef1ee0923f0578a2fa99a71793"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Apr 02 00:07:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 02 00:07:08 2015 +0000"
      },
      "message": "Merge \"Fix cursor position calculation.\""
    },
    {
      "commit": "b89a605b58bc20ef1ee0923f0578a2fa99a71793",
      "tree": "a946cdf3176a62bedf270a63be47b2c509de8422",
      "parents": [
        "c09ccc5631d61f94200df2bb37262364bb598211"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Apr 01 22:35:25 2015 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Apr 02 06:13:37 2015 +0900"
      },
      "message": "Fix cursor position calculation.\n\nThe cursor position calculation of not well known CharSequence implementation\nhas problem. getTextRunCursor() returns the relative path of passed string\nbuffer, so need to fix the origin by adding the copied buffer origin.\n\nBUG: 17448027\nChange-Id: I413c553bfccbccee4a390b6c83aa09ac7fd04126\n"
    },
    {
      "commit": "ffb73620a24062c4c021f04254c3d4e8448b3dd3",
      "tree": "48516afd35be0a994c44ee01f80d7d3fb25d8c22",
      "parents": [
        "eb9a10c829646f4d49404124de5fdf0cc60f419e"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 01 13:37:09 2015 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 01 13:42:25 2015 -0700"
      },
      "message": "Fix Drawable.getOpacity() docs\n\nIssue #17140095 Drawable#getOpacity() is documented as ignoring custom alpha, e.g. setAlpha(). It is lying.\n\nChange-Id: Iaef094be750c58a43e13491e7bf9d9b7e56e23d2\n"
    },
    {
      "commit": "e0f95f39c5a669a48ee3ebb8dc45bf2d7ee940f1",
      "tree": "059872a6f9e095a1cb5b14605f1f247b8efd83fc",
      "parents": [
        "eb9a10c829646f4d49404124de5fdf0cc60f419e"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 01 13:10:18 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 01 13:10:18 2015 -0700"
      },
      "message": "Fix issues with theming of preloaded ColorStateLists\n\nEnsures changing configurations mask is propagated to the host drawable\nso that it can be properly cleared from cache on configuration changes.\nAlso fixes constant state handling of the mask in the Inset and Rotate\ndrawables.\n\nHides new ColorStateList methods related to theming, since they should\nonly be used during preloading or internally by framework drawables.\n\nFixes bug where the cached versions of themeable ColorStateLists were\nmodified by calling applyTheme() on the host drawable.\n\nAlso cleans up some docs and naming in GradientDrawable.\n\nBug: 19966397\nChange-Id: I8c8d3cabbaf94b488c2b8fe9fd423e07d824c19c\n"
    },
    {
      "commit": "37ec99b19ce7a5d40d16ccc2f578aca66bd7a25d",
      "tree": "c41d363a020319059c9437615c5cac0f1c0a3589",
      "parents": [
        "7744a25673a46eadf71a27e8283d7529a88fcca6",
        "11d444f0b789ead8b10506d24956d243274c724b"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 31 18:27:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 31 18:27:23 2015 +0000"
      },
      "message": "Merge \"Add RAW12 image format\""
    },
    {
      "commit": "2f17431194efc5a13981550b004dd8d5d2a42e5e",
      "tree": "688fa9c58004aa592bb37349b3678bcb545180f6",
      "parents": [
        "8a78286915a8f71eb09b5ae29a3bd8fb977180e6"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Mar 20 11:39:55 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Mar 30 16:17:35 2015 -0700"
      },
      "message": "ImageFormat: add PRIVATE format\n\nBug: 19865019\nChange-Id: I1a9335fe1733a5b28d9cb20485b509fb216cb52b\n"
    },
    {
      "commit": "acc6241da915e463e46407348dcdbf60b4ca753f",
      "tree": "7d24188ebf54f65c69c1c51b879c881259769700",
      "parents": [
        "0043caf5bcb1a867df33ace12a3c8e808a060bc3",
        "ee7c65d539cb12fe7f8b753fa4b94c2734469fdf"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 27 18:03:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 27 18:03:08 2015 +0000"
      },
      "message": "Merge \"Only verify resolved theme attributes\""
    },
    {
      "commit": "ee7c65d539cb12fe7f8b753fa4b94c2734469fdf",
      "tree": "f8c6dbe059b544cedc6da2d10388c36d838f1193",
      "parents": [
        "9aaaa1ebb383b5aeabbdb2afb9956130e6564071"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 27 10:57:34 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 27 10:57:34 2015 -0700"
      },
      "message": "Only verify resolved theme attributes\n\nBug: 19962473\nChange-Id: I62eb2faea7b09fd483194b41e815179cb2141fcb\n"
    },
    {
      "commit": "304bbd117def97317bddd781b92e4642e1960d18",
      "tree": "18069b0cf96fa966450f78859a056baab1feb052",
      "parents": [
        "9aaaa1ebb383b5aeabbdb2afb9956130e6564071",
        "0ea3aca4eb5c920fa43dab1ea027c322d23b9bda"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Mar 26 20:47:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 26 20:47:44 2015 +0000"
      },
      "message": "Merge \"Polish the documentation for VectorDrawable and AnimatedVectorDrawable\""
    },
    {
      "commit": "0ea3aca4eb5c920fa43dab1ea027c322d23b9bda",
      "tree": "15060c8102b9c0346176bcab80f3adb19c6dd2eb",
      "parents": [
        "e564c00e2b72b6d2655cf94c27b930bc5cfa1f3e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Mar 26 11:34:36 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Mar 26 11:34:36 2015 -0700"
      },
      "message": "Polish the documentation for VectorDrawable and AnimatedVectorDrawable\n\nChange-Id: If6bedf84cb01971c55b5a99ad921303dad638b24\n"
    },
    {
      "commit": "34c623cbf3677820c4170f24c5211f663dda91f7",
      "tree": "45e48572a897bfc1b3d0748067e5f4206d9d3b0a",
      "parents": [
        "9c265091cfe61f46097885c4ebbfdb5b119fd985"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 25 15:01:56 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 25 15:01:58 2015 -0700"
      },
      "message": "Don\u0027t draw when bounds are negative\n\nb/19922909\n\nChange-Id: I68559ed683031f57538439e0a3e4979fe9f430a5\n"
    },
    {
      "commit": "9c265091cfe61f46097885c4ebbfdb5b119fd985",
      "tree": "3334701b1ceb4c2655f0647a4be6b9d9a7dfeb62",
      "parents": [
        "9ebb685b038b325fde76d4f81d2adb584e522f5c",
        "1588f0ff54b88240b55eeaba97e67f0f1dee5f92"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 24 23:22:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 23:22:28 2015 +0000"
      },
      "message": "Merge \"Add listener support in AVD\""
    },
    {
      "commit": "1588f0ff54b88240b55eeaba97e67f0f1dee5f92",
      "tree": "2f9ab06c201b4d4717ab46111f3efa2e69451da3",
      "parents": [
        "111928fa324db73f94389bdfab4b108cbd30d8f4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 24 14:11:37 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 24 15:49:13 2015 -0700"
      },
      "message": "Add listener support in AVD\n\nInternally, switch to use AnimatorSet instead of an array of Animators\n\nb/19825918\n\nChange-Id: Ia67d2cc7dd89362e6b0019c916d3f2a0d0f3e39e\n"
    },
    {
      "commit": "84d9e0ef0b14daef5c3308edc5c2f7a418456a8b",
      "tree": "5e37b33fdcb2debc613aac18814c2713248ec638",
      "parents": [
        "dddea39df0d99d73971ad9f63cc7251b26c03558",
        "5e968ad1d6c0387fb6b71b3693f5c0e95ccf469f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 24 16:28:23 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 24 16:28:23 2015 +0000"
      },
      "message": "am 5e968ad1: am dde72862: am 7db6ebe0: Merge \"Frameworks/base: Don\\\u0027t allocate another identity matrix\"\n\n* commit \u00275e968ad1d6c0387fb6b71b3693f5c0e95ccf469f\u0027:\n  Frameworks/base: Don\u0027t allocate another identity matrix\n"
    },
    {
      "commit": "7db6ebe03719dfc6b9fb680b038fd9ef0302e4ca",
      "tree": "d2d4d79e0a0a19a5a88535bd2e1319d4ff05723a",
      "parents": [
        "540e1f8cbcbc255ca57fba81befd4d6346178cec",
        "d538fa0fb21171d8256b7d800ae757757f4e3a44"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 24 16:02:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 16:02:55 2015 +0000"
      },
      "message": "Merge \"Frameworks/base: Don\u0027t allocate another identity matrix\""
    },
    {
      "commit": "11d444f0b789ead8b10506d24956d243274c724b",
      "tree": "f704c8b9f646c532ae3b59fe28433305597596d4",
      "parents": [
        "606f1c9c9dd67959208c80fd320dd204020a6926"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 20 16:47:02 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 20 17:40:01 2015 -0700"
      },
      "message": "Add RAW12 image format\n\nChange-Id: I1c528ecf62746aa96d6e132eaa874015d9d7c446\n"
    },
    {
      "commit": "1b23240f96bd5318933accf6b212b62f803bee13",
      "tree": "df52169aaf115fcdbd6313ea468a9283985b2548",
      "parents": [
        "3756b40992b4940101eb84604b9283167bee9a34"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 20 11:08:46 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 20 11:08:46 2015 -0700"
      },
      "message": "Only propagate state changes if wrapped drawable is stateful\n\n\nAlways update layer bounds if the contained drawable changed in any\nway. Also adds null annotations in LayerDrawable and throws a more\nuseful exception when the layers argument is null.\n\nChange-Id: Iae0cba68257e48b6a45fe081c3d4b0509d2dedd5\n"
    },
    {
      "commit": "fc8882f1340055e00f6c21449983e92413045275",
      "tree": "3e57f2407ae80df7d522b6430fcadd889dfb994a",
      "parents": [
        "f2560e62cf26cae64f5751b0479743e09cb7bd7f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 17:26:54 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 17:26:54 2015 -0700"
      },
      "message": "Clean up ripple exit, null out software animators on cancel/end\n\nBug: 19682421\nChange-Id: I40ff56ed98a6c67cd01c74e455899825013a1f12\n"
    },
    {
      "commit": "43c410eaacf7d287c6c3f5621e6e0b96501004dc",
      "tree": "ef836af43be15a316e3d730914f1ace60e398fe6",
      "parents": [
        "dd0d4b75794081e873977a5480d3d1dbff270d05",
        "f6829a0a618b4523619ec53c996b04d67e3186b9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 18 21:36:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 18 21:36:56 2015 +0000"
      },
      "message": "Merge \"Remove HardwareCanvas\""
    },
    {
      "commit": "7463438912b5f65d4613c68a0cdd73aadff95c73",
      "tree": "4e7a942b713aa3eafba5a997bc267df0edd4bc4e",
      "parents": [
        "9a9b45c285808259835cd62de76a012a2738aa19",
        "46277ba2c70e9fe0fc9772dcb84040aff1c322be"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 17 22:02:36 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 17 22:02:36 2015 +0000"
      },
      "message": "am 46277ba2: am 28e6aeca: Merge \"Frameworks/base: Make IDENTITY_MATRIX final\"\n\n* commit \u002746277ba2c70e9fe0fc9772dcb84040aff1c322be\u0027:\n  Frameworks/base: Make IDENTITY_MATRIX final\n"
    },
    {
      "commit": "28e6aeca3aad075ef4fd7aab08cd1ad1ff9eb555",
      "tree": "ed93f3433e0b41509bfcce1ceab1d35e07fbce1c",
      "parents": [
        "9568772acbf5b36f2edb41f7c5b06d499329add0",
        "399fa8a60af5362f2bd93636d6a5e7e1fb574131"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 17 21:33:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 17 21:33:09 2015 +0000"
      },
      "message": "Merge \"Frameworks/base: Make IDENTITY_MATRIX final\""
    },
    {
      "commit": "399fa8a60af5362f2bd93636d6a5e7e1fb574131",
      "tree": "a998c9e291030270b112d1655a604b401f819e5d",
      "parents": [
        "30fcd2aa8a87ca97e1d6dbc3203c3a485a56dac9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 15 18:55:33 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 17 21:31:42 2015 +0000"
      },
      "message": "Frameworks/base: Make IDENTITY_MATRIX final\n\nBug: 19797138\nChange-Id: I127f24b7060a0c4dab401ce8e3057d362c6d6b06\n"
    },
    {
      "commit": "da81fa569ed2f955252d69c1e000ebc1a2850191",
      "tree": "7dc911e6ec862e5ef8a9023ac9cebdeded10b4d2",
      "parents": [
        "716475daa1562b9a7cd950215d83364756ef065a",
        "417ee5ba89f7e0fe5efd34fce74bf1ee5923d976"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Mar 16 21:20:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 16 21:20:31 2015 +0000"
      },
      "message": "Merge \"Add resource type annotations to some APIs\""
    },
    {
      "commit": "08067d98295303cf9c8235ab27b3e6e8038f084c",
      "tree": "d5982453c1925a7e748e9f31355bffd2a75bb1b3",
      "parents": [
        "ebb8922a5baf091b419c3545ef74b1ee2097b21b",
        "8e176d396d393af90ffe288d849e95ff40aa2b23"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 16 17:20:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 16 17:20:12 2015 +0000"
      },
      "message": "am 8e176d39: am 007e207b: Merge \"Frameworks/base: Fix null-pointer check\"\n\n* commit \u00278e176d396d393af90ffe288d849e95ff40aa2b23\u0027:\n  Frameworks/base: Fix null-pointer check\n"
    },
    {
      "commit": "d538fa0fb21171d8256b7d800ae757757f4e3a44",
      "tree": "633084895e8dfc0a0dbd6c8b3c51e7a65a9b6fa9",
      "parents": [
        "30fcd2aa8a87ca97e1d6dbc3203c3a485a56dac9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 15 19:03:29 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 15 19:03:29 2015 -0700"
      },
      "message": "Frameworks/base: Don\u0027t allocate another identity matrix\n\nThere is already an identity matrix in Matrix. Don\u0027t allocate another\none for VectorDrawable.\n\nChange-Id: I51735f262d6680e043b0009707ec42acb2d0d1ad\n"
    },
    {
      "commit": "f2b1cff4e2b152a7c776a7a79e8225a591f97d3e",
      "tree": "3d28fe18b862381cf00b00f8d8c968cfe8f4693e",
      "parents": [
        "30fcd2aa8a87ca97e1d6dbc3203c3a485a56dac9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 15 15:07:19 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 15 15:07:19 2015 -0700"
      },
      "message": "Frameworks/base: Fix null-pointer check\n\nChange-Id: I715a21c313e909ae654e0c1aa67bdf7bcd89de76\n"
    },
    {
      "commit": "210a189e226d5ce64f760d557efc6570409c8147",
      "tree": "2ee8bf180178b66c18936e1a1437d6d381372afe",
      "parents": [
        "e4bb8c9fb76b9ed955fe4f2150547d8cfa3b46b0"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Mon Mar 09 14:42:14 2015 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Sat Mar 14 06:00:23 2015 +0000"
      },
      "message": "Add HyphenEdit support to Paint\n\nThis adds HyphenEdit on the C++ and also to Java via JNI. HyphenEdit is\na Minikin feature for adding hyphens to text without having to edit the\nstring on the client side.\n\nChange-Id: Icfb228407c1d11a716d055f813da7507acb38fbf\n"
    },
    {
      "commit": "417ee5ba89f7e0fe5efd34fce74bf1ee5923d976",
      "tree": "20404d7a116b8f6925e163716ed2ef8365b4fbc6",
      "parents": [
        "4998467ce11cb74357fc700ce9c6319dedff26db"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Mar 10 20:57:37 2015 -0700"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Fri Mar 13 11:20:45 2015 -0700"
      },
      "message": "Add resource type annotations to some APIs\n\nChange-Id: I37c8afdaea455aa92bc8270bb2dfd60616c5f9bc\n"
    },
    {
      "commit": "f6829a0a618b4523619ec53c996b04d67e3186b9",
      "tree": "816816dadc5cd7ac8ad1b6a309525f6300fc9b82",
      "parents": [
        "edacf22ca132ac48207a68aa30998f5b43d893b8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 10 10:28:59 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 10 14:56:11 2015 -0700"
      },
      "message": "Remove HardwareCanvas\n\nChange-Id: I239646a7f00f09d3f76fe6b6162eed86bc0d6e77\n"
    },
    {
      "commit": "6a67db41388165aca63d0d5de2830cc096ed930b",
      "tree": "8ab7d0b13f730cbf792f5796547a1083a83869b5",
      "parents": [
        "53776a2b3c18f3eb2217e5e3af4dda187d0fee62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 02 16:06:10 2015 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 09 18:54:25 2015 -0700"
      },
      "message": "Implement bounded ripple animation\n\nBug: 19431322\nChange-Id: I5dc1a28d8675cc6fb036b815d6227113c3f1aa4b\n"
    },
    {
      "commit": "53776a2b3c18f3eb2217e5e3af4dda187d0fee62",
      "tree": "5e62f0a12e0eb947b9b56f4f2f52339428d38f42",
      "parents": [
        "216f3edcb9fb0089b1bd621f88a682d7a2ebf115",
        "f872ee0057ed247aa93589347f1b53afc99517f8"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 10 01:51:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 10 01:51:59 2015 +0000"
      },
      "message": "Merge \"Refactor ripple components, simplify background animation\""
    },
    {
      "commit": "f872ee0057ed247aa93589347f1b53afc99517f8",
      "tree": "f4232c93caf16cec587e30be15485c845567fdd6",
      "parents": [
        "7b91c55b3ff4857e904a11a0a67fcc86a32868b4"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 09 18:25:21 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 09 18:25:21 2015 -0700"
      },
      "message": "Refactor ripple components, simplify background animation\n\nMoves animation lifecycle and software/hardware hand-off into a unified\nRippleComponent class, which makes it easier to maintain the components.\nAdds better javadocs and comments to explain what\u0027s going on.\n\nBug: 19431322\nChange-Id: Ifb9b9a7dcc24238719ef12293493ca3df107679f\n"
    },
    {
      "commit": "805f3c9428f9ebd5080aec48d3d9d77dbf4b41a9",
      "tree": "52be74b470b30f90b5ff9a2b820a541d515f728e",
      "parents": [
        "a72d6401346ba01027f5fe2f59f9c018e8a6a84a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 26 10:57:55 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 09 16:42:25 2015 -0700"
      },
      "message": "Add DEPTH image formats, support in ImageReader\n\n- Add an explicit mapping between public ImageFormat/\n  PixelFormat enums and internal HAL format/dataspace.\n- Add DEPTH16 and DEPTH_POINT_CLOUD formats\n- Wire up mapping layer to ImageReader to support depth\n  formats\n\nChange-Id: I8197eccef900cc91baddcfcb934ccd4d8c972eff\n"
    },
    {
      "commit": "b3ec733bb830f2d4425825d93f9ed95f284e9145",
      "tree": "988803742ef2ae17aebdea75567cd24715a18ac5",
      "parents": [
        "1c2bf03d1082fc6b7eb42cbd163c60c07cf2bccc"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Wed Mar 04 10:04:07 2015 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Mar 07 20:49:19 2015 -0800"
      },
      "message": "Annotate methods with size and range annotations\n\nChange-Id: I666861f0dfae31402b1280e9a966a583b88e2e1a\n"
    },
    {
      "commit": "1c2bf03d1082fc6b7eb42cbd163c60c07cf2bccc",
      "tree": "c9b3f05a238831065220463db9ba2a052e329f9b",
      "parents": [
        "c615c6fc9caca76cd96998f86e1f1e6393aeadbb"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Mar 02 10:57:08 2015 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Mar 07 20:49:18 2015 -0800"
      },
      "message": "Annotate return values with @CheckReturn\n\nChange-Id: Icd8fb6adb591ccd7f35f2336ae716b198abf69c5\n"
    },
    {
      "commit": "c0a1b7f9a6a496deb68b095d122ca85f22daad98",
      "tree": "9c109f1612b670720a74c991f0b3b925dadb5af7",
      "parents": [
        "376eb17e0e44f6b99e3dbd6964eb48f0afa80d7c",
        "80756e38882720860db52f1fcc21fa1505a02abf"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Fri Mar 06 23:15:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 06 23:15:27 2015 +0000"
      },
      "message": "Merge \"Annotate ARGB integer parameters with @ColorInt\""
    },
    {
      "commit": "c0bf700441e1b53f1693d7445dc6f9876f5c9b4f",
      "tree": "3c5e3c8d822bec972071064d7804e467f324983f",
      "parents": [
        "1592f98973ffffe828d34d90ddb944947d510eba"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 06 13:48:27 2015 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 06 13:51:04 2015 -0500"
      },
      "message": "SkPorterDuff Multiply mode maps to SkXfermode modulate.\n\nbug:19627342\nChange-Id: I97f26ca1bc8abe2768f4a12cc70fb0fa5d905098\n"
    },
    {
      "commit": "2d08eaf0341df5d22236baadbcc4341f0e2e7f5e",
      "tree": "96789154ea6e71825059cb35a5cabd133647bd01",
      "parents": [
        "fdbf68ff6c5e45da4971352775d614e6790cc991",
        "1526a458a30184609f19b05e7334da3cbde81dd1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 06 18:42:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 06 18:42:30 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove references to SkPorterDuff as it is deprecated.\"\"\""
    },
    {
      "commit": "1526a458a30184609f19b05e7334da3cbde81dd1",
      "tree": "1cc798a79f4df46890c18351413497478fd8f16a",
      "parents": [
        "26b4f598c8b1e99b43261614a6861785638c8c00"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 06 18:42:15 2015 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 06 18:42:15 2015 +0000"
      },
      "message": "Revert \"Revert \"Remove references to SkPorterDuff as it is deprecated.\"\"\n\nFix build breakage.\n\nThis reverts commit 26b4f598c8b1e99b43261614a6861785638c8c00.\n\nChange-Id: If39ce2a41d26a8520091f330234c3d35e413ee92\n"
    }
  ],
  "next": "fdbf68ff6c5e45da4971352775d614e6790cc991"
}
