)]}'
{
  "log": [
    {
      "commit": "7f56759cfdff926234c26c14d9a9f69f732179e4",
      "tree": "a58f4f92984ab8525052eebe4287b1aee0ae3402",
      "parents": [
        "ae53cef574564eadf6c09e4320f91334fc349e42",
        "43158773b469c2d5b23e52998d0afba9a4b34323"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 22 04:55:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 22 04:55:13 2016 +0000"
      },
      "message": "AAPT: Don\u0027t imply specific location hardware for dump badging\nam: 43158773b4\n\nChange-Id: Ie34566a33dfbaf92f4a47f36be6786157d504066\n"
    },
    {
      "commit": "43158773b469c2d5b23e52998d0afba9a4b34323",
      "tree": "285707158141317bf3d6d6968cb866d19deeff3d",
      "parents": [
        "d031d57c9e51e45c5723d8b6055c211fb2c06bdd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 11 15:13:55 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 21 17:52:58 2016 -0700"
      },
      "message": "AAPT: Don\u0027t imply specific location hardware for dump badging\n\nPermissions such as android.permission.ACCESS_FINE_LOCATION\nand android.permission.ACCESS_COARSE_LOCATION assumed the underlying feature\ntechnology and aapt dump badging would emit an implied feature.\n\nThis is no longer accurate, so the only implied feature is on the general\nandroid.hardware.location when the target SDK of the app is 21+.\n\nBug:25218770\nChange-Id: Ica9ebf7d4f360b137af54a8c8fd6c0358cd9be6a\n"
    },
    {
      "commit": "ab216609f1608e61827d955fcc9fd0560bc52e4d",
      "tree": "8c998e9a39aa740d63c814d11f2bd4f24988c757",
      "parents": [
        "a4fab41e8b24fd4129cec1f1c4c7c03bfe404f0a"
      ],
      "author": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Tue Aug 09 14:05:20 2016 -0700"
      },
      "committer": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Mon Sep 19 18:39:25 2016 -0700"
      },
      "message": "Removing private system ui flags from status bar flags logic.\n\n- Prevent third party apps from inadvertently changing internal SystemUI\n  flags through a call to setSystemUiVisibility().  These flags are only\n  set in the individual SystemUI components and can be updated in WMS\n  directly.\n\nBug: 29875297\nChange-Id: I5ea238c8fb16a0eccd6e993d95a912acb359cee6"
    },
    {
      "commit": "df3a7cab8f534584bcef83e222372e1be9be12c5",
      "tree": "5b6d8bdbaac79157728cec29e84d7c0b4782cfcf",
      "parents": [
        "a2153e6246138d303fe824d99aadf28886767743"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Sep 06 17:13:41 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Sep 06 17:13:41 2016 -0400"
      },
      "message": "Change density for the correct user\n\nBug: 30839993\nChange-Id: I5368accddfc4a03b8025a257b4155fcdc6197f11\n"
    },
    {
      "commit": "9f92bc2602204562bc6d241b8c16c7349721a1c0",
      "tree": "e27b11f311dfbaa4b372d5c3d09748446877732f",
      "parents": [
        "efc1c4d50104e9b9a7581c9b60703727805897f0",
        "813be138ae6f1fbe60a9efc082a30e7d25d03f7e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 26 23:28:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 23:28:17 2016 +0000"
      },
      "message": "DO NOT MERGE -- Only use saved surface if started by launcher or moved to front\nam: 813be138ae\n\nChange-Id: Id64071882a0b90212b92234a4d0bdc67f2ee5e1a\n"
    },
    {
      "commit": "813be138ae6f1fbe60a9efc082a30e7d25d03f7e",
      "tree": "ce64115971ffd12746e16af065c03344f2891270",
      "parents": [
        "d6a64d788bfa9d9e5c765fe62ce105525aed3898"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 25 12:12:33 2016 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 26 15:41:58 2016 -0700"
      },
      "message": "DO NOT MERGE -- Only use saved surface if started by launcher or moved to front\n\nRestrict saved surface to launcher start (ACTION_MAIN\u0026CATEGORY_\nLAUNCHER), or there is no intent at all (eg. task being brought to\nfront). If the intent is something else, likely the app is going\nto show some specific page or view, instead of what\u0027s left last time.\n\nThis solves problems like the launcher shortcuts on DeckClock,\neach of them is a different intent and will show one specific\nview regardless of last states. Another example is Chrome tab\nopened directly by action VIEW to open some URL.\n\n(Note that this doesn\u0027t solve the problem with Chrome homescreen\nshortcuts, it will still start with saved surface (if Chrome\nis already open). This is because the shortcut is a trampoline\nactivity that starts the real chrome tab activity, but when\nthe trampoline is started, the whole task is already brought\nto front, and ChromeTab could become visible with the task\nbefore we actually start it.)\n\nbug: 31055479\nbug: 27747315\n\nChange-Id: Id3e61c61ef516b0edc1f174320f02661222f226b\n(cherry picked from commit ad24f96def42016049de05220593aa049b136def)\n"
    },
    {
      "commit": "0790ac68bcab55905b492f6542d2393310f14ea3",
      "tree": "d8cd6e37869a14675862145c567f362550ee3168",
      "parents": [
        "a6ec65edab702915439b202b10aadfc0560108d0"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Tue Aug 09 14:28:54 2016 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Mon Aug 22 16:26:24 2016 +0000"
      },
      "message": "Update lint check to accommodate new emoji sequences\n\nThese are not yet ready for updating in the unicode data, so we patch\nthem in code until they are.\n\nBug: 30594617\nChange-Id: Ib4c8568aa4840341474eb0c0c95674d640473f4d\n(cherry picked from commit 2b8b819fee939c1bca6347a74b42272bc7008fd5)\n"
    },
    {
      "commit": "eab8a128457edd2196bb2c4fa9040c9194511b96",
      "tree": "22bdc2d35186bf553a705970309a2d3eeb23532d",
      "parents": [
        "01bb4064267d94ca49e8c4a4633a75c755286588",
        "8cd1b1ba8018507e4f66b64fa9f81279cb5b71a8"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Aug 19 21:43:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 21:43:06 2016 +0000"
      },
      "message": "Merge \"Re-enable disabled emoji tests [DO NOT MERGE]\" into nyc-mr1-dev"
    },
    {
      "commit": "01bb4064267d94ca49e8c4a4633a75c755286588",
      "tree": "f569a8499e573d4bd1c6b7bb4248b06be4bf6362",
      "parents": [
        "f4c5b344ae0845a80a05bd0a97906170fc552956",
        "84b1746130c0df855414dc8c39f4fe5f180b0c11"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Aug 19 21:43:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 21:43:06 2016 +0000"
      },
      "message": "Merge \"Check defaults for Android default-emoji characters [DO NOT MERGE]\" into nyc-mr1-dev"
    },
    {
      "commit": "26ae640c348eb12e2273887280970cd53675a032",
      "tree": "550cfad11c8b50571e3a435b7bb0e8e515eaed64",
      "parents": [
        "97632afe5ecb0c35366167e3dfd0aa6258ab276f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 15 18:45:00 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 17 19:53:01 2016 +0000"
      },
      "message": "AAPT: Handle gaps in resources when building splits\n\nDue to public ID assignment, gaps in resource type and entry\nIDs can occur. This can lead to null pointer dereferencing\nif not careful. This happened in ResourceTable::getDensityVaryingResources()\nwhich is called when building Splits.\n\nBug:30879690\nChange-Id: I588e4dcd2e042fccfcb2e87967b5cbd0d23b4497\n(cherry picked from commit 081d1b4cf602fdd7302b597e6bf902cb415bc3a8)\n"
    },
    {
      "commit": "193ed74c2d9228368941de948fe03e05ca7fd3e3",
      "tree": "0f24caef0185907b0cfd9843d5c8a3b37167e313",
      "parents": [
        "58635e74edd5c5424ae22d72e6326d2ac89983bd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 15 14:19:46 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 15 14:22:36 2016 -0700"
      },
      "message": "AAPT: Fix use-after-free error\n\nRe-order deletion of ResXMLTree and the Asset object\nit iterates over.\n\nBug:30844391\nChange-Id: Ied033d0a8f93343006228a2054c6d0f42bb4717a\n"
    },
    {
      "commit": "59a91c04cc9cd6f68d232e8b680a000208a878d6",
      "tree": "c8a93d01c2ddd7e69a7e34223925311b8897c49e",
      "parents": [
        "6c955db797bfddef6eb1aaf66fa82251e767e710",
        "4d219da3c43f12ff000e685ae069374b618b30fc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 04 01:27:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 01:27:34 2016 +0000"
      },
      "message": "Merge \"AAPT: Fix feature split generation of ID resources\" into nyc-mr1-dev"
    },
    {
      "commit": "4d219da3c43f12ff000e685ae069374b618b30fc",
      "tree": "d9653ade178f9bbd605d7bfb399f24c8800e809d",
      "parents": [
        "76af60554ca5c74a8327774fdc4bf758f7eb518f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 03 15:40:19 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 03 16:54:15 2016 -0700"
      },
      "message": "AAPT: Fix feature split generation of ID resources\n\nID resources that get generated on demand with the\nnotation @+id/name were previously not given the\nappropriate type ID offset when being built as feature\nsplits.\n\nThis change declares an ID type ahead of time so that\nthe type ID offset is applied before IDs can be generated.\n\nBug:30607637\nChange-Id: I122a9133cb01b35e9892103ec52fc228dc65bf1a\n"
    },
    {
      "commit": "ca955a4c3ab3d4b83c6e9d5278bcd8d2258d44ad",
      "tree": "8025b9dd11a9d1a6a2c5f8ee40a214f076ae79d4",
      "parents": [
        "76af60554ca5c74a8327774fdc4bf758f7eb518f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 01 16:44:29 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 01 17:20:28 2016 -0700"
      },
      "message": "AAPT: faketouch feature implied if no touchscreen feature requested.\n\nThis changes the default implied feature of \u0027android.hardware.touchscreen\u0027\nto \u0027android.hardware.faketouch\u0027 if no \u0027android.hardware.touchscreen\u0027\nfeature is requested, required or otherwise.\n\nBug:30571641\nChange-Id: I1e41242d4b1dc549cf69741d2a309baf476d084e\n"
    },
    {
      "commit": "84b1746130c0df855414dc8c39f4fe5f180b0c11",
      "tree": "680fc866a4e0aec74632c3d627edef664409a5ea",
      "parents": [
        "4e00581e6b98ff59a9a1dbf2038639c395a594aa"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jul 25 18:14:14 2016 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Jul 27 18:10:38 2016 +0000"
      },
      "message": "Check defaults for Android default-emoji characters [DO NOT MERGE]\n\nThere are 12 characters that Android is defaulting to emoji,\ndiffering from UTR #51 recommendation. This tests for their proper\nsupport.\n\nBug: 30379358\nChange-Id: Icd570510090ef29b3b7a3520bc368c5f77f99fa4\n(cherry picked from commit 10ea8f7431f3748be4b788100f1cab5f703284ac)\n"
    },
    {
      "commit": "8cd1b1ba8018507e4f66b64fa9f81279cb5b71a8",
      "tree": "1eea0a670c91850961532a91cc8358a8f3add530",
      "parents": [
        "4e00581e6b98ff59a9a1dbf2038639c395a594aa"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jul 25 14:04:34 2016 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jul 26 18:32:57 2016 -0700"
      },
      "message": "Re-enable disabled emoji tests [DO NOT MERGE]\n\nSince I2e508ced90515409ff6882b3c98d8911094b9b86 updates the emoji\ndata to version 4.0 beta, we can now re-enable the disabled emoji\ntests.\n\nAlso fix some style issues, update data file parsing method to handle\nthe new emoji format, add UN to unsupported flags, and do a little\nrefactoring.\n\nBug: 30379358\nBug: 26187231\nChange-Id: I441fdfed68381d08e5e0b3af91e94bfae742eef6\n"
    },
    {
      "commit": "45e6d2dc8b8b7bd4e588368179d8d4b05fc6810c",
      "tree": "8cff45abc4af25df06fb2adb675c166c45c4aa38",
      "parents": [
        "f8bc27d9683e4089cdfd778dcb61ae67f44665b7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 20 18:33:56 2016 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jul 21 10:17:39 2016 -0700"
      },
      "message": "Clean up surfaces when app is resumed without being stopped.\n\nWhen quickly toggling between two apps, app could be resumed while\nit\u0027s stopping but not yet stopped. Upon resuming, it could have\nsurfaces that\u0027s marked mDestroying and waiting for the stopped\nto be destroyed.\n\nWe need to dispose these surfaces properly. If the window is already\nremoved, we destroy them. Otherwise, clear mDestroying flag so that\nthe window is ready to be used again. Leaving mDestroying\u003dtrue makes\nthe window ineligible for certain things such as receiving wallpaper.\n\nbug: 30255354\nChange-Id: Id881653550595ab8e702d6950949bf202ac5a0d9\n"
    },
    {
      "commit": "526d73be4a3a2714fa6112769e16fb6cd0194451",
      "tree": "5b1f6862bed22be84c5547ad0bb2b2c317604b45",
      "parents": [
        "699e1bc74bb00d81b9680c826828678847caf205"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 18 17:01:14 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 18 17:07:41 2016 -0700"
      },
      "message": "AAPT: Don\u0027t keep processing files that failed to be added\n\nAAPT will continue ahead without reporting an error if a file\nfailed to be added to the ResourceTable. This would cause crashes\nlater when the file was assumed to be present.\n\nBug:30200166\nChange-Id: Ieb2daf97ccf0345153b6f4598d130a38d108c937\n"
    },
    {
      "commit": "4970cdac7e9acc17ee75c7a1787cdc528ea9fd0f",
      "tree": "b950a318a98d8e06510e28028c4bef5b7cec4a84",
      "parents": [
        "5bd9ea82d2ab79911abadc7afbdf208f79e9d160"
      ],
      "author": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Fri Jul 08 17:42:15 2016 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Wed Jul 13 18:44:45 2016 +0000"
      },
      "message": "Patch out part of the emoji tests.\n\nThis is temporary, until we have proper attribution for additional\nemoji data.\n\nBug: 29939737\nChange-Id: I5b97c8e055fa2ccf44b13bf801f681b860d47286\n(cherry picked from commit f874a1949a7516596a0c2f5829e140dc6f69c326)\n"
    },
    {
      "commit": "3683fb1e1d9a4f4f672e9083ae3d5e31c7034c8f",
      "tree": "c1b62f519ff67f0bbb07d7424d3da1e0d87a63a3",
      "parents": [
        "0171a6ef8b45e83eabb3843a544a59f6fa581db9"
      ],
      "author": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Mon Jul 11 19:47:37 2016 +0100"
      },
      "committer": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Tue Jul 12 17:18:36 2016 +0000"
      },
      "message": "Adds a screenshot wallpaper method to WallpaperManagerService.\n\nBug: 29963541\n\nChange-Id: If0a574004f8bddf1ba170587a8187253fe045ef4\n"
    },
    {
      "commit": "49c410bc48c47b636c239e6e3c590f77f1b7fd23",
      "tree": "aad1f9f0d3f21916db6eb609423bef73939ab7ba",
      "parents": [
        "acdd639513858629f804316e9dd4105634504a90",
        "4781057e78f63e0e99af109cebf3b6a78f4bfbb6"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Mon Jul 11 12:11:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 12:11:31 2016 +0000"
      },
      "message": "Merge \"Add bound checks to utf16_to_utf8\" into nyc-mr1-dev"
    },
    {
      "commit": "4781057e78f63e0e99af109cebf3b6a78f4bfbb6",
      "tree": "335738441e68edc71daabc00214df505f6d45c04",
      "parents": [
        "4b736ea56d5301381838c80b2333a05df1eb499e"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Jun 28 18:26:10 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Sat Jul 02 17:46:20 2016 +0100"
      },
      "message": "Add bound checks to utf16_to_utf8\n\nTest: ran libaapt2_tests64\nBug: 29250543\nChange-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3\n"
    },
    {
      "commit": "fd10cd1989966d01011a0cf75f3282f3e12ca5a6",
      "tree": "fb8afc89c8fa0e814e394b3e69173559ecb81b79",
      "parents": [
        "ef5c3aad4df40913d62de4fd9b12e2c7a9bacdf5"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Jun 29 16:41:50 2016 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Fri Jul 01 11:05:40 2016 -0700"
      },
      "message": "Force CROSSFADE rotation when launching from double tap gesture.\n\nWhen activity transition triggers a rotation change, the starting\nwindow will normally be the top window at the time we try\nto select the window animation. However, these layout params won\u0027t\nhave the apps rotation animation set (as the client code will set that\non the real window, not the starting window). Eventually we would\nlike to add API to specify rotation animation via manifest to solve\nthis problem cleanly. In the mean time, we can force a specific rotation\nanimation from the double tap gesture, and clean up some camera\nugliness. We accomplish this by attaching an animation hint to\nActivityOptions.\n\nBug: 28838855\nChange-Id: If052cd8cbae76651da43f3b4c590cd9dcc1afc0f\n"
    },
    {
      "commit": "dc42d7dd135460701435a8f925eae9c7b47d14ba",
      "tree": "3c136369d935f5acaa3eec5181f735538ac83660",
      "parents": [
        "2b0b1e5a942338576bba059145d3012c7a141c1b",
        "25e0813e6eb6315b1016db805fa9b791b4ae5cc2"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Jun 23 01:25:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 01:25:39 2016 +0000"
      },
      "message": "Merge \"Add InputMethodService#exposeContent()\" into nyc-mr1-dev"
    },
    {
      "commit": "25e0813e6eb6315b1016db805fa9b791b4ae5cc2",
      "tree": "48d143522b5480f0cbeb3b2e3fbefe91aee0dca0",
      "parents": [
        "f0823858e502d36c01a39afd1fc9384a1fe9a3f7"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Jun 22 16:31:41 2016 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Jun 22 16:31:41 2016 -0700"
      },
      "message": "Add InputMethodService#exposeContent()\n\nThis is a follow up CL to my previous CLs [1][2] that introduced\nInputConnection#commitContent(InputContentInfo, Bundle) API to enable\nIMEs to send a content to the target application.\n\nWith this CL, IME developers are able to temporarily expose\nInputContentInfo object to the target package without permanently\ngranting URI permission.  Although calling IMS#exposeContent() is\nallowed only for the IME that is currently selected, the client is able\nto request a temporary read-only access even after the current IME is\nswitched to any other IME as long as the client keeps InputContentInfo\nobject.\n\nHere is a sample code snippet about how to use this mechanism.\n\n  [IME]\n  InputContentInfo contentInfo \u003d new InputContentInfo(\n          contentUri,\n          new ClipDescription(description, new String[]{mimeType}),\n          linkUrl);\n  exposeContent(contentInfo, getCurrentInputEditorInfo());\n  getCurrentInputConnection().commitContent(inputContentInfo, null);\n\n  [App]\n  try {\n      contentInfo.requestPermission();\n      // Load inputContentInfo.getContentUri() here.\n  } finally {\n      contentInfo.releasePermission();\n  }\n\n [1]: Iaadf934a997ffcd6000a516cc3c1873db56e60ad\n      152944f4909c47917473293b258d266435c6ab35\n [2]: Ica1ba3154795c1bf44e140dfe639b299f83cd8af\n      adebb52588b098a1af678d4e33a234ef1ce783b2\n\nBug: 29450031\nChange-Id: I2772889ca01f2ecb2cdeed4e04a9319bdf7bc5a6\n"
    },
    {
      "commit": "e0dc709ac8ddd974f618ed31ab2a2d24aff10b2d",
      "tree": "9dd94524d187611cacf49d02686fd123ffcf7365",
      "parents": [
        "9d2a3188fabbcc8c1c8d334f34f2e1c73b943a27",
        "aeef7c47487e5aafa68563399e9a9088d01fa04c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 22 22:41:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 22:41:38 2016 +0000"
      },
      "message": "Merge \\\"Fix build due to missing abstract method impl\\\" into nyc-dev\nam: aeef7c4748\n\nChange-Id: I38fc7c88e9c4ea5abf50a0bec5f2302c4622605f\n"
    },
    {
      "commit": "0f5caab5762d9ace8e7d87e29296bcb8fdfe9b4b",
      "tree": "6c532bce9536aa994fcfb52e3f9d536dd6c0ce74",
      "parents": [
        "0bf31c3fa6263f595022d8f3addfd4d28f70db99"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 22 13:11:40 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 22 13:11:40 2016 -0700"
      },
      "message": "Fix build due to missing abstract method impl\n\ngetDisplay() was added to Context, which needs to be implemented\nfor BridgeContext.\n\nBug:28388969\nChange-Id: I7b0ffcbbe252403e35f08d3fa40d6b0e4dbf0daa\n"
    },
    {
      "commit": "3f32c27ccfee10e77f850747b50f6df76b150805",
      "tree": "1764b829f66c0f7fb887416476e8a57e663d9107",
      "parents": [
        "73939d8a60c342556dcd21f89769b650c04ecfd0"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jun 21 14:16:40 2016 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jun 21 15:03:51 2016 -0700"
      },
      "message": "Don\u0027t match locales with different scripts in ResourceFilter\n\nPreviously, AAPT would match locales even if they had different\nexplicit scripts if the requested locale was just a languages. Now\nwe require explicit listing of the languages with different explicit\nscripts in order for the locale to be included.\n\nBug: 29412034\nChange-Id: Ia118a5a7f9aec49f6c3c53b9195a0ae1a57f53fd\n"
    },
    {
      "commit": "599cf6bc4a129a76dccd74713f7d3deb5fdc50f2",
      "tree": "f93152873507553f3f8fd5382e21be0acafd0d53",
      "parents": [
        "0bae4dcd76d4138ca9ec9d0b0e9960705e54650d",
        "f33af2285b74ff7f092149ee86ec687a892aa600"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Thu Jun 16 21:21:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 16 21:21:57 2016 +0000"
      },
      "message": "Merge \\\"Limit global drags to apps targeting SDK 24 and above\\\" into nyc-dev\nam: f33af2285b\n\nChange-Id: If4d9abfb81929f8366fc9acc7978816d55117fbc\n"
    },
    {
      "commit": "0e8524719559f0be9c8145dbf9f52100e1fb60c3",
      "tree": "0752fd23eb79a109cf4aa5745a70a64e80b2f13d",
      "parents": [
        "32d67fab83d96a9c05d03a44fcb44e0410bb61df"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Wed Jun 15 10:03:18 2016 -0700"
      },
      "committer": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Thu Jun 16 09:35:40 2016 -0700"
      },
      "message": "Limit global drags to apps targeting SDK 24 and above\n\nBug: 29127791\n\nChange-Id: Ib5f85a207bdb79eeac0418fda78e452d225761bc\n"
    },
    {
      "commit": "fee32d4d5f281504d3cc319e9833853ae0b23263",
      "tree": "1482e7ebc120d90642c898d8a0e9109bcdad8022",
      "parents": [
        "0f19009fb7daa5e03c29f4c853e3798b4f38661e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 31 15:07:20 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jun 02 23:57:55 2016 +0000"
      },
      "message": "Allow uses-library under \u003capplication\u003e\n\nBug:29106952\nChange-Id: I2e780323d86e7050038d34426a30e66a4bbfcc23\n"
    },
    {
      "commit": "6cc742643967796622c0747311ab3b204a39393a",
      "tree": "da01e244e25d35e9a6524c3624717de7df80cc87",
      "parents": [
        "b9878f0c5aab4b540180fb7e36a8e0b41b5e50c2",
        "36cd747bb6030c9c19dbab6bdfd85b2106017973"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed May 25 16:47:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 16:47:14 2016 +0000"
      },
      "message": "Merge \"Workaround to display menus for AppCompat themes\" into nyc-dev\nam: 36cd747bb6\n\n* commit \u002736cd747bb6030c9c19dbab6bdfd85b2106017973\u0027:\n  Workaround to display menus for AppCompat themes\n\nChange-Id: I65ce3798aa3fc2d851126d88b3dc1834d05b5393\n"
    },
    {
      "commit": "790e5f6c1cab43fb377d86d3c9189a509b28b217",
      "tree": "8ba1fd030d080c709421a9c01bf3abe676731689",
      "parents": [
        "cb988096570de8af4883ae3bdea06c88f8fd235a"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue May 24 14:40:34 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue May 24 18:27:35 2016 +0100"
      },
      "message": "Workaround to display menus for AppCompat themes\n\nLayoutlib currently does not implement menus for the support Toolbar.\nWhen it detects that an AppCompat theme is being used, it will try to\nuse by default the support Toolbar which breaks the display of menus.\nThis works around the problem by forcing layoutlib\nto use the framework toolbar in menu previews (regular activities\nwon\u0027t display the menu if they use AppCompat).\n\nBug: http://b.android.com/210946\nChange-Id: Ic1d162c6d74119ef42895776c3bc3851a9549120\n"
    },
    {
      "commit": "273d6e8f565fbb2b9bac9c81764242a39e431cfd",
      "tree": "759b5a152670307997a615c6dff1cc660d84c75c",
      "parents": [
        "245d5580aa014d9ae93b26c295f8c6b751f501a8",
        "b406dd20eee28eedb8e9f330a0459d630c026515"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue May 17 00:59:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 00:59:36 2016 +0000"
      },
      "message": "Merge \"Fixed bugs with starting windows when displayng forcedResized activity\" into nyc-dev\nam: b406dd20ee\n\n* commit \u0027b406dd20eee28eedb8e9f330a0459d630c026515\u0027:\n  Fixed bugs with starting windows when displayng forcedResized activity\n\nChange-Id: I81250af945c186fbb687bc15ec03a85a019bd6e3\n"
    },
    {
      "commit": "b406dd20eee28eedb8e9f330a0459d630c026515",
      "tree": "4fdd44435b84f65d4aafe5a20babc98fea0d7f10",
      "parents": [
        "fc932b9d699e5797fbbfac3ec09a789419ade269",
        "3b23239d6ec9ded858d75f272ca1a677c5c431f9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 17 00:51:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 17 00:51:41 2016 +0000"
      },
      "message": "Merge \"Fixed bugs with starting windows when displayng forcedResized activity\" into nyc-dev"
    },
    {
      "commit": "3b23239d6ec9ded858d75f272ca1a677c5c431f9",
      "tree": "da34b508c24993688c647e31358f48e147bb7b7a",
      "parents": [
        "c4033e7c668abc1e671a130f70f58f885c63b176"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri May 13 15:37:13 2016 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon May 16 16:27:01 2016 -0700"
      },
      "message": "Fixed bugs with starting windows when displayng forcedResized activity\n\n- Added ActivityOption to mark a starting activity as a taskOverlay\nactivity. That is the activity will always be the top activity of the\ntask and doesn\u0027t cause the task to be moved to the front when it is added.\n- Only set the starting window state of the ActivityRecord to shown if\nwindow manager actually showed the starting window for the activity.\nAvoids incorrectly trying to remove starting window for an activity that\ndidn\u0027t show any.\n- When starting additional activity in a task, transfer the starting\nwindow from the top most activity with a starting window. It is possible\nthe top most window does have a starting window like in the case of the\nforcedResized activity.\n- Only ensure visiblity of an activity we are starting in a task whose top\nactivity is a task overlay. They need to start in the visible-paused state\nand not the resumed state which just causes extra churn in the system.\n- Always add additional starting activities in a task with an overlay\nactivity below the overlay activity.\n\nBug: 28751186\nChange-Id: I3624a4313ae9c406d42c67a3537f67ad685791af\n"
    },
    {
      "commit": "6b078fef33ceae160f8f6e6a2d6e0c14c61e5f06",
      "tree": "f1d1015772005d7fc1e5874346bdc6e59f061763",
      "parents": [
        "eb1ca626f09b87d0ab22435d14682072ad2d6a87",
        "cef3337cb5e27d4f571fb350be055c26d339833d"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon May 16 15:31:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 16 15:31:03 2016 +0000"
      },
      "message": "Merge \"Make IMS#clearInsetOfPreviousIme() reliable.\" into nyc-dev\nam: cef3337cb5\n\n* commit \u0027cef3337cb5e27d4f571fb350be055c26d339833d\u0027:\n  Make IMS#clearInsetOfPreviousIme() reliable.\n\nChange-Id: Ie654d6bccd6d4425e0dbefe2833424abdfe52a4d\n"
    },
    {
      "commit": "cef3337cb5e27d4f571fb350be055c26d339833d",
      "tree": "2b881885e3e2d6396df3f928c8910272bc5c8500",
      "parents": [
        "a1e4cbe2116bef9fad7c98836926317bde95d33e",
        "833bdcedceee60a873694a77587393abfc830eb5"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon May 16 15:22:20 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 15:22:21 2016 +0000"
      },
      "message": "Merge \"Make IMS#clearInsetOfPreviousIme() reliable.\" into nyc-dev"
    },
    {
      "commit": "365eaeef5fb511225f979fc2b55a32cbdcbd933c",
      "tree": "42b3f693ca52dcab1ad6dd6e74fe112b7ea17d10",
      "parents": [
        "788a8a87ef5be3ccbe9450c9502323f5c0c8196d",
        "c4033e7c668abc1e671a130f70f58f885c63b176"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 16 13:26:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 16 13:26:58 2016 +0000"
      },
      "message": "Merge \"Stop emitting javadoc for @removed attributes.\" into nyc-dev\nam: c4033e7c66\n\n* commit \u0027c4033e7c668abc1e671a130f70f58f885c63b176\u0027:\n  Stop emitting javadoc for @removed attributes.\n\nChange-Id: If48d0299c6d4d7179a366d902f23ada17315e42c\n"
    },
    {
      "commit": "c4033e7c668abc1e671a130f70f58f885c63b176",
      "tree": "21dddaf7b41635d0a4bd98d688855e9373e5c12d",
      "parents": [
        "8995b00ce8f68f2a285a97c2ce711bea8c61179e",
        "feaf99fa1b7563f15dbd4211718a6cfb7a3cc3c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 16 13:21:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 13:21:10 2016 +0000"
      },
      "message": "Merge \"Stop emitting javadoc for @removed attributes.\" into nyc-dev"
    },
    {
      "commit": "833bdcedceee60a873694a77587393abfc830eb5",
      "tree": "edc2ad5c4e72f9589f1b02a6b480e1100be1e5a7",
      "parents": [
        "edcf61d7f8b724650c04116664dc53a03a6b3970"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Sun May 15 20:05:56 2016 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Sun May 15 20:05:56 2016 -0700"
      },
      "message": "Make IMS#clearInsetOfPreviousIme() reliable.\n\nThis is a follow-up to my previous CL [1] for Bug 15922840 so that we\ncan clear the following variables in a more reliable way.\n - PhoneWindowManager#mLastInputMethodWindow\n - PhoneWindowManager#mLastInputMethodTargetWindow\n\nThe idea behind CL [2] is that when InputMethodManagerService (IMMS) is\nswitching from an IME to another IME, IMMS can send a signal to\nWindowManagerService (WMS) to remember the current IME\u0027s inset so that\nthe system can continue using it to reduce jank until the new inset is\nspecified by the next IME.  As summarized in Bug 28781358, however, if\nthe next IME does not show the window after the IME switch, WMS (or\nPhoneWindowManager to be precise) keeps using the previous IME\u0027s inset\nunexpectedly until the new IME shows its window.  All we have seen in\nBug 15922840 and Bug 26663589 fall into this category.\n\nThe idea of this CL is just adding a hidden API to InputMethodManager so\nthat InputMethodService#clearInsetOfPreviousIme() can surely terminate\nthe IME transition state managed in PhoneWindowManager, rather than\nrelying on a hack of calling SoftInputWindow#show() and\nSoftInputWindow#hide(), which actually does not work for Bug 26663589.\n\n [1]: Ib04967f39b2529251e4835c42e9f99dba2cf43f2\n      2977eb7b6ce82309a1bb1ba4ab698f503cb0388a\n [2]: I5723f627ce323b0d12bd7b93f5b35fc4d342b50c\n      792faa2c16d319e874a1d633f964a78266d5f3f2\n\nNote that addressing all the corner cases in [2] still requires lots of\nnon-trivial change.  Hence this CL focuses only on Bug 26663589 (and\nthe case we handled in Bug 15922840).\n\nBug: 26663589\nChange-Id: Ib567daa009c1139858dccadcfc6a04465ebecf36\n"
    },
    {
      "commit": "0e5358105d52f5a9613a20d82e04a84d77e8cc55",
      "tree": "9b418d48228cc2b7b518d17b5a7f419674fbcb41",
      "parents": [
        "d0ea9bafaa59f0c61421eea3613bea82a67c0823",
        "8fc7ca05e5ce3a8774be2abb0742b993431bff63"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed May 11 15:59:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 15:59:03 2016 +0000"
      },
      "message": "Merge \"Fix VectorDrawable_Delegate and DrawerLayout\" into nyc-dev\nam: 8fc7ca05e5\n\n* commit \u00278fc7ca05e5ce3a8774be2abb0742b993431bff63\u0027:\n  Fix VectorDrawable_Delegate and DrawerLayout\n\nChange-Id: I481fbd2510729ad481030c33918b9b52ad508576\n"
    },
    {
      "commit": "8fc7ca05e5ce3a8774be2abb0742b993431bff63",
      "tree": "ba5101497ad341e08cad89b8ae3e42b8514805d5",
      "parents": [
        "8b3cb1b2ffa3154743e0228658b295ddd212bc68",
        "5ca21e4ceca42be633031809b8ee43fd8688389b"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed May 11 15:53:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 15:53:15 2016 +0000"
      },
      "message": "Merge \"Fix VectorDrawable_Delegate and DrawerLayout\" into nyc-dev"
    },
    {
      "commit": "1a1461058e6b5a9be28f01cc0b87900a011ea585",
      "tree": "34a0a23ccbe8257304e81945ae53280979378f2a",
      "parents": [
        "f4f15d582a60b9324e4b1e4f3276f4cc4b2b0531",
        "458b877488c12ea4336d8fc00a95d9c0298bd6d0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed May 11 00:03:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 00:03:19 2016 +0000"
      },
      "message": "Merge \"AAPT2: Add diff command\" into nyc-mr1-dev"
    },
    {
      "commit": "3a64f8140c23eacc47978ade4c213ae43cca6541",
      "tree": "7464e504782a3357648b365235abb746a5a9c355",
      "parents": [
        "6e2b3d158a333b8754854314af0fc865a1f8bc5e"
      ],
      "author": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Tue May 10 12:50:25 2016 -0700"
      },
      "committer": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Tue May 10 12:50:25 2016 -0700"
      },
      "message": "Remove rifle (1F946) from emoji font.\n\nBug: 28678310\nChange-Id: I60097cd78f28764d83abe0d12b53e2a7e6c974dc\n"
    },
    {
      "commit": "5ca21e4ceca42be633031809b8ee43fd8688389b",
      "tree": "998adcc293d1284c760d298259b974bd985131ed",
      "parents": [
        "9b40edab61ca9bf3b9f5931bbfc266eb6c6216e6"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue May 10 15:21:38 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue May 10 15:21:38 2016 +0100"
      },
      "message": "Fix VectorDrawable_Delegate and DrawerLayout\n\nModify the nDraw call that has been changed in the framework to return\nan int with the number of pixels allocated.\nModify the animation initialization render call to use the actual\nmeasured size (instead of 0,0) so the DrawerLayout is setup\ncorrectly.\n\nChange-Id: I198de05206382c6489056f7c3d9a1d328864321c\n"
    },
    {
      "commit": "feaf99fa1b7563f15dbd4211718a6cfb7a3cc3c8",
      "tree": "ea11ecd04a1908a46e0039a154f21a84453229b0",
      "parents": [
        "6f9f75e1063d282c933ede862fa7ea9371a2f310"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri May 06 17:16:06 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 09 14:51:41 2016 +0100"
      },
      "message": "Stop emitting javadoc for @removed attributes.\n\nWe need the attributes to remain public because people might still be\nlinking against them, but we don\u0027t want them showing up in the\ndocumentation any more. Them showing up in the documentation also had\nthe side effect that it would accidentally mark the parent class of\nattributes as @removed, which was not intended.\n\nBug: 28663748\n\nChange-Id: I2f6eb09455fddf1086e6b24bc3bea5292e8e32b7\n"
    },
    {
      "commit": "ea162c3c7992b01d8d56766a94e56a0cee3fe3b2",
      "tree": "eab3cdbfcbdda2de0e2cffb42122b66f45a99e35",
      "parents": [
        "e2cdb20cf895b15acac5acaa43e2e6ffb13655b8",
        "77bdfb512f963701082c5c78e9a9db00b167fcb6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 05 19:38:15 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 05 19:38:17 2016 +0000"
      },
      "message": "Merge \"Prepare to replace windows across recreate().\" into nyc-dev"
    },
    {
      "commit": "e37ecbdede9bb3b4fadba359891b13eb5cd6c697",
      "tree": "ab06ef7cc177985ee05c3876bf7bf93999bcf055",
      "parents": [
        "00e8fef0ba61cd57cd36beeb81ae1eb20ac04eaf",
        "d7d2119fe37f48e4157c3bc471c1153544cf5604"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu May 05 12:21:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 05 12:21:35 2016 +0000"
      },
      "message": "Merge \"Add missing delegate in Bitmap_Delegate\" into nyc-dev"
    },
    {
      "commit": "77bdfb512f963701082c5c78e9a9db00b167fcb6",
      "tree": "0e00b8d01d2c6d443f9754ef034b7732b1f89ac4",
      "parents": [
        "630196620adc56f699c182674273806c8368e65d"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon May 02 18:18:31 2016 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed May 04 12:40:39 2016 -0700"
      },
      "message": "Prepare to replace windows across recreate().\n\nWhen the activity locally recreates itself, nothing\non the server side is able to prepare preserving windows,\nor replacing windows. The activity was trying to defer\nremoving the old window, but it was just waiting\nuntil the new one was created, not until it was drawn,\nthus resulting in a flicker. It\u0027s easy to backpack on the\nexisting replacement infrastructure.\n\nBug: 28221875\nChange-Id: I55fc4ca78e9e11809473fedd8b30b6a6350cf852\n"
    },
    {
      "commit": "458b877488c12ea4336d8fc00a95d9c0298bd6d0",
      "tree": "6169f78510254f6bde737279763049f00eaef200",
      "parents": [
        "832449800e2e5068ab0eb986bb359906ddf6efdc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 25 14:20:21 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Apr 30 01:36:12 2016 +0000"
      },
      "message": "AAPT2: Add diff command\n\nAdds the diff command and various small fixes to issues\ndiscovered when diffing old AAPT built APKs with new AAPT2\nbuilt APKS.\n\nBug:22775504\nChange-Id: I682a7fe1cf4b3efa7cbd5d18b333cf2d1046fe1b\n"
    },
    {
      "commit": "398342f9b66046582eff7d98e252d435475d6a92",
      "tree": "e8197e7e23c2606db11060515012c0e6ccea5cae",
      "parents": [
        "46286e18244b70a40dd965bf10f8ba90da54ac8c",
        "ce51db00ecdd2a30033b4bb6a197d0a65ca909a9"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Apr 29 21:25:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 21:25:20 2016 +0000"
      },
      "message": "Merge \"Patch fontchain_lint to exclude modern_pentathlon.\" into nyc-dev"
    },
    {
      "commit": "ce51db00ecdd2a30033b4bb6a197d0a65ca909a9",
      "tree": "1e0b2f15395011fe12c6220a16dd98f8d86e9c27",
      "parents": [
        "90a225d46d5f674b144fb3942623797b0b537871"
      ],
      "author": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Fri Apr 29 13:20:05 2016 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Apr 29 14:17:57 2016 -0700"
      },
      "message": "Patch fontchain_lint to exclude modern_pentathlon.\n\nFix build breakage.\nBug: 28426800\n\nChange-Id: Idcc8f1b66014b25758c163d908d34f06011d9927\n"
    },
    {
      "commit": "4c5e7a740a632829b48b2324f80a43ab94ac7551",
      "tree": "09891feea3aaed9cd4b0b812b5cb1bb75536223a",
      "parents": [
        "2385e2184a68318a582f075bcd483baa35c776b4",
        "a43c4fa09ff758400c17c3533b77d783e713a115"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Apr 29 20:06:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 20:06:01 2016 +0000"
      },
      "message": "Merge \"Add namespace before attr name in defPropMap\" into nyc-dev"
    },
    {
      "commit": "2385e2184a68318a582f075bcd483baa35c776b4",
      "tree": "69cf4190698a1f718faeb441d37f9dfb3e2e950c",
      "parents": [
        "60f2c17e273ea919dc663f387ef246b3d359c412",
        "621c43d8e538a82047100ec56b88e74bb5dea57e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Apr 29 20:05:37 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 20:05:39 2016 +0000"
      },
      "message": "Merge \"Revert \"Switch LayoutLib to Java 8\"\" into nyc-dev"
    },
    {
      "commit": "ab45664130064cd44cc5ceb85d41de90b995819b",
      "tree": "57a9b10f20bcf38955ae99d5cacbce3155d5576e",
      "parents": [
        "ec6faca0078263dfbf2b41d11cdb14586e40fd75",
        "682583c8902efbd33d4394131a2214ce94469535"
      ],
      "author": {
        "name": "Rohit Agrawal",
        "email": "rohitagr@google.com",
        "time": "Fri Apr 29 01:19:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 01:19:08 2016 +0000"
      },
      "message": "Merge \"AAPT: ProGuard config for components in main dex.\" into nyc-dev"
    },
    {
      "commit": "28d6c1e49313bcb4823541d0114b2ff04f8cb446",
      "tree": "2e13134d1ccc6c54cf71e8ef63569e88b423b36b",
      "parents": [
        "8c2fb9edae4413074186e3d84ccff0eba41b2cae",
        "c51562cf5acda7849a34c4ae2a88077c068859c0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 28 19:34:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 19:34:31 2016 +0000"
      },
      "message": "Merge \"AAPT2: Accept a file with arguments when argument list is too long\" into nyc-dev"
    },
    {
      "commit": "c51562cf5acda7849a34c4ae2a88077c068859c0",
      "tree": "4f9430be9631a1ccb6042781d2d265fb396796a5",
      "parents": [
        "6e685dc3c519526a0f38ec5ee9e81e1f57e0fa36"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 28 11:12:38 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 28 11:14:38 2016 -0700"
      },
      "message": "AAPT2: Accept a file with arguments when argument list is too long\n\nBug:22775504\nChange-Id: Ife73d4e4611016c9ee7b56264bc6a765c54beba3\n"
    },
    {
      "commit": "682583c8902efbd33d4394131a2214ce94469535",
      "tree": "16b35113be2d432f6b58948de3b4f9045aace8e1",
      "parents": [
        "987609f5a7bd8e18559334aa0260e6614520af13"
      ],
      "author": {
        "name": "Rohit Agrawal",
        "email": "rohitagr@google.com",
        "time": "Thu Apr 21 16:29:58 2016 -0700"
      },
      "committer": {
        "name": "Rohit Agrawal",
        "email": "rohitagr@google.com",
        "time": "Wed Apr 27 19:50:55 2016 +0000"
      },
      "message": "AAPT: ProGuard config for components in main dex.\n\nCreate an analogue of \"aapt -G\" which outputs a proguard configuration\nthat keeps only components which need to be in the main dex.\n\nBug: 27383099\nBug: 28425556\n\nChange-Id: Ic18c8c563794ff27a5598a214111d1b446a005f1\n(cherry picked from commit 86229cb622fccde8ab8cbe85eead91a34313a708)\n"
    },
    {
      "commit": "a43c4fa09ff758400c17c3533b77d783e713a115",
      "tree": "5869cdabdd9988abca18e24ee6f6538c795e705f",
      "parents": [
        "e70464e11694712d62092ac3a623c32fe6d5e8a5"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 26 15:15:52 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 26 15:19:31 2016 -0700"
      },
      "message": "Add namespace before attr name in defPropMap\n\nChange-Id: I36d094fb69d5f5ce0aebde04960ffcd19c27a2eb\n"
    },
    {
      "commit": "5a91b615232374084a45752d7c09c25265e263ed",
      "tree": "d3c9a02f45112af2449e565726ac5236e3e8e9d8",
      "parents": [
        "7981e8ff6509769a590f15b440f989437d732be5",
        "a9c2500a6863dabdd786f17a25ce0bf3683109a2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 22 21:03:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 22 21:03:30 2016 +0000"
      },
      "message": "Merge \"Disallow disable of the system shared libs.\" into nyc-dev"
    },
    {
      "commit": "d7d2119fe37f48e4157c3bc471c1153544cf5604",
      "tree": "c77421710d31385d03d2256135f5be6ca5e60f5d",
      "parents": [
        "784c93e372ff8ba8ca59499a8e35d83e5bd71c1a"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Apr 22 19:00:39 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Apr 22 19:00:39 2016 +0100"
      },
      "message": "Add missing delegate in Bitmap_Delegate\n\nNew nativeCopyAshmemConfig\n\nChange-Id: I8aedb0df827ac8d8091a9457bc341c1047b5a539\n"
    },
    {
      "commit": "38745971c266f5fca692ef284e1e3b4d38af1a41",
      "tree": "4c504e59780723439bab402a79970d9566ab77ac",
      "parents": [
        "6e1d1dbdd4d48e7997eb0998128ccaa9f8eeee5b",
        "39e540caffca2584aa6c4cb74ce42dceb24a93f7"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 19 07:34:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 07:34:17 2016 +0000"
      },
      "message": "Merge \"Separate measure so it can only run inflate if needed\" into nyc-dev"
    },
    {
      "commit": "0b1a203830f49b8998692873c161a8fb7c7ab9cb",
      "tree": "cb1d3e7f4bb947161d9d3a1823d5fab210f30360",
      "parents": [
        "865cef475dd4b0ffcb4df0dd62cb86d4ce65ab08",
        "5ff3ad6312086b87439bd8d3438a4476e2c14946"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Apr 16 07:01:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 16 07:01:08 2016 +0000"
      },
      "message": "Merge \"SettingsLib: Build with AAPT2\" into nyc-dev"
    },
    {
      "commit": "39e540caffca2584aa6c4cb74ce42dceb24a93f7",
      "tree": "082a1f600d33ef40348d6868f811a9c3dbaa83d1",
      "parents": [
        "428fdd104c6877889da1af2d35af41d5c14833c9"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 12 17:22:15 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Apr 15 11:38:19 2016 +0100"
      },
      "message": "Separate measure so it can only run inflate if needed\n\nThis allows to only do inflate + measure and not to render.\n\nChange-Id: I4be08513728b656f699e9115e14cf618d95b538a\n"
    },
    {
      "commit": "5ff3ad6312086b87439bd8d3438a4476e2c14946",
      "tree": "81677b94eef85b71fd2789a44a9e1d810708a779",
      "parents": [
        "b5abb78b7c329069d5d5e7fd9c6a6e5e81f79c90"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 13 20:30:45 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 14 14:45:21 2016 -0700"
      },
      "message": "SettingsLib: Build with AAPT2\n\nBug:22775504\nChange-Id: I2e5015235384d124418d32186daa190f38e1c5b3\n"
    },
    {
      "commit": "e70464e11694712d62092ac3a623c32fe6d5e8a5",
      "tree": "c2c9d516c45d817bdc3b04368e402d7a8196ffd3",
      "parents": [
        "abaa3395e94754563fb4b07d077e5e87d41f6a17",
        "eaf1853b98d7bf2c3d693ad702050968ef0a404c"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Apr 14 19:42:15 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 14 19:42:16 2016 +0000"
      },
      "message": "Merge \"Return complete properties map instead of per view\" into nyc-dev"
    },
    {
      "commit": "eaf1853b98d7bf2c3d693ad702050968ef0a404c",
      "tree": "5a27f18be9175e1064487c40070be00a3575ca82",
      "parents": [
        "79c59fe4a8544bdda5c56efecf9c2bc72f2f0e4e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Apr 14 12:38:23 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Apr 14 12:38:23 2016 -0700"
      },
      "message": "Return complete properties map instead of per view\n\nChange-Id: Ib7c71606d1bf43bbaa80f5601a8508d7aa49d953\n"
    },
    {
      "commit": "a9c2500a6863dabdd786f17a25ce0bf3683109a2",
      "tree": "30a9b8acaeaf91ac0c90ede24fbfa6deac2cd441",
      "parents": [
        "8bb7ad598560fda42ec256f02ba69cf54b433a85"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 13 19:25:56 2016 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 13 19:31:40 2016 -0700"
      },
      "message": "Disallow disable of the system shared libs.\n\nbug:28173410\n\nChange-Id: If731f2d90312a083bb940f83431ba3eccf213947\n"
    },
    {
      "commit": "8c0ab16494f3a46ee847d035de2248fae3168d8a",
      "tree": "c0cd69bfe68aeaa1d9150847fdd300896dacd8c8",
      "parents": [
        "caf566a5372b05230885b787997b98ff4508eadd"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Apr 13 11:48:28 2016 +0100"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Apr 13 11:48:28 2016 +0100"
      },
      "message": "Change method name in VectorDrawable_Delegate\n\nFollowing change in VectorDrawable from commit cdedc9a80d.\n\nChange-Id: I5d17b2e77c9600fe3da981c77a3e39dcd4df1d1f\n"
    },
    {
      "commit": "49a54366c11ed5ac887e6f897aa6ee5e4b86489c",
      "tree": "d2db88c5a1773d69cfe5cb868e1dfaf61753aa61",
      "parents": [
        "d0fae0d61d22608b4bfb0845e13ed9c07c5c5376",
        "8d25697bf01faaf3a6bb8f9f3a0619437cacc22e"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Apr 13 08:14:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 08:14:57 2016 +0000"
      },
      "message": "Merge \"Synchronize access to the main looper\" into nyc-dev"
    },
    {
      "commit": "0a6a6dbe9107a3e31d74293f853b46ae0e5b9e7b",
      "tree": "91f72c8298471ace824d4b8f50071da603b006e4",
      "parents": [
        "b0202799528fe70a045224b1151c1720ef224aa8",
        "78c9eb8947538f63d2e06684663d400991dfff8f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 13 03:13:47 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 03:13:49 2016 +0000"
      },
      "message": "Merge \"Added api to delete cache files for a given user\" into nyc-dev"
    },
    {
      "commit": "a51a12cfe73c3f578a013543fddd9d913b46c143",
      "tree": "72295a332f84af90351e5ba2f4d3d5a4358f5d94",
      "parents": [
        "c8fc35a9b8be5b7324b2cc21968a8981f49b5e58",
        "5dde087811c255509a72aa9a51c27b40bf0cbf2c"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Apr 13 02:01:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 02:01:19 2016 +0000"
      },
      "message": "Merge \"Add many more emoji tests\" into nyc-dev"
    },
    {
      "commit": "78c9eb8947538f63d2e06684663d400991dfff8f",
      "tree": "8aade80caa37234ec166da1b2d43d4b453acbe6a",
      "parents": [
        "518bae5fa411327b14ca1e1496f6c9836da0eccd"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Apr 12 15:51:35 2016 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Apr 12 18:23:56 2016 -0700"
      },
      "message": "Added api to delete cache files for a given user\n\nAdded an api to delete application cache files for a specific user. This\nallows settings to clear cache files for work profile apps as well.\n\nBug: b/25338468\nChange-Id: I52d4944a7a03b6d63ad44dd6bb868aec62815eab\n"
    },
    {
      "commit": "79c59fe4a8544bdda5c56efecf9c2bc72f2f0e4e",
      "tree": "be453fadaf1bd9da4759a9afd0649d000ed92008",
      "parents": [
        "8af20ef6a885a50694805a066f02fc643e80b837"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 12 12:07:40 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 12 12:46:09 2016 -0700"
      },
      "message": "Add post resolve property values\n\nChange-Id: Ia86b7dfc479cc5313cce36b6b3066fbb1d00c292\n"
    },
    {
      "commit": "8d25697bf01faaf3a6bb8f9f3a0619437cacc22e",
      "tree": "1f41e6e2addf2ad80655fcec595077e83b821fe7",
      "parents": [
        "143a9333dc5779d062a9af615774c6f332e6dbca"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 12 18:27:31 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 12 18:27:31 2016 +0100"
      },
      "message": "Synchronize access to the main looper\n\nChange-Id: I4b9375d07c4191393c04f8b40905e63742b3baad\n"
    },
    {
      "commit": "a0a51b6fb629c06c763b73cfe24c6c4d540d54eb",
      "tree": "dced8d9a3c8ec4838d4008f6a76e3578f440dff9",
      "parents": [
        "73c9391d9bfa0f8f90dc3bee841642f46ba46bda"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 12 15:34:26 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 12 17:21:00 2016 +0100"
      },
      "message": "Fix broken delegates for FontFamily and PathParser\n\nThe theme editor is throwing an exception with the last embedded\nlayoutlib because a missing method. Added also another missing method in\nFontFamily.\n\nChange-Id: I710ba7618df6444a3185b581cdc5dc8400f7c604\n"
    },
    {
      "commit": "d3caf46a850fb3191562fc5e05c2aa8b5912b598",
      "tree": "02b71d5def8456473b45fb76139f085a41c26333",
      "parents": [
        "11fabf70dbc0a25974476385f951816caba3022b",
        "626b3dbf74f02ae630ae0089632f5962340694dc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 08 01:23:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 01:23:29 2016 +0000"
      },
      "message": "Merge \"AAPT2: Clean up R JavaDoc generation\" into nyc-dev"
    },
    {
      "commit": "626b3dbf74f02ae630ae0089632f5962340694dc",
      "tree": "21fda93c61d624b598b05cb0bd54a377a8975487",
      "parents": [
        "41c1bb8f4a5a1f2f0a23d6cece525eaea50f57b3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 07 13:24:59 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 07 16:26:14 2016 -0700"
      },
      "message": "AAPT2: Clean up R JavaDoc generation\n\n- Don\u0027t generate private attributes in public R.java\n- Strip out @SystemApi from comment when generating @android.annotation.SystemApi\n- Only emit a single line (up to the first period) of an attribute\u0027s comment within\n  a styleable\u0027s attribute table.\n\nChange-Id: Id6316a6861540325934133958939a12074ad4428\n"
    },
    {
      "commit": "2155ad82042eb2f69b9c9d2a9ecf3884d265ad7b",
      "tree": "324063a04130ccfbf6ffe0cda634a94621e3f4b4",
      "parents": [
        "8cd2243d8ca6838ad154a70e7d4d31124225444b",
        "8cdf61a02e4652d53560c9758b8b15e76c50bfd7"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Apr 07 19:02:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 19:02:34 2016 +0000"
      },
      "message": "Merge \"Fix NPE when runnin testActivity\" into nyc-dev"
    },
    {
      "commit": "f22df48067ec8f0a2c609c40ba842a0e5a0812b0",
      "tree": "6b96e72963e8167058df90d7ce6eddc5e4b798f8",
      "parents": [
        "c399df7a683d831f55b5afdb6945ef86bfe0e181",
        "803c7c807969bea1f1c50f348832f5b60ad05d8e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 07 17:03:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 17:03:55 2016 +0000"
      },
      "message": "Merge \"AAPT2: Enable windows build and make sure it builds\" into nyc-dev"
    },
    {
      "commit": "c399df7a683d831f55b5afdb6945ef86bfe0e181",
      "tree": "a7bc8e98f77aacefcee573718e8d153f92f5f459",
      "parents": [
        "9d8da4cdf182643cd015bbf7a8ae1da9e53eb8b4",
        "694d0a7dfd281060c9f8d92a79bda1b7071affe3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 07 17:03:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 17:03:23 2016 +0000"
      },
      "message": "Merge \"AAPT: Dump uses-feature version in dump badging\" into nyc-dev"
    },
    {
      "commit": "8cdf61a02e4652d53560c9758b8b15e76c50bfd7",
      "tree": "39d818b673232595b984ed69fab5e8d89992f66d",
      "parents": [
        "8c83a85e26844a24c2f4975e248021a4d4a32f9d"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Apr 07 18:00:17 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Apr 07 18:00:17 2016 +0100"
      },
      "message": "Fix NPE when runnin testActivity\n\nChange-Id: I7ac81cb286b8d5593ae7f5fedb99bfd0fda791c5\n"
    },
    {
      "commit": "8d35506e512cbbce09cedfe8e1d76653440ca3a5",
      "tree": "bdacd8ebccffb5ed741f4d87d5ed50c766825172",
      "parents": [
        "bdc3961fef7b57f98bd6091b79fb511081237d8e",
        "a4d7ad8663e624d46f53ac0e5948348348d82204"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Apr 07 16:26:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 16:27:00 2016 +0000"
      },
      "message": "Merge \"Fix rect shadow detection\" into nyc-dev"
    },
    {
      "commit": "c728c3daba5754467ef0c42a83247fdb4be1a4db",
      "tree": "e9a006039c10d5bc09f8b6e601d392ec69bccdb3",
      "parents": [
        "50e439df28f1ceb76c229543f93f0b3f6ea05793"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 17:40:25 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 17:40:25 2016 -0700"
      },
      "message": "AAPT2: Allow \u003cprotected-broadcast\u003e and \u003ceat-comment\u003e in AndroidManifest.xml\n\nChange-Id: I38c49a2a31e560dec963d44d94e067035fd59150\n"
    },
    {
      "commit": "694d0a7dfd281060c9f8d92a79bda1b7071affe3",
      "tree": "f28cbf08b0cb51a36d0da06980eca6e15019a029",
      "parents": [
        "50e439df28f1ceb76c229543f93f0b3f6ea05793"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:12:04 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:40:23 2016 -0700"
      },
      "message": "AAPT: Dump uses-feature version in dump badging\n\nBug:27162500\nChange-Id: I4f82cdd8ef1801c92d4ea6b4bb982c6e7d91edb5\n"
    },
    {
      "commit": "803c7c807969bea1f1c50f348832f5b60ad05d8e",
      "tree": "03237f2437312596e744d382aac3bf800c92c59d",
      "parents": [
        "50e439df28f1ceb76c229543f93f0b3f6ea05793"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:09:43 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:24:02 2016 -0700"
      },
      "message": "AAPT2: Enable windows build and make sure it builds\n\nMingw32 4.8 is kind of picky with macros and some complicated template\nstuff. Luckily there was another way to represent the\nSFINAE code that works on all platforms. Yay!\n\nChange-Id: Idc2e38f47bfdc57b394550bfa0f53cc0b825df25\n"
    },
    {
      "commit": "ae3622a2f75c1082aec1240b365bf834e986379a",
      "tree": "384887e8e584ca5ca48fb175c560bb268bcd4b7b",
      "parents": [
        "522e28e943c5f8580de6a48d1e7f160291377ad1",
        "cc5609d8e484ec82ef1dced793af7f674f059b1c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 20:43:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 06 20:43:25 2016 +0000"
      },
      "message": "Merge \"AAPT2: Implement XmlActionExecutor to verify manifest\" into nyc-dev"
    },
    {
      "commit": "5b758bf272e3e24c8822523c2a3c3f38ba6f8025",
      "tree": "37cb0355f568626356a6749d87fcd421ebf14a2f",
      "parents": [
        "c2b2f6eeffe7e1745d17244a693b9df6f42dbcd5",
        "42c8bd1b4aba37bd302eb96f55c536d9e51762ed"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 19:32:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 06 19:32:02 2016 +0000"
      },
      "message": "Merge \"Add missing setAccessible to Choreographer\u0027s threadInstance\" into nyc-dev"
    },
    {
      "commit": "42c8bd1b4aba37bd302eb96f55c536d9e51762ed",
      "tree": "eda780b563a37d823718fc1ce408b52b0e89fe10",
      "parents": [
        "61ccc9198ab09363edbf500d7669dbcfafc5fa28"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 12:29:55 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 12:29:55 2016 -0700"
      },
      "message": "Add missing setAccessible to Choreographer\u0027s threadInstance\n\nChange-Id: I753660cf68ba5a9c375942222e32059d952739bb\n"
    },
    {
      "commit": "39f1311b545f1f8732ee3a8b565018dcd0da7323",
      "tree": "f790faa3d1278d9dbf760fdb40b28467e225bb5a",
      "parents": [
        "a27c1df9c2620707268c099f534535aeccc22044",
        "61ccc9198ab09363edbf500d7669dbcfafc5fa28"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 19:03:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 06 19:04:00 2016 +0000"
      },
      "message": "Merge \"Clear ThreadLocal storage from Choreographer\" into nyc-dev"
    },
    {
      "commit": "cc5609d8e484ec82ef1dced793af7f674f059b1c",
      "tree": "0a0197eeecb0f1d8cf6106b38c8043f4356b960e",
      "parents": [
        "9d8ec0f12ee67129afb4020aa1d91599073cfeab"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 05 12:41:07 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 11:37:05 2016 -0700"
      },
      "message": "AAPT2: Implement XmlActionExecutor to verify manifest\n\nDefines a set of actions to perform on XML elements defined by their\nhierarchy, eg: manifest -\u003e application -\u003e activity.\n\nThis can be used to easily add rules to check more tags in AndroidManifest.xml\n\nChange-Id: I76c6916a98b6403075a7e56e16230979dc6cbee1\n"
    },
    {
      "commit": "61ccc9198ab09363edbf500d7669dbcfafc5fa28",
      "tree": "388fafcf2e43934dfcea01437401228306d6ae40",
      "parents": [
        "91253ed04696ecd57636472dd8ac74660f65c5c2"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 11:32:36 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Apr 06 11:32:36 2016 -0700"
      },
      "message": "Clear ThreadLocal storage from Choreographer\n\nChange-Id: I5abb5c68a635e7808b0a036ba4d9971cd0139aa3\n"
    },
    {
      "commit": "a4d7ad8663e624d46f53ac0e5948348348d82204",
      "tree": "3d47b9049a6e527926373f0eaa0f71607e01681d",
      "parents": [
        "36712853a9d0b57702ee5b1fd936ff0b9f48c151"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Apr 06 12:17:34 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Apr 06 12:33:26 2016 +0100"
      },
      "message": "Fix rect shadow detection\n\nViewGroup_Delegate was trying to use a rect shadow even in cases where\nwe needed to use a path. This caused that using a ToggleButton would\nthrow an exception with radius \u003c 0.\nAlso, changed the tests so we can detect certain render errors and\nignore other (like known fidelity warnings).\n\nChange-Id: I900d45f9efa892ad0aebc8f4ef73fc9f21ab9d92\n"
    },
    {
      "commit": "bad02b0ec9fb977f588db405a878ade9535bf240",
      "tree": "fda268d1ce2660308a68a4331f2ed09dd79e71cb",
      "parents": [
        "a951a593c080ade962c70b30da6ff9b059225e61",
        "91253ed04696ecd57636472dd8ac74660f65c5c2"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 05 23:59:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 23:59:02 2016 +0000"
      },
      "message": "Merge \"Add properties from textAppearance to property map\" into nyc-dev"
    },
    {
      "commit": "91253ed04696ecd57636472dd8ac74660f65c5c2",
      "tree": "bae29c06531958b3a77938a69773eac08a29104c",
      "parents": [
        "840172ac1ecc514098d0cad41e009dab95542620"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 05 12:48:18 2016 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Apr 05 16:58:00 2016 -0700"
      },
      "message": "Add properties from textAppearance to property map\n\nThe default property map is used to get the list of XML properties that\na view queried. For things like textAppearance, these are additional\nattributes that the TextView queries, but wasn\u0027t added to  the property\nmap. Add them too.\n\nChange-Id: I1e03fbeced224866de1dcc51b93d5aa5d5886ade\n"
    },
    {
      "commit": "4ce88b10ab1c593d80643878cc6e90edc81b6aab",
      "tree": "2c28c8c670edfe4a846a73a2cd89f88e9d485fe4",
      "parents": [
        "a1a56ed09cb3977c580098113a221c7764d31a58",
        "2605f91f705fbf51800c6fde8ee8cd5f199447b4"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Apr 05 08:17:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 08:17:46 2016 +0000"
      },
      "message": "Merge \"Separate inflate from render step\" into nyc-dev"
    },
    {
      "commit": "b12c2601f475ee127d9ab333e5b8c6cd9a9967e4",
      "tree": "0107e59e623c9ee47278fc5996e7c512195a65ce",
      "parents": [
        "bf8ea13069aec021739b9919a27741f1722466f6",
        "3524a23edb88f0e67352d55ac6a2919f1edf7b30"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 04 22:25:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 22:25:56 2016 +0000"
      },
      "message": "Merge \"AAPT2: Add option to add JavaDoc annotations to Java classes\" into nyc-dev"
    },
    {
      "commit": "3524a23edb88f0e67352d55ac6a2919f1edf7b30",
      "tree": "273d57159996b7c91ce844585de2c52162ad54cf",
      "parents": [
        "c83ce39a8e22b2df75cdfcb09b032d0b2244a5ca"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 01 19:19:24 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 04 12:42:05 2016 -0700"
      },
      "message": "AAPT2: Add option to add JavaDoc annotations to Java classes\n\nChange-Id: I7ee8c20cdd91380927a65c41097ffd3a6ffa2df5\n"
    },
    {
      "commit": "2605f91f705fbf51800c6fde8ee8cd5f199447b4",
      "tree": "1e915ad7b01a1a1c7462dbd8b17ab335d5d7edb4",
      "parents": [
        "18e7e10f67384796282c913805b0124137bd13e5"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Apr 04 14:28:50 2016 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Apr 04 19:43:48 2016 +0100"
      },
      "message": "Separate inflate from render step\n\nUp until now, createSession will always do a first render. With the new\nembedded layoutlib we might want to actually call objects from the\ninflated view before doing a render or even do it between renders.\nThis allows to avoid the first initial render unless needed.\n\nThis CL also fixes a bug that would only happen when multiple render\ncalls are issued. When scrolling, use scrollTo since we likely want\nabsolute positions, not relative.\n\nChange-Id: I4b1d8388d7218a8de33e25cd546fd965fcb07dc7\n"
    }
  ],
  "next": "5dde087811c255509a72aa9a51c27b40bf0cbf2c"
}
