)]}'
{
  "log": [
    {
      "commit": "39e2a4394e845f7d3594b5ad8928d168c31a7ca8",
      "tree": "7222db87ca2e18512456295f05c3da3c1bcbacec",
      "parents": [
        "68e6215780b635b2147ebe5ef9e8afd850d9d07f",
        "0145c883e00619a3270ca14d5e5cfdd3331fc413"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 31 09:26:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 09:26:22 2019 +0000"
      },
      "message": "Merge \"Convert RollbackTest Android.mk to an Android.bp.\""
    },
    {
      "commit": "c85d681cec564151c62a29dbaf8792cee3347bb3",
      "tree": "65916d62fe27e96af0ffca0b74e239701c940060",
      "parents": [
        "3684f14c480fba5e5098bc1bead27e88e0e4c3ec",
        "a31f85f6dcdfd9dcbc9a9b02ead37094c2a1fac1"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Jan 30 23:59:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 23:59:01 2019 -0800"
      },
      "message": "Merge \"Add get last entitlement value callback API\" am: 4163ff7928 am: 524fbd619e\nam: a31f85f6dc\n\nChange-Id: If67c8d092dd2c40f95cbe423bc694aa349039541\n"
    },
    {
      "commit": "a31f85f6dcdfd9dcbc9a9b02ead37094c2a1fac1",
      "tree": "21b1669238cbd65196dc067294f2b2fe535ebb95",
      "parents": [
        "ac358e2951777ed298ec4dc0394928694b6a4acd",
        "524fbd619e6e06be2b35951b85bc4b8df775fbfc"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Jan 30 23:49:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 23:49:43 2019 -0800"
      },
      "message": "Merge \"Add get last entitlement value callback API\" am: 4163ff7928\nam: 524fbd619e\n\nChange-Id: I42892bdacaa41f9cea7e653f0bb9b5497192e5f6\n"
    },
    {
      "commit": "4163ff7928dd5d4df8de766570a010451448a26d",
      "tree": "463846f8653ac299457e0e43833314683d77aa60",
      "parents": [
        "b334bbefd489b4e91845844f27c588d5641ef52f",
        "f27312788000e5974090527b57e98d098f59dfde"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Jan 31 07:23:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 07:23:31 2019 +0000"
      },
      "message": "Merge \"Add get last entitlement value callback API\""
    },
    {
      "commit": "f27312788000e5974090527b57e98d098f59dfde",
      "tree": "1fc775f7bb0a778e542f30eb5dab448c510b634f",
      "parents": [
        "33a09948e5a413eb2f78976e742566d3efa152d2"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Jan 16 17:44:13 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Jan 31 12:31:55 2019 +0800"
      },
      "message": "Add get last entitlement value callback API\n\nThe callback would be used to notify entitlement value. If the\ncache value indicates entitlement succeeded, it just fire\ncallback with cache value instead of run entitlement check.\n\nBug: 120887283\nTest: atest FrameworksNetTests\nChange-Id: I8afe928423bd75c54c61533a50a5c0814922ceb1\n"
    },
    {
      "commit": "066e3262223a0b8cc1f3970f53070676d60b414a",
      "tree": "2641593d0e2814cf951ac6b3c1c754cbe6d3732d",
      "parents": [
        "930321a0c6800fd866bd5738964bebeed5e7279c",
        "b8ae5b64a9cdd20eedcd9c5eba393a2bba2268c3"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Jan 30 20:11:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 20:11:09 2019 -0800"
      },
      "message": "Merge \"Add an API that allows VPNs to declare themselves as metered.\" am: 62a9b66a38 am: 9563c15d09\nam: b8ae5b64a9\n\nChange-Id: I74c6eceaa7444d0cc79fac3b94151a1bdeb63037\n"
    },
    {
      "commit": "b8ae5b64a9cdd20eedcd9c5eba393a2bba2268c3",
      "tree": "3f3a8b567ab4dca31274fd3299d685490e694f0d",
      "parents": [
        "f079efc57f35ff871a9eb4cd0faae75bc678be19",
        "9563c15d092dc974f32771438cef7b44d7bb9e4a"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Jan 30 19:39:50 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 19:39:50 2019 -0800"
      },
      "message": "Merge \"Add an API that allows VPNs to declare themselves as metered.\" am: 62a9b66a38\nam: 9563c15d09\n\nChange-Id: Iab1d2a3bf27ec9c033253ccd48ce8026e3b18799\n"
    },
    {
      "commit": "62a9b66a3878ec8f94be196eeac3327cd5ae0c6e",
      "tree": "92fd0b560a5a3a6b97e066c1ac7ab5d1c3ee8778",
      "parents": [
        "8c43f731cf33e69dc137d6852db448c48680f229",
        "1215f09b07c46f305b9227639b8cf66da03d0ddd"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Jan 31 02:43:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 02:43:25 2019 +0000"
      },
      "message": "Merge \"Add an API that allows VPNs to declare themselves as metered.\""
    },
    {
      "commit": "1215f09b07c46f305b9227639b8cf66da03d0ddd",
      "tree": "4013a6c95c3e596069490b357be0f34c9451af85",
      "parents": [
        "d8148b6c8c259d3088a6d1aa9703ff208c76c36e"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Mon Jan 14 11:45:33 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Jan 30 14:09:03 2019 -0800"
      },
      "message": "Add an API that allows VPNs to declare themselves as metered.\n\nFor VPN apps targeting Q and above, they will by default be treated as\nmetered unless they override this setting before establishing VPN.\n\nBug: 120145746\nTest: atest FrameworksNetTests\nTest: On device tests verifying meteredness setup correctly for apps\ntargeting Q and apps targeting P.\nChange-Id: Ia6d1f7ef244bc04ae2e28faa59625302b5994875\n"
    },
    {
      "commit": "c119780925ed47e9736cc8e1748d9d3d09e4fc03",
      "tree": "df07cae3b3b8b3a6e3a3e31aef03451aa27cf22e",
      "parents": [
        "ffcf6e546085b7398c0002f616ca0a36fed0f8e4"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Jan 30 12:05:41 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Jan 30 14:37:03 2019 +0000"
      },
      "message": "Fix null RollbackManager in RollbackHealthObserver and minor todos\n\n1. RollbackManager was instantiated by Context#getSystemService in\n   RollbackHealthObserver. At this time, RollbackManager has not yet\n   been published as a service to the system, so RollbackManager was null.\n   We now #getSystemService lazily so RollbackManager is never null.\n2. Pass causePackages from RollbackHealthObserver to RollbackManager\n3. Also fixed flaky ignored test exercising PackageWatchdog auto rollback\n\nTest: atest RollbackTest\nBug: 123615508 112431924\n\nChange-Id: I8f15c257b1efd96a96656405d3d7f74576a32c8e\n"
    },
    {
      "commit": "aab0a275aebdaece4ea97add4e151193cddd5e00",
      "tree": "2b21d5cd93d2f274de7190ab1c71f427eaead97e",
      "parents": [
        "d8a9470db5febcccbe75f7cacc191191cfa6eca8",
        "972e1cdb2eb920c524439bcb7a0737dddc82f0b2"
      ],
      "author": {
        "name": "Zimuzo Ezeozue",
        "email": "zezeozue@google.com",
        "time": "Wed Jan 30 10:13:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 10:13:41 2019 +0000"
      },
      "message": "Merge \"Notify PackageHealthObservers of the package versionCode on package failure\""
    },
    {
      "commit": "08577fc5799b8a5d3ad254060a914cf0b6dec6d8",
      "tree": "0c9cc0eadfc2b807d2107369ea4e170b0bcb2603",
      "parents": [
        "41c6a0ad9c7e76e9d10962d0dad5e892d2512324"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed May 02 21:14:54 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 30 15:41:57 2019 +0900"
      },
      "message": "Tell the factory it is already serving a request.\n\nThis is a cherry-pick of ag/607226 that has been rebased on\ntop of four years of changes and with comments addressed.\n\nGives each factory a serial number and propogates it to every\nNetworkAgent so when a score comes back indicating a request is\nbeing handled the factory can account for it properly.\n\nWithout this, a new request that\u0027s already handled by a network\noffered by a factory will not cause an increment of the factorys\nref count. Concretely this results in issues like the RAT icon\nnot being displayed in spite of the network actually being up\nand usable.\n\nThis will be ported to AOSP as soon as possible, but immediately\nsome master-only WiFi tests need to be adjusted with this change\nwhich would not let me submit to AOSP.\n\nBug: 18637384\nBug: 29030667\nTest: manual\nTest: atest frameworks/opt/telephony/tests/telephonytests\nTest: atest frameworks-net\nTest: atest CtsNetTestCases CtsHostsideNetworkTests\nChange-Id: I597ac588f76dd507512ff02868fd1310b7e63f7e\n"
    },
    {
      "commit": "4a80077ddd2f3b84cacd7196a860a42008ddcc78",
      "tree": "b80bca1eff0aa0d4e80d85f7178f60033e84b04c",
      "parents": [
        "2040dcffa373bc602c1105bc5ba75f84a7e27a8c",
        "14062be8f21d0e6ea9ef93ffe57713cc2f1851ce"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 21:42:29 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 29 21:42:29 2019 -0800"
      },
      "message": "Merge \"Remove last NetworkStack usage of hidden APIs\" am: 16ec5d038c am: 4845df3ced\nam: 14062be8f2\n\nChange-Id: I2059d9cfa3015388301a74828255354b6dc23c23\n"
    },
    {
      "commit": "14062be8f21d0e6ea9ef93ffe57713cc2f1851ce",
      "tree": "8a59d4340ef0641cbb2107b512181b6f8675e6f7",
      "parents": [
        "845a1b7be951bf9fefdf61eaa63f4801410c2f33",
        "4845df3ced0094d638ab374625bd6aebdbb978f3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 21:27:50 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 29 21:27:50 2019 -0800"
      },
      "message": "Merge \"Remove last NetworkStack usage of hidden APIs\" am: 16ec5d038c\nam: 4845df3ced\n\nChange-Id: I488fc028b8fd2aa5a09464082c65a4889a8a6b62\n"
    },
    {
      "commit": "231b52bc03750eb49b615fb110d91f6529c922b1",
      "tree": "f493100f461e573e00b2548afd62941d247220ec",
      "parents": [
        "9fdc6d296378bd17432ba1de507c83f4c3b8ed3a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 15:38:52 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 10:23:24 2019 +0900"
      },
      "message": "Remove last NetworkStack usage of hidden APIs\n\nIncludes various small changes to stop using hidden APIs\n\nTest: make NetworkStack\nTest: flashed, booted, WiFi and tethering working\nBug: 112869080\nChange-Id: Id2830795a444f484b377ed6437435a1cd833697a\n"
    },
    {
      "commit": "972e1cdb2eb920c524439bcb7a0737dddc82f0b2",
      "tree": "23a20bc327025b74c3cc9e50d8f1188ea31c2a58",
      "parents": [
        "6296773cd05e1922b8c943ffe40099b53b9ef72b"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Mon Jan 28 16:30:01 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Tue Jan 29 22:43:04 2019 +0000"
      },
      "message": "Notify PackageHealthObservers of the package versionCode on package failure\n\nPackageHealthObservers may need to verify that the package failure\nnotification they receive matches the expected package version code.\nWe now pass the version code along with the package name when notifying\nobservers.\n\nTest: atest com.android.server.PackageWatchdogTest\nBug: 120598832\nChange-Id: I272965d08a07240f3bde358039b52187ff2dd3cf\n"
    },
    {
      "commit": "d4caf851d32b2f1e87a1f43c876886d65506b9c9",
      "tree": "50334ab07bdd78087844f2eff03736f985122451",
      "parents": [
        "917955a4e669c9b237db621359ed67117758605a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jan 29 12:32:31 2019 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jan 29 12:39:54 2019 -0800"
      },
      "message": "Fix typo: decrement not increment\n\nWhen iterating a list backwards, one must decrement the index\nrather than increment it.\n\nBug: 123562063\nTest: test procedure given in bug\nTest: tests/ActivityTests\nChange-Id: I09d7bd045ff00291befe9d4e829d153f41a01a15\n"
    },
    {
      "commit": "0145c883e00619a3270ca14d5e5cfdd3331fc413",
      "tree": "dfef4b849efb4c121ec129a4340d62e45aefc156",
      "parents": [
        "66a23d050451e2548fa73f31f274ff59bc5c2fcb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 16 14:32:11 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 29 16:14:36 2019 +0000"
      },
      "message": "Convert RollbackTest Android.mk to an Android.bp.\n\nWhich is more convenient for building a dummy apex module to test\nrollback of staged installs.\n\nBug: 112431924\nTest: atest RollbackTest\n\nChange-Id: I30c2fc7d37ca30e47b49012edc02a1fc637ba6f6\n"
    },
    {
      "commit": "2a48c29cb67f6ecacb0aa2faedb94a255cee32e7",
      "tree": "9b740d872dc662dc35ce9193007d1f8994009d42",
      "parents": [
        "66a23d050451e2548fa73f31f274ff59bc5c2fcb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jan 28 17:33:48 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 29 13:35:56 2019 +0000"
      },
      "message": "Specify status results for RollbackManager.commitRollback.\n\nRather than implicitly reusing the PackageInstaller status codes.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I86929c0c1a5153c7f58e255e104b30fe96ddeca8\n"
    },
    {
      "commit": "66a23d050451e2548fa73f31f274ff59bc5c2fcb",
      "tree": "e39354476ab5e2f4062cc6ae7523267797a99b7e",
      "parents": [
        "7fc3aa0a0ef6459c0900bea608fc67b83011149e",
        "bf5b5c44614399ccf8759a23e61af518f8f54f2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 29 13:17:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 13:17:22 2019 +0000"
      },
      "message": "Merge \"Add a way to record causePackages for rollbacks.\""
    },
    {
      "commit": "bf5b5c44614399ccf8759a23e61af518f8f54f2e",
      "tree": "40f59759692bc17421d7ec70e982784f905778b5",
      "parents": [
        "908e048d73c7fec03e727c440d8843c7b304bc49"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jan 28 15:26:37 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 29 09:20:19 2019 +0000"
      },
      "message": "Add a way to record causePackages for rollbacks.\n\nBy passing a new causePackages list of VersionedPackage to\ncommitRollback and adding a RollbackInfo.getCausePackages() method to\nretrieve the cause packages for committed rollbacks.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I3b52511fd7e31b6304e7a7c34180dbb4d20f6dbf\n"
    },
    {
      "commit": "1f47ab08c1f54be43d320a5b58701b4a3f66077b",
      "tree": "fe7bddc0a77a0c4b5334bb9079a5ee3ae7ae7077",
      "parents": [
        "b9f55143bc8e26bdeb2d8c877dfea1c42edbc17d",
        "2b996ad0dd0720d8a40bd1ce9f4c205c371bef13"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 28 22:13:24 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 28 22:13:24 2019 -0800"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\" am: 774c3ce152 am: b478bb25ac\nam: 2b996ad0dd\n\nChange-Id: Ice1f8f27da3d0092af58c8e93969575ba9f8f925\n"
    },
    {
      "commit": "2b996ad0dd0720d8a40bd1ce9f4c205c371bef13",
      "tree": "bd8e1c73b44fa9516eb4587ee648eac4d3f54493",
      "parents": [
        "baa788a7aad0d286de561c1cd8e2825886d6ff22",
        "b478bb25ac73981b451860a37925f7b79dcb2465"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 28 21:34:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 28 21:34:03 2019 -0800"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\" am: 774c3ce152\nam: b478bb25ac\n\nChange-Id: I10094606f74e6cdc5f4b0b6591cf776fd895b1d3\n"
    },
    {
      "commit": "d10f95dcefac4be3e9cd76a15ff54a606ea05ee8",
      "tree": "62a755c290101f359e4d9cd50e03d839c7724cc6",
      "parents": [
        "5e55e809a722f1540630062d356c504169b3a688",
        "2f558d2659cf1c13c1672f93e7dd420cb887e8d3"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Mon Jan 28 22:30:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 22:30:26 2019 +0000"
      },
      "message": "Merge \"Defer broadcasts to slow-handling apps\""
    },
    {
      "commit": "2f558d2659cf1c13c1672f93e7dd420cb887e8d3",
      "tree": "114b85c0e66da27465cd4d4e013a2348d38f5e41",
      "parents": [
        "97bd994bb02a52de40725c09c14f62f6ed1bfaeb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 17 16:58:31 2019 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jan 28 12:32:41 2019 -0800"
      },
      "message": "Defer broadcasts to slow-handling apps\n\nWhen an app takes a long time to handle broadcasts, we start deferring\nfurther broadcasts to it to make sure that other broadcast traffic in\nthe system can continue to make progress.  Global delivery order is\ntechnically rearranged, but delivery order from the point of view of any\ngiven app remains consistent with issuance order.\n\nWhen alarm broadcasts are issued, we prioritize delivery of deferred\nalarms to the alarm recipients (i.e. we suspend the deferral policy and\ncatch up as promptly as possible) in order to minimize wake time spent\nwaiting for the alarm broadcast to be delivered.  Once an app with a\ndeferred broadcast backlog is no longer the target of an in-flight\nalarm, we re-impose deferral policy on it.\n\nThis policy intentionally trades off increased broadcast delivery\nlatency to apps that take a \"long\" time to handle broadcasts, in\nexchange for lowering delivery latency to all other apps in the system\nthat would previously have had to wait behind the slow app.\n\nIn addition, broadcast dispatch policy parameters can now be overlaid\nvia the usual global Settings mechanism.  In particular, configuring the\n\"bcast_slow_time\" parameter to a value in milliseconds higher than the\nqueue\u0027s broadcast timeout period will disable the new slow-receiver\npolicies.\n\nBug: 111404343\nTest: device boots \u0026 runs\nTest: tests/ActivityTests\nChange-Id: I76ac79bdf41ca3cfcc48515bca779ea0f5744c0b\n"
    },
    {
      "commit": "774c3ce1527526d3ea55d59ee0a70f379aeff12b",
      "tree": "6008835a1f55b57ef05a1fabae82083e2344004f",
      "parents": [
        "b3f282daa1c2163ce495673944e46be6d7e76c8d",
        "a462bcb9c477a2c33611560c2e8182917c5bf5b9"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 28 20:15:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 20:15:49 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "commit": "e87368e1fd17d5d8fa39d1c6fe408dbb133429b2",
      "tree": "b59ee255df3fbd335a35d3d57cea8d98fd11df89",
      "parents": [
        "e4e38d6631690d56520ca7469ebe08fdc33dc134"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 24 16:34:14 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jan 28 12:39:05 2019 +0000"
      },
      "message": "Commit rollbacks by ID, not by RollbackInfo.\n\nTo make it clear that the system only pays attention to the provided\nrollback ID when committing a rollback.\n\nAlso, rename executeRollback to commitRollback in IRollbackManager.aidl,\nnow that we are touching the code anyway.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I315e75c39019536fb2f090a0c84ed4cf7c03ce8c\n"
    },
    {
      "commit": "9a77141364139d3adda3c809ec423b960be34697",
      "tree": "9bb927f5a3eefcc38da76c0e3f03dd999d599d13",
      "parents": [
        "ecac3d1bc03e09192400f37d6e881d51898b971a",
        "4c5b40e084571a69190ff9f20497166444f3d56e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 01:30:17 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 28 01:30:17 2019 -0800"
      },
      "message": "Merge \"Move NetworkUtils used by NetworkStack\" am: b8bbc48dee\nam: 4c5b40e084\n\nChange-Id: I0d6a40c79e92d1de18c41cc50b72fbe33db13bdc\n"
    },
    {
      "commit": "b8bbc48dee9db0d98a4e0fae6e9e6792ef10e387",
      "tree": "64c437b4a8d27928e989b33f0c856f065bdc6359",
      "parents": [
        "375b3c075daf2d13bacd4dd74e645b5bdd5ec9fc",
        "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 09:06:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 09:06:20 2019 +0000"
      },
      "message": "Merge \"Move NetworkUtils used by NetworkStack\""
    },
    {
      "commit": "f6a3b910bb303e1f4f8b497809158dcf623c198c",
      "tree": "a547336fdce6daec371b944f5f1c32ba2aa33b10",
      "parents": [
        "ff5c8bac7c6cc9daa23b2ccbfa6904303dc9e174",
        "bc7a8f14f4f8b9e3ac371dcc1ffdf3a36ed35d1c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 00:35:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 28 00:35:46 2019 -0800"
      },
      "message": "Merge \"Add NetworkStack networking deps to SystemApi\" am: 9188b49259\nam: bc7a8f14f4\n\nChange-Id: I843cb189750666a2cb70b1960d49dfe797f3cf36\n"
    },
    {
      "commit": "e5009cd82c87ba729376378450a85991b98a7d55",
      "tree": "77e49839e87789967dd417d89a84d1cf871b0fb5",
      "parents": [
        "6ab2e4a91ee5aa0d91442f29ac17652b87cf3a89"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Jan 23 18:11:58 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Mon Jan 28 08:24:15 2019 +0000"
      },
      "message": "Add PackageHealthObserverImpact\n\nWhen a package fails health check, observers will report the impact of their\naction on the user. Only the observer with the least user impact will be\nallowed to take action.\n\nBug: 120598832\nTest: atest PackageWatchdogTest\nChange-Id: I15f358cd599431e1d7ea211aea5b1391f4aa33ab\n"
    },
    {
      "commit": "9188b4925936d45f314e77eb5edf0c598a848177",
      "tree": "3d4dd930e9fdfdcbaaca1854fd379c9f065fd6a9",
      "parents": [
        "223d6815035b8f4a8cba7bae2c8a5a6fa7ccd63e",
        "a4bcc86dbe2b271547ce027a76b1a003aaf9918c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:12:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:12:55 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack networking deps to SystemApi\""
    },
    {
      "commit": "18f11cd4d738754241d6332357ff51a0f1f97d1f",
      "tree": "6d84123f45d9743086f9b1359a01831de7e95911",
      "parents": [
        "367f06869632e103d8a58898101617d4700851e4",
        "77dd54d3d4cc25793f5055109e341923ddc38d8c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 06:57:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 06:57:25 2019 +0000"
      },
      "message": "Merge \"Move NetworkUtils used by NetworkStack\""
    },
    {
      "commit": "77dd54d3d4cc25793f5055109e341923ddc38d8c",
      "tree": "48e5deef308b9072666a22dda769561da876fde9",
      "parents": [
        "6136239d9dbfdfd879e87543b0a3d7c76d29983d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 08:54:08 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:46 2019 +0900"
      },
      "message": "Move NetworkUtils used by NetworkStack\n\nDepending on usage move into NetworkStackUtils or shared\nInet4AddressUtils.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\n(Cherry-pick of aosp/881952)\nChange-Id: Ie20dcee375b377236004a7689890729493aca857\n"
    },
    {
      "commit": "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8",
      "tree": "ce33aba620e23fa7f114aac988b4fdd4ecb60ff3",
      "parents": [
        "9d3ce3e55ea4c1e0e3006c535f3ce9bccd5b8134"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 09:35:10 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:17 2019 +0900"
      },
      "message": "Move NetworkUtils used by NetworkStack\n\nDepending on usage move into NetworkStackUtils or shared\nInet4AddressUtils.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nMerged-In: Ie20dcee375b377236004a7689890729493aca857\nChange-Id: Ib8d000529872796022706a35050fdc2c7141f2ab\n"
    },
    {
      "commit": "a4bcc86dbe2b271547ce027a76b1a003aaf9918c",
      "tree": "87f7d589be36365c536a9e278860a5098de0ffa4",
      "parents": [
        "166c3aa03049a1b3716b4e0de2c8b5a37e387e5f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:28:35 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:28:35 2019 +0900"
      },
      "message": "Add NetworkStack networking deps to SystemApi\n\nCherry-pick with conflicts fixed in CaptivePortalLoginActivity imports.\nTest: atest FrameworksNetTests\nBug: 112869080\nMerged-In: Id59dc06fb85e4ac88098f56b621ec880610759ce\nChange-Id: I3c05e8fdd70497426d4fa433295c4fbdad07d9c9\n"
    },
    {
      "commit": "9b634f17a273698c76491d21b1d648c7a992ca17",
      "tree": "9c0c695d34a1006daaca5d36d1edd326a3308241",
      "parents": [
        "d22cf2d3ab9a89d1e656a483ea772da64c629ceb",
        "ca1820bf2f78421243b8876e1094ee1b0fa2ca3f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 28 02:58:01 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 02:58:01 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack networking deps to SystemApi\""
    },
    {
      "commit": "efb4132ba31d715a2b0a4830d764b5288c8bf3c8",
      "tree": "a482f5c2bd86977ac0344d774c130d2f11bbe894",
      "parents": [
        "71ae5ba4c91382851cf7d4bdbf58224592250c8f",
        "4b092ef6f75a8c8137bf37ab1c0905faf58da31a"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Sat Jan 26 07:31:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 07:31:28 2019 +0000"
      },
      "message": "Merge changes Ic2bb4798,I2a409de2,I88a50a0e,Ia69342a4,Ia6548e4d, ...\n\n* changes:\n  Use \"commit\" instead of \"execute\" for rollbacks.\n  Rename PACKAGE_ROLLBACK_EXECUTED to ROLLBACK_COMMITTED.\n  Remove unused RollbackManager APIs.\n  Use RollbackManager.getAvailableRollbacks in RollbackTest\n  Use new RollbackManager API in RollbackPackageHealthObserver.\n  Add RollbackManager.getAvailableRollbacks API.\n  Include all relevant packages in RollbackInfo.\n"
    },
    {
      "commit": "18bac4c2da216f397433f9fd76c1d5e514bafe6c",
      "tree": "f07646cebbef4b47dbbb1d370f0a02d30afd3535",
      "parents": [
        "7e88e4ceb67080d57f366e69a1c80183d8c4909a",
        "a3039535d8e2cd557c6db734f96d6ffb0b4c4241"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 26 04:19:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 26 04:19:41 2019 +0000"
      },
      "message": "Merge \"Support multi-ABI in tests.\""
    },
    {
      "commit": "a462bcb9c477a2c33611560c2e8182917c5bf5b9",
      "tree": "ff9f4bfcb8b5e78803adba0901178aecfcd6d067",
      "parents": [
        "5e823ab263f779b566960a66c2eb9e4d511c598f"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Jan 25 08:50:06 2019 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Jan 25 19:59:03 2019 +0000"
      },
      "message": "Whitelist packages from VPN lockdown.\n\nBug: 77468593\nTest: atest com.android.server.connectivity.VpnTest\nChange-Id: I9119c139ab07a761ce5dfd1365b70eb905fd32dc\n"
    },
    {
      "commit": "f0a17d6bd2d5d7d0038561f24ac83f37395bfa7f",
      "tree": "b39faf1190bd87be719a06a63a924a79acbcf47d",
      "parents": [
        "01eee3797212ce06b11e2bb1b6c1d6830bbd11c2",
        "0ed2ad08f95d293a4d9a1c992a1b37024da28493"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 10:14:17 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 25 10:14:17 2019 -0800"
      },
      "message": "Merge \"JankBench: Add Bitmap Upload to list of runnable tests\" am: 9c4b6532b2 am: 1f90d94383\nam: 0ed2ad08f9\n\nChange-Id: Iaef1c7ffb34cd3b9a76a6eb10bc0db633c3f4e78\n"
    },
    {
      "commit": "01eee3797212ce06b11e2bb1b6c1d6830bbd11c2",
      "tree": "2536f1bf09c4506bb720e568d08e69842408681d",
      "parents": [
        "2ddb1c8f521413112042aafbdb95a889e1a69ef8",
        "b199e12fe57f7f85791b3aebe5b29443009f3f96"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 10:07:11 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 25 10:07:11 2019 -0800"
      },
      "message": "Merge \"JankBench: Fix execution of incorrect benchmark\" am: 8a52fda1fa am: 187fcc9fad\nam: b199e12fe5\n\nChange-Id: I90ff44942114da48426286ad36d58b7ff1379e41\n"
    },
    {
      "commit": "0ed2ad08f95d293a4d9a1c992a1b37024da28493",
      "tree": "cf62e52e5cdbb1f2fa3b67205085ac4efca4569d",
      "parents": [
        "b199e12fe57f7f85791b3aebe5b29443009f3f96",
        "1f90d943832d435263c1cfb90d054adc95aad7ce"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 09:57:50 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 25 09:57:50 2019 -0800"
      },
      "message": "Merge \"JankBench: Add Bitmap Upload to list of runnable tests\" am: 9c4b6532b2\nam: 1f90d94383\n\nChange-Id: Ic714757588429fb0ef97b6c1967e1768a773e847\n"
    },
    {
      "commit": "b199e12fe57f7f85791b3aebe5b29443009f3f96",
      "tree": "da8d6c6fcd40c7652cc88294471f73720846aa55",
      "parents": [
        "70650f9bc059651e76955d8ca817196c4651682c",
        "187fcc9fad78815c3d0ae6854442a516aec2dabf"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 09:52:35 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 25 09:52:35 2019 -0800"
      },
      "message": "Merge \"JankBench: Fix execution of incorrect benchmark\" am: 8a52fda1fa\nam: 187fcc9fad\n\nChange-Id: I6ce4a5a92e5ec90521d20d9a32d14556c32163ff\n"
    },
    {
      "commit": "9c4b6532b2822acf0910b677ab04d4dd2818c0ff",
      "tree": "3fc4e8187994e2fe2598e22a33f596753bc1e9d9",
      "parents": [
        "8a52fda1fa7478231d8b1b1c1d7b7f38b96c92d3",
        "72ff937a6b45201c49ead754cbd1c3cf1b6ba310"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 17:14:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 17:14:44 2019 +0000"
      },
      "message": "Merge \"JankBench: Add Bitmap Upload to list of runnable tests\""
    },
    {
      "commit": "8a52fda1fa7478231d8b1b1c1d7b7f38b96c92d3",
      "tree": "af10bcd550b621c679e9fc4473666cad7873807c",
      "parents": [
        "113fbed9000a3e371fbdbd9eeb92ade00204adb4",
        "5c1d15003efc53f8202026b42120e81cbef8ae00"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 17:14:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 17:14:15 2019 +0000"
      },
      "message": "Merge \"JankBench: Fix execution of incorrect benchmark\""
    },
    {
      "commit": "4b092ef6f75a8c8137bf37ab1c0905faf58da31a",
      "tree": "86591e12a01fd033399a3daa0671b7137227883d",
      "parents": [
        "dca7beb7401ee49e4863a103bfd8c1e50de11b14"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 24 13:08:38 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 25 14:56:02 2019 +0000"
      },
      "message": "Use \"commit\" instead of \"execute\" for rollbacks.\n\nWhich makes more sense for rollback of staged installs, where the caller\nwill have to reboot the device before the rollback takes effect.\n\nInternal references to \"execute\" in IRollbackManager.aidl and the\nrollback manager service implementation will be renamed in a follow up\nCL.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: Ic2bb479873b309fc145e4eda3b347849ac219ac9\n"
    },
    {
      "commit": "dca7beb7401ee49e4863a103bfd8c1e50de11b14",
      "tree": "7a8817c5e21f605c15b2681b5fd1f5bbae3964d8",
      "parents": [
        "65f9717b6ff48a90ae062293d7c73928165792e4"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 24 09:56:03 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 25 14:23:27 2019 +0000"
      },
      "message": "Rename PACKAGE_ROLLBACK_EXECUTED to ROLLBACK_COMMITTED.\n\nBecause there\u0027s no need to distinguish between package and other kinds\nof rollbacks, and for rollback of staged installs, committed is a more\nappropriate name than executed.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I2a409de29ba82a7a3df2fd0b17f939795caa61d5\n"
    },
    {
      "commit": "beb7e38f39f1a0d9a6f743b060904634ea105364",
      "tree": "031ebc7091e9eef8a82fd116c0049693f93d6f70",
      "parents": [
        "0e96192e45a3926f14e3ceeb88420ef481c651fc"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 15:48:29 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 25 14:23:26 2019 +0000"
      },
      "message": "Use RollbackManager.getAvailableRollbacks in RollbackTest\n\nInstead of getAvailableRollback and getPackagesWithAvailableRollbacks,\nwhich are soon to be removed.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: Ia69342a41bebb91a9fa8044ef8d8b495aba7187f\n"
    },
    {
      "commit": "a3039535d8e2cd557c6db734f96d6ffb0b4c4241",
      "tree": "bedee3882c413b9c68b5bf4f986e36d26131304a",
      "parents": [
        "3da552689edc44b6685989e585605f6bc022c0ab"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Fri Jan 25 14:07:23 2019 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Fri Jan 25 14:14:59 2019 +0000"
      },
      "message": "Support multi-ABI in tests.\n\nBuild the test .so for all ABIs and then pick the right one to load at\nruntime. (The executable doesn\u0027t need this, since it runs in its own\nprocess.)\n\nBug: 123281572\nTest: atest DexLoggerIntegrationTests\nTest: atest DexLoggerIntegrationTests -- --abi armeabi-v7a\nChange-Id: I0696ef75e42834b13524abde619dc0f8e79c8363\n"
    },
    {
      "commit": "0a79b323320d09dd0d4478283e5d999da728b168",
      "tree": "ad04f8a15834c1c5df5da1585d295a56c500192c",
      "parents": [
        "3da552689edc44b6685989e585605f6bc022c0ab"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 13:51:07 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 25 10:19:31 2019 +0000"
      },
      "message": "Include all relevant packages in RollbackInfo.\n\nInstead of a single target package. Needed for rollback of multiPackage\ninstalls.\n\nAdditionally, expose this information by a public method rather than a\npublic field.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I6e3ce87385abd37c48047db27bc443d3719ee023\n"
    },
    {
      "commit": "91dce9c9c7bdaccbea3f6d5f3a154198b2d0b220",
      "tree": "d070d136a359a8bfcfc186e5fca6ee8d35e71413",
      "parents": [
        "0969d6ec11693967938cecff9674aed53a084c98",
        "d7bb3192af4ab15c533403c10e9e7b63c1c89396"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 16:55:28 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 16:55:28 2019 -0800"
      },
      "message": "Merge \"Fix IPMS tests timeout.\" am: 1f9d80f6ee am: 618ff5185a\nam: d7bb3192af\n\nChange-Id: I3c27bb789b8c44d6e2c46dabe65bf19452453257\n"
    },
    {
      "commit": "d7bb3192af4ab15c533403c10e9e7b63c1c89396",
      "tree": "b1661174989c3490afc7b8d70402834b86db7619",
      "parents": [
        "94b6f9771a29e55a1e4fb07c63d346b285c6cedc",
        "618ff5185a671263bf7a9cebda30d2659cbee7da"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 16:46:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 16:46:01 2019 -0800"
      },
      "message": "Merge \"Fix IPMS tests timeout.\" am: 1f9d80f6ee\nam: 618ff5185a\n\nChange-Id: Ie8d1934205810586812714e5a63f10dc5fa01841\n"
    },
    {
      "commit": "1f9d80f6eebc26615e14fdbab5ee8461f70aa589",
      "tree": "31c31631990a1faa0a24121c30a2d00b141ee206",
      "parents": [
        "23a6598fe44fd73f0236fdfc09504e552a153cd1",
        "f735efc83331c8f7ab76a0114c94ffb6d25377c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 00:15:50 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 00:15:50 2019 +0000"
      },
      "message": "Merge \"Fix IPMS tests timeout.\""
    },
    {
      "commit": "ca1820bf2f78421243b8876e1094ee1b0fa2ca3f",
      "tree": "80870620049b1452a50ca6c5ecf0ada89e15e457",
      "parents": [
        "6136239d9dbfdfd879e87543b0a3d7c76d29983d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 22:00:27 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 09:05:58 2019 +0900"
      },
      "message": "Add NetworkStack networking deps to SystemApi\n\nTest: atest FrameworksNetTests\nBug: 112869080\nChange-Id: Id59dc06fb85e4ac88098f56b621ec880610759ce\n"
    },
    {
      "commit": "fe1cdd047f5b002ed19aa0609afa9f76f34ac972",
      "tree": "80571155efff09d8f5e61f25193b8aeb9d3851ba",
      "parents": [
        "1bbc8a56c48c38c8dde3df32ed4be606a0d99a4d",
        "fb54fde4023d1837cddf167ae6d503cb064060ad"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 14:46:02 2019 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 14:46:02 2019 -0800"
      },
      "message": "resolve merge conflicts of fb54fde4023d1837cddf167ae6d503cb064060ad to master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I7256999a13b713607cfb4c844bf1bc7b37b827a7\n"
    },
    {
      "commit": "fb54fde4023d1837cddf167ae6d503cb064060ad",
      "tree": "98f8d90b6fd2b12c69439ef0b3fa9f99512b872f",
      "parents": [
        "75eb1d78b95f91b458b7c388dd3c99f81fb069f0",
        "2f94ef95c48704301e62a33cf1f0937231b91d70"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 13:58:15 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 13:58:15 2019 -0800"
      },
      "message": "Merge \"Revert \"Whitelist packages from VPN lockdown.\"\" am: 9f73671651\nam: 2f94ef95c4\n\nChange-Id: I933a58f97b48f7a2db372cff6fb43318c840c6f8\n"
    },
    {
      "commit": "9f73671651379fb63355a39e2ace302272ba63c0",
      "tree": "f77bf568f2411960ffcfeca217db5413eeb4689d",
      "parents": [
        "961a43eae2aeee9b6fcfc152554ede34b2c115a1",
        "ee8e6a0fae7cf79862e05ea3f62d552bac3e1401"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:08:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 21:08:46 2019 +0000"
      },
      "message": "Merge \"Revert \"Whitelist packages from VPN lockdown.\"\""
    },
    {
      "commit": "ee8e6a0fae7cf79862e05ea3f62d552bac3e1401",
      "tree": "e612fa7dab5f1164c6c4ffb58e8a9c880197c61f",
      "parents": [
        "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:05:39 2019 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:05:39 2019 +0000"
      },
      "message": "Revert \"Whitelist packages from VPN lockdown.\"\n\nThis reverts commit bb9cef04c5b6699412d43d82bdd31c7a4f692cbc.\n\nReason for revert: broke pi-dev-plus-aosp\n\nChange-Id: Iaf5c8aa4a8720eb2852da8cd91c81a77ccb92b68\n"
    },
    {
      "commit": "b866a5b6e66eeba1eb38a9420775676c154ae211",
      "tree": "08574d29bc6ade8180a120a007c41a715c582a62",
      "parents": [
        "52e0e403d2f4aa250ae166ae9a33000fbb63f662",
        "ac77629a1ec3070f99dc897f89f7cbdb7ca105b5"
      ],
      "author": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Thu Jan 24 10:20:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 10:20:32 2019 -0800"
      },
      "message": "Merge \"Add API for proxy configuration over VPN.\" am: 8b5917965d\nam: ac77629a1e\n\nChange-Id: I51930e4ed99cc3df10db2c8bbef27989f0a06a46\n"
    },
    {
      "commit": "52e0e403d2f4aa250ae166ae9a33000fbb63f662",
      "tree": "ba22f18c0029fe522ef802915ce64a35e996c8bf",
      "parents": [
        "c2c7bc03c7d3f530b272a1ad1aadbc34ee316c5a",
        "295016b22b06a172a7ad9bcc75c4269c599a2af1"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 10:06:37 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 10:06:37 2019 -0800"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\" am: efc773525c\nam: 295016b22b\n\nChange-Id: I643fc2603f7cd2b928fe517eb473048004273835\n"
    },
    {
      "commit": "8b5917965d4ca7fd4a614263a01312e930bb1646",
      "tree": "ad42664877a02c4bd56dbd79e0a732aa7c59cbf3",
      "parents": [
        "efc773525cc5da909ba8dd2bf6ff4d517c7a3992",
        "044a436ac99d5cdb74fe933b7129f213ca3578c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 17:52:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 17:52:22 2019 +0000"
      },
      "message": "Merge \"Add API for proxy configuration over VPN.\""
    },
    {
      "commit": "efc773525cc5da909ba8dd2bf6ff4d517c7a3992",
      "tree": "bde153bd4069f09f3d13e834f1e37da576c9af55",
      "parents": [
        "1146f76c55e78dffcda031cdc4a007262cf83e44",
        "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 17:34:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 17:34:55 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "commit": "d1b641eea3af7f320d81667af12170a7cc5d9278",
      "tree": "37bb701d34a50ec44d09a9117d760b27f8adfc40",
      "parents": [
        "c1b889d2614068ae5bfc9e874c26b3d04c0802fd",
        "c4073cc2066566852afa959c6f546479dd8ea366"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 17:31:54 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 17:31:54 2019 +0000"
      },
      "message": "Merge \"Add RollbackPackageHealthObserver\""
    },
    {
      "commit": "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc",
      "tree": "60ab233d03c88ab95be89004766b785b21a193e2",
      "parents": [
        "479c0769f1a08526b3d846a77e54f78e76faf9ff"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Wed Dec 05 10:40:23 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 16:17:11 2019 +0000"
      },
      "message": "Whitelist packages from VPN lockdown.\n\nBug: 77468593\nTest: atest com.android.server.connectivity.VpnTest\nTest: atest MixedDeviceOwnerTest#testAlwaysOnVpn\nTest: MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot\nChange-Id: I7f6c5b9172063b588feacd6b9930a6cb88f764ab\nMerged-In: I7f6c5b9172063b588feacd6b9930a6cb88f764ab\n"
    },
    {
      "commit": "46165b5d61e6c9bb2a606822bdeecfc28a59c06e",
      "tree": "76ffd7af9a9abe20482d666fb5d2d5d893d1728d",
      "parents": [
        "e0cf597556307945a45bcd1ed7154604d182ba77",
        "1d58621a1f7948f7443bab286bc575fd38db1e16"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 16:15:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 16:15:08 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "commit": "044a436ac99d5cdb74fe933b7129f213ca3578c3",
      "tree": "2548520f494605718e95615e16061627c56f36de",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Wed Dec 05 16:19:47 2018 +0000"
      },
      "committer": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Thu Jan 24 16:07:20 2019 +0000"
      },
      "message": "Add API for proxy configuration over VPN.\n\nTest: runtest -x\nframeworks/base/tests/net/java/com/android/server/ConnectivityServiceTest.java\n\u0026\u0026 atest HostsideVpnTests\nBug: 76001058\nChange-Id: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a\nMerged-In: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a\n"
    },
    {
      "commit": "06928f442249220e3318db11e0081502ef758aba",
      "tree": "c0bd28e73d7195760cd30c1ff12ee029ec5aa9f1",
      "parents": [
        "8ac0a656a8611653e49c5a3b0520d4f63f02be7a",
        "18622d3d3529f0becfb339908e73fbdf347616e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 15:09:18 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 15:09:18 2019 +0000"
      },
      "message": "Merge \"Add API for proxy configuration over VPN.\""
    },
    {
      "commit": "c4073cc2066566852afa959c6f546479dd8ea366",
      "tree": "eba63b78b92c84b502b9b7400c2808ee96024289",
      "parents": [
        "c54e78a08486e923711bf33d0762079d650ace7f"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Fri Jan 18 18:39:18 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Thu Jan 24 15:07:35 2019 +0000"
      },
      "message": "Add RollbackPackageHealthObserver\n\nWith the help of PackageWatchdog, RollbackPackageHealthObserver will\nmonitor packages after enabling rollbacks and will execute the rollback\nautomatically if it detects frequent crashes.\n\nTest: atest RollbackTest\nBug: 112431924\nChange-Id: Ic85464583f7c6b0778d853a87670d250a42c33de\n"
    },
    {
      "commit": "52792d160a876e533658283c08985e9a996a8f98",
      "tree": "693d7cdb269c9e37600aa84c1fd53452db864859",
      "parents": [
        "c54e78a08486e923711bf33d0762079d650ace7f",
        "2546cef56cdf8767c4bb600251aed8c15dd6a7ae"
      ],
      "author": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Thu Jan 24 13:35:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 13:35:28 2019 +0000"
      },
      "message": "Merge \"Added APIs for App Usage Limits.\""
    },
    {
      "commit": "18622d3d3529f0becfb339908e73fbdf347616e6",
      "tree": "7497e56b19ac3aed7363968ca858a21cb4df8f48",
      "parents": [
        "2499cc2f97eeeddd150d756ad5547644f3694978"
      ],
      "author": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Wed Dec 05 16:19:47 2018 +0000"
      },
      "committer": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Thu Jan 24 12:54:19 2019 +0000"
      },
      "message": "Add API for proxy configuration over VPN.\n\nTest: runtest -x\nframeworks/base/tests/net/java/com/android/server/ConnectivityServiceTest.java\n\u0026\u0026 atest HostsideVpnTests\nBug: 76001058\nChange-Id: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a\n"
    },
    {
      "commit": "5fa8cb3802551507ccf3de0b699136c757b25b44",
      "tree": "efbacdc6c3cb7b2ca5a2e2a98abac8269f71dfc5",
      "parents": [
        "c97d0c5f12fbe9f470ef368a912abffbbaba7de3",
        "5b8b54cdcda40857e144e9fdf3aa8594443f1393"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 03:56:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 03:56:21 2019 -0800"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\" am: 6fa3d391b8 am: ff4106fc42\nam: 5b8b54cdcd\n\nChange-Id: I62b9ef24f3a7f9fe75450a05d19dffda3b84d4b5\n"
    },
    {
      "commit": "5b8b54cdcda40857e144e9fdf3aa8594443f1393",
      "tree": "c3756a4446ffe820ba39f79a8e070b35985da101",
      "parents": [
        "f37194e1baf2f25bf7af7fe4aa22b775de34f28e",
        "ff4106fc42d8243462897efd19f279de24220e3d"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 03:41:40 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 03:41:40 2019 -0800"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\" am: 6fa3d391b8\nam: ff4106fc42\n\nChange-Id: I46598799c8a21d986d1790afc5c4b01726081e97\n"
    },
    {
      "commit": "1d58621a1f7948f7443bab286bc575fd38db1e16",
      "tree": "1c269fb3d0de322195097bcf29fa946a3a20c95a",
      "parents": [
        "c2888cbc48c98297360356fa13ecdd9afe102ad9"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Wed Dec 05 10:40:23 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 11:34:17 2019 +0000"
      },
      "message": "Whitelist packages from VPN lockdown.\n\nBug: 77468593\nTest: atest com.android.server.connectivity.VpnTest\nTest: atest MixedDeviceOwnerTest#testAlwaysOnVpn\nTest: MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot\nChange-Id: I7f6c5b9172063b588feacd6b9930a6cb88f764ab\n"
    },
    {
      "commit": "6fa3d391b8109d761f3cece9c43bb46c23f58da6",
      "tree": "c11cf6a214c38b4446a7623e8a7b87be5b865f59",
      "parents": [
        "54d74bbf06f8d58972070a8c5f69daefa7dd8d3d",
        "d2e045e040e543f5eda2821a0108a81667546eac"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 11:06:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 11:06:12 2019 +0000"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\""
    },
    {
      "commit": "f735efc83331c8f7ab76a0114c94ffb6d25377c9",
      "tree": "f70fddcdd6362907c1b588cb7d202f915a0a60f3",
      "parents": [
        "0d4002db35fc6dd5976176b468597e8a65d8d895"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 19:34:39 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 19:34:39 2019 +0900"
      },
      "message": "Fix IPMS tests timeout.\n\nThe tests used to correctly detect failures but would mostly wait\nfor timeout instead of succeeding immediately. If timeout were to\nhappen, that would not have been detected.\n\nTest: atest IpMemoryStoreServiceTest\nChange-Id: Ic1e7fcac3020739af7dc3e2c294d0838d8ffc711\n"
    },
    {
      "commit": "d2e045e040e543f5eda2821a0108a81667546eac",
      "tree": "55f03b320fdeebb9240d32a8bfdf7e66bd1fc29a",
      "parents": [
        "56e1062ce30489ea83ce187fb78ec763d951f1b1"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 15:55:30 2019 +0800"
      },
      "committer": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 15:55:30 2019 +0800"
      },
      "message": "Popup a notification after logging in the captive portal network\n\nCaptive portal app will be auto dismissed after user login the\ncaptive portal network. In order to improve the user experience,\npopup a notification to notify user that the captive portal\nnetwork is connected.\n\nBug: 113629026\nTest: 1.atest FrameworksNetTests:NetworkNotificationManagerTest\n      2.Connect to a captive portal network and login, check if\n      there is a notification popup.\n\nChange-Id: Id54d12268e107af2f213c2bb348c5f7908e880f4\n"
    },
    {
      "commit": "0affe5dad2190fba8093a695d05687440a75d102",
      "tree": "3dfc513007e395605c27ef4b095f6979c2dd17fc",
      "parents": [
        "e765dc6e5fdaed22fc69a5420bd87840e13c8579",
        "3dea8549989f3b8e8f8d877e0db8b8a8c77fe692"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 22:24:41 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 22:24:41 2019 -0800"
      },
      "message": "Merge changes from topic \"ka05\" am: b3656c7b1b am: 14e51c8a84\nam: 3dea854998\n\nChange-Id: Ie56c431a6d934c752d1de30fc4bf98a7e557e5b2\n"
    },
    {
      "commit": "3dea8549989f3b8e8f8d877e0db8b8a8c77fe692",
      "tree": "f1829b193415574eaf13649a4550041ae2a4dbcc",
      "parents": [
        "6133800a585c05bd8851f2d3252667816e28f099",
        "14e51c8a848b3d5a2d7c25c0699429d402465756"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 21:44:11 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 21:44:11 2019 -0800"
      },
      "message": "Merge changes from topic \"ka05\" am: b3656c7b1b\nam: 14e51c8a84\n\nChange-Id: I08979872a03c52e933daa39730fd71e998272613\n"
    },
    {
      "commit": "53067713f7242bc0d6cf57d408d830c74d28e445",
      "tree": "f7f0d056b5b39c6846c103362da914ae46606152",
      "parents": [
        "c5ceebba02670546557162dea3a24eb56ef63f76",
        "713b4ac76f1bed98b8a332ba2601390d73121fff"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 21:11:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 21:11:46 2019 -0800"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\" am: 4864bfa722\nam: 713b4ac76f\n\nChange-Id: I9ba844265852ba3d45a5e514e22f84ea92d84b9d\n"
    },
    {
      "commit": "b3656c7b1b11e10cab70e90dcb6117f70607c891",
      "tree": "3fff5a7293562b928340f82c16347a1eaa22fa3a",
      "parents": [
        "9f7bc7d616543d26da1b5878c361898182adacc2",
        "215b877f11c82b1cc11e5c92c5330d4855e9dda7"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "message": "Merge changes from topic \"ka05\"\n\n* changes:\n  [KA05] Export keepalive offload api for IpSec Nat-T file descriptor\n  [KA01] export SocketKeepalive API for NAT-T keepalive\n"
    },
    {
      "commit": "4864bfa722382c24d5389ec18a08c82521ce836f",
      "tree": "8de650ab7e2b80de884d79a9ce5125a9a82a7a91",
      "parents": [
        "d49a6c86f4878c238fe981b24c6a5e01ef6e6218",
        "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\""
    },
    {
      "commit": "2546cef56cdf8767c4bb600251aed8c15dd6a7ae",
      "tree": "e7e029bf221c31709f9f24791a4565c527051dda",
      "parents": [
        "203445c85380a750a10cbbd2a57a0d87f382922e"
      ],
      "author": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Fri Jan 11 15:50:54 2019 -0800"
      },
      "committer": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Wed Jan 23 20:30:25 2019 -0800"
      },
      "message": "Added APIs for App Usage Limits.\n\nAdded a new AppUsageLimit group observer which follows the same pattern as\nother UsageGroups. This specific observer allows the launcher to query\nfor the AppUsageLimit, available via the new LauncherApps API below. The\nobserver can be registered and unregistered via the respective new APIs in\nUsageStats.\n\nLauncherApps has a new API which allows it to get the AppUsageLimit for\na specified package and user, initally set via the API in UsageStats.\nThis new API allows the launcher to query specifics about the limit such\nas how much usage time the limit has, and how much total usage time is\nremaining.\n\nBug: 117409586\nTest: atest FrameworksServicesTests:AppTimeLimitControllerTests\nTest: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForRegisterObserver\nTest: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForUnregisterObserver\nTest: manual (mmma frameworks/base/tests/UsageStatsTest/)\nChange-Id: Ifaffab629409e9191e40404a949c8df70bd3f7cb\n"
    },
    {
      "commit": "cd8b861529416014a4cbfaf90a64d8994f0a50fa",
      "tree": "56b26e9b9d2a02dab0b1ef4dafefb48ebf95a244",
      "parents": [
        "e0b050e1c3efc217ee3aabeba08ebefb003feb17",
        "4ca00224e94230870bac2d56ae201c4a22707a13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 20:10:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 20:10:39 2019 +0000"
      },
      "message": "Merge \"Fix some tests in SelectTestTests\""
    },
    {
      "commit": "99f46cae08f589dbe63f12e06026742634f6936e",
      "tree": "1ed837ae4fa9fec71c2df17bbac04aab72927d2d",
      "parents": [
        "9de4d6a3f58c13223de25319a972d83f9d34a536",
        "5cca8f250cd287d311b9e7b560a6c10fb909c6bc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 17:57:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 17:57:42 2019 +0000"
      },
      "message": "Merge \"Add continuous SKP capture test api\""
    },
    {
      "commit": "6ca2d0f4c13490d445878a5966c9ef9f58f36f8b",
      "tree": "0b7b7890ca69b52d707e8c1a0517f23f1a24d65f",
      "parents": [
        "bb4e16d581abb729231cc29e60ef9a80b6429d7e",
        "9a13aa9ffd7d9eeee0bfd7bf04b249a4331c7b88"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 09:01:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 09:01:09 2019 -0800"
      },
      "message": "Merge changes I1250730c,I7d00848c am: e693d49c0a am: 9026fb46cc\nam: 9a13aa9ffd\n\nChange-Id: Icc938491a9c4474cc27a4376ef03c954aac461b3\n"
    },
    {
      "commit": "9a13aa9ffd7d9eeee0bfd7bf04b249a4331c7b88",
      "tree": "927086da5f13338b399da001f6f5735733e75075",
      "parents": [
        "02c75cd029211127fc0a4231f4fcdbed4d9870a8",
        "9026fb46ccfe61385ef7e07940ca4111f39b1b99"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 08:40:50 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:40:50 2019 -0800"
      },
      "message": "Merge changes I1250730c,I7d00848c am: e693d49c0a\nam: 9026fb46cc\n\nChange-Id: I31c9f6c11d0f52a34f68151fc2baca1921dcadad\n"
    },
    {
      "commit": "215b877f11c82b1cc11e5c92c5330d4855e9dda7",
      "tree": "9743b3174b635f221563968ef557d229b40cc573",
      "parents": [
        "48eac1d4c8507c794aa162bd93a4c7319c52bff4"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jan 15 11:32:44 2019 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 24 00:40:25 2019 +0800"
      },
      "message": "[KA05] Export keepalive offload api for IpSec Nat-T file descriptor\n\nAdds system api of createSocketKeepalive to take file descriptor,\nso privileged apps could use it without the need of IpSecService.\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: If926c21704b6ed73a0adfcadad732b97b42bacae\n"
    },
    {
      "commit": "baed7690a2ac4593adce1b71dc8880a7f074ee47",
      "tree": "c245ad010aabec8fdf0a081039613919d931cd8c",
      "parents": [
        "a28407a4961cd195d6211caffcea9b49a08941ac",
        "2dfe01def905364a159a1dbd978f3f0f17e0152c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 08:36:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:36:21 2019 -0800"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\" am: e62097f71d am: 15f89ada84\nam: 2dfe01def9\n\nChange-Id: Ia3730d55442da165b779242a35c7c66bd0d9b8fe\n"
    },
    {
      "commit": "2dfe01def905364a159a1dbd978f3f0f17e0152c",
      "tree": "7553b713bf8168b37bbf5b4c735bf9aabe38c603",
      "parents": [
        "5c77cae9e549b8a3b0d080f094545f65cda88201",
        "15f89ada840880ee3bc3b973a945c6c4dbf1ba08"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 08:25:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:25:19 2019 -0800"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\" am: e62097f71d\nam: 15f89ada84\n\nChange-Id: I93532a44b070dfbca74e8b68c3e26aa96ed5c480\n"
    },
    {
      "commit": "3a02bebb341c8ca414c8da403b2e74e356683eff",
      "tree": "23aaa64eb0238c64071ee4a40fc4597c2f34f539",
      "parents": [
        "438f6799e9c2b7f7ac4b8a101028111b194420d7",
        "f8f1b38fd1a97ded49c15a32d3189082b2db63e4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 15:49:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 15:49:41 2019 +0000"
      },
      "message": "Merge changes Ic8db00b6,I68a91e07,I860ad443\n\n* changes:\n  Remove package name from ROLLBACK_EXECUTED broadcast.\n  Use VersionedPackage in PackageRollbackInfo.\n  Assign a rollbackId to all rollbacks.\n"
    },
    {
      "commit": "48eac1d4c8507c794aa162bd93a4c7319c52bff4",
      "tree": "00baf657553ad454eb24984372475d7c5c324698",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Dec 27 17:25:29 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 23:17:17 2019 +0800"
      },
      "message": "[KA01] export SocketKeepalive API for NAT-T keepalive\n\nThe new set of API replace the PacketKeepalive system API\nwhich is only specific for IPsec NAT-T keepalive packet. Allows\napplications to request different types of keepalives through\nthe same set of API.\n\nBy using keepalives, applications could request system to\nperiodically send specific packets on their behalf, using\nhardware offload to save battery power.\n\nThis change would only address interface change and test part of\noriginal functionality. After all reference of PacketKeepalive\nare removed, another change would be submitted to remove old\nAPI.\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: I3367666810acc44d5ad20e19acd4bf936e8b5d9c\n"
    },
    {
      "commit": "e693d49c0a46611d18afb69701277318958a0e9c",
      "tree": "cef829ed144da7a674de0f541ccaa14db7aee7f1",
      "parents": [
        "78cccf728dea2952185c83c5f03bd54418cb98a8",
        "c6304b87416882a9ed71069de0572fb3181c734c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "message": "Merge changes I1250730c,I7d00848c\n\n* changes:\n  Create a wrapper for IpClient\n  Move IpClient to NetworkStack\n"
    },
    {
      "commit": "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b",
      "tree": "08e60028cbde94a6bf2fe48d31a33292c902b4e6",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:09:52 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 23:04:03 2019 +0900"
      },
      "message": "Add generic SelectTest JUnit filter and CoreTestsFilter\n\nThe JUnit filter com.android.test.filters.SelectTest is a generic test\nfilter that can supersede |-e package| and |-e class| options of\nAndroidJUnitRunner.\n\nThe com.android.server.wm.test.filters.CoreTestsFilter extends SelectTest\nfilter to filter out Window Manager Service releated tests in\nFrameworksCoreTests.\n\nBug: 122451194\nTest: Can select some tests from WmTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.test.filters.SelectTest \\\n      -e selectTest com.android.test.filters.,com.android.server.wm.DummyTests \\\n      com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nTest: CoreTestsFilter works for FrameworksCoreTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.server.wm.test.filters.CoreTestsFilter \\\n      -e selectTest_verbose true \\\n      com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ic72637997bf17debef914e2596049f6cf3e753de\nMerged-In: Ic72637997bf17debef914e2596049f6cf3e753de\n"
    },
    {
      "commit": "f8f1b38fd1a97ded49c15a32d3189082b2db63e4",
      "tree": "2d9de4663d38b6817bf6161e48dad32d066f2396",
      "parents": [
        "a7e9b2db4bc2c3cf146c8d8ba2348792ef316e50"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 10:46:30 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 13:22:44 2019 +0000"
      },
      "message": "Remove package name from ROLLBACK_EXECUTED broadcast.\n\nThe receiver of the broadcast would likely want to query the rolled back\npackages via RollbackManager regardless, and it\u0027s not clear which\npackage to put when an atomic set of packages is rolled back.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: Ic8db00b62d8993e00a0dd2cb79ae68c430b45bb8\n"
    },
    {
      "commit": "4ca00224e94230870bac2d56ae201c4a22707a13",
      "tree": "a8013637ad5fe1381d0078b7fdbe29aa1bf37e3f",
      "parents": [
        "f71cb5ac321085af5573052e4063657d67fe61c7"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:14:28 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:16:05 2019 +0900"
      },
      "message": "Fix some tests in SelectTestTests\n\nThis is a follow up of Ic72637997bf17debef914e2596049f6cf3e753de\n\nBug: 122451194\nTest: atest FrameworksServicesTests:com.android.test.filters.SelectTestTests\nChange-Id: I61c5837a097451a204e9602476c68fdda4fc30be\n"
    },
    {
      "commit": "e62097f71d7719df24430e1e1405ba4ecaaf4b01",
      "tree": "c45828c41067694b9f90af6e4d65ce8ef0a68015",
      "parents": [
        "98f0c3091178ed19c66d33213882a27460873422",
        "ed3168e9e35eb0f779dd6b86c842d4fbf5ac2932"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 12:29:40 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 12:29:40 2019 +0000"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\""
    },
    {
      "commit": "dccea36b528060219f5eb8292d9472250d26c597",
      "tree": "ac02c5546dba01d0f186938d232177f8a92345d7",
      "parents": [
        "ed9c5ef6084d66e5f55bd7eacb0a06d960d49e76",
        "f1c3019d42696b63297b7fdff0be29f63b1e9576"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 23 03:37:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 03:37:45 2019 -0800"
      },
      "message": "Merge \"[MS11] Implement findL2Key\" am: 773f3f5bf3 am: 21c8257178\nam: f1c3019d42\n\nChange-Id: I768bc38b4f7d184842f49f6c0a5ac621020d2bd4\n"
    },
    {
      "commit": "f1c3019d42696b63297b7fdff0be29f63b1e9576",
      "tree": "8d5cc52ace1371e5fe88280636301c32ebb5a793",
      "parents": [
        "e052154abb25cff4d657ca98b5591b5a49bab8cf",
        "21c825717880162b1ebc08af2cbb25c908e8f620"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 23 03:24:20 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 03:24:20 2019 -0800"
      },
      "message": "Merge \"[MS11] Implement findL2Key\" am: 773f3f5bf3\nam: 21c8257178\n\nChange-Id: I3005b92ab49ed79f854614281ef09fe5dbeea5c9\n"
    },
    {
      "commit": "a7e9b2db4bc2c3cf146c8d8ba2348792ef316e50",
      "tree": "60edb1318d180f9257b1b9ef80f2e7926a4024f2",
      "parents": [
        "b9d54474adb78243ac426b9c9b562997c92ff078"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 22 17:20:58 2019 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 23 11:02:56 2019 +0000"
      },
      "message": "Use VersionedPackage in PackageRollbackInfo.\n\nRather than defining a new custom PackageRollbackInfo.PackageVersion\ntype.\n\nAlso clean up PackageRollbackInfo API by replacing public fields with\nmethods and picking better names.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I68a91e07b8745df9c5ecb22fdccbfcd76385814a\n"
    }
  ],
  "next": "773f3f5bf38c7520ec2a7e60679937c26d2da571"
}
