)]}'
{
  "log": [
    {
      "commit": "4e5da3e9d7459e3d983db943ebf3cb4c36af9c60",
      "tree": "cfea34ac39f02a7b9823a2903a6067e94bcfdd71",
      "parents": [
        "838793dc39746fd0eba99daaa0f62f8a402777e5"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Jan 21 11:54:36 2021 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Jan 28 16:56:59 2021 -0500"
      },
      "message": "Pass apex_info.pb file to delta_generator\n\ntarget_files contain META/apex_info.pb, which contains metadata about\ncompressed apexes. Extract this file from target_file.zip, and pass it\nto delta_generator. delta_generator will then copy these data to\nupdate_metadata\n\nTest: generate an OTA\nBug: 172911822\nChange-Id: Ia4babb9e711a92f2b78ef8e1dd6ad35d0a2bb5a8\n"
    },
    {
      "commit": "838793dc39746fd0eba99daaa0f62f8a402777e5",
      "tree": "1173db93bffda2cf3bdbdeedc759548c003d1163",
      "parents": [
        "8e2dce0ccc2699a0df9d8473fa586811f4b1b69c"
      ],
      "author": {
        "name": "Tianjie",
        "email": "xunchang@google.com",
        "time": "Thu Jan 14 22:05:13 2021 -0800"
      },
      "committer": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Thu Jan 28 18:26:59 2021 +0000"
      },
      "message": "Calculate vbmetadigest of inactive slot\n\nWe want to improve the security of the keystore encryption key for resume\non reboot. One AI is to create the key with the vbmeta digest of the\nnext slot to boot into. After reboot, the decryption will fail if\nro.boot.vbmeta.digest of the new slot doesn\u0027t match the calculated value\nbefore reboot.\n\nSince update_engine manages the slot switch, let it calculate the digest\nas well.\n\nBug: 177625570\nTest: do a update, check that the sysprop is set.\n\nChange-Id: I74b20fca72f6946d980b93d76990f1c8b8f246a9\n"
    },
    {
      "commit": "8e2dce0ccc2699a0df9d8473fa586811f4b1b69c",
      "tree": "9c5375920912b062968fd99d933f9d338efcd37a",
      "parents": [
        "95f89e9add8c6ab12d70935d3327f2576d4aa1df"
      ],
      "author": {
        "name": "Mohammad Samiul Islam",
        "email": "samiul@google.com",
        "time": "Wed Jan 20 21:33:54 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 27 07:11:01 2021 +0000"
      },
      "message": "Add ApexInfo field to update_metadata.proto\n\nApexInfo defination has been duplicated from ota_metadata.proto\n\nBug: 172911822\nTest: m\nTest: atest update_engine_unittests:PayloadPropertiesTest\nChange-Id: Ife95e27977be1e32999d9777b226e0eeb644f3fc\n"
    },
    {
      "commit": "95f89e9add8c6ab12d70935d3327f2576d4aa1df",
      "tree": "e985072eaf5140fd8f4987f362dd4d06a9455f96",
      "parents": [
        "66a9ebbf3bcc80cfc2c31d36176882f8cf83b1c5"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Tue Jan 26 22:33:11 2021 +0900"
      },
      "committer": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Tue Jan 26 22:33:13 2021 +0900"
      },
      "message": "Specify version for aidl_interface explicitly\n\nBug: 150578172\nTest: m\nChange-Id: I1549def20b8ff69c6bf9e46dc7dd201df62b3f59\n"
    },
    {
      "commit": "66a9ebbf3bcc80cfc2c31d36176882f8cf83b1c5",
      "tree": "912c75fb6ca00fabad6818a562cf9fa11f6ddb9d",
      "parents": [
        "b9a5f61c2e076838d64c31ba16471094a3e1053a"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Jan 25 13:35:10 2021 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Jan 25 13:40:01 2021 -0500"
      },
      "message": "Correctly propagate not_in_payload flag\n\nWhen mapping partitions, not_in_payload flag decides if the partition\nneeds to be mapped as a snapshot backed by COW, propagate this flag.\n\nTest: treehugger\nChange-Id: I9f0073fb91067410978927e59bf51c4f2cd152e6\n"
    },
    {
      "commit": "b9a5f61c2e076838d64c31ba16471094a3e1053a",
      "tree": "6ed05506e88efa6ba1d14d5b44d5402ee42f73cf",
      "parents": [
        "ad8ea1059bf8a68d25fc3883b7c20f8f41207de7"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Jan 22 14:34:05 2021 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Jan 22 14:35:44 2021 -0500"
      },
      "message": "Don\u0027t use VABC in recovery\n\nTest: boot into recovery, make sure OTA works\n\nChange-Id: I672d18806b2dbaf259ede406ef49f9baed2d0c6e\n"
    },
    {
      "commit": "ad8ea1059bf8a68d25fc3883b7c20f8f41207de7",
      "tree": "311aa495b00070720498c2e468f6e4b4c5dbc485",
      "parents": [
        "22b62e4133bd7ea028f04409e9cb0ec09d45e8db"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Jan 14 10:14:44 2021 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Jan 20 09:42:40 2021 -0500"
      },
      "message": "Add a \"vabc_enabled\" flag to update_metadata\n\nWhen doing a downgrade build, the target build might not support vabc.\nSo disable vabc in this case.\n\nTest: treehugger\nChange-Id: Ie5a56adf99b495a40d1caafbda6466181da1bc10\n"
    },
    {
      "commit": "22b62e4133bd7ea028f04409e9cb0ec09d45e8db",
      "tree": "a826e1ed07d5a7036985cce6d36a3ebdb86db121",
      "parents": [
        "bb8e999e212f339a61a55dc91d7572c6b993e852"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Dec 14 14:50:40 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Jan 05 10:07:54 2021 -0500"
      },
      "message": "Remove two pointers of delta performer\n\nTest: treehugger\nBug: 176087961\nChange-Id: I00fa7b5ba508a31162a986f50034ceeb34becbfd\n"
    },
    {
      "commit": "bb8e999e212f339a61a55dc91d7572c6b993e852",
      "tree": "ed0c2cf00d663e01b1ca013e01f66a8dc094a99a",
      "parents": [
        "cf4600e1582f3001a26b4430a5ffbfe23b3ff4d1"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Dec 28 10:28:48 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Jan 04 18:54:00 2021 -0500"
      },
      "message": "Move signature persistence to CheckpointUpdateProgress\n\nAfter update_engine extracts the signature, it immediately saves it to\ndisk. However, if the signature is saved but subsequent update\ncheckpoint isn\u0027t saved for some reason, resume will fail. Therefore we\nmove the signature saving logic to CheckpointUpdateProgress()\n\nTest: treehugger\nBug: 176087961\nChange-Id: Iccb6854eaf07c7b81272376e685df43015ea46e2\n"
    },
    {
      "commit": "cf4600e1582f3001a26b4430a5ffbfe23b3ff4d1",
      "tree": "05b10c5bf52e457d20c93bf04ce9d2fe8fb205c4",
      "parents": [
        "3265b317b39edea86b5351029092b7728ca8461b"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Oct 27 15:50:33 2020 -0400"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Jan 04 18:51:11 2021 -0500"
      },
      "message": "Use string_view for pref interface to reduce copy\n\nIf you pass in a static string literal like \"Hello World!\", then with\nparameter type of const string\u0026 you need to construct a new string\nobject, requiring a copy. It will also require a copy if your data is in\nanother container, for example std::vector\u003cchar\u003e . In update_engine, we\nstore manifest bytes in std::vector, and sometimes we want to save that\nmanifest to disk. This CL can help us reduce copy of the manifest(up to\n2MB).\n\nTest: treehugger\nChange-Id: I70feb4c0673c174fd47f02c4bd41994f74cda743\n"
    },
    {
      "commit": "3265b317b39edea86b5351029092b7728ca8461b",
      "tree": "c126570ace62be215c19f74e1c73eb254a121716",
      "parents": [
        "44858971e0a0c71fa1828f1dae9381e896facf62"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 16 15:51:30 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 16 16:00:45 2020 -0500"
      },
      "message": "Unconditionally save checkpoints when force \u003d true\n\nWhen saving update progress, we skiip a checkpoint if operation_num\nisn\u0027t changed. But sometimes buffer offset changes without changing\noperation num, namely, when we extract signature. If a checkpoint is\nsaved immediately before we extract signature, then we will skip the\ncheckpoint after signature is extracted, causing the on disk pref to\ncontain incorrect buffer_offset.\n\nPref causing resume failure: kPrefsUpdateStateNextDataOffset\nLocation on disk: /data/misc/update_engine/prefs/update-state-next-data-offset\n\nTest: treehugger, serve an OTA update w/o slot switch then perform slot\nswitch\nBug: 175785279\n\nChange-Id: Iea2b0b27e1af40e1961a04019e7dd498c02feb13\n"
    },
    {
      "commit": "44858971e0a0c71fa1828f1dae9381e896facf62",
      "tree": "cdb340e9f5ef9a44fe5cb1f06f7257a9646ad4bc",
      "parents": [
        "ead9fd765fb5da10e081d1d15ccf66ed36138a80"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Nov 11 09:25:01 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 16 14:21:28 2020 +0000"
      },
      "message": "Add unittest for filesystem verification action\n\nTest: treehuggre\nChange-Id: I03f69b7add96eaa481b1152a1425f4cb669d1113\n"
    },
    {
      "commit": "ead9fd765fb5da10e081d1d15ccf66ed36138a80",
      "tree": "40fbda33bd86dbb88ebf3aef28c704881d774300",
      "parents": [
        "5c1451f87b52676e0e6d051fe2fcb0f7b8d568d8"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Dec 03 12:57:35 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 15 09:58:46 2020 -0500"
      },
      "message": "Add unittest for load cache manifest success path\n\nAdd a unittest that generates a valid manifest, signed with unittest\nkeys. Then assert that download action can load the cached manifest\ncorrectly.\n\nSince the unittest keys are RSA keys, we add support for RSA keys to\npayload_verifier\n\nTest: treehugger\nChange-Id: Iebf4bd740ad2c18f4e71527eeee4c12e3f8e7dea\n"
    },
    {
      "commit": "5c1451f87b52676e0e6d051fe2fcb0f7b8d568d8",
      "tree": "112dbc5ab0f066d24d33447ffc1c2c1cdc837d41",
      "parents": [
        "576efc53d5499558c911dbe476487016f9490592"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 02 17:01:54 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Dec 14 19:44:40 2020 -0500"
      },
      "message": "Remove cros specific bits from aosp\n\nTest: treehugger\nBug: 175042161\nChange-Id: I580ec94f0b336f4ad2cb706da531668718554e1d\n"
    },
    {
      "commit": "576efc53d5499558c911dbe476487016f9490592",
      "tree": "3a0174c617b10f0dfe70f336ebe2878b672819aa",
      "parents": [
        "eb8703b9f6db3fb386507b71f180c98ca3137638"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 12:06:40 2020 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 14 19:28:58 2020 +0000"
      },
      "message": "Add host side simulation python script\n\nThis enables host side simulation of partial updates with the original\ncomplete target file\n\nBug: 171519321\nTest: run this script with a partial update\n\n     python3 simulate_ota.py --source\n     ~/aosp/aosp_cf_x86_phone-target_files-6949164.zip --target\n     ~/aosp/aosp_cf_x86_phone-target_files-6937553.zip\n     ~/aosp/cf_x86_downgrade.zip\n\nChange-Id: Iec52d8ac585b499d50bdb0c89d203ea353f2e94f\n"
    },
    {
      "commit": "eb8703b9f6db3fb386507b71f180c98ca3137638",
      "tree": "4ff2fa699bce95cb19a9757c3c1c4bbe980342a9",
      "parents": [
        "58480ef4e5de419e43d69ec3d915267730ff1b90"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Dec 10 14:17:21 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sun Dec 13 12:28:23 2020 -0500"
      },
      "message": "Always write SOURCE_COPY blocks in reverse order\n\nTest: treehugger\nBug: 174112589\nChange-Id: If95893569ab41d1806f266aa269722b403a50fa4\n"
    },
    {
      "commit": "58480ef4e5de419e43d69ec3d915267730ff1b90",
      "tree": "60482de52d9b0b6cd9d88fe37d944a469eeaec13",
      "parents": [
        "cfe694f9ac1676444a5e535f2b7e7bb3230756b5"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 08 18:06:05 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Dec 10 23:16:30 2020 +0000"
      },
      "message": "Avoid self-overpping SOURCE_COPY ops by split them\n\nsnapuserd doesn\u0027t like self-overlapping copy operations. So we need to\nsplit these operations. See linked bugs for examples.\n\nBug: 175137108\nTest: treehugger\nChange-Id: I24dca63ae89849330561fc26d9f2038982ed7ef2\n"
    },
    {
      "commit": "cfe694f9ac1676444a5e535f2b7e7bb3230756b5",
      "tree": "1f9b9a03eacc7b9f1c459e7f23ef9ca441e48365",
      "parents": [
        "90560211dd162ff558e953ee03ac4b8c50bf3dec"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 13:10:42 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Dec 10 20:29:40 2020 +0000"
      },
      "message": "Add unittest for set next op index\n\nIn order to add this unittest, we need to ensure that a checkpoint is\nsaved after each InstallOp. However, current logic throttles checkpoint\nby time, it also skips checkpoint if buffer offset is the same. To\naddress these issues,\n        1. Add a ShouldCheckpoint() to control whether to throttle\n        checkpoint based on time, unittest overrides this and just\n        return true\n        2. Modify logic to only skip a checkpoint if operation_index\n        hasn\u0027t changed. For SOURCE_COPY operations, buffer offset won\u0027t\n        be advanced but operation index will.\n\nTest: treehugger\nChange-Id: Ib81bfe0c4ecb7200096b4b22390fb1f2fcff1581\n"
    },
    {
      "commit": "90560211dd162ff558e953ee03ac4b8c50bf3dec",
      "tree": "708a851cb1cfb1cfc796d77943733103ad5b1d5d",
      "parents": [
        "47c7d7f50cda10798afc76f418b3626a7e52a376"
      ],
      "author": {
        "name": "Håkan Kvist",
        "email": "hakan.kvist@sony.com",
        "time": "Thu Nov 26 16:32:29 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 10 20:05:44 2020 +0000"
      },
      "message": "For ext4 filesystem log if created/modified timestamp differs\n\nIf a filesystem has been written to without being remounted (e.g fsck),\nlog filesystem timestamps.\n\nThis information could help understanding why there is a checksum\nfailure when applying an update and device has not been remounted.\n\nBug: 174577460\nTest: Inspect logs when installing ota on a device where fsck has force\n      checked an ext4 a/b partition.\n\nChange-Id: Ic2cc52179179e40b6563f170724a971a2a3c5da9\n"
    },
    {
      "commit": "47c7d7f50cda10798afc76f418b3626a7e52a376",
      "tree": "a61ee42bde85a387de7a6c8620b608b88893d25c",
      "parents": [
        "2379fa93854114e714dc74324e607584b5c5da26"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 09 12:32:16 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Dec 10 14:16:03 2020 -0500"
      },
      "message": "Skip SOURCE_COPY with same src/dst extent\n\nTest: treehugger\nChange-Id: I9e8301704b21850c8f836d83655b4c85ae3d843e\n"
    },
    {
      "commit": "2379fa93854114e714dc74324e607584b5c5da26",
      "tree": "84398ce0f5d83ae5b3b0db0d8c9e95e3a469da38",
      "parents": [
        "fe74c61b1193b1f40e30fc1a32c26d2ecd0b8a01"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 09 14:39:04 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 09 15:50:22 2020 -0500"
      },
      "message": "Don\u0027t clear fs_mount_dir_\n\nDuring postinstall, fs_mount_dir_ is cleared after postinstall is\ncompleted for a partition. If there are more than 1 partition which runs\npostinstall, the next partition will see an empty fs_mount_dir_ and\nfail.\n\nTest: treehugger\nBug: 175232022\n\nChange-Id: I42110d0e2a886b631f0984edcdc7a916b1121e3e\n"
    },
    {
      "commit": "fe74c61b1193b1f40e30fc1a32c26d2ecd0b8a01",
      "tree": "27a42d2441f6e2b085c27fcddee00534a8d34ec6",
      "parents": [
        "441e2361966615e776877340319626d64da50e09",
        "97cb0585a18b9b670484baef8eca10a5e5197234"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 08 19:38:16 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 08 19:38:16 2020 +0000"
      },
      "message": "Copy a version of download action for ChromeOS am: 97cb0585a1\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1513379\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ib366e4775acd6ba35f02eb56f604b9ea2a4963fd\n"
    },
    {
      "commit": "97cb0585a18b9b670484baef8eca10a5e5197234",
      "tree": "27a42d2441f6e2b085c27fcddee00534a8d34ec6",
      "parents": [
        "e9def4e20e32ef4a5442cb4a0f795d013dcab77b"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 02 16:42:15 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Dec 07 21:24:41 2020 -0500"
      },
      "message": "Copy a version of download action for ChromeOS\n\nDownloadAction contains many cros specific stuff, such as p2p, system\nstate. Many of these cros bits are used in a fragile way in aosp. It\u0027s\nbetter if we maintain two independent download actions.\n\nTest: treehugger\nBug: 175042161\nChange-Id: Iaaed269b3886a068bfcb4bcac12aca99b9cf6970\n"
    },
    {
      "commit": "441e2361966615e776877340319626d64da50e09",
      "tree": "cf28787975407f8f562abac9f4fdffe3af00e5ce",
      "parents": [
        "87b8d4303516c923ef41b6ebfa3e60665c00c87f",
        "e9def4e20e32ef4a5442cb4a0f795d013dcab77b"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 08 00:29:56 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 08 00:29:56 2020 +0000"
      },
      "message": "Mock a /postinstall dir at test time am: e9def4e20e\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1513842\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: Ie0012a692fcb36a3a4115f10c879eb533ecb5a2c\n"
    },
    {
      "commit": "e9def4e20e32ef4a5442cb4a0f795d013dcab77b",
      "tree": "cf28787975407f8f562abac9f4fdffe3af00e5ce",
      "parents": [
        "c710cf28ff87c7427c3b1f01617ed684ef096793"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 02 14:04:09 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Dec 07 18:12:39 2020 -0500"
      },
      "message": "Mock a /postinstall dir at test time\n\nBug: 172696594\nTest: treehugger\nChange-Id: Ib6264569d090dc61fc9ded5f833e3841ec16a8dd\n"
    },
    {
      "commit": "87b8d4303516c923ef41b6ebfa3e60665c00c87f",
      "tree": "c863a7052f9d4ad0c8b45cc359c98f23b35556fa",
      "parents": [
        "89f3cf0ad5c33d5c7c3d3c77e097aaf228eb0b0e",
        "c710cf28ff87c7427c3b1f01617ed684ef096793"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Dec 05 21:55:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Dec 05 21:55:09 2020 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into merge\" am: c710cf28ff\n\nOriginal change: undetermined\n\nChange-Id: I33094239add68a51ab5eadea3c952e2857d0e946\n"
    },
    {
      "commit": "c710cf28ff87c7427c3b1f01617ed684ef096793",
      "tree": "c863a7052f9d4ad0c8b45cc359c98f23b35556fa",
      "parents": [
        "6d121de1d4c09d5ef56cac6fce54c15d69148f4a",
        "4aeaa124fafcf18b8664b2baf815e17c27c834a8"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Dec 05 21:18:58 2020 +0000"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Dec 05 21:18:58 2020 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into merge\""
    },
    {
      "commit": "4aeaa124fafcf18b8664b2baf815e17c27c834a8",
      "tree": "a545ff82c2e3da84d9fdcd0f0086809cac8a2b6a",
      "parents": [
        "07676f5c38f146c5242c0a30edba57224b540e8e",
        "2379503a049c1584cdfcb339e89d496a794c2680"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Dec 04 13:28:47 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Dec 05 14:39:00 2020 -0500"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into merge\n\nTest: treehugger\nChange-Id: I4984f03fa95a753fb17779451eb458f177432d4f\n"
    },
    {
      "commit": "89f3cf0ad5c33d5c7c3d3c77e097aaf228eb0b0e",
      "tree": "94251748d9a1e72a2a6c7372be1d5dcff8c86d12",
      "parents": [
        "f2c74350289c4a73778bc9861f3463cdc7898464",
        "6d121de1d4c09d5ef56cac6fce54c15d69148f4a"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Sat Dec 05 02:00:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Dec 05 02:00:58 2020 +0000"
      },
      "message": "Add product_available to product available modules am: 6d121de1d4\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1495988\n\nChange-Id: I5e376ef3207972636c2bed2334494db5c1cf53ea\n"
    },
    {
      "commit": "6d121de1d4c09d5ef56cac6fce54c15d69148f4a",
      "tree": "94251748d9a1e72a2a6c7372be1d5dcff8c86d12",
      "parents": [
        "07676f5c38f146c5242c0a30edba57224b540e8e"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Nov 11 19:31:57 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 05 01:19:22 2020 +0000"
      },
      "message": "Add product_available to product available modules\n\nvendor_available modules were available to product modules.\nHowever, not all vendor_available modules are required to be\navailable to product modules. Some modules want to be available only\nto product modules but not vendor modules.\n\nTo cover the requirement, we separate product_available from\nvendor_available.\nvendor_available will not provide product available module.\n\nBug: 150902910\nTest: build\nChange-Id: I5f5adc822d4baa8a295580d7ed7d2dc5af35c5b6\n"
    },
    {
      "commit": "2379503a049c1584cdfcb339e89d496a794c2680",
      "tree": "6a5df4d3d3542422ba646c9981beac6984818422",
      "parents": [
        "4f5657e85ea45e8e3e1ce332174665d58f3b9436"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Tue Nov 24 14:38:55 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Dec 03 03:52:35 2020 +0000"
      },
      "message": "update_engine: Make InstallPlan\u0027s dump nicer\n\nIts really hard to read anything out of the current InstallPlan\u0027s\nlogs. This CL makes it a bit more structured so it can be read easier.\n\nAlso added a few other properties of InstallPlan that were missing in\nthe Dump().\n\nAdded unittest for it too.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: Iaa327e875877e9645ef8f0af875c280e11ee485d\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2558933\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nAuto-Submit: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "4f5657e85ea45e8e3e1ce332174665d58f3b9436",
      "tree": "b91ed5c3f88656a029d16810e7a6006588726360",
      "parents": [
        "6e8a37b1a78caac41027ed86613c6d4e6725c8b9"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Dec 02 13:16:05 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Dec 03 03:20:36 2020 +0000"
      },
      "message": "update_engine: Reduce the generated file sizes in some unittests\n\nIt seems like the builders sometimes run out of space on temp dir and\nthe tests can\u0027t create the file with specific sizes they want. So, this\nCL reduces the size needed so we don\u0027t hit this problem often (or at\nall).\n\nBUG\u003db:173189147\nTEST\u003dFEATURES\u003dtest GTEST_FILTER\u003d\"*P2PManagerTest.MakeFileVisible*\"  emerge-reef update_engine\n\nChange-Id: I0a95fa3d0c50b8acdeb2dd059afc206d0e10c7d9\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2570177\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nAuto-Submit: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "f2c74350289c4a73778bc9861f3463cdc7898464",
      "tree": "b358adcd61e0ce9480b1871e492ff670ab656fa4",
      "parents": [
        "e33561eb6b18c3d7a6ef627dd3d8ebff6d3f6a8c",
        "07676f5c38f146c5242c0a30edba57224b540e8e"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 02 23:43:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 02 23:43:31 2020 +0000"
      },
      "message": "Fix English typo in update_device.py am: 07676f5c38\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1512684\n\nChange-Id: I542f5216c9808d5f4a3c5440f496ef7840453f11\n"
    },
    {
      "commit": "07676f5c38f146c5242c0a30edba57224b540e8e",
      "tree": "b358adcd61e0ce9480b1871e492ff670ab656fa4",
      "parents": [
        "e4235b0ae49ec069c056653dd3764793f2f8a82f"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 10:45:09 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Dec 02 10:55:04 2020 -0500"
      },
      "message": "Fix English typo in update_device.py\n\nTest: treehugger\nChange-Id: I748be77b7d8fe4bbc63f1edc672e5c32be6e8c91\n"
    },
    {
      "commit": "6e8a37b1a78caac41027ed86613c6d4e6725c8b9",
      "tree": "6156299a4e26957689344576f41b71c63f0ce025",
      "parents": [
        "ddd6822fe3dfeaef1b2931366e4a5ec14353f420"
      ],
      "author": {
        "name": "Vyshu",
        "email": "vyshu@google.com",
        "time": "Wed Nov 25 10:31:00 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Dec 02 05:29:44 2020 +0000"
      },
      "message": "update_engine: Save and reload ping prefs from powerwash prefs.\n\nImprove device active accuracy by updating prefs with last ping time.\nCheck if |kPrefsLastActivePingDay| and |kPrefsLastRollCallPingDay|\nwere preserved after powerwash and move to prefs if the key\ndoes not already exist. Delete from powerwash to preserve user\nprivacy.\n\nBUG\u003db:173145783\nTEST\u003dFEATURES\u003dtest emerge-{board} update_engine\n\nCq-Depend: chromium:2558521\nChange-Id: I2f71d767ac90b5214c1f0e988137277e4fbe8ec3\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2558010\nTested-by: Vyshu Khota \u003cvyshu@google.com\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "e33561eb6b18c3d7a6ef627dd3d8ebff6d3f6a8c",
      "tree": "ff0aa9a3dafcf0fbea80edd38dcf6cbaa8ca3ab4",
      "parents": [
        "1b1e2f5332e22cafe6ea2402a16d9edd82eae0db",
        "e4235b0ae49ec069c056653dd3764793f2f8a82f"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 22:30:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 01 22:30:51 2020 +0000"
      },
      "message": "Add unittest for resume update am: e4235b0ae4\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1508458\n\nChange-Id: I4d5e6482400355cd49997212fb8a20443285b3e3\n"
    },
    {
      "commit": "ddd6822fe3dfeaef1b2931366e4a5ec14353f420",
      "tree": "9b1587fb4d4f1842138d2e43b4e65f9b96f6faf9",
      "parents": [
        "76b3a64c54ac819c87eb0a4e5f7d2bf2987f0bbe"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Nov 30 16:45:59 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Dec 01 22:23:15 2020 +0000"
      },
      "message": "update_engine: Make SystemState pointer static only\n\nThe style guide does not allow a global object with non-trivial dtor. It\ncan cause hidden problems and it has caused issue this CL is\nfixing (look at the attached bug). Instead of keeping the ownership of\nthe SystemState in global, we can keep the ownership in the high level\nobject DaemonChromeOS and keep a global static pointer to it so it can\neasily be accessed by SystemState::Get().\n\nBUG\u003db:174212887\nTEST\u003dcros_workon_make --board reef --test update_engine\nTEST\u003dcros deploy + stop update-engine -\u003e The update_engine did not crash anymore.\n\nChange-Id: I442f4220bfd8586c59fcdfd7d699776362143467\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2566875\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "e4235b0ae49ec069c056653dd3764793f2f8a82f",
      "tree": "ff0aa9a3dafcf0fbea80edd38dcf6cbaa8ca3ab4",
      "parents": [
        "4ce01107651dd3418279fb6aae2193d298cfc96a"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 23 13:57:51 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 22:13:05 2020 +0000"
      },
      "message": "Add unittest for resume update\n\nTest: treehugger\nBug: 173392916\nChange-Id: I4b320685af93b20fc1f4abcdd6a416f1c97731ab\n"
    },
    {
      "commit": "1b1e2f5332e22cafe6ea2402a16d9edd82eae0db",
      "tree": "4a8436639e8d7356c53df9c9696304788c2ebc83",
      "parents": [
        "bca33e1e9b9ccbddb6007bdcd2b9122a3bf8a8dc",
        "4ce01107651dd3418279fb6aae2193d298cfc96a"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 19:03:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 01 19:03:37 2020 +0000"
      },
      "message": "Check if mount directory exists before attempting mount() syscall am: 4ce0110765\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1507100\n\nChange-Id: I324fc4d39d884341eda604e6392e6a5055c381a7\n"
    },
    {
      "commit": "76b3a64c54ac819c87eb0a4e5f7d2bf2987f0bbe",
      "tree": "725694e45f29b07d8b7f3338970db89a5e95ec57",
      "parents": [
        "043355bd0870d407b62b100ab04dc6912402720f"
      ],
      "author": {
        "name": "Saurabh Nijhara",
        "email": "snijhara@google.com",
        "time": "Wed Nov 25 11:59:09 2020 +0100"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Dec 01 17:16:28 2020 +0000"
      },
      "message": "update_engine: Add restricted intervals monitor\n\nThis CL introduces class UpdateTimeRestrictionsMonitor responsible\nfor tracking the restricted time intervals from\nDeviceAutoUpdateTimeRestrictions policy during which update\ndownload is not allowed.\nIt reads the policy, chooses the next interval according to\ncurrent time and notifies the delegate when it starts.\nUpdateTimeRestrictionsMonitor is also able to detect and handle\nchanges in restricted intervals during its lifetime.\n\nThis monitor would be used in a follow up CL to cancel the\ndownload process during a restricted interval.\nThis class would be short lived with its lifetime restricted to during\nthe DownloadAction so that it can notify the delegate when restricted\ninterval starts which would then cancel the update process.\nResuming the update process when interval ends would be handled by the\nnext auto update after interval end as update engine checkpoints the\ndownload progress.\n\nBUG\u003dchromium:1117450\nTEST\u003dFEATURES\u003dtest emerge-${BOARD} update_engine\n\nChange-Id: Ia7190a488efecf1de53c6396ff67a2b7ef10aa57\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2560619\nTested-by: Saurabh Nijhara \u003csnijhara@google.com\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Saurabh Nijhara \u003csnijhara@google.com\u003e\n"
    },
    {
      "commit": "4ce01107651dd3418279fb6aae2193d298cfc96a",
      "tree": "4a8436639e8d7356c53df9c9696304788c2ebc83",
      "parents": [
        "e3293c7c026ef5a120575610be9c3cb3b7d304ed"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 09:32:08 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Dec 01 08:48:17 2020 -0500"
      },
      "message": "Check if mount directory exists before attempting mount() syscall\n\nTest: treehugger\nBug: 172696594\nChange-Id: If5d0971a5443db2f26cddb31ac2034112e346fe2\n"
    },
    {
      "commit": "043355bd0870d407b62b100ab04dc6912402720f",
      "tree": "b23c5103db8c9a2afdb07c1815795b1ce9e991ca",
      "parents": [
        "606abc9cf50ecd81dbd1852d408edeee45774b7f"
      ],
      "author": {
        "name": "hscham",
        "email": "hscham@chromium.org",
        "time": "Tue Nov 17 16:50:10 2020 +0900"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Nov 30 05:13:35 2020 +0000"
      },
      "message": "update_engine: use new base::Delete{File,PathRecursively}\n\nbase::DeleteFile(const FilePath\u0026 path, bool recursive) would be\ndeprecated in next libchrome uprev.\n\nBUG\u003dchromium:1144735\nTEST\u003dcros_run_unit_tests --board\u003deve --packages update_engine\n\nChange-Id: Iaeac97f533a156c2c29f7ba53755664d6591b0a1\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2543515\nTested-by: Grace Cham \u003chscham@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nCommit-Queue: Grace Cham \u003chscham@chromium.org\u003e\n"
    },
    {
      "commit": "bca33e1e9b9ccbddb6007bdcd2b9122a3bf8a8dc",
      "tree": "eec1e47dcf78379f7355cec1b1049dad53de1a0b",
      "parents": [
        "a05050ec8269f3ab7e861035341456918e056b3a",
        "e3293c7c026ef5a120575610be9c3cb3b7d304ed"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Nov 26 17:39:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 26 17:39:36 2020 +0000"
      },
      "message": "Check for return value of ConsumeWithBuffer am: e3293c7c02\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1507097\n\nChange-Id: I65f899e3341bb2a7f30f7076b0d2c27385dc042b\n"
    },
    {
      "commit": "a05050ec8269f3ab7e861035341456918e056b3a",
      "tree": "12fd299e1333feb82157b245d8fd38e08f0967e6",
      "parents": [
        "1469ac198fc98931fd8d50fd726db5b8e5b4f515",
        "91d95fa9454d56f486e49742039ddb92e10cf054"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 24 23:18:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 24 23:18:18 2020 +0000"
      },
      "message": "Do not map dynamic partitions on VABC devices am: 91d95fa945\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1489141\n\nChange-Id: I83c900c705153d31db9d1caaaed8045a894ec6c4\n"
    },
    {
      "commit": "606abc9cf50ecd81dbd1852d408edeee45774b7f",
      "tree": "765e2bda58cad138f3bcae002c277f8d142d83b9",
      "parents": [
        "90e9f19d47138d4e6a7aa817ac86fcc853bcd054"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Nov 16 12:51:37 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 24 23:04:47 2020 +0000"
      },
      "message": "update_engine: Restructure Omaha response processing\n\nThe current implementation of response processing is out of order. There\nis no way to know the exact information we process from\nresponse. Also we need to move into json based request and response and\nthis prepares for that. This CL moves all the response parsing logic\ninto a unified function. This function can be later interfaced and\nimplemented for other data structures.\n\nAlso there is a logic change in this CL where we set the outgoing\nobject\u0027s manifest version for install responses as the version that came\nfrom the response, not the one we send into the request. Its better to\nfollow what the server sends rather than blindly change the version that\nwhat we think should be. We don\u0027t really use the version for any\nverification anyway so its better to be this way.\n\nBUG\u003db:172219380\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: I7f4116d786323c045a1f86ee3d83940cc846b3e8\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2543815\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "e3293c7c026ef5a120575610be9c3cb3b7d304ed",
      "tree": "eec1e47dcf78379f7355cec1b1049dad53de1a0b",
      "parents": [
        "91d95fa9454d56f486e49742039ddb92e10cf054"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Nov 19 17:10:56 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 24 18:00:23 2020 -0500"
      },
      "message": "Check for return value of ConsumeWithBuffer\n\nTest: treehugger\nBug: 168554689\n\nChange-Id: I1447c705143fe3d88267dcd08bbc9674d9cc6676\n"
    },
    {
      "commit": "90e9f19d47138d4e6a7aa817ac86fcc853bcd054",
      "tree": "8add9671f2659eb927e64fa974f280701144f06c",
      "parents": [
        "0468a76a02406851c197ba2cac663b687078a901"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Nov 18 14:20:56 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 24 20:54:03 2020 +0000"
      },
      "message": "update_engine: Use PrefsInterface from SystemState\n\nThere is no need to pass the Pref class around (at least not in cros)\nsince we have the SystemState as the global context and we can get the\npref from there.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: I9f5fb8a118fab2ef0e188c42f746dafb1094972c\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2548740\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "0468a76a02406851c197ba2cac663b687078a901",
      "tree": "62253be82f9a2a1ada2502408cf5703ed86a0eeb",
      "parents": [
        "01a45c08b5c18017189f6611ac4df326154b35c4"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Tue Nov 17 23:53:48 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 24 20:54:01 2020 +0000"
      },
      "message": "update_engine: Use clock and fake clock from SystemState\n\nNo need to pass clock and fake clock anywhere anymore. This CL makes it\nto just use those objects available from SystemState and\nFakeSystemState.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: I9a3cf6dd2057620c11b862d3317b83489c76f3ca\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2546625\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "01a45c08b5c18017189f6611ac4df326154b35c4",
      "tree": "7fcdc0fbc2b383459f39cff8da37fbb4d55bd67d",
      "parents": [
        "a859c92b6fbd9680e488741bb9330f8c89a097fa"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Nov 13 14:11:00 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 24 06:53:13 2020 +0000"
      },
      "message": "update_engine: Unify cc flags with platform2\n\nRemove unnecessary flags and the ones that we already inherit from\nplatform2.\n\nBUG\u003db:171829801\nTEST\u003dunittests, CQ passes\n\nChange-Id: I4be2ad5461f0a4e42103f998aad8d336dea3f769\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2538235\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Manoj Gupta \u003cmanojgupta@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "1469ac198fc98931fd8d50fd726db5b8e5b4f515",
      "tree": "c968214af0a4060c3b1b27f20283937081881089",
      "parents": [
        "6e5ef9f8d057c25361dab9323ff1d0da98859ce5",
        "ba38e29cf792c6ddef84b405cf37acf307d5901b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 23 23:41:32 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 23 23:41:32 2020 +0000"
      },
      "message": "Merge \"Mark ab/6881855 as merged\" into stage-aosp-master"
    },
    {
      "commit": "6e5ef9f8d057c25361dab9323ff1d0da98859ce5",
      "tree": "c968214af0a4060c3b1b27f20283937081881089",
      "parents": [
        "159aa25fbc35fb3b55b486da01e6bd4d24a81a55",
        "098e79a0c348d2636fd102db081b4e03cb30ef9d"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 23 20:20:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 23 20:20:09 2020 +0000"
      },
      "message": "Add --disable_verity_computation flag to delta_generator am: 098e79a0c3\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1507098\n\nChange-Id: I0f603fdc15f0cb596984383d09994922eb8ebc66\n"
    },
    {
      "commit": "91d95fa9454d56f486e49742039ddb92e10cf054",
      "tree": "12fd299e1333feb82157b245d8fd38e08f0967e6",
      "parents": [
        "098e79a0c348d2636fd102db081b4e03cb30ef9d"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Nov 05 13:52:00 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 23 14:49:17 2020 -0500"
      },
      "message": "Do not map dynamic partitions on VABC devices\n\nWith VABC, we no longer need to map all partitions before\nreading/writing, so don\u0027t try to map them.\n1. modify GetPartitionDevice to return empty path for target partitions\non VABC\n2. Add a separate GetMountableTargetDevice for obtaining a mountable\ndevice path, specifically for postinstall\n\nTest: treehugger\nChange-Id: Ib1f608914fc49c677ce7389140ca79b028171191\n"
    },
    {
      "commit": "098e79a0c348d2636fd102db081b4e03cb30ef9d",
      "tree": "c968214af0a4060c3b1b27f20283937081881089",
      "parents": [
        "52cb1d75b6992f880058c56d43428b97bb4ed107"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Nov 19 17:40:56 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 23 19:43:28 2020 +0000"
      },
      "message": "Add --disable_verity_computation flag to delta_generator\n\nVABC doesn\u0027t support writing hash tree yet, provide an option to disable\nfor now\n\nTest: treehugger\nBug: 168554689\nChange-Id: I7bbb76b33b46b44101fc3ca6cee2c9ee85e2e82d\n"
    },
    {
      "commit": "ba38e29cf792c6ddef84b405cf37acf307d5901b",
      "tree": "2cf4ef6ffd8ad7696ecd3af98f8af86471263606",
      "parents": [
        "159aa25fbc35fb3b55b486da01e6bd4d24a81a55",
        "76397107d72c9631451d8a0c369fa3b38d2b5392"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Nov 23 11:33:02 2020 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Nov 23 11:33:02 2020 -0800"
      },
      "message": "Mark ab/6881855 as merged\n\nBug: 172690556\nChange-Id: I5a2f345d46f744263cfd29385e63f03aaf737ebf\n"
    },
    {
      "commit": "159aa25fbc35fb3b55b486da01e6bd4d24a81a55",
      "tree": "2cf4ef6ffd8ad7696ecd3af98f8af86471263606",
      "parents": [
        "928feede415de8bec1b743fe7f996e31c765bd89",
        "52cb1d75b6992f880058c56d43428b97bb4ed107"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Nov 21 16:13:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Nov 21 16:13:43 2020 +0000"
      },
      "message": "Handle resume of VABC updates by emitting labels am: 52cb1d75b6\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1497757\n\nChange-Id: Ibf62cd61b0a7ea100fdb10d5aadc563b50401955\n"
    },
    {
      "commit": "928feede415de8bec1b743fe7f996e31c765bd89",
      "tree": "e2226e2776de36a6afd3eefda912a46395a15c7d",
      "parents": [
        "ce2345dd4a7637cd02e58d35ca7c1803dc230db6",
        "dde2ef4d525af1076b9ccd1a4f736b4de961b2e6"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Sat Nov 21 00:10:20 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Nov 21 00:10:20 2020 +0000"
      },
      "message": "define full_boot flag in brillo_update_payload am: dde2ef4d52\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1507099\n\nChange-Id: Ibf716249a14e30cf8cfcc412e46049103a9b8c50\n"
    },
    {
      "commit": "52cb1d75b6992f880058c56d43428b97bb4ed107",
      "tree": "2cf4ef6ffd8ad7696ecd3af98f8af86471263606",
      "parents": [
        "dde2ef4d525af1076b9ccd1a4f736b4de961b2e6"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Oct 27 13:44:25 2020 -0400"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 20 18:53:20 2020 -0500"
      },
      "message": "Handle resume of VABC updates by emitting labels\n\nTo support resuming an update with Virtual AB Compression, we emit\nlabels in between operations. After writing all SOURCE_COPY, we\nemit label 0. Each time we finished writing an InstallOp, we emit\na label incremented by 1. When resuming, we pass the label to CowWriter.\n\nTest: treehugger\n     1. update_device.py ota.zip\n     --extra-headers\u003d\"SWITCH_SLOT_ON_REBOOT\u003d0\"\n     2. update_device.py ota.zip\n     3. Verify that 2 did not re-start the entire update,\n        only fs verification and postinstall may re-run.\nChange-Id: I785cd04a35457181621ed7b8c0be9a46b6004b7b\n"
    },
    {
      "commit": "dde2ef4d525af1076b9ccd1a4f736b4de961b2e6",
      "tree": "e2226e2776de36a6afd3eefda912a46395a15c7d",
      "parents": [
        "8212f53f9d05472ce6f25b2cb5c9f4537a5e71a3"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 20 12:26:19 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 20 12:27:23 2020 -0500"
      },
      "message": "define full_boot flag in brillo_update_payload\n\nTest: ota_from_target_files.py --full_boot\nChange-Id: Id910b373f40d6c5eb814904383615f621e3f86d1\n"
    },
    {
      "commit": "a859c92b6fbd9680e488741bb9330f8c89a097fa",
      "tree": "90ec85abc5874b1edb2657a06dbba0d7eac6a321",
      "parents": [
        "9ed2cee8de1d853d098009b10d3dec84944b3be4"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Nov 13 15:30:38 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 18 06:23:35 2020 +0000"
      },
      "message": "update_engine: Fix a TODO about variable name\n\nBUG\u003db:171829801\nTEST\u003dFEATURES\u003dtest emerge-reef update_engine\n\nChange-Id: Iad75f598fd95f2ab297142ec272617b259f3c2f1\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2536809\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "9ed2cee8de1d853d098009b10d3dec84944b3be4",
      "tree": "18d0adbdcec6110d31c9fd6a72c3aaaed8b339e9",
      "parents": [
        "6178903b970af7ff24c224f7d51eb7c7c14bc52f"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Nov 13 18:40:35 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 18 06:03:00 2020 +0000"
      },
      "message": "update_engine: Don\u0027t keep pointer to SystemState available objects\n\nThese objects are available thorugh SystemState. No need to keep pointer\nto them in various classes (OmahaRequestBuilderXml in this case). This\nmakes testing/debugging easier because there will be one central\nlocation for getting pointers to these values.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: I02a36afdc7dcb00e02b1a61263141745afc7fb26\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2543814\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "6178903b970af7ff24c224f7d51eb7c7c14bc52f",
      "tree": "c84377fa602ae9abf425dc8ee3d48e3b35ffc3bf",
      "parents": [
        "1e19be33e983e23d4d7e35096f95fe0ac33d6ab6"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Nov 13 16:20:12 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 18 06:02:58 2020 +0000"
      },
      "message": "update_engine: Get OmahaRequestParams from SystemState\n\nCan use Omaha request params from the singleton |SystemState| without\nbeing passed as an argument to the constructor of |OmahaRequestAction|.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nChange-Id: Iad0616db4e6e7aad2a2da3c5c0eb9cb9ea7d9329\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2543813\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "1e19be33e983e23d4d7e35096f95fe0ac33d6ab6",
      "tree": "8cb3c0a53a4cb72dab7e00f4e1821ccc2945bf10",
      "parents": [
        "43d7adc70adc18b7429623db8a77b6e76ed84d14"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Nov 16 14:12:33 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 18 00:09:14 2020 +0000"
      },
      "message": "update_engine: Use a second ActionProcessor for UpdateBootFlagsAction\n\nThe crrev.com/c/2519843 mistenly merged an ActionProcessor from\nRealSystemState to the one in UpdateAttempter. This is problematic\nbecause these two ActionProcessors used to run at different times (and\nsometimes simultanously) and on different objects. But after they were\nmerge, they are colliding. For example UpdateAttempter::StartUpdater()\nis adding Actions that run 45 seconds later, but the\nUpdateAttempter::Update() starts the same ActionProcessor which is a\nbug.\n\nBUG\u003db:173251868\nTEST\u003demerge and cros deployed, then run:\ntest_that  --args\u003d\"job_repo_url\u003dhttp://100.115.168.195:8082/static/reef-release/R88-13591.0.0/autotest/packages\" chromeos6-row3-rack10-host7.cros autoupdate_ForcedOOBEUpdate.full\n\nChange-Id: I7716e9ae2e77bbc4caff5273cd3fbc22e1ed7f5b\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2542962\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nAuto-Submit: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "ce2345dd4a7637cd02e58d35ca7c1803dc230db6",
      "tree": "8adbbf5e85ac55c887898c544b87b69a5847e383",
      "parents": [
        "b16e37778e9ac2a6d59cd2fdb7f487292888ddab",
        "8212f53f9d05472ce6f25b2cb5c9f4537a5e71a3"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 21:29:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 21:29:49 2020 +0000"
      },
      "message": "Add no_slot_switch flag to update_device script am: 8212f53f9d\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1498858\n\nChange-Id: I8f10779ad78b8a197a7c0d4a3764af6c541b6eb0\n"
    },
    {
      "commit": "8212f53f9d05472ce6f25b2cb5c9f4537a5e71a3",
      "tree": "8adbbf5e85ac55c887898c544b87b69a5847e383",
      "parents": [
        "3f60d53253c609715c490f8cfe7a083d8727fc12"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 16:00:00 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 16:27:43 2020 -0500"
      },
      "message": "Add no_slot_switch flag to update_device script\n\nTest: treehugger\nChange-Id: I996e8ece01d5a68e9093460f24c84031f8419c53\n"
    },
    {
      "commit": "b16e37778e9ac2a6d59cd2fdb7f487292888ddab",
      "tree": "f62650523899402eb8061f72bbd9f2392f6cea6f",
      "parents": [
        "59e0b4e85feca16d01fda879a5e0df1fbe5eb87f",
        "3f60d53253c609715c490f8cfe7a083d8727fc12"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 21:24:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 21:24:54 2020 +0000"
      },
      "message": "Don\u0027t use unix open() syscall on VABC partitions am: 3f60d53253\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1493017\n\nChange-Id: Id1f5e9d9d83a66eb29fb6250ae212402212a652f\n"
    },
    {
      "commit": "3f60d53253c609715c490f8cfe7a083d8727fc12",
      "tree": "f62650523899402eb8061f72bbd9f2392f6cea6f",
      "parents": [
        "ec205cf8ddc5af1f53c583a4e77f4f7363c8438a"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 09 13:33:17 2020 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 17 21:05:09 2020 +0000"
      },
      "message": "Don\u0027t use unix open() syscall on VABC partitions\n\nMove logic dealing with target partitions to a function, such that it\ncan be overriden by subclasses.\n\nBug: 168554689\nTest: treehugger\nChange-Id: I59053a70915e51b0ab1b30922d14f211e1ba0605\n"
    },
    {
      "commit": "59e0b4e85feca16d01fda879a5e0df1fbe5eb87f",
      "tree": "b7d8c4bd7411b8056ab6a218ffec9beb13994558",
      "parents": [
        "d14d6a20dca8c8abe66f8e3630f3ee23c2304b58",
        "ec205cf8ddc5af1f53c583a4e77f4f7363c8438a"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 20:10:25 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 20:10:25 2020 +0000"
      },
      "message": "Use FileDescriptorPtr to implement async reads in verify stage am: ec205cf8dd\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1441293\n\nChange-Id: Iece1b719bbebb9e263a8b9b7a6bfbcb1f02a8d4e\n"
    },
    {
      "commit": "d14d6a20dca8c8abe66f8e3630f3ee23c2304b58",
      "tree": "b014da1ef32bd31a967871fd3b0929d75398390a",
      "parents": [
        "e25fecb585170138971d415fa7b86cbcbc106dda",
        "eb9de160773d1277a6c3447ebedcfe27d2a45a77"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 18:58:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 18:58:38 2020 +0000"
      },
      "message": "Add IsDynamicPartition API to easily check if a partition is dynamic am: eb9de16077\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1500611\n\nChange-Id: I3c96ea8a9c816c4aa07bdcc3bd5cfc0fe3d6a779\n"
    },
    {
      "commit": "ec205cf8ddc5af1f53c583a4e77f4f7363c8438a",
      "tree": "b7d8c4bd7411b8056ab6a218ffec9beb13994558",
      "parents": [
        "eb9de160773d1277a6c3447ebedcfe27d2a45a77"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Sep 28 13:23:40 2020 -0400"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 12:47:59 2020 -0500"
      },
      "message": "Use FileDescriptorPtr to implement async reads in verify stage\n\nDuring FileSystemVerify stage, update_engine needs to read from source\nor target partition to verify hashes \u0026\u0026 write verity. Previously we use\nbrillow\u0027s file stream to implement async reads. WIth Virtual AB\nCompression, reading from target partition must go through libsnapshot\u0027s\ninterface(FileDescriptorPtr). So we replace brillo::FileStream with\nFileDescriptorPtr for ease of integrating with VABC.\n\nTest: serve an OTA update, verify: slot switch resume, regular resume\n\nChange-Id: Id8531757468f60e3e21667b7761b83f7c2af2dbf\n"
    },
    {
      "commit": "eb9de160773d1277a6c3447ebedcfe27d2a45a77",
      "tree": "b014da1ef32bd31a967871fd3b0929d75398390a",
      "parents": [
        "7010853f447ffbf09cf541fa2287f8f418055509"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 15:47:28 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 17 10:51:51 2020 -0500"
      },
      "message": "Add IsDynamicPartition API to easily check if a partition is dynamic\n\nTest: treehugger\nChange-Id: I655e4d6114a25c58857679985cd5e08581c0faab\n"
    },
    {
      "commit": "43d7adc70adc18b7429623db8a77b6e76ed84d14",
      "tree": "20adcdb18ae8f6596191d6c1b6e37b9584053950",
      "parents": [
        "ac83488b5d904320a4af8355fee3284ef311036c"
      ],
      "author": {
        "name": "Saurabh Nijhara",
        "email": "snijhara@google.com",
        "time": "Fri Nov 06 16:13:02 2020 +0100"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 17 03:21:05 2020 +0000"
      },
      "message": "update_engine: add variable for DeviceQuickFixBuildToken policy\n\nThis CL makes DeviceQuickFixBuildToken policy visible in update_manager\nwhich would be used in a follow up CL to skip applying\nDeviceAutoUpdateTimeRestrictions when a quick fix build token is set.\nThis CL also adds quick fix token in UpdateCheckParams which is used\nby UpdateAttempter to pass the token in OmahaRequestParams.\n\nBUG\u003dchromium:1117450\nTEST\u003dFEATURES\u003dtest emerge-${BOARD} update_engine\n\nChange-Id: If43ad8cd2955bbeb1cbd1dcacac79742fa0a6a20\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2521189\nCommit-Queue: Saurabh Nijhara \u003csnijhara@google.com\u003e\nTested-by: Saurabh Nijhara \u003csnijhara@google.com\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "e25fecb585170138971d415fa7b86cbcbc106dda",
      "tree": "1d780d35cb48661bdd6d5ada4f9b1e076405201c",
      "parents": [
        "8a4deedd8e09a97d70941541853acba9b16a729c",
        "7010853f447ffbf09cf541fa2287f8f418055509"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Nov 17 02:32:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 17 02:32:39 2020 +0000"
      },
      "message": "Cleanup PayloadSigner::AddSignatureToManifest() am: 7010853f44\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1500982\n\nChange-Id: I68f3573cd92767367d28c873ea27ff2bf9c6551b\n"
    },
    {
      "commit": "7010853f447ffbf09cf541fa2287f8f418055509",
      "tree": "1d780d35cb48661bdd6d5ada4f9b1e076405201c",
      "parents": [
        "b57c27012f6224447e384b4d887236b232798754"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Nov 17 01:10:05 2020 +0000"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Nov 17 01:10:08 2020 +0000"
      },
      "message": "Cleanup PayloadSigner::AddSignatureToManifest()\n\nChange-Id: Idbde802b06f18fb26160586b7fe34c104c1b0bf9\n"
    },
    {
      "commit": "8a4deedd8e09a97d70941541853acba9b16a729c",
      "tree": "dae759a4458581f9070e0f2b38bee5b6694c4007",
      "parents": [
        "ebc8de1a1fd792c2666b2ff5e552cbe46cdbf9a9",
        "b57c27012f6224447e384b4d887236b232798754"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 21:27:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 16 21:27:46 2020 +0000"
      },
      "message": "Rename mock_dynamic_partition_control to am: b57c27012f\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1496696\n\nChange-Id: I1386feb69ee2393cfad38dac54146d8aaf268424\n"
    },
    {
      "commit": "ebc8de1a1fd792c2666b2ff5e552cbe46cdbf9a9",
      "tree": "2d278de5917a11167c64d584e61e17f249c92fe1",
      "parents": [
        "6bd5cd4e9c7763b5a32e58ad62084cf689d4caff",
        "c82511cd8f159f8265d361aa9d9e10ba6b920a35"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 21:24:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 16 21:24:35 2020 +0000"
      },
      "message": "Add OpenCowReader interface method to dynamic partition control am: c82511cd8f\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1491178\n\nChange-Id: Ib2807f0962fff4ecce0eb1cbf9ee257df39f924d\n"
    },
    {
      "commit": "b57c27012f6224447e384b4d887236b232798754",
      "tree": "dae759a4458581f9070e0f2b38bee5b6694c4007",
      "parents": [
        "c82511cd8f159f8265d361aa9d9e10ba6b920a35"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 10 15:20:50 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 15:16:25 2020 -0500"
      },
      "message": "Rename mock_dynamic_partition_control to\nmock_dynamic_partition_control_android\n\nThe mock contains android specific behaviors, so appending the filename\nwith \"android\"\n\nTest: treehugger\nChange-Id: Ic6e53e07a4645e4f854c1fb22e0fa9f7f911bef3\n"
    },
    {
      "commit": "c82511cd8f159f8265d361aa9d9e10ba6b920a35",
      "tree": "2d278de5917a11167c64d584e61e17f249c92fe1",
      "parents": [
        "999705e45c71fedfffb08eb5b1ead4817c4d3c8b"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 06 16:01:24 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 19:26:48 2020 +0000"
      },
      "message": "Add OpenCowReader interface method to dynamic partition control\n\nTest: treehugger\nChange-Id: I393fc36372f9e979da1a6c7e49c7782a7372a5b9\n"
    },
    {
      "commit": "6bd5cd4e9c7763b5a32e58ad62084cf689d4caff",
      "tree": "eb61c87fc8a2c22c90cf378a521fb30ca87ad5c8",
      "parents": [
        "c349d75bccfa8537d0ee598e9dd98fcb2d4d0fff",
        "999705e45c71fedfffb08eb5b1ead4817c4d3c8b"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 16 18:17:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 16 18:17:22 2020 +0000"
      },
      "message": "Add `full_boot` option to brillo_update_payload am: 999705e45c\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1486136\n\nChange-Id: Id07915d12b17219d034b728fc17f60e7ce56dded\n"
    },
    {
      "commit": "999705e45c71fedfffb08eb5b1ead4817c4d3c8b",
      "tree": "eb61c87fc8a2c22c90cf378a521fb30ca87ad5c8",
      "parents": [
        "877ddbe3a71705c5bb0aa248b5a58f0239137a07"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 03 10:07:09 2020 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 16 18:04:43 2020 +0000"
      },
      "message": "Add `full_boot` option to brillo_update_payload\n\nTest: generate \u0026\u0026 apply an OTA with --full_boot\nBug: 171906589\nChange-Id: I773e808ba5914e5fcc1c7be9095fdbee7d7ebd54\n"
    },
    {
      "commit": "ac83488b5d904320a4af8355fee3284ef311036c",
      "tree": "689ae0dbdb0c8d2b73ea47696505d825be366962",
      "parents": [
        "538bd590de3245349050d38f9ca197deb3eaa2a4"
      ],
      "author": {
        "name": "Saurabh Nijhara",
        "email": "snijhara@google.com",
        "time": "Wed Nov 11 14:10:47 2020 +0100"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Nov 16 11:04:41 2020 +0000"
      },
      "message": "update_engine: Add enterprise rollback update policy impl\n\nThis CL adds a new rollback update policy which checks if the\nupdate to be downloaded is a rollback by checking the value of\nInstallPlan::is_rollback which is set in omaha_response_handler_action.\nThe intent is to consult this policy in a later CL in\nChromeOSPolicy::UpdateCanBeApplied as download time restrictions will\nnot be applied if current update being downloaded is a rollback.\n\nBUG\u003dchromium:1117450\nTEST\u003dFEATURES\u003dtest emerge-${BOARD} update_engine\n\nChange-Id: Ib3a23a57fb60d4d0e983688f78941cdbd587718e\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2532793\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nTested-by: Saurabh Nijhara \u003csnijhara@google.com\u003e\nCommit-Queue: Saurabh Nijhara \u003csnijhara@google.com\u003e\n"
    },
    {
      "commit": "538bd590de3245349050d38f9ca197deb3eaa2a4",
      "tree": "2fade0be22c2c6bda462aa49236257cae2ca9409",
      "parents": [
        "79fec2da41db55983cd45036deb17a2f76f934d8"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Nov 04 20:46:08 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Nov 14 02:44:18 2020 +0000"
      },
      "message": "update_engine: Make SystemState accessible from everywhere\n\nSystemState is supposed to be a global context and is used lamost\neverywhere. So instead of passing it to functions and keeping multiple\npointers to it, its better to do what we did in dlcservice and make it a\nsingleton class with a getter that can be get from everywhere.\n\nBUG\u003db:171829801\nTEST\u003dunittests\n\nChange-Id: I3b2de9394b7769b3911195ca52d61dbe49afd4dd\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2521792\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "c349d75bccfa8537d0ee598e9dd98fcb2d4d0fff",
      "tree": "c0c72e91b7811ed7ba066fc3456fb0675ec0605c",
      "parents": [
        "780800e8c0da2d8724ee4aeb8e2f7bd31970d3c2",
        "877ddbe3a71705c5bb0aa248b5a58f0239137a07"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 18:47:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Nov 13 18:47:28 2020 +0000"
      },
      "message": "Add timeout to OpenCowWriter am: 877ddbe3a7\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1493016\n\nChange-Id: Ia4d0a3b9e134a0904e72383d15d637134d7dae0c\n"
    },
    {
      "commit": "877ddbe3a71705c5bb0aa248b5a58f0239137a07",
      "tree": "c0c72e91b7811ed7ba066fc3456fb0675ec0605c",
      "parents": [
        "b138ab5e1d2b1e26803ed68dbc301004ef267fbf"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 09 13:37:56 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 13:40:49 2020 -0500"
      },
      "message": "Add timeout to OpenCowWriter\n\nWithout a timeout, update_engine might observe race conditions where a\ndevice is mapped but it doesn\u0027t appear on filesystem yet.\n\nBug: 168554689\nTest: treehugger\nChange-Id: I91f7cd82f5a10a8d60bdb157a57bfcbbc5c9f964\n"
    },
    {
      "commit": "780800e8c0da2d8724ee4aeb8e2f7bd31970d3c2",
      "tree": "f34fda5eb24ca9dcee42203cd9fd2d9736da6b98",
      "parents": [
        "50b37832c8592ff143336dd676984b4a9a281be0",
        "b138ab5e1d2b1e26803ed68dbc301004ef267fbf"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 16:48:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Nov 13 16:48:09 2020 +0000"
      },
      "message": "Add FileDescriptorPtr interface to verity writer am: b138ab5e1d\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1491177\n\nChange-Id: If1c8d3c43cc8ee203861a6eb460ca245daca5a6a\n"
    },
    {
      "commit": "b138ab5e1d2b1e26803ed68dbc301004ef267fbf",
      "tree": "f34fda5eb24ca9dcee42203cd9fd2d9736da6b98",
      "parents": [
        "b65868ccc045f9fcf5a6e6b2a7534d409792e9c5"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 06 15:56:41 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 16:12:16 2020 +0000"
      },
      "message": "Add FileDescriptorPtr interface to verity writer\n\nIn VABC, read/write of target partition is no longer done via unix file\ndescriptor. Instead it\u0027s done via CowWriter and FiledescriptorPtr.\nWe need abstraction for verity writer.\n\nTest: treehugger\n\nChange-Id: Id638b4e5a2cea4ab97927a6e7089170a3e257dee\n"
    },
    {
      "commit": "50b37832c8592ff143336dd676984b4a9a281be0",
      "tree": "e6e0703883be5ad51f1bdfd75831b3224e294560",
      "parents": [
        "123c3e136c611a13b8ab9ec7cb75f4d5e3372c80",
        "b65868ccc045f9fcf5a6e6b2a7534d409792e9c5"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 15:11:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Nov 13 15:11:58 2020 +0000"
      },
      "message": "Add small testcase for merge sequence generator am: b65868ccc0\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1483764\n\nChange-Id: Id5ce2162793a8edc74b78299e649941922782e98\n"
    },
    {
      "commit": "b65868ccc045f9fcf5a6e6b2a7534d409792e9c5",
      "tree": "e6e0703883be5ad51f1bdfd75831b3224e294560",
      "parents": [
        "59928f18f768caea1c5f3d504fa1cca6ac7a6edf"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Nov 02 15:06:53 2020 -0500"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Fri Nov 13 14:40:30 2020 +0000"
      },
      "message": "Add small testcase for merge sequence generator\n\nTest: treehugger\nChange-Id: Ibea610fcc0d166a44f9425c9fc2e6d17cf877322\n"
    },
    {
      "commit": "79fec2da41db55983cd45036deb17a2f76f934d8",
      "tree": "685296f327b220438df8fdfde13312a012bb7ef9",
      "parents": [
        "f36873504703bb43d785589ef797c3368b58b34c"
      ],
      "author": {
        "name": "Saurabh Nijhara",
        "email": "snijhara@google.com",
        "time": "Tue Nov 10 23:22:58 2020 +0100"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Nov 12 07:55:35 2020 +0000"
      },
      "message": "update_engine: Add minimum version policy impl\n\nThis CL adds minimum version policy handler which checks if the current\nChrome OS version is less than the highest version specified in the\nDeviceMinimumVersion policy.\nThe intent is to consult this policy in a later CL in\nChromeOSPolicy::UpdateCanBeApplied as download time restrictions will\nnot be applied if current Chrome OS version is\nless than version provided by DeviceMinimumVersion policy.\n\nBUG\u003dchromium:1117450\nTEST\u003dFEATURES\u003dtest emerge-${BOARD} update_engine\n\nChange-Id: I06ce66c4c85ac2718d9256c944160d63a6ac7e31\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2530630\nCommit-Queue: Saurabh Nijhara \u003csnijhara@google.com\u003e\nTested-by: Saurabh Nijhara \u003csnijhara@google.com\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "123c3e136c611a13b8ab9ec7cb75f4d5e3372c80",
      "tree": "2ca620e05622ba189e8de3af31ee869a19719521",
      "parents": [
        "f8decd34318fd9fdb85045adf8ecf7687bb000bf",
        "59928f18f768caea1c5f3d504fa1cca6ac7a6edf"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Nov 12 00:54:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 12 00:54:38 2020 +0000"
      },
      "message": "Revert \"Handle resume of VABC updates by emitting labels\" am: 59928f18f7\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1496997\n\nChange-Id: I17f5e7bb8b61e02124f4146d65f8e922a86290a6\n"
    },
    {
      "commit": "59928f18f768caea1c5f3d504fa1cca6ac7a6edf",
      "tree": "2ca620e05622ba189e8de3af31ee869a19719521",
      "parents": [
        "c3c0a3ab46e5907272f73287b54baf65db3bb555"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Nov 11 21:21:27 2020 +0000"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Nov 11 16:26:48 2020 -0500"
      },
      "message": "Revert \"Handle resume of VABC updates by emitting labels\"\n\nThis reverts commit 24599af599acf74b71a555a8eeb827bedcd672b5.\n\nReason for revert: b/173009837\n\nTest: 1. update_device.py ota.zip\n--extra-headers\u003d\"SWITCH_SLOT_ON_REBOOT\u003d0\"\n      2. update_device.py ota.zip\n      3. Verity that 2 did not re-start the entire update, only fs\n                  verification and postinstall may re-run.\n\nBug: 173009837\n\nChange-Id: Ia31025ebc68a5e6a72d7a0919994d614213270d1\n"
    },
    {
      "commit": "f36873504703bb43d785589ef797c3368b58b34c",
      "tree": "e60c2638323ec87583234f31900d5879e464eeb7",
      "parents": [
        "64a80160593434d07ee1d00364bf88a56496f694"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Tue Nov 10 10:41:40 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 11 04:34:36 2020 +0000"
      },
      "message": "update_engine: Turn on Shill by default\n\nThis flag is always true in Chorme OS and android\u0027s code doesn\u0027t compile\nthis. So the flag can be removed and be turned on by default.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test\n\nChange-Id: I3520cd4313bf3bff0d6f3f3775e35f8cf29f6322\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2529870\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "64a80160593434d07ee1d00364bf88a56496f694",
      "tree": "2f0989dd61d6a6da5d8183968cbb90b18560cdea",
      "parents": [
        "4fec0f26e790dc63afcd5adfbc192233eb1bb0cb"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Nov 09 16:58:17 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 11 04:34:35 2020 +0000"
      },
      "message": "update_engine: Turn on Chrome Kiosk app by default\n\nThis flag is always true in Chorme OS and android\u0027s code doesn\u0027t compile\nthis. So the flag can be removed and be turned on by default.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test\n\nChange-Id: Ibb7423196f24793adf85ef5bfe7da7b1edef012a\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2528758\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "4fec0f26e790dc63afcd5adfbc192233eb1bb0cb",
      "tree": "50ced95719ade1683eeed6845f10c82dc3121569",
      "parents": [
        "4c5413d0cae0c29c00257000b856890e59bab412"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Nov 09 16:38:14 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 11 04:34:32 2020 +0000"
      },
      "message": "update_engine: Turn on Chrome network proxy by default\n\nThis flag is always true in Chorme OS and android\u0027s code doesn\u0027t compile\nthis. So it can be removed.\n\nBUG\u003db:171829801\nTEST\u003dcros_workon_make --board reef --test\n\nChange-Id: I1e28955ba8fcd7ca395e538275ba68a2997bcc31\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2528757\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "4c5413d0cae0c29c00257000b856890e59bab412",
      "tree": "0e1206ba02839eeb22eeeb8998e23d337c83d37d",
      "parents": [
        "5ff76a25cd374b0cc55c1efb1929718395ee6fc1"
      ],
      "author": {
        "name": "Vyshu Khota",
        "email": "vyshu@google.com",
        "time": "Wed Nov 04 16:17:25 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Nov 11 01:27:11 2020 +0000"
      },
      "message": "update_engine: Store fingerprint value from Omaha response.\n\nStore the unique fp value from response into prefs. Value is later sent\nto Omaha to determine if there is a subsequent update available\nwhile the system is waiting to be rebooted.\n\nBUG\u003db:161259884\nTEST\u003dcros_workon_make --board\u003dhatch --test update_engine\n\nChange-Id: Ie37aa5da3cd8a0820e633f5ef426fb50e8a02838\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2491618\nTested-by: Vyshu Khota \u003cvyshu@google.com\u003e\nCommit-Queue: Vyshu Khota \u003cvyshu@google.com\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "f8decd34318fd9fdb85045adf8ecf7687bb000bf",
      "tree": "a895eea3ee4e5c0063f818f37bf271e8d7835d36",
      "parents": [
        "d0e2c2e30dd2bf2b281ff74feb764b78fad1c77c",
        "c3c0a3ab46e5907272f73287b54baf65db3bb555"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 10 21:12:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 10 21:12:14 2020 +0000"
      },
      "message": "Add PReadAll/PWriteAll for filedescriptor ptr am: c3c0a3ab46\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1493018\n\nChange-Id: I132d3400966fd2f50fd20dc86f45558bada97611\n"
    },
    {
      "commit": "5ff76a25cd374b0cc55c1efb1929718395ee6fc1",
      "tree": "d78f517e8b8532bb425efd78001abc224e62d9dc",
      "parents": [
        "956a89cdd994f834baadef5e465aa2552f3fe348"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Thu Nov 05 12:55:38 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 10 20:08:28 2020 +0000"
      },
      "message": "update_engine: Make PayloadStateTests class tests\n\nThere is already a class in there, we should use it so we can setup\ncommon code.\n\nBUG\u003db:171829801\nTEST\u003dunittests\n\nChange-Id: I5490b56e125fabb84f37d7a1d9814459bf053ba4\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2521635\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "956a89cdd994f834baadef5e465aa2552f3fe348",
      "tree": "6bbc856fed225e3760b0ade466ed31d42a9811c5",
      "parents": [
        "c288bf627fd2fc1d0466b70e4d6fbdb78414309d"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Nov 04 19:59:16 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 10 20:08:26 2020 +0000"
      },
      "message": "update_engine: Remove inline identifier from RealSystemState\n\nRealSystemState is a subclass. Overrided virtual functions by definition\ncannot be inlined because they do get resolved at runtime if the base\nclass pointer is used (which is almost everywhere).\n\nBUG\u003db:171829801\nTEST\u003dunittests\n\nChange-Id: I5bdd62d6b3bcde04e859e0e819631fe1e6897fe2\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2521791\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "c288bf627fd2fc1d0466b70e4d6fbdb78414309d",
      "tree": "01bdb0d9aa0521927fe9da382e0ccce8d22d174d",
      "parents": [
        "da35b878076eac28aae4ae6971f439f02d16cacb"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Nov 04 19:33:43 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 10 20:08:25 2020 +0000"
      },
      "message": "update_engine: Move DaemonStateInterface implementation to UpdateAttempter\n\nIt seems like UpdateAttempter is the best option for implementation of\nDaemonStateInterface. SystemState should only be doing state keeping not\ndoing these startup logics.\n\nBUG\u003db:171829801\nTEST\u003dunittests\nTEST\u003dCQ passes\n\nChange-Id: I47ec50107ffbeb544e061f39c900a1559f2cdcab\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2519843\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "d0e2c2e30dd2bf2b281ff74feb764b78fad1c77c",
      "tree": "8b78a689226fb0b50438a434fc75621ccbb641bb",
      "parents": [
        "268f043480cd8e6752cb0c509a775d91910edc4e",
        "4b28024b7b3a628830ce11319b4cc6a075a7262c"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Tue Nov 10 14:09:17 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 10 14:09:17 2020 +0000"
      },
      "message": "Rename PReadAll/PWriteAll for file descriptor ptr to ReadAll/WriteAll am: 4b28024b7b\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1491176\n\nChange-Id: I1a60760122a1a48a9de098876f388e40cd687f74\n"
    },
    {
      "commit": "da35b878076eac28aae4ae6971f439f02d16cacb",
      "tree": "40c7c36e14eaebb7c849f76ba698eade087c4c6f",
      "parents": [
        "e2cac6148b9e1357596e545900b40acd9509749c"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Nov 04 17:54:44 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Nov 10 05:48:51 2020 +0000"
      },
      "message": "update_engine: Clean up a bit of logs\n\nRemove some logs that show the content of the response. We already log\nthe response in its entirety. There is no need to individually log\npieces of it.\n\nBUG\u003db:163075733\nTEST\u003dNone\n\nChange-Id: Iec3fdfd2239c84662af91632c97a2c8722913b2d\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2520223\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    }
  ],
  "next": "e2cac6148b9e1357596e545900b40acd9509749c"
}
