)]}'
{
  "log": [
    {
      "commit": "07287be17bd4209a81f27684c9ed3b567f9e8bc5",
      "tree": "966f0dbcb7c712ce61187f8be0a7d8a15a5df24f",
      "parents": [
        "5c406a3cad8043af04ff3656a90c52ae32378b43"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue May 02 16:34:27 2023 -0400"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu May 04 20:46:14 2023 +0000"
      },
      "message": "Add --no-compile-sdk-metadata switch to AAPT2\n\nThis switch suppresses output of compile SDK-related attributes\nin AndroidManifest.xml, including android:compileSdkVersion and\nplatformBuildVersion.\n\nFixes: 278115511\nTest: ManifestFixer_test\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2ada8ffbe1a62f50fe5e966e8e9ec1f417cea179)\nMerged-In: I552e50802a328c2318c9f261e30beadcbca5fd29\nChange-Id: I552e50802a328c2318c9f261e30beadcbca5fd29\n"
    },
    {
      "commit": "3d1504f81166369ce68140239f3234929108078d",
      "tree": "082af38daaedf69e2d55a2345f10592449629f7c",
      "parents": [
        "cf2fc89dcd093a039fc2365316c50ba6f457620c"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Apr 17 17:05:49 2023 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Apr 17 17:05:49 2023 -0700"
      },
      "message": "Add cpp20 to validatekeymaps\n\nWe need this to take advantage of default-generated comparison\noperators.\n\nBug: 278299254\nTest: m\nChange-Id: I4b0bd848606936378f16e95d767afd68b25ab4d8\n"
    },
    {
      "commit": "de1601534499222447556e4f293d90f8ea30cae6",
      "tree": "570d5d35ac30758d77135995a527bb624870c106",
      "parents": [
        "c7ffdf8bd63cb79faab7802363b97ce2792b1ea5"
      ],
      "author": {
        "name": "Alex Buynytskyy",
        "email": "alexbuy@google.com",
        "time": "Tue Apr 04 19:52:28 2023 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 07 18:24:19 2023 +0000"
      },
      "message": "UpsideDownCake is now 34\n\nIgnore-AOSP-First: UpsideDownCake Finalization\nBug: 275409981\nTest: build\nRESOURCES_FINALIZATION\u003dUpsideDownCake Finalization\n\nChange-Id: I63623f89bdfa49b43b6a1cff05a6386202d7344d\n"
    },
    {
      "commit": "fe04f357151886f99f9b56b42ed5b1c0ba331fff",
      "tree": "a4cf3f00698eb1b4705aecdfc28ade394ff6eaee",
      "parents": [
        "aed299868bff1b11d3be65976759d6a82f9b99db",
        "2747f521821e75d67ef3bdae11299dd6f7545b86"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Mar 23 00:21:50 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 23 00:21:50 2023 +0000"
      },
      "message": "Merge \"Disable package visibility detector\" am: 3a03337f8c am: c96236dafc am: 2747f52182\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2503481\n\nChange-Id: Ib0707fec0728040ed5821ef79d0f79972096e6da\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4643b848db675864aa307722a13754ba351004d8",
      "tree": "15659277a509745846c9ba6928bec02b6fab92fb",
      "parents": [
        "d88a18995cb026d780f9cdbace906f108517c37a"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Mar 22 14:50:02 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Mar 22 14:50:54 2023 -0700"
      },
      "message": "Disable package visibility detector\n\nCrashes with:\nError: Lint ran out of memory while building a callgraph (requested by these detectors: [PackageVisibilityDetector]). You can either disable these checks, or give lint more heap space. [LintError]\n\nTest: Presubmits\nChange-Id: Ia7ce4072af1c35295f21794f355b18a0c1a4d4b6\n"
    },
    {
      "commit": "c774f39a01ba44ea13647ca410ddaea4029d222c",
      "tree": "1e096d501099739c5833d870a06325bcb2e4b107",
      "parents": [
        "6030888ce88b2e6061c28cdd9d3c1bbd8cf0d6c6"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 21 18:05:17 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 21 18:05:31 2023 -0700"
      },
      "message": "Update lint checks to their state on internal master\n\nGlobalLintChecker was added as a prebuilt already on aosp, but we\ncould make it a source build if we had the source on aosp.\n\nThis udc-dev cl is to resolve merge conflicts for the later aosp cl.\n\nBug: 264451752\nTest: Presubmits\nChange-Id: I83d30adab8283daf86d859629a19a4584901f6f7\n"
    },
    {
      "commit": "d88a18995cb026d780f9cdbace906f108517c37a",
      "tree": "ba5f689f570bfdd5dd26bed899d0f1becae47072",
      "parents": [
        "a9524e206f844b733082caadee3ba33c2854e018"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 21 17:27:44 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 21 17:27:44 2023 -0700"
      },
      "message": "Update lint checks to their state on internal master\n\nGlobalLintChecker was added as a prebuilt already on aosp, but we\ncould make it a source build if we had the source on aosp.\n\nBug: 264451752\nTest: Presubmits\nChange-Id: Iea5e5d2adef8c261490e14269cf6737c2a369e6d\n"
    },
    {
      "commit": "41c836e69467784ce5d2d2c5d883151bde77563e",
      "tree": "d8a4dc8f88c059ac990242c253905e36e0908f51",
      "parents": [
        "b6699ae7c7a8f90a9a8e70976605a1bc1d2430f2",
        "16d7d69c06cca6c4b4f6b2d9792f8d65fc64b760"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Fri Mar 17 02:56:19 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 17 02:56:19 2023 +0000"
      },
      "message": "Merge \"Add a scoped lock injection tool\" am: a2170a3d66 am: 2f2f3effd3 am: 16d7d69c06\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2470160\n\nChange-Id: I1ebcc3b7ce7ba2ebfc975aeee753fc415ec677f5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a2170a3d666e74bdb368c9e331f0bf728827ca6e",
      "tree": "af0f972b6cfc6a53e4fe1711c334ca6831fd5600",
      "parents": [
        "6846c4957da569538646002f5c5d731336b236da",
        "00394fc0dcd0c535504759353e329c0c00c315c3"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Fri Mar 17 01:16:45 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 01:16:45 2023 +0000"
      },
      "message": "Merge \"Add a scoped lock injection tool\""
    },
    {
      "commit": "a48221a222bddb3823abb55057d0577055216f6b",
      "tree": "c9dd0a43bfec905f7c5058e7e5e862cd37984c05",
      "parents": [
        "c2540fda1675e730561fa3febad86b46abb1722f",
        "6bb0d1c9ed7d9ef3bbc93944bec379974c915020"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Thu Mar 16 22:15:15 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 16 22:15:15 2023 +0000"
      },
      "message": "Merge \"Add OWNERS for locked_region_code_injection tool\" am: 86f22e252f am: e8f12bbe0d am: 6bb0d1c9ed\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2494615\n\nChange-Id: I26a8fab44a96ae6979841be81390ad60306dc6db\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "86f22e252fdd1d954bd77c8f900ef11e27975b11",
      "tree": "ab06b5118e6abe1910afb01b4998bd25657e0c7d",
      "parents": [
        "398525d4c932b311904ed0795dde621cdd518942",
        "18301912631f41f7d0ac5e686c11e4ea56f519e4"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Thu Mar 16 20:43:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 20:43:51 2023 +0000"
      },
      "message": "Merge \"Add OWNERS for locked_region_code_injection tool\""
    },
    {
      "commit": "18301912631f41f7d0ac5e686c11e4ea56f519e4",
      "tree": "9f819b6768f3dfa7ba6406728e543a1efbedd8a5",
      "parents": [
        "f2c0657709112b5233dd5bc6caba145180e3de73"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Thu Mar 16 09:35:38 2023 -0700"
      },
      "committer": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Thu Mar 16 09:35:38 2023 -0700"
      },
      "message": "Add OWNERS for locked_region_code_injection tool\n\nBug: 273953228\n\nThis adds System Health team members to the tool.\n\nChange-Id: Ib935c8e12241290460c9200fb0ea4e80f88edd1a\n"
    },
    {
      "commit": "d8f117721af3746a24f666f1f148d1ffb37b7213",
      "tree": "4850a461aa3c21cf602f1021b0527401754f0afa",
      "parents": [
        "9b6df5a922561ba50ba3d2e2873b66d4dd68fb69",
        "f87347167bbb8ee361a8e8a718daf2bb564f7bc8"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Mar 16 14:28:35 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 16 14:28:35 2023 +0000"
      },
      "message": "Merge \"Remove framework version of UnspecifiedRegisterReceiverFlag lint\" into udc-dev"
    },
    {
      "commit": "7109b70e032d4ef36acac6d5cda0e823ebee9ab5",
      "tree": "0655f963cb3d1367d42deac5c36e1b8513152294",
      "parents": [
        "c1dfe6f64ff073913a14491873ab7aa76c25def6"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Thu Feb 23 17:43:25 2023 +0000"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed Mar 15 16:29:55 2023 +0000"
      },
      "message": "Add support for adding fingerprint prefix install constraints\n\nSince more install constraints could be added in the future, add a new\noption for inserting just fingerprint prefixes.\n\nBug: 270562509\nTest: atest aapt2_tests\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a10b808220650f96ee2ce360e387ee9e2e1ddd69)\nMerged-In: If357c6df09491fa1bec5fe1a00a682d634af69b7\n\nChange-Id: Ic07239134a9445c2ec7e5e1cd2313ac1859111aa\n"
    },
    {
      "commit": "f87347167bbb8ee361a8e8a718daf2bb564f7bc8",
      "tree": "a1b6e1ccf728e10a1a3e979f065763f2afc182ca",
      "parents": [
        "cb295bed9049883e5f87c752671428a37882c488"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Mar 14 20:31:20 2023 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Mar 14 20:44:58 2023 +0000"
      },
      "message": "Remove framework version of UnspecifiedRegisterReceiverFlag lint\n\nThis check has been upstreamed to Android Studio, and the platform now\nuses that version of the studio lint checks. Thus, the platform version\nis redundant (and outdated).\n\nBug: 267510341\nTest: TH\nTest: manually tested by running lint and ensuring warnings were\nreported in e.g. packages/services/Telecomm/Telecom.\n\nChange-Id: I1c8f8776831e336e77326ae15a113d18c7a036e4\n"
    },
    {
      "commit": "e85e24776d4893bcc6116c241ec8acd15efd4ade",
      "tree": "05c1fb16fa780149e0cea6946f86e1f059d5f384",
      "parents": [
        "435f9c37b9370b282d6386457ef6d13fb4ceca35",
        "9ed6173a760e24f7ada7ba52bc331dccf5c4b50f"
      ],
      "author": {
        "name": "Alix Espino",
        "email": "agespino@google.com",
        "time": "Tue Mar 07 00:57:44 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 07 00:57:44 2023 +0000"
      },
      "message": "Merge \"deleted manual build file\" am: cb0b073d57 am: 80a4c7c8e5 am: 9ed6173a76\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2467520\n\nChange-Id: Idade322c09032cfe6ee4ef9b6ccfa3f54a49e7a9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "00394fc0dcd0c535504759353e329c0c00c315c3",
      "tree": "f2532e5b948aaf374601da9d4d98f4af80766a60",
      "parents": [
        "f2c0657709112b5233dd5bc6caba145180e3de73"
      ],
      "author": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Wed Mar 01 16:13:32 2023 -0800"
      },
      "committer": {
        "name": "Lee Shombert",
        "email": "shombert@google.com",
        "time": "Fri Mar 03 09:52:18 2023 -0800"
      },
      "message": "Add a scoped lock injection tool\n\nBug: 271576290\n\nThe lock injection tool now handles two types of lock injection:\nlegacy and \"scoped\".  The legacy behavior is changed: the request\nmethod used to be called immediately after the lock is taken.  The new\nbehavior is that the request method is called immediately before the\nlock is taken.\n\nLegacy behavior is changed, and is as follows:\n  1. The request method is called immediately before the lock is\n     taken.\n  2. The release method is called immediately after the lock is\n     released.  The release method is NOT holding the lock when it is\n     called.\n  3. The request and release methods are static and the signature of\n     the functions is \"()V\".\n  4. Synchronized methods and blocks are supported.\n\nScoped behavior is new, and is as follows:\n  1. The request method is called immediately after the lock is taken.\n  2. The release method is called immediately before the lock is\n     released.\n  3. Both request and release methods are instance methods of the\n     traced object and are called on the traced object (the target of\n     synchronized()).  The signature of the methods is \"()V\".\n  4. Synchronized blocks are supported. Synchronized methods are not\n     supported.\n\nScoped behavior is invoked on a data type with the new --scoped\nswitch.  The format of the switch is:\n  --scoped \u003ctarget-class\u003e,\u003crequest-method\u003e,\u003crelease-method\u003e,\u003cscoped\u003e\n\nThe \u003cscoped\u003e argument to the --scoped switch selects legacy (false) or\nscoped (true) behavior.  The legacy command line arguments only select\nlegacy behavior.\n\nThe Android.bp file has been updated to create test artifacts.  The\ntest procedure described in TestMain.java has been updated.  In\naddition, the unit test for this feature has been wrapped in a script.\nNew tests have been added for the scoped lock.\n\nTest: the following:\n * run the lockedregioncodeinjection unit test\n * build an image and verify that the java byte code is properly\n   updated for the new lock injection\n * build a complete Android image and verify no regressions\n\nChange-Id: I4fbfbf8873c385005cbf67a5b02aff204d145030\n"
    },
    {
      "commit": "80a4c7c8e5f782cac9c41e976ae0975ba86a335f",
      "tree": "e79713f265508ea5a42c0ac694f6bd040d8c49cc",
      "parents": [
        "fe27b2ed6645ec4d8ec05bd9cc6292b713204809",
        "cb0b073d5712a3db70855e36b59e08dcdf0ec03b"
      ],
      "author": {
        "name": "Alix Espino",
        "email": "agespino@google.com",
        "time": "Fri Mar 03 17:45:34 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 03 17:45:34 2023 +0000"
      },
      "message": "Merge \"deleted manual build file\" am: cb0b073d57\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2467520\n\nChange-Id: Idefb68255e09bfdb320ce023ce5746c99a7437a3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cb0b073d5712a3db70855e36b59e08dcdf0ec03b",
      "tree": "af7b0ee40ce37dd4bdec67a6265f6beaeedde66a",
      "parents": [
        "7b6b5be19c2a751b458304046e52bdee57b3b6cf",
        "88cbb4d2c3d87a4aa83565af3910b09cf9cb4891"
      ],
      "author": {
        "name": "Alix Espino",
        "email": "agespino@google.com",
        "time": "Fri Mar 03 16:39:22 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 16:39:22 2023 +0000"
      },
      "message": "Merge \"deleted manual build file\""
    },
    {
      "commit": "88cbb4d2c3d87a4aa83565af3910b09cf9cb4891",
      "tree": "610c01252bdef99fabbfe54bb842a3175b74f08b",
      "parents": [
        "ceb138df5e94a1e1fece9e905311812551392fe8"
      ],
      "author": {
        "name": "Alix",
        "email": "agespino@google.com",
        "time": "Thu Mar 02 16:19:03 2023 +0000"
      },
      "committer": {
        "name": "Alix",
        "email": "agespino@google.com",
        "time": "Thu Mar 02 18:58:49 2023 +0000"
      },
      "message": "deleted manual build file\n\nclean up since b/245731902 is already generating BUILD file in bp2build\n\nBug: 245731902\nChange-Id: I45b26d672b84ac34b0363b6cf77833c689e7f7f1\nTest: built codegen_cli with bazel\n"
    },
    {
      "commit": "65fb50bd3745e6ff3573fe687dfc350f14ecd256",
      "tree": "09d6f2bcde7e653a26041a50395624d004c476fe",
      "parents": [
        "bc7d0966f1ed230393bd586a28d0a62ac9a46d17",
        "f851a732ba1cd25d863a456f635f4b254311a39b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 01:11:19 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 02 01:11:19 2023 +0000"
      },
      "message": "Merge \"Doesn\u0027t meet 0p requirements. Can use 1p.\" am: 2718fc5cc5 am: e354b82646 am: f851a732ba\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2464454\n\nChange-Id: I02f13f1719904246ac2f1d482aab3536d73227e4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e354b826469f155d8a636c6e731a20ad00b17a36",
      "tree": "91e2fdf1c55bbb174bdfa0e49ac966986563e341",
      "parents": [
        "29bd3c4353854a3e02318f05d0e37c5d33227010",
        "2718fc5cc5be9481ecf0ca3c72f7e218a453c216"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 23:33:44 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 01 23:33:44 2023 +0000"
      },
      "message": "Merge \"Doesn\u0027t meet 0p requirements. Can use 1p.\" am: 2718fc5cc5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2464454\n\nChange-Id: Ib679a5700d40ff72dec5e8d0307f9552fa8357c5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d4320baf97247b4dcb6d7f00c2152b3cdf2f656e",
      "tree": "90fb75e817ed9f38c4176890f7f4843d01d581b6",
      "parents": [
        "6f8a917afee70417dedd14fb93767d9f6f3ae305"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Mar 01 10:09:49 2023 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Mar 01 21:47:56 2023 +0000"
      },
      "message": "Doesn\u0027t meet 0p requirements. Can use 1p.\n\nTest: m droid dist\nChange-Id: If0c27d1f9860c1481a0c4baf5b6480ea1f6b0cad\n"
    },
    {
      "commit": "3212580e07e291cd466aa66c754cad30104e0107",
      "tree": "a7ee7c93d8177d2d4e08425c4f7a3e5cdb8b80f4",
      "parents": [
        "84bf2e3a0fbf5b84d29ad08bbb201cbc8f9084d4"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Fri Feb 17 19:19:01 2023 +0000"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Fri Feb 17 19:34:59 2023 +0000"
      },
      "message": "Remove test mapping file for ImmutabilityAnnotationProcessorUnitTests\n\nThe test is already covered in host_unit_tests\n\nBug: 265439335\nTest: none\nChange-Id: Ie9ba5591475ae9382d4ce6d418ddb580a60aa007\n(cherry picked from commit 94ce5bc05cd61126e69bfaa61ae717c82c8f57d4)\n"
    },
    {
      "commit": "52d9c9975b0cf4ac89fbbadeb5311d9d90e3802f",
      "tree": "d19dd7cb82c44ca7191a346390d7b55a5fa2dadc",
      "parents": [
        "6e4312545b9d52655d15b9beb6a95d00b8a637ca",
        "11bb0370e1ee99a46351e0b96b2d329fa6eda31c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 03:31:57 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 03:31:57 2023 +0000"
      },
      "message": "Merge \"Fix font scaling related documents\""
    },
    {
      "commit": "ca881648096b3f753ae6d65cf245d875df5e4223",
      "tree": "f68be5d4e42bdfc4fb5fe6708feafe10cc2208a7",
      "parents": [
        "10bb3f3850ca9dab86ccc3c1916bda4a1eee188a",
        "39892e3e398aea9099b8bf2e0585cce8843203d5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 13 20:04:19 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 20:04:19 2023 +0000"
      },
      "message": "Merge \"lint_fix: split into separate main and common modules\""
    },
    {
      "commit": "11bb0370e1ee99a46351e0b96b2d329fa6eda31c",
      "tree": "1ef4279823e89fba70c3ca884e237407abe70854",
      "parents": [
        "011451e5fb6a4ea0aab8ab2ad86fa0af6f96d79d"
      ],
      "author": {
        "name": "chihtinglo",
        "email": "chihtinglo@google.com",
        "time": "Mon Feb 13 00:31:20 2023 +0800"
      },
      "committer": {
        "name": "chihtinglo",
        "email": "chihtinglo@google.com",
        "time": "Tue Feb 14 00:12:46 2023 +0800"
      },
      "message": "Fix font scaling related documents\n\nFixing the documents for font scaling resources and scripts because of\nresource movements and file renaming.\n\nBug: 268670106\nTest: Update documents only. No changes in codes.\nChange-Id: If8fa5ecdf12cf77359c071ced1ab2c2cbf72ec23\n"
    },
    {
      "commit": "39892e3e398aea9099b8bf2e0585cce8843203d5",
      "tree": "ac82c7bc894502bd3176592f4416ce29ccb5e15f",
      "parents": [
        "d27d379efd63040e8d2bd686ce35d21bb61f928a"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Jan 02 20:34:43 2023 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Feb 13 12:08:53 2023 +0000"
      },
      "message": "lint_fix: split into separate main and common modules\n\n- Convert most logic into a common class \"SoongLintFix\"\n- Clean up code for clarity\n- Execute using /bin/bash (python uses /bin/sh by default)\n\nThis change also makes it easier to consume common code from experimental projects.\n\nBug: 232058525\nTest: TH\nChange-Id: I421a78d5ede481baeaa5e082ce4e4ba537259bc5\n"
    },
    {
      "commit": "3467bcbab01994b922165e152d448f922b2c22c3",
      "tree": "1f182d8e5c3ac70e55e43451b4215b1a0c9f2bf2",
      "parents": [
        "97f266f34e6a96b5f4d0aed22633337344ce6589"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Feb 10 10:13:02 2023 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Fri Feb 10 10:28:23 2023 +0000"
      },
      "message": "Move aapt2 Windows binary to 64bit\n\nThis will help solving some inconsistencies across platforms in the\nshortening of resource namings caused by the different size of size_t.\n\nBug: 266868960\nTest: atest aapt2_tests\nChange-Id: Ic161bb4de4c34e8819ec69d024a7bf9ba72b12b9\n"
    },
    {
      "commit": "26fe666a07f5d78a20df87a7bb7819baaf9f1b68",
      "tree": "6afddfaca30f376149e4303bcb20ab2ee5ec47c6",
      "parents": [
        "80ccc015a0a30a15223468bbcb2340a6236a5242"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Feb 01 12:34:44 2023 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Feb 01 13:09:12 2023 -0800"
      },
      "message": "Re-enable AndroidFrameworkLintCheckerTest\n\nIt can be re-enabled using a new feature to exclude\ncertain classes from being loaded by tradefed.\n\nBug: 240445172\nTest: atest --host AndroidFrameworkLintCheckerTest\nChange-Id: I57a98a841d9309378d341dab5508f3ae3e3eba09\n"
    },
    {
      "commit": "d27d379efd63040e8d2bd686ce35d21bb61f928a",
      "tree": "60b8e68b1c032b66248bade415fc5abe9a451cce",
      "parents": [
        "003fbc74f4a7a508ffb0746a4dfe4f9e52100413"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Jan 02 20:24:55 2023 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Jan 26 16:22:37 2023 +0000"
      },
      "message": "EnforcePermissionFix: refactor for greater separation of concern and reuse\n\nMove more logic for identifying/creating an instance of\nEnforcePermissionFix from the related detector to the class itself.\n\nThese changes also make it easier to consume this code from experimental\nprojects.\n\nThis change also enables AndroidGlobalLintCheckerTest, and adds/fixes\ntest cases.  AndroidGlobalLintCheckerTest will now run as part of\npresubmit.\n\nBug: 232058525\nBug: 240445172\nTest: atest --host AndroidGlobalLintCheckerTest\n\nChange-Id: Ice19df391e9a308f3d2a6ebf2b5ba2f8ad5bb00b\n"
    },
    {
      "commit": "003fbc74f4a7a508ffb0746a4dfe4f9e52100413",
      "tree": "02adf3dedb912fc4049ddde10fb62dc2ae9aa86b",
      "parents": [
        "7535df427ebe0e3e0a1ccff96a3a1e91cee45cb8"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 29 19:16:22 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Jan 26 16:22:30 2023 +0000"
      },
      "message": "SimpleManualPermissionEnforcementDetector: suggest calling helper method and turn on\n\nThe previous fix only suggested removing the manual permission\nenforcement. Suggest replacing with the required helper method call.\n\nAlso turn this detector on, but reporting all incidents at WARNING level.\nThis will surface the call sites that need migration in the errorprone\nbuild without actually causing failure. Once all call sites that would\ncause an ERROR level incident have been migrated, we can turn that\nfunctionality back on (b/265014041).\n\nBug: 261976627\nTest: SimpleManualPermissionEnforcementDetectorTest\n\nChange-Id: I9e2e6d1981d9a8dc59b9c8078d7ce80b1d0b10ab\n"
    },
    {
      "commit": "3542addec651fd8810abbf18d0b6344eefb69281",
      "tree": "682973b6cb9d3b815ba7b0e04755f18d47075020",
      "parents": [
        "f9d4c062b4e651d48445efa50f0363fe798f0af1",
        "5fd34eabbd37092077ba083eefa2c42c3ce93c5a"
      ],
      "author": {
        "name": "Jeremy Meyer",
        "email": "jakmcbane@google.com",
        "time": "Tue Jan 24 18:45:09 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 18:45:09 2023 +0000"
      },
      "message": "Merge \"Have aapt2 check library names the same as package manager\""
    },
    {
      "commit": "5fd34eabbd37092077ba083eefa2c42c3ce93c5a",
      "tree": "d21f3ded6a369f8b982759e299439d6d776ecf37",
      "parents": [
        "fd723c205c3654aa5414ea92c2f06ca67ec1fcdb"
      ],
      "author": {
        "name": "Jeremy Meyer",
        "email": "jakmcbane@google.com",
        "time": "Thu Dec 15 18:43:36 2022 +0000"
      },
      "committer": {
        "name": "Jeremy Meyer",
        "email": "jakmcbane@google.com",
        "time": "Tue Jan 24 18:32:10 2023 +0000"
      },
      "message": "Have aapt2 check library names the same as package manager\n\nBug: 231297692\nTest: Manual\nChange-Id: I11a660969443aa90cf6b51a0947accca4231310f\n"
    },
    {
      "commit": "7be84b8a5623f4cb7cb430a74c0159545d56a08b",
      "tree": "090a9e05aed636926b354126cba437dc73db1427",
      "parents": [
        "fb2c001684ab8415f310d69ff4f6628833fea856",
        "02d8919614b7920aa2c5c3820be77bba8c54846f"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Jan 18 00:11:47 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 00:11:47 2023 +0000"
      },
      "message": "Merge \"[res] Add the grammatical gender qualifier\""
    },
    {
      "commit": "02d8919614b7920aa2c5c3820be77bba8c54846f",
      "tree": "4289b8107216c4cda8d8148dc4feec520e0f0466",
      "parents": [
        "dac535a74a970aaf4569ac7116c9cf08765306a3"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Jan 04 08:44:34 2023 -0800"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Fri Jan 13 17:21:00 2023 -0800"
      },
      "message": "[res] Add the grammatical gender qualifier\n\nBug: 237579711\nTest: UTs + build + boot\n\nChange-Id: Id0919799a8a364f109ff351974f02e4f151f23cd\n"
    },
    {
      "commit": "ec02895dcd58d134449220bbac3e5d3995035a00",
      "tree": "7794da681147845f155fee9d615a7fec3261cd63",
      "parents": [
        "08c808e567e5b610a247edcab9753ed300ba9b3b"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Fri Jan 13 22:03:35 2023 +0000"
      },
      "committer": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Fri Jan 13 22:04:29 2023 +0000"
      },
      "message": "Mark ImmutabilityProcessorTest as unit_test\n\nSo that it doesn\u0027t require device. Attempt to stop it from running\non device target builds.\n\nBug: 265439335\n\nTest: atest ImmutabilityProcessorTest\n\nChange-Id: I153106f3d8cdf0a50c427c102c2119a0c2fa4e60\n"
    },
    {
      "commit": "7957f6daed1d76f8be0b4610b9e64e0a87e6c5b6",
      "tree": "402d7e31b75fc266fc57649f89c72e48a15edf85",
      "parents": [
        "edb2048069d02d3d604ced759b36b2c3c22b7751"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Dec 19 04:39:47 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Jan 09 15:22:48 2023 +0000"
      },
      "message": "Move PermissionMethod/PermissionName to android.annotation\n\nRemove these annotations from package manager, as they should\nbe available globally and were moved to android.annotation in\nthis change: aosp/2367449.\n\nBug: 263474178\nTest: TH\nChange-Id: Ibf36a0c36967c4372cd9bc23af50909fd52f30fa\n"
    },
    {
      "commit": "5dd60db56e56e648b726269ea1ccb5e553ecc4b2",
      "tree": "69652a0d14ea5162141f6bafac824b66e1d973b6",
      "parents": [
        "1d7957fab8fc7e03b8ad02cdf21d2366852cfc60"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 29 18:33:40 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Jan 06 22:51:13 2023 +0000"
      },
      "message": "EnforcePermissionHelperDetector: @EP can only be used in Stub ancestors\n\nAdd helpers to identify the generated Stub class as well as methods that\ninherit from it. Use those helpers where relevant, including\nEnforcePermissionHelperDetector.\n\nBug: 261974131\nTest: EnforcePermissionHelperDetectorTest\n\nChange-Id: I68e572e6a8558be966450fcbf75eabbdb7ac6ae7\n"
    },
    {
      "commit": "d7cbe7d90a597c1aff37561e3825942811222b77",
      "tree": "d45b2459100591021538a5d5fbf0b05e0e315263",
      "parents": [
        "df5a4fe7e7c3a0443568ea0dbb608051d8c213f3"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 29 17:47:05 2022 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Jan 05 02:03:33 2023 +0000"
      },
      "message": "EnforcePermissionHelperDetector: allow ancestors to call super instead of helper\n\nBug: 261976627\nTest: EnforcePermissionHelperDetectorTest\n\nChange-Id: I006e8f391e2d97bc568db59d26ece704f12e1b2e\n"
    },
    {
      "commit": "ba2336ca909aa999272f3751c7f7f22093f59712",
      "tree": "3fbb9e82a1816bfb105fbd5c0e6f26094611ed27",
      "parents": [
        "2c533174522b62a72fc2432de9f3c575324a39e3"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 01 22:02:50 2022 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Dec 27 00:12:07 2022 +0000"
      },
      "message": "SimpleManualPermissionEnforcementDetector: Handle anyOf\n\nHandle \"anyOf\" style checks. @PermissionMethod now takes a parameter\nindicating that, if multiple permissions are checked, any ONE of them\nbeing granted means the permission check passes. This equates to the\nsame \"anyOf\" parameter on the @EnforcePermission annotation, so generate\nfixes accordingly.\n\nThe \"anyOf\" logic also includes some sanity checking to prevent\nsuggesting a fix if \"anyOf\" and \"allOf\" checks are mixed, as we don\u0027t\nknow what to do if that is the case.\n\nThis change also enhances the linter\u0027s ability to pull out\npermission values (annotated with @PermissionName).\n - it reads hard coded values provided as parameters to the\n   @PermissionMethod annotation\n - it reads multiple @PermissionName values passed as varargs to a\n   method\n\nBug: 232058525\nTest: SimpleManualPermissionEnforcementDetectorTest\nChange-Id: I4e6a54a2820d54726725ea1e4a4b208e337e34c5\n"
    },
    {
      "commit": "b5424c06779f114d89e64f464edd14a6970a7075",
      "tree": "fdbd40eab09409a440c2ed398fac5f7a08d42c3a",
      "parents": [
        "19cc7d02043ef270ccea441e794042dcd66f0cc5"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 01 20:29:42 2022 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Dec 26 18:01:53 2022 +0000"
      },
      "message": "SimpleManualPermissionEnforcementDetector: Handle simple if expressions\n\nThe previous implementation was naive and did not actually handle if\nexpressions.\n\nUpdate the detector to look for calls to permission checks that\nexplicitly check against PackageManager.PERMISSION_GRANTED/DENIED and\ndo nothing other than throw SecurityException if the check fails.\n\nBug: 247537842\nTest: SimpleManualPermissionEnforcementDetectorTest\nChange-Id: I8cf0bd9355ee5ae91d44117a7f62a3cca0588fb9\n"
    },
    {
      "commit": "4efe5c9bfa29891de5ca01e2804226c10fc84148",
      "tree": "20643742913e8d800b761e7267dac86fce21e6e2",
      "parents": [
        "41993ac5b78127b911bef04f0f4206158f2c5a11",
        "b0b1b61fdcfa07afcae9da4381cc3c7b8480a4f8"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Dec 21 14:54:01 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 14:54:01 2022 +0000"
      },
      "message": "Merge \"Update lint README to document global linter\""
    },
    {
      "commit": "b0b1b61fdcfa07afcae9da4381cc3c7b8480a4f8",
      "tree": "9b7261ae6a7bff815b88c3312bc0fb1be3f5d456",
      "parents": [
        "2127ea68e3700cc5edaa1af60bbbc3f9d075a774"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Dec 20 17:41:38 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Dec 20 18:26:28 2022 +0000"
      },
      "message": "Update lint README to document global linter\n\nBug: 236558918\nTest: TH\nChange-Id: I58a0ebb25209ca0b68f120196b74962fcd86b131\n"
    },
    {
      "commit": "74effb01dc2d7e38fcab41f8163ac8ec6a01f7bf",
      "tree": "b5a08e6b17d68dedffcb0f88f2c7f1329e8a8d8e",
      "parents": [
        "aa5b848680f7e362f13827fd93439fff05751b7d",
        "f1ed5239bfb500108d30294527890a21005d21b8"
      ],
      "author": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Tue Dec 20 07:29:38 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 07:29:38 2022 +0000"
      },
      "message": "Merge \"Aapt2 Optimize: Exempt particular resources from path shortening\""
    },
    {
      "commit": "f1ed5239bfb500108d30294527890a21005d21b8",
      "tree": "2f866077b10e663f18843f548788bc5f1635aa48",
      "parents": [
        "060e76051f8ea7505ec9405eccbf6126732e6cd1"
      ],
      "author": {
        "name": "branliu",
        "email": "branliu@google.com",
        "time": "Fri Dec 16 19:02:29 2022 +0800"
      },
      "committer": {
        "name": "branliu",
        "email": "branliu@google.com",
        "time": "Tue Dec 20 11:06:27 2022 +0800"
      },
      "message": "Aapt2 Optimize: Exempt particular resources from path shortening\n\nDesign: go/no_path_shorten\nBug: b/246845175\nTest: Added new atests and verified affected atests pass\nChange-Id: I4d5b48ea9f0efd4740823101b9a3d776d151a808\n"
    },
    {
      "commit": "e57a25ea83826ccab2aaa1827909fe328ac371de",
      "tree": "14cd870f2882c9e8b9b828928ca055f9351a87fe",
      "parents": [
        "960014a868002b9e51966a774c4bb84a94f84008",
        "f33b1679502d61e8c2576464ced5e074a357f59f"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Dec 14 00:12:11 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 00:12:11 2022 +0000"
      },
      "message": "Merge changes Ieae3558e,Ibc30de5e,I3415c5c4\n\n* changes:\n  Fix indentation for EnforcePermissionDetectorTest\n  Remove support for @EnforcePermission on classes\n  Compare nested values for EnforcePermissionDetector\n"
    },
    {
      "commit": "90da11c0607f41651f6467bd91d2652accfa4bd1",
      "tree": "0ecd53a845a35a6565d0eb73c73575c544a65bcd",
      "parents": [
        "37f3eda7493b8f70ec1543965352b50eb2674a8d",
        "32c0c03783e7d3fe27b62569ab70904e249ffa5e"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Tue Dec 13 17:41:23 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 13 17:41:23 2022 +0000"
      },
      "message": "Merge \"Allow to use \u0027aapt2 dump\u0027 to analyze APKs generated by aapt/custom tools.\""
    },
    {
      "commit": "32c0c03783e7d3fe27b62569ab70904e249ffa5e",
      "tree": "2241d1e5caee037a51498d68f6a8f3faed78e302",
      "parents": [
        "e778a656fc0ed848056b9de12a0539734f13ce6e"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Thu Dec 08 18:07:58 2022 +0000"
      },
      "committer": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Tue Dec 13 15:19:08 2022 +0000"
      },
      "message": "Allow to use \u0027aapt2 dump\u0027 to analyze APKs generated by aapt/custom tools.\n\nThis CL fixes four compatibility issues:\n * verifies xml element is placed under valid parent tag inside Inflate;\n * FindElement searches an element in a reverse order, this is\n   because aapt processes tags one-by-one and always takes the latest.\n * allows to resolve string from StyledString resource type;\n * bug that prevents \u0027payment\u0027 component to be detected.\n\nAt the momemnt aapt2 dump does not work correctly for APKs where xml\nelements are placed in wrong place (For example if \u0027\u003cuses-permission\u003e\u0027\nis declared under \u0027\u003capplication\u003e\u0027, aapt2 will still report it).\n\nThis is essential for Play migration from aapt to aapt2 because not\nall our APKs are generated by aapt2 and might contain wrongly placed\nelements.\n\nCL is verified on our full APK database and confirmed to fix all issues.\n\nBug: b/260704482\nTest: Dump_test, manual run on Play\u0027s DB of APKs\nChange-Id: I0b10ecc15a712fd13674a239f91157aba58fa620\n"
    },
    {
      "commit": "a859687b0da5f0aca66e44ccfd59ebd82b338215",
      "tree": "df7967f623ee0b688386e587ed3bc589af8a4339",
      "parents": [
        "dc8e8ad9934fa52416737cfa447613975ea136bc"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Dec 12 20:05:35 2022 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Dec 13 11:59:00 2022 +0000"
      },
      "message": "Remove global issues from AndroidFrameworkLintChecker\n\nNow that AndroidGlobalLintChecker runs globally\n(I2a868f1d78c969eefa2c29477fc8ecab1043df39), remove the issues from\nAndroidFrameworkIssueRegistry that are duplicated in\nAndroidGlobalIssueRegistry.\n\nBug: 236558918\nTest: TH\nChange-Id: I4c7c1057b99e0a5a910c62b37606569794e68e1d\n"
    },
    {
      "commit": "f33b1679502d61e8c2576464ced5e074a357f59f",
      "tree": "415d281900d92253138e3915a0d7774b3e329479",
      "parents": [
        "165a0f6a4cd12447022fa0f19d2683b389aa9dff"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Dec 13 15:59:48 2022 +1100"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Dec 13 16:03:29 2022 +1100"
      },
      "message": "Fix indentation for EnforcePermissionDetectorTest\n\nUse the same text-block indentation for all tests.\n\nTest: java -cp AndroidGlobalLintCheckerTest.jar \\\n      org.junit.runner.JUnitCore \\\n      com.google.android.lint.aidl.EnforcePermissionDetectorTest\nChange-Id: Ieae3558ec71575750631d5e7471e9d4a3a69a9cd\n"
    },
    {
      "commit": "165a0f6a4cd12447022fa0f19d2683b389aa9dff",
      "tree": "22588ccb3eaf95d5bca8cc22fbb195eec527a087",
      "parents": [
        "0dda935ba3a2e03d38b4a1ffe32b6b4bc0c3103e"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Dec 13 15:48:33 2022 +1100"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Dec 13 16:03:23 2022 +1100"
      },
      "message": "Remove support for @EnforcePermission on classes\n\nThe Java annotation only applies to methods.\n\nTest: java -cp AndroidGlobalLintCheckerTest.jar \\\n      org.junit.runner.JUnitCore \\\n      com.google.android.lint.aidl.EnforcePermissionDetectorTest\nChange-Id: Ibc30de5e88996728f4be4f1473014d0d12c5c248\n"
    },
    {
      "commit": "0dda935ba3a2e03d38b4a1ffe32b6b4bc0c3103e",
      "tree": "f0521f6f0a3126d297926d6a3e1916f585e8b369",
      "parents": [
        "9a512e9c887b3e57a12266291c4e7b4d0d96dc7d"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Mon Dec 12 10:04:23 2022 +1100"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Dec 13 15:35:36 2022 +1100"
      },
      "message": "Compare nested values for EnforcePermissionDetector\n\nEnsure that anyOf or allOf nested values are compared.\n\nTest: java -cp AndroidGlobalLintCheckerTest.jar \\\n      org.junit.runner.JUnitCore \\\n      com.google.android.lint.aidl.EnforcePermissionDetectorTest\nBug: 261871823\nChange-Id: I3415c5c4bf461805ca25b6d57b0bd6e215bef927\n"
    },
    {
      "commit": "19021017e4d5ad4edfb720940325c2a0a860756a",
      "tree": "4c06d73f5a5511d5da3691bcad1d61d3db614a2a",
      "parents": [
        "a5e09ef7d13a33cd0cb89f4e95e4206fe7dc72bc",
        "4480a6665cff9ec4810d3e4ac20d04920f60ddf4"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Mon Dec 12 18:27:25 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 18:27:25 2022 +0000"
      },
      "message": "Merge \"Support multiple UsesConfiguration in proto format.\""
    },
    {
      "commit": "85e500d79e4909f9c21fe5bcd4807deba94e0e8a",
      "tree": "9e9570c9da70546e25e46b57d7e3a8816320b152",
      "parents": [
        "f59592817c9c5dbcc9fcb24a7e265c5b31a8f7eb"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 09 17:02:38 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 09 17:02:38 2022 +0000"
      },
      "message": "Disable AndroidGlobalLintCheckerTest\n\nAccidentally enabled with I12cb46cb771e65600a9daf3efce199fd9311a53b,\nbut will not yet work if ran via atest.\n\nBug: 240445172\nTest: TH\nChange-Id: I48eed3c10721deacd5b7b627e033b4a3e1510756\n"
    },
    {
      "commit": "3fc484ce20295cb1650e365f23122715dea1f8fe",
      "tree": "a83cc5fa2a298bc877f470fdae209cb10c4e855e",
      "parents": [
        "eae344945d40d614f29d390f1ad33cda078188ca"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Dec 06 19:21:06 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 09 14:14:03 2022 +0000"
      },
      "message": "Fix EnforcePermission lint false positive on generated interfaces\n\nEnforcePermissionDetector and EnforcePermissionHelperDetector were\nscanning all methods annotated with @EnforcePermission, which\nincluded the method declaration on the (generated) interface itself,\nas well as the methods of the (generated) Default and Proxy classes.\n\nUpdate EnforcePermissionHelperDetector to ignore all abstract methods\n(e.g. those defined in the generated interface declaration).\n\nUpdate EnforcePermissionDetector to specifically target, and ignore,\nmethods of the generated Default and Proxy classes.\n\nBug: 236558918\nTest: EnforcePermissionHelperDetectorCodegenTest,\nEnforcePermissionDetectorCodegenTest\n\nChange-Id: I12cb46cb771e65600a9daf3efce199fd9311a53b\n"
    },
    {
      "commit": "4480a6665cff9ec4810d3e4ac20d04920f60ddf4",
      "tree": "784bb9e9ec95f86f196632a7b3c81267bbdcc06c",
      "parents": [
        "e778a656fc0ed848056b9de12a0539734f13ce6e"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Thu Dec 08 18:52:30 2022 +0000"
      },
      "committer": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Thu Dec 08 18:52:30 2022 +0000"
      },
      "message": "Support multiple UsesConfiguration in proto format.\n\nBug: b/260704482\nTest: Dump_test\nChange-Id: If3b3574356957a18263272286b5eaea2465d9e62\n"
    },
    {
      "commit": "91a017b92297b4c5a41325c1a76ad82f4d393023",
      "tree": "92311942018943f3eb460372a8bc5743160fd44e",
      "parents": [
        "d8f625cc4ace613473fef4aed7d11abf7c71c18d",
        "73420439bcfdbca4672a2bc9f55e9144bfe22664"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 06 04:17:17 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 06 04:17:17 2022 +0000"
      },
      "message": "Merge \"Update fontchain_linter for non-compat font\" into tm-qpr-dev am: 73420439bc\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20615591\n\nChange-Id: I448a6e04b2f22caa8cf35cec82edcbcd56da3bf3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "11e64ca5c839069363826bc8f3c23c8ab3a516dc",
      "tree": "eed52468414676d1b5dd8cff218af0b5803b3da2",
      "parents": [
        "be69929b02f5353b7c494cfa6d8f63dbd2c8f69f"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 28 11:30:37 2022 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Dec 05 23:45:57 2022 +0000"
      },
      "message": "Update fontchain_linter for non-compat font\n\nBug: 255901351\nTest: m fontchain_lint\nChange-Id: If60de61504188a7222e2efa67705b8bf4400dbda\nMerged-In: If60de61504188a7222e2efa67705b8bf4400dbda\n"
    },
    {
      "commit": "302a7d905cd05e7e287f084557f947dfaf794869",
      "tree": "83074d5397e1f5d806f2369dee2edc4ab983bc0f",
      "parents": [
        "bd3b879b2d7cbd7ba9709889403575611deb67ea"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 01 16:27:09 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 02 16:43:55 2022 +0000"
      },
      "message": "SimpleManualPermissionEnforcementDetector: conditional ERROR level incident\n\nUse the new information available in @PermissionMethod to raise an\nERROR level incident if we are confident that migrating to\n@EnforcePermission is not behavior changing:\n - the called PermissionMethod returns void, indicating it *enforces*\n   that PackageManager.PERMISSION_GRANTED is true\n - the called PermissionMethod is annotated orSelf \u003d true, meaning it\n   passes of the calling process OR the current process has the\n   permission\n\nBug: 232058525\nTest: SimpleManualPermissionEnforcementDetectorTest\nChange-Id: Ic4be3d06d6b6446ee81560a6eda7bf9249db1f4c\n"
    },
    {
      "commit": "38e7db17fef3713daf0c5bca21eee8069604010d",
      "tree": "a22e57b53af35159335adcdfd59382e603893276",
      "parents": [
        "129a1053d2a57d914fda55492b30c24d29313178",
        "18814965a491185c1a89588e9448b7c940f6ae5f"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 02 15:23:08 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 15:23:08 2022 +0000"
      },
      "message": "Merge \"SimpleManualPermissionEnforcementDetector: minor cleanup\""
    },
    {
      "commit": "18814965a491185c1a89588e9448b7c940f6ae5f",
      "tree": "76ab941341d1f372d2728dbb0748ddd8797195e6",
      "parents": [
        "4a49ec0d0adff857a806a335b24f366018f391cf"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 01 14:42:51 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Dec 02 13:27:49 2022 +0000"
      },
      "message": "SimpleManualPermissionEnforcementDetector: minor cleanup\n\n- rename issue constant to match issue ID\n- move more logic into EnforcePermissionFix helper rather than detector\n  itself\n- fix indentation in test\n\nBug: 232058525\nTest: SimpleManualPermissionEnforcementDetectorTest\nChange-Id: I9b037806711cc0e9d113e308bfb1f802b56d4034\n"
    },
    {
      "commit": "78a8d373cad4d8c27bb09fa894a81f59c90cbbad",
      "tree": "2f1dcf9b523c3efa6f4087671aaa82fe37ecf6a8",
      "parents": [
        "b4de8520bfd80f14a9920b3fdcadb05f4d0d40b6"
      ],
      "author": {
        "name": "felkachang",
        "email": "felkachang@google.com",
        "time": "Wed Sep 14 15:17:29 2022 +0800"
      },
      "committer": {
        "name": "Felka Chang",
        "email": "felkachang@google.com",
        "time": "Thu Dec 01 13:53:31 2022 +0000"
      },
      "message": "Dump the deobfuscate data using Protocol buffers\n\nUsing Google Protocol buffers to dump the obfuscating mapping\ninformation of being used to deobfuscate items.\n* shortened file path -\u003e original file path\n* resource id -\u003e original resource name\n\nThis patch add a new option --save-obfuscating-map to deprecate\n--resource-path-shortening-map. The option\n--resource-path-shortening-map is kept until no one to use it.\n\nBug: 246489170\nBug: 228192695\n     b/228192695#comment2\nTest: make WITH_TIDY\u003d1 aapt2\nTest: atest aapt2_test\n\nChange-Id: I29733c4dbae9f6dd2f0e9b2c87b0d2046662fc59\n"
    },
    {
      "commit": "6757d436d9b6c5eaf4c6e518a0e174d89cd6a8c6",
      "tree": "18d0e5bc5a5b671425507f0920faec031ec377ab",
      "parents": [
        "026072cdb730d27559222937e99daf5950ca1e44",
        "8ceb39c94f3269dc91ff80eafdc31c12455bd019"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 12:33:42 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 12:33:42 2022 +0000"
      },
      "message": "Merge \"Use lambda to refactor the obfuscating resource name.\""
    },
    {
      "commit": "5e008b51fc730bfd39c28d37834edfea62f2a0b2",
      "tree": "5aa58343d79e24af986bcc50824b9bc376add76e",
      "parents": [
        "c04d8de7c494164f6a7c850ae279d759a5106d53",
        "f1e50acb913b053c28dc04eff8db2020cb5447a5"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Thu Dec 01 00:24:23 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 00:24:23 2022 +0000"
      },
      "message": "Merge \"Expose AndroidPackage#getStorageUuid\""
    },
    {
      "commit": "8ceb39c94f3269dc91ff80eafdc31c12455bd019",
      "tree": "7cb7466df83f88c57a836df8e4ae5ff68d6fe897",
      "parents": [
        "0eef7918aab2a7582b019d88967e8437b101991c"
      ],
      "author": {
        "name": "felkachang",
        "email": "felkachang@google.com",
        "time": "Tue Sep 13 10:58:49 2022 +0800"
      },
      "committer": {
        "name": "felkachang",
        "email": "felkachang@google.com",
        "time": "Wed Nov 30 17:46:25 2022 +0000"
      },
      "message": "Use lambda to refactor the obfuscating resource name.\n\nThere are 2 copy codes for handling the obfuscating resources names\nbetween serializing to pb format file and writing to apks. The\nobfuscator also needs to dump resources names. It means there are\n3 places to handle the obfuscating resources names.\n\nSo, using C++ lambda to apply the callback mechanism refactors the\ncodes.\n\nObfuscator\n* Initial a Obfuscator according to Optimizer\u0027s options\n* Add Obfuscator.IsEnabled() function.\n    return true either shorten_resource_paths_ is true or\n    collapse_key_stringpool_ is true.\n\nBug: 228192695\n\nTest: atest aapt2_test idmap2_test\n\nChange-Id: Idd2442beecf41e9392620ff801a36fd1285e06f9\n"
    },
    {
      "commit": "33f36e06a87330f3194c2eadae4cc9e033027e61",
      "tree": "57a408d2f6a35dcf7da5d1460eec415929462c5b",
      "parents": [
        "894ef374e538163d32ea29c370465c448edb7ced",
        "a577514789fc241abe15f793a66f19d6431f7769"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 16:22:19 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 16:22:19 2022 +0000"
      },
      "message": "Merge \"Make StringPiece to be std::string_view alias\""
    },
    {
      "commit": "4dbae54d6e07b4ac34abad358be11293298b87d9",
      "tree": "c2803e10c7d1f1aa4932ce49d51351249d4f1b32",
      "parents": [
        "0e73ae34d8738a247a4e12583ee3f2e15f70671d",
        "0df4e6d05f9d8a6107bb657600513171a796405e"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Wed Nov 30 15:32:38 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 15:32:38 2022 +0000"
      },
      "message": "Merge \"Fix compatibility between \u0027aapt2 dump\u0027 and \u0027aapt dump.\u0027.\""
    },
    {
      "commit": "0df4e6d05f9d8a6107bb657600513171a796405e",
      "tree": "d126c4d6e2c43d562e91174e3cdd3adfc7370e5d",
      "parents": [
        "f0f510e46d03a508c7edd8de48ef4b6761e90ff6"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Tue Nov 29 19:19:13 2022 +0000"
      },
      "committer": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Wed Nov 30 13:31:16 2022 +0000"
      },
      "message": "Fix compatibility between \u0027aapt2 dump\u0027 and \u0027aapt dump.\u0027.\n\n1. Report permissions declared only under \u003cmanifest\u003e.\n2. If the same feature reported multiple times: the last declaration\n   wins.\n\nBug: b/260704482\nTest: manual runs\nChange-Id: Ic9ff32573d2bf6550c3a01ed3019da83590eda2f\n"
    },
    {
      "commit": "a577514789fc241abe15f793a66f19d6431f7769",
      "tree": "662d9566d115f8bf76444ba8cbc18385255e53ab",
      "parents": [
        "0eef7918aab2a7582b019d88967e8437b101991c"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Nov 02 17:49:49 2022 -0700"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Tue Nov 29 21:46:02 2022 -0800"
      },
      "message": "Make StringPiece to be std::string_view alias\n\nBug: 237583012\nTest: build + boot + UTs\n\nChange-Id: I849831f4466d3b9c7ec842b75256e7fcba77a0c0\n"
    },
    {
      "commit": "7f0fb8234fefd971838c0b47489257cdc5a1c3b0",
      "tree": "44758885cd988f5a643c186af9d43130703b258c",
      "parents": [
        "be983bc36fa9b69a363a4e3525fba206cb4ef9ce",
        "5f7036df71263fbb2602f6f95c0ebe4466709cc7"
      ],
      "author": {
        "name": "Tyler Freeman",
        "email": "fuego@google.com",
        "time": "Tue Nov 29 23:43:18 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 23:43:18 2022 +0000"
      },
      "message": "Merge \"feat(non linear font scaling)!: add FontScaleConverter for non-linear font scaling.\""
    },
    {
      "commit": "5f7036df71263fbb2602f6f95c0ebe4466709cc7",
      "tree": "427f025d808ebf93dc9132877f8c1283ef2ca893",
      "parents": [
        "eb803fd53e0222285b5b475c0e120873933c430c"
      ],
      "author": {
        "name": "Tyler Freeman",
        "email": "fuego@google.com",
        "time": "Tue Nov 29 12:09:02 2022 -0800"
      },
      "committer": {
        "name": "Tyler Freeman",
        "email": "fuego@google.com",
        "time": "Tue Nov 29 12:09:02 2022 -0800"
      },
      "message": "feat(non linear font scaling)!: add FontScaleConverter for non-linear font scaling.\n\nNon-linear font scaling is meant to improve readability at larger font\nscales: larger fonts will scale up more slowly than smaller fonts, so we\ndon\u0027t get ridiculously huge fonts that don\u0027t fit on the screen.\n\nThe thinking here is that large fonts are already big enough to read,\nbut we still want to scale them slightly to preserve the visual\nhierarchy when compared to smaller fonts.\n\nThe FontScaleConverter converts SP dimensions to DP, to be used in\nTypedValue.applyDimension() which will affect most TextViews and font\nsizes automatically.\n\nFor now, all the lookup tables are hardcoded. A follow-up CL will make\nthem configurable via XML. The hardcoded arrays also default to a linear\ncurve, as to not break any tests. The non-linear curve will come in a\nfollow-up CL, to make it easier to roll-back if requested.\n\nAlso included is some Javascript to generate the hardcoded arrays, which\ncan later be manually tweaked and optimized.\n\nTest: unit, CTS, and manual:\n1. Run `adb shell settings put system font_scale 2.0`\n2. Check different apps to see if they are readable.\n\nBug: b/237558231\n\nChange-Id: I17d67252bf31f55e57e1f3e8a0f638770e6d2cfd\n"
    },
    {
      "commit": "f1e50acb913b053c28dc04eff8db2020cb5447a5",
      "tree": "b9a10cb7f56aac1faea3eac5a2b39efa55810552",
      "parents": [
        "6e67aa16bd630465c8494f889c3ec54637b9aba3"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Thu Oct 20 22:22:08 2022 +0000"
      },
      "committer": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Tue Nov 29 18:03:57 2022 +0000"
      },
      "message": "Expose AndroidPackage#getStorageUuid\n\nThe system internally passes around a String, but to mirror the\npublic ApplicationInfo API, PackageState and related\ninfrastructure will act on real UUIDs.\n\nThese can be converted with StorageManager#convert, although it\u0027s\nexpected that any exposed @SystemApi methods will just take the\nUUID as a paramter.\n\nBug: 254029038\n\nTest: atest AndroidPackageTest\n\nChange-Id: I93e0f04b4d5c93cd534d393057f2c0d7f61418df\n"
    },
    {
      "commit": "afc3a227828fe73ceedaa352105e3fde9f43b899",
      "tree": "1267517ed827461cad2659c503a4b711d05fceca",
      "parents": [
        "b769860c31cec33df924204c62d555aa1bf26e88"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Nov 22 13:43:11 2022 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Nov 28 23:53:03 2022 +0000"
      },
      "message": "Create AndroidGlobalLintChecker\n\nThis change creates a separate lint jar \"AndroidGlobalLintChecker\".  This set of custom checks that is intended to be global.  These checks should run across the entire tree, not just the framework.\n\n- separate lint checking code broadly into \"common\", \"framework\", and\n  \"global\"\n- publish AndroidGlobalLintChecker into the android distribution for\n  consumption by prebuilts/cmdline-tools\n\nBug: 236558918\nTest: AndroidGlobalLintCheckerTest\nChange-Id: Ib1606a7bc8adfab2f13974e7366288a4e44bbfa2\n"
    },
    {
      "commit": "635b108cc670858f5b0237813cdf42e93588633a",
      "tree": "88f4364dfc63d8acaf37e0f748947059fbf502fc",
      "parents": [
        "607bdbf7139f41d7f6abb0122051a4d1487482c8"
      ],
      "author": {
        "name": "Azhara Assanova",
        "email": "azharaa@google.com",
        "time": "Thu Nov 24 10:32:11 2022 +0000"
      },
      "committer": {
        "name": "Azhara Assanova",
        "email": "azharaa@google.com",
        "time": "Mon Nov 28 17:19:53 2022 +0000"
      },
      "message": "Create parent class for permission enforcement annotation detectors\n\nIntroduce AidlImplementationDetector - an abstract class for detectors\nthat analyse methods implementing generated AIDL interface stubs.\n\nRefactor ManualPermissionCheckDetector into\nSimpleManualPermissionEnforcementDetector that inherits from\nAidlImplementationDetector.\n\nBug: 260314719\nTest: SimpleManualPermissionEnforcementDetectorTest\nChange-Id: I6221be50b3b358885404894ba158797bb8ea85e4\n"
    },
    {
      "commit": "0caeab98806cc1cd5e90d37a4a5cf6299396688d",
      "tree": "fe4bee4d99e5ae6bce4e14255e500179ffeeed5b",
      "parents": [
        "1f74ea0d3501bfa87a09ae878455b9e8e37611bf"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Nov 23 12:49:29 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Nov 24 17:46:48 2022 +0000"
      },
      "message": "Print the text error instead of number\n\nCurrently, we just print a number, which is not helpful. Let\u0027s print an\nactual error message instead.\n\nBug: 260115731\nTest: m \u0026\u0026 validatekeymaps input.idc\nChange-Id: Iad9f4ecd0f9cd847bbc2d4a2e34a64182bced6dc\n"
    },
    {
      "commit": "478a9a158150103c9447c118b1c9ffe383e84ecb",
      "tree": "508a9da6c85f5b3634a1c625e60fbc238f8ad2bc",
      "parents": [
        "c4303e5557b7de443c270c4106f4fe5598b7e7bb",
        "0ddda1e5b6eb95aceed45f468dbe77ab04e6957c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 23 17:47:16 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 23 17:47:16 2022 +0000"
      },
      "message": "Merge \"Use asm built from source in framework tools.\" am: bc0e39459f am: fef043d4ea am: 0ddda1e5b6\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2304515\n\nChange-Id: Id7a17efce6a770ac4eace59945142761ca803c80\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fef043d4ea9dbbe07dcf910689b895ec46722583",
      "tree": "e09806d16dfb826150321645ae84ee91cf09fb76",
      "parents": [
        "d14460ea9c70a9863317fb1a203bf5ad0e99e186",
        "bc0e39459f222e600b3091c257221c7f764ce253"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 22 22:08:34 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 22 22:08:34 2022 +0000"
      },
      "message": "Merge \"Use asm built from source in framework tools.\" am: bc0e39459f\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2304515\n\nChange-Id: Ia0943806c68112d09e06997e76543aad36b84ec4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f726d7a90eca7f0681024a722b25846f2ce750c6",
      "tree": "cb82db32d5d30bdc00e16c0ca4c155827b750e04",
      "parents": [
        "b7134cd71d848de8a2c88e2ee40b9cd93422972c",
        "28bc7eed7ae51060e70de240fcb57f3d94c4012d"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Tue Nov 22 14:51:07 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 14:51:07 2022 +0000"
      },
      "message": "Merge \"Reduce overhead of writing logcat from protolog method\""
    },
    {
      "commit": "28bc7eed7ae51060e70de240fcb57f3d94c4012d",
      "tree": "5d9ca5c3ce0ceb0494c6a856d4d079f514a40cd1",
      "parents": [
        "bdc9177efd6a295f29a9ac1485f5c9c7f82c7781"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Nov 18 16:11:26 2022 +0000"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Tue Nov 22 14:41:37 2022 +0000"
      },
      "message": "Reduce overhead of writing logcat from protolog method\n\nString.format contains more loop, creates more temporary object\nwith more conditions than TextUtils.formatSimple.\n\nAnd the basic syntax provided by formatSimple is enough for use\nso far, it would be better to reduce the general cost while\nenabling logcat output of protolog.\n\nBug: 259683790\nTest: atest ProtoLogImplTest ProtoLogIntegrationTest LogParserTest\nChange-Id: Icbf55c9e75c2343a961a57f83823a90e1f057075\n"
    },
    {
      "commit": "5f86cf89eeec626604a0b83a15445330c7f9b95f",
      "tree": "3b20fa0428fd7f439ea7281d5f26392430f3e9fe",
      "parents": [
        "bdc9177efd6a295f29a9ac1485f5c9c7f82c7781",
        "1a9701a13805e9acd14957a18f7fa9133d2114d9"
      ],
      "author": {
        "name": "Calvin Pan",
        "email": "calvinpan@google.com",
        "time": "Fri Nov 18 07:24:43 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 18 07:24:43 2022 +0000"
      },
      "message": "Merge \"Support Hyphenation for Polish\""
    },
    {
      "commit": "1a9701a13805e9acd14957a18f7fa9133d2114d9",
      "tree": "405a91fa3d45a77faf6f7ff59e8e38b6ba501e10",
      "parents": [
        "51ad0567d31bc8b63cf63ab06a3268f50570f746"
      ],
      "author": {
        "name": "Calvin Pan",
        "email": "calvinpan@google.com",
        "time": "Tue Jul 05 13:09:09 2022 +0800"
      },
      "committer": {
        "name": "Calvin Pan",
        "email": "calvinpan@google.com",
        "time": "Fri Nov 18 12:46:30 2022 +0800"
      },
      "message": "Support Hyphenation for Polish\n\nBug: 219528863\nTest: atest android.graphics.text.cts.HyphenationTest\nChange-Id: I160512edd28e9b064607280ac88f6fca48c4aa6f\n"
    },
    {
      "commit": "7a378b266f29067466d6ae1a23758f5084a36893",
      "tree": "a54d83a472ecd7ffaa1b099c66b1c8c5b95b0a3b",
      "parents": [
        "a485aa6f42a65a6275335eae8de735215f357112",
        "a1f2bce0e56185d8a3ddbbb75cf9daacdcb5a3d2"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Thu Nov 17 00:17:07 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 00:17:07 2022 +0000"
      },
      "message": "Merge \"androidfw: Add support for 16-bit entry offsets\""
    },
    {
      "commit": "a485aa6f42a65a6275335eae8de735215f357112",
      "tree": "54d72b9b4e25ce47b84af02c028da881cba6dc4d",
      "parents": [
        "69ad733b101ec256ed04e736a3de6115f47dd620",
        "368cd19d031f5a0b219ea92531d11ccb0ee66c4d"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Thu Nov 17 00:16:16 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 00:16:16 2022 +0000"
      },
      "message": "Merge \"androidfw: Add support for compact resource entries\""
    },
    {
      "commit": "cc60d70681f69608fbe33c009f0748c0578bf92e",
      "tree": "0caa85ea2dd0b3059fcc5723d70d0d081ad05d07",
      "parents": [
        "4c2c7168fde0a6a2cbc4b1de956b4a3835ada416"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Sep 29 15:12:43 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Nov 16 19:26:39 2022 +0000"
      },
      "message": "Add EnforcePermissionHelper lint\n\nEnsure that implementations of methods annotated with @EnforcePermission\ncall super.methodName_enforcePermission() as the first expression.\n\nBug: 247764856\nTest: EnforcePermissionHelperDetectorTest\nChange-Id: I8d6961e0183ad8c63891a4c7afcee13c216045fd\n"
    },
    {
      "commit": "f346762e6f0970999454bc424ac2cbc7461ef841",
      "tree": "0eae1edc9fd172b97d63fe5eb81fe4fd8650548c",
      "parents": [
        "8ea0d57f8df7bba4f1037fb9c499fde067a3ac62"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Nov 16 19:04:24 2022 +0000"
      },
      "committer": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Nov 16 19:04:24 2022 +0000"
      },
      "message": "Use asm built from source in framework tools.\n\nBug: 259136464\nTest: presubmit\nChange-Id: I804c89def0512e948e80672f94ff936d11a1ee27\n"
    },
    {
      "commit": "a1f2bce0e56185d8a3ddbbb75cf9daacdcb5a3d2",
      "tree": "3df57d49a29da88522a45388cb9aaecabada23bd",
      "parents": [
        "368cd19d031f5a0b219ea92531d11ccb0ee66c4d"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Mon Sep 12 11:37:37 2022 -0700"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Tue Nov 15 12:15:38 2022 -0800"
      },
      "message": "androidfw: Add support for 16-bit entry offsets\n\nBug: 237583012\n\nMost offsets to the entries can be well encoded in 16-bit,\nand given entries are 4-byte aligned, this gives us a range\nof entry offsets from 0x00000 to 0xfffe * 4u, with 0xffffu\nto represent ResTable_type::NO_ENTRY.\n\nFor now, 16-bit entry offset will be enabled only when:\n\n * all the entry offsets can be represented in 16-bit\n * --enable-compact-entries switch is turned on\n\nChange-Id: I1c815c052aa5fba6eab2529434d31d7714c13694\n"
    },
    {
      "commit": "368cd19d031f5a0b219ea92531d11ccb0ee66c4d",
      "tree": "ea6aa74fa746c043112705fdb08438abf782717b",
      "parents": [
        "b0d0974aeba2b0498f5f576ff38012ac94b909a8"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Fri Sep 09 15:46:14 2022 -0700"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "ericymiao@google.com",
        "time": "Tue Nov 15 12:12:33 2022 -0800"
      },
      "message": "androidfw: Add support for compact resource entries\n\nBug: 237583012\n\nGiven the large number of simple resources such as strings in\nAndroid resources, their ResTable_entry and Res_value can be\nencoded together in a compact way.  This allows a significant\nsaving in both storage and memory footprint.\n\nThe basic observations for simple resources are:\n\n* ResTable_entry.size will always be sizeof(ResTable_entry)\n  unless it\u0027s a complex entry\n\n* ResTable_entry.key is unlikely to exceed 16-bit\n\n* ResTable_entry.flags only uses 3 bits for now\n\n* Res_value.size will always be sizeof(Res_value)\n\nGiven the above, we could well encode the information into\na compact/compatible structure.\n\n  struct compact {\n      uint16_t key;\n      uint16_t flags;\n      uint32_t data;\n  };\n\nThe layout of this structure will allow maximum backward\ncompatibility. e.g. the flags will be at the same offset,\nand a\n\n  `dtohs((ResTable_entry *)entry-\u003eflags) \u0026 FLAG_COMPACT`\n\nwould tell if this entry is a compact one or not. For a\ncompact entry:\n\n  struct compact *entry;\n\n  entry_size  \u003d\u003d sizeof(*entry)\n  entry_key   \u003d\u003d static_cast\u003cuint32_t\u003e(dtohs(entry-\u003ekey))\n  entry_flags \u003d\u003d dtohs(entry-\u003eflags) \u0026 0xff\t// low 8-bit\n  data_type   \u003d\u003d dtohs(entry-\u003eflags) \u003e\u003e 8\t// high 8-bit\n  data_size   \u003d\u003d sizeof(Res_value)\n  data_value  \u003d\u003d dtohl(entry-\u003edata)\n\nTo allow minimum code change and backward compatibility,\nwe change \u0027struct ResTable_entry\u0027 to \u0027union ResTable_entry\u0027,\nwith an anonymous structure inside that\u0027s fully backward\ncompatible. Thus, any existing reference such as:\n\n  ResTable_entry *entry \u003d ...\n  if (dtohs(entry-\u003eflags) \u0026 ResTable_entry::FLAG_COMPLEX) ...\n\nwould still work.\n\nHowever, special care needs to be taken after an entry is\nobtained, and when value needs to be extracted.\n\nA compact entry will not encode a complex value, and hence\ncomplex entries/values are handled the same way.\n\nChange-Id: I15d97a4f5e85fab28c075496f7f0cf6b1fcd73e3\n"
    },
    {
      "commit": "9db035899ef61199ca18044fa62643b99c112fde",
      "tree": "6f0696e09805e9982f827f4ddfc6477e1bc7e6f0",
      "parents": [
        "94b7000c54aa1ca27b6125fe2d118561a21c9ba5",
        "e70bbb1ecf437382d06f8fa0d172999d60602a6d"
      ],
      "author": {
        "name": "Rico Wind",
        "email": "ricow@google.com",
        "time": "Sat Nov 12 13:51:24 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 12 13:51:24 2022 +0000"
      },
      "message": "Merge \"Add support for DynamicRefTable when serializing/deserializing proto\""
    },
    {
      "commit": "a7ba6b68139bbd0d092da8e1f9f99a2357688b63",
      "tree": "9668a1a03f20000bcf3d863f97f80046b240e239",
      "parents": [
        "f0f510e46d03a508c7edd8de48ef4b6761e90ff6"
      ],
      "author": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Fri Nov 11 17:59:57 2022 +0000"
      },
      "committer": {
        "name": "Iurii Makhno",
        "email": "iuriimak@google.com",
        "time": "Fri Nov 11 18:32:13 2022 +0000"
      },
      "message": "Do not validate localeConfig if it is referenced as external symbol.\n\nBug: b/258816606\nTest: Link_test\nChange-Id: I5dd4aa75c02ceebad26d025a99ba302ec673abf8\n"
    },
    {
      "commit": "e70bbb1ecf437382d06f8fa0d172999d60602a6d",
      "tree": "e05af29937cdc05f5766f881c5906851025261bb",
      "parents": [
        "18d04605141e86b8815f49fec260a62752bb1e33"
      ],
      "author": {
        "name": "Rico Wind",
        "email": "ricow@google.com",
        "time": "Fri Nov 11 09:37:54 2022 +0100"
      },
      "committer": {
        "name": "Rico Wind",
        "email": "ricow@google.com",
        "time": "Fri Nov 11 09:37:54 2022 +0100"
      },
      "message": "Add support for DynamicRefTable when serializing/deserializing proto\n\nTest: make aapt2_tests\nBug: 239390219\nBug: 237783271\nChange-Id: I768f9167117c3a85c4dcabf2ece8a31e277c1e98\n"
    },
    {
      "commit": "32dfb93e3743e6af9ee293941ab641204cf5e5c9",
      "tree": "e9c5a3b077fb62b8632e5c33b8215b899a091dcb",
      "parents": [
        "80dff080403707a4968020b80f91bf8aea2fbb26",
        "d4f2a8e74721414750ece4ea5ca7043477d0cf49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 07 19:19:53 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 07 19:19:53 2022 +0000"
      },
      "message": "Merge \"Use Guava built from source in tools.\" am: 927a9ea7b9 am: b1e981dd69 am: d4f2a8e747\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2288134\n\nChange-Id: I03fdf5dda4d206cc597f0045f2ad7969a5410e6f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b1e981dd6982e93b3fe9719bea9ba25d1765cb77",
      "tree": "3ff8bfdbadd64ecb407cef8832ea4b9fe00bdeff",
      "parents": [
        "2f81ba23b182f6809ad714b53d5a3d886d239ab5",
        "927a9ea7b9734deef0302b1b83678777b4c4d20d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 07 18:02:40 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 07 18:02:40 2022 +0000"
      },
      "message": "Merge \"Use Guava built from source in tools.\" am: 927a9ea7b9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2288134\n\nChange-Id: I26370d3d3156e4a98ed4dae089f00ff993fd686b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7bd76c43c6d04707e7fce6c6a4019bbad98465bd",
      "tree": "be55a50189beef057e0502c1793d6bc1e1f5e824",
      "parents": [
        "fbfc1da075f5c5f3f77fd0f7e0a2daeb740191fc"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Fri Nov 04 21:40:30 2022 +0000"
      },
      "committer": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Fri Nov 04 21:40:30 2022 +0000"
      },
      "message": "Use Guava built from source in tools.\n\nBug: 244341573\nTest: presubmit\nChange-Id: I401a191b414185a299ca1f28372770ff424171c4\n"
    },
    {
      "commit": "5dedf4cdefd0d17039fbdf0a6937db6dffc755b7",
      "tree": "a8fc8350be35d56a0521a72a9cfc1b933c22ad22",
      "parents": [
        "8522d85bceaef5386d157c488848d7e6d8bb1261",
        "a35bf78caae3eb1bd4b35c2e7988890d01b6f4c8"
      ],
      "author": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Fri Nov 04 18:06:01 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 18:06:01 2022 +0000"
      },
      "message": "Merge \"Fixing edge cases that @string references passed in path parts.\""
    },
    {
      "commit": "a35bf78caae3eb1bd4b35c2e7988890d01b6f4c8",
      "tree": "db0edc25b1780d51bfff0e2f8f42d810e94da33b",
      "parents": [
        "e7c1acdf9ac07f59a236bcbf7c2426653c5478b8"
      ],
      "author": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Thu Nov 03 19:04:31 2022 +0000"
      },
      "committer": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Thu Nov 03 21:17:58 2022 +0000"
      },
      "message": "Fixing edge cases that @string references passed in path parts.\n\nBug: b/241114745\nTest: Added and verified affected atests pass\nChange-Id: Ia7048222bf91aa3ce02e090789e9af05bbed97e1\n"
    },
    {
      "commit": "e7e383e0324533ff3b6d431486f8e7c292cd2fa0",
      "tree": "5d400bb6d150a548d41a01e75b8477020a091a7a",
      "parents": [
        "607ba2fbe34d3219b852811d7ce8adeceecd151d"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 28 11:30:37 2022 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 28 11:30:37 2022 +0900"
      },
      "message": "Update fontchain_linter for non-compat font\n\nBug: 255901351\nTest: m fontchain_lint\nChange-Id: If60de61504188a7222e2efa67705b8bf4400dbda\n"
    },
    {
      "commit": "3cff2550cace59b26374a3eea76555915cc45dfb",
      "tree": "3e2f9615e8d34e912be838ee77a291cbcd190dec",
      "parents": [
        "316f451fb6b68714ce98f31a535763bd08d9e9a5"
      ],
      "author": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Wed Oct 19 18:51:07 2022 +0000"
      },
      "committer": {
        "name": "Brandon Liu",
        "email": "branliu@google.com",
        "time": "Tue Oct 25 17:50:32 2022 +0000"
      },
      "message": "Force path parts in intent filter with deeplinks to have leading slash.\n\nBug: 241114745\nTest: Added and verified affected atests pass\nChange-Id: I1aa5148b1b0722e9fde33be6cbb6277ebfb6e10d\n"
    },
    {
      "commit": "ab3f6695d9c45ad0247ce27c76a033fe09a1f429",
      "tree": "d875797508e1646ef14060050f8cc76481540fa5",
      "parents": [
        "e491de2d288af45765da0c24d3b37d485d735ded",
        "69dec36abefb81658dcedc6d3cab28b423cb139a"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Oct 19 15:43:05 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 15:43:05 2022 +0000"
      },
      "message": "Merge \"Refactor ManualPermissionCheckDetector for @PermissionMethod\""
    },
    {
      "commit": "69dec36abefb81658dcedc6d3cab28b423cb139a",
      "tree": "5e112b06318fd64cf6f52eebdb81bb65b9788d94",
      "parents": [
        "d43602bbdd098862d6f088b9e0b38b6feecc70a8"
      ],
      "author": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Sep 30 00:37:44 2022 +0000"
      },
      "committer": {
        "name": "mattgilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Oct 19 13:27:23 2022 +0000"
      },
      "message": "Refactor ManualPermissionCheckDetector for @PermissionMethod\n\nUses @PermissionMethod/@PermissionName annotations to find and auto-fix\n\"manual\" permission checks that can be migrated to @EnforcePermission\n(as opposed to a hard-coded list of known permission methods).\n\nBug: 247537842\nTest: ManualPermissionCheckDetectorTest\nChange-Id: Ibd842f0e64e2006954bffa24c7fe394903dd7b61\n"
    }
  ],
  "next": "f3ee72ce56a5a517ecdfd1cce625c1efd1d9d5f0"
}
