)]}'
{
  "log": [
    {
      "commit": "741e96ff07326292744ee5bc437ba7171f7c3f56",
      "tree": "9c4514cb534fd315b5327cb34e86e3407a9df435",
      "parents": [
        "9ce77e9b7f0a1d001428030f3ad738220378ae40"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 23 16:56:51 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Jan 24 15:45:43 2019 -0800"
      },
      "message": "Fix GetResourceName for shared libraries\n\nGetResourceName used GetPAckageById which only works when the compile\ntime package id is eqal to the runtime package id. This change resolves\nresource names correctly using the ruuntime package id.\n\nBug: 79666085\nTest: libandroidfw_tests\nChange-Id: Ic60cb2416329c5cb34e925991cd689ca7574b483\n"
    },
    {
      "commit": "a117526b4a7555a355e784de35cc7750c6c2abdf",
      "tree": "be06363b2157990471cc246d336ffabba0b557bc",
      "parents": [
        "9853845074f1d44c1498b9ca4b7fbd3544122abb",
        "02d9c1e931610d4732d474b1b33ad836db450016"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 18 00:41:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 00:41:31 2019 +0000"
      },
      "message": "Merge \"Remove RRO policy product_services\""
    },
    {
      "commit": "9853845074f1d44c1498b9ca4b7fbd3544122abb",
      "tree": "eb1fc4ec60229a9a7fbee2b80b983a147e8c134a",
      "parents": [
        "eb5034ac6e104cb450164787ae5318be32109b26",
        "d10d06d0b01151d6fcdf7ac70b5382e08858e233"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 18 00:41:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 00:41:11 2019 +0000"
      },
      "message": "Merge \"Add enforcement of idmap policies\""
    },
    {
      "commit": "02d9c1e931610d4732d474b1b33ad836db450016",
      "tree": "e7eba585fa7280552667fab9c771121b19302c57",
      "parents": [
        "d10d06d0b01151d6fcdf7ac70b5382e08858e233"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 11 16:36:58 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 16 11:47:33 2019 -0800"
      },
      "message": "Remove RRO policy product_services\n\nSince Q will no longer have a product_services partition, remove instances of\nthe product_services policy across aapt2, androidfw, and idmap2.\n\nBug:122745343\nTest: aapt2_tests and libandroidfw_tests\nChange-Id: I97c223a0bf5a2eab95811e5f738b44af6335e0ea\n"
    },
    {
      "commit": "d10d06d0b01151d6fcdf7ac70b5382e08858e233",
      "tree": "40d35254623f0ca31593e020a15c8f79b64f7f28",
      "parents": [
        "f9d106211850390c6ff162ccd1467e6c3ffce219"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jan 07 17:26:25 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 16 11:47:24 2019 -0800"
      },
      "message": "Add enforcement of idmap policies\n\nTeaches idmap2 to recognize policy restrictions put on overlayable\nresources. If overlayable enforcement is turned on for an overlay, then\nany resources defined within the overlayable api of the target will have\npolicy restrictions imposed on them. All resources without overlayable\ndefinitions will continue to be overlayable without policy restrictions.\n\nBug: 119390857\nTest: atest idmap2 and booting\n\nCo-authored-by: Ryan Mitchell \u003crtmitchell@google.com\u003e\nChange-Id: I7e435648eb6e4a87b0b90a7b2a0c3f33c1516ea6\n"
    },
    {
      "commit": "ce7c99c6617bd8a577126386a37060d356b5d1d4",
      "tree": "e162e77267c28dcabc0c9621cf88105deb4db06f",
      "parents": [
        "de784fbf3d4b5544ccfd7e7a9162fb4af2ae8f10"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Dec 18 16:20:49 2018 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Jan 15 16:11:23 2019 -0800"
      },
      "message": "Add source style for each TypedValue.\n\nThis API will be used by Android Studio layout inspector to\nquery where a given resource attribute originated from to allow\ndevelopers to have an easier way to find what needs to be changed\nto affect a given resource attribute.\n\nTest: CTS added in the topic\nBug: 111439551\nChange-Id: Ifbb52b39912ed0444030a86164290a1cd4155250\n"
    },
    {
      "commit": "cf9dd94323e0bf4934281582a1851e60f1fa36ac",
      "tree": "1a7a160c3f03987d1929a6c23717f0ffb78bd040",
      "parents": [
        "edb5e1a1b8e6791f85040a6b602d5c7929260be7",
        "ef5673a4c4021ca27b40e48020203928d71c95a8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jan 15 19:34:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 19:34:30 2019 +0000"
      },
      "message": "Merge \"Add encoding of name and actor overlayable fields\""
    },
    {
      "commit": "55d9a6042bcd5b54c79f61405eabefdb25276525",
      "tree": "547470292747e377b3cbdec793a9e3d232b3b889",
      "parents": [
        "1f49aca8ef96a7de61df7b301fddf0c0fa442582",
        "2f3669b767129bc8739bb03e80abc65eb54a3471"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Tue Jan 15 18:38:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 18:38:17 2019 +0000"
      },
      "message": "Merge \"Add function to return path for last resolved resource\""
    },
    {
      "commit": "20f260b639038f98a7b1e3a35e7cf8d904e97c9f",
      "tree": "76fad3faa2c43cc1f18965082636b5c8761d0387",
      "parents": [
        "8a739a23d505e75da32bdf3ff0d613a782eb303d",
        "7f74aeed501a2e48d64b5cbcd8232a12dbcc9ba1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 15 03:31:12 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 15 03:31:12 2019 -0800"
      },
      "message": "Merge \"CursorWindow.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\" am: adf025b1ff am: de408b3cb4\nam: 7f74aeed50\n\nChange-Id: I20f72f6de160a38d3b6067e685c396e6a27e2dc7\n"
    },
    {
      "commit": "bc807065993c2d37670443ddc6f41c06b55cc5d7",
      "tree": "c39a71c10c7e409bdc4d80d03486605b4b9351e9",
      "parents": [
        "1c2ceb24ed5cbcf1843fba78c357ac3fa01bdb6a",
        "cd06f9ee04750c886d0a4d64cf49e938b57df75a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jan 14 14:58:22 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 14 14:58:22 2019 -0800"
      },
      "message": "Merge \"Fix/suppress androidfw google-explicit-constructor warnings\" am: 392f0052c2 am: 99a3d72b98\nam: cd06f9ee04\n\nChange-Id: I0340acdbd6530f9bd9f67333974bcc65ff97e0e5\n"
    },
    {
      "commit": "2f3669b767129bc8739bb03e80abc65eb54a3471",
      "tree": "ccb7294d22f43c64f863defb345a1383294f221b",
      "parents": [
        "0c891e8f4e5d7e1798e564cee80694264751aa9a"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Fri Jan 11 11:28:34 2019 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Jan 14 14:52:00 2019 -0800"
      },
      "message": "Add function to return path for last resolved resource\n\nAfter an AssetManager.FindEntry call is made, either directly or from any of the resource entry calls, a stack of the steps taken to resolve the resource is saved. Those steps can be retrieved as a log later on by calling AssetManager.GetLastResourceResolution, which returns a formatted string of the resource ID/name and path taken, including the configs and package names of each step.\n\nLogging and the saving of the steps to memory can be enabled/disabled with the @hide .setResourceResolutionLoggingEnabled() method on AssetManager.\n\nBug: 122374289\n\nTest: cases for single and multi ApkAssets loaded\nTest: case for no resolution made\nTest: made test app to display log on device\nTest: added debugging call to source and ran through on-device apps\n\nChange-Id: I6a32b8d4020c3f8510032ff7f431510089fff43f\n"
    },
    {
      "commit": "e104df94836ebf34d7f1a8654a9795b0a7619fda",
      "tree": "cdaa4fb58f042672a71217e51aa65b5cfd025b68",
      "parents": [
        "7ae295368dbb3d9b4dfa67231416cfde2bcdadb0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 14:03:36 2019 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 14:05:06 2019 -0800"
      },
      "message": "CursorWindow.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\n\nReplace calls to dup() with fcntl(F_DUPFD_CLOEXEC). The only difference\nbetween the two is that O_CLOEXEC is set on the newly duped file\ndescriptor. This helps address file descriptor leaks crossing an exec()\nboundary.\n\nTest: compiles and boots\nBug: 120983106\nChange-Id: Icc2ff2f7f398905aa8283c8797898114d34a9829\n"
    },
    {
      "commit": "ef5673a4c4021ca27b40e48020203928d71c95a8",
      "tree": "b97e02462524775bd8a1a5a6104ff0b726d3a478",
      "parents": [
        "56ac01ebb4475440669f5f009c453dba0a86f6dd"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Dec 12 18:45:34 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 11 14:45:09 2019 -0800"
      },
      "message": "Add encoding of name and actor overlayable fields\n\nEncode the actor and name attributes of \u003coverlayable\u003e elements in the\noverlayable chunks. Two chunks cannot have the same name.\n\nBug: 110869880\nBug: 119390855\nTest: aapt2_tests and libandroidfw_tests\nChange-Id: I0ed95efef640b3927046b6155d1840f0d96030dd\n"
    },
    {
      "commit": "c2ace0c694e8379a9aa15e901745f531575d5691",
      "tree": "7ed2c28fea8e27633353bb75c9e121d991392771",
      "parents": [
        "c0f3daa11ab5038ea6338db8822c7a7bacb07a40"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 20 13:46:53 2018 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 10 19:53:08 2019 +0000"
      },
      "message": "Fix/suppress androidfw google-explicit-constructor warnings\n\n* Add explicit to conversion constructors/operators\n* Use NOLINT or NOLINTNEXTLINE to suppress warnings on intended converters\n\nBug: 28341362\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,google-explicit-constructor\nChange-Id: Id02c36c24f5708584e317c035cef3ef2762b537e\n"
    },
    {
      "commit": "ed2af4df00028b1cdee2a4d45b20102b46441daa",
      "tree": "c26a691f8b242ed52cdfbf9b5d09eec608129f84",
      "parents": [
        "7b2b4c838be94e6ca7cfbb255523c800da4a0cce",
        "54237ffed4e63279042084968b77cc17e13c84a8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Dec 19 17:31:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 17:31:50 2018 +0000"
      },
      "message": "Merge \"Add actor and name parsing for overlayable\""
    },
    {
      "commit": "8d7267e82a63ad710300b9fe5ceb76d2cb82ac48",
      "tree": "a7ffedf7058f2e37850eb9b98ad96e2a96d87c37",
      "parents": [
        "2da290134f075ea56e7a4f3b60c601d4de2c7cf7"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Tue Dec 18 16:06:40 2018 -0800"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Tue Dec 18 16:06:40 2018 -0800"
      },
      "message": "Add libandroidfw_tests to device-tests suite\n\nFor it to be included in device-tests.zip to run test in a suite.\n\nBug: none\nTest: none\nChange-Id: Ic20bede356f82a80582acb3883ad1ab9e76a6bdc\n"
    },
    {
      "commit": "6c2a8b480f005f73244c0bbe7e8c049d47b631c5",
      "tree": "773836e4a8b2ddf1b258747d44af58aa17708ff9",
      "parents": [
        "66f04be168a9329622e1f40e33e2ba180d69b5ab"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Dec 14 10:12:27 2018 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Mon Dec 17 21:05:44 2018 +0000"
      },
      "message": "Add TEST_MAPPING for androidfw to add presubmit tests.\n\nTest: atest --host libandroidfw_tests\nChange-Id: Id893e720139791b499f2f38a25a057738a488c2b\n"
    },
    {
      "commit": "54237ffed4e63279042084968b77cc17e13c84a8",
      "tree": "4fa2731f7d0174066653690725f68377895b0b05",
      "parents": [
        "066f0314793d7beac785d0bd736eb01de88c3f97"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Dec 13 15:44:29 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Dec 13 16:05:10 2018 -0800"
      },
      "message": "Add actor and name parsing for overlayable\n\nAdd parsing of two overlayable attributes:\n name : The unnique identifying name of the overlayable set of resources\n actor: The component responsible for enabling and disabling overlays\n        targeting the specified set of resources\n\nBug: 110869880\nBug: 119390855\nTest: m -j aapt2_tests\nChange-Id: Id42463e2b92b69034fb39cd29bc8606affb61ba7\n"
    },
    {
      "commit": "267d6ac11e3066dff3c3b664891bae468239ebe8",
      "tree": "4732e1f246d5e7b695b0567d1212b98dfa1ce150",
      "parents": [
        "81e6e1dc1fed99d621ce0984f2ad647b52558838",
        "1bb1fe068a7e719711963c3cf3a50209e083a17f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Dec 13 00:07:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 00:07:32 2018 +0000"
      },
      "message": "Merge \"Refactor policy parsing\""
    },
    {
      "commit": "81e6e1dc1fed99d621ce0984f2ad647b52558838",
      "tree": "090463eee840de8256ff7303a6ae0a67356f9afb",
      "parents": [
        "d3488971315191b93cbcfa1f9269116d6ea8eb96",
        "2d708911a71a9c1e83c103a0e5e7a6532a57fec0"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Dec 13 00:03:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 00:03:50 2018 +0000"
      },
      "message": "Merge \"Adding rtmitchell to androidfw OWNERS\""
    },
    {
      "commit": "2d708911a71a9c1e83c103a0e5e7a6532a57fec0",
      "tree": "3f99a89a1d507aabb318e7367d323ae0ef0053b2",
      "parents": [
        "c622083df99a87afef8348dd8e4bdfecf3050d94"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Dec 12 15:59:00 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Dec 12 15:59:00 2018 -0800"
      },
      "message": "Adding rtmitchell to androidfw OWNERS\n\nAAPT2 + AndroidFW!\n\nChange-Id: I40bb405d8f0a17d8477bff931bafa2c2ab8fa274\n"
    },
    {
      "commit": "5374655451456d4c9984067524182e588f05e944",
      "tree": "0753eec9f577d5708825fb8fc8f58f458cd4a569",
      "parents": [
        "c3a79dcf45f1c15a1e3cc0f5d57d95f5698ccead",
        "82b999a59c61f12523011a25f4a40f90cb39ee85"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 19:34:07 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 11 19:34:07 2018 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings.\" am: 20b64c4bc7 am: 3038f743bf\nam: 82b999a59c\n\nChange-Id: Ie4bb31fc7366d65e92209c31f6721e20c8538e9a\n"
    },
    {
      "commit": "1bb1fe068a7e719711963c3cf3a50209e083a17f",
      "tree": "70a6d9fbaa6e7f03626b92d345f73b48fcc3fa4a",
      "parents": [
        "c622083df99a87afef8348dd8e4bdfecf3050d94"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 16 11:21:41 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 11 13:48:45 2018 -0800"
      },
      "message": "Refactor policy parsing\n\nThis change removes the ability for an overlayable resource to be\ndefined in multiple policy blocks within the same overlayable. This\nchange also changes aapt2 to use a bit mask to keep track of the parsed\npolicies.\n\nBug: 110869880\nBug: 120298168\nTest: aapt2_tests\nChange-Id: Ie26cd913f94a16c0b312f222bccfa48f62feceaa\n"
    },
    {
      "commit": "054dab1d476eab03823d4cbce40b1b081a65bf46",
      "tree": "06d7f8189b94f2899cb27d97723cc8e392fb78b4",
      "parents": [
        "3cfdb9484505f565025c8c2646b9fc2c7ceae7b9"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Dec 10 13:52:46 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 11:27:17 2018 -0800"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I2dc262d3407aafa969e921236dc3fc3ae60eb9d4\n"
    },
    {
      "commit": "764acc461c88a836a1c12569a5a643b2541763cc",
      "tree": "2c5dc201f80fdfaf8428ab5cb7b0bd0945247b2e",
      "parents": [
        "f4764351fc419bdcbe4f767f3b7aca285343f1ca",
        "75e20dda2b1ef3d2593b02f6a366a02656c1c89d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 05 07:06:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 07:06:21 2018 +0000"
      },
      "message": "Merge \"Encoding of \u003coverlayable\u003e and \u003cpolicy\u003e\""
    },
    {
      "commit": "75e20dda2b1ef3d2593b02f6a366a02656c1c89d",
      "tree": "8fbbab15ed762cd27097f38e4db0279d679f14eb",
      "parents": [
        "7208efc83baa70999d2ab264c289b0a38d716ed5"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 06 16:39:36 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 04 16:45:26 2018 -0800"
      },
      "message": "Encoding of \u003coverlayable\u003e and \u003cpolicy\u003e\n\nThis change defines two new chunks for encoding overlayable information.\nRES_TABLE_OVERLAYABLE_POLICY_TYPE contains flags that represent\nrestrictions enforced on overlays that try to overlay a specific set of\nresource ids. The chunk header is followed by ResTable_ref for each id\nthat belongs to the policy type. A policy chunk will be created for\nevery unique combination of policies that are defined in overlayable\ndeclarations.\n\nRES_TABLE_OVERLAYABLE_TYPE holds policy blocks. Since \u003coverlayable\u003e\ndoes not currently have any attributes, only one overlayable block is\nencoded in an APK.\n\nThis change also removes the SPEC_OVERLAYABLE flag because the runtime\ndoes not use the flag, and the overlayable chunk encoding renders it\nobsolete.\n\nBug: 110869880\nBug: 117545186\nTest: libandroidfw_tests and aapt2_tests\nChange-Id: I45ae9bf4176699f14c85e2b7a2e8560185d8a0b8\n"
    },
    {
      "commit": "449a54fb6bdbe8401d4f7291df46d4d980622ba7",
      "tree": "bd530d1e613b8ae961a8a5b9dee139924e844d83",
      "parents": [
        "e59ac13c375ce1c04d05429826a3d993fea4d9a2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 30 15:22:31 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 04 00:58:14 2018 +0000"
      },
      "message": "Do not include system overlay data when excluded\n\nDo not include configurations or locales from overlays overriding system\nresources when exclude_system is specified in GetResourceConfigurations\nor GetResourceLocales.\n\nBug: 120083032\nTest: run cts -m CtsContentTestCases -t\n  android.content.res.cts.AssetManagerTest#testGetNonSystemLocales\n\nChange-Id: I4ba3b07d3bb9ac72b196ff7ed4d1e853b51f7eea\n"
    },
    {
      "commit": "59d5a5a9380c88cab72e5a58f244d4a39d18b38f",
      "tree": "ed384b2e8dfb79441a8438e4dac2ddc4a92993df",
      "parents": [
        "19b3c371d36f1e5dbdb65d1846d9c0adc4147574"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Nov 27 13:46:58 2018 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Nov 27 13:04:29 2018 -0800"
      },
      "message": "idmap: use more robust data structures\n\nThe problem of creating idmap data consists of three steps:\n\n  1. create the mapping overlay resid -\u003e target resid\n  2. fix the padding between the target resids\n  3. write the mapping as a binary stream\n\nBecause we iterate over the resources in the overlay package, there are\nno guarantees on the order in which target resources are processed. This\nmeans we can\u0027t fix the padding until after step 1. On the other hand,\nafter step 2 the mapping should be immutable.\n\nIntroduce new data structures that help enforce immutability and\nownership of data, as outlined above.\n\nBug: 80150169\nTest: make libandroidfw_tests\nTest: atest OverlayHostTests OverlayDeviceTests\nChange-Id: I45689e8003c96d251a63a758f77609972ae963df\n"
    },
    {
      "commit": "67d5c938e98681f20243345232ebd2c77b390419",
      "tree": "b75fc0264473cc2183ecdb05b2d545d0aa7bd716",
      "parents": [
        "e4205126eeb0bb81babe47b2a4608d8971cab6ed"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri May 25 15:58:17 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Nov 21 06:48:19 2018 -0800"
      },
      "message": "idmap: optimize time to create idmap data\n\nChange idmap to iterate over the resources in the overlay package\ninstead of the target package when scanning for resources defined in\nboth packages. This cuts down the runtime cost of creating an idmap\nconsiderably since the algorithm now scales with the number of resources\nin the overlay package (a handful) and not the number of resources in\nthe target package (android: 10k, SystemUI: 8k) at a minor cost to code\ncomplexity.\n\nImprovements on the runtime of ResTable::createIdmap (systrace on an\nemulator running aosp_x86_64-eng):\n\n  - target\u003dandroid: 12.5 ms -\u003e 3.0 ms\n  - target\u003dSystemUI: 8.6 ms -\u003e 1.0 ms\n\nThe bulk of the cost of creating an idmap from installd is now the fork\nand execl to call \"idmap --fd ...\" which weigh in at 16 ms.\n\nBug: 80150169\nTest: make libandroidfw_tests\nTest: atest OverlayHostTests OverlayDeviceTests\nChange-Id: I98e18d5958c0cd835a73055b714f5bf0f4f95a09\n"
    },
    {
      "commit": "0d5a91b137abd272868f110a4c04ca87efc9a429",
      "tree": "16c43ab4a67a1a4a13987a83a8f5e99c6d47c35a",
      "parents": [
        "c7513249b0d00473260a9685d8abc273dae4dc76",
        "b85d9b2a32949d0cfd6a78701da6597a7aec39d0"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 20 01:00:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 01:00:45 2018 +0000"
      },
      "message": "Merge \"Fix copying null reference across themes\""
    },
    {
      "commit": "b85d9b2a32949d0cfd6a78701da6597a7aec39d0",
      "tree": "58397e1a7f11df04b98b500395bf905d9482c0e3",
      "parents": [
        "b4bbd2c8a8b6f36b7d23b0b152043c5e66e262aa"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 19 12:11:38 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 19 14:09:14 2018 -0800"
      },
      "message": "Fix copying null reference across themes\n\nWhen themes have two different AssetManagers, we only copy attributes\nthat exist in both the themes. If the value of the attribute or\nreference is equal to 0 (a null reference but not using the TYPE_NULL\ntype), do not attempt to fix the package id of that null reference.\n\nBug: 119522708\nTest: manual test of broken app\nChange-Id: Id615d5a47b7f121b08bbba885d106b9cd3f54afc\n"
    },
    {
      "commit": "588bdc6719523ed2fca73abcaae81233709c2895",
      "tree": "4c2cd2f300c020acdd83b1efed06d2d30e3fb347",
      "parents": [
        "2f6ef53ec63b16223d6ef07766c252deaba678eb",
        "d42a670ee59618e98078079b554f2652035eb1e2"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Mon Nov 19 20:48:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 19 20:48:55 2018 +0000"
      },
      "message": "Merge \"Add style value to ResolvedBag in AssetManager2.\""
    },
    {
      "commit": "d42a670ee59618e98078079b554f2652035eb1e2",
      "tree": "831f5ac01b3f9386ca6a61e2f1e16479ad229afd",
      "parents": [
        "10113a7c36838cb7da6b36e7f4800d6cfae6178d"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Nov 15 15:48:28 2018 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Nov 16 10:50:34 2018 -0800"
      },
      "message": "Add style value to ResolvedBag in AssetManager2.\n\nBug: 117176857\nTest: updated AssetManager2Test.MergesStylesWithParentFromSingleApkAssets\nChange-Id: I2b79eea8e43431a932756b267b91eb4423c968a5\n"
    },
    {
      "commit": "db54beb98c281023e910a707e01ab6e8f71ffd0f",
      "tree": "9dd25a79d5663cd0d5899c3494b9788c83c949ea",
      "parents": [
        "c2d93fcbb24abb4469e401f35c43a4d171916aeb",
        "06a1ac82294c2f6b73af59936195546b5eb78ed6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 23:37:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 23:37:04 2018 +0000"
      },
      "message": "Merge \"Prepare for switch to idmap2\""
    },
    {
      "commit": "06a1ac82294c2f6b73af59936195546b5eb78ed6",
      "tree": "22cd7c22e1d9eeabfca8bbd52f0238cba9852a09",
      "parents": [
        "b4c2dc0c1fc09acabfffa1f239e8fa48c75aecae"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Sep 20 13:09:47 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Nov 12 13:24:33 2018 -0800"
      },
      "message": "Prepare for switch to idmap2\n\nPrepare the idmap and asset managers for interfacing with idmap2 instead\nof today\u0027s installd + idmap pipeline, but don\u0027t make the switch just\nyet.\n\nInstead, idmap2 runs as its own native daemon with an AIDL interface.\nThis removes the need for installd to fork and exec on each idmap call,\nsaving about 50 ms per call.\n\nBug: 78815803\nTest: atest OverlayDeviceTests OverlayHostTests\nChange-Id: I60852e15d99329896ff9de6559d1e7cd1c67e33d\n"
    },
    {
      "commit": "e0930d324c9c35546d6940e0ddc8f3e0bd850614",
      "tree": "53d67221fec06166760f83ca30faaf86cc6c313a",
      "parents": [
        "b4c2dc0c1fc09acabfffa1f239e8fa48c75aecae"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Oct 18 14:50:15 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Nov 12 13:07:08 2018 -0800"
      },
      "message": "libandroidfw: add FALLTHROUGH_INTENDED to silence warnings\n\nAdd FALLTHROUGH_INTENDED to silence compiler warnings such as the\nfollowing:\n\n-------- 8\u003c --------\n[ 42% 27/63] //frameworks/base/libs/androidfw:libandroidfw clang++\nLocale.cpp\nframeworks/base/libs/androidfw/Locale.cpp:166:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]\n      case 5:\n      ^\nframeworks/base/libs/androidfw/Locale.cpp:166:7: note: insert \u0027FALLTHROUGH_INTENDED;\u0027 to silence this warning\n      case 5:\n      ^\n      FALLTHROUGH_INTENDED;\nframeworks/base/libs/androidfw/Locale.cpp:166:7: note: insert \u0027break;\u0027 to avoid fall-through\n      case 5:\n      ^\n      break;\n1 warning generated.\n-------- \u003e8 --------\n\nTest: \u0027make libandroidfw\u0027 builds with no compiler warnings\nChange-Id: I6bc67f2c072f88c9f1a92b7378a6f1a460db70b4\n"
    },
    {
      "commit": "45ac8e40024ed729ef85c51356b8047d27750433",
      "tree": "161f22b3bb932c663d37902b1bfa141adc254678",
      "parents": [
        "7d54535d6259b631a97599cc97f90b61c3fc2774",
        "c2b0782c3798ccab5059b0a2fec33d9bd8a08e66"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Nov 08 19:09:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 19:09:47 2018 +0000"
      },
      "message": "Merge \"Fix flaky idmap test\""
    },
    {
      "commit": "c2b0782c3798ccab5059b0a2fec33d9bd8a08e66",
      "tree": "17e642d6593ecd8d3b7e451925d416953ebab7cc",
      "parents": [
        "70c02611090acb5627aaa71b3d5cbac8229c80d7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Nov 07 10:28:56 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Nov 07 10:28:56 2018 -0800"
      },
      "message": "Fix flaky idmap test\n\nThe entry pool is encoded in UTF-8 not UTF-16. This would cause stringAt\nto return a pointer to a cache that holds the UTF-8 string converted to\nUTF-16. If the cache becomes invalidated, the UTF-16 pointer is no\nlonger valid and causes seg faults when looked up.\n\nTest: libandroidfw_tests\nChange-Id: I0f13dbeadd0d148de2805efd6cadb8e220368e3b\n"
    },
    {
      "commit": "5db396d5cc780ecf13cdfd25c8af15a220065f14",
      "tree": "e7c6092f3b912884637549d3bcaed3bb2d8d0904",
      "parents": [
        "3d171b2a0f6c78437e2c529f056f405357a462d7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 05 15:56:15 2018 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Nov 07 01:28:53 2018 +0000"
      },
      "message": "Only resolve non-dynamic resource references\n\nOnly resolve non-dynamic references and attributes if the package is\nloaded as a library or if a shared library is attempting to retrieve\nits own resources.\n\nBug: 116486668\nBug: 116620612\nTest: libandroidfw_tests \u0026 manual test of broken apps\n      \u0026 atest FieldsClassificationTest#testGetAlgorith\n\nChange-Id: Icb827796a65072a39452dbe577d5e18f085ea4e2\n"
    },
    {
      "commit": "306406790868def006d6cebf4c4b2830e73916aa",
      "tree": "edaa2b7a0c417619429ecae4a3ab5e5f17d9c2f0",
      "parents": [
        "f783fa07815cb1b81af9b8f46332b4273508575e",
        "b3ae42e9762a826b1591ab932a6a092ad3e6c3a7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 05 23:56:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 05 23:56:39 2018 +0000"
      },
      "message": "Merge \"Copy common resources between styles\""
    },
    {
      "commit": "b3ae42e9762a826b1591ab932a6a092ad3e6c3a7",
      "tree": "0ca9b27919cb30c1d07dfcb4c0365d92768b6eef",
      "parents": [
        "cfc152af9cbfc47ed4c8ab8a8b6e9ee4214206ea"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 16 12:48:38 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Nov 01 17:01:28 2018 -0700"
      },
      "message": "Copy common resources between styles\n\nThe docuemntation of setTo states that the resources two styles from\ndifferent AssetManagers have in common will be set in the destination\ntheme. This change adds this functionality. The package ids of the\nattributes, the package ids of reference values, and the cookie of\nattribute values have to be rewritten to match the destination\nAssetManager. This change can later be made more generic if rewriting\nreferences between packages is needed elsewhere.\n\nBug: 115897657\nTest: libandroidfw_tests and manual test of app specified in the bug\nChange-Id: Iee999ea2cc8473168cac11aaf3c34e14c958e5ae\n"
    },
    {
      "commit": "51025d638d9a949b2863ad3a56d8b783ec9fc6c4",
      "tree": "00583af19fe8c69a8c2501aeb3675070383d2e94",
      "parents": [
        "c18cd05c6f69b028720a5bc66e2b2a361062805a",
        "469705cca4939f024808eeb4316cdb134e6d6c2c"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 25 17:58:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 25 17:58:17 2018 -0700"
      },
      "message": "Merge \"Allow implicit-fallthrough warnings locally.\" am: 36afe11a64 am: 9c5738238d\nam: 469705cca4\n\nChange-Id: I4bc5f389495ed535762438632e65ccd6c66f3739\n"
    },
    {
      "commit": "e8abd0677674aab095aa192f2a85b1632a962791",
      "tree": "a1561a64a462aa2764852ee75be1a06bb45bf754",
      "parents": [
        "fccdf46adf096e9ba200ce79e00f6df379b5c649"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally.\n\nIt will be a global error by default.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I26616fd50ccf3639fa7c01d850a14d079273ede7\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "559dbd88c7e27638965308ab763e71aa0cd3d1cd",
      "tree": "a171773d9037c7628f4e47d0c821bf7213100c9d",
      "parents": [
        "482e8570d1a60145e47ef7ba461893bdd27db975",
        "498357670e30d48f0219578719cf005e7a21cf04"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 15 22:05:59 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 22:05:59 2018 -0700"
      },
      "message": "Merge \"Change ZipArchiveHandle from void* to ZipArchive*\" am: f79542efd3 am: a34a1e0c97\nam: 498357670e\n\nChange-Id: I4fe5a70c750328bb67cdc02a08e4f9eeb97ac20d\n"
    },
    {
      "commit": "a34a1e0c97451cc39ddebc46616647468fe793d2",
      "tree": "047ae1bc6d35e13dbef6aff6c0eea6d969540dac",
      "parents": [
        "9ff0f548a98be6ac623bf178a27ddb2ff4ff5427",
        "f79542efd3142e3248e5d501dfb420728b5e659a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 15 19:06:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 19:06:02 2018 -0700"
      },
      "message": "Merge \"Change ZipArchiveHandle from void* to ZipArchive*\"\nam: f79542efd3\n\nChange-Id: Iebca19f2757ae77c07eca46a721c6966621fea14\n"
    },
    {
      "commit": "3addcd39659f2c950c4a5c65ba0ea4fed6818196",
      "tree": "91c8beafe069ee02532e091e659b70c4d09b0a36",
      "parents": [
        "4d9823f3eb12d27610770ea315512e460d8dbab3"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Oct 10 22:20:10 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 15 23:22:47 2018 +0000"
      },
      "message": "Change ZipArchiveHandle from void* to ZipArchive*\n\nBug: none\nTest: m checkbuild\nExempt-From-Owner-Approval: owner is OOO for another week,\n  it\u0027s a fairly minor change to this repository\nChange-Id: If4cf57619034ab98b06115ca60beb2fb26c4cd19\n"
    },
    {
      "commit": "62f3415ea6acec43d600c66b1c0c0bf908774d7d",
      "tree": "e3e07e4b5a6bc5cfa6d103c3be0712902c3365d1",
      "parents": [
        "bcacfba60b7eeb2bc719448a5ac1925183d5cb46",
        "dcef1677720f87cb9e8ba786c96dae10ccea96c8"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Oct 10 19:12:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 19:12:19 2018 -0700"
      },
      "message": "Merge \"libandroidfw: introduce ExecuteBinary (POSIX only)\" am: 120b7fba93 am: 2a656b455d\nam: dcef167772\n\nChange-Id: I751a22f6610a103a32bbbb6925e12e5db6e4ca60\n"
    },
    {
      "commit": "c611199baf3bfe661fb37b06e6461956b02afb27",
      "tree": "72e03df407aad84925b672805fc6d0fe9d9b2b6b",
      "parents": [
        "c472b0ac9e7d1624360f2992a609a2ee1050359b",
        "c5e694e9549da3911392abd01bae125444f56294"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Oct 10 12:48:14 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Oct 10 12:48:14 2018 -0700"
      },
      "message": "Merge commit \u0027c5e694e9549da3911392abd01bae125444f56294\u0027 into manual_merge_c5e694e9549da3911392abd01bae125444f56294\n\nChange-Id: Ia48491cbcef8c3696c24619db2c3b7229f5bccc6\n"
    },
    {
      "commit": "2a656b455d5a585281b55d3f49daf8fe4aa17063",
      "tree": "544ad77f762436fde3170441e41263320c931741",
      "parents": [
        "b7c0800fa0fef9c9ffdc1f0fbb803b9298ab9d74",
        "120b7fba9304025d3c630bf4b3681fc30108c2b4"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:08:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:08:34 2018 -0700"
      },
      "message": "Merge \"libandroidfw: introduce ExecuteBinary (POSIX only)\"\nam: 120b7fba93\n\nChange-Id: I6e0b320e8887e32b8ea3fd1cfcf0804714fe1eb3\n"
    },
    {
      "commit": "b7c0800fa0fef9c9ffdc1f0fbb803b9298ab9d74",
      "tree": "9dc5e02017a73eb7b65cbd03c5c39bcecbdfa3f4",
      "parents": [
        "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
        "b14c8879746474fc021a6a1c869e153a4d347d3c"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\"\nam: b14c887974\n\nChange-Id: I14be80a2d2c3620919a78da5a42ed56ec1d1737f\n"
    },
    {
      "commit": "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
      "tree": "d2c6cf9f6cbfa464f261728ae2eb817dfd380602",
      "parents": [
        "247f18f47aca15efbb12fa30a9295299606e6402",
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\nam: 62a5d4249f\n\nChange-Id: I8db3f5ba0de6510c3327273c56e9fcc75c836694\n"
    },
    {
      "commit": "120b7fba9304025d3c630bf4b3681fc30108c2b4",
      "tree": "216687f8671f36434f7fce9e9b90c234f783b393",
      "parents": [
        "b14c8879746474fc021a6a1c869e153a4d347d3c",
        "2503a49b963b7ebd6272d84cb22909152dfbce4f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge \"libandroidfw: introduce ExecuteBinary (POSIX only)\""
    },
    {
      "commit": "b14c8879746474fc021a6a1c869e153a4d347d3c",
      "tree": "94ce6086c7de4b877cdf17ca15d3f07dac833f33",
      "parents": [
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
        "5c541f6e36c049d2a00628083ca0534bf39db971"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\""
    },
    {
      "commit": "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
      "tree": "d5e172014bc7cc5c2eac8312c27e32bc59d83301",
      "parents": [
        "16fcd3dcff4026fe6239478a5901fa121f2439e7",
        "668ec5bd3bd9d5fe6ebf46985eacd3d8d81af937"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\n\n* changes:\n  AssetManager2: optionally keep non-matching configs\n  AAPT2: optionally keep resources without default value\n  libandroidfw: add resource ID iterator\n"
    },
    {
      "commit": "668ec5bd3bd9d5fe6ebf46985eacd3d8d81af937",
      "tree": "5860f23364b953800731c71460c89881d936d57d",
      "parents": [
        "f99eda450f172f13affa1c08ebea9c3be00ac4b6"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jun 11 14:11:33 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Oct 09 20:15:01 2018 +0000"
      },
      "message": "AssetManager2: optionally keep non-matching configs\n\nAssetManager2 maintains a set of configurations [as specified in the\nresource blob] compatible with the currently set configuration [as\nspecified via SetConfiguration]. This helps optimize future resource\nlookups by limiting the set of configurations to iterate over.\n\nHowever, when creating idmaps, all configurations must be considered,\nincluding those not compatible with the currently set configuration. Add\nan optional flag to SetApkAssets to disable the optimization described\nabove.\n\nTest: manual (will be tested by upcoming idmap2 implementation)\nChange-Id: I7526a323ddf90e2f2f49c36e8c110a2cec25357e\n"
    },
    {
      "commit": "5c541f6e36c049d2a00628083ca0534bf39db971",
      "tree": "b96859ed3ac2264eaae528d3eaf11f7a0901aeb0",
      "parents": [
        "61b9b6c9eb7acb7b5f260f43b04d31d17bb59557"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Jun 20 08:46:41 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Oct 08 09:56:09 2018 -0700"
      },
      "message": "libandroidfw: move ConfigDescription from aapt2 to libandroidfw\n\nThis is to allow idmap2 to access ConfigDescription.\n\nTest: libandroidfw_tests\nTest: aapt2_tests\nChange-Id: I54210bbbd8dad5903cb7100807df977efa394ad5\nMerged-In: I54210bbbd8dad5903cb7100807df977efa394ad5\n"
    },
    {
      "commit": "24c9aa65411207067f509c5e88ad31b303d26fcd",
      "tree": "9a7405282c003f0c360c95bd051681733d765919",
      "parents": [
        "ec5c04f4ab781938123e5f68569048cf65fddc14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Jun 20 08:46:41 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Oct 08 06:50:22 2018 -0700"
      },
      "message": "libandroidfw: move ConfigDescription from aapt2 to libandroidfw\n\nThis is to allow idmap2 to access ConfigDescription.\n\nTest: libandroidfw_tests\nTest: aapt2_tests\nChange-Id: I54210bbbd8dad5903cb7100807df977efa394ad5\n"
    },
    {
      "commit": "2503a49b963b7ebd6272d84cb22909152dfbce4f",
      "tree": "a5a4eef847ba1162ff73e3ff51a96dd66ca19dc3",
      "parents": [
        "7b532b7370d2f19a08fc373ba0e95663d96cbfd6"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Sep 27 13:32:30 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Oct 04 03:45:32 2018 +0000"
      },
      "message": "libandroidfw: introduce ExecuteBinary (POSIX only)\n\nIntroduce a wrapper around fork and exec.\n\nTest: make libandroidfw_tests\nChange-Id: Iff0de5319bb6bb101a3fbef6413dfb4e77198f11\n"
    },
    {
      "commit": "3b761c6b3b133c20fd1aa6235dd029435ec2f9cc",
      "tree": "72ffd699167b828968852f172273196ba12eef8f",
      "parents": [
        "77a0e97fb44a10333b8a036fa6a69024e870f186",
        "07a7250da3a0c08148bbf7efb915eac27e473305"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:59:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:59:22 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\" am: 9166e89374 am: 15dcc77fee\nam: 07a7250da3\n\nChange-Id: I74a6b6e53ba4f22b79b855e146aa260b2eaddb27\n"
    },
    {
      "commit": "15dcc77feeb6c7adbea42b0edc8d1ef12aff0201",
      "tree": "489593294ad28b3bde436c08ca81c44d28ca27df",
      "parents": [
        "dcdd224bc0baf7e9452841c49688bb270de52650",
        "9166e8937443f891cb20d8821d17ce5af33793ea"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\"\nam: 9166e89374\n\nChange-Id: I079060ef610c2d90c57140f001225c163a3dd21a\n"
    },
    {
      "commit": "fc81626ba6851f52c72c9858edf3f6818d66cf82",
      "tree": "30551addf9eeb23a99149d1ca04c644285dacaea",
      "parents": [
        "6c35ea901c364f14198009b00b9e838842516911"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 25 12:01:21 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 20:23:02 2018 +0000"
      },
      "message": "Add noexcept to move constructors and assignment operators.\n\nBug: 116614593\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ic3993d88eb3066aef402d74c4d543c56a1dfd5c3\n"
    },
    {
      "commit": "3f1f4fc11d2e19c4b297a97d21293d05ac3db622",
      "tree": "45756e77808f87ef376117a89028ba8a1dd43f7d",
      "parents": [
        "0b925f85c00a9a3a942269236a16e77040a3eeb3"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Mar 02 09:34:18 2018 +0100"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Sep 28 09:40:20 2018 +0200"
      },
      "message": "libandroidfw: add resource ID iterator\n\nAdd an iterator to LoadedPackage which allows the caller to iterate over\nthe resource IDs in the package. This will be used by idmap when\nconstructing the idmap file.\n\nBug: 78815803\nTest: make libandroidfw_tests\nChange-Id: Ia47daa21390d67ea2ef3665e88eb407837c4764f\n"
    },
    {
      "commit": "2bb42051f0b7e9c64f12e14ccd5b2bf7738ecc01",
      "tree": "44893e8c1cc74b36552196eb33b531fece680096",
      "parents": [
        "07a4cc075df2a97cc9574a157c00d457f82c98f7",
        "50bec961b330904d94f4f1ae1bf97f08ef1ef434"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Sep 12 17:41:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 12 17:41:10 2018 -0700"
      },
      "message": "Merge \"ByteBucketArray.h: fix typo\" am: b848ce8e20 am: 0bb76346f5\nam: 50bec961b3\n\nChange-Id: I1ff25b8a7ff8385646ef128ae41e9794b6313cf8\n"
    },
    {
      "commit": "0bb76346f5f049d25c6eeee0a4369a7c571cf75f",
      "tree": "77eb3660833dc8233803d325a3f54d0433a734fd",
      "parents": [
        "eda353bc524e1d1eafee4f4ba8c41be08456105e",
        "b848ce8e2035243a4135eea16f0d2a1f9cefdc81"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Sep 12 16:57:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 12 16:57:17 2018 -0700"
      },
      "message": "Merge \"ByteBucketArray.h: fix typo\"\nam: b848ce8e20\n\nChange-Id: I81aff763f5572b6c72e1a845fda518179cf95e15\n"
    },
    {
      "commit": "cb54cd2dac24e128bcf8d235993305359a04d3f8",
      "tree": "8f82ba986b9a73b485d7642f8db44fbabb601844",
      "parents": [
        "7a8e363c0bbe7d2ad2eea99af8187da8c31ed538"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Feb 28 09:52:16 2018 +0100"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Sep 11 14:24:40 2018 +0200"
      },
      "message": "ByteBucketArray.h: fix typo\n\nBug: 78815803\nTest: builds, boots\nChange-Id: I93d7ce5255911797d6afdb05caf0cf7dbfdc22b9\n"
    },
    {
      "commit": "0d8acf5a96644526524650a68607e210d0599e1b",
      "tree": "017d9ab3d4f42c949ada2e89c149caa773b36046",
      "parents": [
        "8cc536c8d082d5f1100e0765e9544ba7ef191714"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed May 09 12:08:05 2018 -0700"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Aug 31 17:18:36 2018 +0000"
      },
      "message": "Fix widecg and hdr ordering in Configuration\n\nWide Gamut qualifier should be before the HDR one.\n\nBug: 78136980\nTest: am get-config\nChange-Id: If0f09ddb750d586d29b4cedcbab3d5981f393b92\n"
    },
    {
      "commit": "b9b540baf1d2dc028a12c0acba4dd01187c2e961",
      "tree": "e395e3da86e5081755ef8a95c70e10bfcaea0739",
      "parents": [
        "880b41cb009bce63e4fd4db1cb5070a5900ab87f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Aug 22 11:22:54 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Aug 24 10:11:01 2018 -0700"
      },
      "message": "AFW: Lookup shared library resource ids\n\nShared libraries were failing to retrieve correct resource ids from the\nvalues of attributes in xml files. The packages of the shared ids were\nnot changed from 0 to their runtime assigned package ids.\n\nBug: 112776204\nTest: atest FieldsClassificationTest#testGetAlgorithm\nChange-Id: I509bc7632f5ec3e9b644e590934e6cf569a4d938\n"
    },
    {
      "commit": "4ce46793091bf073e93fce72d4a9d3ed1d5201d1",
      "tree": "58be9bc47cbb398718a0a85bfbba4a554b08da90",
      "parents": [
        "804574644849ef39d63d6515497469ee3b33b1d8"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Fri Jun 01 14:02:08 2018 +0100"
      },
      "committer": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Fri Aug 17 16:34:18 2018 +0000"
      },
      "message": "androidfw changes to support /product-services.\n\nSee CL I7a6a30bf8e8db9f2738594d187bb9148f138b8da for a more detailed\ndescription of the change.\n\nTest: see CL I7a6a30bf8e8db9f2738594d187bb9148f138b8da description\nBug: 80741439\nChange-Id: I6cc9d713c07c319fc2ee1c531af41243bd1d4aee\n"
    },
    {
      "commit": "c7d76117196f27bfa5f40218910f29a27d8e8f8a",
      "tree": "7c71d2d3abf4878a1c143d4cca32dc020b53b158",
      "parents": [
        "507537ee165558a519d9be88837fd29642b93af1",
        "60413d0697a0bdaf6ac597f4388ff954d3dcfcf0"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 14:31:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 16 14:31:10 2018 -0700"
      },
      "message": "Merge \"Loosen resource file verification\" into pi-dev am: cf0b127110\nam: 60413d0697\n\nChange-Id: I95400ba3a885605bc52df10968ef2b4adf7f90a6\n"
    },
    {
      "commit": "60413d0697a0bdaf6ac597f4388ff954d3dcfcf0",
      "tree": "568a12c1191c8a47f1633fe487c7fc6c953e978c",
      "parents": [
        "deb8dbad23eab0d2ac2e0fbb89b735a5a0bdc540",
        "cf0b12711057a2a23dc08f1ac6acfe67892b945d"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 14:15:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 16 14:15:09 2018 -0700"
      },
      "message": "Merge \"Loosen resource file verification\" into pi-dev\nam: cf0b127110\n\nChange-Id: I0b4012085579aa172a1a3f5a83325f0827523af5\n"
    },
    {
      "commit": "28e663cbed28fb6c8c8dec0849e0277daf67651b",
      "tree": "7d0ddd6373a15fbbf69f878c61eafc571c2eccea",
      "parents": [
        "4ab42d5b8aa2cb2e36f46b34962dd23832f45280"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jul 12 13:15:54 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 20:52:55 2018 +0000"
      },
      "message": "Loosen resource file verification\n\nBug: 77808145\nTest: Tried to install corrupt APK prior to the change, install failed\nTest: Tried to install corrupt APK after the change, install succeeded\nTest: atest CtsAppSecurityHostTestCases:CorruptApkTests\nChange-Id: I19a69e52a17c1080beaf2cc575c32f564b1033a3\n"
    },
    {
      "commit": "426f8d2db859072677d5a9ce6e029bc0f31fb652",
      "tree": "711a048c335cc033ff86803bc6ba039842d01ca5",
      "parents": [
        "5aef9e8d8a81e25059d961431168b12d803cbdee",
        "6899839e0712880f7c539b1035006dd2855a63e6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 16:43:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 16:43:03 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev am: 2b6805fedc am: 5ae85666ac\nam: 6899839e07\n\nChange-Id: I3920ae30c0fdd5ef5b1176476d769abb269d5844\n"
    },
    {
      "commit": "6899839e0712880f7c539b1035006dd2855a63e6",
      "tree": "76eebdec36c09092682165c66ec95c1a1cc5fd89",
      "parents": [
        "c4aa718dbfe3931da691196e9de023366dab2515",
        "5ae85666ac3272ea34e943ec8e2a8e9e2a86306a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 16:09:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 16:09:35 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev am: 2b6805fedc\nam: 5ae85666ac\n\nChange-Id: I64521a290482adb5ade95b641ce9c0c27031a814\n"
    },
    {
      "commit": "5ae85666ac3272ea34e943ec8e2a8e9e2a86306a",
      "tree": "bed7f75a26c8032961f75c516db5c98764d62eb4",
      "parents": [
        "c69da1474aef2ef9fd78b3908eca99b4c89427ed",
        "2b6805fedc69735ee79dcec7ac5d4a5963f202d2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev\nam: 2b6805fedc\n\nChange-Id: I5ef0a789b16dc8aa0936d8fcca3917ce2f884d74\n"
    },
    {
      "commit": "18a6ada4aa136da4f50f03fff91d61d448ced195",
      "tree": "6e92164af48a4e38ea2a8fbb6fee1a3ebb7f914d",
      "parents": [
        "2d6209f71de8f88526f97526d40304eef626219a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 30 12:17:01 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 05 22:05:11 2018 +0000"
      },
      "message": "Fix DynamicRefTable::load security bug\n\nDynamicRefTables parsed from apks are missing bounds checks that prevent\nbuffer overflows. This changes verifies the bounds of the header before\nattempting to preform operations on the chunk.\n\nBug: 79488511\nTest: run cts -m CtsAppSecurityHostTestCases \\\n        -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: I02c8ad957da244fce777ac68a482e4e8fa70f846\nMerged-In: I02c8ad957da244fce777ac68a482e4e8fa70f846\n"
    },
    {
      "commit": "65bed52d7d630f66b32eadccf210fbbe59cb9731",
      "tree": "f3b2c499b008815f9ce09450b046c10d9f362edd",
      "parents": [
        "1fffd4bd12a636a2af6f140efe3c1113e8aa04aa",
        "9964297b44ff34602bc02b78b477b167cb55b50c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 22 14:27:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 14:27:58 2018 -0700"
      },
      "message": "Merge \"ResStringPool: Prevenet boot loop from se fix\" into pi-dev am: 8dd9ef190b\nam: 9964297b44\n\nChange-Id: Ib041932219d47504743fe82dc4a7f77ac1d9f630\n"
    },
    {
      "commit": "9964297b44ff34602bc02b78b477b167cb55b50c",
      "tree": "06054c976dda17088b8107b8ba6fde83f992f07f",
      "parents": [
        "fab272e03707ac74f986580c706e3dd5902508b4",
        "8dd9ef190bf580fae6aa8e850f60985458b70c21"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 22 14:16:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 14:16:13 2018 -0700"
      },
      "message": "Merge \"ResStringPool: Prevenet boot loop from se fix\" into pi-dev\nam: 8dd9ef190b\n\nChange-Id: I0000c4a3f06e002804aa7172505e07bb57c550c6\n"
    },
    {
      "commit": "f05f47b2c1838529e682ad8f931d3da72244b1a1",
      "tree": "9f3feff045c55d3ddc20fee09f8ebe0abf750c4c",
      "parents": [
        "76cb7fe2f6eec83f8cc1f7f19ed23ae76254bdb7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "message": "ResStringPool: Prevenet boot loop from se fix\n\nChanges the logs adding in a previous security fix to warnings so\ndevices with malformed APKs currently on them will not undergo DOS when\nthey are upgraded to P.\n\nBug: 79724567\nTest: run cts -m CtsAppSecurityHostTestCases \\\n          -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: Ied54e4bb14abdaf79da562022c7ea6075187c1f8\n"
    },
    {
      "commit": "d692b8665ede79c42d89c6ab2d8ca7631b83071e",
      "tree": "c47786c713bc59f07802f1478b8ab87d0468ac6c",
      "parents": [
        "65db3f4cfbd432704bf048411974c26aeaf21e97",
        "b3da3a9673181771805a356613146d282e4730b8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 12:06:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 12:06:13 2018 -0700"
      },
      "message": "Merge \"ResXMLTree: Clone DynamicRefTable on creation\" into pi-dev am: fd37ec90b8\nam: b3da3a9673\n\nChange-Id: Ic715bc6db56328c47da4a30a3e46ea92bbf10f92\n"
    },
    {
      "commit": "b3da3a9673181771805a356613146d282e4730b8",
      "tree": "f1de4494afb1e09981b3f786ab53fbcd3611bcb6",
      "parents": [
        "33ad5a99dde7418f45335c7e6c66f29de1cacf1a",
        "fd37ec90b888b6b83792dca18c5c831aabf63de1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 11:53:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 11:53:56 2018 -0700"
      },
      "message": "Merge \"ResXMLTree: Clone DynamicRefTable on creation\" into pi-dev\nam: fd37ec90b8\n\nChange-Id: I3030d62104142b33dfb9844faa2fcb9840d8ee61\n"
    },
    {
      "commit": "f97d380ca791ed47fb55e9f6558c7313bb5e1ad7",
      "tree": "bded6dbfc162cd701f0bebd85a3a4cb073650576",
      "parents": [
        "acc0043abdef3aab17ea30af2e0a52ac060dedbb",
        "d00c851e55a487d03e11ce48e58cba5ff65fa59b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 15 15:52:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 15:52:51 2018 -0700"
      },
      "message": "Merge \"Convert to Soong\" am: acbd94d76f am: b1005a8a2a\nam: d00c851e55\n\nChange-Id: I889b5d31535d927b3aa9cf5ad6af955ca0678356\n"
    },
    {
      "commit": "a41e66af586a2fe60d450f4a9f4b8e8f06c5f6c4",
      "tree": "bc195700aa127b9c461d516d71e4db49c8c64d93",
      "parents": [
        "7692904a7b20e489b4de1511b7bc64357eb21282"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "message": "ResXMLTree: Clone DynamicRefTable on creation\n\nXmlBlocks are cached in ResourcesImpl::loadXmlResourceParser(...) and\nwhen asset manager invalidates itself, the references to the dynamic\nreference tables point to garbage. Now, the reference table is cloned\nwhen the XmlBlock is created so invalidation will not affect the\nXmlTree.\n\nBug: 74240254\nTest: Tested GoogleMaps on 9.75.7 and saw crashes stop\nChange-Id: I932db7a85fddc640c4d6ec327f534b5a1ad6d0b1\n"
    },
    {
      "commit": "d00c851e55a487d03e11ce48e58cba5ff65fa59b",
      "tree": "a01d99cd4906dc6f1dac035ee2f73d7d35f6bf91",
      "parents": [
        "73e4d170c542d0d68ed857e433d04b77dd12aff3",
        "b1005a8a2affd887b1503945fa94a4bc0240a42b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 15 15:06:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 15:06:19 2018 -0700"
      },
      "message": "Merge \"Convert to Soong\" am: acbd94d76f\nam: b1005a8a2a\n\nChange-Id: If5cb26e0669f79240d8fee1d40aaa2162d8e611f\n"
    },
    {
      "commit": "4888b1f6f0f607de913fbd0dc5eaed6575464c06",
      "tree": "662ea285f420c21f406e8dc09b6fbf42b7b28880",
      "parents": [
        "5d58a302e3dc3e63c1d5cc87807f29863e89b2a9"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 09 20:30:33 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon May 14 16:47:02 2018 -0700"
      },
      "message": "Convert to Soong\n\nSee build/soong/README.md for more information.\n\nTest: m libframeworks_coretests_jni\nTest: m FrameworkCoreTests_install\nTest: m libshim_jni\nTest: m CtsShimPrivUpgrade\nTest: m libfilterfw\nTest: m PMTest_Java_dual\nTest: m libdefcontainer_jni\nTest: m libperftestscore_jni\nTest: m libpmtest32 libpmtest64\nTest: m libprintspooler_jni\nTest: m libsmartcamera_jni\nTest: m idmap\nTest: m libdrmframework_jni\nTest: m libdvr_loader com.google.vr.platform com.google.vr.platform.xml\nTest: m libfilterpack_imageproc libfilterpack_base\nTest: m libwebviewchromium_loader\nTest: m shared_mem_test\nTest: m test-touchlag\nChange-Id: I868561dd237fa28647896d59049ab9260373ada1\n"
    },
    {
      "commit": "96930e4faad8ec28e2bbfeffeed8f02109fdcc47",
      "tree": "dfdbc4be1efb28c0b7e5b0cb004f8588d96191b9",
      "parents": [
        "dd209c8c1cc379d5617b2fa0e262ca123b7c446c",
        "d94160943d9dbae6946520fe58419c57ec0e6954"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 08 11:01:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 11:01:37 2018 -0700"
      },
      "message": "Merge \"AAPT: Fixed split resource dumping\" into pi-dev am: fb07d82086\nam: d94160943d\n\nChange-Id: Idfef5422bbe3a3e46ceb1951e6393d2c80852930\n"
    },
    {
      "commit": "d94160943d9dbae6946520fe58419c57ec0e6954",
      "tree": "218f0e4680d4c88e1dc17561dcc6f8f0357929ba",
      "parents": [
        "f0013528bca27c6e62623d120fdcbde387ecefd5",
        "fb07d82086e7b4375467f492ba1a5f49dc68da8b"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 08 10:28:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 10:28:36 2018 -0700"
      },
      "message": "Merge \"AAPT: Fixed split resource dumping\" into pi-dev\nam: fb07d82086\n\nChange-Id: I66dedae28679c07e0bfa76cfafba97d563356fcb\n"
    },
    {
      "commit": "30487e0a7913aa6856d803a73811809d1a2edfdf",
      "tree": "33e7fd422381db028ad8da0b202754d33aa464cd",
      "parents": [
        "e4cf84138c465a6767286ae711d255819ae575d6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 04 14:16:20 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 07 15:36:44 2018 -0700"
      },
      "message": "AAPT: Fixed split resource dumping\n\nAAPT would not print resource values for splits passed in with the -I\nflag. This fix prints out each split separately with the correct type\nspecs and values.\n\nBug: 79195967\nTest: aapt dump --values -I base-hdpi.apk resources base-master.apk\nChange-Id: I223186136e98180fec4a3d96f92f53407db59e2d\n"
    },
    {
      "commit": "b365836d8e8d6313b112308f01d741a2273933f2",
      "tree": "b891d66e54341e578524cb8596d80a3e3d28c4f6",
      "parents": [
        "13f9e36a6975ec93be8444d9fe668e0f76e08647",
        "0f185f8b19288217257b8982a0d8754d7469b56d"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed May 02 14:17:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 14:17:26 2018 -0700"
      },
      "message": "Merge \"frameworks/base: Update a few more references to android.jar.\" am: 85e68063a9 am: 52e98e1b7a\nam: 0f185f8b19\n\nChange-Id: I84aebb1697c0217ea9063a2c6b71e8d4a3c6b1a7\n"
    },
    {
      "commit": "0f185f8b19288217257b8982a0d8754d7469b56d",
      "tree": "13901048ecd58ba9cd1c5f1d034778c242039b1b",
      "parents": [
        "7d7a6e2d0e827415529e74ae08d73bca03e30b55",
        "52e98e1b7a4b5fc054c4b778ddc1bb9b7d3e75df"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed May 02 10:24:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 10:24:32 2018 -0700"
      },
      "message": "Merge \"frameworks/base: Update a few more references to android.jar.\" am: 85e68063a9\nam: 52e98e1b7a\n\nChange-Id: Iffb2389f8ef3dcca139a99a617c2079910f3c902\n"
    },
    {
      "commit": "0c703900408fb37b82ce53b61c9a973c4e8c868d",
      "tree": "5759f42f745c6f73504ad9a7c72eaf3ee02a3df0",
      "parents": [
        "59e139a767b5552a0c42ce236ff59f843900e842"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue May 01 18:32:50 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue May 01 18:34:10 2018 +0100"
      },
      "message": "frameworks/base: Update a few more references to android.jar.\n\nThese files are moving. Update the paths so that the old files can be\ndeleted.\n\nBug: 77525052\nTest: ./build for one of these scripts\nChange-Id: Iacca1f1930d6a2614866f6503a2b4c1eba4d4018\n"
    },
    {
      "commit": "0a81745b487bb8301dc403e07a5d4fac323fffcb",
      "tree": "a865f3ec65fc56fc6167ad95ee2339becfd6f5e9",
      "parents": [
        "ffc63a35becb80220f966f1ebb249dfb3393392e",
        "c323122e9380865374b65e7431b3601b6268d97b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Apr 26 15:27:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 15:27:00 2018 -0700"
      },
      "message": "Merge \"Allow using reserved package IDs\" into pi-dev am: 13588dc9e4\nam: c323122e93\n\nChange-Id: I0addf146d9519a93bc2f8f73898a3454cb1cfb56\n"
    },
    {
      "commit": "325129964e5b0a9794cf5bb63a2d2d8774ea6a1b",
      "tree": "6916dd14dd937ad9650558c8afca42929acd26f2",
      "parents": [
        "a93ab56ed802f320cbf1ac9452cae75acbef47c3"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Apr 25 16:45:59 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Apr 26 10:27:30 2018 -0700"
      },
      "message": "Allow using reserved package IDs\n\nPre-O, the platform treats negative resource IDs [those with\na package ID of 0x80 or higher] as invalid.  In order to work\naround this limitation, we allow the use of traditionally\nreserved resource IDs [those between 0x02 and 0x7E].\n\nBug: 78041707\nTest: ./out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests\nTest: ./out/host/linux-x86/nativetest/libandroidfw_tests/libandroidfw_tests\nTest: Manual. Create a feature split with a package ID of 0x7E and see it runs and can reference base resources.\n\nChange-Id: I3d9782cc05d3a55e1a2467bf39566788847e1160\n"
    },
    {
      "commit": "027453d6fb3581cee81f6b3c49c3ec653c0a82f7",
      "tree": "9f08a8f8e1daca18c2a31d80296f4ceadc560e63",
      "parents": [
        "ee3558584b66b001c8ca1258225bbb5dea33f7b7",
        "e9bbefa7dc44a666c0cba72fdbd7825cc1f89dac"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Apr 19 15:20:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 19 15:20:51 2018 -0700"
      },
      "message": "Merge \"AAPT2: Support id reference chaining from AAPT\" into pi-dev am: 247ecfa498\nam: e9bbefa7dc\n\nChange-Id: Ic40b9e08352e561e21284d72592860b868f6edc1\n"
    },
    {
      "commit": "9efbbef2e060cd5e05f5b652ba5c7aaf687f64d6",
      "tree": "a906595eedebc28b14a4e86e135b225eb1d5d79b",
      "parents": [
        "34a0b18a5c730e4fa16e27c63ed0cd79a6df188e"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 18 11:29:09 2018 -0700"
      },
      "committer": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 18 11:46:53 2018 -0700"
      },
      "message": "AAPT2: Support id reference chaining from AAPT\n\nAAPT would allow for ids to be declared in the form:\n\n\u003citem name\u003d\"name\" type\u003d\"id\u003e@id/other\u003c/item\u003e\n\n@id/name should hold a reference to @id/other. When\ngetResources().getValue() is called on R.id.name with resolveRefs\nenabled, the resuling reference should be R.id.other.\n\nBug: 69445910\nTest: Created tests for correct parsing of id references and correct\nresolving of deep references\n\nChange-Id: Id1feb37b2565c213dc6a19b4c401906260d7fc14\n"
    },
    {
      "commit": "560468076675ae66512a6b661a33705ea53ee7ef",
      "tree": "92dd22baa673e332f2448faf429fedb85bc084fc",
      "parents": [
        "a06c7b7a5c3c5b05b45662b5a31251eda71e742f",
        "4f5e234020a70bd5fb210ee984efbc1d823b1fd8"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 14:08:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 14:08:07 2018 -0700"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910 am: 86cfcaa610\nam: 4f5e234020\n\nChange-Id: Iedf59329ed35149cec2143e8f179c7912534a41d\n"
    },
    {
      "commit": "4f5e234020a70bd5fb210ee984efbc1d823b1fd8",
      "tree": "df08c0a551e588ea9fffac98c3a52f162be6389f",
      "parents": [
        "531975da75192f0c2a1e1452999ecd5475888b3c",
        "86cfcaa610e2d3d199ddb16d5e9e98e5734dc9b0"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 13:57:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 13:57:36 2018 -0700"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910\nam: 86cfcaa610\n\nChange-Id: I6d37d24fd14271d24595c380ea553cb37948fa9e\n"
    },
    {
      "commit": "86cfcaa610e2d3d199ddb16d5e9e98e5734dc9b0",
      "tree": "cb1ba6d56f58e8ea1e0929781ed44eead9f605dc",
      "parents": [
        "e5776af814d73825cb7b93eb8a5a32f825ef5ff3",
        "76d71fa9102ab58e80559d2f4bed47e72c8d81e8"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:35:02 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:35:02 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910\n\nChange-Id: I971b589190cae708a08dd568290807dff0f75349\n"
    },
    {
      "commit": "76d71fa9102ab58e80559d2f4bed47e72c8d81e8",
      "tree": "c23ce35bbcf78525ce1c577a6c6ed6d917d7c68e",
      "parents": [
        "bae1ea6478c3560d2f4cbc55234c103325c3f87f",
        "80e36faa72653ebd41b7963809f69c9a5f62d1f6"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:58 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:58 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72\n\nChange-Id: Ibeb5d99f477048e8715a0d4b093052f3d88445e2\n"
    },
    {
      "commit": "80e36faa72653ebd41b7963809f69c9a5f62d1f6",
      "tree": "9ac72b213fed8f758cfb1f70d8bfdc450ef38306",
      "parents": [
        "1890afd456cd6fa182aeeb5efacf159c1115d5ef",
        "a509e771ba2480da5c79e12db1e86b6f2fb1d221"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:53 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:53 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba\n\nChange-Id: I48bf9619571a30e6f5ea5bad503a3805e0821a75\n"
    },
    {
      "commit": "a509e771ba2480da5c79e12db1e86b6f2fb1d221",
      "tree": "b67d34b7ada809d92d8eebee18931d0e762b1b6e",
      "parents": [
        "5ddeef71166872ac55b32ed11bc6ed8e4222fbdc",
        "79d0fb25305134566b2561ef638ed550db9e0dfd"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:49 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:49 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530\n\nChange-Id: I068f51adbb0248db232c50bd89fb25ef0d7273a9\n"
    }
  ],
  "next": "927b3357fab789f98c2227a63f28275d652ff980"
}
