)]}'
{
  "log": [
    {
      "commit": "45e2e95c2ffeb2d978e2cce80b729ef6ada3b8d2",
      "tree": "992c98155bec887d70df51eb7b90a35a1fe564a9",
      "parents": [
        "3d52f79be4dba94f046709fabc1bfb911a670709"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Feb 13 18:35:12 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Feb 16 09:50:00 2017 -0800"
      },
      "message": "Check bounds in offsetToPtr\n\nCheck whether specified offset belongs to mData.\nAlso added a default argument bufferSize to check the end offset.\n\nSize of the ashmem descriptor can be modified between\nashmem_get_size_region call and mmap. createFromParcel method was updated\nto check ashmem size again immediately after memory is mapped.\n\nTest: manual - using the test app from the bug\nBug: 34128677\nChange-Id: I3ecd1616a870ce20941ce9b20a1843d2b4295750\n"
    },
    {
      "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": "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": "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": "0c40524953f3d36a880f91183302a2ea5c722930",
      "tree": "eb7a15ddd974e1263864902f9f3dd019a47343fc",
      "parents": [
        "a9285db08883dbbe7b5eb9276cb52b7e01b42aa3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 13 20:47:26 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 31 16:20:29 2017 -0800"
      },
      "message": "AssetManager2: Add other support methods\n\n- Add GetResourceConfigurations()\n- Add GetResourceLocales()\n- Add ResolveReference()\n- Add stub for GetResourceId()\n- Change LoadedArsc and ApkAssets factory method to return const\n\nTest: make libandroidfw_tests\nChange-Id: Ia797dc9381a523b1a3e7029048a413e544730379\n"
    },
    {
      "commit": "c6aada9c5789b2777b19c522d3cd5052bbe784a4",
      "tree": "e78d92b927ba7fb951c0898fe28957a19671a684",
      "parents": [
        "90572a4ab8ac393c57e896be3c608e634866ed38"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 13 15:34:14 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 27 16:52:53 2017 -0800"
      },
      "message": "LoadedArsc: Support feature splits.\n\nTest: make libandroidfw_tests\nChange-Id: I278273e688da597f4af86dd55f87750501ef8154\n"
    },
    {
      "commit": "90572a4ab8ac393c57e896be3c608e634866ed38",
      "tree": "524319d2edfd555f3b637bd332f1a494bf4c1114",
      "parents": [
        "904aca762c7e1c1ac5c005134ca802dba0ceed5b",
        "da431a22da38f9c4085b5d71ed9a9c6122c6a5a6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 27 22:30:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 22:30:24 2017 +0000"
      },
      "message": "Merge \"libandroidfw: Add new support for shared libraries\""
    },
    {
      "commit": "6bb13da2789b2485a628e4fc077524b430661c82",
      "tree": "9e4b3765df56ebc451b3e2a77f007b6f5a055811",
      "parents": [
        "16382634fcc1c850b7c3b8f9646ac122bea818a1"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:34:36 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 24 20:26:51 2017 -0800"
      },
      "message": "Fix memory leak during idmap creation\n\nPlug a memory leak in AssetManager::createIdmap.\n\nBug: 31052947\nTest: use Valgrind and dummy native app\nChange-Id: I83af3a40516ed2d50d5a7c8ee175ed960fde9933\n"
    },
    {
      "commit": "4832745b84d6a358582f2264d22acacf25e01b07",
      "tree": "cde7e923e06892dfa7c9b1a10a10e8da91e007f1",
      "parents": [
        "a393ff7dc7e7e7002a400d37868e0d6c14507b43"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 23 17:03:35 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 24 15:55:09 2017 -0800"
      },
      "message": "Add color mode to activity/window\n\nThe color mode lets an application request a wide color gamut for\na specific window. This will also be used in the future to request\nHDR. The color mode is currently either default (sRGB) or an undefined\nwide gamut color space chosen by the platform. These attributes could\nlater be used to choose a specific color space if we deem this important\nor useful.\n\nThis change also renames the various \"colorimetry\" attributes and\nconstants to \"color mode\" for consistency. These symbols were\nadded in O and can be safely renamed.\n\nTest: CtsColorModeTestCases\nBug: 32984164\nChange-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e\n"
    },
    {
      "commit": "c9ba55902123be5abcf2dcda5af9995be0b8d3d8",
      "tree": "953bf264c1f748816ad8ebc4898f580d163ce959",
      "parents": [
        "a2b1774d758b58fc5977f631eff76fa21d303906"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 18 16:34:42 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 18:44:00 2017 -0800"
      },
      "message": "Add wide color gamut and HDR resource qualifiers\n\nBug: 32984164\nTest: Config_test, AaptConfig_test and aapt2_tests\nChange-Id: Ie9c82bfe2d36b1d6180ee223250ab5bb2ce90dd4\n"
    },
    {
      "commit": "1f9f11007db09bbbc156965e77b10de82a32a544",
      "tree": "e715a9edb691da38726c2c5487625bd35b05ec94",
      "parents": [
        "12375e9e0d14868cf63c0d6584c7a7d9440c30c4",
        "d5083f6f6b9bc76bbe64052bcec639eee752a321"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 23:40:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 23:40:06 2017 +0000"
      },
      "message": "Merge \"Move StringPiece to libandroidfw\""
    },
    {
      "commit": "2d00c0952eba704f2226cf3d264f708c72a2746b",
      "tree": "9a76a384322308f8bf8f28c84ac7e68e20e041be",
      "parents": [
        "f07d408798bf383991a5a994313c12151456dfa3",
        "9bddb4841371de1d83affeddef12b5bca3e69647"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Jan 18 17:03:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 17:03:35 2017 +0000"
      },
      "message": "Merge \"Update locale data from in-tree ICU\""
    },
    {
      "commit": "d5083f6f6b9bc76bbe64052bcec639eee752a321",
      "tree": "29b5dfb74c7e9b12164ced408315b0ad8d5cf527",
      "parents": [
        "04e7b6c6de620406348142ba9dd65bad094e264b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 16 15:07:21 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 17 18:55:51 2017 -0800"
      },
      "message": "Move StringPiece to libandroidfw\n\nlibandroidfw needs to make use of StringPiece, so\nmove it to libandroidfw and update all code referencing\nStringPiece in aapt2.\n\nTest: make libandroidfw_tests libaapt2_tests\nChange-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1\n"
    },
    {
      "commit": "fdaa9c58c9c1961862561b260164d380e3b17363",
      "tree": "6e6c8cf3c94ae5e2cb422672bbd2b5ecaa41a588",
      "parents": [
        "8bd15d1df27f5bd6790955af0db47a78d3ca93ba",
        "7ad1110ecd6a840fcd2895c62668828a1ca029c6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 17 23:58:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 23:58:36 2017 +0000"
      },
      "message": "Merge \"New implementation of AssetManager/ResTable\""
    },
    {
      "commit": "9bddb4841371de1d83affeddef12b5bca3e69647",
      "tree": "f5df5991e8191929e4b52a19654dc2d23b735c4a",
      "parents": [
        "383679bc1b6fe33d80dcb9578f7b62f1e914a3ee"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jan 13 17:37:04 2017 -0800"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jan 13 17:37:04 2017 -0800"
      },
      "message": "Update locale data from in-tree ICU\n\nAlso add back script information for Yiddish old code (ji) that was\nremoved in ICU.\n\nBug: 26756576\nTest: none\nChange-Id: Ia785f86bf0407aeed6134ef9d44e504494256da2\n"
    },
    {
      "commit": "9013325c3a6f34f6a44c1b5f20a6981e37089afb",
      "tree": "4d4118745b578e7279626aea103e1e73619fd7e5",
      "parents": [
        "e446c98bd1b79bcf1fb21cf59a8ec594c5fd5c23",
        "1a70573a683cd930b21c8e3f17cd4a9f37e5dfd2"
      ],
      "author": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Fri Jan 13 23:14:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 23:15:00 2017 +0000"
      },
      "message": "Merge changes from topic \u0027vrmode\u0027\n\n* changes:\n  Set ui mode in UiModeManagerService to vrheadset when VR mode is enabled.\n  Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier.\n"
    },
    {
      "commit": "383ac409df65269d5fff247a86fa6ac0d90d2863",
      "tree": "8cd07920150caea3095bbc17830a20f08fd245e0",
      "parents": [
        "423f949594386aeb0a38b5d79a6b71af63c3a83b",
        "a192a8ced65ceea8bfe44f0eac6a394cbf80d936"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jan 13 01:53:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 01:53:15 2017 +0000"
      },
      "message": "Merge \"Treat Latin American locales specially\""
    },
    {
      "commit": "6f773a0d8717162f81ff21d943baaa539a2d6c7e",
      "tree": "ea99b80bd35011ad16e6c8380e4200fcdf7ee6bc",
      "parents": [
        "4391fae30e29371673e3de947f344f9b1073dc12"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 16:15:30 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 20:29:11 2017 +0000"
      },
      "message": "Replace cutils/log.h and android/log.h with log/log.h\n\nTest: compile\nBug: 34250038\nChange-Id: I42185a879beaa9bb244f53a968800392b854ac45\n"
    },
    {
      "commit": "da431a22da38f9c4085b5d71ed9a9c6122c6a5a6",
      "tree": "7fc684c1ec3c653ff98bdc8eff50addc081a02e1",
      "parents": [
        "7ad1110ecd6a840fcd2895c62668828a1ca029c6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 29 16:08:16 2016 -0500"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 11 17:20:36 2017 -0800"
      },
      "message": "libandroidfw: Add new support for shared libraries\n\nThis adds support for shared resource libraries in the new\nResTable/AssetManager implementation.\n\nThe dynamic package map encoded in resources.arsc is parsed\nand stored with LoadedArsc, and combined to form a resolved table\nin AssetManager2.\n\nBenchmarks show that this implementation is an order of magnitude\nfaster on angler-userdebug (make libandroidfw_benchmarks).\n\nTest: libandroidfw_tests\nChange-Id: I57c80248728b63b162bf8269ac9495b53c3e7fa0\n"
    },
    {
      "commit": "a192a8ced65ceea8bfe44f0eac6a394cbf80d936",
      "tree": "e8188ef2b11a50e0052cb7af40749fadad32dcea",
      "parents": [
        "51d34bf06aa67ab5b29c5541e777505ad37907d0"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jan 10 15:24:32 2017 -0800"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Jan 11 15:52:08 2017 -0800"
      },
      "message": "Treat Latin American locales specially\n\nDue to legacy reasons, Android translations of European Spanish were\nkept under \u0027es\u0027, while Latin American Spanish translations were kept\nunder \u0027es-US\u0027. The combination of this, and the new locale\npreference rules in Nougat, resulted in \u0027es\u0027 winning over \u0027es-US\u0027 for\nall Latin American locales, since \u0027es\u0027 was a direct ancestor, while\n\u0027es-US\u0027 was just a fallback.\n\nThe changes in Nougat had assumed that app developers would put Latin\nAmerican Spanish translations under \u0027es-419\u0027, but that could create a\nbackward-compatibility problem under older Android versions that did\nnot support three-digit region codes properly.\n\nThis CL keeps the Nougat logic and its locale parent tree, but\nspecial-cases es-US and es-MX to be treated as equivalents of es-419\nin cases where they are present and es-419 is not.\n\nBug: 31545805\nBug: 34126460\nTest: unit tests are included\nChange-Id: Iab26f41294587ee044685a5a6560520c7cbb06f7\n"
    },
    {
      "commit": "7ad1110ecd6a840fcd2895c62668828a1ca029c6",
      "tree": "f9f11b0849333b1bbcb37b76170787414c92ddbc",
      "parents": [
        "e2489c67e1f17938556a29197eeff9221caddd35"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 28 16:39:15 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 11 13:30:57 2017 -0800"
      },
      "message": "New implementation of AssetManager/ResTable\n\nThe multiwindow model and Resources-per-activity\nmodel that came in N puts greater demands on AssetManagers.\nThey are created whenever window dimensions change, which\ncan be frequently. There is a need to be able to cheaply\ncreate a new AssetManager for each Activity, which shares\na lot of underlying state.\n\nIn order to make the creation of AssetManagers cheap,\nwe need a new implementation of the native AssetManager\nand ResTable to support immutable representations of\nAPKs. This new data structure/class is ApkAssets.\n\nApkAssets have the same functionality of an AssetManager, except\nthat they operate on a single APK, and they do not do any caching.\nOnce loaded, they are immutable.\n\nApkAssets will be exposed as a Java object, with its implementation in\nnative code. The existing Java StringBlock will be owned by ApkAssets,\nwhich means that Strings can be shared across AssetManagers.\n\nApkAssets can be cached by the ResourcesManager. Creating an AssetManager\nrequires only a list of ApkAssets and a configuration.\n\nAssetManager2 (named with the suffix \u00272\u0027 for now while transitioning\nto the new implementation) caches bags that are accessed.\n\nSince ApkAssets are expected to be kept around longer, they do more validation\nof the resource table, which cause slower load times. Measured on an angler-userdebug,\nloading the framework assets takes 11ms with ApkAssets, and 2ms with the old\nAssetManager implementation.\n\nThe tradeoff is that there does not need to be any security checks once an ApkAssets\nis loaded, and regular resource retrieval is faster. Measured on an angler-userdebug,\naccessing resource (android:string/ok) with many locales takes 18us with AssetManager2,\nand 19us with AssetManager (this is per resource, so these add up).\n\nTest: make libandroidfw_tests\nChange-Id: Id0e57ee828f17008891fe3741935a9be8830b01d\n"
    },
    {
      "commit": "1a6acdbb86c3e72bdb0a4dcab3bda58cbc4ea34c",
      "tree": "1b243f434a14a25dc0eb39097293c3f27b74a54a",
      "parents": [
        "3c6f28aa5968b1edb823495efa15e7358de5261e"
      ],
      "author": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Mon Dec 12 15:21:21 2016 -0800"
      },
      "committer": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Wed Jan 11 11:44:47 2017 -0800"
      },
      "message": "Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier.\n\nBug: 30989383\nTest: Unit test for aapt2\nChange-Id: I66dc65af6327b94fed74538bee08cada0b8be4fa\n"
    },
    {
      "commit": "db15537e6e0d35c7ed3b1bef45e421760be70683",
      "tree": "a37853e5f3889f478cbcd204b46d1c8c640215f2",
      "parents": [
        "505d8262ab8702fea19c926bdff4d66bbbaa766a",
        "082a1721b5165420e11319b98eefaa35d0feb844"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 08:30:03 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 08:30:17 2017 -0800"
      },
      "message": "resolve merge conflicts of 082a1721b516 to master\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: I17f178f425975c1c0dbd48091d25b101956d505e\n"
    },
    {
      "commit": "ef8ccc8510d2c66c4807f15962c3d53235af5fc5",
      "tree": "eeed237443ea2350067ec9501fde2d07c65b2f39",
      "parents": [
        "d544a4c682232f5bd3ae5d6eb5a11c978ddcf6aa",
        "6143cbf1e5ab5e879044748c497e05b36ad4c36a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 15:40:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 15:40:24 2017 +0000"
      },
      "message": "Merge \"Replace cutils/log.h and log/logger.h with log/log.h\" am: e7fcbcb991\nam: 6143cbf1e5\n\nChange-Id: Id192d8dd973fe9e70acab72bae9856bc8a62ac75\n"
    },
    {
      "commit": "52eb4e01a49fe2e94555c000de38bbcbbb13401b",
      "tree": "a8bcb3cefc94c7366632782f10bfe03880bf189c",
      "parents": [
        "ccda81e58f8456a19b02573d6787f11729904a7b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 16:15:30 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jan 09 14:31:34 2017 -0800"
      },
      "message": "Replace cutils/log.h and log/logger.h with log/log.h\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496\n"
    },
    {
      "commit": "06d3e8fec7e2b29f99d755bee849023d88957953",
      "tree": "328055c7a9632e9660e836d4dfd0cfcc0450700e",
      "parents": [
        "0a454c39cb5bc03cd646546aa3b8baaed1962178"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 05 17:03:55 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 06 16:51:48 2017 -0800"
      },
      "message": "libandroidfw: Revert null check in ApplyStyle\n\nThe out parameter `out_indices` is expected to be non-null\nand so the extra null check adds a cost to performance\nand opens the door to misusing the API by not supplying\n`out_indices`.\n\nTest: make libandroidfw_tests\nChange-Id: Ie66fd837c5e24ec2838156e7b67f54c15cd27933\n"
    },
    {
      "commit": "351471f928022fb22a1b19f9e5e647a7901152fd",
      "tree": "890dadccf3947fe8cffba1315a3a1704c4eae143",
      "parents": [
        "d202a96073440c7d815a2de9f5136e0ef1e7e0e1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 12 14:08:13 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 12 14:10:46 2016 -0800"
      },
      "message": "libandroidfw: Make tests less flaky\n\nChanging any of the test APKs could change resource IDs.\nThe resource IDs are all made public and assigned an ID\nto avoid this issue.\nTest: make libandroidfw_tests\n\nChange-Id: Idd17c25f4ac86a0ad5b2b8da6f968e5d9b2346c1\n"
    },
    {
      "commit": "4c67a475a334e4f65238d439a3339195e03c03be",
      "tree": "a853680b90b834cb0a81be09f77be8d0ca8a06da",
      "parents": [
        "7dbbf956f73012ad0ea50bba37a21555cccfc726"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 10 16:43:59 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 05 19:03:47 2016 -0800"
      },
      "message": "Make tests use APKs instead of exploded APKs\n\nTests would expect parts of the APK to be unzipped and\nmaintained. Instead, we now decompress the required files\nfrom the test APKs on test setup. This simplifies\ntest maintenance substantially.\n\nTest: make libandroidfw_tests \u0026\u0026 libandroidfw_tests --testdata\u003dframeworks/base/libs/androidfw/tests/data\nChange-Id: I3d2100af22df913e02401dedcf9842cdb32b2a3b\n"
    },
    {
      "commit": "434e16c7bc4a3253af173d4545ac5f00a84240f0",
      "tree": "4ae028514a74a2cb5be0480c6a76bf756b679281",
      "parents": [
        "35b99da33a34620283423ec84023359867b69645",
        "9625912b7f0abd8fe74e15b58f4c70d89d48872a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 03 04:22:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 04:22:44 2016 +0000"
      },
      "message": "Merge \"Convert libandroidfw to Android.bp\" am: 46ec8dba83\nam: 9625912b7f\n\nChange-Id: I1f52bfd7e0dc8b5a543b41f8c4a3b7b2a35355c9\n"
    },
    {
      "commit": "9625912b7f0abd8fe74e15b58f4c70d89d48872a",
      "tree": "2bc52286afe678105f756d36d4ae4a5e9cdedbb4",
      "parents": [
        "e8c0e1098ec3aaac9e179eeafe0434ad33f4fb0a",
        "46ec8dba83a1d0e2c2d1587daea13f5bce9bd237"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 03 04:14:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 04:14:58 2016 +0000"
      },
      "message": "Merge \"Convert libandroidfw to Android.bp\"\nam: 46ec8dba83\n\nChange-Id: I32a737c491eeb95ad080adacd47602ee814ba0cb\n"
    },
    {
      "commit": "f32adf447511d54c2aa0948d3c1ef44d461538ac",
      "tree": "20cff4b57e17bea6cf131cb3fa630e7320b300a0",
      "parents": [
        "0730df7369147a5f21ef95eef347361d9ad308b3"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 23 10:39:40 2016 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 02 12:49:20 2016 -0800"
      },
      "message": "Clean up ApplyStyle JNI\n\nBug: 32573798\n\nMark input uint32_t[] as const. Use Read-only JNI\narray access for input as it\u0027s faster than critical access.\n\nUse non-movable arrays for TypedArray so that the address can\nbe resolved and stored, avoiding the need to do JNI array\naccess for the output.\n\nIndicies is always non-null, so remove the optional checks.\n\nEliminate unused return value.\n\nBenchmark results:\ntwelveKeyInflate 4963us -\u003e 4713us\nsimpleViewInflate 73us -\u003e 60us\n\nTest: Device boots, benchmarks show faster\n\nChange-Id: Ic3bde5aee31407d8903913f97f2218daf074499a\n"
    },
    {
      "commit": "ae21f6f5b02db9dbe32e6a0898cca3e16e05b429",
      "tree": "7affc4379417d1ee635616141e943abb4b818f67",
      "parents": [
        "652521ae7bc0e79d19e233b3bd43851641f81408",
        "5705ad69db0e4301bb3ae0b722049879536c857d"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Dec 02 19:43:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 02 19:43:36 2016 +0000"
      },
      "message": "Merge \"Remove static link in Android framework under /frameworks/base.\" am: c60963e451\nam: 5705ad69db\n\nChange-Id: I3f2c38332115a7b52b893629f2a5007d75c2831d\n"
    },
    {
      "commit": "5705ad69db0e4301bb3ae0b722049879536c857d",
      "tree": "befae393ee119f54a898d19f836194663cb60528",
      "parents": [
        "bbcd9d26b13117c867cd6be6812f7f330c1e8554",
        "c60963e451ebfaf99bafef7c3a0fe3439d38a2a4"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Dec 02 19:35:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 02 19:35:03 2016 +0000"
      },
      "message": "Merge \"Remove static link in Android framework under /frameworks/base.\"\nam: c60963e451\n\nChange-Id: I0bbb3cf9a66752f6ee8218a4ac5545091130bbed\n"
    },
    {
      "commit": "ce2221e0ff5eeee38a65059a8f1e9ed1ab23cfb9",
      "tree": "a8511e6c643ac4bdac2e55d899e535fc88229d53",
      "parents": [
        "c60963e451ebfaf99bafef7c3a0fe3439d38a2a4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 01 15:55:00 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 02 11:23:12 2016 -0800"
      },
      "message": "Convert libandroidfw to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: libandroidfw_tests\nMerged-In: I4e575d62f724d5ffe43f12ff5642fb6799f7819e\nChange-Id: I4e575d62f724d5ffe43f12ff5642fb6799f7819e\n(cherry picked from commit 4f8d9e69eb63878a99abedfdc7b92c6284f30605)\n"
    },
    {
      "commit": "4f8d9e69eb63878a99abedfdc7b92c6284f30605",
      "tree": "2d6679325105d3eae6767b4e5594177b6ce81474",
      "parents": [
        "ad7268724d55d8835ae55605578d1d1d14672f1d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 01 15:55:00 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 02 09:33:18 2016 -0800"
      },
      "message": "Convert libandroidfw to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: libandroidfw_tests\nChange-Id: I4e575d62f724d5ffe43f12ff5642fb6799f7819e\n"
    },
    {
      "commit": "377878b4d4529c0007694821ec96b20f0a489239",
      "tree": "08d45e107f9d6819b89bc8dfcf9a5008d034e24b",
      "parents": [
        "273adb5257984fb4dd06753329bbd0d4ddc48ebe"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Nov 23 16:28:34 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Dec 01 10:31:12 2016 +0900"
      },
      "message": "Remove static link in Android framework under /frameworks/base.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of libs in /system/lib on angler-userdebug build are as\nfollowing.\n\nlibandroidfw.so      : 243748 -\u003e 205196 (-38552)\nlibhwui.so           : 562028 -\u003e 562580 (+552)\nlibmedia_jni.so      : 293652 -\u003e 293656 (+4)\n(All the others have the same size.)\n\ntotal: (-37996)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I3021fb438778eaea2be935b990ec85c4aec6c008\n(cherry picked from commit 2b14c5eaf61635d1c3a69a2e59faa23cb6b7f7cb)\n"
    },
    {
      "commit": "ea7897954f6339dcc2e5af1584f72c6b2ecd7a67",
      "tree": "b37804b941d821544190c7726bd522c4a488698c",
      "parents": [
        "8fc495ed94e989c5f42c5b088c6cba5f41e71feb"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 10 14:33:11 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 29 15:01:15 2016 -0800"
      },
      "message": "Add --testdata flag for easier testing\n\nInstead of hardcoding or assuming a path for testdata,\nallow the testdata path to be specified via the command\nline.\nTest: make libandroidfw_tests\n\nChange-Id: Ideae880b21c157b70a11bb5a90a94556771aead6\n"
    },
    {
      "commit": "2b14c5eaf61635d1c3a69a2e59faa23cb6b7f7cb",
      "tree": "d0e5ecf97186bb113e05cb45a4f68e0f3f7705b5",
      "parents": [
        "0ec10ac7cf551853272299c6e15bcf37b336e329"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Nov 23 16:28:34 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Nov 29 11:59:20 2016 +0900"
      },
      "message": "Remove static link in Android framework under /frameworks/base.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of libs in /system/lib on angler-userdebug build are as\nfollowing.\n\nlibandroidfw.so      : 243748 -\u003e 205196 (-38552)\nlibhwui.so           : 562028 -\u003e 562580 (+552)\nlibmedia_jni.so      : 293652 -\u003e 293656 (+4)\n(All the others have the same size.)\n\ntotal: (-37996)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I3021fb438778eaea2be935b990ec85c4aec6c008\n"
    },
    {
      "commit": "08a77b1f9f1045d870365d56ab010cf78ea42333",
      "tree": "58411315ad67edb3f6d1a66c2662f92fea6d19c9",
      "parents": [
        "5448cd6e8aea0017c24fcd51a00fc281be28c3ba",
        "8e5ff07293021ce5a36e340b03ddf8ef0d360399"
      ],
      "author": {
        "name": "Wan He",
        "email": "xiaolin.gxl@alibaba-inc.com",
        "time": "Fri Nov 18 23:00:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 23:00:15 2016 +0000"
      },
      "message": "Merge \"Fix incorrect calculation of sizeof package structure\" am: 757e286cc8 am: 530fdccbe4 am: 2f176bb2cd\nam: 8e5ff07293\n\nChange-Id: I0a0cefef7df2cebfc9687f17abc9797f7cd61ca7\n"
    },
    {
      "commit": "2f176bb2cddc40ae2dc5ec0befab0b3e30d600ef",
      "tree": "c09753d2401b631097b6cc2062b030ab5267eb57",
      "parents": [
        "a16a77781e8459bca6f6c7edfb73ac7638d8ad70",
        "530fdccbe405e2506912ed78a337acf1e66d8d4d"
      ],
      "author": {
        "name": "Wan He",
        "email": "xiaolin.gxl@alibaba-inc.com",
        "time": "Fri Nov 18 22:48:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 22:48:28 2016 +0000"
      },
      "message": "Merge \"Fix incorrect calculation of sizeof package structure\" am: 757e286cc8\nam: 530fdccbe4\n\nChange-Id: I92417758a165741a4346d6b6c3f3491776b86729\n"
    },
    {
      "commit": "530fdccbe405e2506912ed78a337acf1e66d8d4d",
      "tree": "43571ab37cc869631e27b799dd66b52e30933bd8",
      "parents": [
        "5ee2b9384bbbe75e8dc6f2fb0b6d016b7dc944de",
        "757e286cc8637aa6cd7ecaabb991539e99c6950a"
      ],
      "author": {
        "name": "Wan He",
        "email": "xiaolin.gxl@alibaba-inc.com",
        "time": "Fri Nov 18 22:39:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 22:39:43 2016 +0000"
      },
      "message": "Merge \"Fix incorrect calculation of sizeof package structure\"\nam: 757e286cc8\n\nChange-Id: Ia16ee8f4efaee3e43c656f753c878b13b4a4706c\n"
    },
    {
      "commit": "3ff4226363c9f87fb5d0792fabad66034fb28614",
      "tree": "3c137c85edf0147dd2b0f8aeb9270ed943ecdec8",
      "parents": [
        "3ebcf1218b448b93f7804e0d5c96c6915014ca78"
      ],
      "author": {
        "name": "Wan He",
        "email": "xiaolin.gxl@alibaba-inc.com",
        "time": "Thu Nov 17 17:49:37 2016 +0800"
      },
      "committer": {
        "name": "Wan He",
        "email": "xiaolin.gxl@alibaba-inc.com",
        "time": "Thu Nov 17 18:05:20 2016 +0800"
      },
      "message": "Fix incorrect calculation of sizeof package structure\n\nArgument \"package\" is a pointer, not the structure.\n\nSigned-off-by: Wan He \u003cxiaolin.gxl@alibaba-inc.com\u003e\n"
    },
    {
      "commit": "2dc804be11444565e3d1d151c2a693db3ade94c0",
      "tree": "8d70cf369f5c66d4ca03c5ff562572693d188132",
      "parents": [
        "a7fcb2bc2a65da3743914727adb0df89a4eb0b66"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Nov 07 11:17:02 2016 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Nov 07 20:46:07 2016 -0500"
      },
      "message": "Allow persistent changes to the vendor overlay theme\n\nThis allows the overlay being used to be changed without a new build\nbut still will require a reboot to take effect. Should no longer be\nneeded once hierarchical resources are in place, and can be removed.\n\nAlso fix check in fd_utils to point at correct location.\n\nTest: Manual\nBug: 32721178\nChange-Id: I2a63aea0c87791c8eb845d735cb1182716c8174d\n"
    },
    {
      "commit": "e1166dd4881d8fc5f045e8e16941e26616ab774f",
      "tree": "6306299903eabc013a671d11560712523dcadabc",
      "parents": [
        "b365b0db9314370e1d1ad2867ded212ef68c7b14",
        "e81eb613996c5f8e0564137bd6bbe759ea218d45"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Nov 05 00:21:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Nov 05 00:21:41 2016 +0000"
      },
      "message": "Merge \"Move one more libandroidfw header\" am: c5c74f9f49\nam: e81eb61399\n\nChange-Id: I813a1f3c40681c92c7cc7bc27afd1344c15d0792\n"
    },
    {
      "commit": "e81eb613996c5f8e0564137bd6bbe759ea218d45",
      "tree": "8c93d6cc7f1c101b0d76b71b2b4cae0b8dfe2579",
      "parents": [
        "946d11d2169a28c827a4719934405ebdf2ab0b66",
        "c5c74f9f495e6501c38801ab65e985c8457df7e7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Nov 05 00:15:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Nov 05 00:15:01 2016 +0000"
      },
      "message": "Merge \"Move one more libandroidfw header\"\nam: c5c74f9f49\n\nChange-Id: Ib4d1c81aba13543da2454140548252cf013c95e1\n"
    },
    {
      "commit": "1d80addee492b95a452d12779a47efa465b4e486",
      "tree": "b8185c4266679589fc84a0350392816bab433978",
      "parents": [
        "03b5d506bc2735e080863712d9d2e8ce6f7ecb43"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 04 15:48:13 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 04 15:49:43 2016 -0700"
      },
      "message": "Move one more libandroidfw header\n\nThe libandroidfw headers were moved into the library directory, move one\nmore that did not exist in the original patch.\n\nTest: builds\nChange-Id: Ic74a41558e1bc3984d98dd766f69d081edd8fc08\n"
    },
    {
      "commit": "b365b0db9314370e1d1ad2867ded212ef68c7b14",
      "tree": "a1eebb78c2fb413f844a1ba409b6199767261195",
      "parents": [
        "51d7a455aac17c0e6c0c12270490085b21dc5b46",
        "946d11d2169a28c827a4719934405ebdf2ab0b66"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 04 21:52:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 21:52:43 2016 +0000"
      },
      "message": "Merge \"Re-unite sources with their headers\" am: e43444a00b\nam: 946d11d216\n\nChange-Id: Ib9fac5fff2f2ce90eebc2c6eb5208de33ea28723\n"
    },
    {
      "commit": "946d11d2169a28c827a4719934405ebdf2ab0b66",
      "tree": "befd5c3771c34ab9671e050e06a7141b0b0c3195",
      "parents": [
        "2fe13541ad632c3484dd7b816672b6bf4cf3364f",
        "e43444a00b2df128ad612bbf813bf49f4ed3589b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 04 21:47:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 21:47:34 2016 +0000"
      },
      "message": "Merge \"Re-unite sources with their headers\"\nam: e43444a00b\n\nChange-Id: I8f3ef6a1ddcf78d28f7444b6e83c552b8305fd8c\n"
    },
    {
      "commit": "03b5d506bc2735e080863712d9d2e8ce6f7ecb43",
      "tree": "cc107aa2cf2ad5ad885398b545e6c1bc43e46f85",
      "parents": [
        "0bebfe76fc216ce2b1b7405eec93c9fe21f5a059"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 03 16:16:47 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 04 13:27:37 2016 -0700"
      },
      "message": "Re-unite sources with their headers\n\nMove all the includes for androidfw under\na common base path for that library instead\nof frameworks/base/includes.\n\nAlso fixes -Werror issues that resulted in\nno longer being -isystem.\n\nTest: builds\nChange-Id: Ic4312eb61b197af114dded5691d5ae1ec82923f7\nMerged-In: Ic4312eb61b197af114dded5691d5ae1ec82923f7\n(cherry picked from commit f6113af2d6f6eebee68d3ac510fe96d38a7a39e9)\n"
    },
    {
      "commit": "f6113af2d6f6eebee68d3ac510fe96d38a7a39e9",
      "tree": "dc4e58122ad130f79315b5d11ec04ac21b7e1099",
      "parents": [
        "a46f009bbfc693319290c273b4e647dea2eebe10"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 03 16:16:47 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 03 16:26:59 2016 -0700"
      },
      "message": "Re-unite sources with their headers\n\nMove all the includes for androidfw under\na common base path for that library instead\nof frameworks/base/includes.\n\nAlso fixes -Werror issues that resulted in\nno longer being -isystem.\n\nTest: builds\nChange-Id: Ic4312eb61b197af114dded5691d5ae1ec82923f7\n"
    },
    {
      "commit": "6c8b93cf549165fd13c7439aaeb43cf45624c4a6",
      "tree": "f5f9b97272821118a6b44455af7bcb627354cc7e",
      "parents": [
        "86223d3080d77d90aa8e660567ce0f481f8c919b",
        "d3a209399a1eee99fcda7c13ebb3b32cba2e16d8"
      ],
      "author": {
        "name": "neo.chae",
        "email": "neo.chae@lge.com",
        "time": "Wed Nov 02 21:30:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 02 21:30:36 2016 +0000"
      },
      "message": "Merge \"Fix idmap leak in zygote process\" am: f5ad44b60a am: 4720125a3c am: 3e15d09ed4\nam: d3a209399a\n\nChange-Id: I2c7272b5f79e029ac88fa6b6acb598bdf68f28e2\n"
    },
    {
      "commit": "3e15d09ed478bae413616463c1beec5c34a062a0",
      "tree": "869edeef8ea016d5367677fd63e9a91920720341",
      "parents": [
        "a895383b449cb2b0337edc8fdb95077d2aa36a50",
        "4720125a3cd16799b0153a7bba9eee5302a66ae3"
      ],
      "author": {
        "name": "neo.chae",
        "email": "neo.chae@lge.com",
        "time": "Wed Nov 02 21:21:32 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 02 21:21:32 2016 +0000"
      },
      "message": "Merge \"Fix idmap leak in zygote process\" am: f5ad44b60a\nam: 4720125a3c\n\nChange-Id: If66e9476583ec50d2dca5a15376a4b84ae2a2885\n"
    },
    {
      "commit": "4720125a3cd16799b0153a7bba9eee5302a66ae3",
      "tree": "0061630653dde28dffee590390f1cde4bf964c56",
      "parents": [
        "ccec8919fecccb7a220c451f3b96b383e3438281",
        "f5ad44b60a62b570ebe5a64bd2259bbcfa0dfeeb"
      ],
      "author": {
        "name": "neo.chae",
        "email": "neo.chae@lge.com",
        "time": "Wed Nov 02 21:16:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 02 21:16:33 2016 +0000"
      },
      "message": "Merge \"Fix idmap leak in zygote process\"\nam: f5ad44b60a\n\nChange-Id: Ia9977c8166f797ad716284eda03076e282a9fde7\n"
    },
    {
      "commit": "6a742a38509693f8b39ee9a5ad2803fca12688bf",
      "tree": "460fe55631419604757f724c06c3c212010c2f12",
      "parents": [
        "678ba24533139c1e54a9729f3ad9f4614da8fbad"
      ],
      "author": {
        "name": "neo.chae",
        "email": "neo.chae@lge.com",
        "time": "Tue Nov 01 00:02:38 2016 +0900"
      },
      "committer": {
        "name": "neo.chae",
        "email": "neo.chae@lge.com",
        "time": "Tue Nov 01 08:53:35 2016 +0900"
      },
      "message": "Fix idmap leak in zygote process\n\nFix a idmap leak in AssetManager::addSystemOverlays.\nAnd, The fix could also prevent fd leak of idmap.\n\nTest: none\n\nChange-Id: Iff8831e1951a1ca103821f64a612a8b28d2c14e7\nSigned-off-by: Hyangseok Chae \u003cneo.chae@lge.com\u003e\n"
    },
    {
      "commit": "93bbe47d650b7b5e48d705257c0bdfa086300549",
      "tree": "dd1e6a8a7d277a5296d1e0c6181d68392d600a91",
      "parents": [
        "9610c3a2a9937699c2ed27e292754b531f6e05ca",
        "6bbb63ad91a707c77dd52f0b6caa12a720732ee1"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Fri Oct 21 07:16:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 21 07:16:07 2016 +0000"
      },
      "message": "Change name of overlay subdir \u0027sku\u0027-\u003e\u0027theme\u0027 am: 54dcaaba4f\nam: 6bbb63ad91\n\nChange-Id: I71dfaafbebaa7bd61d182405c734eef1ea7ff1eb\n"
    },
    {
      "commit": "6bbb63ad91a707c77dd52f0b6caa12a720732ee1",
      "tree": "22cbec52993d5e2486ff0f4c735de1639af898a6",
      "parents": [
        "78b29d52e09849de264891b8a8d635cf37aa9759",
        "54dcaaba4fa0392c36864f99b9dc1da9c975a100"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Fri Oct 21 07:05:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 21 07:05:17 2016 +0000"
      },
      "message": "Change name of overlay subdir \u0027sku\u0027-\u003e\u0027theme\u0027\nam: 54dcaaba4f\n\nChange-Id: I4536de644c20171e175cddaff0cd041fb05b3038\n"
    },
    {
      "commit": "ac625e5e2e07896f1db8f54971a795385a554033",
      "tree": "eb15218ff25a732b438cef6ff8331fe274ab57a4",
      "parents": [
        "662a134c91307318a36ad1f6693c98c968aaf610",
        "7a37b74d37ff79e805c9e97d977e07bfec753c5a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 01:42:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 20 01:42:24 2016 +0000"
      },
      "message": "Merge \"Add tests for attribute resolution\""
    },
    {
      "commit": "54dcaaba4fa0392c36864f99b9dc1da9c975a100",
      "tree": "f8fcb1866110d45a6cf02a5359c6f24e7ba16ed4",
      "parents": [
        "6a2ada0a0a882820c3b6a0b5a8c6c0e40547bcc7"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Wed Oct 19 11:46:13 2016 +0100"
      },
      "committer": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Wed Oct 19 14:06:32 2016 +0100"
      },
      "message": "Change name of overlay subdir \u0027sku\u0027-\u003e\u0027theme\u0027\n\nThe name \u0027sku\u0027 does not fit well as we recommend to use the same\nvalue for different SKUs if vendors wish to have the same colors\non those SKUs.\n\nBug: 32268656\nChange-Id: Ib5e5a3386676453dafeb13a6a6bf91f81bb48a11\n"
    },
    {
      "commit": "08a870cd6df8ab804fc4eaef6b689455c1ce2165",
      "tree": "a53d354b53835ae9170d34da02f8bf9fcf34888f",
      "parents": [
        "9e844d9a803c6d315ecd7f6e19b9029ab8897f05",
        "882f8168b043f667c2523eaaca0d00c9cb7a8f5b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 18 20:53:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 18 20:53:59 2016 +0000"
      },
      "message": "Fix race with Asset destruction and printing allocation stats am: 2582465bb4\nam: 882f8168b0\n\nChange-Id: I613fabdaad38be88ff9c4527e100e33a87f9d601\n"
    },
    {
      "commit": "882f8168b043f667c2523eaaca0d00c9cb7a8f5b",
      "tree": "5258c2acfa6d4347cc2647eef8120010b1a51d41",
      "parents": [
        "51497a94036a52991ea5b36451e763616cfbbcbe",
        "2582465bb437d3700b846fe66416f1c650e9345c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 18 20:40:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 18 20:40:50 2016 +0000"
      },
      "message": "Fix race with Asset destruction and printing allocation stats\nam: 2582465bb4\n\nChange-Id: I1dbb7609fa4d770e513e6f628e4c598600607383\n"
    },
    {
      "commit": "11ca129c2bdd98c3b6b09f1f6d6a979b17588dd4",
      "tree": "d93947be36b4a5d38ee52054dd6687cfae1dcc8d",
      "parents": [
        "ee18f66977e8d2965a1443a9831739b3d4cc1c84",
        "e76253055cba3d0239dc33c0131846fa0c73d024"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Oct 18 01:56:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 18 01:56:57 2016 +0000"
      },
      "message": "Merge \"Fix static analyzer warnings.\" am: ff5c3ad08b am: 1db1a86bba\nam: e76253055c\n\nChange-Id: I37be36a86dbab762c64696843916e88f17908251\n"
    },
    {
      "commit": "1db1a86bbafb63b9c3cfb7d7f41e468a71fec4cc",
      "tree": "cf0b7a68f37704450449dba9111ac2dbf26fe86e",
      "parents": [
        "086be31642b6d25f25bdf47ea92c715cb30592a8",
        "ff5c3ad08b186e71b7b1466c576c5d44f05746ca"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Oct 18 01:43:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 18 01:43:24 2016 +0000"
      },
      "message": "Merge \"Fix static analyzer warnings.\"\nam: ff5c3ad08b\n\nChange-Id: I655fd765cfeae407c070261cfe07ce8b739b06fa\n"
    },
    {
      "commit": "7a37b74d37ff79e805c9e97d977e07bfec753c5a",
      "tree": "0a911666b2cdd107c7a1c4010279ff7b18943986",
      "parents": [
        "047f5a7b4f528f287a2dad494b8696525b27ad80"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 12 14:05:55 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 17 18:33:42 2016 -0700"
      },
      "message": "Add tests for attribute resolution\n\n- Adds unit tests for attribute resolution. These include\n  some test data resource tables and compiled XML files.\n- Convert touched files to Google style guide.\n\nTest: make libandroidfw_tests\nChange-Id: Ib3a36061dc874de5f6a266b4e82c0a12ef435f23\n"
    },
    {
      "commit": "2582465bb437d3700b846fe66416f1c650e9345c",
      "tree": "db0b6e84410b7aef271f72d5b03aa66b61f89cf9",
      "parents": [
        "c81e1f15d28711d69f576d34741ec06faea0c4de"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 17 13:50:56 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 18 01:27:39 2016 +0000"
      },
      "message": "Fix race with Asset destruction and printing allocation stats\n\nA race could occur when printing the list of Asset allocations for\ndebugging purposes.\n\nEach Asset object would insert themselves into a global linked list\non construction and remove themselves on destruction. Iterating the list\nand the insertion/remove operations all acquire a global lock.\n\nThe race occurs after the Asset subclass destructor runs but before the Asset\nbase class destructor runs, which performs the actual removal from the list.\n\nThe vtable of the object being destroyed ends up pointing at the base Asset class\u0027\nvtable, and during the iteration of the global list, a pure virtual method is called\nleading to an abort, since the wrong vtable is dereferenced.\n\nThis change moves the insertion/removal of the Asset object into the global list\nto the concrete class, which adds some maintenance overhead but solves the problem.\n\nBug:31113965\nTest: make libandroidfw_tests\nChange-Id: I1a620897e5e04a8519ee247883bba0719b1fa6f3\n(cherry picked from commit 0358efe4f76f42d9eea91600202a5ab0831d9cef)\n"
    },
    {
      "commit": "0358efe4f76f42d9eea91600202a5ab0831d9cef",
      "tree": "f1649d54cefc677d9701345a0ed500a9ab871160",
      "parents": [
        "0f7e4a6623681849a416c8abcb3a8f6a4c53fd72"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 17 13:50:56 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 17 14:04:09 2016 -0700"
      },
      "message": "Fix race with Asset destruction and printing allocation stats\n\nA race could occur when printing the list of Asset allocations for\ndebugging purposes.\n\nEach Asset object would insert themselves into a global linked list\non construction and remove themselves on destruction. Iterating the list\nand the insertion/remove operations all acquire a global lock.\n\nThe race occurs after the Asset subclass destructor runs but before the Asset\nbase class destructor runs, which performs the actual removal from the list.\n\nThe vtable of the object being destroyed ends up pointing at the base Asset class\u0027\nvtable, and during the iteration of the global list, a pure virtual method is called\nleading to an abort, since the wrong vtable is dereferenced.\n\nThis change moves the insertion/removal of the Asset object into the global list\nto the concrete class, which adds some maintenance overhead but solves the problem.\n\nBug:31113965\nTest: make libandroidfw_tests\nChange-Id: I1a620897e5e04a8519ee247883bba0719b1fa6f3\n"
    },
    {
      "commit": "e8efec56f01983b98fbc4a1075a9e168b1fe1e9d",
      "tree": "12db8ac822e461018b209e54a72bdc7d49726218",
      "parents": [
        "c98b34bdce1fb1b43755af7fb8538efb0d0dc953"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Oct 11 15:42:29 2016 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Oct 13 15:32:33 2016 -0700"
      },
      "message": "Fix static analyzer warnings.\n\nframeworks/base/libs/androidfw/ResourceTypes.cpp:742:46: warning: Result\nof \u0027calloc\u0027 is converted to a pointer of type \u0027char16_t *\u0027, which is\nincompatible with sizeof operand type \u0027char16_t **\u0027\n    mCache \u003d (char16_t**)calloc(mHeader-\u003estringCount,\n        sizeof(char16_t**));\n\nframeworks/base/libs/androidfw/ResourceTypes.cpp:4359:28: warning:\nPotential leak of memory pointed to by \u0027set\u0027\n     return NO_MEMORY;\n\nBug: None\nTest: Builds without the aforementioned warnings.\nChange-Id: I1f84c1b9f4cba05f5cc7c3ae9fec1a07bc9cd8fe\n"
    },
    {
      "commit": "57e1950542b4abe6701ec0978f0e8cf39baa183f",
      "tree": "564b168cd2a1d4216d9f89575e14b6bf20d801c9",
      "parents": [
        "660883dee4aa9b677dbf629112d4d8063ab723bf",
        "4452e137ffc02ab4e32aab2b2ec7192b45d9f494"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 13 21:22:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 21:22:26 2016 +0000"
      },
      "message": "Merge \"Move attribute resolution from core/jni to libandroidfw\""
    },
    {
      "commit": "85dd1b859482d593fa724b7646f49819818c0e98",
      "tree": "384af77cf2f5f99cf666635a98e7bb8a52546744",
      "parents": [
        "9bb551d83a1a9b83fff6034c394c02b02e4438cf",
        "3970c44547d343bef89859f4c45b299a4e1a0b8b"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonymobile.com",
        "time": "Wed Oct 12 21:15:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 21:15:58 2016 +0000"
      },
      "message": "RRO: Synchronize access to overlays.list am: 0fbb608110 am: dce79f10ba\nam: 3970c44547\n\nChange-Id: I4c9eecad4c2d935a1f1840fed6d70685b82b7e65\n"
    },
    {
      "commit": "3970c44547d343bef89859f4c45b299a4e1a0b8b",
      "tree": "4e577bfba5916337808174bda6a2f17ffc80ae77",
      "parents": [
        "d3725ee017d998b545cbb6199bd070c53e13bc2a",
        "dce79f10ba59e5c6f8a5a38ccb5075c5907d6d46"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonymobile.com",
        "time": "Wed Oct 12 21:09:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 21:09:42 2016 +0000"
      },
      "message": "RRO: Synchronize access to overlays.list am: 0fbb608110\nam: dce79f10ba\n\nChange-Id: Idc121ffe64f1bc7b5bdcb1a800305165f27f1c0a\n"
    },
    {
      "commit": "dce79f10ba59e5c6f8a5a38ccb5075c5907d6d46",
      "tree": "b0147fdb458c9b3df55a8b4325c4e12aefa24b58",
      "parents": [
        "64d24d6631eb7faea90b1328fe25314637bd391b",
        "0fbb60811076e6fcfd576287b6e6a16ac1a69c44"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonymobile.com",
        "time": "Wed Oct 12 21:03:11 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 12 21:03:11 2016 +0000"
      },
      "message": "RRO: Synchronize access to overlays.list\nam: 0fbb608110\n\nChange-Id: I44a716df3954b6d2d58d7c9784f8b55cf041b10b\n"
    },
    {
      "commit": "0fbb60811076e6fcfd576287b6e6a16ac1a69c44",
      "tree": "316e242fdf315b77ab518670996598a11a91ca1b",
      "parents": [
        "52cd2948a622a7793f315b29239c3faee7d84ab3"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonymobile.com",
        "time": "Tue Aug 11 15:10:31 2015 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 12 14:56:31 2016 +0000"
      },
      "message": "RRO: Synchronize access to overlays.list\n\nidmap --scan is executed as a part of the pre-loading in ZygoteInit.\nThe pre loading is executed in parallel for each supported architecture\n(32/64 bit). This will cause a race condition in the creation of the\noverlays.list file and the idmap files for the system overlays.\n\nApply flock on overlays.list to prevent the file from being thrown away\nand recreated when it is in use by another Zygote.\n\nCherry-picked from AOSP.\n\nBug: 28032298\nTest: manual\nChange-Id: I51d39f121d207b11181340b68b164b60020f0c61\n"
    },
    {
      "commit": "4452e137ffc02ab4e32aab2b2ec7192b45d9f494",
      "tree": "72bc8a7ce48ffd715f6ce8cae4e76d98e8680ead",
      "parents": [
        "62bdd956ee6689530c182e0795a65d4d9f900360"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 12 07:47:28 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 12 07:47:28 2016 -0700"
      },
      "message": "Move attribute resolution from core/jni to libandroidfw\n\nWithout the entire JNI environment, testing the attribute\nresolution code will be much easier and enable safer\nrefactoring.\n\nChange-Id: I2815cc1e10a694a3b01bc37e191a0d5e9d0e6735\nTest: Existing CTS tests pass\n"
    },
    {
      "commit": "f12af5e90727869d225f169e7f475695da64bf48",
      "tree": "15f3f5ebb0533a6de66d060662234577183b1721",
      "parents": [
        "1a02a2683814661fd1fb6ab811fc8f76dc610511"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonymobile.com",
        "time": "Tue Aug 11 15:10:31 2015 +0200"
      },
      "committer": {
        "name": "Shunta Sato",
        "email": "shunta.sato@sonymobile.com",
        "time": "Wed Oct 12 15:42:04 2016 +0900"
      },
      "message": "RRO: Synchronize access to overlays.list\n\nidmap --scan is executed as a part of the pre-loading in ZygoteInit.\nThe pre loading is executed in parallel for each supported architecture\n(32/64 bit). This will cause a race condition in the creation of the\noverlays.list file and the idmap files for the system overlays.\n\nApply flock on overlays.list to prevent the file from being thrown away\nand recreated when it is in use by another Zygote.\n\nBug: 28032298\n\nChange-Id: I51d39f121d207b11181340b68b164b60020f0c61\n"
    },
    {
      "commit": "09901f3bc90600513cdd7d7d15ae6fe43a1b332c",
      "tree": "bb6eee996a4878a87303784929979214e9c310a5",
      "parents": [
        "c9956e2ea8007c23c0e51887783d04f5e9352128",
        "5754b41c201a388e4e932b18d285d765d7e63536"
      ],
      "author": {
        "name": "songjinshi",
        "email": "songjinshi@xiaomi.com",
        "time": "Thu Oct 06 20:13:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 06 20:13:00 2016 +0000"
      },
      "message": "Fix thread race caused double free issue.\nam: 5754b41c20\n\nChange-Id: Ic9dd6e9c6d216753d997da99158816682d5464d1\n"
    },
    {
      "commit": "fe90eaf528622d66549432538d24722534ad48fc",
      "tree": "787f7b27d5b026d66d76c268638e9483b7a9e60e",
      "parents": [
        "a77685fa59a327b33e7acbcefe35e63243014cbd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 04 13:31:31 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 04 13:37:31 2016 -0700"
      },
      "message": "AssetManager: Remove more methods, fix comments\n\nRemove a few vendor-related methods and fix comments\nto no longer reference legacy concepts like vendor.\n\nChange-Id: I61dbe53b6b305d8fb3468423462f5de2925b78bd\nTest: dead-code removal, if builds, it works\n"
    },
    {
      "commit": "a77685fa59a327b33e7acbcefe35e63243014cbd",
      "tree": "12fe981ecd8bc19b6dda8bc5177cc0c3aa13be41",
      "parents": [
        "1b219d06e397880e65b7af25a000954a3a39567a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 03 16:26:28 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 03 16:33:12 2016 -0700"
      },
      "message": "Remove unused methods from AssetManager.cpp\n\nA lot of the vendor/locale specific code existed pre-1.0\nand was reworked into the current system.\n\nTest: refactoring CL, all code except setLocale() was not being executed.\nTest: setLocale() change tested manually\nChange-Id: Ifb098f9808763a6cf5fb4336e089430adc09e198\n"
    },
    {
      "commit": "dbfd183fdc16660a66339edaa4c360c9f5615690",
      "tree": "5d97c4eddfdfe019f020c05fd567760ed84887cc",
      "parents": [
        "8db93d86b233196645c9e0477a6493e17904e7c6",
        "224ffd3cb2b4f1cf031877d7ecba50562b3b9571"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 03 20:31:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 03 20:31:15 2016 +0000"
      },
      "message": "Merge \"[AssetManager]:Fix thread race caused double free issue.\" am: 126e022095 am: f48d0b8f19 am: 73b91c63ad\nam: 224ffd3cb2\n\nChange-Id: Id06724e9d44464d1599743741d73b5bd9c282ff2\n"
    },
    {
      "commit": "224ffd3cb2b4f1cf031877d7ecba50562b3b9571",
      "tree": "dcf1fc3b6265f6169c30a0291a6366cba8a1952e",
      "parents": [
        "b2361007e9a502141b3f4d2887bd1a39c676b34c",
        "73b91c63adcc185fb4e70b9c9025331891d927a9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 03 20:26:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 03 20:26:41 2016 +0000"
      },
      "message": "Merge \"[AssetManager]:Fix thread race caused double free issue.\" am: 126e022095 am: f48d0b8f19\nam: 73b91c63ad\n\nChange-Id: I27f5cc6106f0a8f0a58721e1e8ed836144347b6a\n"
    },
    {
      "commit": "5754b41c201a388e4e932b18d285d765d7e63536",
      "tree": "4ed936836cbad3be2bf58e65e3b6c71b380ea173",
      "parents": [
        "bf79852ae4ffdeee8c31d6b852ebc4ad8062de37"
      ],
      "author": {
        "name": "songjinshi",
        "email": "songjinshi@xiaomi.com",
        "time": "Thu Sep 08 15:24:30 2016 +0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 03 20:13:12 2016 +0000"
      },
      "message": "Fix thread race caused double free issue.\n\nThe SharedZip\u0027s Asset is not thread-safety,the getResourceTableAsset()\nand setResourceTableAsset(Asset* asset) function of the SharedZip is\nnot sync with a same lock.\n\nConsider the following sequence of events:\nThread A calls setResourceTableAsset(Asset* asset),it will set\nmResourceTableAsset \u003d asset; then to calls getBuffer() of the asset.\nThread B calls getResourceTableAsset(),which return mResourceTableAsset,\nthen to calls getBuffer() of the mResourceTableAsset,the asset and\nmResourceTableAsset is same one object.\nThread A to delete mZipInflater in getBuffer().\nThread B to delete mZipInflater in getBuffer().\n\nIt will cause crash becuase double delete mZipInflater in getBuffer().\n\nhttps://code.google.com/p/android/issues/detail?id\u003d211941\n\nBug:31734545\nChange-Id: I5a7d67fdf64c4aa03f505b37a2fa840f4443d158\nSigned-off-by: songjinshi \u003csongjinshi@xiaomi.com\u003e\n"
    },
    {
      "commit": "1c527915f7c6389c8d3bfa3bf70bde50c64599b9",
      "tree": "1293b2844ee4b85e43bd1ad52b245cfb2e31c060",
      "parents": [
        "c50495c4bbb2f15f0ddc1dfcd2df3b11a9cb3a1d",
        "e60842aba30adee4cf2057a39ac9a396790e938f"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Mon Oct 03 10:38:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 03 10:38:13 2016 +0000"
      },
      "message": "Change name of overlay subdir property to sku. am: c03d9483f0\nam: e60842aba3\n\nChange-Id: Ifda5c5a7fc7eaff49aa2f65671d543e285b7f8a4\n"
    },
    {
      "commit": "e60842aba30adee4cf2057a39ac9a396790e938f",
      "tree": "179f61a2d86eb624641387ee115f6e3718dbc60f",
      "parents": [
        "d9c364a65411b008340655012efc00d4d07cbd73",
        "c03d9483f0380fb7babfdeb11d6762bc6c8d784c"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Mon Oct 03 10:30:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 03 10:30:14 2016 +0000"
      },
      "message": "Change name of overlay subdir property to sku.\nam: c03d9483f0\n\nChange-Id: I1368890b9c2dde2c5177473da3af0872c0c937a1\n"
    },
    {
      "commit": "c03d9483f0380fb7babfdeb11d6762bc6c8d784c",
      "tree": "1586b9da530a3ae49bfd79e9745f9a1c9b19b483",
      "parents": [
        "c350547dcffec2ca490f881019c08cd4339251dc"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Fri Sep 30 09:19:09 2016 +0100"
      },
      "committer": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Mon Oct 03 10:14:12 2016 +0100"
      },
      "message": "Change name of overlay subdir property to sku.\n\nAlso move the SKU subdirectories directly under /vendor/overlay.\n\nBug: 31692079\nChange-Id: I68c712b13918cc99629534580ee4f77d9e5b3823\n"
    },
    {
      "commit": "bfc891c25c039eb296d4318cc5b9f64b180fcbfa",
      "tree": "40d998f3319cdeb8b48c0ad4814a87ad34a4c687",
      "parents": [
        "0820881132062078446cec86f3e7efb0e8733dc7",
        "ff5cb9888882f02d92ae4abf5dc03495ea5060b1"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Wed Sep 28 10:33:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 28 10:33:16 2016 +0000"
      },
      "message": "Search for runtime resource overlays in subdir. am: 1c15c63578\nam: ff5cb98888\n\nChange-Id: I726b08026ceb250cc95669d3b5a5c35e15bf82e4\n"
    },
    {
      "commit": "ff5cb9888882f02d92ae4abf5dc03495ea5060b1",
      "tree": "e0685fe7e89d130266eee0f054cf9e6522a084de",
      "parents": [
        "5d09ab4812323ab4eabaa9928678d0746ae8a03b",
        "1c15c635785c64aee961f895dabd184cc2e9e0b1"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Wed Sep 28 10:27:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 28 10:27:41 2016 +0000"
      },
      "message": "Search for runtime resource overlays in subdir.\nam: 1c15c63578\n\nChange-Id: Ie6614c07851a2365b623a455b2ccc85672d4c846\n"
    },
    {
      "commit": "1c15c635785c64aee961f895dabd184cc2e9e0b1",
      "tree": "bf3ac913df3dda46004dd124ce976887b2e7aadb",
      "parents": [
        "6d2c9c29dc2bcfbfdaf272cc3082fc7ae6fcda30"
      ],
      "author": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Fri Sep 23 09:07:11 2016 +0100"
      },
      "committer": {
        "name": "Jakub Adamek",
        "email": "jakuba@google.com",
        "time": "Wed Sep 28 10:09:20 2016 +0100"
      },
      "message": "Search for runtime resource overlays in subdir.\n\nSee go/sku-colors. This changes the directory to search for framework\noverlays if the right system property is defined. This allows\nOEMs to specify different resources based on device SKUs.\n\nBug: 31692079\nChange-Id: I9cb121b286b7f52aa26de1757fde1f3110cd47fd\n"
    },
    {
      "commit": "49921f2c05cff6d4526b5b30f7b8e2d8bbabc069",
      "tree": "8abf1bb649ed595181f15c76225cfb0374e1f3e5",
      "parents": [
        "0027ddf990c657d3db8c1179cc2cad2dfe19f79f"
      ],
      "author": {
        "name": "songjinshi",
        "email": "songjinshi@xiaomi.com",
        "time": "Thu Sep 08 15:24:30 2016 +0800"
      },
      "committer": {
        "name": "金时 宋",
        "email": "songjinshi@xiaomi.com",
        "time": "Tue Sep 20 01:31:19 2016 +0000"
      },
      "message": "[AssetManager]:Fix thread race caused double free issue.\n\nThe SharedZip\u0027s Asset is not thread-safety,the getResourceTableAsset()\nand setResourceTableAsset(Asset* asset) function of the SharedZip is\nnot sync with a same lock.\n\nConsider the following sequence of events:\nThread A calls setResourceTableAsset(Asset* asset),it will set\nmResourceTableAsset \u003d asset; then to calls getBuffer() of the asset.\nThread B calls getResourceTableAsset(),which return mResourceTableAsset,\nthen to calls getBuffer() of the mResourceTableAsset,the asset and\nmResourceTableAsset is same one object.\nThread A to delete mZipInflater in getBuffer().\nThread B to delete mZipInflater in getBuffer().\n\nIt will cause crash becuase double delete mZipInflater in getBuffer().\n\nhttps://code.google.com/p/android/issues/detail?id\u003d211941\n\nChange-Id: I5a7d67fdf64c4aa03f505b37a2fa840f4443d158\nSigned-off-by: songjinshi \u003csongjinshi@xiaomi.com\u003e\n"
    },
    {
      "commit": "8f7b8a1f6c5808ea205bfb3294a313e2bcaedf7f",
      "tree": "9ed3dfd1f059e1b87dc169a27159224eeda82c55",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 21 14:44:07 2016 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Aug 25 12:04:40 2016 +0200"
      },
      "message": "Unicode: specify destination length in utf8_to_utf16 methods\n\nChange-Id: I5223caa7d42f4582a982609a898a02043265c6d3\n"
    },
    {
      "commit": "03b95c7df5fb577fa6e4c133dcdbc85c880d86b4",
      "tree": "cbd69ca4c90b3e09d069f24c246f5a659f77964d",
      "parents": [
        "0ce1875e0c3ad5541e1e2151e41197c7e363fe40"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 21 14:44:07 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Fri Jul 29 17:54:30 2016 +0100"
      },
      "message": "Unicode: specify destination length in utf8_to_utf16 methods\n\nChange-Id: I5223caa7d42f4582a982609a898a02043265c6d3\n"
    },
    {
      "commit": "d0f116b619feede0cfdb647157ce5ab4d50a1c46",
      "tree": "5b2a8663602ba2b267890ff85d3cf5618ac922b5",
      "parents": [
        "aaac91f4a00a9968ef107ea143e6f2f669f762f1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 08 15:00:32 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 13 17:45:28 2016 -0700"
      },
      "message": "AAPT2: Remove usage of u16string\n\nFor legacy reasons, we kept around the use of UTF-16 internally\nin AAPT2. We don\u0027t need this and this CL removes all instances of\nstd::u16string and StringPiece16. The only places still needed\nare when interacting with the ResTable APIs that only operate in\nUTF16.\n\nChange-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588\n"
    },
    {
      "commit": "02e68a161900f73c9a8ad040b3c65081b901519d",
      "tree": "7430a2a16bc7968c4dab7632439536d50a070208",
      "parents": [
        "bb6e9810271ebf6a96735d52ca443fd818e05571",
        "f4152a9c7ecdf9ef392df5b96d35fc928d6a3090"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 15 23:14:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 15 23:14:51 2016 +0000"
      },
      "message": "Merge \\\\\\\"ResourcesManager: Allow managed addition of library asset paths\\\\\\\" into nyc-dev am: 464bda8a2b am: c3ab1b7c0a\nam: f4152a9c7e\n\nChange-Id: I2b3190f567f62bfaeed54ec6047cfd42bcd246e8\n"
    },
    {
      "commit": "c3ab1b7c0ac255d26545a44b47d50de5b1c90ded",
      "tree": "e48be220b492d9c39342d7e7d19156be7bd4e056",
      "parents": [
        "4095ac603dc4b39d844a1a795e7c9eee4ccb5557",
        "464bda8a2bd4ec61ec0ac9ba1e9a90ca4c5f8890"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 15 22:44:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 15 22:44:43 2016 +0000"
      },
      "message": "Merge \\\"ResourcesManager: Allow managed addition of library asset paths\\\" into nyc-dev\nam: 464bda8a2b\n\nChange-Id: I352c56482aca030efab49ca39301679b51e44e05\n"
    },
    {
      "commit": "25f48886b2bc2f4edc65d80ff836561853b7ed50",
      "tree": "b9e486ce46482b01c5edcdddf2206e4e5f019a08",
      "parents": [
        "d749245b88456fcec8be1b93528e179d3a2d61aa"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 14 11:05:23 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 15 12:00:18 2016 -0700"
      },
      "message": "ResourcesManager: Allow managed addition of library asset paths\n\nThis allows WebView to add itself to the ResourcesManager and\nremain their even after configuration changes and multi-window\nchanges.\n\nBug:29112218\nChange-Id: I2cb131ae2c61fb58c48babafdd46c1882be96aa9\n"
    },
    {
      "commit": "7e5f96f1a37e51164a594930ecc862a94cc8c231",
      "tree": "c7ec1ba4e88cef333d0cb7786be6c245ca2de22a",
      "parents": [
        "16075e160b82398d0daa71dc531f7b78ed37c5cf"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jun 13 18:10:49 2016 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Jun 15 11:45:58 2016 -0700"
      },
      "message": "Move matching Tagalog and Filipino to ResourceTypes.cpp\n\nPreviously, if a mix of \"fil\" and \"tl\" resources existed in Resources\n(from mixing resources from libraries for example), only resources\nfrom one or the other would be chosen, resulting in default resources\ngetting surprisingly used. Now, we resolve the equivalent languages\nat a per-resource levels (breaking ties for the identical code).\n\nAlso, previously if both \"tl\" and \"fil\" resources were present in\nassets, getLocales() could return a list with duplicate locales.\nThis change removes Filipino duplicates in the return value of\nAssetManager::getLocales().\n\nFinally, there was a bug in the replacement of \"tl\" with \"fil\" that\nconsidered any locale starting with the letter \"tl\" to be Tagalog.\nThis failed in case of various languages, including Klingon (\"tlh\")\nand Tlingit (\"tli\"). It\u0027s now fixed.\n\nBug: 29073000\nChange-Id: I0e8b9ae337ced2e640a2575897948c4c5ca307d3\n"
    },
    {
      "commit": "76308ce86f89cf57cd18e0a48a1bf19d669abfcc",
      "tree": "8aac8c1fb23ba4813255afbc645744ccdd635e1e",
      "parents": [
        "2d510f9d990484cf1100e76df3497857d5e86915",
        "2b798a2344feeeb64b74e8dab4042f7d7f3879ab"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat May 21 00:18:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 21 00:18:30 2016 +0000"
      },
      "message": "Merge \"Performance improvements in AssetManager\" into nyc-dev am: 3765d34d36\nam: 2b798a2344\n\n* commit \u00272b798a2344feeeb64b74e8dab4042f7d7f3879ab\u0027:\n  Performance improvements in AssetManager\n\nChange-Id: I01c50ad7695e478f299f497441fdea0ab8e24116\n"
    },
    {
      "commit": "bffbb765d70deb832a4181b8d64e7b68991c147f",
      "tree": "bef8ed005ff38539d658ee80d9860f1135f82618",
      "parents": [
        "89770ebf62d8a15dc899f89f29a541fbb839ee69",
        "3765d34d364e76817e9dbea55819df86d858df10"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat May 21 00:13:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 21 00:13:37 2016 +0000"
      },
      "message": "Merge \"Performance improvements in AssetManager\" into nyc-dev\nam: 3765d34d36\n\n* commit \u00273765d34d364e76817e9dbea55819df86d858df10\u0027:\n  Performance improvements in AssetManager\n\nChange-Id: Id552f8bc9753f2d336ab2e9cf1f05d5e5b2a2409\n"
    },
    {
      "commit": "76da37e1cf5c1381d9ccbaca86463fca52bd40f5",
      "tree": "1f81253db8a6e991f23fc30f5b71f88952100565",
      "parents": [
        "df9dee869c9efa18619b28691c88415b4f115df7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 19 18:25:28 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri May 20 15:04:09 2016 -0700"
      },
      "message": "Performance improvements in AssetManager\n\nChange the implementation of getLocales() to iterate the set of\nconfigurations using a templated method, instead of using the result\nof getConfigurations().\n\nAlso remove the check for AndroidManifest.xml when adding an asset path.\nThis is unneccessary.\n\nBug:28625993\nChange-Id: I16de5da598d0c371421d1dc8eee054dce9baf53a\n"
    },
    {
      "commit": "d5bb8487d58b168543d6504504d8e89e062a6b8b",
      "tree": "04141ad55e6024f3f2ab8fdb95f6ff7d4e0a9e4d",
      "parents": [
        "03df42268995e3742aeb42ee6a77048dcc8fd889",
        "f55c9f7aa64660712242705d4e5e89e2191bbf69"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 19 23:34:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 19 23:34:58 2016 +0000"
      },
      "message": "Merge \"Fix misc-macro-parentheses warnings in aapt and androidfw.\" am: 6f4b566169\nam: f55c9f7aa6\n\n* commit \u0027f55c9f7aa64660712242705d4e5e89e2191bbf69\u0027:\n  Fix misc-macro-parentheses warnings in aapt and androidfw.\n\nChange-Id: I23f28430cf242be3f77926016626ea3e5705d4ec\n"
    },
    {
      "commit": "e819d01e3e120844e95cc4c534382d20d2beb623",
      "tree": "d2d192e309391e5c132f7be7de4a472bb290e44e",
      "parents": [
        "4bc3d32b15cdcae7685722e7a20007c7aa9ae949"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu May 19 15:19:22 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu May 19 15:19:22 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings in aapt and androidfw.\n\nBug: 28705665\nChange-Id: Iac353e66718aadad384183cf300330695df25909\n"
    },
    {
      "commit": "63d0964fc0b638fac1d144ce57a1f2ae5dde8bfd",
      "tree": "cd51785f8146231a84920bf430e9e52df44998aa",
      "parents": [
        "0024c91409ae7c137ede27d10f67331720cede43",
        "47521a66314555e2450192a77e75ccbeb19acbb0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed May 11 00:11:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 00:11:53 2016 +0000"
      },
      "message": "Merge \"Resource shared libraries: fix theme references\" into nyc-dev\nam: 47521a6631\n\n* commit \u002747521a66314555e2450192a77e75ccbeb19acbb0\u0027:\n  Resource shared libraries: fix theme references\n\nChange-Id: Ie0265ea7652bb29d017eedae16ecff85c665d71f\n"
    },
    {
      "commit": "8ac51d14b614ba6a12df2ba90d50a01f50d548aa",
      "tree": "b2afded5a45d6c5d14569b6691354d1613c1eb81",
      "parents": [
        "b42afe9be02b23c50c0479e93df2a853be7c369a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 10 10:01:12 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 10 10:45:52 2016 -0700"
      },
      "message": "Resource shared libraries: fix theme references\n\nTheme values that would reference other theme values would not work\nif they were declared in a shared library.\n\nWe now introduce a parallel resource type to TYPE_DYNAMIC_REFERENCE,\nTYPE_DYNAMIC_ATTRIBUTE, which allows us to lookup and resolve\ntheme value references from shared libraries.\n\nBug:28687378\nChange-Id: I4f2364e3e8b567679f90784fcaaea12b6b05e926\n"
    }
  ],
  "next": "85e0c89ba55188ecc484538efbfdb570606fc1a2"
}
