)]}'
{
  "log": [
    {
      "commit": "abdf5a518db1d09b2918c4286d226d409ee24420",
      "tree": "43287e958647d627962e8fa1f57da3657f2656ee",
      "parents": [
        "85547878b9782324d3e75259b026e2240c5cf5c0"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Mon Nov 29 23:55:24 2021 -0800"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Dec 01 17:17:07 2021 +0000"
      },
      "message": "Add missing size check when parsing staged aliases\n\nNeed to have the same kind of data size check as in other\ntypes parsing\n\nBug: 203938029\nTest: manual\nChange-Id: I9f5d2851ff59da90163ead6c0416f0bba3868cc4\nMerged-In: I9f5d2851ff59da90163ead6c0416f0bba3868cc4\n(cherry picked from commit 8002034e6b11e9be85671505475936b1ec3705b3)\n"
    },
    {
      "commit": "9fd251e7cb3b4e3b575915d64c66620c5866e7f7",
      "tree": "ad05ca7384d9c3feefb962eea7442b8a022e9ee7",
      "parents": [
        "9da336b4c15b88033274f86186d7385d112fb1ed"
      ],
      "author": {
        "name": "Kevin Jeon",
        "email": "kevinjeon@google.com",
        "time": "Wed Jul 07 21:58:47 2021 +0000"
      },
      "committer": {
        "name": "Kevin Jeon",
        "email": "kevinjeon@google.com",
        "time": "Wed Jul 07 21:58:47 2021 +0000"
      },
      "message": "Remove unnecessary log in CursorWindow.create\n\nThis change removes an unneeded debug log in CursorWindow that uses\n0.37% of gms.persistent CPU.\n\nTest: Build and flash\nBug: 184541591\nChange-Id: I95683af27904db8d5ec61761dfda6d6d53ddbbef\n"
    },
    {
      "commit": "015bca79f459dedc003b0bcdce004c22ca1ae55f",
      "tree": "ceb41c802a01c9ff5c1393b4c6e5b287cb5fa64e",
      "parents": [
        "b9be267361e558b711bbbc01441755253433d779",
        "7b8091ad7c0292bc17c666a9eae27a2e0f7ee4da"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 09 16:35:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 09 16:35:35 2021 +0000"
      },
      "message": "Merge changes I2710cfea,I03fb31ee,Iec512b31 into sc-dev\n\n* changes:\n  ResourcesImpl.ThemeImpl NativeAllocationRegistry\n  Rebase ThemeImpl rather than reallocate memory\n  Sparse native theme representation\n"
    },
    {
      "commit": "767e34fb174d2c6958dff96c585f9d997b941700",
      "tree": "3b5e053608edcad32eebbba11627a6ef2c99fa3f",
      "parents": [
        "3c6480c8d85feb52ea1908c1f5b0627dc7821a7a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 07 12:29:05 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 08 14:25:18 2021 -0700"
      },
      "message": "Rebase ThemeImpl rather than reallocate memory\n\nMemory churn is high when swapping the ResourcesImpl of a Resources\nobject. Each time Resources#setImpl is invoked, all themes based on\nthat Resources object are assigned new ThemeImpl objects that are\ncreated using the new ResourcesImpl.\n\nThemeImpls can only belong to one Theme object, so the old\nimplementation is discarded and the theme takes ownership of the new\nThemeImp.\n\nThis creates performance problems when framework overlays are toggled.\nToggling overlays targeting the framework causes all themes across all\nprocesses to recreate and reallocate all of their themes. By rebasing\nthe ThemeImpl on the new ResourcesImpl without deallocating the native\ntheme memory, we reduce churn and produce less garbage that needs to\nbe garbage collected.\n\nBug: 141198925\nTest: atest libandroidfw_tests\nTest: atest ResourcesPerfWorkloads\nChange-Id: I03fb31ee09c9cfdbd3c41bcf0b605607dab54ed7\n"
    },
    {
      "commit": "3c6480c8d85feb52ea1908c1f5b0627dc7821a7a",
      "tree": "054293d05ff82487d26ced6dc27d29128f9f6ed0",
      "parents": [
        "72cd5f15528e6b930fadfdef1d79722ea7ff02e7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 07 11:22:30 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 08 09:12:32 2021 -0700"
      },
      "message": "Sparse native theme representation\n\nThemes are represented in the native layer using an array where the\nentry id of resource ids are used to index into the array. This causes\nnative allocation size of a theme to correlate with the largest\nattribute resource id in the styles applied to the theme.\n\nFrom manual testing, I determined that on average in 1P apps and\nsystem_server only 10-20% of the space allocated for themes actually\nhold theme attribute values and the rest is empty/unused space.\n\nUsing std::vector and std::lower_bound to create a sparse array\nrepresentation will reduce amount of memory allocated by themes while\nhaving a minimal impact on the performance of querying the attributes\ndefined in a theme.\n\nFrom testing with ResourcesPerfWorkloads, this increased time spent in\nthe resources synthetic benchmarks by ~1%.\n\nBug: 141198925\nTest: atest libandroidfw_tests\nTest: atest ResourcesPerfWorkloads\nChange-Id: Iec512b31b0545b0898ff248cd23f074a20fff45d\n"
    },
    {
      "commit": "4463194107278c67a7265683a1ae4fb1f771b444",
      "tree": "c4a0e590cde62ef8f91cd190a3b3b1b217c20e6e",
      "parents": [
        "9d1e7a6e8ea4640da2303adc7777cbbc7baf6848"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Wed Jun 02 11:34:32 2021 -0700"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Wed Jun 02 18:36:09 2021 +0000"
      },
      "message": "Remove ResourcesHardeningTest from Test Mapping\n\nResourcesHardeningTest is not a test module name.\nThis is a partial revert of ag/14505818\n\nBug: 189953380\nTest: none\nChange-Id: Iebf50714918d64eb52183c1f140ac8dba38b2ae5\n"
    },
    {
      "commit": "488522c9c5aba1271446b2e9127b4e4c46d10708",
      "tree": "87f7ebbacf987c15567fabffe015c690665ba5fa",
      "parents": [
        "2e281d022504282d06ae58202823210ea4c40e85",
        "c0416698dbaaeba7b706c9eca59e2ba0cab45377"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 27 21:31:04 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 27 21:31:04 2021 +0000"
      },
      "message": "Merge changes from topic \"inc-dis\" into sc-dev\n\n* changes:\n  Disable incremental hardening on own resources\n  StringBlock incremental hardening default values\n"
    },
    {
      "commit": "cfb916e53e0301ce65265c32f1950ca696d099fb",
      "tree": "4ca9cb2837191135c00ae8fc175cb5fa7197bef4",
      "parents": [
        "72cd5f15528e6b930fadfdef1d79722ea7ff02e7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 27 12:34:52 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 27 12:41:36 2021 -0700"
      },
      "message": "Verify presence of _FileAsset::getBuffer data\n\nRather than attempt to remove all users of Asset::getBuffer (which\nincludes AssetManager(1), aapt(1), and other places) and migrate  them\nto use Asset::getIncFsBuffer, verify the presence of all the data in\nthe buffer before returning a raw pointer to the buffer data to\nguarantee callers will not unexpectedly get a SIGBUS due to incremental\ninstallation.\n\nBug: 179254882\nTest: builds\nChange-Id: I24fd9036bc53a8c23166b5471862ee542630fb56\n"
    },
    {
      "commit": "c0416698dbaaeba7b706c9eca59e2ba0cab45377",
      "tree": "6c9b232eb3f6f52d7ab91c0f412688021a94b274",
      "parents": [
        "bef47a35776cf1d5ae9124b3a3823d1b950d0b80"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 11 12:21:29 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 27 09:50:36 2021 -0700"
      },
      "message": "Disable incremental hardening on own resources\n\nWhen an application is incrementally installed, and a resources\noperation fails due to the resources not being fully present,\nthe app should crash instead of swallowing the error and\nreturning default values to not alter the experience of\nusing the application.\n\nDisable IncFsFileMap protections on ApkAssets that are a part of the\napplication that is running (base and splits).\n\nBug: 187220960\nTest: atest ResourcesHardeningTest\nChange-Id: Ibc67aca688720f983c7c656f404593285a54999b\n"
    },
    {
      "commit": "43628ca24cda9f3d073e21a2a33d400d981e03c1",
      "tree": "cbab1fd3b299e9cc19cf17c2ced36e416c5565d0",
      "parents": [
        "c06af26cc02000b1dd5748176eddc54cdd13b6ae"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Thu May 13 11:25:29 2021 -0700"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Fri May 21 14:13:18 2021 -0700"
      },
      "message": "Updates OWNERS files\n\nBug: 186864416\nTest: Builds\nChange-Id: I04dfc5c2c7143825334ebc62742e335b8c889492\n"
    },
    {
      "commit": "47fb18bed8e67928a9298422c5c064e65b97900f",
      "tree": "26ef0e8a923d42cf9cc3349ecaf1c3b3489bb631",
      "parents": [
        "186d52afcb4f88d4304bdc7071e02c31935dc557",
        "bdc0ae12471f1a4a4cae8adbbf83f33a0f3e4ea9"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 13 22:33:17 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 13 22:33:17 2021 +0000"
      },
      "message": "Merge \"Set ApkAssets path for fabricated rros\" into sc-dev"
    },
    {
      "commit": "bdc0ae12471f1a4a4cae8adbbf83f33a0f3e4ea9",
      "tree": "6df0116ab11c976ad7884b97d91c7293856df478",
      "parents": [
        "969f4ec61b7f6d069726ffcc795d438af7d47f7d"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 01 15:18:15 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 13 13:41:26 2021 -0700"
      },
      "message": "Set ApkAssets path for fabricated rros\n\nFabricated RROs do not provide assets but are stored on disk. Ensure\nthat the path to the frro is returned when querying for the ApkAssets\npath (which is mostly for debug purposes).\n\nBug: 181338216\nTest: enable frro, use cmd overlay lookup to see path in resolution\nChange-Id: Ibf9b1bf0a995325affbf084c71b1e87c5682e734\n"
    },
    {
      "commit": "2ec8e1b71fae1417e7d4df09600956b2c67a4936",
      "tree": "935f3e7a3f40679fa0e6650866a8d24bd7eb85f4",
      "parents": [
        "2fedba9a32d9e92344eaf6e9faf5b43e1bc2ae70"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 11 08:28:00 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 11 08:28:00 2021 -0700"
      },
      "message": "Add \u003cstaging-public-group-final\u003e to aapt2 (2/2)\n\nFixes BinaryResourceParser loading of alias chunk and makes changes\nthat did not get committed in 2fedba9a32d9e92344eaf6e9faf5b43e1bc2ae70.\n\nBug: 183411356\nTest: aapt2_test\nChange-Id: Ieff9166100019f38ddcfe900014709b15db24e43\n"
    },
    {
      "commit": "2fedba9a32d9e92344eaf6e9faf5b43e1bc2ae70",
      "tree": "8d1e8882141341965e05c435230a3b6f0f3b15da",
      "parents": [
        "969f4ec61b7f6d069726ffcc795d438af7d47f7d"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 23 07:47:38 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 10 17:22:33 2021 -0700"
      },
      "message": "Add \u003cstaging-public-group-final\u003e to aapt2\n\nTo allow apps that compiled against a pre-release SDK to continue\nworking for a period of time after API finalization, a new tag,\n\u003cstaging-public-group-final\u003e, has been added to aapt2.\n\nWhen finalizing the framework resource API, converting\n\u003cstaging-public-group\u003e tags to \u003cstaging-public-group-final\u003e will\ncause aapt2 to generate the resource table so that there is a resource\nentry for the old non-finalized (staged) resource ID and another entry\nfor the finalized resource ID of newly finalized resources. This allows\nan application that compiled against the pre-release SDK to continue\nresolving resources using pre-release resource IDs.\n\nAll references to pre-release resource IDs will be rewritten to their\nfinalized resource IDs through the information stored in the new staged\nalias chunk. This allows applications compiled against\n\u003cstaging-public-group\u003e resources to use the newly finalized\nresource ID without re-compilation.\n\nWhen an application is re-compiled against the SDK with\n\u003cstaging-public-group-final\u003e tags, the application will use the\nfinalized resource IDs.\n\nThis change limits the use of the alias chunk to the framework for S.\n\nBug: 183411356\nTest: aapt2_test\nChange-Id: Iba1c3033c3c2f32de8e4a19b58d3921c971092c4\n"
    },
    {
      "commit": "6c905696b913bd9d9a5af4e69b784cc65e5b348e",
      "tree": "6c5e2e3135acdcfe45883839a92431305336bcfe",
      "parents": [
        "48a2cac9ef5087a09dab7ad1eaff3d40f97cde96",
        "424db431bef6bec118fe1aa65fb1b93d3c164319"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 03 23:00:16 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 03 23:00:16 2021 +0000"
      },
      "message": "Merge \"AAPT: Only print last uses-sdk tag\" into sc-dev"
    },
    {
      "commit": "424db431bef6bec118fe1aa65fb1b93d3c164319",
      "tree": "31f29587e86236ba9bd5ca8fe831f1054b35f5da",
      "parents": [
        "ff68a9adc3454b7cddb2501d8e82bd4b10b2037c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 03 11:42:52 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 03 12:20:22 2021 -0700"
      },
      "message": "AAPT: Only print last uses-sdk tag\n\nWhen an APK defines multiple \"uses-sdk\" tags, the Android runtime only\nuses the minSdkVersion and targetSdkVersion values from the last\noccurrence of the \"uses-sdk\" tag.\n\nFor example an application with the following tags:\n\u003cuses-sdk android:minSdkVersion\u003d\"21\" android:targetSdkVersion\u003d\"29\"/\u003e\n\u003cuses-sdk android:maxSdkVersion\u003d\"28\"/\u003e\n\nWill have the following version codes at runtime:\nminSdk\u003d1 targetSdk\u003d1\n\nAnother example:\n\u003cuses-sdk android:minSdkVersion\u003d\"5\" android:targetSdkVersion\u003d\"28\"/\u003e\n\u003cuses-sdk android:minSdkVersion\u003d\"5\" android:targetSdkVersion\u003d\"19\"/\u003e\n\nWill have the following version codes at runtime:\nminSdk\u003d5 targetSdk\u003d19\n\nAAPT must print the version data from only the last tag, skipping other\noccurrences of the tag.\n\nBug: 175789289\nTest: manual\nChange-Id: Ic855ff920d0b7abedd250d977bfa55189f4c8946\n"
    },
    {
      "commit": "a3b1c2e02897f367341f642d8c501bb86a79ee9c",
      "tree": "3c230a700a64af8c71430b07d86bb07a66363606",
      "parents": [
        "71a0c99113c7339ca4dc0155fea1e763934f3575",
        "43ce684e3ba667697612f9bd894504e5cfaa2180"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Apr 29 21:32:03 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 29 21:32:03 2021 +0000"
      },
      "message": "Merge \"Fix two problems in the ExecuteBinary function.\" am: e0561210b2 am: b16d968e54 am: 43ce684e3b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1677048\n\nChange-Id: I9472707d7d680ad63794ed4b61ecd1e4506ae5c5\n"
    },
    {
      "commit": "13587931e5e992bfc1082c9114c93f843a67958d",
      "tree": "39c70563f11502f01461087cec94c9c9eddc6ac5",
      "parents": [
        "ff68a9adc3454b7cddb2501d8e82bd4b10b2037c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Apr 27 10:28:28 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 28 13:34:13 2021 -0700"
      },
      "message": "Synchronize native ApkAssets data\n\nIf an ApkAssets is created and destroyed before being put into an\nAssetManager, the native layer may not have been synchronized in the\nthread that does Java object finalization. So when the Java object gets\ndeleted on the finalization thread, it may see old/unallocated native\ndata and not delete the native object correctly.\n\nSimilar to how we already lock on the native AssetManager whenever\nentering the JNI layer, we should also do the same for ApkAssets.\n\nBug: 186528775\nTest: boot and no crashes\nChange-Id: I5fcb9e788a9e3cb8baeb92fa6efc882d5bbbf0b0\n"
    },
    {
      "commit": "b3982fc8be5cac77e572fc540addd9d489b42698",
      "tree": "458098b55a29bd29c5b36ca8b8ab12871014eafd",
      "parents": [
        "6b5e6bba9b0eb9c8e42fa16899c7bc738a51c5b0"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Apr 15 21:42:37 2021 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Apr 15 21:47:07 2021 -0700"
      },
      "message": "Fix two problems in the ExecuteBinary function.\n\n- If the process exits abnormally then we will leak the stdout and\n  stderr FDs. Fix it by closing the FDs before returning.\n\n- If another child process exits then we will incorrectly return the\n  result from that process instead of waiting for our child. Fix it\n  by using waitpid instead of wait.\n\nChange-Id: I8974d5e4bd33f264cd2d364f55a60f1f5cb7eb1a\n"
    },
    {
      "commit": "56a9d29cc0118eb7919c1716fed87337db29d748",
      "tree": "68d5816314e4c8d51369b96f8fcd89e4c68af0ed",
      "parents": [
        "ddf368aa33e5163e6e1651ca4cf982bd81bf6aee",
        "2e9bec1154b8342ae6914498edd2e0fb15e36957"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Mar 30 15:36:58 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 30 15:36:58 2021 +0000"
      },
      "message": "Merge \"Add staging-public-group to aapt2\" into sc-dev"
    },
    {
      "commit": "2e9bec1154b8342ae6914498edd2e0fb15e36957",
      "tree": "f605a39a176afd39c9ffcc18fd71b4c8c74e75a9",
      "parents": [
        "1d008d1d2a73a8b796add4e18924fcc99220a839"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 22 09:31:00 2021 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 29 16:33:16 2021 -0700"
      },
      "message": "Add staging-public-group to aapt2\n\nstaging-public-group is a tag for putting resources that have been\nadded during platform development, but have not yet been finalized,\ninto a separate resource id namespace.\n\nR.java fields of staged resources are non-final, so when the SDK is\nfinalized, applications using the android R.java will automatically\nuse the new finalized resource id without having to recompile.\n\nStaged resources can exist either in the same type id as the type\u0027s\nnon-staged counterpart or in a separate type id. Multiple\nstaging-public-group tags each with a different type id can exist\nsimultaneously, which allows for multiple versions of the platform\nto be developed at once.\n\nBug: 183411093\nTest: aapt2_tests\n\nChange-Id: Ibb6c84c3626751e33c6097f35a03e306bb85616a\n"
    },
    {
      "commit": "0793a48978d1ddee6921207e7e7bca0f88b94b15",
      "tree": "272e2a65869c93d0f4890a31f6029261cc5c2683",
      "parents": [
        "6b37c73159e2c386a85b21bcc7ee8073552afbbc",
        "0ae49d300d13d831e0d3617099f6836faf1786bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 12 19:55:50 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 12 19:55:50 2021 +0000"
      },
      "message": "Merge \"Prevent Theme#dump from restricting minimum severity\" into sc-dev"
    },
    {
      "commit": "0ae49d300d13d831e0d3617099f6836faf1786bd",
      "tree": "632291b2ba9c7a5499f28f39ff131f6987bd90d5",
      "parents": [
        "67eca1c2dac2e36e78755eff72ec1d0e54805298"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 05 15:12:52 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Mar 10 13:29:43 2021 -0800"
      },
      "message": "Prevent Theme#dump from restricting minimum severity\n\nAfter Theme#dump is used, all logs with a lower severity than \"info\"\nwere not being shown. Removing base::ScopedLogSeverity fixes this\nissue. ScopedLogSeverity does not have any purpose in these code blocks\nsince the dump command is doing the theme logging at a fixed severity.\n\nBug: 175070283\nTest: use debugger to invoke dump and verify that it does not limit\n      minimum severity\nChange-Id: I4564d119b3672398c6b1d11cd946080cca458218\n"
    },
    {
      "commit": "80d0f4c66bc4b64e0f3cd1fe6a12db09705b9c4d",
      "tree": "51849b16d92045ddc70dfc4353098ecded80b671",
      "parents": [
        "4183c1d4a75d0caf0e68903b37355849af15df69"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Fri Feb 26 03:53:04 2021 -0500"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Fri Mar 05 01:42:17 2021 -0800"
      },
      "message": "[hardening] Switch to hardened libziparchive in system_server\n\nUse the new libziparchive_hardened in all system_server\ndependencies to ensure no missing page access can crash\nthe process\n\nBug: 160635079\nTest: IncrementalService tests + adb install --incremental\nChange-Id: I1c664e111b69718cd9c62fc3e0d6a5dc70bed16b\n"
    },
    {
      "commit": "3381ea741edc5f3d326791f57f6956a4742c4230",
      "tree": "8a8fe0a18a1cadf98e6130e3ac231cced3782ecd",
      "parents": [
        "b8d3b7d210dee38195a18631194b7f1bcbde24db",
        "ef538436300f6424f47368b448c5e9303a52a1b2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Mar 02 18:07:06 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 02 18:07:06 2021 +0000"
      },
      "message": "Merge \"Don\u0027t use ApkAssets::GetPath for equality checks\" into sc-dev"
    },
    {
      "commit": "ef538436300f6424f47368b448c5e9303a52a1b2",
      "tree": "f0c5207a4dcae5eb9ed5ff331bba3abfe3277b4e",
      "parents": [
        "d145f376ca970dac89559f19df6da8d0ec24741e"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 01 14:52:14 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Mar 02 18:06:49 2021 +0000"
      },
      "message": "Don\u0027t use ApkAssets::GetPath for equality checks\n\nWith the introduction of ResourcesProviders, not all ApkAssets have\npaths on disk. Theme::SetTo and various AssetManager methods use the\npath to perform equality checking on ApkAssets. This equality check\nwill be performed on the debug string of an ApkAssets if it does not\nhave a path on disk. This causes ApkAssets with the same debug name\n(like \"\u003cempty\u003e\") to be seen as the same ApkAssets. Rather than using\npath, the pointer to the ApkAssets should be used for equality checking\nsince ResourcesManager caches and reuses ApkAssets when multiple\nAssetManagers request the same assets.\n\nBug: 177101983\nTest: atest CtsResourcesLoaderTests\nChange-Id: I11f6a2a3a7cc8febe3f976236792f78e41cf07e6\n"
    },
    {
      "commit": "745e7ee830a9115a5c21ed0f33670478a2ef6553",
      "tree": "8f66ae0238472af9c071250f3cea0464c76f6a07",
      "parents": [
        "9bcd1aef22d5435c8a68ea0e0d502efbdd706e3e",
        "d59495855eda75db9ea49efcdace0290758b6f42"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Feb 24 18:43:29 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 18:43:29 2021 +0000"
      },
      "message": "Merge \"[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base\" into sc-dev"
    },
    {
      "commit": "dcbdaf270a0f2b9f7882ab6e63764d334882a2f7",
      "tree": "bbf813d40d9c25a94a34402db2d5fe1264d8ee64",
      "parents": [
        "1d3aefb2b0b0b001a4bf8b4842a9122205983eb2",
        "14730f0311f72de15597814f9a831031fe66e6da"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue Feb 23 23:46:59 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 23 23:46:59 2021 +0000"
      },
      "message": "Merge \"Clean up cc_test TEST_MAPPING after default update\" am: d46665bdd7 am: ac38baefa0 am: 14730f0311\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1597014\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I6369cb59db33e7346bb8af961d101eba852ffa62\n"
    },
    {
      "commit": "d59495855eda75db9ea49efcdace0290758b6f42",
      "tree": "0ab70ea16074f224dc841001da03471db2faecb9",
      "parents": [
        "fff84a262cc18b935ce6e8fd0c9583d592a067fe"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 13:18:34 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 23 13:18:34 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apct-tests/perftests/contentcapture/Android.bp\n  apct-tests/perftests/inputmethod/Android.bp\n  apex/appsearch/Android.bp\n  apex/appsearch/framework/Android.bp\n  apex/appsearch/service/Android.bp\n  apex/appsearch/testing/Android.bp\n  apex/jobscheduler/service/jni/Android.bp\n  apex/media/service/Android.bp\n  cmds/abx/Android.bp\n  cmds/uinput/Android.bp\n  cmds/uinput/jni/Android.bp\n  core/tests/GameManagerTests/Android.bp\n  core/tests/batterystatstests/BatteryStatsLoadTests/Android.bp\n  core/tests/batterystatstests/BatteryStatsViewer/Android.bp\n  core/tests/devicestatetests/Android.bp\n  libs/WindowManager/Shell/tests/flicker/Android.bp\n  libs/WindowManager/Shell/tests/flicker/test-apps/flickerapp/Android.bp\n  libs/androidfw/fuzz/cursorwindow_fuzzer/Android.bp\n  native/android/tests/activitymanager/UidImportanceHelperApps/Android.bp\n  native/android/tests/activitymanager/nativeTests/Android.bp\n  packages/SettingsLib/BannerMessagePreference/Android.bp\n  packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp\n  packages/SettingsLib/EmergencyNumber/Android.bp\n  packages/SettingsLib/FooterPreference/Android.bp\n  packages/SettingsLib/MainSwitchPreference/Android.bp\n  packages/SettingsLib/TopIntroPreference/Android.bp\n  packages/SettingsLib/UsageProgressBarPreference/Android.bp\n  packages/overlays/AccentColorAmethystOverlay/Android.bp\n  packages/overlays/AccentColorAquamarineOverlay/Android.bp\n  packages/overlays/AccentColorBlackOverlay/Android.bp\n  packages/overlays/AccentColorCarbonOverlay/Android.bp\n  packages/overlays/AccentColorCinnamonOverlay/Android.bp\n  packages/overlays/AccentColorGreenOverlay/Android.bp\n  packages/overlays/AccentColorOceanOverlay/Android.bp\n  packages/overlays/AccentColorOrchidOverlay/Android.bp\n  packages/overlays/AccentColorPaletteOverlay/Android.bp\n  packages/overlays/AccentColorPurpleOverlay/Android.bp\n  packages/overlays/AccentColorSandOverlay/Android.bp\n  packages/overlays/AccentColorSpaceOverlay/Android.bp\n  packages/overlays/AccentColorTangerineOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationTallOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.bp\n  packages/overlays/DisplayCutoutEmulationWideOverlay/Android.bp\n  packages/overlays/FontNotoSerifSourceOverlay/Android.bp\n  packages/overlays/IconPackCircularAndroidOverlay/Android.bp\n  packages/overlays/IconPackCircularLauncherOverlay/Android.bp\n  packages/overlays/IconPackCircularSettingsOverlay/Android.bp\n  packages/overlays/IconPackCircularSystemUIOverlay/Android.bp\n  packages/overlays/IconPackCircularThemePickerOverlay/Android.bp\n  packages/overlays/IconPackFilledAndroidOverlay/Android.bp\n  packages/overlays/IconPackFilledLauncherOverlay/Android.bp\n  packages/overlays/IconPackFilledSettingsOverlay/Android.bp\n  packages/overlays/IconPackFilledSystemUIOverlay/Android.bp\n  packages/overlays/IconPackFilledThemePickerOverlay/Android.bp\n  packages/overlays/IconPackKaiAndroidOverlay/Android.bp\n  packages/overlays/IconPackKaiLauncherOverlay/Android.bp\n  packages/overlays/IconPackKaiSettingsOverlay/Android.bp\n  packages/overlays/IconPackKaiSystemUIOverlay/Android.bp\n  packages/overlays/IconPackKaiThemePickerOverlay/Android.bp\n  packages/overlays/IconPackRoundedAndroidOverlay/Android.bp\n  packages/overlays/IconPackRoundedLauncherOverlay/Android.bp\n  packages/overlays/IconPackRoundedSettingsOverlay/Android.bp\n  packages/overlays/IconPackRoundedSystemUIOverlay/Android.bp\n  packages/overlays/IconPackRoundedThemePickerOverlay/Android.bp\n  packages/overlays/IconPackSamAndroidOverlay/Android.bp\n  packages/overlays/IconPackSamLauncherOverlay/Android.bp\n  packages/overlays/IconPackSamSettingsOverlay/Android.bp\n  packages/overlays/IconPackSamSystemUIOverlay/Android.bp\n  packages/overlays/IconPackSamThemePickerOverlay/Android.bp\n  packages/overlays/IconPackVictorAndroidOverlay/Android.bp\n  packages/overlays/IconPackVictorLauncherOverlay/Android.bp\n  packages/overlays/IconPackVictorSettingsOverlay/Android.bp\n  packages/overlays/IconPackVictorSystemUIOverlay/Android.bp\n  packages/overlays/IconPackVictorThemePickerOverlay/Android.bp\n  packages/overlays/IconShapeHeartOverlay/Android.bp\n  packages/overlays/IconShapePebbleOverlay/Android.bp\n  packages/overlays/IconShapeRoundedRectOverlay/Android.bp\n  packages/overlays/IconShapeSquareOverlay/Android.bp\n  packages/overlays/IconShapeSquircleOverlay/Android.bp\n  packages/overlays/IconShapeTaperedRectOverlay/Android.bp\n  packages/overlays/IconShapeTeardropOverlay/Android.bp\n  packages/overlays/IconShapeVesselOverlay/Android.bp\n  packages/overlays/NavigationBarMode2ButtonOverlay/Android.bp\n  packages/overlays/NavigationBarMode3ButtonOverlay/Android.bp\n  packages/overlays/NavigationBarModeGesturalOverlay/Android.bp\n  packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.bp\n  packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.bp\n  packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.bp\n  packages/overlays/OneHandedModeGesturalOverlay/Android.bp\n  packages/services/CameraExtensionsProxy/Android.bp\n  services/core/java/com/android/server/speech/Android.bp\n  services/musicrecognition/Android.bp\n  services/searchui/Android.bp\n  services/smartspace/Android.bp\n  services/tests/PackageManagerServiceTests/host/libs/IntentVerifyUtils/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/DeviceSide/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifier/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifierTarget/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/UsesStaticLibrary/Android.bp\n  services/tests/PackageManagerServiceTests/unit/Android.bp\n  services/tests/inprocesstests/Android.bp\n  services/tests/mockingservicestests/jni/Android.bp\n  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp\n  services/texttospeech/Android.bp\n  services/translation/Android.bp\n  tests/BatteryStatsPerfTest/Android.bp\n  tests/FlickerTests/test-apps/Android.bp\n  tests/Input/Android.bp\n  tests/SilkFX/Android.bp\n  tests/SurfaceViewBufferTests/Android.bp\n  tests/UpdatableSystemFontTest/Android.bp\n  tests/UpdatableSystemFontTest/testdata/Android.bp\n  tests/benchmarks/internal/Android.bp\n  tools/powerstats/Android.bp\n  tools/processors/intdef_mappings/Android.bp\n  tools/xmlpersistence/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I1b8d155a26a1a589a38abedea5f7f366e00346c6\n"
    },
    {
      "commit": "8a6a2bce6c1a1d46c7516baa9f7501f2c75caa37",
      "tree": "6f3104162e93c60cc52a6a1fc7c3e8b5abe9afcd",
      "parents": [
        "3888076437330739e18ba80e256ca56cecf7b7cf"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:07:05 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Sun Feb 21 20:12:24 2021 +0000"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apct-tests/perftests/autofill/Android.bp\n  apct-tests/perftests/blobstore/Android.bp\n  apct-tests/perftests/core/Android.bp\n  apct-tests/perftests/core/apps/overlay/Android.bp\n  apct-tests/perftests/core/apps/reources_manager/Android.bp\n  apct-tests/perftests/core/jni/Android.bp\n  apct-tests/perftests/multiuser/Android.bp\n  apct-tests/perftests/multiuser/apps/dummyapp/Android.bp\n  apct-tests/perftests/packagemanager/Android.bp\n  apct-tests/perftests/packagemanager/apps/query-all/Android.bp\n  apct-tests/perftests/textclassifier/Android.bp\n  apct-tests/perftests/utils/Android.bp\n  apct-tests/perftests/windowmanager/Android.bp\n  apex/Android.bp\n  apex/blobstore/framework/Android.bp\n  apex/blobstore/service/Android.bp\n  apex/jobscheduler/framework/Android.bp\n  apex/jobscheduler/service/Android.bp\n  apex/media/Android.bp\n  apex/media/aidl/Android.bp\n  apex/media/framework/Android.bp\n  cmds/am/Android.bp\n  cmds/app_process/Android.bp\n  cmds/appops/Android.bp\n  cmds/appwidget/Android.bp\n  cmds/backup/Android.bp\n  cmds/bmgr/Android.bp\n  cmds/bootanimation/Android.bp\n  cmds/bu/Android.bp\n  cmds/content/Android.bp\n  cmds/dpm/Android.bp\n  cmds/hid/Android.bp\n  cmds/hid/jni/Android.bp\n  cmds/idmap2/Android.bp\n  cmds/ime/Android.bp\n  cmds/incident/Android.bp\n  cmds/incident_helper/Android.bp\n  cmds/incidentd/Android.bp\n  cmds/input/Android.bp\n  cmds/interrupter/Android.bp\n  cmds/locksettings/Android.bp\n  cmds/pm/Android.bp\n  cmds/requestsync/Android.bp\n  cmds/screencap/Android.bp\n  cmds/sm/Android.bp\n  cmds/svc/Android.bp\n  cmds/telecom/Android.bp\n  cmds/uiautomator/Android.bp\n  cmds/uiautomator/cmds/uiautomator/Android.bp\n  cmds/uiautomator/instrumentation/Android.bp\n  cmds/uiautomator/library/Android.bp\n  cmds/vr/Android.bp\n  cmds/wm/Android.bp\n  config/Android.bp\n  core/java/android/service/wallpaper/Android.bp\n  core/jni/Android.bp\n  core/sysprop/Android.bp\n  core/tests/BroadcastRadioTests/Android.bp\n  core/tests/ConnectivityManagerTest/Android.bp\n  core/tests/PackageInstallerSessions/Android.bp\n  core/tests/PlatformCompatFramework/Android.bp\n  core/tests/bandwidthtests/Android.bp\n  core/tests/benchmarks/Android.bp\n  core/tests/bluetoothtests/Android.bp\n  core/tests/bugreports/Android.bp\n  core/tests/coretests/Android.bp\n  core/tests/coretests/BinderDeathRecipientHelperApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestService/Android.bp\n  core/tests/coretests/BstatsTestApp/Android.bp\n  core/tests/coretests/DisabledTestApp/Android.bp\n  core/tests/coretests/EnabledTestApp/Android.bp\n  core/tests/coretests/aidl/Android.bp\n  core/tests/coretests/apks/Android.bp\n  core/tests/coretests/apks/install/Android.bp\n  core/tests/coretests/apks/install_bad_dex/Android.bp\n  core/tests/coretests/apks/install_complete_package_info/Android.bp\n  core/tests/coretests/apks/install_decl_perm/Android.bp\n  core/tests/coretests/apks/install_jni_lib/Android.bp\n  core/tests/coretests/apks/install_jni_lib_open_from_apk/Android.bp\n  core/tests/coretests/apks/install_loc_auto/Android.bp\n  core/tests/coretests/apks/install_loc_internal/Android.bp\n  core/tests/coretests/apks/install_loc_sdcard/Android.bp\n  core/tests/coretests/apks/install_loc_unspecified/Android.bp\n  core/tests/coretests/apks/install_use_perm_good/Android.bp\n  core/tests/coretests/apks/install_uses_feature/Android.bp\n  core/tests/coretests/apks/install_verifier_bad/Android.bp\n  core/tests/coretests/apks/install_verifier_good/Android.bp\n  core/tests/coretests/apks/keyset/Android.bp\n  core/tests/coretests/apks/locales/Android.bp\n  core/tests/coretests/apks/overlay_config/Android.bp\n  core/tests/coretests/apks/version/Android.bp\n  core/tests/coretests/apks/version_nosys/Android.bp\n  core/tests/featureflagtests/Android.bp\n  core/tests/hdmitests/Android.bp\n  core/tests/hosttests/test-apps/AutoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocAllPermsTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocPermsFLTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPerms/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.bp\n  core/tests/hosttests/test-apps/InternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests/Android.bp\n  core/tests/hosttests/test-apps/NoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/java_only/Android.bp\n  core/tests/hosttests/test-apps/SimpleTestApp/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v2_int/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v2_none/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Auto/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_External/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Internal/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_None/Android.bp\n  core/tests/mockingcoretests/Android.bp\n  core/tests/notificationtests/Android.bp\n  core/tests/overlaytests/device/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayOne/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayTwo/Android.bp\n  core/tests/overlaytests/device/test-apps/FrameworkOverlay/Android.bp\n  core/tests/overlaytests/host/Android.bp\n  core/tests/overlaytests/remount/Android.bp\n  core/tests/overlaytests/remount/test-apps/Overlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibrary/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibraryOverlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/Target/Android.bp\n  core/tests/packagemanagertests/Android.bp\n  core/tests/privacytests/Android.bp\n  core/tests/screenshothelpertests/Android.bp\n  core/tests/systemproperties/Android.bp\n  core/tests/utillib/Android.bp\n  core/tests/utiltests/Android.bp\n  core/tests/utiltests/jni/Android.bp\n  core/tests/uwbtests/Android.bp\n  core/xsd/Android.bp\n  core/xsd/vts/Android.bp\n  data/etc/Android.bp\n  data/etc/car/Android.bp\n  data/fonts/Android.bp\n  data/keyboards/Android.mk\n  drm/jni/Android.bp\n  errorprone/Android.bp\n  graphics/proto/Android.bp\n  keystore/Android.bp\n  keystore/tests/Android.bp\n  libs/WindowManager/Jetpack/Android.bp\n  libs/WindowManager/Shell/Android.bp\n  libs/WindowManager/Shell/tests/Android.bp\n  libs/androidfw/Android.bp\n  libs/androidfw/fuzz/resourcefile_fuzzer/Android.bp\n  libs/hostgraphics/Android.bp\n  libs/incident/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/protoutil/Android.bp\n  libs/services/Android.bp\n  libs/storage/Android.bp\n  libs/usb/tests/AccessoryChat/Android.bp\n  libs/usb/tests/AccessoryChat/accessorychat/Android.bp\n  location/lib/Android.bp\n  location/tests/Android.bp\n  location/tests/locationtests/Android.bp\n  lowpan/tests/Android.bp\n  media/Android.bp\n  media/java/Android.bp\n  media/java/android/media/tv/tunerresourcemanager/Android.bp\n  media/jni/Android.bp\n  media/jni/audioeffect/Android.bp\n  media/jni/soundpool/Android.bp\n  media/jni/soundpool/tests/Android.bp\n  media/lib/remotedisplay/Android.bp\n  media/lib/signer/Android.bp\n  media/lib/tvremote/Android.bp\n  media/lib/tvremote/tests/Android.bp\n  media/mca/filterfw/Android.bp\n  media/mca/filterfw/native/Android.bp\n  media/mca/filterpacks/Android.bp\n  media/mca/samples/CameraEffectsRecordingSample/Android.bp\n  media/mca/tests/Android.bp\n  media/native/midi/Android.bp\n  media/packages/BluetoothMidiService/Android.bp\n  media/packages/BluetoothMidiService/tests/unit/Android.bp\n  media/tests/AudioPolicyTest/Android.bp\n  media/tests/CameraBrowser/Android.bp\n  media/tests/EffectsTest/Android.bp\n  media/tests/MediaDump/Android.bp\n  media/tests/MediaFrameworkTest/Android.bp\n  media/tests/MediaRouter/Android.bp\n  media/tests/MtpTests/Android.bp\n  media/tests/ScoAudioTest/Android.bp\n  media/tests/SoundPoolTest/Android.bp\n  media/tests/TunerTest/Android.bp\n  media/tests/audiotests/Android.bp\n  media/tests/players/Android.bp\n  mime/Android.bp\n  native/android/Android.bp\n  native/graphics/jni/Android.bp\n  native/webview/loader/Android.bp\n  nfc-extras/Android.bp\n  nfc-extras/tests/Android.bp\n  packages/AppPredictionLib/Android.bp\n  packages/BackupEncryption/Android.bp\n  packages/BackupEncryption/test/robolectric-integration/Android.bp\n  packages/BackupEncryption/test/robolectric/Android.bp\n  packages/BackupEncryption/test/unittest/Android.bp\n  packages/BackupRestoreConfirmation/Android.bp\n  packages/CarSystemUI/Android.bp\n  packages/CarrierDefaultApp/Android.bp\n  packages/CarrierDefaultApp/tests/unit/Android.bp\n  packages/CompanionDeviceManager/Android.bp\n  packages/Connectivity/framework/Android.bp\n  packages/Connectivity/service/Android.bp\n  packages/CtsShim/Android.bp\n  packages/CtsShim/build/Android.bp\n  packages/CtsShim/build/jni/Android.bp\n  packages/DynamicSystemInstallationService/Android.bp\n  packages/DynamicSystemInstallationService/tests/Android.bp\n  packages/EasterEgg/Android.bp\n  packages/EncryptedLocalTransport/Android.bp\n  packages/ExtShared/Android.bp\n  packages/ExternalStorageProvider/Android.bp\n  packages/ExternalStorageProvider/tests/Android.bp\n  packages/FakeOemFeatures/Android.bp\n  packages/FusedLocation/Android.bp\n  packages/InputDevices/Android.bp\n  packages/LocalTransport/Android.bp\n  packages/PackageInstaller/Android.bp\n  packages/PrintRecommendationService/Android.bp\n  packages/PrintSpooler/Android.bp\n  packages/PrintSpooler/jni/Android.bp\n  packages/PrintSpooler/tests/outofprocess/Android.bp\n  packages/SettingsLib/ActionBarShadow/Android.bp\n  packages/SettingsLib/ActionButtonsPreference/Android.bp\n  packages/SettingsLib/AdaptiveIcon/Android.bp\n  packages/SettingsLib/Android.bp\n  packages/SettingsLib/AppPreference/Android.bp\n  packages/SettingsLib/BarChartPreference/Android.bp\n  packages/SettingsLib/DisplayDensityUtils/Android.bp\n  packages/SettingsLib/EntityHeaderWidgets/Android.bp\n  packages/SettingsLib/HelpUtils/Android.bp\n  packages/SettingsLib/LayoutPreference/Android.bp\n  packages/SettingsLib/ProgressBar/Android.bp\n  packages/SettingsLib/RadioButtonPreference/Android.bp\n  packages/SettingsLib/RestrictedLockUtils/Android.bp\n  packages/SettingsLib/SchedulesProvider/Android.bp\n  packages/SettingsLib/SearchProvider/Android.bp\n  packages/SettingsLib/SearchWidget/Android.bp\n  packages/SettingsLib/SettingsSpinner/Android.bp\n  packages/SettingsLib/SettingsTheme/Android.bp\n  packages/SettingsLib/Tile/Android.bp\n  packages/SettingsLib/Utils/Android.bp\n  packages/SettingsLib/search/Android.bp\n  packages/SettingsLib/tests/integ/Android.bp\n  packages/SettingsLib/tests/robotests/Android.bp\n  packages/SettingsProvider/Android.bp\n  packages/SharedStorageBackup/Android.bp\n  packages/Shell/Android.bp\n  packages/Shell/tests/Android.bp\n  packages/SimAppDialog/Android.bp\n  packages/SoundPicker/Android.bp\n  packages/StatementService/Android.bp\n  packages/SystemUI/Android.bp\n  packages/SystemUI/plugin/Android.bp\n  packages/SystemUI/plugin/ExamplePlugin/Android.bp\n  packages/SystemUI/plugin_core/Android.bp\n  packages/SystemUI/shared/Android.bp\n  packages/VpnDialogs/Android.bp\n  packages/WAPPushManager/Android.bp\n  packages/WAPPushManager/tests/Android.bp\n  packages/WallpaperBackup/Android.bp\n  packages/WallpaperCropper/Android.bp\n  packages/overlays/Android.mk\n  packages/overlays/tests/Android.bp\n  packages/services/PacProcessor/Android.bp\n  packages/services/PacProcessor/jni/Android.bp\n  packages/services/Proxy/Android.bp\n  proto/Android.bp\n  rs/jni/Android.mk\n  samples/demo/haptic-assessment/Android.bp\n  sax/tests/saxtests/Android.bp\n  services/Android.bp\n  services/accessibility/Android.bp\n  services/appprediction/Android.bp\n  services/appwidget/Android.bp\n  services/autofill/Android.bp\n  services/backup/Android.bp\n  services/backup/backuplib/Android.bp\n  services/companion/Android.bp\n  services/contentcapture/Android.bp\n  services/contentsuggestions/Android.bp\n  services/core/Android.bp\n  services/core/java/com/android/server/vcn/Android.bp\n  services/core/jni/Android.bp\n  services/core/xsd/Android.bp\n  services/core/xsd/vts/Android.bp\n  services/coverage/Android.bp\n  services/devicepolicy/Android.bp\n  services/incremental/Android.bp\n  services/midi/Android.bp\n  services/net/Android.bp\n  services/people/Android.bp\n  services/print/Android.bp\n  services/profcollect/Android.bp\n  services/restrictions/Android.bp\n  services/robotests/Android.bp\n  services/robotests/backup/Android.bp\n  services/systemcaptions/Android.bp\n  services/tests/PackageManagerComponentOverrideTests/Android.bp\n  services/tests/PackageManagerServiceTests/host/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/Android.bp\n  services/tests/mockingservicestests/Android.bp\n  services/tests/rescueparty/Android.bp\n  services/tests/servicestests/Android.bp\n  services/tests/servicestests/aidl/Android.bp\n  services/tests/servicestests/apks/Android.bp\n  services/tests/servicestests/apks/install-split-base/Android.bp\n  services/tests/servicestests/apks/install-split-feature-a/Android.bp\n  services/tests/servicestests/apks/install_intent_filters/Android.bp\n  services/tests/servicestests/apks/install_uses_sdk/Android.bp\n  services/tests/servicestests/test-apps/ConnTestApp/Android.bp\n  services/tests/servicestests/test-apps/JobTestApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParserApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp\n  services/tests/servicestests/test-apps/SimpleServiceTestApp/Android.bp\n  services/tests/servicestests/test-apps/SuspendTestApp/Android.bp\n  services/tests/shortcutmanagerutils/Android.bp\n  services/tests/uiservicestests/Android.bp\n  services/tests/wmtests/Android.bp\n  services/usage/Android.bp\n  services/usb/Android.bp\n  services/voiceinteraction/Android.bp\n  services/wifi/Android.bp\n  startop/apps/test/Android.bp\n  startop/iorap/Android.bp\n  startop/iorap/functional_tests/Android.bp\n  startop/iorap/stress/Android.bp\n  startop/iorap/tests/Android.bp\n  startop/view_compiler/Android.bp\n  startop/view_compiler/dex_builder_test/Android.bp\n  test-base/hiddenapi/Android.bp\n  test-mock/Android.bp\n  test-runner/tests/Android.bp\n  tests/AccessibilityEventsLogger/Android.bp\n  tests/AccessoryDisplay/common/Android.bp\n  tests/AccessoryDisplay/sink/Android.bp\n  tests/AccessoryDisplay/source/Android.bp\n  tests/ActivityManagerPerfTests/stub-app/Android.bp\n  tests/ActivityManagerPerfTests/test-app/Android.bp\n  tests/ActivityManagerPerfTests/tests/Android.bp\n  tests/ActivityManagerPerfTests/utils/Android.bp\n  tests/ActivityTests/Android.bp\n  tests/ActivityViewTest/Android.bp\n  tests/AmSlam/Android.bp\n  tests/ApkVerityTest/Android.bp\n  tests/ApkVerityTest/ApkVerityTestApp/Android.bp\n  tests/ApkVerityTest/block_device_writer/Android.bp\n  tests/AppLaunch/Android.bp\n  tests/AppLaunchWear/Android.bp\n  tests/AppResourcesLoaders/Android.bp\n  tests/AppResourcesLoaders/Overlay/Android.bp\n  tests/Assist/Android.bp\n  tests/AutoVerify/app1/Android.bp\n  tests/AutoVerify/app2/Android.bp\n  tests/AutoVerify/app3/Android.bp\n  tests/AutoVerify/app4/Android.bp\n  tests/BackgroundDexOptServiceIntegrationTests/Android.bp\n  tests/BandwidthTests/Android.bp\n  tests/BatteryWaster/Android.bp\n  tests/BiDiTests/Android.bp\n  tests/BlobStoreTestUtils/Android.bp\n  tests/BootImageProfileTest/Android.bp\n  tests/BrowserPowerTest/Android.bp\n  tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp\n  tests/CameraPrewarmTest/Android.bp\n  tests/Codegen/Android.bp\n  tests/Compatibility/Android.bp\n  tests/CoreTests/android/Android.bp\n  tests/DataIdleTest/Android.bp\n  tests/DozeTest/Android.bp\n  tests/DpiTest/Android.bp\n  tests/DynamicCodeLoggerIntegrationTests/Android.mk\n  tests/FeatureSplit/base/Android.bp\n  tests/FeatureSplit/feature1/Android.bp\n  tests/FeatureSplit/feature2/Android.bp\n  tests/FixVibrateSetting/Android.bp\n  tests/FlickerTests/Android.bp\n  tests/FlickerTests/test-apps/Android.bp\n  tests/FlickerTests/test-apps/flickerapp/Android.bp\n  tests/FrameworkPerf/Android.bp\n  tests/GamePerformance/Android.bp\n  tests/GridLayoutTest/Android.bp\n  tests/HierarchyViewerTest/Android.bp\n  tests/HugeBackup/Android.bp\n  tests/HwAccelerationTest/Android.bp\n  tests/Internal/Android.bp\n  tests/JankBench/Android.bp\n  tests/JobSchedulerPerfTests/Android.bp\n  tests/JobSchedulerTestApp/Android.bp\n  tests/LargeAssetTest/Android.bp\n  tests/LegacyAssistant/Android.bp\n  tests/LocalizationTest/Android.bp\n  tests/LocationTracker/Android.bp\n  tests/LotsOfApps/Android.bp\n  tests/LowStorageTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/app/DummyDPC/Android.bp\n  tests/MemoryUsage/Android.bp\n  tests/MirrorSurfaceTest/Android.bp\n  tests/NativeProcessesMemoryTest/Android.bp\n  tests/NetworkSecurityConfigTest/Android.bp\n  tests/NullHomeTest/Android.bp\n  tests/OdmApps/Android.bp\n  tests/OdmApps/app/Android.bp\n  tests/OdmApps/priv-app/Android.bp\n  tests/OneMedia/Android.bp\n  tests/PackageWatchdog/Android.bp\n  tests/PlatformCompatGating/Android.bp\n  tests/PlatformCompatGating/test-rules/Android.bp\n  tests/ProtoInputStreamTests/Android.bp\n  tests/RemoteDisplayProvider/Android.bp\n  tests/RenderThreadTest/Android.bp\n  tests/RollbackTest/Android.bp\n  tests/SerialChat/Android.bp\n  tests/ServiceCrashTest/Android.bp\n  tests/SharedLibrary/client/Android.bp\n  tests/SharedLibrary/lib/Android.bp\n  tests/ShowWhenLockedApp/Android.bp\n  tests/SmokeTest/Android.bp\n  tests/SmokeTest/tests/Android.bp\n  tests/SmokeTestApps/Android.bp\n  tests/SoundTriggerTestApp/Android.bp\n  tests/Split/Android.bp\n  tests/StagedInstallTest/Android.bp\n  tests/StatusBar/Android.bp\n  tests/SurfaceComposition/Android.bp\n  tests/SurfaceControlViewHostTest/Android.bp\n  tests/SystemMemoryTest/device/Android.bp\n  tests/SystemMemoryTest/host/Android.bp\n  tests/SystemUIDemoModeController/Android.bp\n  tests/TaskOrganizerTest/Android.bp\n  tests/TelephonyCommonTests/Android.bp\n  tests/TouchLatency/Android.bp\n  tests/TransformTest/Android.bp\n  tests/TtsTests/Android.bp\n  tests/UiBench/Android.bp\n  tests/UsageReportingTest/Android.bp\n  tests/UsageStatsPerfTests/Android.bp\n  tests/UsageStatsTest/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp\n  tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp\n  tests/UsbManagerTests/Android.bp\n  tests/UsbManagerTests/lib/Android.bp\n  tests/UsbTests/Android.bp\n  tests/UsesFeature2Test/Android.bp\n  tests/VectorDrawableTest/Android.bp\n  tests/VoiceEnrollment/Android.bp\n  tests/VoiceInteraction/Android.bp\n  tests/WallpaperTest/Android.bp\n  tests/WindowAnimationJank/Android.bp\n  tests/WindowInsetsTests/Android.bp\n  tests/appwidgets/AppWidgetHostTest/Android.bp\n  tests/appwidgets/AppWidgetProviderTest/Android.bp\n  tests/backup/Android.mk\n  tests/benchmarks/Android.bp\n  tests/libs-permissions/Android.bp\n  tests/net/Android.bp\n  tests/net/common/Android.bp\n  tests/net/deflake/Android.bp\n  tests/net/integration/Android.bp\n  tests/net/jni/Android.bp\n  tests/net/smoketest/Android.bp\n  tests/notification/Android.bp\n  tests/permission/Android.bp\n  tests/privapp-permissions/Android.bp\n  tests/testables/Android.bp\n  tests/testables/tests/Android.bp\n  tests/utils/StubIME/Android.bp\n  tests/utils/hostutils/Android.bp\n  tests/utils/testutils/Android.bp\n  tests/vcn/Android.bp\n  tools/aapt/Android.bp\n  tools/aapt2/Android.bp\n  tools/aapt2/integration-tests/AutoVersionTest/Android.bp\n  tools/aapt2/integration-tests/BasicTest/Android.bp\n  tools/aapt2/integration-tests/MergeOnlyTest/LeafLib/Android.mk\n  tools/aapt2/integration-tests/MergeOnlyTest/LocalLib/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibOne/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibTwo/Android.mk\n  tools/aapt2/integration-tests/StaticLibTest/App/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibOne/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibTwo/Android.bp\n  tools/aapt2/integration-tests/SymlinkTest/Android.bp\n  tools/bit/Android.bp\n  tools/codegen/Android.bp\n  tools/dump-coverage/Android.bp\n  tools/incident_report/Android.bp\n  tools/incident_section_gen/Android.bp\n  tools/lock_agent/Android.bp\n  tools/locked_region_code_injection/Android.bp\n  tools/obbtool/Android.bp\n  tools/powermodel/Android.bp\n  tools/preload-check/Android.bp\n  tools/preload-check/device/Android.bp\n  tools/preload/loadclass/Android.bp\n  tools/processors/staledataclass/Android.bp\n  tools/processors/view_inspector/Android.bp\n  tools/protologtool/Android.bp\n  tools/sdkparcelables/Android.bp\n  tools/split-select/Android.bp\n  tools/streaming_proto/Android.bp\n  tools/validatekeymaps/Android.bp\n  wifi/java/Android.bp\n  wifi/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  libs/hwui/Android.bp\n  native/webview/plat_support/Android.bp\n  obex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-CC-BY SPDX-license-identifier-CPL-1.0\n    SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    SPDX-license-identifier-W3C legacy_unencumbered\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_unencumbered\nto:\n  core/java/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-CPL-1.0\nto:\n  test-base/Android.bp\n  test-runner/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL\nto:\n  core/res/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\nto:\n  libs/usb/Android.bp\n  libs/usb/tests/accessorytest/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  tools/preload/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  api/Android.bp\n  boot/Android.bp\n  cmds/device_config/Android.bp\n  cmds/settings/Android.bp\n  core/api/Android.bp\n  core/tests/coretests/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlaid_apex/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlay_apex/Android.bp\n  libs/tracingproxy/Android.bp\n  services/startop/Android.bp\n  test-legacy/Android.mk\n  tests/ApkVerityTest/testdata/Android.bp\n  tests/TransitionTests/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02\nMerged-In: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02\n"
    },
    {
      "commit": "1926e7572f914fee9c27df8297a8266e35f1f675",
      "tree": "d211cc8ca47975849fdd1cf9a0d0e74b901482de",
      "parents": [
        "2a1600625c75ab0dfe51090a819204b18a8c8050"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 19 20:01:16 2021 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 19 20:01:22 2021 +0000"
      },
      "message": "Clean up cc_test TEST_MAPPING after default update\n\nAfter b/179092189, cc_test host_supported:true doesn\u0027t need TEST_MAPPING config anymore to\nrun in presubmit.\n\nChange-Id: I69f6ea4afd69f98e1d73a192f9a57440675fb304\nTest: presubmit\nBug: 178646865\n"
    },
    {
      "commit": "051ef786ace7a5177874fd9c2f654f0c8f041cfe",
      "tree": "79d0887efa908b754e190fa34e5d2111f1ce310a",
      "parents": [
        "80bbdfd100a4143154dfe17f4258b74806d5b749"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:07:05 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:09:57 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apct-tests/perftests/autofill/Android.bp\n  apct-tests/perftests/blobstore/Android.bp\n  apct-tests/perftests/core/Android.bp\n  apct-tests/perftests/core/apps/overlay/Android.bp\n  apct-tests/perftests/core/apps/reources_manager/Android.bp\n  apct-tests/perftests/core/jni/Android.bp\n  apct-tests/perftests/multiuser/Android.bp\n  apct-tests/perftests/multiuser/apps/dummyapp/Android.bp\n  apct-tests/perftests/packagemanager/Android.bp\n  apct-tests/perftests/packagemanager/apps/query-all/Android.bp\n  apct-tests/perftests/textclassifier/Android.bp\n  apct-tests/perftests/utils/Android.bp\n  apct-tests/perftests/windowmanager/Android.bp\n  apex/Android.bp\n  apex/blobstore/framework/Android.bp\n  apex/blobstore/service/Android.bp\n  apex/jobscheduler/framework/Android.bp\n  apex/jobscheduler/service/Android.bp\n  apex/media/Android.bp\n  apex/media/aidl/Android.bp\n  apex/media/framework/Android.bp\n  cmds/am/Android.bp\n  cmds/app_process/Android.bp\n  cmds/appops/Android.bp\n  cmds/appwidget/Android.bp\n  cmds/backup/Android.bp\n  cmds/bmgr/Android.bp\n  cmds/bootanimation/Android.bp\n  cmds/bu/Android.bp\n  cmds/content/Android.bp\n  cmds/dpm/Android.bp\n  cmds/hid/Android.bp\n  cmds/hid/jni/Android.bp\n  cmds/idmap2/Android.bp\n  cmds/ime/Android.bp\n  cmds/incident/Android.bp\n  cmds/incident_helper/Android.bp\n  cmds/incidentd/Android.bp\n  cmds/input/Android.bp\n  cmds/interrupter/Android.bp\n  cmds/locksettings/Android.bp\n  cmds/pm/Android.bp\n  cmds/requestsync/Android.bp\n  cmds/screencap/Android.bp\n  cmds/sm/Android.bp\n  cmds/svc/Android.bp\n  cmds/telecom/Android.bp\n  cmds/uiautomator/Android.bp\n  cmds/uiautomator/cmds/uiautomator/Android.bp\n  cmds/uiautomator/instrumentation/Android.bp\n  cmds/uiautomator/library/Android.bp\n  cmds/vr/Android.bp\n  cmds/wm/Android.bp\n  config/Android.bp\n  core/java/android/service/wallpaper/Android.bp\n  core/jni/Android.bp\n  core/sysprop/Android.bp\n  core/tests/BroadcastRadioTests/Android.bp\n  core/tests/ConnectivityManagerTest/Android.bp\n  core/tests/PackageInstallerSessions/Android.bp\n  core/tests/PlatformCompatFramework/Android.bp\n  core/tests/bandwidthtests/Android.bp\n  core/tests/benchmarks/Android.bp\n  core/tests/bluetoothtests/Android.bp\n  core/tests/bugreports/Android.bp\n  core/tests/coretests/Android.bp\n  core/tests/coretests/BinderDeathRecipientHelperApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestService/Android.bp\n  core/tests/coretests/BstatsTestApp/Android.bp\n  core/tests/coretests/DisabledTestApp/Android.bp\n  core/tests/coretests/EnabledTestApp/Android.bp\n  core/tests/coretests/aidl/Android.bp\n  core/tests/coretests/apks/Android.bp\n  core/tests/coretests/apks/install/Android.bp\n  core/tests/coretests/apks/install_bad_dex/Android.bp\n  core/tests/coretests/apks/install_complete_package_info/Android.bp\n  core/tests/coretests/apks/install_decl_perm/Android.bp\n  core/tests/coretests/apks/install_jni_lib/Android.bp\n  core/tests/coretests/apks/install_jni_lib_open_from_apk/Android.bp\n  core/tests/coretests/apks/install_loc_auto/Android.bp\n  core/tests/coretests/apks/install_loc_internal/Android.bp\n  core/tests/coretests/apks/install_loc_sdcard/Android.bp\n  core/tests/coretests/apks/install_loc_unspecified/Android.bp\n  core/tests/coretests/apks/install_use_perm_good/Android.bp\n  core/tests/coretests/apks/install_uses_feature/Android.bp\n  core/tests/coretests/apks/install_verifier_bad/Android.bp\n  core/tests/coretests/apks/install_verifier_good/Android.bp\n  core/tests/coretests/apks/keyset/Android.bp\n  core/tests/coretests/apks/locales/Android.bp\n  core/tests/coretests/apks/overlay_config/Android.bp\n  core/tests/coretests/apks/version/Android.bp\n  core/tests/coretests/apks/version_nosys/Android.bp\n  core/tests/featureflagtests/Android.bp\n  core/tests/hdmitests/Android.bp\n  core/tests/hosttests/test-apps/AutoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocAllPermsTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocPermsFLTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPerms/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.bp\n  core/tests/hosttests/test-apps/InternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests/Android.bp\n  core/tests/hosttests/test-apps/NoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/java_only/Android.bp\n  core/tests/hosttests/test-apps/SimpleTestApp/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v2_int/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v2_none/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Auto/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_External/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Internal/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_None/Android.bp\n  core/tests/mockingcoretests/Android.bp\n  core/tests/notificationtests/Android.bp\n  core/tests/overlaytests/device/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayOne/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayTwo/Android.bp\n  core/tests/overlaytests/device/test-apps/FrameworkOverlay/Android.bp\n  core/tests/overlaytests/host/Android.bp\n  core/tests/overlaytests/remount/Android.bp\n  core/tests/overlaytests/remount/test-apps/Overlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibrary/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibraryOverlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/Target/Android.bp\n  core/tests/packagemanagertests/Android.bp\n  core/tests/privacytests/Android.bp\n  core/tests/screenshothelpertests/Android.bp\n  core/tests/systemproperties/Android.bp\n  core/tests/utillib/Android.bp\n  core/tests/utiltests/Android.bp\n  core/tests/utiltests/jni/Android.bp\n  core/tests/uwbtests/Android.bp\n  core/xsd/Android.bp\n  core/xsd/vts/Android.bp\n  data/etc/Android.bp\n  data/etc/car/Android.bp\n  data/fonts/Android.bp\n  data/keyboards/Android.mk\n  drm/jni/Android.bp\n  errorprone/Android.bp\n  graphics/proto/Android.bp\n  keystore/Android.bp\n  keystore/tests/Android.bp\n  libs/WindowManager/Jetpack/Android.bp\n  libs/WindowManager/Shell/Android.bp\n  libs/WindowManager/Shell/tests/Android.bp\n  libs/androidfw/Android.bp\n  libs/androidfw/fuzz/resourcefile_fuzzer/Android.bp\n  libs/hostgraphics/Android.bp\n  libs/incident/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/protoutil/Android.bp\n  libs/services/Android.bp\n  libs/storage/Android.bp\n  libs/usb/tests/AccessoryChat/Android.bp\n  libs/usb/tests/AccessoryChat/accessorychat/Android.bp\n  location/lib/Android.bp\n  location/tests/Android.bp\n  location/tests/locationtests/Android.bp\n  lowpan/tests/Android.bp\n  media/Android.bp\n  media/java/Android.bp\n  media/java/android/media/tv/tunerresourcemanager/Android.bp\n  media/jni/Android.bp\n  media/jni/audioeffect/Android.bp\n  media/jni/soundpool/Android.bp\n  media/jni/soundpool/tests/Android.bp\n  media/lib/remotedisplay/Android.bp\n  media/lib/signer/Android.bp\n  media/lib/tvremote/Android.bp\n  media/lib/tvremote/tests/Android.bp\n  media/mca/filterfw/Android.bp\n  media/mca/filterfw/native/Android.bp\n  media/mca/filterpacks/Android.bp\n  media/mca/samples/CameraEffectsRecordingSample/Android.bp\n  media/mca/tests/Android.bp\n  media/native/midi/Android.bp\n  media/packages/BluetoothMidiService/Android.bp\n  media/packages/BluetoothMidiService/tests/unit/Android.bp\n  media/tests/AudioPolicyTest/Android.bp\n  media/tests/CameraBrowser/Android.bp\n  media/tests/EffectsTest/Android.bp\n  media/tests/MediaDump/Android.bp\n  media/tests/MediaFrameworkTest/Android.bp\n  media/tests/MediaRouter/Android.bp\n  media/tests/MtpTests/Android.bp\n  media/tests/ScoAudioTest/Android.bp\n  media/tests/SoundPoolTest/Android.bp\n  media/tests/TunerTest/Android.bp\n  media/tests/audiotests/Android.bp\n  media/tests/players/Android.bp\n  mime/Android.bp\n  native/android/Android.bp\n  native/graphics/jni/Android.bp\n  native/webview/loader/Android.bp\n  nfc-extras/Android.bp\n  nfc-extras/tests/Android.bp\n  packages/AppPredictionLib/Android.bp\n  packages/BackupEncryption/Android.bp\n  packages/BackupEncryption/test/robolectric-integration/Android.bp\n  packages/BackupEncryption/test/robolectric/Android.bp\n  packages/BackupEncryption/test/unittest/Android.bp\n  packages/BackupRestoreConfirmation/Android.bp\n  packages/CarSystemUI/Android.bp\n  packages/CarrierDefaultApp/Android.bp\n  packages/CarrierDefaultApp/tests/unit/Android.bp\n  packages/CompanionDeviceManager/Android.bp\n  packages/Connectivity/framework/Android.bp\n  packages/Connectivity/service/Android.bp\n  packages/CtsShim/Android.bp\n  packages/CtsShim/build/Android.bp\n  packages/CtsShim/build/jni/Android.bp\n  packages/DynamicSystemInstallationService/Android.bp\n  packages/DynamicSystemInstallationService/tests/Android.bp\n  packages/EasterEgg/Android.bp\n  packages/EncryptedLocalTransport/Android.bp\n  packages/ExtShared/Android.bp\n  packages/ExternalStorageProvider/Android.bp\n  packages/ExternalStorageProvider/tests/Android.bp\n  packages/FakeOemFeatures/Android.bp\n  packages/FusedLocation/Android.bp\n  packages/InputDevices/Android.bp\n  packages/LocalTransport/Android.bp\n  packages/PackageInstaller/Android.bp\n  packages/PrintRecommendationService/Android.bp\n  packages/PrintSpooler/Android.bp\n  packages/PrintSpooler/jni/Android.bp\n  packages/PrintSpooler/tests/outofprocess/Android.bp\n  packages/SettingsLib/ActionBarShadow/Android.bp\n  packages/SettingsLib/ActionButtonsPreference/Android.bp\n  packages/SettingsLib/AdaptiveIcon/Android.bp\n  packages/SettingsLib/Android.bp\n  packages/SettingsLib/AppPreference/Android.bp\n  packages/SettingsLib/BarChartPreference/Android.bp\n  packages/SettingsLib/DisplayDensityUtils/Android.bp\n  packages/SettingsLib/EntityHeaderWidgets/Android.bp\n  packages/SettingsLib/HelpUtils/Android.bp\n  packages/SettingsLib/LayoutPreference/Android.bp\n  packages/SettingsLib/ProgressBar/Android.bp\n  packages/SettingsLib/RadioButtonPreference/Android.bp\n  packages/SettingsLib/RestrictedLockUtils/Android.bp\n  packages/SettingsLib/SchedulesProvider/Android.bp\n  packages/SettingsLib/SearchProvider/Android.bp\n  packages/SettingsLib/SearchWidget/Android.bp\n  packages/SettingsLib/SettingsSpinner/Android.bp\n  packages/SettingsLib/SettingsTheme/Android.bp\n  packages/SettingsLib/Tile/Android.bp\n  packages/SettingsLib/Utils/Android.bp\n  packages/SettingsLib/search/Android.bp\n  packages/SettingsLib/tests/integ/Android.bp\n  packages/SettingsLib/tests/robotests/Android.bp\n  packages/SettingsProvider/Android.bp\n  packages/SharedStorageBackup/Android.bp\n  packages/Shell/Android.bp\n  packages/Shell/tests/Android.bp\n  packages/SimAppDialog/Android.bp\n  packages/SoundPicker/Android.bp\n  packages/StatementService/Android.bp\n  packages/SystemUI/Android.bp\n  packages/SystemUI/plugin/Android.bp\n  packages/SystemUI/plugin/ExamplePlugin/Android.bp\n  packages/SystemUI/plugin_core/Android.bp\n  packages/SystemUI/shared/Android.bp\n  packages/VpnDialogs/Android.bp\n  packages/WAPPushManager/Android.bp\n  packages/WAPPushManager/tests/Android.bp\n  packages/WallpaperBackup/Android.bp\n  packages/WallpaperCropper/Android.bp\n  packages/overlays/Android.mk\n  packages/overlays/tests/Android.bp\n  packages/services/PacProcessor/Android.bp\n  packages/services/PacProcessor/jni/Android.bp\n  packages/services/Proxy/Android.bp\n  proto/Android.bp\n  rs/jni/Android.mk\n  samples/demo/haptic-assessment/Android.bp\n  sax/tests/saxtests/Android.bp\n  services/Android.bp\n  services/accessibility/Android.bp\n  services/appprediction/Android.bp\n  services/appwidget/Android.bp\n  services/autofill/Android.bp\n  services/backup/Android.bp\n  services/backup/backuplib/Android.bp\n  services/companion/Android.bp\n  services/contentcapture/Android.bp\n  services/contentsuggestions/Android.bp\n  services/core/Android.bp\n  services/core/java/com/android/server/vcn/Android.bp\n  services/core/jni/Android.bp\n  services/core/xsd/Android.bp\n  services/core/xsd/vts/Android.bp\n  services/coverage/Android.bp\n  services/devicepolicy/Android.bp\n  services/incremental/Android.bp\n  services/midi/Android.bp\n  services/net/Android.bp\n  services/people/Android.bp\n  services/print/Android.bp\n  services/profcollect/Android.bp\n  services/restrictions/Android.bp\n  services/robotests/Android.bp\n  services/robotests/backup/Android.bp\n  services/systemcaptions/Android.bp\n  services/tests/PackageManagerComponentOverrideTests/Android.bp\n  services/tests/PackageManagerServiceTests/host/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/Android.bp\n  services/tests/mockingservicestests/Android.bp\n  services/tests/rescueparty/Android.bp\n  services/tests/servicestests/Android.bp\n  services/tests/servicestests/aidl/Android.bp\n  services/tests/servicestests/apks/Android.bp\n  services/tests/servicestests/apks/install-split-base/Android.bp\n  services/tests/servicestests/apks/install-split-feature-a/Android.bp\n  services/tests/servicestests/apks/install_intent_filters/Android.bp\n  services/tests/servicestests/apks/install_uses_sdk/Android.bp\n  services/tests/servicestests/test-apps/ConnTestApp/Android.bp\n  services/tests/servicestests/test-apps/JobTestApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParserApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp\n  services/tests/servicestests/test-apps/SimpleServiceTestApp/Android.bp\n  services/tests/servicestests/test-apps/SuspendTestApp/Android.bp\n  services/tests/shortcutmanagerutils/Android.bp\n  services/tests/uiservicestests/Android.bp\n  services/tests/wmtests/Android.bp\n  services/usage/Android.bp\n  services/usb/Android.bp\n  services/voiceinteraction/Android.bp\n  services/wifi/Android.bp\n  startop/apps/test/Android.bp\n  startop/iorap/Android.bp\n  startop/iorap/functional_tests/Android.bp\n  startop/iorap/stress/Android.bp\n  startop/iorap/tests/Android.bp\n  startop/view_compiler/Android.bp\n  startop/view_compiler/dex_builder_test/Android.bp\n  test-base/hiddenapi/Android.bp\n  test-mock/Android.bp\n  test-runner/tests/Android.bp\n  tests/AccessibilityEventsLogger/Android.bp\n  tests/AccessoryDisplay/common/Android.bp\n  tests/AccessoryDisplay/sink/Android.bp\n  tests/AccessoryDisplay/source/Android.bp\n  tests/ActivityManagerPerfTests/stub-app/Android.bp\n  tests/ActivityManagerPerfTests/test-app/Android.bp\n  tests/ActivityManagerPerfTests/tests/Android.bp\n  tests/ActivityManagerPerfTests/utils/Android.bp\n  tests/ActivityTests/Android.bp\n  tests/ActivityViewTest/Android.bp\n  tests/AmSlam/Android.bp\n  tests/ApkVerityTest/Android.bp\n  tests/ApkVerityTest/ApkVerityTestApp/Android.bp\n  tests/ApkVerityTest/block_device_writer/Android.bp\n  tests/AppLaunch/Android.bp\n  tests/AppLaunchWear/Android.bp\n  tests/AppResourcesLoaders/Android.bp\n  tests/AppResourcesLoaders/Overlay/Android.bp\n  tests/Assist/Android.bp\n  tests/AutoVerify/app1/Android.bp\n  tests/AutoVerify/app2/Android.bp\n  tests/AutoVerify/app3/Android.bp\n  tests/AutoVerify/app4/Android.bp\n  tests/BackgroundDexOptServiceIntegrationTests/Android.bp\n  tests/BandwidthTests/Android.bp\n  tests/BatteryWaster/Android.bp\n  tests/BiDiTests/Android.bp\n  tests/BlobStoreTestUtils/Android.bp\n  tests/BootImageProfileTest/Android.bp\n  tests/BrowserPowerTest/Android.bp\n  tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp\n  tests/CameraPrewarmTest/Android.bp\n  tests/Codegen/Android.bp\n  tests/Compatibility/Android.bp\n  tests/CoreTests/android/Android.bp\n  tests/DataIdleTest/Android.bp\n  tests/DozeTest/Android.bp\n  tests/DpiTest/Android.bp\n  tests/DynamicCodeLoggerIntegrationTests/Android.mk\n  tests/FeatureSplit/base/Android.bp\n  tests/FeatureSplit/feature1/Android.bp\n  tests/FeatureSplit/feature2/Android.bp\n  tests/FixVibrateSetting/Android.bp\n  tests/FlickerTests/Android.bp\n  tests/FlickerTests/test-apps/Android.bp\n  tests/FlickerTests/test-apps/flickerapp/Android.bp\n  tests/FrameworkPerf/Android.bp\n  tests/GamePerformance/Android.bp\n  tests/GridLayoutTest/Android.bp\n  tests/HierarchyViewerTest/Android.bp\n  tests/HugeBackup/Android.bp\n  tests/HwAccelerationTest/Android.bp\n  tests/Internal/Android.bp\n  tests/JankBench/Android.bp\n  tests/JobSchedulerPerfTests/Android.bp\n  tests/JobSchedulerTestApp/Android.bp\n  tests/LargeAssetTest/Android.bp\n  tests/LegacyAssistant/Android.bp\n  tests/LocalizationTest/Android.bp\n  tests/LocationTracker/Android.bp\n  tests/LotsOfApps/Android.bp\n  tests/LowStorageTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/app/DummyDPC/Android.bp\n  tests/MemoryUsage/Android.bp\n  tests/MirrorSurfaceTest/Android.bp\n  tests/NativeProcessesMemoryTest/Android.bp\n  tests/NetworkSecurityConfigTest/Android.bp\n  tests/NullHomeTest/Android.bp\n  tests/OdmApps/Android.bp\n  tests/OdmApps/app/Android.bp\n  tests/OdmApps/priv-app/Android.bp\n  tests/OneMedia/Android.bp\n  tests/PackageWatchdog/Android.bp\n  tests/PlatformCompatGating/Android.bp\n  tests/PlatformCompatGating/test-rules/Android.bp\n  tests/ProtoInputStreamTests/Android.bp\n  tests/RemoteDisplayProvider/Android.bp\n  tests/RenderThreadTest/Android.bp\n  tests/RollbackTest/Android.bp\n  tests/SerialChat/Android.bp\n  tests/ServiceCrashTest/Android.bp\n  tests/SharedLibrary/client/Android.bp\n  tests/SharedLibrary/lib/Android.bp\n  tests/ShowWhenLockedApp/Android.bp\n  tests/SmokeTest/Android.bp\n  tests/SmokeTest/tests/Android.bp\n  tests/SmokeTestApps/Android.bp\n  tests/SoundTriggerTestApp/Android.bp\n  tests/Split/Android.bp\n  tests/StagedInstallTest/Android.bp\n  tests/StatusBar/Android.bp\n  tests/SurfaceComposition/Android.bp\n  tests/SurfaceControlViewHostTest/Android.bp\n  tests/SystemMemoryTest/device/Android.bp\n  tests/SystemMemoryTest/host/Android.bp\n  tests/SystemUIDemoModeController/Android.bp\n  tests/TaskOrganizerTest/Android.bp\n  tests/TelephonyCommonTests/Android.bp\n  tests/TouchLatency/Android.bp\n  tests/TransformTest/Android.bp\n  tests/TtsTests/Android.bp\n  tests/UiBench/Android.bp\n  tests/UsageReportingTest/Android.bp\n  tests/UsageStatsPerfTests/Android.bp\n  tests/UsageStatsTest/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp\n  tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp\n  tests/UsbManagerTests/Android.bp\n  tests/UsbManagerTests/lib/Android.bp\n  tests/UsbTests/Android.bp\n  tests/UsesFeature2Test/Android.bp\n  tests/VectorDrawableTest/Android.bp\n  tests/VoiceEnrollment/Android.bp\n  tests/VoiceInteraction/Android.bp\n  tests/WallpaperTest/Android.bp\n  tests/WindowAnimationJank/Android.bp\n  tests/WindowInsetsTests/Android.bp\n  tests/appwidgets/AppWidgetHostTest/Android.bp\n  tests/appwidgets/AppWidgetProviderTest/Android.bp\n  tests/backup/Android.mk\n  tests/benchmarks/Android.bp\n  tests/libs-permissions/Android.bp\n  tests/net/Android.bp\n  tests/net/common/Android.bp\n  tests/net/deflake/Android.bp\n  tests/net/integration/Android.bp\n  tests/net/jni/Android.bp\n  tests/net/smoketest/Android.bp\n  tests/notification/Android.bp\n  tests/permission/Android.bp\n  tests/privapp-permissions/Android.bp\n  tests/testables/Android.bp\n  tests/testables/tests/Android.bp\n  tests/utils/StubIME/Android.bp\n  tests/utils/hostutils/Android.bp\n  tests/utils/testutils/Android.bp\n  tests/vcn/Android.bp\n  tools/aapt/Android.bp\n  tools/aapt2/Android.bp\n  tools/aapt2/integration-tests/AutoVersionTest/Android.bp\n  tools/aapt2/integration-tests/BasicTest/Android.bp\n  tools/aapt2/integration-tests/MergeOnlyTest/LeafLib/Android.mk\n  tools/aapt2/integration-tests/MergeOnlyTest/LocalLib/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibOne/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibTwo/Android.mk\n  tools/aapt2/integration-tests/StaticLibTest/App/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibOne/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibTwo/Android.bp\n  tools/aapt2/integration-tests/SymlinkTest/Android.bp\n  tools/bit/Android.bp\n  tools/codegen/Android.bp\n  tools/dump-coverage/Android.bp\n  tools/incident_report/Android.bp\n  tools/incident_section_gen/Android.bp\n  tools/lock_agent/Android.bp\n  tools/locked_region_code_injection/Android.bp\n  tools/obbtool/Android.bp\n  tools/powermodel/Android.bp\n  tools/preload-check/Android.bp\n  tools/preload-check/device/Android.bp\n  tools/preload/loadclass/Android.bp\n  tools/processors/staledataclass/Android.bp\n  tools/processors/view_inspector/Android.bp\n  tools/protologtool/Android.bp\n  tools/sdkparcelables/Android.bp\n  tools/split-select/Android.bp\n  tools/streaming_proto/Android.bp\n  tools/validatekeymaps/Android.bp\n  wifi/java/Android.bp\n  wifi/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  libs/hwui/Android.bp\n  native/webview/plat_support/Android.bp\n  obex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-CC-BY SPDX-license-identifier-CPL-1.0\n    SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    SPDX-license-identifier-W3C legacy_unencumbered\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_unencumbered\nto:\n  core/java/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-CPL-1.0\nto:\n  test-base/Android.bp\n  test-runner/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL\nto:\n  core/res/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\nto:\n  libs/usb/Android.bp\n  libs/usb/tests/accessorytest/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  tools/preload/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  api/Android.bp\n  boot/Android.bp\n  cmds/device_config/Android.bp\n  cmds/settings/Android.bp\n  core/api/Android.bp\n  core/tests/coretests/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlaid_apex/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlay_apex/Android.bp\n  libs/tracingproxy/Android.bp\n  services/startop/Android.bp\n  test-legacy/Android.mk\n  tests/ApkVerityTest/testdata/Android.bp\n  tests/TransitionTests/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: Ic44d662936d1ff0cae7fbe915932b37aa4e4869a\nMerged-in: I6e9103c3275cb2e6df5dc586588eccd7d2ab6b06\n"
    },
    {
      "commit": "2ed8bfa7fda3c42280e0816c6cf1af852981723b",
      "tree": "4fbe3151d2a0094f9bb97b8714a4afa9be2ed094",
      "parents": [
        "5c8ba79373ef7a950f6bfb87e7aa694f29ace243"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 08 13:34:28 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Feb 09 20:13:50 2021 -0800"
      },
      "message": "Add fabricated RRO generation to libidmap2\n\nFabricated Runtime Resource Overlays are overlays that are generated\nat runtime and are stored in the data/ partition.\n\nThe system can fabricate RROs at runtime to dynamically theme the\ndevice. Idmaps can now be created from APK RROs and fabricated RROs.\n\nRather than operating on ApkAssets, libidmap2 now operates on abstract\nresource \"containers\" that supply resource values. Target resource\ncontainers implement methods needed to query overlayable and target\noverlay information. Currently only APKs can be loaded as target\nresource containers. Overlay resource containers implement methods to\nsupply the mapping of target resource to overlay value and other\noverlay information.\n\nThe format of a fabricated RRO is as follows:\n0x00 - 0x04 : fabricated overlay magic (always FRRO)\n0x04 - 0x08 : file format version\n0x08 - 0x0c : crc of version + proto data\n0x0c - EOF  : proto fabricated overlay data\n\nThe magic is used to quickly detect if the file is a fabricated overlay.\nThe version is incremented whenever backwards incompatible changes are\nmade to the proto file format. Idmap must always be able to upgrade\nfabricated overlays from previous versions to new versions, so all\nprevious versions must be checked into the tree.\n\nBug: 172471315\nTest: libidmap2_tests \u0026\u0026 libandroidfw_tests\nChange-Id: I4c9f29da278672e5695fb57d131a44c11a835180\n"
    },
    {
      "commit": "1a48fa659bd877712dee5611524f903fd22aaae8",
      "tree": "44d35bcc4ff6a60128cbe3d3be72be133220a3d3",
      "parents": [
        "8155ef9ea1f6b9082b4c65ed7f78bb33185c5838"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Sun Jan 10 08:36:36 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 03 10:38:24 2021 -0800"
      },
      "message": "Dependency injection of AssetProviders into ApkAssets\n\nCreates ApkAssets creation methods that allow an AssetsProvider to be\nspecified.\n\nDuring idmap verification and creation, idmap2 currently opens the\ntarget package and overlay package several times:\n1) When the crc of the package is calculated in idmap2 verify\n2) When the manifest of an overlay is parsed\n3) When an ApkAssets is opened.\n\nOpening large zip files (like framework-res.apk) is slow. If we opened\nthe zip one time as an ApkAssets, the resources.arsc would have to be\nparsed (which means mmaping/unmapping and touching a lot of\nresources.arsc pages). This would cause idmap2 to preform unnecessary\nwork just to check the crc of some files.\n\nThis change allows a ZipAssetsProvider to be created and then moved\nfor the creation of an ApkAssets. The zip file only needs to be opened\nonce and the resources.arsc is not parsed until reading resources is\nactually necessary.\n\nBug: 172471315\nTest: libandroidfw_tests\nTest: CtsResourcesLoaderTests\nChange-Id: I940bb2c13844c7f028776a623a9ecef45a4813bf\n"
    },
    {
      "commit": "8c080c527e715af59d806634436ed07318193e61",
      "tree": "f3873024902431f1e5987e5450ade8f8cfcea229",
      "parents": [
        "bca24bb721ab2081f0f21ece45284923d5383c7f",
        "b45ba7742fec37bc21f1555d83824b4906d7d2ad"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Jan 22 20:08:26 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 22 20:08:26 2021 +0000"
      },
      "message": "Merge \"androidfw: use a vector instead of manually managing memory\" am: 972a78726b am: 490a13d53b am: b45ba7742f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1555550\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I4999c11ba9ee999777497136da754b7b56ed0b43\n"
    },
    {
      "commit": "972a78726b1a5584dbbd3364bee2fa89bf705dee",
      "tree": "0f2fef7f84d435c904d780176d506f66c2a3d2a1",
      "parents": [
        "59035bd8c7b3a5316688f6988db6681c056f895d",
        "3c97e6a7d95653d81a00cc1f2274270fc577ec0d"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Jan 22 18:20:58 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 22 18:20:58 2021 +0000"
      },
      "message": "Merge \"androidfw: use a vector instead of manually managing memory\""
    },
    {
      "commit": "1c2e2f76ad0cbb194f823f394567842bfe65bb20",
      "tree": "0eb682fc1bc7ed71aa7b70bce22b36fb73581a2b",
      "parents": [
        "3098553de0dfaeab672b49d0640b7cfed1cbf6b4",
        "e10a7b99104efd2c5cd73fe21eb6b269c98299b9"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri Jan 22 16:43:05 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 22 16:43:05 2021 +0000"
      },
      "message": "Merge changes from topic \"icu68\" am: e17a139088 am: 714b3ec814 am: e10a7b9910\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1558548\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I95bcc68ca268b23524cf327fb2efa6f54df232df\n"
    },
    {
      "commit": "20d3aea8f7a32f26330f0911be7813f527a3eb2c",
      "tree": "c1160122e9bd6ebfd6142cb32bd147165f5bbf2f",
      "parents": [
        "f1d5754c103fb6fb3e31984cd50b242a45d9ca72"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Jan 21 22:42:24 2021 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Jan 21 22:42:24 2021 +0000"
      },
      "message": "Regenerate LocaleDataTables.cpp due to ICU 68 upgrade\n\nThe command:\n./tools/localedata/extract_icu_data.py $ANDROID_BUILD_TOP \u003e libs/androidfw/LocaleDataTables.cpp\n\nBug: 160356314\nTest: m droid\nChange-Id: I09c8d7e8b46255941168378c854d169d2e038508\n"
    },
    {
      "commit": "3c97e6a7d95653d81a00cc1f2274270fc577ec0d",
      "tree": "47cb2a3537dd52737620ccabb1d0ea07badce960",
      "parents": [
        "0f4112a7608d5773e0eeb9bf072b184615e4da08"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jan 20 17:24:45 2021 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jan 20 17:27:08 2021 -0800"
      },
      "message": "androidfw: use a vector instead of manually managing memory\n\nThe static analyzer caught a memory leak in this code:\n\n\u003e frameworks/base/libs/androidfw/ResourceTypes.cpp:1042:45: warning:\nPotential leak of memory pointed to by \u0027convBuffer\u0027\n[clang-analyzer-unix.Malloc]\n\nWe can use a `std::vector` to hold our fixed-size, heap-allocated array.\nThis will manage its own buffer for us.\n\nBug: None\nTest: TreeHugger\nChange-Id: Ib83bdbc0bc60304747676e924f2ff549840aa861\n"
    },
    {
      "commit": "8d845b02c9712a8fa1b5abd563a0dee7e521e513",
      "tree": "8e5eb364d0fd1d25f095fa6274965288ebf44525",
      "parents": [
        "41903dfea1cd83fdc3bf452c6fed6dddce04412b",
        "14e8ade9a91ea48cb65b3e14954e13a396e1a94d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 14 07:20:17 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 14 07:20:17 2021 +0000"
      },
      "message": "Merge \"Optimize FilterApkAssets by caching config\""
    },
    {
      "commit": "14e8ade9a91ea48cb65b3e14954e13a396e1a94d",
      "tree": "adbf03b67a1b60910948fa4fdc10726344eaf1ae",
      "parents": [
        "fb4d09cadd27a3fb1a2e268417f0f511aa92e344"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jan 11 16:01:35 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 13 21:14:31 2021 -0800"
      },
      "message": "Optimize FilterApkAssets by caching config\n\nResTable_config of every ResTable_type is read from device every time\nAssetManager::RebuildFilterList is invoked. For large APKs (like\nframework-res.apk), this causes a large number of page faults\nwhen accessing the config from disk. The configs are also used in the\nslow path of AssetManager::FindEntryInternal, which makes it even\nslower. Instead cache the config on the TypeSpec of its ApkAsset.\n\nBug: 177247024\nTest: libandroidfw_tests\nChange-Id: I66d507c4eeb2399f7558f3d9dfc53c157129ada0\n"
    },
    {
      "commit": "d76702e2b94d1e96956dd2068080731caa24483f",
      "tree": "e5d002485ed0a152027f150c23d8e444dfd87024",
      "parents": [
        "e795f5ed44395536eb5775843ac64b2cc65cf54b",
        "831b072936faadb8c3535c613669fd454454f4f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 14 00:45:25 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 14 00:45:25 2021 +0000"
      },
      "message": "Merge \"Add idmap completely parsed assertion\""
    },
    {
      "commit": "831b072936faadb8c3535c613669fd454454f4f2",
      "tree": "f2fa13d40bbeb7681a9b2b3a37ccd4f027150ac9",
      "parents": [
        "fb4d09cadd27a3fb1a2e268417f0f511aa92e344"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 13 10:11:18 2021 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 13 10:11:18 2021 -0800"
      },
      "message": "Add idmap completely parsed assertion\n\nIf LoadedIdmap::Load finishes parsing the idmap file but has not\nparsed the entire file, then it parsed the file incorrectly. Log\nan error if the idmap fails to parse.\n\nBug: 174676094\nTest: libandroidfw_tests\nChange-Id: I8ae7ed525715ab907d5813975c1ef5d1260bbd33\n"
    },
    {
      "commit": "5da264a62723ef80a230dc551fee2a0f01ceef0b",
      "tree": "4435043199e85fcedd890f52310a64f0c305ecc4",
      "parents": [
        "2ff321e6a216ace008983152b7c25b35b1e70cdf",
        "1044702c35a226f33341f6bdeb47644f71f6c45f"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Jan 11 11:03:44 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 11 11:03:44 2021 +0000"
      },
      "message": "Merge \"Add SQLite to libandroid_runtime for linux host\""
    },
    {
      "commit": "30dc2e01714a50e3816efa3bd347d1bf783fa0a5",
      "tree": "eb97cf1c5b8be1bdb9c48885e4b5eb44560067c4",
      "parents": [
        "0699f1de6a684644b2debf82d55dfbcbc9387679"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Dec 02 11:43:18 2020 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 06 16:19:53 2021 -0800"
      },
      "message": "Accept --overlay-name flag in idmap2\n\nTo support allowing for multiple \u003coverlay\u003e tags in one package, idmap2\nmust be able to generate an idmap for an individual \u003coverlay\u003e tag.\n\n`idmap2 create` now accepts a --overlay-name flag that specifies which\ntag to use to generate the idmap. The value of --overlay-name should be\nset to the value of the android:name attribute on the \u003coverlay\u003e tag to\nuse.\n\nIf the flag is not present, idmap2 will look for an \u003coverlay\u003e tag with\nno value for android:name.\n\nBug: 162841629\nTest: libandroidfw_tests\nTest: libidmap2_tests\nChange-Id: I02316d0b88773f02c04a5d462be9825016fa496d\n"
    },
    {
      "commit": "0699f1de6a684644b2debf82d55dfbcbc9387679",
      "tree": "916a23f66e2121c3de601af478187e52687de57f",
      "parents": [
        "7e8ae00d9c855d15d6bdddcadd0a5563bb4e0b64"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Dec 03 15:41:42 2020 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 06 16:19:50 2021 -0800"
      },
      "message": "Remove idmap path 256 length limit\n\nOverlay and target package paths can be longer than 256 characters.\nCurrently, the idmap will fail to be generated if either path\nis longer than 256 characters.\n\nThis change removes the 256 character limit and makes parsing variable\nlength strings easier in libandroidfw.\n\nBug: 174676094\nTest: idmap2_tests \u0026\u0026 libandroidfw_tests\nChange-Id: Ic240cdb8700566b2ac2ade08da58bea852e4ae0c\n"
    },
    {
      "commit": "fbb7fe0da32896a871dd395845f1f510b075f8d5",
      "tree": "6c236fb18f7724a25b4c5f836648df3d56b851eb",
      "parents": [
        "81860198d2c51d07aea9f697ab01ebf215610160",
        "f454301ae66fd7dcdba4017c6a6a71253a108dd8"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Tue Dec 22 07:02:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 22 07:02:53 2020 +0000"
      },
      "message": "Merge \"Add explicit Result::ok() checks where needed\" am: c08d3ef8a8 am: ae613dd6c4 am: f454301ae6\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532909\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I22f3e4f97d523bd09b898ebdf4de18114cb4c34f\n"
    },
    {
      "commit": "58cf8e3ffa23752f4e8e38cab4d89f9b44f9e57a",
      "tree": "3cc4048865054e95a9bf72a5a50fe19c8e849c29",
      "parents": [
        "96db3dad2a4a1c4f1622a2b268b347cda0e808db"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sat Dec 19 15:31:52 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Dec 21 15:50:57 2020 +0000"
      },
      "message": "Add explicit Result::ok() checks where needed\n\nTest: m checkbuild continuous_instrumentation_tests continuous_instrumentation_tests_api_coverage continuous_native_tests device-tests platform_tests\nExempt-From-Owner-Approval: mechanical mass refactoring\nChange-Id: I3117833c51cdb333cccdfd159d1582f2adef77db\n"
    },
    {
      "commit": "a45506e6f6619f59ce1ae94b20ad377b86966be0",
      "tree": "377104fd9714aabca65cbb343971fd2cda1d00a8",
      "parents": [
        "e7ab62723ac8bc1c95405353e7f625956b1dfbe3"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 08 16:59:06 2020 +0000"
      },
      "message": "Revert^2 \"Cache resolved theme values\"\n\n6ca48473e533a8b89abac6294a0bb8130b8c8c89\n\nChange-Id: Icb295186b85e1edcdcebc1d746f7ff0d6ef66829\nMerged-In: Icb295186b85e1edcdcebc1d746f7ff0d6ef66829\n"
    },
    {
      "commit": "e7ab62723ac8bc1c95405353e7f625956b1dfbe3",
      "tree": "40082bf854ba078e9a94ec486a5ba82bb9a77d94",
      "parents": [
        "80094e39f90801c44cd80ab0f98df505828ea1f3"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 18:06:15 2020 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 08 16:58:42 2020 +0000"
      },
      "message": "Set resource id correctly when resolve fails\n\nIf for some reason the resource id cannot be resolved to a value\n(there is no configuration that matches the AssetManager configuration\nor some error occurs), set the resource id of the SelectedValue to the\nresource id that could not be resolved. This was the behavior before\nthe AssetManager IncFs hardening refactor.\n\nBug: 173203252\nTest: atest com.google.android.config.pts.PreinstalledAppsTestCase\nTest: Chrome icon appears on launcher\nChange-Id: Iad1760c0e246da1a4bf64d1c2ec60bb08da32d06\nMerged-In: Iad1760c0e246da1a4bf64d1c2ec60bb08da32d06\n"
    },
    {
      "commit": "80094e39f90801c44cd80ab0f98df505828ea1f3",
      "tree": "e70d5241691a509ce9cf774dc39ce85932fdd1d2",
      "parents": [
        "ec7e7f5622e3444a3003db20ddfd8f5745971fa7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 08 16:58:12 2020 +0000"
      },
      "message": "Revert^2 \"libandroidfw hardening for IncFs\"\n\n55ef6167a2c235bd88c7216238b2001b46795b79\n\nChange-Id: I02d4890d181655dfd0a14c188468db512559d27b\nMerged-In: I02d4890d181655dfd0a14c188468db512559d27b\n"
    },
    {
      "commit": "f2fd0cacad7a754b20aef1a917771d4962e83e28",
      "tree": "f14cc71770e13b469b9a92eee245813415f62505",
      "parents": [
        "b5cd4cc2d96390eaeb509051010b02bfb55ad7d5"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 20 20:28:56 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 20 20:28:56 2020 +0000"
      },
      "message": "Revert^3 \"Do not cache bag parent stack until requested\"\n\nThis reverts commit b5cd4cc2d96390eaeb509051010b02bfb55ad7d5.\n\nReason for revert: b/173742005\n\nChange-Id: I4bc71de39269f2f37101f94bf0c3b3a5158e7e9d\n"
    },
    {
      "commit": "b5cd4cc2d96390eaeb509051010b02bfb55ad7d5",
      "tree": "f9e7bb9625d3cb0e0e958114ee71a16779b9dc3c",
      "parents": [
        "016f9e65e4d8de58ff07b067a3c0328fda9ee5be"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 17 23:02:22 2020 +0000"
      },
      "message": "Revert^2 \"Do not cache bag parent stack until requested\"\n\n06a7331b84ceb4b39d39e4af187d1f988475893a\n\nChange-Id: Ib1db7cafd40408af248c9cda0c2ffaec065ef606\n"
    },
    {
      "commit": "016f9e65e4d8de58ff07b067a3c0328fda9ee5be",
      "tree": "f14cc71770e13b469b9a92eee245813415f62505",
      "parents": [
        "43d2f21d628504de69a5cb75e0f837169c029899"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 17 23:02:10 2020 +0000"
      },
      "message": "Revert^2 \"Cache resolved theme values\"\n\n6ca48473e533a8b89abac6294a0bb8130b8c8c89\n\nChange-Id: Icb295186b85e1edcdcebc1d746f7ff0d6ef66829\n"
    },
    {
      "commit": "43d2f21d628504de69a5cb75e0f837169c029899",
      "tree": "beac6fe514645dbfe8a20f019071c24bb46329bc",
      "parents": [
        "db21f09a8e02bcfd3fefea68084667688268f1fa"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 18:06:15 2020 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 17 23:02:00 2020 +0000"
      },
      "message": "Set resource id correctly when resolve fails\n\nIf for some reason the resource id cannot be resolved to a value\n(there is no configuration that matches the AssetManager configuration\nor some error occurs), set the resource id of the SelectedValue to the\nresource id that could not be resolved. This was the behavior before\nthe AssetManager IncFs hardening refactor.\n\nBug: 173203252\nTest: atest com.google.android.config.pts.PreinstalledAppsTestCase\nTest: Chrome icon appears on launcher\nChange-Id: Iad1760c0e246da1a4bf64d1c2ec60bb08da32d06\n"
    },
    {
      "commit": "db21f09a8e02bcfd3fefea68084667688268f1fa",
      "tree": "c9b22a2676936eaf56ee1160c9349632ccd7ba44",
      "parents": [
        "687f5e163f24ff31f822f986fd7a99b8832b6286"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Nov 17 23:01:35 2020 +0000"
      },
      "message": "Revert^2 \"libandroidfw hardening for IncFs\"\n\n55ef6167a2c235bd88c7216238b2001b46795b79\n\nChange-Id: I02d4890d181655dfd0a14c188468db512559d27b\n"
    },
    {
      "commit": "0b27d157ddcb67ffaa99fdeb2257b31391d13d55",
      "tree": "00fbd70f6cf369991ebb32ec467d3fc717260753",
      "parents": [
        "162922a2556b41878c625a6f33f6efdbbf43e9f3",
        "518d35c01746dc634434bccaf00111da208a4e1c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Sun Nov 15 23:05:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun Nov 15 23:05:18 2020 +0000"
      },
      "message": "Merge \"Fix DominatorTree for locale and mcc/mnc config\" am: 8f2f4e14de am: caff40cad3 am: c9acec6545 am: 518d35c017\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1481918\n\nChange-Id: I78ffd81962fdfba38c46590e8b6ae76c582ab77b\n"
    },
    {
      "commit": "8f2f4e14deb73eee88094a40091c1cbaf2952d26",
      "tree": "cdab2fb44da8a1b01d172b8165ba044080389511",
      "parents": [
        "ba6f39518816a8e0060bfa90b9b7cb0472613e7d",
        "527ebbaa55f42e90a05f12f0154294d2e9d16903"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Sun Nov 15 21:41:24 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 15 21:41:24 2020 +0000"
      },
      "message": "Merge \"Fix DominatorTree for locale and mcc/mnc config\""
    },
    {
      "commit": "18a3a6644df14e1b87aa231ceed779ed32c2c229",
      "tree": "4ee79bdbcb837322b48f73c27868d26aef50d303",
      "parents": [
        "f766eaccaaadfb1db12ac685367c20ffff8fa63e",
        "55ef6167a2c235bd88c7216238b2001b46795b79"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Sat Nov 14 03:22:09 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 14 03:22:09 2020 +0000"
      },
      "message": "Merge changes from topic \"revert-12787270-FYIHXORGZY\"\n\n* changes:\n  Revert \"libandroidfw hardening for IncFs\"\n  Revert \"Cache resolved theme values\"\n  Revert \"Do not cache bag parent stack until requested\"\n"
    },
    {
      "commit": "55ef6167a2c235bd88c7216238b2001b46795b79",
      "tree": "5a63ff5e6b8a0ade4ce5aa2c4d663d62a7d993d9",
      "parents": [
        "6ca48473e533a8b89abac6294a0bb8130b8c8c89"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "message": "Revert \"libandroidfw hardening for IncFs\"\n\nRevert \"Move map_ptr to incfs namspace\"\n\nRevert submission 12787270\n\nReason for revert: b/173250495\nReverted Changes:\nI5cd1bc8a2:libandroidfw hardening for IncFs\nIce5dbcfb2:Move map_ptr to incfs namspace\nI29ccdc8ed:Do not cache bag parent stack until requested\nI1e9e9acaa:Cache resolved theme values\n\nChange-Id: Ib90ef68339710086df41e9abe0833a542d03a74f\n"
    },
    {
      "commit": "6ca48473e533a8b89abac6294a0bb8130b8c8c89",
      "tree": "da96bc5ed4429763b2aec93021ec7d0340ce0b98",
      "parents": [
        "06a7331b84ceb4b39d39e4af187d1f988475893a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "message": "Revert \"Cache resolved theme values\"\n\nRevert \"Move map_ptr to incfs namspace\"\n\nRevert submission 12787270\n\nReason for revert: b/173250495\nReverted Changes:\nI5cd1bc8a2:libandroidfw hardening for IncFs\nIce5dbcfb2:Move map_ptr to incfs namspace\nI29ccdc8ed:Do not cache bag parent stack until requested\nI1e9e9acaa:Cache resolved theme values\n\nChange-Id: Ibec051c79dfd28783a57b9ae82ebd8cdbed82fce\n"
    },
    {
      "commit": "06a7331b84ceb4b39d39e4af187d1f988475893a",
      "tree": "c99f5e1e0f712e5fcf88c928b8ed03f96b067392",
      "parents": [
        "5602dc9374934a42964e0f57faa3c0aad43003e1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 23:55:20 2020 +0000"
      },
      "message": "Revert \"Do not cache bag parent stack until requested\"\n\nRevert \"Move map_ptr to incfs namspace\"\n\nRevert submission 12787270\n\nReason for revert: b/173250495\nReverted Changes:\nI5cd1bc8a2:libandroidfw hardening for IncFs\nIce5dbcfb2:Move map_ptr to incfs namspace\nI29ccdc8ed:Do not cache bag parent stack until requested\nI1e9e9acaa:Cache resolved theme values\n\nChange-Id: Ib06f254ca4ac6fdec1f9cf75e6fdab35c7d4fb32\n"
    },
    {
      "commit": "c234812e275368f47d798112e1de49a8aad99753",
      "tree": "2c029a88ba773fa77936dc89ccd4f6328e2ece07",
      "parents": [
        "8f8eaec80190bc4a35851b9efbef412dd63efb70",
        "5602dc9374934a42964e0f57faa3c0aad43003e1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Nov 13 00:05:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 13 00:05:40 2020 +0000"
      },
      "message": "Merge changes from topic \"libaw-hardening\"\n\n* changes:\n  Do not cache bag parent stack until requested\n  Cache resolved theme values\n  libandroidfw hardening for IncFs\n"
    },
    {
      "commit": "5602dc9374934a42964e0f57faa3c0aad43003e1",
      "tree": "e5db5029dd1583bca72a43c1a34f91473ca881a4",
      "parents": [
        "87e89546b66da6d5098b46ff9b868ef82a753932"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Oct 05 14:29:43 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Nov 12 08:13:48 2020 -0800"
      },
      "message": "Do not cache bag parent stack until requested\n\nBag parent stacks are used when inspecting/debugging layouts. Since\nthey are not needed at runtime when running applications normally,\ndo not cache bag the parent stack when calling AssetManager::GetBag.\n\nBug: none\nTest: libandroidfw_tests\nChange-Id: I29ccdc8ed30d4f2d11ee51ef58f6e459ca6c1f6a\n"
    },
    {
      "commit": "87e89546b66da6d5098b46ff9b868ef82a753932",
      "tree": "c99f5e1e0f712e5fcf88c928b8ed03f96b067392",
      "parents": [
        "c75c2e092218a7d77be39c89bfba7dd2b4823ac1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Oct 05 14:24:35 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Nov 12 08:13:48 2020 -0800"
      },
      "message": "Cache resolved theme values\n\nWhen calling Resources#obtainStyledAttributes, if a value for an\nattribute is supplied from the theme, and the value in the theme\nis a reference to a resource, the reference will be resolved using\nAssetManager2::ResolveReference each time the value from the theme\nis selected. This causes Resources#obtainStyledAttributes to do\nrepeated work every time the same attribute is supplied from the\ntheme in multiple invocations.\n\nCaching the result of ResolveReference reduces the cost of this\nrepeated work and reduces the amount of time needed to inflate views.\n\nBefore:\ncom.android.resources.perf (3 Tests)\n[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.748s)\n    youtube_ns_median: 95490747\n    youtube_ns_standardDeviation: 7282249\n    youtube_ns_mean: 98442515\n[2/3] com.android.resources.perf.PerfTest#maps: PASSED (10.862s)\n    maps_ns_standardDeviation: 4484213\n    maps_ns_mean: 87912988\n    maps_ns_median: 86325549\n[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.034s)\n    gmail_ns_median: 282175838\n    gmail_ns_standardDeviation: 6560876\n    gmail_ns_mean: 282869146\n\nAfter:\ncom.android.resources.perf (3 Tests)\n[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.245s)\n    youtube_ns_median: 92292347\n    youtube_ns_standardDeviation: 5899906\n    youtube_ns_mean: 93045239\n[2/3] com.android.resources.perf.PerfTest#maps: PASSED (10.583s)\n    maps_ns_standardDeviation: 7567929\n    maps_ns_mean: 81895979\n    maps_ns_median: 78647883\n[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (21.439s)\n    gmail_ns_median: 229185043\n    gmail_ns_standardDeviation: 8770133\n    gmail_ns_mean: 232561234\n\nThese tests were done on a Pixel 3 and with cpu settings configured by\nlibs/hwui/tests/scripts/prep_generic.sh:\n\n Locked CPUs 4,5,6,7 to 1459200 / 2803200 KHz\n Disabled CPUs 0,1,2,3\n\nBug: 170232288\nTest: atest ResourcesPerfWorkloads\nChange-Id: I1e9e9acaa40fa60475a0e55230e11243f5b69b39\n"
    },
    {
      "commit": "c75c2e092218a7d77be39c89bfba7dd2b4823ac1",
      "tree": "da96bc5ed4429763b2aec93021ec7d0340ce0b98",
      "parents": [
        "373d5d59f274a217537029ef0c5c4d4b8ebee002"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Aug 17 08:42:48 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Nov 12 08:13:44 2020 -0800"
      },
      "message": "libandroidfw hardening for IncFs\n\nMigrate libandroifw to using incfs::util::map_ptr to prevent processes\nfrom crashing when parsing the resources.arsc, parsing compiled xml,\nfiles, and retrieving resource values.\n\nThis change propagates incremental failures to the JNI level where they\nare raised as ResourcesNotFoundException.\n\nPerformance of ResourcesPerfWorkloads without change (time in\nnanoseconds):\n[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.883s)\n    youtube_ns_median: 93812805\n    youtube_ns_standardDeviation: 4387062\n    youtube_ns_mean: 94455597\n[2/3] com.android.resources.perf.PerfTest#maps: PASSED (11.265s)\n    maps_ns_standardDeviation: 2997543\n    maps_ns_mean: 83480371\n    maps_ns_median: 82210941\n[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.963s)\n    gmail_ns_median: 266141091\n    gmail_ns_standardDeviation: 3492043\n    gmail_ns_mean: 267472765\n\nWith change and verification forcibly enabled for all apks\n(including the framework-res.apk):\n[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.646s)\n    youtube_ns_median: 101999396\n    youtube_ns_standardDeviation: 4625782\n    youtube_ns_mean: 102631770\n[2/3] com.android.resources.perf.PerfTest#maps: PASSED (11.286s)\n    maps_ns_standardDeviation: 2692088\n    maps_ns_mean: 91326538\n    maps_ns_median: 90519884\n[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.694s)\n    gmail_ns_median: 290284442\n    gmail_ns_standardDeviation: 5764632\n    gmail_ns_mean: 291660464\n\nWith change and verification disabled:\n[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.748s)\n    youtube_ns_median: 95490747\n    youtube_ns_standardDeviation: 7282249\n    youtube_ns_mean: 98442515\n[2/3] com.android.resources.perf.PerfTest#maps: PASSED (10.862s)\n    maps_ns_standardDeviation: 4484213\n    maps_ns_mean: 87912988\n    maps_ns_median: 86325549\n[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.034s)\n    gmail_ns_median: 282175838\n    gmail_ns_standardDeviation: 6560876\n    gmail_ns_mean: 282869146\n\nThese tests were done on a Pixel 3 and with cpu settings configured by\nlibs/hwui/tests/scripts/prep_generic.sh:\n\n Locked CPUs 4,5,6,7 to 1459200 / 2803200 KHz\n Disabled CPUs 0,1,2,3\n\nBug: 160635104\nBug: 169423204\nTest: boot device \u0026\u0026 atest ResourcesPerfWorkloads\n\nChange-Id: I5cd1bc8a2257bffaba6ca4a1c96f4e6640106866\n"
    },
    {
      "commit": "527ebbaa55f42e90a05f12f0154294d2e9d16903",
      "tree": "9b05f2d5eb352d68a8ad93c7e1b017e8051b50d3",
      "parents": [
        "82cb76f90827c2925ae267f04f395a4e142f6a85"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Oct 30 12:32:47 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Nov 11 17:02:57 2020 +0000"
      },
      "message": "Fix DominatorTree for locale and mcc/mnc config\n\nDe-duping of configurations with locales was disabled previously since\nthere is not a good way to dedupe locales in a forwards compatible way\n(change SHA: e38567480be67ac83a8f8f090704bb0d49e2eed2).\n\nIn b/171892595, since every locale is a root in the dominator tree,\nconfigs that do not specify locale qualifiers are dominated by the\ndefault config and their values are checked for compatiblity with the\nlocale config values.\n\nb/171892595 took a while to detect because, this is only an issue at\nruntime when a resource has one config containing mnc/mcc without a\nlocale, one config containing a locale, and the values for the configs\ndiffer. This is because mcc/mnc is the only qualifier with a greater\nprecedence than locale.\n\nMake configurations with mcc/mnc and mcc unable to be dominated until\nlocale deduping is fixed.\n\nBug: 171892595\nBug: 62409213\nTest: aapt2-tests\nChange-Id: Ia0a5e5d7a1650d070f5f2fcaf9a8469a8c7dabe6\n"
    },
    {
      "commit": "de3a2bc7a0b884ca24d9fa8d33d3971c3bd19031",
      "tree": "35a74bc45b3343f7d5a7549417a572bbce5c5425",
      "parents": [
        "ff280720f6a32275fffc77ab26d3c6a6cb3cf3ce"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Wed Nov 04 08:59:06 2020 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Wed Nov 04 09:00:24 2020 -0800"
      },
      "message": "Disable cursorwindow_fuzzer mac build.\n\nIts libbinder dependency is not supported on mac.\n\nBug: 172023026\nTest: m -j libandroidfw_fuzzer_lib cursorwindow_fuzzer\nChange-Id: I94c23c7952db7dd278f24ccb239d63f3c76e7a8e\n"
    },
    {
      "commit": "1044702c35a226f33341f6bdeb47644f71f6c45f",
      "tree": "3e5592d8d4fe31f98d5fd144bdd809636a57a1d1",
      "parents": [
        "67dd9ce1301f431c4b4a213eabf028aba241c83c"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Nov 02 16:16:17 2020 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Nov 02 16:27:11 2020 +0000"
      },
      "message": "Add SQLite to libandroid_runtime for linux host\n\nThis allows the possibility to use it with Layoutlib/Helium.\n\nTest: lunch sdk \u0026\u0026 m libandroid_runtime\nChange-Id: I93b1ebec968566aeb9209da607ce8a80489ed060\n"
    },
    {
      "commit": "b2bbdaa42f5be34970aae63b37bd0a4272a035db",
      "tree": "6c035426742a28b28bb26247e555adf3b74ec73a",
      "parents": [
        "c0e3a096904519657bdf808a725e61848132a7f1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 20 13:19:04 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 20 13:19:06 2020 -0600"
      },
      "message": "Fixed CursorWindow signed math for x86 builds.\n\nAll tests for our recent CursorWindow changes have been passing for\nARM 64-bit builds, but they weren\u0027t executed against 32-bit x86\nbuilds until after merged.\n\nIt\u0027s not actually safe to use the \"off_t\" type, so we need to cast\nto \"int32_t\" when doing checks against possible-negative values,\nsuch as in allocRow().\n\nWe also add tests that verify negative rows/columns are identified\nas invalid positions, which requires that we check the resulting\npointer against both mSlotsEnd and mSlotsStart.\n\nBug: 169251528, 171276404, 171275409\nTest: atest libandroidfw_tests:CursorWindowTest\nTest: atest CtsDatabaseTestCases\nChange-Id: Iea5f7546850f691e183fbb6e6d0952cd02b00d0f\n"
    },
    {
      "commit": "9199bca1ef883228e01985176aa552fe7461ca56",
      "tree": "638b62d785f3d245b550d579d170b1343af9b94d",
      "parents": [
        "d2cf9013e615b6b4a3072f320448818c3db895a8",
        "256da5a361104276b01ad2834f9929bc8ed457f7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Oct 20 00:11:14 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 20 00:11:14 2020 +0000"
      },
      "message": "Merge changes from topic \"sep28r\"\n\n* changes:\n  Add fuzzer for rewritten CursorWindow.\n  Rewrite of CursorWindow internals.\n"
    },
    {
      "commit": "256da5a361104276b01ad2834f9929bc8ed457f7",
      "tree": "46f2d9b200fe5447417209539db5843075c0a5e8",
      "parents": [
        "ae2d88a65c69c27ea01478d5761fe385ac32a7f9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 13 09:40:52 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 19 16:07:16 2020 -0600"
      },
      "message": "Add fuzzer for rewritten CursorWindow.\n\nWe recently rewrote CursorWindow, so let\u0027s get a fuzzer wired up\nto see if it has any bugs.\n\nThis change creates a separate \"libandroidfw_fuzz\" library, since we\ncan\u0027t link to libbinder when building Windows host-side binaries;\nthe fuzzer doesn\u0027t need Window support.\n\nAnd fix our first vulnerability where getFieldSlot() could be\ntricked into reading out of bounds data.\n\nThe included corpus seed was generated using this example code:\n\n    CursorWindow* w \u003d nullptr;\n    CursorWindow::create(android::String8(\"test\"), 1 \u003c\u003c 21, \u0026w);\n    w-\u003esetNumColumns(3);\n\n    w-\u003eallocRow();\n    w-\u003eputLong(0,0,0xcafe);\n    w-\u003eputLong(0,1,0xcafe);\n    w-\u003eputLong(0,2,0xcafe);\n\n    // Row purposefully left empty\n    w-\u003eallocRow();\n\n    w-\u003eallocRow();\n    w-\u003eputNull(2,0);\n    w-\u003eputNull(2,1);\n    w-\u003eputNull(2,2);\n\n    w-\u003eallocRow();\n    w-\u003eputString(3,0,\"cafe\",5);\n    w-\u003eputString(3,1,\"cafe\",5);\n    w-\u003eputString(3,2,\"cafe\",5);\n\n    w-\u003eallocRow();\n    w-\u003eputDouble(4,0,3.14159f);\n    w-\u003eputDouble(4,1,3.14159f);\n    w-\u003eputDouble(4,2,3.14159f);\n\n    Parcel p;\n    w-\u003ewriteToParcel(\u0026p);\n\nBug: 169251528\nTest: atest libandroidfw_tests:CursorWindowTest\nTest: SANITIZE_HOST\u003daddress make ${FUZZER_NAME} \u0026\u0026 ${ANDROID_HOST_OUT}/fuzz/$(get_build_var HOST_ARCH)/${FUZZER_NAME}/${FUZZER_NAME}\nChange-Id: I405d377900943de0ad732d3f1a1a0970e17d5140\n"
    },
    {
      "commit": "ae2d88a65c69c27ea01478d5761fe385ac32a7f9",
      "tree": "0906540ba56207c44c12c67f07d62b91b0084260",
      "parents": [
        "38fa078f4e829df1ddbd79e36917434cfb7f8a80"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Sep 26 18:57:32 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 19 16:07:04 2020 -0600"
      },
      "message": "Rewrite of CursorWindow internals.\n\nThe original CursorWindow implementation was created in Android 1.0\nand has remained relatively unchanged since then.  Unfortunately that\ndesign results in very poor performance on large windows, since\nreading or writing each FieldSlot is O(row/100) to traverse through\na chain of RowSlotChunks.  It\u0027s also memory-inefficient due to how\nit allocates RowSlotChunks in 404 byte chunks, even when there\u0027s only\na single row to store.\n\nThis change is a complete redesign of the CursorWindow internals to\nuse a \"heap-and-stack\" style approach, where a \"heap\" of strings\nand blobs increment up from the bottom of the window while a \"stack\"\nof FieldSlots increment down from the top of the window.\n\nThe included benchmarks show the following improvements, ensuring\nno regressions for small windows, while offering very dramatic\nimprovements for larger windows:\n\n                Big cores      Little cores\n4x4 cursor      no regression  no regression\n1024x4 cursor   2.2x faster    2.0x faster\n16384x4 cursor  48.5x faster   24.4x faster\n\nDetailed unit testing is also included to ensure that the rewrite\nbehaves correctly.\n\nBug: 169251528\nTest: atest libandroidfw_tests\nTest: atest CtsDatabaseTestCases\nTest: atest FrameworksCoreTests:android.database\nTest: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little \u0026\u0026 atest libandroidfw_benchmarks\nTest: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little \u0026\u0026 atest CorePerfTests:android.database.CrossProcessCursorPerfTest\nChange-Id: I90dff31fd550130dae917a33e0e1fa684e15c107\n"
    },
    {
      "commit": "1673d15519220250a46203f5309709afa3a0f063",
      "tree": "be800f4da6820ce140b85cb528458a7ea0908d00",
      "parents": [
        "adcf5c6b46c0e996ee4f306443e1d41335f843ad",
        "c59b81c978ae4894a0bd39fa8762e3d222d59408"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 19 19:35:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 19 19:35:19 2020 +0000"
      },
      "message": "Merge changes I1d3e5e66,I86b869af,Iab4d3902,I645ee722 am: 72864d2930 am: 968582e45f am: cb2ebfc692 am: c59b81c978\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461087\n\nChange-Id: Ib58c1acbb9629a6654eb8e1666872974f0c75944\n"
    },
    {
      "commit": "bf1f45b071bd2fb28cbea7e7cea86cd2e4944a7c",
      "tree": "81521006b59c4e16a7b593f0fe123be5f2f54c0c",
      "parents": [
        "0f942f99cac4f5f61b40847d20ecb3a94c96c843"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Sep 29 17:22:52 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 14 14:52:52 2020 -0700"
      },
      "message": "Remove malloc/free for inline overlay values\n\nRemove malloc/free of android::ResTable_entry for inline overlay\nvalues.\n\nAdd `target_entry_inline` to the idmap format to encode inline overlay\nvalues separate from direct mapping of target resource to overlay\nresource. This reduces the number of bytes needed to represent a direct\nmapping of target resource to overlay resource from 9 bytes to 8 bytes\nper entry.\n\nFixed all idmap alignment issues that required the framework to use\n\"#pragma pack(push, 1)\" when loading idmaps.\n\nBug: 170341022\nTest: idmap2_tests and libandroidfw_tests\nChange-Id: Iab4d3902508f02773464724913e0ee966e3689e4\n"
    },
    {
      "commit": "0f942f99cac4f5f61b40847d20ecb3a94c96c843",
      "tree": "f68594004b3a5e8ea8999ff76b059fd1432dbda8",
      "parents": [
        "82cb76f90827c2925ae267f04f395a4e142f6a85"
      ],
      "author": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sony.com",
        "time": "Tue Jun 09 18:51:57 2020 +0200"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 14 14:52:46 2020 -0700"
      },
      "message": "OMS: Add config_signature policy handling\n\nAlongside SIGNATURE and ACTOR_SIGNATURE policies, add CONFIG_SIGNATURE\npolicy to overlayable that overlay fulfills if it is signed with the\nsame certificate as the reference package whose package name is\ndeclared in \u0027config-signature\u0027 tag of SystemConfig and is vetted by\nOMS that it\u0027s a system pre-installed package.\n\nBUG: 158726924\nTEST: regular aapt2, idmap2, OMS tests\n\nMerged-In: I645ee72271496008742886274be0d63a2985201b\nChange-Id: I645ee72271496008742886274be0d63a2985201b\n"
    },
    {
      "commit": "f250e4f3daca160a7759fbb0e549b26d2a551cf8",
      "tree": "39dc7aa1bdd83653469a9e56def3470a0422619a",
      "parents": [
        "b0424a353bc21259eb529faabab8d933e04ffb5d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 28 12:09:44 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 28 12:09:46 2020 -0600"
      },
      "message": "Fix off-by-one bounds checking bug.\n\nIt\u0027s reasonable for a zero-length field to have its start offset\nplaced exactly at on the edge of the underlying buffer; we\u0027ll catch\nany buffer overflows moments later when we verify the end offset\ncalculated from bufferSize.\n\nBug: 169547603\nTest: atest libandroidfw_tests\nTest: atest CtsDatabaseTestCases\nTest: atest FrameworksCoreTests:android.database\nChange-Id: I3d955f222343bd7ae63eaba7e367126dc136ecdf\n"
    },
    {
      "commit": "539fdff808a401831b15f3fc5dbb0d50453563e9",
      "tree": "fe31911c039933aa5da3e43dc2180797ad1dd704",
      "parents": [
        "7d34c94652aad4079132458df44ed7e02ade9e9b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 23 21:43:23 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 24 10:56:08 2020 -0600"
      },
      "message": "Improve performance of small CursorWindows.\n\nCurrently each CursorWindow allocates a 2MiB ashmem region to store\ndata, but this ends up being quite wasteful since the majority of\nwindows only end up storing a small handful of rows/columns.  In\naddition, creating and mmap\u0027ing these ashmem regions requires\nacquiring the mmap semaphore in the kernel, which can significantly\nimpact P95/P99 metrics when the system is under heavy load.\n\nTo mitigate the issues described above, this change adjusts\nCursorWindow to send small windows (under 16KiB in size) directly\ninline in Parcel responses without requiring an ashmem region.\n\nCursorWindows also offer to gracefully \"inflate\" themselves into an\nashmem region when filled with more than 16KiB of data.  This\nrequires some bugfixes around alloc() call sites to ensure that any\npointers are converted to offsets during a potential inflation.\n\nThe benchmarks referenced below show the following improvements\nafter this change is applied:\n\n* Small cursor (1 row): 36% performance improvement\n* Medium cursor (100 rows): no difference\n* Large cursor (10k rows): no difference\n\nBug: 169251528\nTest: atest CtsDatabaseTestCases\nTest: atest FrameworksCoreTests:android.database\nTest: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little \u0026\u0026 atest CorePerfTests:android.database.CrossProcessCursorPerfTest\nChange-Id: Ie0fd149299f9847bf59a39f2855ed201bca4cdf6\n"
    },
    {
      "commit": "db0a92a881e5d542528429849528e66ce29f6aa1",
      "tree": "7a2760e9313ba508c093c14770adb69a65b8744a",
      "parents": [
        "56da278127d8832ae292da3f76d78bf4a96031a9",
        "0a0bf365553c614a7ca1ab96a1aa71047fc48081"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 17 17:51:53 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 17 17:51:53 2020 +0000"
      },
      "message": "Merge \"Make configs differing only in density siblings\""
    },
    {
      "commit": "0a0bf365553c614a7ca1ab96a1aa71047fc48081",
      "tree": "22060764946404390d7f3c6937d84537f98234f9",
      "parents": [
        "4cb1ece9d1f0dfc61f15ad0e568748604846ccd3"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 14 13:11:22 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 17 08:18:27 2020 -0700"
      },
      "message": "Make configs differing only in density siblings\n\nConfigurations differing only in density value will match the same\ndevice configuration at runtime; therefore, they should be considered\nsibling configurations in the dominator tree.\n\nSo, given configurations A and B:\n1) If A has a density defined and B does not, A must never dominate B.\n2) If A and B both have densities defined, neither must dominate the\n   other.\n\nPrevious behavior:\n\u003cdefault\u003e\n  sw600dp-v13\n    sw600dp-hdpi-v13\n       sw800dp-hdpi-v13\n    sw800dp-xxhdpi-v13\n\nNew behavior:\n\u003cdefault\u003e\n  sw600dp-v13\n    sw600dp-hdpi-v13\n      sw800dp-hdpi-v13\n      sw800dp-xxhdpi-v13\n\nBug: 167944889\nTest: aapt2_tests\nMerged-In: Ie9fba4c4b74af2b3bbf8fc6432539a99f8647634\nChange-Id: Ie9fba4c4b74af2b3bbf8fc6432539a99f8647634\n"
    },
    {
      "commit": "7b7085cc54386a034ec528c3ba0c5be3652c47ca",
      "tree": "3f7527433b84351019a41821985336242fb45b92",
      "parents": [
        "3141524bb99b16809ae44806d46d50d8bdbbe146"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 14 13:11:22 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 14 13:23:47 2020 -0700"
      },
      "message": "Make configs differing only in density siblings\n\nConfigurations differing only in density value will match the same\ndevice configuration at runtime; therefore, they should be considered\nsibling configurations in the dominator tree.\n\nSo, given configurations A and B:\n1) If A has a density defined and B does not, A must never dominate B.\n2) If A and B both have densities defined, neither must dominate the\n   other.\n\nPrevious behavior:\n\u003cdefault\u003e\n  sw600dp-v13\n    sw600dp-hdpi-v13\n       sw800dp-hdpi-v13\n    sw800dp-xxhdpi-v13\n\nNew behavior:\n\u003cdefault\u003e\n  sw600dp-v13\n    sw600dp-hdpi-v13\n      sw800dp-hdpi-v13\n      sw800dp-xxhdpi-v13\n\nBug: 167944889\nTest: aapt2_tests\nChange-Id: Ie9fba4c4b74af2b3bbf8fc6432539a99f8647634\n"
    },
    {
      "commit": "628590d7ec80e10a3fc24b1c18a1afb55cca10a8",
      "tree": "4b1c3f52d86d7fb53afbe9e9438468588fa489f8",
      "parents": [
        "b11b8ec3aec8bb42f2c07e1c5ac7942da293baa8",
        "d2d3a20624d968199353ccf6ddbae6f3ac39c9af"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Aug 31 21:21:38 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Aug 31 21:21:38 2020 -0700"
      },
      "message": "Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)\n\nBug: 166295507\nMerged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27\nChange-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2\n"
    },
    {
      "commit": "61af6039e6b266b313207ebe8f1ca5d5ee927143",
      "tree": "ae43e9ab2745ddf4c797a6dab51f3d52651ea541",
      "parents": [
        "98c1d9f2cdb81ee3da94e5dcb6c2ed645ee3c710",
        "243c016b99bfc0639028ae05f69c872bd3731a59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 19 00:33:02 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 19 00:33:02 2020 +0000"
      },
      "message": "Merge \"Remove unused #include.\" am: c235669ec2 am: 7d741780c9 am: db764300eb am: f71ae332f9 am: 243c016b99\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1402794\n\nChange-Id: I261b79933d0c0856d39a59044afc62b61fae209b\n"
    },
    {
      "commit": "db764300ebf42726a41aad2bad46778384a6d9bf",
      "tree": "7138ac55af600816fac161b3b199da0154d57223",
      "parents": [
        "aabfda3787373027b303e82b40f21d2524028fee",
        "7d741780c9632eb39bcd1cccf69065ca2ba3847f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 19 00:06:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 19 00:06:39 2020 +0000"
      },
      "message": "Merge \"Remove unused #include.\" am: c235669ec2 am: 7d741780c9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1402794\n\nChange-Id: I200d242c3b73571f5b2ce5e4ee9289660066bc14\n"
    },
    {
      "commit": "a3edc25cdacb395b1372b8e00da9ab606ec90bf3",
      "tree": "afc03801349f54ac3fe5310413649bcba6dd746b",
      "parents": [
        "6bfe7f9a2663361b50a436e991d6771d0651b0e3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:59:52 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 17 15:59:52 2020 -0700"
      },
      "message": "Remove unused #include.\n\nThe header is obsolete anyway: new code should just use static_assert.\n\nTest: treehugger\nChange-Id: I407ba6e90302557aa8e2604bdd2c6d9129353e9e\n"
    },
    {
      "commit": "5fa0c6d621e6d289fd22a16f9b09f186100f2edb",
      "tree": "1760f2c774d4aef41be97c860d6ff94e59763453",
      "parents": [
        "1a0898288177b788ad6ef791d7aa6f3ea1a2cccc",
        "9336d9e13b825edd4d368b01084d6623ae9b91cb"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Aug 03 14:14:41 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 14:14:41 2020 +0000"
      },
      "message": "Merge \"OMS: Add config_signature policy handling\""
    },
    {
      "commit": "a4133621d89257abbfc9ca2efaa755e7c3f0897b",
      "tree": "6a37df32fc324a99aad17956dc8d63748d438160",
      "parents": [
        "e9bb6aa4ba807e59b00a6f7e0798fa38540aebf0",
        "cea3df0007dd483f260e43fe54f1e8d4014162e5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 31 17:09:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 31 17:09:21 2020 +0000"
      },
      "message": "Merge \"Use blocklist sub-property in sanitize\" am: 1d87df7859 am: 7f229e6523 am: 5e143755b8 am: b3252fa9c4 am: cea3df0007\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1375091\n\nChange-Id: I9ac2c2fa52d1d46d73a6d5d598d79bce6aea1713\n"
    },
    {
      "commit": "5e143755b8d4e0f73913edaee92a22a903e57791",
      "tree": "f12c4d60b1e89b81038253bae7094a0ae7326539",
      "parents": [
        "58c0f8dbbe7f980a11f8faae264afb190f7c240c",
        "7f229e652374eb98ea4d48e1ab9985d23fbffd2c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 31 16:09:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 31 16:09:49 2020 +0000"
      },
      "message": "Merge \"Use blocklist sub-property in sanitize\" am: 1d87df7859 am: 7f229e6523\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1375091\n\nChange-Id: Icf51b0f7f9b40c90ca29708bf71287e2b398f4cf\n"
    },
    {
      "commit": "88db3035b57a8e034e1de72e2c70b8854c23729b",
      "tree": "7df4033900297baca1ad01adbf82227e697bb154",
      "parents": [
        "1b2995ca3f1a224f1765b8b0ce0f76351d0665ce"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Jul 28 14:38:20 2020 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Jul 28 14:38:20 2020 -0700"
      },
      "message": "Use blocklist sub-property in sanitize\n\nUpdate language to comply with Android’s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for\nreference\n\nBug: 161896447\nBug: 162245450\n\nTest: build topic\nChange-Id: I952732a034a660a6a6577195d33b2fc2f4f4c78c\n"
    },
    {
      "commit": "9336d9e13b825edd4d368b01084d6623ae9b91cb",
      "tree": "0cc0a161c44e8cb5da118f89cb9c89c361ee3332",
      "parents": [
        "936849dd1a289b372fa667a3c7db990afa23c6d8"
      ],
      "author": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sony.com",
        "time": "Tue Jun 09 18:51:57 2020 +0200"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jul 28 18:30:53 2020 +0000"
      },
      "message": "OMS: Add config_signature policy handling\n\nAlongside SIGNATURE and ACTOR_SIGNATURE policies, add CONFIG_SIGNATURE\npolicy to overlayable that overlay fulfills if it is signed with the\nsame certificate as the reference package whose package name is\ndeclared in \u0027config-signature\u0027 tag of SystemConfig and is vetted by\nOMS that it\u0027s a system pre-installed package.\n\nBUG: 158726924\nTEST: regular aapt2, idmap2, OMS tests\n\nChange-Id: I645ee72271496008742886274be0d63a2985201b\n"
    },
    {
      "commit": "1b8cfdbf1238f67c7a0e724f8e6fd36abfb2fd7b",
      "tree": "16873b8be79f630c662cb9db34849f05e8c108e3",
      "parents": [
        "31417a793e04233d01fa4e5ef60655ad62485294",
        "9dbc9b3fadd791e46b21ff1db4811be8f42f34c9"
      ],
      "author": {
        "name": "Max Spector",
        "email": "mspector@google.com",
        "time": "Tue Jul 21 19:23:57 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 21 19:23:57 2020 +0000"
      },
      "message": "Merge \"Fuzzer for libandroidfw\" am: 01e469da99 am: d117bf6d02 am: 5565cad3c8 am: 2bbf66ecd0 am: 9dbc9b3fad\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1365297\n\nChange-Id: I01772e29aa7fd4c347b79050e0101f2387a2c63e\n"
    },
    {
      "commit": "5565cad3c800ee1ac9ba07c34e921bffaeaac430",
      "tree": "cd5bb5a2cd6ddfdefacea5922f6d2468559e2d8b",
      "parents": [
        "d672b0bd2247055b179706f4138350caeea329b0",
        "d117bf6d02b9a86d3a37e8f4946a63ce4e95c286"
      ],
      "author": {
        "name": "Max Spector",
        "email": "mspector@google.com",
        "time": "Tue Jul 21 18:29:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 21 18:29:30 2020 +0000"
      },
      "message": "Merge \"Fuzzer for libandroidfw\" am: 01e469da99 am: d117bf6d02\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1365297\n\nChange-Id: Ie7f14493a2df991c81693513fec48f2fa691497e\n"
    },
    {
      "commit": "935178e2fdfb08cca31da985846fb2a01f712b2e",
      "tree": "f5deaebe577f46e68a1924c9169473e09243a665",
      "parents": [
        "77d486426222b905e104f8203ec3a2faa348fe62"
      ],
      "author": {
        "name": "Eduardo Rocha",
        "email": "edro@google.com",
        "time": "Thu Jul 16 18:35:06 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jul 21 13:51:37 2020 +0000"
      },
      "message": "Fuzzer for libandroidfw\n\nBug: 161463861\nTest: Builds and runs on host and device.\n\nChange-Id: I78b19376275dc5a29afcab48c70eea479bff8728\n"
    },
    {
      "commit": "f24b09dd211df2c9618784726225f35c573d1410",
      "tree": "e2bf702a6bf342eca2111c172e098c896b0561de",
      "parents": [
        "0ee4d287ffc2b0df002640c19f9d80fcbfbfa42a",
        "cd274e0954d4e1a72ba30946bd97b2a8d26bf864"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 01:30:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 01:30:40 2020 +0000"
      },
      "message": "Merge \"Merge \"libafw: Use std::free explicitly for overlays\" into rvc-dev am: 5dc36b2f9d am: aec9e504c0\" into rvc-d1-dev-plus-aosp am: 68cf3850d2 am: cd274e0954\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11959160\n\nChange-Id: I481871cd4cd788739360fe53c4d7d0f947cfbd35\n"
    },
    {
      "commit": "dcd0e5f6f7d307b7f435adf7dde2efcbaabac75f",
      "tree": "8e790ce311941c9d373de10f464972ebfcc9fe93",
      "parents": [
        "3b089dff3f7d22b3f41adf271b8c1ee9e6620608",
        "aec9e504c048cbb0fdb9d6e2e52bb2ce5d95524a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 23 01:04:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 01:04:36 2020 +0000"
      },
      "message": "Merge \"libafw: Use std::free explicitly for overlays\" into rvc-dev am: 5dc36b2f9d am: aec9e504c0\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11959160\n\nChange-Id: Ib48f1bb120a41bcead6444306e2b935b80393b01\n"
    },
    {
      "commit": "5d80a03bb85057fc475b2752cf1acbf8b29a2577",
      "tree": "b7b9a54aa5f307e2b4e2a0e1cb0fbfbfeaedd375",
      "parents": [
        "5c60ef42057ab58a87f320748967bc85b5bf7fb1",
        "5dc36b2f9d7150b1c417898ca77e49c020b90657"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 23 00:43:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 23 00:43:07 2020 +0000"
      },
      "message": "Merge \"libafw: Use std::free explicitly for overlays\" into rvc-dev am: 5dc36b2f9d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11959160\n\nChange-Id: Id5877c6ff2a1b956aeba509ddf01213324621341\n"
    },
    {
      "commit": "c4142d91f5c549f7f3661aeb90d344641deabf62",
      "tree": "7de19be71919c03e59fd75c6301ac6092b78b09b",
      "parents": [
        "bb2d9a52c1592b04314615956bb43856ce3cd480"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 22 13:00:58 2020 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 22 15:50:14 2020 -0700"
      },
      "message": "libafw: Use std::free explicitly for overlays\n\nCurrently we rely on libc to call std::free on the malloced pointer to\nthe overlay table entry. Rather than relying on the libc implementation\nto call std::free instead of trying to delete the pointer as if it was\ncreated using \"new\", explicitly pass std::free as the deleter to the\ndata held by the std::shared_ptr.\n\nBug: 159562360\nTest: Observed no heap growth while looping infinitely and retrieving\n      a string resource overlaid using an inline xml value\nChange-Id: I9a2ebaf9a993ad9c44fab8f052430c8142d4347d\n"
    },
    {
      "commit": "415bb944d11a87ca3927a9b34fe288d050d74640",
      "tree": "10a5daae433eb96e006158509ced610b5dbbc983",
      "parents": [
        "798cf4f6983b8adab44f3634e4d54816133efed8",
        "0c36a942c9c4e2423a129c85f3c2016fe57fec05"
      ],
      "author": {
        "name": "Abhinav Aggarwal",
        "email": "aabhinav@google.com",
        "time": "Thu Jun 18 16:31:03 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 16:31:03 2020 +0000"
      },
      "message": "Merge \"Enable \u003e\u003d 2GiB file size support in backupToTar for 32 bit targets.\""
    },
    {
      "commit": "0c36a942c9c4e2423a129c85f3c2016fe57fec05",
      "tree": "05002a82b396deb46792ae66437ee8e978aef676",
      "parents": [
        "8f278fb31e80586a95e459cbd6dc64834427ea64"
      ],
      "author": {
        "name": "Abhinav Aggarwal",
        "email": "aabhinav@google.com",
        "time": "Tue Jun 02 13:47:35 2020 +0100"
      },
      "committer": {
        "name": "Abhinav Aggarwal",
        "email": "aabhinav@google.com",
        "time": "Thu Jun 18 12:32:28 2020 +0000"
      },
      "message": "Enable \u003e\u003d 2GiB file size support in backupToTar for 32 bit targets.\n\nbackupToTar function used in fullbackup currently uses off_t to\nrepresent file sizes which overflows for files having size \u003e\u003d 2 GiB\non 32 bit target architectures.\n\nThis CL replaces off_t with off64_t to overcome this limitation.\n\nFixes: 157633626\nTest: atest libandroidfw_tests\nTest: Locally running a backup with a test app having a file of size\n2GiB and verifying the size variable in backupToTar doesn\u0027t overflow\non a 32 bit target.\n\nChange-Id: I404cced810f331ecb9327495ce1f092f1fa2d378\n"
    },
    {
      "commit": "22cf8d565ef78cbbf7ae294e5c08df687f64dcf0",
      "tree": "a3ecfd5d7491b7853629d2fa63ecd881ebd0c907",
      "parents": [
        "d753613c6be06dafe277871d0d5a2c5d589a3a75",
        "e2426c48bd5b60ad2df9dbc72badca1ed3ccd99f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jun 05 16:46:45 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 16:46:45 2020 +0000"
      },
      "message": "Merge \"Add policies and enforce overlayable to header\" into rvc-dev am: 2201f8b626 am: 64d0e6f31b am: e2426c48bd\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11481145\n\nChange-Id: I268738c0312b6a158599d9487f09b753c91ba36a\n"
    }
  ],
  "next": "1b4cda227abd29b438cbe037d4c35400f6e7eed8"
}
