)]}'
{
  "log": [
    {
      "commit": "e5b337dd88f057af441b2d8ce7b62ffc8be45369",
      "tree": "79576918003f8a7cd3ab27daefa48e070bf8f711",
      "parents": [
        "68325959113f0bb4001c2304a3de86c865693d4d"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 07 17:42:05 2019 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 07 17:42:05 2019 -0800"
      },
      "message": "Fix spelling of \"HARDWARE\"\n\nHappened to notice this while reading the code for other purposes.\n\nTest: Treehugger\nChange-Id: I2d1b1e239bfd8d2506a62173fe854f608a45f5b0\n"
    },
    {
      "commit": "55418eada51d4f5e6532ae9517af66c50ea495c4",
      "tree": "b93b0483b4ba377e1b4b79d344932fdf78d17de5",
      "parents": [
        "cfc6518c48d1648bb33a0f6633132a726a9bc7f9"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Dec 20 15:30:45 2018 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Dec 28 14:26:35 2018 +0000"
      },
      "message": "Limit access to suspected false positives.\n\nMembers modified herein are suspected to be false positives: i.e. things\nthat were added to the greylist in P, but subsequent data analysis\nsuggests that they are not, in fact, used after all.\n\nAdd a maxTargetSdk\u003dP to these APIs. This is lower-risk that simply\nremoving these things from the greylist, as none of out data sources are\nperfect nor complete.\n\nFor APIs that are not supported yet by annotations, move them to\nhiddenapi-greylist-max-p.txt instead which has the same effect.\n\nExempted-From-Owner-Approval: Automatic changes to the codebase\naffecting only @UnsupportedAppUsage annotations, themselves added\nwithout requiring owners approval earlier.\n\nBug: 115609023\nTest: m\nChange-Id: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0\nMerged-In: I020a9c09672ebcae64c5357abc4993e07e744687\n"
    },
    {
      "commit": "15b123ef458ed927782b080921e987c995fc56dd",
      "tree": "008426beb4c3b8d4ecb62112efa17be09fe6d427",
      "parents": [
        "58ee538e62b15dd07274beecf5f925543c5332b1",
        "7409b8620ff39ff0788ef1543297f0cb1d49a0e0"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 14:13:44 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 14:13:44 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Idc8bfb6d97a869b76cfb87ca1a494201baf9e8bd\n"
    },
    {
      "commit": "f5cf9f24ed7d86ab406a5d220d87e8951f13541b",
      "tree": "7a91c46d35dca277737ad2a03641e0dd45f22712",
      "parents": [
        "a94a71af13a830bf338ebd19aac61dccab8aed95",
        "45d2c252b19c08bbd20acaaa2f52ae8518150169"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Oct 23 21:53:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 21:53:51 2018 +0000"
      },
      "message": "Merge \"Move some members to the \"Q blacklist\".\""
    },
    {
      "commit": "45d2c252b19c08bbd20acaaa2f52ae8518150169",
      "tree": "d5c04325ae04d4a4d3ce46ac58a062f0eb536ad5",
      "parents": [
        "7fff7e5eff2640fac3729ff4f955f8e37cebf75f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 12:35:36 2018 +0100"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Oct 22 17:28:24 2018 -0700"
      },
      "message": "Move some members to the \"Q blacklist\".\n\nBased on some analysis, these fields/methods are likely false positives.\nSet maxTargetSdk\u003dP so that any apps using them are required to migrate off\nthem in future. See the bug for more details.\n\nExempted-From-Owner-Approval: Automatic changes to the codebase\naffecting only @UnsupportedAppUsage annotations, themselves added\nwithout requiring owners approval earlier.\n\nBug: 115609023\nTest: m\nMerged-In: I719b5c94e5b1f4fa562dd5d655953422958ad37e\nChange-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e\n(cherry picked from commit 8c854f86a477fbbee38092f449333e1425e5cd7e)\n"
    },
    {
      "commit": "7ba6f430f635ea09d506b4de1774b703c69bf552",
      "tree": "1a0396e8c914e6492acab22a1307272687e14f22",
      "parents": [
        "cbcaabedfd54ae034635bbe2ec220f8f2b540fa6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 22 13:23:12 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 22 13:24:48 2018 -0700"
      },
      "message": "Clarify createScaledBitmap\u0027s \u0027filter\u0027 docs\n\nReddit complained the docs were bad, so make the docs less bad.\n\nTest: none\nChange-Id: I61928ea859af4ce0a63a9b545ea1b6dd965cc3df\n"
    },
    {
      "commit": "bc56d73af292a737bb7e244fc9d37f9793bf8cd2",
      "tree": "fa2e941d87d4a3278d05998fe856342e3cec6378",
      "parents": [
        "1e69440dff609998cc6057cae195799ad90587e5",
        "fde18facbadb7bd61e75c02469d5ee6ae68b1ce7"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 11:03:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 11:03:47 2018 -0700"
      },
      "message": "Merge \"[Graphics] Align Display P3 transfer function coefficients.\"\nam: fde18facba\n\nChange-Id: I242a8f1ccf0d2b662d745a0a956da7e7c8e3d790\n"
    },
    {
      "commit": "7a45d2c310e0596506a80ad1c09fb60822c8a4fa",
      "tree": "800b5af6390edb11e2fdaafea81daa727c37aaaf",
      "parents": [
        "a3608c91163829d8ee150c5d0c0e7c6b259fbceb"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Mon Oct 15 15:56:05 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 16:50:25 2018 +0000"
      },
      "message": "[Graphics] Align Display P3 transfer function coefficients.\n\nThe transfer function of Display P3 should be sRGB transfer function,\npreviously we defined f as 0.039, however, the sRGB transfer function defines f\nas 0.04045. This patch fixes it.\n\nBUG: 116726537\nTest: Build, flash and boot\n\nChange-Id: I247092d8ce939aa743f23a1f8688cbaf0874fb99\nMerged-In: I247092d8ce939aa743f23a1f8688cbaf0874fb99\n"
    },
    {
      "commit": "abe7a32c67fc1cb43e0957b215c6ea7eedc6fe10",
      "tree": "7141adf07c99325868f6bc2b6b9de33ceda527be",
      "parents": [
        "dd298a4b0f840000e3f9a9f051cb1d4c942655df",
        "2a520365dad848ad0b9027b8b64943cf04d31d27"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Fri Oct 12 18:59:21 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 18:59:21 2018 -0700"
      },
      "message": "Merge \"Remove unused imports of libcore.io.Libcore.\"\nam: 2a520365da\n\nChange-Id: I79c4679d483e0e8ea2e434237bd61d75f129da0f\n"
    },
    {
      "commit": "30ff7a093e748fbd78e90df36885920c324217fa",
      "tree": "cb0ccba1268f5f8b8df114b485b21158025caea2",
      "parents": [
        "9b1db24f6e0ce1bea68a834d5ea21bea0f9bf374"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Oct 08 15:14:45 2018 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Oct 10 15:49:51 2018 +0000"
      },
      "message": "Remove unused imports of libcore.io.Libcore.\n\nTest: Treehugger\nBug: 115503977\nBug: 117548625\nChange-Id: I122fa68ddc2bd531f627dcac00834b47249bd56e\n"
    },
    {
      "commit": "2e5fdd0051f4e0136dada304d51a68d7f029ac43",
      "tree": "3b1a8bd620dcfabfb441560ed3fb01026ab8b44c",
      "parents": [
        "f803b12008d35cb66d251ca01770ae46bd034a3d",
        "9137ecafbd77f1ddeb613a6bc58a872bb04785ac"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 30 08:57:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 08:57:54 2018 -0700"
      },
      "message": "Merge \"Add @UnsupportedAppUsage annotations\"\nam: 9137ecafbd\n\nChange-Id: I467341cc8f70554f58266ddc28ff3a648ec5cc18\n"
    },
    {
      "commit": "71da3a1fe49ef567a74f3c83274cfe17217e5907",
      "tree": "5d642965bc5c5b590050b0310970a5e16a525f8f",
      "parents": [
        "b0896e61f8f65be69fa0a0eed2e42421c08fe92a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 30 13:20:51 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 30 13:38:01 2018 +0100"
      },
      "message": "Add @UnsupportedAppUsage annotations\n\nFor all remaining unannotated code.\n\nThis is an automatically generated CL. See go/UnsupportedAppUsage\nfor more details.\n\nExempted-From-Owner-Approval: Mechanical changes to the codebase\nwhich have been approved by Android API council and announced on\nandroid-eng@\n\nBug: 110868826\nTest: m\nChange-Id: I32861fa341a08f11a9c50c07a1ef7404dadf6bb6\nMerged-In: I67c8b71ea535ebffb10bf577948bd4ccb8ca069d\n"
    },
    {
      "commit": "08e080c31434a2ed6c4863b0e1af69c1ced0a4da",
      "tree": "340236f7deacd60ca402a3c5bcf8e552dbad2a52",
      "parents": [
        "a4c063274607532041d168d05f7f262d0f4b7763",
        "1ddeb9e01f34bb4b3fe0ae46f7b37bbfb584d64a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 02 17:29:11 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 02 17:31:50 2018 +0100"
      },
      "message": "resolve merge conflicts of 1ddeb9e01f34bb4b3fe0ae46f7b37bbfb584d64a to stage-dr1-aosp-master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\n\nChange-Id: Id12be0fe86a73fcf39cc2c82a1f681df910fc03f\nMerged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8\n"
    },
    {
      "commit": "1ddeb9e01f34bb4b3fe0ae46f7b37bbfb584d64a",
      "tree": "c737cf3ae35cd3022954cf2a289a9565bce6bef0",
      "parents": [
        "e784d5e5caa607bc96b686b3b55e138eb8da05a0",
        "95f8ca9f74b75fda6b05d08d49a1488dd0238c10"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 02 12:23:41 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Aug 02 14:24:12 2018 +0000"
      },
      "message": "resolve merge conflicts of 95f8ca9f74b75fda6b05d08d49a1488dd0238c10 to stage-aosp-master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nMerged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8\nChange-Id: I0e5a5d8fda273644e8c592ce7d059e508870085e\n"
    },
    {
      "commit": "9ebe36c305c736efca2d9dbb41f5c9c362793806",
      "tree": "aa20433dc2cdeb4cf0c0c4f02c83db63ea9e1c1a",
      "parents": [
        "b6b8516ba0f44f2d234b825cc4d568c304e9f719"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jul 31 14:21:52 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jul 31 14:36:52 2018 +0100"
      },
      "message": "Add @UnsupportedAppUsage annotations\n\nFor packages:\n  android.graphics\n  android.graphics.drawable\n  android.graphics.drawable.shapes\n  android.graphics.fonts\n  android.graphics.pdf\n\nThis is an automatically generated CL. See go/UnsupportedAppUsage\nfor more details.\n\nExempted-From-Owner-Approval: Mechanical changes to the codebase\nwhich have been approved by Android API council and announced on\nandroid-eng@\n\nBug: 110868826\nTest: m\nMerged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8\nChange-Id: I5d7739d2d1fc7bb12ee059bcc2a9ac9017ca35fb\n"
    },
    {
      "commit": "42d27af0daf4c01022e4c6466d81f7fb6ff18191",
      "tree": "2cb15492bf9f35c148324456b148065808cf3cfa",
      "parents": [
        "5ad001eb4f5152cf8d534608ebd2d369e383e8b9"
      ],
      "author": {
        "name": "Laura Davis",
        "email": "laurabd@google.com",
        "time": "Fri Jul 27 12:07:27 2018 -0700"
      },
      "committer": {
        "name": "Laura Davis",
        "email": "laurabd@google.com",
        "time": "Fri Jul 27 12:07:27 2018 -0700"
      },
      "message": "Docs: fixed typo\n\nTest: make ds-docs\n\nBug: 111817624\nChange-Id: I908e06419ab56220b41be6f821cff3258691b3b9\n"
    },
    {
      "commit": "22dbf294bb0cc3bf4975a6836d3ad74b2f22a0b4",
      "tree": "a9a6016d89291dc34197e3e159755aab428d5555",
      "parents": [
        "bae9b1a71cb271166bf28c52dbd6a2092401f5bc"
      ],
      "author": {
        "name": "Laura Davis",
        "email": "laurabd@google.com",
        "time": "Thu Jun 07 10:41:49 2018 -0700"
      },
      "committer": {
        "name": "Laura Davis",
        "email": "laurabd@google.com",
        "time": "Thu Jun 07 13:29:41 2018 -0700"
      },
      "message": "docs: repaired link to internal section\n\nTest: make ds-docs\n\nBug: 79236136\nChange-Id: Idf48cf7a055a0aa3841d6b4d0540724b43c61241\n"
    },
    {
      "commit": "44fc6317f11d75b8126a52a763c415c4fabd6ff4",
      "tree": "498d7e511873407b51597419db9b9c450544626c",
      "parents": [
        "1031bf5f761304987e6a2c5bbb5743a65c3253bf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 01 12:39:50 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 01 12:55:13 2018 -0700"
      },
      "message": "Ensure picture isn\u0027t recording in createBitmap\n\nPicture#draw() will silently due an #endRecording() if it\nwasn\u0027t called. Bitmap.createBitmap doesn\u0027t do this until\nafter it\u0027s too late.\n\nSo do an up-front #endRecording() to ensure state is\ngood to go\n\nBug: 80539264\nTest: HardwareBitmapTests#testReadbackThroughPictureNoEndRecording\nChange-Id: Ic66c41462e88880b73c5093d7541c4ce3d71adeb\n"
    },
    {
      "commit": "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd",
      "tree": "5273aecef15d3644e794416ababff8cbaacddd94",
      "parents": [
        "1936031cbe804fc53eb7529b3fd60f3457cb1780"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 14 14:59:30 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed May 16 18:51:07 2018 -0400"
      },
      "message": "AnimatedImageDrawable: Eliminate unnecessary calls to redraw\n\nBug: 78866720\nTest: Manual + systrace; existing CTS\n\nPreviously, we set hasAnimations to true when the AnimatedImageDrawable,\nso that we would get a call to redraw. But if the image does not need to\nshow its next frame yet, the redraw was unnecessary.\n\nInstead, add a new field to TreeInfo::Out, representing the delay time\nuntil the image will need to be redrawn - i.e. when the duration of the\ncurrent frame has passed. Each call to prepareTree will post at most one\nmessage to redraw, in time for the earliest animated image to be\nredrawn. Post the message for one rendered frame ahead of time, so that\nwhen it is time to show the next frame, the image has already gotten the\nmessage to update.\n\nOn a screen with a single animated image, this drops the number of calls\nto dispatchFrameCallbacks to as infrequent as possible. It is called\nonly when we need to draw a new frame of the image. On a screen with\nmultiple animated images, the calls may be redundant, but they will not\nbe more frequent than they would be without this change.\n\nSwitch to nsecs_t and systemTime internally, matching the rest of HWUI.\n\nRemove mDidDraw and related. Its purpose was to prevent advancing the\nanimation while the image is not being drawn. But it isn\u0027t really\nnecessary. If it\u0027s not drawn, onDraw is not called, which is where we\ntrigger decoding. And onDraw already has a defense against getting too\nfar ahead - if its timer indicates that it should skip a frame or show\nit very briefly, it will back up its timer. More importantly, mDidDraw\ncaused a bug, when combined with less frequent redraws. If the display\nlist containing the drawable doesn\u0027t need to be redrawn for other\nreasons, the drawable\u0027s timer never advanced, so its animation stopped.\n\nFix software drawing. Compute the milliseconds in the future to draw the\nnext frame, and add that to SystemClock.uptimeMillis() to compute the\ntime to pass to scheduleSelf.\n\nChange-Id: I13aab49922fa300f73b327be25561d7120c09ec4\n"
    },
    {
      "commit": "7a7b2369fe999c8ad9712eadafcbbc31b695daa6",
      "tree": "96df33b8a9697b458abbc516f2a5746f85be836b",
      "parents": [
        "3f9aaad4dc6e801c7af68757d3661b58bcd122a2",
        "2ad19e51463f2f4b5633fa9c155fd9fc75f387a6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 25 17:36:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 25 17:36:47 2018 +0000"
      },
      "message": "Merge \"Temporarily allow StackView to use a canvas.clipRectUnion\" into pi-dev"
    },
    {
      "commit": "eabeec49c4de290071d27c272071b3151ff6e502",
      "tree": "ed0683b098015e5ce61122ee3f213d4b0e6b8cb5",
      "parents": [
        "dc34eb605520a7f4f9401c4569a2573171111e9d",
        "4534745f53e10952b706bd22fb0c2a29bcbb75e0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 19:58:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 19:58:53 2018 +0000"
      },
      "message": "Merge \"Fix rounding of padding in NinePatchDrawable\" into pi-dev"
    },
    {
      "commit": "cf893ac40cf66f85cec575166e862c9ef2250735",
      "tree": "50741d4cd1b104e810c48ee689c659ac0e646539",
      "parents": [
        "e71fb69ec9551029959ae2cc75ca2de2a2be3652",
        "c85057c14c7679c177555914dcf81159614c5769"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Apr 23 02:26:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 02:26:58 2018 +0000"
      },
      "message": "Merge \"Made the DrawableWrapper return the right ColorFilter\" into pi-dev"
    },
    {
      "commit": "a6d6aab0e0c2cb297cda9ad6a94bbe934ba515f6",
      "tree": "2271fdac43c7c2d160c8904d861bbf4c24f3f633",
      "parents": [
        "e3a34816dc844bb6c5e41fd9ab3cd671f7eb3400"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Apr 19 18:58:22 2018 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Apr 20 15:09:02 2018 +0200"
      },
      "message": "Defer resizing invisible stacks while drag resizing\n\nWorks around a source of jank when drag resizing in split\nscreen mode: instead of immediately resizing the (potentially\nnumerous) invisible secondary stacks, we defer that until\nthe user lets go of the handle.\n\nChange-Id: I3b9faa83005fa86185d4e51b2849e3a826b7f6a9\nFixes: 78214347\nTest: Open a gazillion (resizeable) tasks. Enter split screen. Drag handle, verify there is no jank\nTest: atest RectTest\n"
    },
    {
      "commit": "c85057c14c7679c177555914dcf81159614c5769",
      "tree": "97cfebe572f38d2c714a4a877e9c000cd1408c0c",
      "parents": [
        "f2b624c1406241d62703c9d8c64a3b3565d75729"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Thu Apr 19 10:11:18 2018 +0800"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Thu Apr 19 10:48:02 2018 +0800"
      },
      "message": "Made the DrawableWrapper return the right ColorFilter\n\nPreviously it simply returned null\n\nTest: atest cts/tests/tests/graphics/src/android/graphics/drawable/cts/DrawableWrapperTest.java\nChange-Id: Ia4694e8dee08449262bbe1cfd719795fd86e1ee0\nFixes: 78252558\n"
    },
    {
      "commit": "2ad19e51463f2f4b5633fa9c155fd9fc75f387a6",
      "tree": "a9ac54febeb80616fe919812da35e832703a937e",
      "parents": [
        "a3a1e8ad79874be92b91df4255263c617fee5da6"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Apr 18 15:03:09 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Apr 18 16:19:59 2018 -0400"
      },
      "message": "Temporarily allow StackView to use a canvas.clipRectUnion\n\nStackView currently expands the clip of the view which is a prohibited\noperation in API Level 28.  This CL currently allows this specialized\nuse case to work in this situation until we can update StackView\nto not clip to its bounds and then just intersect with this clip\nprovided by its parent.\n\nTest: CtsWidgetTestCases\nBug: 77642155\nChange-Id: Icc003ad3946bb226368ec2030d4707753f4f55e9\n"
    },
    {
      "commit": "4534745f53e10952b706bd22fb0c2a29bcbb75e0",
      "tree": "8ee31da6e358401607527f2e349d2b32bebb27a1",
      "parents": [
        "e5d97dd6f9e10c21568ae96a000e58834015bee9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Apr 13 11:57:08 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Apr 13 13:12:49 2018 -0400"
      },
      "message": "Fix rounding of padding in NinePatchDrawable\n\nBug: 73088142\nTest: Test app at https://buganizer.corp.google.com/issues/73088142#comment6\nTest: GridWidgetTest.testItemDecorationAndMarginsAndOpticalBounds\n\nIn computeBitmapSize, treat padding as a size in scaleFromDensity. This\nresults in rounding instead of truncating. This matches the way optical\ninsets are handled. It also matches the padding we would have gotten if\nwe had scaled at decode time.\n\nChange-Id: I7d3a83ba824b8dc81187ce9b2d9889d4a87f88ac\n"
    },
    {
      "commit": "1cf0b6cbfd056f848dd5837bcf9d18eb5f577a8e",
      "tree": "bf72ef8aa6ea8c8ab5f491b9fffff5c95a1bd48e",
      "parents": [
        "d565f049575cb63fef1b92c47599da928a118112",
        "f2944cd61b84913c6c821594b289e7af9746efff"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 09 16:46:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 09 16:46:26 2018 +0000"
      },
      "message": "Merge \"Add common weight name to the API description\" into pi-dev"
    },
    {
      "commit": "f2944cd61b84913c6c821594b289e7af9746efff",
      "tree": "abda315d6e8213dd138d5c98e2bcb75ba41cd9ce",
      "parents": [
        "7790a2f2d1b5d7bd25b182fd58047a2a2bda5caf"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 02 11:45:34 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 09 14:29:41 2018 +0000"
      },
      "message": "Add common weight name to the API description\n\nBug: 76448718\nTest: m docs\nChange-Id: Id0ce0b2bcbf4f6b0cf1aa97c4d2c3c5117dc62c2\n"
    },
    {
      "commit": "9cb6759072eefacb114782ebdfc3b779693535de",
      "tree": "41fe12e356499c9e8019322efd18a2aa61cfb4de",
      "parents": [
        "ec3f8260defc91e27912a10457de6bff992c8739",
        "7d940ba43d15836ccf32f373c778eebffacf1f5a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 22:42:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 22:42:39 2018 +0000"
      },
      "message": "Merge \"Never scale nine-patches in ImageDecoder\" into pi-dev"
    },
    {
      "commit": "d2c218f78a0a42717337aa49d3b7fa5390afa9ad",
      "tree": "1ae17e86440f3e91018db9a7caa08a94e4a94e3c",
      "parents": [
        "d8a6f0cd9493a154c8727ceb295395c0a8370866",
        "ac959199e5cf553a1b42a486e91918ead4394ff5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 20:44:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 20:44:58 2018 +0000"
      },
      "message": "Merge \"Rename set/get-ConserveMemory\" into pi-dev"
    },
    {
      "commit": "7d940ba43d15836ccf32f373c778eebffacf1f5a",
      "tree": "d222386969f4546b870ffbec5799449dc9554cd6",
      "parents": [
        "ac959199e5cf553a1b42a486e91918ead4394ff5"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Apr 04 16:19:33 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Apr 05 12:50:32 2018 -0400"
      },
      "message": "Never scale nine-patches in ImageDecoder\n\nBug: 76448902\nBug: 70889348\nTest: Manual + CtsThemeHostTestCases\n(Ica5e7e81848c3880accee922ee6f1cc9e26262ca)\n\nScaling a nine-patch requires scaling its divs. When the scale factor is\nnot an integer, we have to round. This gets out of sync with the way the\ndecoder scaled the image, resulting in stretching or keeping fixed the\nwrong portions of the image. Making this worse, when we scale down, we\nend up with divs colliding with each other, and we have to arbitrarily\nadjust them further so they do not collide.\n\nNinePatchDrawable and the drawing code already know how to handle\ndrawing from the originally-sized image and do a better job stretching\nappropriately, so allow them to do their job.\n\nWe already do something similar for Bitmaps created by ImageDecoder on\napps targeting P and above - instead of scaling them up, we allow the\nBitmapDrawable\u0027s scaling code to handle density differences. We\npreserved the old behavior (scale up) on apps targeting pre-P because\nthose apps may rely on the size of the Bitmap contained in a\nBitmapDrawable without accounting for its density (see Bug: 74061412).\nBut that is not an issue for NinePatchDrawables, which do not allow\npeeking at their internal Bitmaps.\n\nRewrite ImageDecoder.computeDensity. There is no need for it to be\nstatic, since it takes an ImageDecoder as a parameter and reads its\nfields, including the new field mIsNinePatch. Set mIsNinePatch in the\nconstructor to avoid another down call into native. Split up the\nconditions that result in returning srcDensity without calling\nsetTargetSize for clarity.\n\nRemove ImageDecoder constructor from the graylist. It was accidentally\nadded due to the fact that it is called transitively from public APIs.\n\nChange-Id: I3c5ddd67f3352c991515f30ce1c477c9a608833f\n"
    },
    {
      "commit": "d9cb59629d13cd641e786dcdc6c6d82983b2bed3",
      "tree": "5807684870c03dc416091f6bec77f8d3d82bf94f",
      "parents": [
        "c83cf90166120435e09a1dd4a436e095622b071c",
        "d97e26428d1c61759910a1b983d5e316c9b893a1"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Apr 05 13:29:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 13:29:38 2018 +0000"
      },
      "message": "Merge \"Add docs for setTargetSize and setTargetSampleSize\" into pi-dev"
    },
    {
      "commit": "ac959199e5cf553a1b42a486e91918ead4394ff5",
      "tree": "26955b51b22eda40305856687558fb0530cdd7ad",
      "parents": [
        "d97e26428d1c61759910a1b983d5e316c9b893a1"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Apr 04 17:01:59 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Apr 04 19:58:30 2018 -0400"
      },
      "message": "Rename set/get-ConserveMemory\n\nBug: 76448408\nTest: Ie83dbdeab5cc3dcd6bd56dd874412ed67eb52c02\nChange-Id: I714b159bb70a48e5644801cc7fef8e32ee93896a\n"
    },
    {
      "commit": "d97e26428d1c61759910a1b983d5e316c9b893a1",
      "tree": "84a4cd34a4963249338cd1e982f80a6d586f282c",
      "parents": [
        "d84c652a4ebbdd8a42d09e28e2d3d83962a0350d"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Apr 03 11:55:55 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Apr 03 11:59:29 2018 -0400"
      },
      "message": "Add docs for setTargetSize and setTargetSampleSize\n\nBug: 77507530\nTest: No change in behavior, no new tests\n\nAdd @Px and @IntRange annotations, and be explicit that setTargetSize\nrefers to pixels. Add a comment to setTargetSampleSize that is like\ncalling setTargetSize with particular values, to try to make it clear\nhow the two are related.\n\nChange-Id: Ie7e9429bc8c548f44d382358c161425f666ba82f\n"
    },
    {
      "commit": "8880a9e0b9a7cf703df328ac54f2acc3df0322dc",
      "tree": "b06e3b6f76755499fbc07d46130e9adbd7692a83",
      "parents": [
        "600fe676f7a164107a7501451483f5ffc2bbdd12",
        "d84c652a4ebbdd8a42d09e28e2d3d83962a0350d"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Apr 03 14:43:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 14:43:01 2018 +0000"
      },
      "message": "Merge \"Update javadocs for ImageDecoder and related\" into pi-dev"
    },
    {
      "commit": "ffe1c2a266f5b4f2da93bdf0fadc3f40d74329d0",
      "tree": "2b972a5d44e4237bbf91ca17a2937c1f0ddf616d",
      "parents": [
        "07daad2dbffa9ce81a5c66adf7f12715bce5516a",
        "2d4f01ba7f544f1bd772239a0f19946b01ed98d9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 14:28:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 14:28:48 2018 +0000"
      },
      "message": "Merge \"Restore saveLayer APIs back into the public API.\" into pi-dev"
    },
    {
      "commit": "d84c652a4ebbdd8a42d09e28e2d3d83962a0350d",
      "tree": "cd60e8651acd61721fa5b223768a540f7758dce8",
      "parents": [
        "d9b53a097d0eec2d1112b25a67b28c203e9251f9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 30 14:56:07 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 30 20:13:39 2018 -0400"
      },
      "message": "Update javadocs for ImageDecoder and related\n\nBug: 76461699\nBug: 76448408\nTest: No change in behavior, no new tests\n\nAdd class level docs for ImageDecoder, including sample code. Update\nwording to be more clear and less wordy. Fix broken attempts at using\nsample code.\n\nIncorporate advice at go/android-api-guidelines and\nhttps://developers.google.com/style/api-reference-comments\n\nChange-Id: Iaf1334993f6cd2d3f6e53d3fb70ef9c7a95c9a76\n"
    },
    {
      "commit": "d9b53a097d0eec2d1112b25a67b28c203e9251f9",
      "tree": "2ffef9300a910c199773ce6a66b45a1f97fed67b",
      "parents": [
        "1e0a9b0b1b706e4ef31522cdbc7d3d5232e6c382"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Mar 27 07:47:07 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 30 15:02:56 2018 -0400"
      },
      "message": "Remove chaining from ImageDecoder setters\n\nBug: 76448408\nTest: Infeasible\nChange-Id: Ib0ef0a9a9b0f36481ed1bbb16ecaccd180df8915\n"
    },
    {
      "commit": "2d4f01ba7f544f1bd772239a0f19946b01ed98d9",
      "tree": "6d6ffbb82b8f18a9b04be33dfeac4fb3169a0cb9",
      "parents": [
        "d490937854d06e29d9214fc030b18b192ce946dd"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 29 16:04:32 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 30 14:40:04 2018 -0400"
      },
      "message": "Restore saveLayer APIs back into the public API.\n\nThe saveLayer APIs are restored from @removed but will treat input\nas ALL_SAVE_FLAGS and generate exceptions on newer API levels.\n\nWe internally used these calls in one situation that now use a\ndifferent @hide API to support the previous behavior until we\nrefactor that code.\n\nPartial revert of \"Remove deprecated android.graphics.Canvas APIs\"\nThis reverts commit 7b837616ae88cbdaf12600cee23b5188e5531937.\n\nBug: 77276963\nBug: 73777445\nTest: CtsGraphicsTestCases\nChange-Id: I7acd4ffd5ac41a58d2be8b48cf50119c2b896708\n"
    },
    {
      "commit": "3c4e33a4fe58a03a2cbb3183fe2bce161a5b9d3e",
      "tree": "bb6ada93e8f18038d29b3281b6647f54eaedb735",
      "parents": [
        "5d27097739612844a609b63664382e42c7bd189f",
        "0a87cb3128a7fe8a999544ec1187159d82aa09dd"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Mar 30 00:53:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 00:53:53 2018 +0000"
      },
      "message": "Merge changes from topics \"DocumentSource\", \"ID_API\" into pi-dev\n\n* changes:\n  Add documentation for ImageDecoder and its Source\n  Rename getters and setters on ImageDecoder\n"
    },
    {
      "commit": "0a87cb3128a7fe8a999544ec1187159d82aa09dd",
      "tree": "e0a2e019b43b9617ad86dc4f49563dc414506ee2",
      "parents": [
        "d62f27250ab99d67242f1de293a31c12c397beb2"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 15:54:59 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 18:47:52 2018 -0400"
      },
      "message": "Add documentation for ImageDecoder and its Source\n\nBug: 76448408\nBug: 76462125\nTest: Iec21bad971dc9cffc807a412bb6329757c499baa\n\n- Document DecodeException.getSource\n- Add thread annotations\n- slice() ByteBuffer inside createImageDecoder, so it can be reused\n- Make ResourceSource thread safe by locking around mResDensity\n- Specify that OnHeaderDecodedListener is necessary for changing default\n  settings\n\nChange-Id: I3b55d3ba1b0a2276938cb521449bceb7aa9f96e2\n"
    },
    {
      "commit": "bf1fe9aecd9a775204645f7e1dfe376dd42b7e87",
      "tree": "7561538d602a82446d5ae70c0604832b1100850a",
      "parents": [
        "275ea423a3dc18fef235a18f15474ddde1a057ca",
        "1a69f4598faef083d0123bb9b6bfcd6acfdec4e0"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 20:27:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 20:27:43 2018 +0000"
      },
      "message": "Merge \"Add in/out ColorSpace to ImageDecoder\" into pi-dev"
    },
    {
      "commit": "d62f27250ab99d67242f1de293a31c12c397beb2",
      "tree": "80f3a4aadee46db3a6c89f5b6f8f1fcdaaead864",
      "parents": [
        "1a69f4598faef083d0123bb9b6bfcd6acfdec4e0"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 14:52:29 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 15:35:30 2018 -0400"
      },
      "message": "Rename getters and setters on ImageDecoder\n\nBug: 76448408\nTest: Ib8782ff10072c81a5ed2a1031a70475fffee7ccf\n\n- Use \"is\" prefix for booleans instead of \"get\"\n- Reverse \"require\" and \"unpremultiplied\" for a more natural sound\n- Add \"Required\" to \"Mutable\" methods\n- Add \"Enabled\" to \"DecodeAsAlphaMask\" methods\n\nChange-Id: I644ddccd37898d89609e4534ece4ea70f74587c4\n"
    },
    {
      "commit": "1a69f4598faef083d0123bb9b6bfcd6acfdec4e0",
      "tree": "83f6a0313e55022743b339ad60884aa86fc26180",
      "parents": [
        "64481195e13e2dd7197fff569344e5a263b7871a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 09:48:47 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 29 13:44:22 2018 -0400"
      },
      "message": "Add in/out ColorSpace to ImageDecoder\n\nBug: 76448408\nTest: I851173b771668f0e6712bebfe06bfb8559801199\n\nAdd ImageInfo.getColorSpace() for retrieving the default ColorSpace.\nThis matches BitmapFactory.Options.outColorSpace.\n\nAdd ImageDecoder.setTargetColorSpace() for choosing a new ColorSpace.\nThis matches BitmapFactory.Options.inPreferredColorSpace.\n\nRename setSampleSize to setTargetSampleSize to match setTargetSize and\nsetTargetColorSpace.\n\nChange-Id: If2f4e755dfc163f754849f896de24659198973db\n"
    },
    {
      "commit": "9434b66bf731a84ecb2d491f3bce4ffca07707af",
      "tree": "b2447094099efdc7753b9131f83a2d9601098832",
      "parents": [
        "2011f2333d1b9d0930223dbb3587a40e2d1b80bb",
        "205d83e108e4ff0442547cb30a8c2d83f69afa15"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 29 16:53:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 16:53:41 2018 +0000"
      },
      "message": "Merge \"Move Path to NAR\" into pi-dev"
    },
    {
      "commit": "205d83e108e4ff0442547cb30a8c2d83f69afa15",
      "tree": "3f05673762fd48a16fa52c5c0023581bb9615fdf",
      "parents": [
        "e1c76d71e747d9bb1e5ecdb2ffc5fe254cba174b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 28 14:36:58 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 28 14:36:58 2018 -0700"
      },
      "message": "Move Path to NAR\n\nBug: 74686528\nTest: PathTest#testUseAfterFinalize\nChange-Id: Ic1c9df6f1b63ea5795a6c3a54b8fc50fdaf0a5f4\n"
    },
    {
      "commit": "64481195e13e2dd7197fff569344e5a263b7871a",
      "tree": "fe52239224f5e4537f474ffe134cea98790c5443",
      "parents": [
        "ff23ffa8ff352b9c7178d19779783d7c231fabda"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 28 09:17:42 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 28 11:24:12 2018 -0400"
      },
      "message": "Rename ImageDecoder.setResize\n\nBug: 76448408\nBug: 73537624\nTest: Ib40d65c68a6c709b6456f2145ad8a5557a941494\n\nsetResize is two verbs, and \"resize\" implies we\u0027re changing the size of\nan existing object. In truth, the method specifies the desired size. So\nrename setResize(int, int) to setTargetSize, which clearly specifies the\nbehavior.\n\nRename setResize(int sampleSize) to setSampleSize.\n\nHide getSampledSize, which looks too similar to the newly named\nsetSampleSize. In addition, b/76448408 suggests hiding it. It isn\u0027t\nreally necessary anyway, since a client can just call setSampleSize - no\nneed to query and call setTargetSize manually.\n\nSince there is no way for a client to know that a RAW image couldn\u0027t be\ndecoded to the desired size (could previously be done with\ngetSampledSize), make setSampleSize do the extra scaling. This is a\nbetter API anyway.\n\nChange-Id: I84c29fdc6bdfb999a7f712fdc069304ae9676ba6\n"
    },
    {
      "commit": "bef42cd87f6ac41688114678a70a2e410e238cb1",
      "tree": "be4b9a785c5660d15dd226157dd1b33d40b609cb",
      "parents": [
        "6d0412ee22d4d4991d98a564140e6b5a57c2a3b3",
        "b5afc250bcd22b6966ec66c28e1aa0a5f4e4e32f"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Tue Mar 27 18:54:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 18:54:28 2018 +0000"
      },
      "message": "Merge \"Docs: add more detail to SurfaceTexture#getTimestamp\" into pi-dev"
    },
    {
      "commit": "b5afc250bcd22b6966ec66c28e1aa0a5f4e4e32f",
      "tree": "a9416e6fe33488977c27cb03d6fe37834643e1ba",
      "parents": [
        "620da5249ffcbebe10534e164006a85355b8a815"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Mar 23 09:43:42 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Tue Mar 27 17:08:04 2018 +0000"
      },
      "message": "Docs: add more detail to SurfaceTexture#getTimestamp\n\nCopies language from \u003candroid/surface_texture.h\u003e that connects\nEGL/Vulkan presentation timestamps to SurfaceTexture#getTimestamp.\n\nIn the process, reorganized the existing language to talk about\ngeneral properties of the timestamp, and then talk about behavior of\nspecific producers instead of mixing them together.\n\nBug: 72755997\nTest: make docs\nChange-Id: I88253f9e23df7d7c4fe3c1c51ff2ac494da1913c\n(cherry picked from commit 63d2a0e00005e9b5bb6e62d752a23ef2e43b03d4)\n"
    },
    {
      "commit": "7b837616ae88cbdaf12600cee23b5188e5531937",
      "tree": "423bf476641da8b71234af88304bbec075a74b16",
      "parents": [
        "b429012907e8b48bf88c5ec5e91312c3379ca325"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 22 16:16:33 2018 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Mar 27 14:36:50 2018 +0000"
      },
      "message": "Remove deprecated android.graphics.Canvas APIs\n\nBug: 73777445\nTest: compile\nChange-Id: Ie68f2fbe3c3be82f3c20529d535875d4cc204b7c\n"
    },
    {
      "commit": "6f5e83df3a519fd1806d85b412175516efbb6fea",
      "tree": "116e68315e10e2c1ab304e5eda3c2301434459c6",
      "parents": [
        "9f36c26f83cbb29c947c681c750340401e62e768",
        "53f09ee1f194849f02e62ddbf2137c3ea82b8ad7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 12:47:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 12:47:22 2018 +0000"
      },
      "message": "Merge \"Update AnimatedImageDrawable docs\" into pi-dev"
    },
    {
      "commit": "53f09ee1f194849f02e62ddbf2137c3ea82b8ad7",
      "tree": "09f55cab7adc862f6590e84ecfe12426c98d2c81",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 26 10:44:47 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 26 10:44:47 2018 -0400"
      },
      "message": "Update AnimatedImageDrawable docs\n\nBug: 73529437\nTest: No change in behavior, no new tests\n\nDocument that it can be inflated from xml, and reference the attributes\nthat it supports.\n\nAdd a comment describing what the class does with respect to animation.\n\nUpdate the comment for start() to better reflect when the callback is\ncalled.\n\nChange-Id: I660cbc4e185dca8bc7a43a185f91ae0485ef8753\n"
    },
    {
      "commit": "29c8b5458ac2f1d9b61412d1b9cf718c196c05df",
      "tree": "88960b77b7c4b34c7c76f6fe5611158808104a16",
      "parents": [
        "4341a66b03aa8ba03de09db4bd446312c47176be"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 23 15:38:18 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 23 15:38:18 2018 -0700"
      },
      "message": "Add missing computeOpacity call\n\nChange-Id: I3b668842d4cd072a0625c32cae0a1ade0e322a7d\nFixes: 73285195\nTest: GradientDrawableTest#testGetOpacity\n"
    },
    {
      "commit": "dfdc3791441ff6ede4b4ae36ecdc627561471a8e",
      "tree": "4cf002f60babda0c1990e8f7a6d161b65dacd965",
      "parents": [
        "0ed26bc8b1bf04e79a5abceb6f13cf509b9d105a",
        "322bc57a338ec650347084ef379860c19b29d1b4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 11:25:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 11:25:19 2018 +0000"
      },
      "message": "Merge \"detect api version, and start respecting offsets\" into pi-dev"
    },
    {
      "commit": "ceb14e015b537fa7d72f56b0f11c0d7d6120058b",
      "tree": "0b932cea075a912c017f4f3883b041d6458ab7fb",
      "parents": [
        "e8582d0ca7f78a7e90d44936778085ba131d95ba",
        "cf7294fda671a39e6aa21da30be0dac261d71638"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 21:53:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 21:53:05 2018 +0000"
      },
      "message": "Merge changes from topics \"DecodeException_ERROR\", \"AID_autoStart\", \"onPartialImage\" into pi-dev\n\n* changes:\n  Rename ImageDecoder.ERRORs\n  Add the ability to autoStart AID from xml\n  Re-write onPartialImage API\n"
    },
    {
      "commit": "e7c26531c0e0bc7d679c855c66580b3e46856305",
      "tree": "923879024af98947fd35b68e2fc82903cd5fedae",
      "parents": [
        "9bea50471f1ed7d6357ce454f8cab88b78139ac8",
        "5388f79a4518b132b304c5b475f28f49fbb88232"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 21:34:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 21:34:32 2018 +0000"
      },
      "message": "Merge \"Disable Bitmap density scaling to Picture\" into pi-dev"
    },
    {
      "commit": "cf7294fda671a39e6aa21da30be0dac261d71638",
      "tree": "5022640f87b3d5e48d889f69aafdf8f39a72250e",
      "parents": [
        "1dd88daf920a111fcf3f8744bd55e6828acd0fce"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 09:21:29 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 13:09:02 2018 -0400"
      },
      "message": "Rename ImageDecoder.ERRORs\n\nBug: 73788969\nTest: I501e8b76aacd785cb994165ab01dc1b39fea3a1c\n\nMove them into ImageDecoder.DecodeException, which is where they are\nactually used. This also provides some more context, so that the prefix\n\"ERROR_\" is no longer necessary, fixing the redundancy/awkwardness in\nERROR_SOURCE_ERROR. Further rename that to SOURCE_MALFORMED_DATA, which\nis more descriptive, and does not imply a Java Error.\n\nChange-Id: Ied17ad343650f9c33d9a35b0f9d00ccc22264bd6\n"
    },
    {
      "commit": "5388f79a4518b132b304c5b475f28f49fbb88232",
      "tree": "225eab436590c50f97903bef9a650479997b19e0",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 12:36:22 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 12:36:22 2018 -0400"
      },
      "message": "Disable Bitmap density scaling to Picture\n\nBug: 76144110\nTest: I95165583649a1df86782d3684f7bf9bcd8dab7bd\n\nThis matches the behavior of DisplayListCanvas. Not scaling means that\nwe can draw a Bitmap to a Picture, and then play that back in HW mode\nand see the same result.\n\nChange-Id: I7421431bad0531112e06ab5c14814b6b6f1591d9\n"
    },
    {
      "commit": "1dd88daf920a111fcf3f8744bd55e6828acd0fce",
      "tree": "46786d205e3b9e534f3d08dac395a60c3b799b32",
      "parents": [
        "1d2bf2b846f0a98f7403bbc791adb2969685d87a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 14:42:09 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 09:05:42 2018 -0400"
      },
      "message": "Add the ability to autoStart AID from xml\n\nBug: 73529437\nTest: Ic818bbf1091d12631aedd6475d225fa4a708b29c\nChange-Id: I4807409895a057e775bfee5dea407e8dc1af94be\n"
    },
    {
      "commit": "322bc57a338ec650347084ef379860c19b29d1b4",
      "tree": "7486cc80128fd9cc0450abe0ae2bb1e8d04c46b2",
      "parents": [
        "90df705a0ba361bfcb0d2ea86f24b6691f824509"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 20 13:37:04 2018 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Wed Mar 21 17:39:01 2018 +0000"
      },
      "message": "detect api version, and start respecting offsets\n\nTest: make\n\nBug: 36471624\nChange-Id: Ica10c557bf35e8d707fabbafab49d22109916fd3\n"
    },
    {
      "commit": "1d2bf2b846f0a98f7403bbc791adb2969685d87a",
      "tree": "25861f62e2badf62c654d22b6b3f039b649dad75",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 14 16:07:43 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 12:55:46 2018 -0400"
      },
      "message": "Re-write onPartialImage API\n\nBug: 73788969\nTest: If9e27a6ce2604128a619bc4843d62711f94b4d87\n\nAdd a new Exception subclass that contains information about the type of\nerror, and the original Exception, if any. Remove the old\nIncompleteException class. If the decode creates a partial image, pass\nthe information up to Java, where we create the new Exception and pass\nit to the callback and/or throw it. Rewrite nDecodeBitmap to always take\nthe ImageDecoder as a parameter for this callback, and simply use a\nboolean to determine whether to call onPostProcess\n\nCheck for exceptions in some overlooked cases in native code, and\nroute to the new type.\n\nRemove FIXME to avoid parsing the whole image. In my limited testing,\nit didn\u0027t seem to speed anything up, and this should be called in a\nbackground thread anyway. Parsing now also ensures that we\u0027ve read the\nstream when we can have a chance to handle the exception from the right\nplace.\n\nRemove fixme for b/70626068, which has been marked as WontFix.\n\nAdd a TestApi for testing an Exception thrown by an InputStream.\n\nRemove onPartialImage from hiddenapi-light-greylist.txt to fix the build\nerror this change introduces. onPartialImage was erroneously added to\nthe list.\n\nChange-Id: I12f69857328e63c993bd669412b06addeb6a74f1\n"
    },
    {
      "commit": "d848f75f9955c80209e2cd163993cfbe76f76f51",
      "tree": "314751544037937d9f04974e425081d7c23b9008",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576",
        "eb3b38e22cb29c6a7fccb7031263f50663cc76d0"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 16:48:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 16:48:19 2018 +0000"
      },
      "message": "Merge \"Report native allocation size of AnimatedImageDrawable\" into pi-dev"
    },
    {
      "commit": "eb3b38e22cb29c6a7fccb7031263f50663cc76d0",
      "tree": "020068ada31d756c10864558c63da49f37a8fe10",
      "parents": [
        "bf190fd9641cd3ad76bc7bb289b4a3de83d0335a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Mar 20 11:11:13 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 09:28:00 2018 -0400"
      },
      "message": "Report native allocation size of AnimatedImageDrawable\n\nBug: 73641604\nTest: infeasible\n\nFix nNativeByteSize\u0027s return value to be jlong, instead of long.\nAdd up the bytes used by the SkAnimatedImage and SkPictures and store\nthem on the AnimatedImageDrawable for registration.\nNote that this is an approximation, and it assumes it will be drawn to a\nhardware canvas and animated.\n"
    },
    {
      "commit": "83ad4e53b63810b5a57ede50b24ac2a622ab2957",
      "tree": "0314b0fa0adf4e5b0cc46f0158d4e35b7f0e381f",
      "parents": [
        "e4670107489b83237b971f92d1fbf87b847ed4ca",
        "8290eaba47b99398fbe0bd59138f902bde558ecb"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Mar 20 16:44:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 16:44:44 2018 +0000"
      },
      "message": "Merge \"Scale up in ImageDecoder based on API level\" into pi-dev"
    },
    {
      "commit": "51d2cc45d8a7efac4e83303737ee8168fc161291",
      "tree": "988e83d720e133b93d76e3993051f408a5073b77",
      "parents": [
        "a382a8e668445e51aa2f035aedccb91edd1503be",
        "121ef98bfb0e34a2726dd0fb9112915017bfcde4"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Mar 20 14:33:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 14:33:43 2018 +0000"
      },
      "message": "Merge \"Add an asset source for ImageDecoder\" into pi-dev"
    },
    {
      "commit": "8290eaba47b99398fbe0bd59138f902bde558ecb",
      "tree": "a303264bcb7d5bc1df0e11929b7638e0bcbd701c",
      "parents": [
        "121ef98bfb0e34a2726dd0fb9112915017bfcde4"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 10:51:44 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Mar 20 10:30:32 2018 -0400"
      },
      "message": "Scale up in ImageDecoder based on API level\n\nBug: 74061412\nBug: 73893665\nTest: Manual, I5669a97c70d726826c5c00bc1413c2f97d95d88c\n\nImageDecoder typically does not scale a Bitmap up to handle density.\nThis saves memory, and we already handle the density by scaling at\ndraw time. But some apps rely on the size of the Bitmap without taking\ndensity into account. For backwards compatibility, on apps that are\nbuilt for a pre-P version of Android, scale up in ImageDecoder.\n\nChange-Id: I9991d1286e386b47fc57bcfbf0c6652beb1a53ef\n"
    },
    {
      "commit": "c45c2d65a58d1dfc64bc8532f33bd7b6c8e42f86",
      "tree": "d12d433d98199dc9a79d11230c270f5d9bce40d8",
      "parents": [
        "83c4690f5504a5c0c8ff16f7669d56d08348e028",
        "ce89a6e656a4d4d2c0e724c485e109cd6bc60997"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 22:10:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 22:10:31 2018 +0000"
      },
      "message": "Merge \"Work around incorrect Skia gamma\" into pi-dev"
    },
    {
      "commit": "121ef98bfb0e34a2726dd0fb9112915017bfcde4",
      "tree": "c109b78376dcf98ad9e8bd27aadfd361c40ff34a",
      "parents": [
        "1eccac89c13a79671e04cfce359a9506b284d5fe"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 16 15:40:54 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 13:01:57 2018 -0400"
      },
      "message": "Add an asset source for ImageDecoder\n\nBug: 74545298\nTest: I6a633553bbb5ff26d84aaf5371b8b43a770afd4f\n\nThis allows using ImageDecoder to decode a file in the \"assets\"\ndirectory of an app.\n\nChange-Id: I2193f052cc2e16c55c7f68f7e51e07cd24ee4df9\n"
    },
    {
      "commit": "1eccac89c13a79671e04cfce359a9506b284d5fe",
      "tree": "ebc4dad7a88fb1d6fa3bf3f0840887a22c039bc4",
      "parents": [
        "bf190fd9641cd3ad76bc7bb289b4a3de83d0335a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 16 15:04:04 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 13:01:52 2018 -0400"
      },
      "message": "Add ImageDecoder.Source for resources\n\nBug: 74545298\nTest: Ibc283c2e8aee999e951de51f3a43b581a765aaf5\n\nAlthough resources can already be accessed with ContentResolver + URI,\nthis allows a simple method to do the same.\n\nChange-Id: I1bf698f36d5540f6de7cb9957e4223123d0f4331\n"
    },
    {
      "commit": "83143d005b38bf4d629825aaac037e759c68b8a6",
      "tree": "ee2fefe810f35085b05dca254dc941c5b2ec61ab",
      "parents": [
        "02fea57dc0718fbf3a4d1a859d37c87a712f778a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Mar 14 17:08:28 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Mar 15 04:09:19 2018 +0000"
      },
      "message": "Remove mtOffset from drawTextRun\n\nBug: 72998298\nTest: atest CtsWidgetTestCases:EditTextTest\n    CtsWidgetTestCases:TextViewFadingEdgeTest\n    FrameworksCoreTests:TextViewFallbackLineSpacingTest\n    FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest\n    CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest\n    CtsTextTestCases FrameworksCoreTests:android.text\n    CtsWidgetTestCases:TextViewPrecomputedTextTest\n\nChange-Id: Ia886c1ce9f7387559d7fe00b34ce03378d56ecec\n"
    },
    {
      "commit": "13cd2c9227a07a82a9e05be495bcd047fafcf00b",
      "tree": "63d326130989707e59fbf037b4010ae32a96d53a",
      "parents": [
        "98c1d17cb43eeea437c4fead9c6a26316208aa38",
        "186ea1218ee5dcb7650d0759a2af4b61af166cbe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 20:23:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 20:23:29 2018 +0000"
      },
      "message": "Merge \"Document the byte packing order of the current Bitmap.Configs\" into pi-dev"
    },
    {
      "commit": "186ea1218ee5dcb7650d0759a2af4b61af166cbe",
      "tree": "c5ffa2a06c657cdc314b990d579360f086fe8dcd",
      "parents": [
        "bc57bf307c0d76e6b6589d892b75ec64941d7e74"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Mar 14 13:26:47 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Mar 14 13:29:22 2018 -0400"
      },
      "message": "Document the byte packing order of the current Bitmap.Configs\n\nThis CL documents the byte order for 585, 8888, and fp16 buffers.\n\nTest: documenting existing behavior\nBug: 71518511\nChange-Id: I128344db318eb4597b6eb00f0ae317e369145152\n"
    },
    {
      "commit": "1b8333d1fb42ea1aaafdea3e6f1fb0071e5ebb74",
      "tree": "46b6e7da90f3b2d81d052b3c9dba2aa760dcf485",
      "parents": [
        "cd9a549e36da179bf18ff18df43755b4bbd8bf87",
        "f3523ec5242f90f9608d7f860144f58ef5707b10"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 22:24:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 22:24:41 2018 +0000"
      },
      "message": "Merge \"Unhide getWeight of Typeface\" into pi-dev"
    },
    {
      "commit": "ce89a6e656a4d4d2c0e724c485e109cd6bc60997",
      "tree": "1a25ec0ffd184a91f059aee6f549f0edfb2869da",
      "parents": [
        "15e91e6f3a1ef044f3489bbaf34156b78a22d563"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Mar 13 15:39:39 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Mar 13 15:39:39 2018 -0400"
      },
      "message": "Work around incorrect Skia gamma\n\nBug: 74408046\nTest: Ic6acdc4a1a16840ec6ad9b13b4926c643d0f81ae\n\nSkia incorrectly sets the gamma for LINEAR_EXTENDED_SRGB to 0 as a\nmisguided optimization attempt. As a result, a HARDWARE Bitmap which\nnatively has this color space does not match it properly. (Note that we\nalready catch an F16 Bitmap, above.) Add a workaround in\nBitmap.getColorSpace() to check for the color space explicitly.\n\nChange-Id: Id595e365d1c8d572cfcea214d230a8ce1decdc01\n"
    },
    {
      "commit": "59897ec4ab51e1639f670cc2912a8a7ef34e52a1",
      "tree": "411a48fb684b8b07436f18421de6be47c380bcfb",
      "parents": [
        "b90670cf1752d79ffed020bf4653b300c417d57b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 13 11:45:43 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 13 11:45:43 2018 -0700"
      },
      "message": "Revive old private api for saving supportlib-v27\n\nThe method signature of the createFromFamiliesWithDefault is changed\nfor supporting multiple font fallback. The old method is used by\nsupportlib-v27.\n\nBug: 73981003\nTest: Manually done\nChange-Id: I45ee9975b0f15481b60362113b89d4a1bf5a5338\n"
    },
    {
      "commit": "f3523ec5242f90f9608d7f860144f58ef5707b10",
      "tree": "75f58c71cff71fbeb070d1c747888806c9be5b5a",
      "parents": [
        "9aefc4fce0f8756e22bdb5f8086e35c2bb537947"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 06 13:38:11 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Mar 09 19:15:13 2018 +0000"
      },
      "message": "Unhide getWeight of Typeface\n\nBug: 64852739\nTest: atest CtsWidgetTestCases:EditTextTest\n    CtsWidgetTestCases:TextViewFadingEdgeTest\n    FrameworksCoreTests:TextViewFallbackLineSpacingTest\n    FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest\n    CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest\n    CtsTextTestCases FrameworksCoreTests:android.text\nChange-Id: Ic360cee7d57b38f3b92ecb68ab6bd46d961c3232\n"
    },
    {
      "commit": "2b6db8d2789444ab9a3b9a897190835d357e56f6",
      "tree": "d9e4b76d2f5178c348065145f3b992f07e96b1bc",
      "parents": [
        "a24322afc6e9130671683c24eb662e44b8e0e645",
        "746a9fee937969af9be7e060335e26e098971615"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 21:40:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 21:40:22 2018 +0000"
      },
      "message": "Merge \"ImageDecoder: Add getters. Rename setAsAlphaMask\" into pi-dev"
    },
    {
      "commit": "7d968346bf8e2c2e6814cf7ecb25894ced2b23db",
      "tree": "a631e01e43a45935da7688685495c014c796f9df",
      "parents": [
        "f3fc9a62cd5a84ecaab2830e51ba1f435ab30ae9",
        "abe50314163dcc8faf05cf21d649899146bbdbdc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 21:16:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 21:16:47 2018 +0000"
      },
      "message": "Merge \"Stop using finalizer in Typeface and FontFamily\" into pi-dev"
    },
    {
      "commit": "746a9fee937969af9be7e060335e26e098971615",
      "tree": "321a38d59f4a6b0ebcb595c7df7c377cafa374e2",
      "parents": [
        "b6956c92bcd8dedcff9706435412ae6d8a7735cb"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 08 10:32:10 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 08 14:22:56 2018 -0500"
      },
      "message": "ImageDecoder: Add getters. Rename setAsAlphaMask\n\nBug: 73788928\nTest: I1606cbb4e71579160ffaef12c1ed738fad882cd1\n\nThis will allow Kotlin developers to treat the setters as properties.\n\nPart of the motivation for the rename is that \"getAsAlphaMask\" sounds\nlike it returns an alpha mask itself. Rename both to\n_etDecodeAsAlphaMask.\n\nChange-Id: I8f9b04f8381840490b662c3bcd37a95442af8110\n"
    },
    {
      "commit": "b577d00c356d30afa08d895454790070e1d0bf74",
      "tree": "cf0831c3875275d09eb306a0751129a80cc9ee34",
      "parents": [
        "2da6c9aa8b1f031f9b4b74d38eba4145fb2fba3b",
        "32b64217a97db96deeb4872bc2626f64d1c43f1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 23:58:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 23:58:24 2018 +0000"
      },
      "message": "Merge \"Setting the alpha on the full bitmap for AdaptiveIcon instead of individual layers\" into pi-dev"
    },
    {
      "commit": "abe50314163dcc8faf05cf21d649899146bbdbdc",
      "tree": "d3ecb92ae8bd5664922fb7859f759c80795270ee",
      "parents": [
        "1e36211a9633c2f0a87701e0f9bf78291514da03"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Feb 20 14:49:59 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Mar 07 11:46:13 2018 -0800"
      },
      "message": "Stop using finalizer in Typeface and FontFamily\n\nUse NativeAllocationRegistry instead.\n\nVerified this doesn\u0027t cause performance regressions:\n\nStaticLayout creation time:\n MeasuredText Balanced Hyphenation  :    721,055 -\u003e    723,812: (+0.4%)\n MeasuredText Balanced NoHyphenation:    527,880 -\u003e    505,843: (-4.2%)\n MeasuredText Greedy Hyphenation    :    476,982 -\u003e    460,241: (-3.5%)\n MeasuredText Greedy NoHyphenation  :    471,074 -\u003e    459,013: (-2.6%)\n RandomText Balanced Hyphenation    : 18,566,915 -\u003e 18,514,633: (-0.3%)\n RandomText Balanced NoHyphenation  :  7,697,772 -\u003e  7,658,458: (-0.5%)\n RandomText Greedy Hyphenation      :  7,648,606 -\u003e  7,602,026: (-0.6%)\n RandomText Greedy NoHyphenation    :  7,643,946 -\u003e  7,618,898: (-0.3%)\n\nMeasuredText creation time:\n NoStyled Hyphenation               : 18,377,293 -\u003e 18,521,296: (+0.8%)\n NoStyled Hyphenation WidthOnly     : 17,852,099 -\u003e 17,889,073: (+0.2%)\n NoStyled NoHyphenation             :  7,608,972 -\u003e  7,614,311: (+0.1%)\n NoStyled NoHyphenation WidthOnly   :  7,194,461 -\u003e  7,192,043: (-0.0%)\n Styled Hyphenation                 : 15,396,698 -\u003e 15,352,501: (-0.3%)\n Styled Hyphenation WidthOnly       : 14,356,020 -\u003e 14,379,205: (+0.2%)\n Styled NoHyphenation               : 14,926,657 -\u003e 14,971,723: (+0.3%)\n Styled NoHyphenation WidthOnly     : 13,964,537 -\u003e 13,874,324: (-0.6%)\n\nStaticLayout draw time:\n MeasuredText NoStyled              :    644,795 -\u003e    635,241: (-1.5%)\n MeasuredText NoStyled WithoutCache :    637,943 -\u003e    616,369: (-3.4%)\n MeasuredText Styled                :    866,664 -\u003e    860,322: (-0.7%)\n MeasuredText Styled WithoutCache   :    917,795 -\u003e    897,164: (-2.2%)\n RandomText NoStyled                :    538,196 -\u003e    533,253: (-0.9%)\n RandomText NoStyled WithoutCache   :  7,012,076 -\u003e  7,047,498: (+0.5%)\n RandomText Styled                  :  3,011,941 -\u003e  2,999,661: (-0.4%)\n RandomText Styled WithoutCache     :  3,486,225 -\u003e  3,462,493: (-0.7%)\n\nBug: 70185027\nTest: atest CtsWidgetTestCases:EditTextTest\n    CtsWidgetTestCases:TextViewFadingEdgeTest\n    FrameworksCoreTests:TextViewFallbackLineSpacingTest\n    FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest\n    CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest\n    CtsTextTestCases\n\nChange-Id: I7ebb8a219a8eb07c8ad9fa432e8454e4e06be386\n"
    },
    {
      "commit": "32b64217a97db96deeb4872bc2626f64d1c43f1b",
      "tree": "2b00ab0d911b96d872d9fa72fb2b47e4dd1fa894",
      "parents": [
        "292d895fb2406ac66da0d6cf2c955fd3bf0fd00d"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Wed Mar 07 09:15:12 2018 -0800"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Wed Mar 07 10:11:56 2018 -0800"
      },
      "message": "Setting the alpha on the full bitmap for AdaptiveIcon instead of individual layers\n\nTest: atest FrameworksCoreTests:AdaptiveIconDrawableTest\nBug: 72798522\nChange-Id: I3862942bf6f2c4767c293f09ad14725b5f0fbb2b\n"
    },
    {
      "commit": "5e8447f74dd371bd6e3079c126eff1d5c3df2e4b",
      "tree": "e701389beb0d1d8e11ad41ba4603886ddfc82367",
      "parents": [
        "999e97f405b8f01b12a6fb8e844d33dc807813fa"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 05 14:22:51 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 05 15:06:40 2018 -0500"
      },
      "message": "Draw AnimatedImageDrawable mirrored if desired\n\nBug: 73529437\nTest: I27af7c3b2e08fa50bc19e08930d970931ce4b5e9\n\nIf isAutoMirrored, and the layout direction is RTL, make\nAnimatedImageDrawable draw flipped.\n\nChange-Id: I9a3436ef4cb9df2845a67663a2503c2c1a3dba89\n"
    },
    {
      "commit": "6de55b88f7542cbce90e53b53f4b66a6ceaaad4b",
      "tree": "64983fba34d52d4b70dfbea6b4b6dc7cee73ee78",
      "parents": [
        "c9aa856559ca3b08c9409164b2f86c218c71505f"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 16:11:37 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 02 16:11:37 2018 -0500"
      },
      "message": "AID: Change loop to repeat and set from xml\n\nBug: 73529437\nTest: I60fbee6d3610070413e8c46f363ec3c19c2e7c52\n\nAllow setting AnimatedImageDrawable\u0027s loop count in xml. Use\n\"repeatCount\" to match the existing attr used by other objects, and\nchange the Java api from \"loop\" to \"repeat\".\n\nCache the repeat count in the State object for the situation where we\ninflate but are waiting on a theme, so that when we get a src we can\napply the existing repeat count.\n\nChange-Id: Ie723fe9a40c64dd0e1e8fd7b5d5cf81e5c5ccd0d\n"
    },
    {
      "commit": "c9aa856559ca3b08c9409164b2f86c218c71505f",
      "tree": "a259a18afb69259207a20a52c45a17db3251b1f9",
      "parents": [
        "b60ca84e23ea6ae0e8b05323f9a601963e20eaab"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Feb 26 10:28:03 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 02 16:11:36 2018 -0500"
      },
      "message": "Make OnHeaderDecodedListener NonNull\n\nBug: 73788928\nTest: No change in behavior; no new tests.\n\nThere is already an overload for both decodeDrawable and decodeBitmap\nthat allows not using an OnHeaderDecodedListener, so require calls to\nthe method that includes a parameter for it to contain a non-null\nversion.\n\nThrow an exception if OnHeaderDecodedListener is null. Move\nimplementation to Impl methods to share code without lint warnings.\nRename the non-static decodeBitmap to decodeBitmapInternal, to\ndistinguish it from the others.\n\nChange-Id: I12c0a35786d8d1267044ac09b5c9203cdfb7175a\n"
    },
    {
      "commit": "fd81bcf7cebf389a56bd20eaf2a80fa28619d8fa",
      "tree": "fb6844c22b038a820bc6b8f8b986802b9b1c5291",
      "parents": [
        "458970dab9ad093c1a72a227e3602d354e2dea48",
        "0e9418eff657d6bcedb4aa3be6c0ec869aa87032"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Mar 01 21:21:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 21:21:02 2018 +0000"
      },
      "message": "Merge \"Recommend res/animator/ for animator style res in AVD\""
    },
    {
      "commit": "0e9418eff657d6bcedb4aa3be6c0ec869aa87032",
      "tree": "f201588d39e6be98248b43cff04293762d1aa1c8",
      "parents": [
        "d205cde576894f36f86e6944cde4ebcdbf46120a"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Mar 01 11:11:44 2018 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Mar 01 11:24:47 2018 -0800"
      },
      "message": "Recommend res/animator/ for animator style res in AVD\n\nBUG: 74074384\nTest: Visual inspection\nChange-Id: Ifd268efd85124c7597b5b135a3dbe13d009dc917\n"
    },
    {
      "commit": "3fe18d9c92d25f36fba0b47026fca406391e33a8",
      "tree": "74ca09c10f5311fec57a6e5b8682ec41f8c327fb",
      "parents": [
        "893ef8db21f6db5810629b6babf4e3921e7c9882",
        "4367534058a07fd79ef1bbfec4e27f34275ab5c7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 21:22:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 21:22:30 2018 +0000"
      },
      "message": "Merge \"slice() the ByteBuffer passed to ImageDecoder\""
    },
    {
      "commit": "0e35073ec9d02677f189e96b734d87d9dba650bd",
      "tree": "3ac9d162c72efb8fbc274290f9650a9596535fb0",
      "parents": [
        "67e5ac94cd5fb230c01cfddde100f67f450b15e9",
        "7b0b97a42ae4e72e1b2285524db8cfc0442e8b81"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Feb 28 20:01:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 20:01:09 2018 +0000"
      },
      "message": "Merge \"Add APIs to look into whats in an Icon\""
    },
    {
      "commit": "67e5ac94cd5fb230c01cfddde100f67f450b15e9",
      "tree": "c04c8022a0e8b758a428831e71aac3f20bed17d4",
      "parents": [
        "6158952c30497fa10bed5f7955cfb25c394e7593",
        "979b884a040fa211383eec1457530f4f3dc4cc3c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 19:55:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 19:55:15 2018 +0000"
      },
      "message": "Merge \"deprecate EmbossMaskFilter\""
    },
    {
      "commit": "824095856be2745050d5c45d91bd88492f2940f4",
      "tree": "c38cef9cfe52d1ae70ec9619217138404f89bd81",
      "parents": [
        "f10f40b03c33f757b228877f305c5d7302d88c82",
        "5f7e948ad808d3f9c84482594e0da45b4181a6e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 19:05:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 19:05:29 2018 +0000"
      },
      "message": "Merge \"Allow chaining ImageDecoder\u0027s setters\""
    },
    {
      "commit": "f10f40b03c33f757b228877f305c5d7302d88c82",
      "tree": "478eb611423f29439eee0acb7d2b19e8ee8a5f26",
      "parents": [
        "afab611ad03a6a9f6d9c61bd9269525f12c1b4d4",
        "a38b2135a4bf4368734567a73d2e56f1c318fee9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 18:47:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 18:47:03 2018 +0000"
      },
      "message": "Merge \"setPreferRamOverQuality -\u003e setConserveMemory\""
    },
    {
      "commit": "bf6edacac900e4f889dde292474e0e3fecb8d689",
      "tree": "46d09a422ca469bad68aa0ac3143933fb4a50898",
      "parents": [
        "5197f9cce0dcf5e8a30290fa9353e46e29ab92cc",
        "e245116af39f58288b3003f221fc0f151b0fea05"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 01:21:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 01:21:41 2018 +0000"
      },
      "message": "Merge \"New attribute textFontWeight for selecting weight in the font family\""
    },
    {
      "commit": "7b0b97a42ae4e72e1b2285524db8cfc0442e8b81",
      "tree": "6c22406ae6997200f473b21e2ad8eba8e3948c68",
      "parents": [
        "465f2c7b40ab23338ed047f020b8727404003d86"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Feb 27 13:34:42 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Feb 27 18:02:23 2018 -0500"
      },
      "message": "Add APIs to look into whats in an Icon\n\nTest: cts\nBug: 73943728\nChange-Id: Iefbb4cecad5dd4abfcfc4d2085b0df6b62392305\n"
    },
    {
      "commit": "e245116af39f58288b3003f221fc0f151b0fea05",
      "tree": "8628b5349189016eb0f2ef505f7cb33c404a86d7",
      "parents": [
        "f42a1080d51887fdffcec1da3de3cdd9ab8ab93c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Feb 22 11:26:39 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Feb 27 11:39:13 2018 -0800"
      },
      "message": "New attribute textFontWeight for selecting weight in the font family\n\nNote that AppCompatTextView doesn\u0027t work well with this attribute since\nit overwrites the selected Typeface.\n\nBug: 63135308\nTest: atest android.widget.cts.TextViewFontWeightTest\nChange-Id: I76ee5e3007ea5f96249d2a0bfb66ff5975c62522\n"
    },
    {
      "commit": "979b884a040fa211383eec1457530f4f3dc4cc3c",
      "tree": "55415e01a4f9b7b44a7b043cd2df04112e8ae023",
      "parents": [
        "ddd4ca1e1b3b2c07d585f6c3aaa503e520c330dd"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Feb 26 14:49:30 2018 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Feb 26 21:38:54 2018 +0000"
      },
      "message": "deprecate EmbossMaskFilter\n\nTest: make\n\nBug: 14646735\nChange-Id: Ic724954318e1ad6b0a61a29ec5dd1e926f93f8ab\n"
    },
    {
      "commit": "62f0800ef4f41f97ddb18b755a63c01fea67b9fa",
      "tree": "ff481db0298598b2acb3a384e40e9a73d788398b",
      "parents": [
        "f42a1080d51887fdffcec1da3de3cdd9ab8ab93c"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Feb 26 12:32:52 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Feb 26 17:53:31 2018 +0000"
      },
      "message": "Add prefix to ImageDecoder.Allocator\n\nBug: 73788928\nTest: No change in behavior; no new tests\n\nThis will allow the generated JavaDocs to include these in setAllocator.\n\nChange-Id: Icd109ddf45e8809da1a0980924a6f4feccefcac2\n"
    },
    {
      "commit": "4367534058a07fd79ef1bbfec4e27f34275ab5c7",
      "tree": "4f9c9773a7e7d38855e5865315211c61fb4e26b1",
      "parents": [
        "5f7e948ad808d3f9c84482594e0da45b4181a6e5"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 14:01:09 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Feb 26 10:11:17 2018 -0500"
      },
      "message": "slice() the ByteBuffer passed to ImageDecoder\n\nBug: 73788928\nTest: I7d5082ba7319c6c069dde5d0efb22af6e92dd243\n\nThis way the input\u0027s position is unaffected. Update the docs to reflect\nthe new behavior.\n\nChange-Id: I7212948ee289ea8da1be9fe81d3f4bc9296e3e61\n"
    },
    {
      "commit": "08ddee7303b945b65bc97998b2ade9a5943acbba",
      "tree": "483a715b52e0a7e4aa6160eefc88a75b216eed80",
      "parents": [
        "f46aade7d85196b6f3807ae0a7f4703458aa7fa3",
        "1474b78888012a5b89e2a486ff0148cacd94300c"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 20:39:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 20:39:21 2018 +0000"
      },
      "message": "Merge \"Add AnimatedImageDrawable.getLoopCount\""
    },
    {
      "commit": "5f7e948ad808d3f9c84482594e0da45b4181a6e5",
      "tree": "e10b1abfd6a2968b46d4d1d3ee698012174733f3",
      "parents": [
        "a38b2135a4bf4368734567a73d2e56f1c318fee9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 13:22:29 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 13:45:23 2018 -0500"
      },
      "message": "Allow chaining ImageDecoder\u0027s setters\n\nBug: 73788928\nTest: None\nChange-Id: Ica9ff0738e6929268d83353b9caedd27e3e99ddc\n"
    }
  ],
  "next": "a38b2135a4bf4368734567a73d2e56f1c318fee9"
}
