)]}'
{
  "log": [
    {
      "commit": "9a7be3a3eb166fc3cf8453a55db636935e2eb410",
      "tree": "ef876244be2590ad50540668417f16351cc90392",
      "parents": [
        "158cd7b1f2aac1e076ef43debd0ec882a9f2c822"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Mar 01 14:18:10 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Mar 01 14:21:01 2017 +0000"
      },
      "message": "Rename android.os.Build so it can be dynamically generated\n\nThis will allow the android.os.Build class to be generated dynamically\nfrom the Studio side.\nIn order to allow the \"refactoring\" of classses like android.os.Build,\nCreate needed to be modified.\n\nWhile adding the test, I\u0027ve also done a small clean-up of the\nAsmGeneratorTest to re-use some code.\n\nBug: http://b.android.com/210345\nTest: Added new test to AsmGeneratorTest\nChange-Id: Ie4e1209c1c60b7a33cb427dbd556a9741ec8f8b3\n"
    },
    {
      "commit": "434968aa2f7004b21fa598373f59d2928dddf3b3",
      "tree": "59c506df4e5193bdd51230753ef36e473bc048e4",
      "parents": [
        "194f375979c6d92bf8ce54d21a342acccbfc7530"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Feb 27 14:44:46 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Feb 27 14:44:46 2017 +0000"
      },
      "message": "Add stroke width property used by animated vector drawables\n\nThis is for example used in displaying a checked radio button.\n\nTest: Modified widget render test to include a checked radio button\nChange-Id: I43074ce038f69f28c0cf5fb396d393722b02b142\n"
    },
    {
      "commit": "bdecfe14450f40a9a5bf63c6c31635794432c0b4",
      "tree": "9a7bcba4c9fd5921192f15a3e8a4cfc4850651c7",
      "parents": [
        "71abcbb106281881eae56e703830d3c702446d60",
        "033b2226babcaeeb28cc08de6e2c2304a581bd9f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 24 01:13:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 01:14:01 2017 +0000"
      },
      "message": "Merge \"Load hyphenation patterns for Bulgarian and Church Slavonic\""
    },
    {
      "commit": "b5a0ef8188fc4b59a4a86615bd84441122da40a3",
      "tree": "67fde30c8734d1279852befab75e9da9a75c1b4e",
      "parents": [
        "7a30319091024ef70aa9a2d95521b6aad09e5dde",
        "b5dc4bd49a036e3403ca17e961d2c8e13e038295"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 20:24:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 20:24:27 2017 +0000"
      },
      "message": "Merge \"AAPT2: Few tweaks to get shared-libraries working\""
    },
    {
      "commit": "88403817a21ba1d2cf7835478ad7b67c0e82d7a1",
      "tree": "cc207ee7e1a9f89d7a2e009cc86c680ddf3d4ebd",
      "parents": [
        "df0824ad4cd31a3e96653fe82ce969b08cd00be2"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Feb 23 15:15:49 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Feb 23 15:15:49 2017 +0000"
      },
      "message": "Add autofill service to BridgeContext\n\nTest: layoutlib tests\nChange-Id: I52b360a64518165eefee4250b1c32e9f5f87845d\n"
    },
    {
      "commit": "033b2226babcaeeb28cc08de6e2c2304a581bd9f",
      "tree": "5c41f448173e51a1d57f275373cff9250230c0aa",
      "parents": [
        "3b264fa2afdeb7c01753eb6879e0f7f2461267e4"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Feb 22 18:53:39 2017 -0800"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Feb 22 23:39:24 2017 -0800"
      },
      "message": "Load hyphenation patterns for Bulgarian and Church Slavonic\n\nPatterns for Bulgarian (bg) and Church Slavonic (cu) are now loaded\ntoo.\n\nAlso make changes to fontchain_lint.py, so it knows the script for Bulgarian\nand Church Slavonic is Cyrillic.\n\nTest: make -j works and creates .hyb files for bg and cu\nChange-Id: I0586f6c49380279ef88fe952b5cfd2d3594c5524\n"
    },
    {
      "commit": "b5dc4bd49a036e3403ca17e961d2c8e13e038295",
      "tree": "e07c0d9a9718a34e2834fe6adbfd99e449cebb8b",
      "parents": [
        "9a53d03104c4535f512ec24e63afe9a965979812"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 22 19:29:29 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 22 19:54:43 2017 -0800"
      },
      "message": "AAPT2: Few tweaks to get shared-libraries working\n\nTest: manual (building shared support library demo)\nChange-Id: I4730645aa92ba1893baf67ffe35fbd4aac0f8e46\n"
    },
    {
      "commit": "d48944a745f9ed121e6bde22ef6feb3a44fbec39",
      "tree": "349c152caa68f1283535b2f9c49f5cd8a50eb59b",
      "parents": [
        "ceb9b2f80f853059233cdd29057f39a5960a74ae"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 21 14:22:30 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 22 11:41:55 2017 -0800"
      },
      "message": "AAPT2: Rename strip phase to optimize\n\n- Allow resource deduping, version collapsing, and sparse resource\n  encoding.\n\nTest: manual\nChange-Id: Ia4aa892ab5b06ba1d5ea4a6efb51b00bc3a980c4\n"
    },
    {
      "commit": "ceb9b2f80f853059233cdd29057f39a5960a74ae",
      "tree": "9093e8537319a97d8a2cbd8d4f0042c81de5ff8e",
      "parents": [
        "f9bd2944694539f1dce74d420156cc50bbb4af14"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 16 12:05:42 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 22 11:16:13 2017 -0800"
      },
      "message": "AAPT2: Shared library support\n\nTest: make aapt2_tests\nChange-Id: I98dddf1367e6c0ac425bb20be46e6ff05f4f2f45\n"
    },
    {
      "commit": "57806372598a69a264571b01c7c9c3a08b401963",
      "tree": "5709a54942db16c3cd890b7ce89f6889276898ed",
      "parents": [
        "9659c4d646b4f918f580de771ea9605cdc085818",
        "67ac03043c86bf8b1ee77a5b9911940c0961b727"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 15:20:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 15:20:20 2017 +0000"
      },
      "message": "Merge \"Set MockView.setGravity to public\""
    },
    {
      "commit": "c98c16ded8738054242b2576a74e145f834b6efa",
      "tree": "9e455e4f52f2528ca009745ce340b2a99ff4abc4",
      "parents": [
        "229316ad3e37ababe59a93b9786b37b737048096",
        "bc9d2a13f0bbeae4ebf04da5a0b0d2f7814b40e4"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 12:55:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 12:55:14 2017 +0000"
      },
      "message": "Merge \"Add support for aapt:attr attributes\""
    },
    {
      "commit": "67ac03043c86bf8b1ee77a5b9911940c0961b727",
      "tree": "bdab62837136cf24c660e3ea62df80bd560845aa",
      "parents": [
        "8dba8afc650ec9dd4e8fde502fea517a0f6e9159"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 10:40:39 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 10:41:18 2017 +0000"
      },
      "message": "Set MockView.setGravity to public\n\nThe method is used from Studio so it needs to be public.\n\nTest: N/A\nChange-Id: I603de9ae0c8b719f5173eff152cc2558f734017e\n"
    },
    {
      "commit": "bc9d2a13f0bbeae4ebf04da5a0b0d2f7814b40e4",
      "tree": "6837f87ee13f4574e9d8e02706f909c03cf4f7ea",
      "parents": [
        "8dba8afc650ec9dd4e8fde502fea517a0f6e9159"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Nov 21 17:01:50 2016 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 09:34:49 2017 +0000"
      },
      "message": "Add support for aapt:attr attributes\n\nTest: Tested from the studio side\nChange-Id: Id506801f53cfc976c7352bd7f9632804862668b7\n"
    },
    {
      "commit": "8f52705b48b244c7164439a3c3834e6e120d8e7d",
      "tree": "553da4c632698f1599ded1caaba51b3605693da8",
      "parents": [
        "8dba8afc650ec9dd4e8fde502fea517a0f6e9159",
        "3d3e69ce6d5d001637cb401139e2bf15bdd71652"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 21 09:30:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 09:30:05 2017 +0000"
      },
      "message": "Merge \"Fix BridgeContext.resolveThemeAttribute color parsing\""
    },
    {
      "commit": "b01d3db74229b74e533a500dfe3ae58d78dbb65e",
      "tree": "10eea01efdc46bc46d00e376495ded52010b9a9d",
      "parents": [
        "82c2d94e89c0d786b0734ff98a8395e1a7ce3956",
        "1db0d3cd048ecf6cc2c2af9e05c158b0ccdc74b2"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Feb 20 11:35:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 20 11:35:57 2017 +0000"
      },
      "message": "Merge \"Update FontFamily_Delegate following Change I1d6e1c4c\""
    },
    {
      "commit": "3d3e69ce6d5d001637cb401139e2bf15bdd71652",
      "tree": "96617f12c347ed56bff3ded6fad97b678549ac4a",
      "parents": [
        "6fd0e8d5d4202bc3b904b4342827aba7d59bf93f"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 20 11:06:46 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 20 11:08:26 2017 +0000"
      },
      "message": "Fix BridgeContext.resolveThemeAttribute color parsing\n\nWhen passed a color, resolveThemeAttribute was not parsing the value\ninto the .data field.\n\nBug: http://b.android.com/232870\nTest: Added new test\nChange-Id: I9d91e3a70c24f1e71d9d89977fe79b0965e98893\n"
    },
    {
      "commit": "75e7d1d73e74cdc85a5fb731fa13159ab073d939",
      "tree": "7193961bcf4abecd118479b3fae730436fd42aac",
      "parents": [
        "ed71756327a57a301ea7a2b6d6041517320ab3ad"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 17 12:06:41 2017 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 17 18:44:28 2017 -0800"
      },
      "message": "Removes an already defined warning in aapt.\n\nApps that expect to use the current SDK don\u0027t specify anything in their\nmanifest and the build system rightfully injects the current SDK.\n\nAny apps that specify their own \u003cuses-sdk\u003e or versionCode are telling\nthe build system that they are purposely using some other minSdkVersion,\netc (support library demos).\n\nTest: None\nChange-Id: I0aba3a71e15703c7bcafcf4d35608a1851dd8567\nFixes: 34901699\n"
    },
    {
      "commit": "edb88a2b94093ddaeb11c3ea4b8e989c6822bff1",
      "tree": "3a00e476978c414b92cadd7c48e2ece1fdafcf89",
      "parents": [
        "18c527b96d94c31d789ec137cb12f6e13cd20916",
        "c8f71aa67ea599cb80205496cb67e9e7a121299c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Feb 18 00:39:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 18 00:39:18 2017 +0000"
      },
      "message": "Merge \"Add ResTable_sparseTypeEntry support\""
    },
    {
      "commit": "96b98321635dac0334f50f9711313ceb981f8f1e",
      "tree": "a56196a79552e32a59df70fd9b33e735536632c3",
      "parents": [
        "cd1af32eda2172ac73396b6336e358a0c9711187",
        "61221290f5d2c1dd1ac223e049bf6d6c3a9d2838"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 21:09:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 21:09:28 2017 +0000"
      },
      "message": "Merge \"API for accessing preloaded files cache\""
    },
    {
      "commit": "61221290f5d2c1dd1ac223e049bf6d6c3a9d2838",
      "tree": "e88b424732503bbd83d90c3f03ab7eb5e506b723",
      "parents": [
        "a722a2ea38f65eda5e7cfaaff29465d396e6f1a3"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Sep 02 15:21:03 2016 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Feb 17 10:40:54 2017 -0800"
      },
      "message": "API for accessing preloaded files cache\n\nAdded @SystemAPI method Context.getPreloadsFileCache.\n\nBug: 31008665\nTest: manual\nChange-Id: Id61ab5e1b78d8bfbd40f61985406a8de4082b30f\n"
    },
    {
      "commit": "1db0d3cd048ecf6cc2c2af9e05c158b0ccdc74b2",
      "tree": "64b29674b4d1741faf33fc125f38fdc64cc38451",
      "parents": [
        "bae3d7083f69b652101d4b29635c0d6407fc1910"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Feb 17 15:46:05 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Feb 17 15:46:05 2017 +0000"
      },
      "message": "Update FontFamily_Delegate following Change I1d6e1c4c\n\nTest: layoutlib tests\nChange-Id: I3fda9b0eaf36d74c8a64f2a5c7aeb063b4df8d1a\n"
    },
    {
      "commit": "b047b8bd7e363081e91ba6cbc8d09cd355624584",
      "tree": "0b15ed46761aadf8ac9fa23c2791322b06757952",
      "parents": [
        "7d8875a178973ad4a2e0a5ed5492770f773a02e8"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Wed Feb 08 18:38:26 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 17:33:59 2017 -0800"
      },
      "message": "Report move to display for activities that handle config changes\n\nWhen activity that is moved between displays handles all configuration\nchanges, it won\u0027t be restarted. This CL adds a callback to the client\nto notify it about display change. Usually it will be followed by\nonConfigurationChanged, except when configuration didn\u0027t actually change.\nWhen activity is recreated, it won\u0027t receive onMovedToDisplay.\n\nBug: 34862802\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testOnMovedToDisplayCallback\nChange-Id: I9a9501cab788623ada15a31efb53e4b2378639fe\n"
    },
    {
      "commit": "b9014f356a9e5dc5f260ae644ead55f9bb3c8c2a",
      "tree": "a8b8f991bcad853d81d869c1caea3e615e870a7c",
      "parents": [
        "2b71a6d54f8607aea137cf3b8e79fab2e2299f6e",
        "97344168cb22396a89096938d3860f9dbe7abf94"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 16 17:47:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 17:47:10 2017 +0000"
      },
      "message": "Merge \"Add BridgeXmlPullAttributesTest to the Main suite\""
    },
    {
      "commit": "65febdd300d14c014b23351ede4e4f71dc6b350b",
      "tree": "fffc4ec196efbf8fbbb64cec3b4cef1340eb71da",
      "parents": [
        "677f0d6c7c55963f2780f074259f2b8429f5c73a",
        "3a733323501dbc594212a022f18dad6ccdfb92be"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Feb 16 13:31:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 13:31:38 2017 +0000"
      },
      "message": "Merge \"Fix LayoutlibTestCallback.getResourceId\""
    },
    {
      "commit": "677f0d6c7c55963f2780f074259f2b8429f5c73a",
      "tree": "80ab67cca9e573c0fadc47278d59329bace2a5fb",
      "parents": [
        "95939990ee18f06e5a4668ca54842fc0e1fe1676",
        "d88767aa3d2ec6fab469eb7a0827b971c8447941"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Feb 16 13:30:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 13:30:22 2017 +0000"
      },
      "message": "Merge \"Update asm version in layoutlib following Change I2a6396e7\""
    },
    {
      "commit": "102ef6fd5321b3e67029606dd349db3759a82233",
      "tree": "13ccb5f4b86e94fdf1c70b71303551db58e0d582",
      "parents": [
        "e0da063b8d1fe7908b8acfaec3be010b3a886e36",
        "196b73136589ba50d9f5b2b96552e0edf15ae03c"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 16 12:14:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 12:14:14 2017 +0000"
      },
      "message": "Merge \"Set the correct class loader in Resources\""
    },
    {
      "commit": "9809b8fdd66d47accc68ccf94d144ac1642954bb",
      "tree": "0a48ebf25a432d3e0b297c6d4cacbc05c879ddf7",
      "parents": [
        "0b6b10d1eeb30631aaa44e84db8f14444832a2bd",
        "286839e40d302563befa0f43b071d8a19d744004"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 00:49:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:49:16 2017 +0000"
      },
      "message": "Merge \"Add functionality to overwrite the /etc/preloaded-classes file.\""
    },
    {
      "commit": "c8f71aa67ea599cb80205496cb67e9e7a121299c",
      "tree": "2966aa97b09f04f9b7379fd93a7fc3ea1ae9009f",
      "parents": [
        "c535d122c6a58a152ff2581f936070c2695c45ba"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 08 07:03:50 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 15 12:40:02 2017 -0800"
      },
      "message": "Add ResTable_sparseTypeEntry support\n\nBenchmarks on bullhead-userdebug show that there is a negligent\nperformance impact when using sparse entries on a 30% loaded\nsparse type of 1000 resources.\n\nBenchmark                                             Time           CPU Iterations\n-----------------------------------------------------------------------------------\nBM_SparseEntryGetResourceSparseLarge                255 ns        254 ns    2751408\nBM_SparseEntryGetResourceNotSparseLarge             254 ns        254 ns    2756534\n\nBug: 27381711\nTest: make libandroidfw_tests aapt2_tests\nChange-Id: I051ea22f2f6b2bc3696e446adc9e2a34be18009f\n"
    },
    {
      "commit": "3a733323501dbc594212a022f18dad6ccdfb92be",
      "tree": "41c9e24bdcf2fef017c5d8f8eb96541e12a28840",
      "parents": [
        "4211358c7448147388c5e4af3e0e5472def83a3b"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 15 15:59:04 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 15 15:59:04 2017 +0000"
      },
      "message": "Fix LayoutlibTestCallback.getResourceId\n\nReturn null instead of triggering a NPE when there are no resource of\nthe asked type.\n\nTest: RenderTests.testFonts\nChange-Id: Ib45ebdf2178e62cbd987082512fcbb009de3f1b2\n"
    },
    {
      "commit": "d88767aa3d2ec6fab469eb7a0827b971c8447941",
      "tree": "dce29b046e36504de4fb96d8689457e65490ce32",
      "parents": [
        "4211358c7448147388c5e4af3e0e5472def83a3b"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 15 15:34:50 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 15 15:34:50 2017 +0000"
      },
      "message": "Update asm version in layoutlib following Change I2a6396e7\n\nTest: layoutlib tests\nChange-Id: I53f61b429bad3f919a6a22d52ac7bc3266190589\n"
    },
    {
      "commit": "196b73136589ba50d9f5b2b96552e0edf15ae03c",
      "tree": "2cda315e61f0798241fa8d98af1048efb3b7bcf1",
      "parents": [
        "789c4b4b14880621f05e7750f594b24bc93fcff9"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 15 11:48:44 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 15 11:48:44 2017 +0000"
      },
      "message": "Set the correct class loader in Resources\n\nThe class loader in Resources is now used to inflate drawables. Because\nlayoutlib was using the system class loader, the drawables would fail to\ninflate.\nWith this change, Resources will use the layoutlib class loader instead\nof the system one.\n\nTest: Tested from the studio side\nChange-Id: I933ff68e704f9d3599b69cd74e98e44bdca3c789\n"
    },
    {
      "commit": "c5a8e06f2ea916b797408bfdfd379a52a907f290",
      "tree": "0ea48afab1506cdfa23d98af3dea9ed31625a25e",
      "parents": [
        "83e0faf2cc0b69bdba17d7a11f7deda922060e73",
        "789c4b4b14880621f05e7750f594b24bc93fcff9"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 15 10:36:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 15 10:36:22 2017 +0000"
      },
      "message": "Merge \"Add dynamic font support\""
    },
    {
      "commit": "286839e40d302563befa0f43b071d8a19d744004",
      "tree": "b4bd68341b6f844af11c582ed1be4cd7d0d28d5d",
      "parents": [
        "dfabcb1ca015fe76f395e19997048bf8eca6eafb"
      ],
      "author": {
        "name": "Michael Rosenfeld",
        "email": "mrosenfeld@google.com",
        "time": "Tue Feb 14 17:52:23 2017 -0800"
      },
      "committer": {
        "name": "Michael Rosenfeld",
        "email": "mrosenfeld@google.com",
        "time": "Tue Feb 14 18:33:42 2017 -0800"
      },
      "message": "Add functionality to overwrite the /etc/preloaded-classes file.\n\n* Requires root, disable-verity, reboot, root before use.\n\nTest: manual through UI and sequencing\nChange-Id: I68965334776e130b8220a5814b2525109cf96800\n"
    },
    {
      "commit": "7ad2067f983ddda2a83453a5a908c6dc7140483c",
      "tree": "5845cfb85558403ac4d98bb80ddc22dcd5d90db1",
      "parents": [
        "e46fa2b486160baa02ef9aea6bfb05f054d0aed1",
        "9106c64bf3ca60d0b867fa1f2d78d3b19c9e4178"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 14 23:10:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 23:10:59 2017 +0000"
      },
      "message": "Merge \"Add API to track package changes\""
    },
    {
      "commit": "9106c64bf3ca60d0b867fa1f2d78d3b19c9e4178",
      "tree": "cc366888fa7579b5d9d7d55095af9844fa198ba2",
      "parents": [
        "710a285110c9fbe4296a7afc9b2923d66f00806b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Feb 08 14:16:53 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Feb 14 12:44:50 2017 -0800"
      },
      "message": "Add API to track package changes\n\nAfter any package install, removal or update, save the changed\npackage and update a global sequence number. At any point, apps\ncan query for the packages changed since a particular sequence\nnumber.\n\nIf a package is changed multiple times, it is only included once\nin the change list.\n\nBug: 33865505\nTest: Create sample app to query for changes and see which packages are changed after performing certain operations\nChange-Id: Ia4646035362b16a97110e05f3f909ce385b48428\n"
    },
    {
      "commit": "4114a9597ac87b16bc1262c530ffcaa9547cd97f",
      "tree": "f16944efa3cbedc996338b0f8c7c56924a7d2183",
      "parents": [
        "710a285110c9fbe4296a7afc9b2923d66f00806b",
        "886d642fb630e3e3b5f8f61c845ac0e2a3cb45d9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 14 19:28:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 19:28:36 2017 +0000"
      },
      "message": "Merge \"Use asm-5.2 prebuilt\" am: 6b32770d6d am: 6c1ac4dd80 am: 29fd14f9ee\nam: 886d642fb6\n\nChange-Id: I1c8d74fc0967521a9a52fdc5cac0f1216d6bff5c\n"
    },
    {
      "commit": "886d642fb630e3e3b5f8f61c845ac0e2a3cb45d9",
      "tree": "ee125a46c88a4ec289c27ac83fb198dfa2695bd8",
      "parents": [
        "b02f8eb241579163688daaa1d959cd4a49fe7c85",
        "29fd14f9eee449730ca2043da80992c99c9c4e47"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 14 19:22:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 19:22:27 2017 +0000"
      },
      "message": "Merge \"Use asm-5.2 prebuilt\" am: 6b32770d6d am: 6c1ac4dd80\nam: 29fd14f9ee\n\nChange-Id: I0b08a521058a82ca801f020bd63dc9ccb4bf3a28\n"
    },
    {
      "commit": "29fd14f9eee449730ca2043da80992c99c9c4e47",
      "tree": "7157028b15d55a3540ad76625f8177ae097b2982",
      "parents": [
        "4105747ec357d68fa84e306fb56cfa682676b9ec",
        "6c1ac4dd80e50682c595e8e1aba8a119132fd7b9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 14 19:17:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 19:17:24 2017 +0000"
      },
      "message": "Merge \"Use asm-5.2 prebuilt\" am: 6b32770d6d\nam: 6c1ac4dd80\n\nChange-Id: Icc01bcd92c5b23198bb39ff382610c72b4bf1867\n"
    },
    {
      "commit": "789c4b4b14880621f05e7750f594b24bc93fcff9",
      "tree": "f61aa876436da3a7bd796867c20b783b6f5ba231",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 13:11:02 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 14 18:24:16 2017 +0000"
      },
      "message": "Add dynamic font support\n\nThis CL allows loading fonts from resources.\n\nTest: Added new fonts test\nChange-Id: Ic82239121cc3f78f2a22b22de42e54575c1f2d98\n"
    },
    {
      "commit": "dacc13775204dea9889ab34ed08872489ac9fc57",
      "tree": "fa06023efefce943524af8e0c7c616aa9d0d5224",
      "parents": [
        "ab582b762ad6f0fbb2b087cff4472ab60e85474d",
        "62253b6c60b8176edf6af2f0c342fd0668e70dc2"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 14 15:25:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 15:25:37 2017 +0000"
      },
      "message": "Merge \"A bit of warning cleanup\""
    },
    {
      "commit": "62253b6c60b8176edf6af2f0c342fd0668e70dc2",
      "tree": "9a269c776b2093ee929bcd5e5a0c2a78a9a06fac",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Feb 03 11:50:59 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 14 12:36:18 2017 +0000"
      },
      "message": "A bit of warning cleanup\n\nTest: Covered by existing tests\nChange-Id: I3f27540efdb47e3c1db02f85c67c81e36d159a79\n"
    },
    {
      "commit": "646b78173a3527b350c73baeb568acee38446e5e",
      "tree": "4ffe3eda614df355267c070a585cab24cc3511ad",
      "parents": [
        "89c376ed66ba65b7878719efbbc0ec603441f520",
        "4b0e604090993e88c8206637e5fe26c7b618bfc6"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 14 12:23:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 12:23:11 2017 +0000"
      },
      "message": "Merge \"Fixes for animated vector drawables\""
    },
    {
      "commit": "ff54b306de12066a7bf67bd494ca8971d8c4135c",
      "tree": "f841255ba1ec38a0b87b48ee243b7425407c829f",
      "parents": [
        "b068dd5b6613d34383923f1cecdbcae4638ba4b7",
        "6db3bfe33d92127d203ec872a0b353585a99f256"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Feb 13 22:08:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 22:08:35 2017 +0000"
      },
      "message": "Merge \"Track event flow to IMMS#setImeWindowStatus\""
    },
    {
      "commit": "80e86bae0e3fd4f670244528cfd4d67a6f8f1004",
      "tree": "419526e5d2dbc84af0c99305ce0b0c65a0e9bb99",
      "parents": [
        "621ebe692fdaf0cc018e0f152bd9214577f01020"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 13 12:14:29 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 13 12:54:10 2017 -0800"
      },
      "message": "Use asm-5.2 prebuilt\n\nTest: m -j checkbuild tests cts\nChange-Id: I37d40cc2e0406679394012aacd49f7ca9e51e3f6\n"
    },
    {
      "commit": "6db3bfe33d92127d203ec872a0b353585a99f256",
      "tree": "81c9cc693c3b0ec854bdb33ac3855be87797c7a5",
      "parents": [
        "f7526b58960608887b064670bb42f41aa28b8f41"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Feb 13 12:04:41 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Feb 13 12:04:41 2017 -0800"
      },
      "message": "Track event flow to IMMS#setImeWindowStatus\n\nThis is part of work to introduce historical debugging infrastructure\nfor Android IME.\n\nIn this CL, we will focus on the following two event flows.\n\n A1. IMMS#attachNewInputLocked() queues MSG_(RE)START_INPUT to deliver\n     new InputConnection/EditorInfo to the current IME\n A2. The IME triggers IMS#onStartInput()/IMS#onRestartInput() and\n     updates the following fields:\n      - InputMethodService#mStartedInputConnection\n      - InputMethodService#mInputEditorInfo\n\n B1. IME is expected to call back IMM#setImeWindowStatus() to notify\n     its window visibility change to IMMS.\n B2. IMMS updates the following field if the caller is still the\n     current IME.\n      - InputMethodManagerService#mImeWindowVis\n\nWhat this CL aims to do is to enable IMMS to access A1 state when it\nwas in B2 state, by considering that for given a B1 the last A2\nhappened before B1 is the cause of B1 and B2.\n\nTo do this, IMMS issues a binder token in A1 and each IME keeps it\nso that it can be passed in B1. By using this Binder token as a key,\nIMMS can keep tracking state snapshot taken from each A1. Note that\nthose state snapshots keep alive until the Binder token\u0027s proxy in the\nIME process loses strong reference from its GC root.\n\nTest: Make sure `adb shell dumpsys input_method | grep mImeWindowVis`\n      matches to the IME window visibility.\nTest: Make sure the current IME is not receiving any\n      InvalidParameterException from IMMS.\nBug: 35079353\nChange-Id: I9921b381e02106dbffff5e0b3d13f0a1245ce807\n"
    },
    {
      "commit": "d432860074620524d8c1fc47e2502b9edd66a19a",
      "tree": "b024287a1b59492a2ba7174add0e167bba6cde8b",
      "parents": [
        "cc28e74728c6fa8dae0d33a8d459f9e353fbca8c",
        "74f36500a9b0c40431953724f228227f92a87db2"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 18:25:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:25:31 2017 +0000"
      },
      "message": "Merge changes Ic3affb60,If09a6623\n\n* changes:\n  Fix NopCanvas initialization\n  NopCanvas is only hw accelerated during construction\n"
    },
    {
      "commit": "74f36500a9b0c40431953724f228227f92a87db2",
      "tree": "da2bc41ebcfed011699cbdd72d21509a984ad664",
      "parents": [
        "be4d4fa3dfb01af46229777e5da9bb94c00d9633"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 02 17:32:35 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 15:59:34 2017 +0000"
      },
      "message": "Fix NopCanvas initialization\n\nReverse the logic since the field wouldn\u0027t be initialized to true before\nsuper is called.\n\nTest: Layoutlib tests\nChange-Id: Ic3affb608bdf3306ada25e2dd986a48f6caae202\n"
    },
    {
      "commit": "be4d4fa3dfb01af46229777e5da9bb94c00d9633",
      "tree": "fefd5489e138798ab12be1fda7b6e1c462426af7",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 02 10:32:03 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 15:59:26 2017 +0000"
      },
      "message": "NopCanvas is only hw accelerated during construction\n\nDuring construction, we want to make NopCanvas as light as possible so\nwe just say that we are hw accelerated.\nThis caused some crashes further down the line for some views that\nthought that NopCanvas was hw accelerated. From now on, NopCanvas is\nonly hw accelerated during construction.\n\nTest: Covered by the existing tests\nChange-Id: If09a662312e5c90d011e7ab2cbb524ef7b420d12\n"
    },
    {
      "commit": "44467a0f61e4870b18cfd19a33457b33bee22da6",
      "tree": "4fc59facf91c8099078df8ddb6e9a4f34dd86cf1",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Jan 16 11:39:17 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 15:57:50 2017 +0000"
      },
      "message": "Remove custom service Class -\u003e name mapping\n\nKeeping the mapping manually is very error prone and the\nSystemServiceRegistry already does it for us.\n\nBug: http://b.android.com/231975\nTest: Added new test\nChange-Id: I507c4a9d5f0821a5a237ee27f5e97c5cd9040223\n"
    },
    {
      "commit": "4b0e604090993e88c8206637e5fe26c7b618bfc6",
      "tree": "1e9f8d9d21e705151a12fda647e65a3cd67b9d9e",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Jan 30 17:15:02 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Mon Feb 13 15:56:04 2017 +0000"
      },
      "message": "Fixes for animated vector drawables\n\n- Make sure that all ImageViews containing animated vector drawables\nhave the animation started.\n- VGroup does not need to copy the children as they are copied by the\nVectorDrawable initialization\n\nTest: Covered by existing animated vector drawable tests\nChange-Id: Ic0fc09ee5c98b3747dbc6fe311cdeea2c8dba380\n"
    },
    {
      "commit": "639c371e9615a771e4ad85c32e3e5693c25fe76b",
      "tree": "a9f1ccfad2779bf62ca12274791f08b6cc189158",
      "parents": [
        "618b7a9aec2cda96edbe1d97044f017f605788c6",
        "22dac1c8df4ec212e8195a69d2de15d313d724fb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 13 03:36:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 03:36:07 2017 +0000"
      },
      "message": "Merge \"Introduce @SoftInputModeFlags annotation\""
    },
    {
      "commit": "22dac1c8df4ec212e8195a69d2de15d313d724fb",
      "tree": "62fa87fbc4d1c6b0503d31242b1910cb3dd73348",
      "parents": [
        "22a8923368a41cf50adfbc963c02b66302bb2d41"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Sun Feb 12 16:54:16 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Sun Feb 12 16:54:16 2017 -0800"
      },
      "message": "Introduce @SoftInputModeFlags annotation\n\nDoing this allows us to annotate integer values that should corresponds\nto WindowManager.LayoutParams#softInputMode.\n\nTest: There should be no behavior change.  RetentionPolicy.SOURCE\n      annotation should change nothing in production code.\nTest: checkbuild\nBug: 32784563\nBug: 35079353\nChange-Id: I96300b090edce327d0515c740183abe91ded6bac\n"
    },
    {
      "commit": "5b12734fb0d1c189ed9ab699bdb1a4d26c6ed8b8",
      "tree": "606403e46191c1a8855af7456f7ada99333b4535",
      "parents": [
        "f700fb1f23459ba0b4cfad12d0ef7291139c31b9",
        "672384b41e1fc7195424533b7aa6753fb771a6cb"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Sun Feb 12 18:43:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 12 18:44:01 2017 +0000"
      },
      "message": "Merge \"Allow for multiple preferred densities in the strip command.\""
    },
    {
      "commit": "672384b41e1fc7195424533b7aa6753fb771a6cb",
      "tree": "2fa775cab3a3f4b0df5649b2f25e6c0577c0e44c",
      "parents": [
        "85a05cd9b5945c42f46ce1bcacb2d1e0aa8c7a44"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Mon Feb 06 10:29:02 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Sun Feb 12 15:57:41 2017 +0000"
      },
      "message": "Allow for multiple preferred densities in the strip command.\n\nTest: Unit tests pass.\n\nChange-Id: I1f27ac8c36ff3489e4c8e4fce7f3d9cb31df6906\n"
    },
    {
      "commit": "2c728430a73816efdc8f9d5cf0133541f49df68e",
      "tree": "bfa02e74dd709c1af56696f61f622d1b88dec99d",
      "parents": [
        "d1b16370519008ca7060cbef6a3c6b60e9d3448e",
        "2cfa849e9289474d82773335e6f54d751103a53a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 11 04:20:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 11 04:20:43 2017 +0000"
      },
      "message": "Merge \"fix  warning: Potential leak of memory pointed to by \u0027target\u0027\""
    },
    {
      "commit": "efdb4289597ad1594eb906aeafd2ebdf8854bdc7",
      "tree": "594046a80ee0a02fd90463a4f0f84a6f02bb90d7",
      "parents": [
        "df185d750273ecb7b2c61e98206ee9c11d76217b",
        "2bc66171cce4d5ae7bee2c3920e82e45a9d245af"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Feb 09 16:55:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 16:55:04 2017 +0000"
      },
      "message": "Merge \"Eliminate out-of-sync IMM#mFullscreenMode error\""
    },
    {
      "commit": "024d22fdb76a75f72ac1a421c4dd184bbfe2ba12",
      "tree": "074240054a9d37547ab9ddd3cac73a05e08b3f0e",
      "parents": [
        "34895c404b0153f021094d149cf36918edbd4552",
        "7542162cb1b1fd2ce8a26dd7f3fedc8de8160d38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 09 16:17:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 16:17:18 2017 +0000"
      },
      "message": "Merge \"AAPT2: Fix pseudolocalization to respect \u003cxliff:g\u003e\""
    },
    {
      "commit": "2bc66171cce4d5ae7bee2c3920e82e45a9d245af",
      "tree": "c2822968e4dbe767d146b979ce23c714b7f014ff",
      "parents": [
        "fd62c58ede768be5830a052ee2d5ee6ade787839"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Feb 08 11:13:25 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Feb 09 00:51:18 2017 +0000"
      },
      "message": "Eliminate out-of-sync IMM#mFullscreenMode error\n\nAs explained in the commit message of my previous CL [1], we have\nhad a design issue in how to notify the full-screen mode change\nfrom the IME to InputMethodManager running in the target application.\n\nHistrically we have done this by using hooking the following IPC\nfrom the IME to the target application.\n\n  InputConnection#reportFullscreenMode()\n\nHowever, since we also want InputConnection to be deactivated in some\nsituations such as the when the target application is no longer\nfocused. In other words, InputConnection is not a reliable way to\nnotify something.\n\nAs a result, we have suffered from many stale state issues.\nBug 21455064 and Bug 28157836 are such examples.  In Android N, we\nintroduced yet another hack to work around those issues, but it is\nreally time to fix the protocol design instead.\n\nThe new strategy is to rely on internal IPCs provided by\nInputMethodManager to deliver such critical notifications from one\nprocess to the other. This is actually more natural because our goal\nis to make sure that InputMethodManager#isFullscreenMode() always\nreturns the latest value as long as the caller is the focused\napplication.\n\nFor backword compatibility, applications that are monitoring\nthis callback should continue working, as InputMethodManager emulates\nthe previous behavior.  However, as updated in JavaDoc, IMEs are no\nlonger allowed to invoke InputConnection#reportFullscreenMode(),\nwhich should be OK because even on previous releases IMEs should rely on\nInputMethodService#updateFullscreenMode() instead.\n\n [1]: Iba184245a01a3b340f006bc4e415d304de3c2696\n      1544def0facda69c210b0ae64b17394ea2860d39\n\nFixes: 28406127\nTest: Make sure Bug 21455064 is still fixed.\n       1. Input some words in extract mode.\n       2. Select a word.\n       3. Perform copy.\n       4. Select a word.\n       5. Rotate the device.\n       6. Try to select a word.\n       7. Make sure he word is selected and action mode starts.\nTest: Make sure Bug 28157836 is still fixed.\n       1. Rotate device to landscape mode.\n       2. Tap on EditText and start full screen extracted mode.\n       3. Rotate device to portrait mode.\n       4. Long press to start action mode.\n       5. Make sure Action mode gets started.\nTest: `adb shell dumpsys input_method` to make sure that fullscreen\n      state is synchronized across the app, IMMS, and the IME.\nChange-Id: If23e7c7c265ab3dfb48c2fb6fdb361b17d22c594\n"
    },
    {
      "commit": "42c401adbdd69044b08b2b73d563b6e42606cf43",
      "tree": "1b0433c546bccc313813eb1f947a2fb59848b386",
      "parents": [
        "4f2eba2a10f4e1a18de4d3f3527a5580761d65e8",
        "929d6517dfd338f0d481dbe6587643d5aef27ec6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 16:50:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 16:50:33 2017 +0000"
      },
      "message": "Merge \"AssetManager2: Add GetResourceId\""
    },
    {
      "commit": "7542162cb1b1fd2ce8a26dd7f3fedc8de8160d38",
      "tree": "0358684e3551d67eb93cb80ae81ef391ba1a9091",
      "parents": [
        "c270de85cc0c398d9ce165592908d2740219a708"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 06 15:20:04 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 08 06:23:45 2017 -0800"
      },
      "message": "AAPT2: Fix pseudolocalization to respect \u003cxliff:g\u003e\n\nThe XLIFF \u0027g\u0027 tag specifies content that should NOT be translated.\nAAPT2\u0027s pseudolocalization process should respect it.\n\nBug:34064599\nTest: make libandroidfw_tests\nChange-Id: Ice437d7f0ff246730ee04896fd035e2d846148fb\n"
    },
    {
      "commit": "af463961bc44c53fe35fe184a93b55d07273a676",
      "tree": "2532e5693888c4e59f2d501650b2af7277ed27e1",
      "parents": [
        "0ebe2d1b0dca82cadbce2fad5eff32c7d498d1f6",
        "fa1e9d7ad0e3f5b7fce37dbdc3f5ad889274ee43"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 08 14:07:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 14:07:22 2017 +0000"
      },
      "message": "Merge \"AAPT: Fix --feature-of to allow non-public symbol visibility\""
    },
    {
      "commit": "929d6517dfd338f0d481dbe6587643d5aef27ec6",
      "tree": "b80a93b93946bd4e982b9f4abd97a4c3aa43feb3",
      "parents": [
        "c270de85cc0c398d9ce165592908d2740219a708"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 16 19:11:19 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 08 06:04:52 2017 -0800"
      },
      "message": "AssetManager2: Add GetResourceId\n\nAdd ability to lookup a resource by name.\n\nTest: make libandroidfw_tests\nChange-Id: I262ba5ce4c9892458226fbdb44cf21f9877fb92d\n"
    },
    {
      "commit": "97344168cb22396a89096938d3860f9dbe7abf94",
      "tree": "882afdc9929c6b02617c0584b39ff5474c32da6d",
      "parents": [
        "c357e35897f9d39e6754e2627d884b291e2003a3"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 07 10:44:50 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 08 10:22:40 2017 +0000"
      },
      "message": "Add BridgeXmlPullAttributesTest to the Main suite\n\nTest: Not needed\nChange-Id: Ic00e6ef6b0fffd7ad480d37cfd57b2859efe1fbb\n(cherry picked from commit 836d53375c0bc98fa5ee5f591901895cc1a305bd)\n"
    },
    {
      "commit": "c357e35897f9d39e6754e2627d884b291e2003a3",
      "tree": "272e4a6be97f08b1001b1323307f92c65a918322",
      "parents": [
        "47ba2637687ca23d3ad66e7c9cce310ce8d0eabb",
        "c0919ba4cb204c08842e6848b5df8e111ac557b9"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 08 10:21:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 10:21:39 2017 +0000"
      },
      "message": "Merge \"Upgrade thumbnails size by 4x\""
    },
    {
      "commit": "47ba2637687ca23d3ad66e7c9cce310ce8d0eabb",
      "tree": "b7ea808a2dd3f50549487f3d6c15bae5dfd9b485",
      "parents": [
        "ba89ed754fb8abb0f1f66dd452dfe6ecd3963455",
        "abb080d749638802cef92e2d40faa8b6d9553755"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Feb 08 10:21:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 10:21:27 2017 +0000"
      },
      "message": "Merge \"Fix support for enum attributes in BridgeContext\""
    },
    {
      "commit": "2a82fe587b850061ace024d2025047554987c10d",
      "tree": "26fae1b27de105614b95852e21fdb910435a52cf",
      "parents": [
        "9c2a6867578142b3e51fa8787a39d350c147b4fa"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Feb 02 14:43:34 2017 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Feb 07 08:26:36 2017 -0800"
      },
      "message": "Refactor PiP logic in preparation for expanded state.\n\n- #1: Move logic for handling IME size changes into SysUI, and only rely\n      on PinnedStackController to provide bounds when first entering\n      PiP and on rotation\n- #2: Doing #1 allows us to move PipMotionHelper to SysUI completely, which\n      lets us aggregate the animation calls out of PipTouchHandler\n- #3: Add proper callbacks to the listeners when the movement bounds\n      changed from config change, ime change, or aspect ratio change. This\n      allows SysUI to calculate the associated movement bounds for the\n      expanded state, and we can then remove the corresponding WM call.\n      It also means that SysUI is the only thing that needs to know about\n      the expanded state.\n- #4: Fix issue where TV was getting the default bounds, not taking the\n      aspect ratio when the PiP was entered into account.  Doing #3\n      allows us to report the right bounds.\n- #5: Remove dead code related to edge snapping/minimizing now that they\n      are on by default and associated tuner setting, and controller\n      callbacks\n\nTest: android.server.cts.ActivityManagerPinnedStackTests (all existing tests pass)\n\nChange-Id: I3ef361bdf8d44094b4c0a11c70ba4db7d697fdec\nSigned-off-by: Winson Chung \u003cwinsonc@google.com\u003e\n"
    },
    {
      "commit": "c0919ba4cb204c08842e6848b5df8e111ac557b9",
      "tree": "14b5fca8e3e480d158572caccd5b8eb0256055fa",
      "parents": [
        "6c149326d8d1ef0f8bf6dad702ffca399364d0d3"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 07 11:10:57 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 07 11:10:57 2017 +0000"
      },
      "message": "Upgrade thumbnails size by 4x\n\nTest: Updates existing tests\nChange-Id: I822ea4b35ee56b8c2e193b7123e6e99719499359\n"
    },
    {
      "commit": "abb080d749638802cef92e2d40faa8b6d9553755",
      "tree": "72d81ae463a499ffa69fe854dccb7d25f296e460",
      "parents": [
        "6c149326d8d1ef0f8bf6dad702ffca399364d0d3"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Jan 18 14:54:04 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Feb 07 10:29:09 2017 +0000"
      },
      "message": "Fix support for enum attributes in BridgeContext\n\nTest: Updated BridgeXmlPullAttributesTest\nBug: http://b.android.com/231347\nChange-Id: I5fd8b46155ccea6c9b65787f311a0887fa4b4806\n"
    },
    {
      "commit": "0355dccc85b70ae6e68a11c0dd1e6b8fb2feb94b",
      "tree": "5c5d8a13dc0bb5dd6e02abe4a5ae2ddcb0c8e1ba",
      "parents": [
        "466149d78c8483094840db8c70976427a9dab0a7",
        "fa131d5312011fc1a95cc9a679dbe52f0a7dbe4d"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Sat Feb 04 03:54:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 04 03:54:43 2017 +0000"
      },
      "message": "Merge \"Only compress files that were already compressed in the original APK.\""
    },
    {
      "commit": "558a63056e55424c1033d078e950e5329288cb57",
      "tree": "92bc949903bfd210322d3eb36947843c6f018c43",
      "parents": [
        "a07efe52d59a8d9652140d44f1744a43fdb690a5",
        "86d67df8d57b9537666f9b54a9ca563779a2288b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Feb 04 03:44:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 04 03:44:25 2017 +0000"
      },
      "message": "Merge \"AAPT2: Support CtsContentTestCases build\""
    },
    {
      "commit": "fa131d5312011fc1a95cc9a679dbe52f0a7dbe4d",
      "tree": "f488c2401aab2030859d822c11efe1d5838823af",
      "parents": [
        "2a1232426826d08124502fc48101a8eae326fcc4"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 19:15:03 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 19:49:37 2017 +0000"
      },
      "message": "Only compress files that were already compressed in the original APK.\n\nAlso fix a log message.\n\nTest: Manually. Unit tests pass.\n\nChange-Id: Iea236bbcfbe1a0a0894ce1bfce09c19208c5a0bc\n"
    },
    {
      "commit": "2968cbf4aa67e952d79dd57e39806dbe92a0148e",
      "tree": "77988c62bdfe8ddd5215c71f956fb1ba7f73ea11",
      "parents": [
        "fc866baa333a60a988208293fa2eb99d7e90d427"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 22:38:40 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 18:57:09 2017 +0000"
      },
      "message": "Strip the resources from the APK using the TableSplitter.\n\nTest: Unit tests pass.\n\nChange-Id: I1dd71581113fb9a6feeefa9c794cc282529c3754\n"
    },
    {
      "commit": "fc866baa333a60a988208293fa2eb99d7e90d427",
      "tree": "f9d164ee808e72896dffcab33b32a5582caeef2b",
      "parents": [
        "265066c51d3f0fcc924fb12482780231329c95f2",
        "880d65b4fdfcdc5ac24a3d697a2acfc8511d8b37"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 18:51:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 18:51:42 2017 +0000"
      },
      "message": "Merge \"Iterate over the zip entries in order.\""
    },
    {
      "commit": "265066c51d3f0fcc924fb12482780231329c95f2",
      "tree": "29e881b39a307c95af0e1db765cb458024916331",
      "parents": [
        "1d23c581645c891f5d24247e766fe1f06c616d6d",
        "970732dc453f84bdf4e232490925ee7c48513734"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 18:50:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 18:50:16 2017 +0000"
      },
      "message": "Merge \"Expose whether a file was compressed before being loaded in memory.\""
    },
    {
      "commit": "1d23c581645c891f5d24247e766fe1f06c616d6d",
      "tree": "13f72c86933589cf46c1db963206f3e0c557988c",
      "parents": [
        "e7da87a41f7860c2240b744947656d8c298bba95",
        "2599aa4dfd29627a5690460bdcd5568d1029d4dc"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Fri Feb 03 18:49:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 18:49:37 2017 +0000"
      },
      "message": "Merge \"Add a method LoadedApk::WriteToArchive.\""
    },
    {
      "commit": "970732dc453f84bdf4e232490925ee7c48513734",
      "tree": "78476848b1dc7f27eff82c7f9841aa6a57bba92c",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 23:13:58 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 23:39:24 2017 +0000"
      },
      "message": "Expose whether a file was compressed before being loaded in memory.\n\nThis is useful when we want to write an APK and keep the same\ncompression parameters as the original APK.\n\nTest: Unit tests pass.\n\nChange-Id: I3afcae1c8727e429b08c9ac7359cf0789ff4abfc\n"
    },
    {
      "commit": "880d65b4fdfcdc5ac24a3d697a2acfc8511d8b37",
      "tree": "afca5c8fd9417eac0f150585a64d4724089994d6",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 22:33:17 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 22:52:44 2017 +0000"
      },
      "message": "Iterate over the zip entries in order.\n\nTest: Unit tests pass.\n\nChange-Id: I0501fad51a87c6cc91f2fc22358cd356616e1a2e\n"
    },
    {
      "commit": "2599aa4dfd29627a5690460bdcd5568d1029d4dc",
      "tree": "e7cf03b50d729f80cb85ec15ba1dc68bda841759",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Wed Feb 01 22:47:03 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Thu Feb 02 21:35:21 2017 +0000"
      },
      "message": "Add a method LoadedApk::WriteToArchive.\n\nTest: Manually.\n\nChange-Id: I61717204e58ca2bbfba9a52c7aecf27882a853f8\n"
    },
    {
      "commit": "2a1b23966af3a9ee25cd223e1679f08beb8ed072",
      "tree": "12b3d0ec5a4f53a2485f1f6cbdfd6e471c077b19",
      "parents": [
        "abf19d1aa4d462c7bd17dfde6558238d5150670d"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 02 16:08:41 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 02 16:53:18 2017 +0000"
      },
      "message": "Update native delegates\n\nAfter changes 9ff994d98846, 6e3658a63843 and 18e9f9f37783\nTest: Existing layoutlib tests\n\nChange-Id: I8e39f26ccb0a8cb73a724f16734e66cf95c08656\n"
    },
    {
      "commit": "abf19d1aa4d462c7bd17dfde6558238d5150670d",
      "tree": "c64a035bcc1726e0b8c2b3d24fecc19b805edb1f",
      "parents": [
        "8308526d8851acb10024444ba9002f2b2c1a8e48",
        "584f563e5b93fc719046265acdcc618ca689cd10"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Feb 02 16:12:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 16:12:26 2017 +0000"
      },
      "message": "Merge changes Ic8254f0f,I1f285c3b\n\n* changes:\n  Ignore justified in layoutlib for the moment\n  Update Canvas_Delegate after Change I3edc963a\n"
    },
    {
      "commit": "b74f7485791890f50fa9a9ff0f9260b2ae3143f8",
      "tree": "2ea04fa960bff1cc2893d712da1aafe74eabc002",
      "parents": [
        "3084ec2df4f14684d11ca1006f8f243243071730"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Jan 24 15:55:53 2017 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Feb 02 10:34:38 2017 +0000"
      },
      "message": "Add ability to promote classes to public visibility\n\nTest: Added new PromoteClassClassAdapterTest\nChange-Id: I30f9ee259d39e2b2768c1ceb45aa2161983c5a5e\n(cherry picked from commit 294f0850f7623737899c9ea0b03cebc2cf7e4176)\n"
    },
    {
      "commit": "86d67df8d57b9537666f9b54a9ca563779a2288b",
      "tree": "d7498429238104f724b28ff68a84e7deeebef8af",
      "parents": [
        "a9285db08883dbbe7b5eb9276cb52b7e01b42aa3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 31 13:47:27 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 01 15:28:23 2017 -0800"
      },
      "message": "AAPT2: Support CtsContentTestCases build\n\n- Add \u003cfeature-group\u003e to ManifestFixer.\n- Support \u003cmeta-data\u003e in \u003cinstrumentation\u003e\n- Add support for \u003cbag\u003e and type\u003d\"configVarying\". Some CTS tests use this\n  old notation, we need to support it (even though configVarying isn\u0027t\n  anything supported by the framework convention).\n\nChange-Id: I6946fa633ce513ea8437c1496db883cf27dcf6de\nTest: make aapt2_tests\n"
    },
    {
      "commit": "8a7b4cb99290ec8c1b7d7df4f6e64999a9f4de6e",
      "tree": "19ec30b335440f6fd50e7b371c55261083bd5adc",
      "parents": [
        "df7278d842eb89e24b94305890c3932c77e27cf2"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Tue Jan 31 23:58:27 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Wed Feb 01 18:49:19 2017 +0000"
      },
      "message": "Backbone of the new aapt2 strip command.\n\nThe strip command takes an APK as argument and a --target-densities flag which\ncontains the list of screen densities for which to optimize the APK. All\nthe resources that would be unused for a device having the given\ndensities are stripped from the APK leaving only the ones actually being\nused.\n\nTest: Manual.\n\nChange-Id: I68368b00876a18ccdbbfc0a8dd265bd361117933\n"
    },
    {
      "commit": "584f563e5b93fc719046265acdcc618ca689cd10",
      "tree": "e8d706c7fca56568dc906c0739d79bb60e154330",
      "parents": [
        "0c37a9eafb5a925e2d63314c697e4564d68e39b0"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 01 17:12:02 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 01 17:12:02 2017 +0000"
      },
      "message": "Ignore justified in layoutlib for the moment\n\nIn Change Icbfab2fa, a new justified alignment for text is implemented.\nWe make layoutlib compatible with those changes without implementing\nthe new alignment.\n\nTest: layoutlib tests\nChange-Id: Ic8254f0f4b2915d654124874fee72c90fd8aa6c6\n"
    },
    {
      "commit": "0c37a9eafb5a925e2d63314c697e4564d68e39b0",
      "tree": "7625c9ddafcec25a9a793b1ef1740411a5352133",
      "parents": [
        "451911ea3a324a153a30daa42e30987071fc16ed"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 01 16:46:19 2017 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Wed Feb 01 16:59:55 2017 +0000"
      },
      "message": "Update Canvas_Delegate after Change I3edc963a\n\nTest: layoutlib tests\nChange-Id: I1f285c3baac267bd47324802c12b33d34f8b581f\n"
    },
    {
      "commit": "ff759e6a6ef6dd741b174e58a0f01cb87accc897",
      "tree": "97d5fa59235dad2144b90caf5f3340b2b4ff566a",
      "parents": [
        "db88bfaa31a559921657cd255e31cde2e73c6f99"
      ],
      "author": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Wed Feb 01 00:29:25 2017 +0000"
      },
      "committer": {
        "name": "Pierre Lecesne",
        "email": "lecesne@google.com",
        "time": "Wed Feb 01 00:31:55 2017 +0000"
      },
      "message": "Moving the LoadedApk class to its own file.\n\nTest: Unit tests pass.\n\nChange-Id: Id706f9ad1f3406bb73a60a33139a04745d5d72c0\n"
    },
    {
      "commit": "096d304ae3d85c1bfcda1a1d9cd4eb13d0815500",
      "tree": "3ebef505ad00306dc5b9f4385715de5f4721b1ce",
      "parents": [
        "9b07338cb2a1a459312d39e85a38edf92549d072"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 30 16:34:13 2017 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 30 17:52:14 2017 -0800"
      },
      "message": "Add instant cookie APIs\n\nThis change adds APIs for instant apps to store cookie data\nthat is presisted across instant installs and across the\nupgrade from an instant to a standard app. Standard apps\ncan use the cookie APIs but when they are uninstalled the\ncookie is also deleted. The cookies are kept longer than\nthe instant apps as they are much smaller - 16KB by default.\nWe can change the cookie size via a system setting i.e.\nafter we ship we can increase size if needed.\n\nWe also add internal APIs to surface information about\ninstalled and uninstalled instant apps which should be\nused for showing them in the UI. For this puporse we store\nthe icon, permissions, and label of uninstalled apps. If\nthe app is re-installed we drop this meta-data but keep\nthe cookie around. If we have cookie data stored and the\nsigning cert of the app changes when it gets re-intalled\nwe wipe the cookie.\n\nTest: CTS tests pass; hiddent APIs tested manually\n\nChange-Id: If145c0440cc61a5303e2cbb70228d235d36037a5\n"
    },
    {
      "commit": "c2410cb9e576b420d96de627f2ed1043a4d7f93f",
      "tree": "26ab5c3a63f87b84afd6b931015b7bb606958f8c",
      "parents": [
        "349969e988780ada0c2520cbd5737761dffca557",
        "e79599ba99a8681239461b576fe34a8acffc3670"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Sun Jan 29 02:49:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 29 02:49:35 2017 +0000"
      },
      "message": "Merge \"Simplify stub TextServicesManager in layoutlib\""
    },
    {
      "commit": "cd5701415133146c6c48b13570b455547e3420f6",
      "tree": "74554b32c992d9928aae07002b50f825521539e2",
      "parents": [
        "ffc7b784348282b7641cf973012b0f67190cecf9",
        "fca7aac5ecd995085b71a4d90b4862f68fbaeb45"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 27 19:28:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 19:28:15 2017 +0000"
      },
      "message": "Merge \"Work around clang-tidy segmentation fault.\""
    },
    {
      "commit": "7d0f5e8d401fce5bc7bda836d1dd89a31056cbcf",
      "tree": "6132ecdb9bfadc0027972186d71fecea2e176986",
      "parents": [
        "36d32c37a32fbfd19037086f275fafaa0b6a7dd7",
        "dd91db5515fa05235a2875244ad10ba742d11dff"
      ],
      "author": {
        "name": "Paul Navin",
        "email": "paulnavin@google.com",
        "time": "Fri Jan 27 17:03:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 17:03:38 2017 +0000"
      },
      "message": "Add hidden API for whether permission review mode is on. am: 7b89a7b1f7 am: 7c230c6f3c\nam: dd91db5515\n\nChange-Id: I936449f717e3c2919622181c9068ec8a48b452ad\n"
    },
    {
      "commit": "dd91db5515fa05235a2875244ad10ba742d11dff",
      "tree": "3c81af5545fae349bd7ccf749675d69c05ba0912",
      "parents": [
        "73f1a5a758c121ce3f58d6ce9b77541cc1e7fdd7",
        "7c230c6f3c9f1ece465b83f3c03643b606f9d843"
      ],
      "author": {
        "name": "Paul Navin",
        "email": "paulnavin@google.com",
        "time": "Fri Jan 27 16:59:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 16:59:33 2017 +0000"
      },
      "message": "Add hidden API for whether permission review mode is on. am: 7b89a7b1f7\nam: 7c230c6f3c\n\nChange-Id: I89c9a580a96d0f69ed30cad9ec2e4f9c215a403b\n"
    },
    {
      "commit": "7c230c6f3c9f1ece465b83f3c03643b606f9d843",
      "tree": "72b840bfe16edbe2ff8efcd7b6205f9f940fe9e9",
      "parents": [
        "c620e64f614f81abfa4e925b34f4b7d12d4e9fbe",
        "7b89a7b1f7c208eaac19290b34c5f505a9fd5eba"
      ],
      "author": {
        "name": "Paul Navin",
        "email": "paulnavin@google.com",
        "time": "Fri Jan 27 16:55:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 16:55:03 2017 +0000"
      },
      "message": "Add hidden API for whether permission review mode is on.\nam: 7b89a7b1f7\n\nChange-Id: I925b6de9f79850dcc816a73357d1d589eeac6333\n"
    },
    {
      "commit": "e79599ba99a8681239461b576fe34a8acffc3670",
      "tree": "e03ba33433e9902f49b21de8f8caef97f85be725",
      "parents": [
        "4ea4f63d28efe745051f0887c8a1e70f916fe500"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Jan 26 23:42:33 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Jan 26 23:42:33 2017 -0800"
      },
      "message": "Simplify stub TextServicesManager in layoutlib\n\nAs a preparation CL to work on Bug 7254002, this CL simplifies\nthe layoutlib mock class of TextServicesManager, which was mostly\nas-is copied from the real one by a previous CL [1].\n\nAlthough keeping maintaining one real class and one stub class is\nstill painful, it should be much better than maintaining the real\none and mostly the real one.\n\n [1]: I8c25f4919a2e97b56f705b59747e81cb6f45b07b\n      f149ca784dd09bd97bd479ae254935ff3edaa617\n\nTest: make layoutlib-tests layoutlib\nTest: No new test failure in the following command.\n      java -Dtest_res.dir\u003dframeworks/base/tools/layoutlib/bridge/tests/res -cp .:/usr/share/java/junit4.jar:prebuilts/tools/common/m2/repository/junit/junit/4.12/junit-4.12.jar:prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:prebuilts/misc/common/tools-common/tools-common-prebuilt.jar:prebuilts/misc/common/sdk-common/sdk-common.jar:prebuilts/misc/common/layoutlib_api/layoutlib_api-prebuilt.jar:prebuilts/misc/common/kxml2/kxml2-2.3.0.jar:prebuilts/tools/common/m2/repository/com/google/guava/guava/15.0/guava-15.0.jar:out/host/linux-x86/framework/layoutlib-tests.jar:out/host/linux-x86/framework/layoutlib.jar org.junit.runner.JUnitCore com.android.layoutlib.bridge.intensive.Main\nBug: 7254002\nChange-Id: I03e95bae15dc04cc0df20c4fb7cc86c5f3c6ccde\n"
    },
    {
      "commit": "7b89a7b1f7c208eaac19290b34c5f505a9fd5eba",
      "tree": "703b138a460c4f5f9a018d4d454e22ef0202e091",
      "parents": [
        "6cc3802e5004d2cea06edb0a0d75fb77086497a9"
      ],
      "author": {
        "name": "Paul Navin",
        "email": "paulnavin@google.com",
        "time": "Thu Jan 26 23:56:08 2017 +0000"
      },
      "committer": {
        "name": "Paul Navin",
        "email": "paulnavin@google.com",
        "time": "Fri Jan 27 03:42:32 2017 +0000"
      },
      "message": "Add hidden API for whether permission review mode is on.\n\nBUG: 34240393\nChange-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c\n"
    },
    {
      "commit": "fca7aac5ecd995085b71a4d90b4862f68fbaeb45",
      "tree": "9589533ab024714d5b6fcda9a13919d203698559",
      "parents": [
        "9e77aefe9ce2c3caa8c0daebf21c86088e10b951"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 26 18:47:14 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 26 18:47:14 2017 -0800"
      },
      "message": "Work around clang-tidy segmentation fault.\n\nThis should affect only builds that call clang-tidy.\nWithout this change, clang-tidy has segmentation fault\nwhen compiling several files in the incident_* directories.\n\nBug: 34740546\nTest: build with WITH_TIDY\u003d1 and\nDEFAULT_GLOBAL_TIDY_CHECKS\u003d\"*,-readability-*,-google-readability-*,-google-runtime-references\"\n\nChange-Id: Idfd46f36c01ccdd401eb54b750bc9d962c29ddeb\n"
    },
    {
      "commit": "bcf3b70371a98878bcad088914a886df4217f555",
      "tree": "cb7413ab86c061649ad63d0db699522374e2b070",
      "parents": [
        "0e4bddb89629b621577da49f2c3a56b61a8796ad",
        "aef2513c7157a28236d097a81fe74d7ba6b710c9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 26 07:35:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 07:35:33 2017 +0000"
      },
      "message": "Merge \"Adding an api for apps to check whether they can install apps\""
    },
    {
      "commit": "aef2513c7157a28236d097a81fe74d7ba6b710c9",
      "tree": "f97967f689a45ae9e57590ceba7bb30e5c754eef",
      "parents": [
        "4bd54c70fa37909fdd7c764d9995c132e7cc137d"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Jan 23 18:09:03 2017 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Jan 25 17:26:02 2017 -0800"
      },
      "message": "Adding an api for apps to check whether they can install apps\n\nSome apps may want to check whether they are trusted to install apps on\nthe device, so they can prompt the user to go to settings and mark them\nas trusted before they do an intensive operation like downloading an\napk.\n\nTest: cts-tradefed run cts -m CtsExternalSourcesTestCases\n\nBug: 31002700\nChange-Id: Icd9d04daa157e6733decba245ec251ce4acd4122\n"
    },
    {
      "commit": "3787de16d24001eeb452e1c711d4290a396e67c9",
      "tree": "33bb0ba8cc2f3a3f7210562f640701156e6dbfd7",
      "parents": [
        "73c945de336c104304c147d182f0fcb31fe8cd50"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Dec 21 10:36:35 2016 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Jan 25 13:13:45 2017 -0800"
      },
      "message": "Implement pointer capture API\n\nWhen in pointer capture mode, mouse pointer disappears and\nfurther mouse events are dispatched to the focused view\nin the window which has requested capture.\n\nThe captured events have the source SOURCE_MOUSE_RELATIVE\nbelonging to SOURCE_CLASS_TRACKBALL. They are\ndispatched through dispatchCapturedPointerEvent /\nonCapturedPointerEvent. There is also a new listener.\n\nPointer capture mode may only be granted to a currently\nfocused window, and will be canceled upon a window focus change.\n\nTest: cts-tradefed ... --test android.view.cts.PointerCaptureTest\nBug: 30897034\nChange-Id: I6e5934aa415ac2b6dda1cee173d0f23e5021af84\n"
    },
    {
      "commit": "9aa513bf95498b6c7a94ba10b2f0444a6d09bd6b",
      "tree": "f43f9ea88b440cbfda039f395a6c5ce0be052f68",
      "parents": [
        "5403efba3c63837cd77b5d7cbcca8e33bc3f5771",
        "4e8628157ad0c8c52e74b720eb0328086272ffda"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 25 16:56:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 16:56:51 2017 +0000"
      },
      "message": "Merge \"Add support for Split APK dependcies\""
    },
    {
      "commit": "68eb1ac342f30b77b6fdba98e67559c4858e3f74",
      "tree": "75a553902b4d3c3ca5b5ae7feef5947d94d00150",
      "parents": [
        "b2540e8d8d46a8eaa3f82ea36fb2bd60d53f77dc",
        "8b48e624457e438fcc2b6b9363329036ef2f7743"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 07:05:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 07:05:50 2017 +0000"
      },
      "message": "Merge \"Follow minikin::FontFamily constructor signature change.\""
    }
  ],
  "next": "d9861d9715d90e94865a6967f9402aa4c8717b7d"
}
