)]}'
{
  "log": [
    {
      "commit": "1d5ead8dbf836036528549118c5e105c7eab6cd1",
      "tree": "c5f23e0ab97bc5013ffdd8e8c335bd00a9dfcff0",
      "parents": [
        "ee9c42010f07b110e6c27afea345d80b51cdda5d",
        "a7291341e3bbef6277b57efa0e0e6e2d151dc6b9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 19:13:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 19:13:25 2019 +0000"
      },
      "message": "Merge \"Avoid building RollbackTestApps into the device image.\""
    },
    {
      "commit": "a7291341e3bbef6277b57efa0e0e6e2d151dc6b9",
      "tree": "f68865189c8e7aabae045830b05eb6c556d06860",
      "parents": [
        "1cfb214c967be0b726a81901cc7edda5a893f88e"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 07 14:51:05 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 07 14:57:53 2019 +0000"
      },
      "message": "Avoid building RollbackTestApps into the device image.\n\nThe current approach for including built apks as java resources in\nRollbackTest.apk appears to cause the RollbackTestApp apks to be\nincluded in the device release image. Convert the Android.mk for\nRollbackTest to Android.bp to work around this issue.\n\nThis breaks the split apk tests, but we can figure out how to address\nthat later. Marking the split apk tests @Ignore for now.\n\nBug: 123695037\nBug: 127520966\nTest: make -j80 dist tests, verify no RollbackT*.apk is included in the\n      built device image.\nTest: atest RollbackTest; atest StagedRollbackTest, verify no\n      RollbackT*.apk is included in the built system image.\n\nChange-Id: Ib413785b0974faddf19ac8dd7387b2642dab37e4\n"
    },
    {
      "commit": "340107f508070815a60f9a7168c76e35d71505f8",
      "tree": "6f842138dc0cf6d2293ef528d1f11cd2a521103b",
      "parents": [
        "9a3ebed84247f1780b5d2b2170f5fdb496dcdd67",
        "95ca226658697227897f5c8f12dfef40493f3c04"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 07 05:51:10 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 07 05:51:10 2019 -0800"
      },
      "message": "Merge \"Fix TetheringEntitlementValueListener related API\" am: fbcc63d51f am: 16c5a5c6f4\nam: 95ca226658\n\nChange-Id: I9a1f7c9fa34b6f1e6104a8e5af4b6957e7aae3eb\n"
    },
    {
      "commit": "95ca226658697227897f5c8f12dfef40493f3c04",
      "tree": "557c9b75f301ad07c8d3374579c1be03d328ae42",
      "parents": [
        "918fd7934bbac6f9a73c0bc58b514bbd0db6c4ca",
        "16c5a5c6f43cf944b4148e5d4a99162f23c7b23a"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 07 05:41:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 07 05:41:46 2019 -0800"
      },
      "message": "Merge \"Fix TetheringEntitlementValueListener related API\" am: fbcc63d51f\nam: 16c5a5c6f4\n\nChange-Id: Id85e5499e15b9b244c212a44ca79587b27c9c016\n"
    },
    {
      "commit": "fbcc63d51f775f1b45330d33bdd354d7a6997410",
      "tree": "e117bf7e72ccfa1fe2ca673f2fe28e665b56efbc",
      "parents": [
        "722dff1f3582d520f26159b744c2e2d0a0a1e926",
        "9554abf9ed2556a92dee0ccce7972691a44d5ec7"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 07 13:21:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 07 13:21:53 2019 +0000"
      },
      "message": "Merge \"Fix TetheringEntitlementValueListener related API\""
    },
    {
      "commit": "0f73a36b6fb6f142bff5f8a1013cd388b61865d6",
      "tree": "2a29d0ff8f2f806cbde2b2fd12ee1888cda8f04b",
      "parents": [
        "9b56c81652e711a988e82a5f70b57387ea08f795",
        "1e33868f0b3f12fbd29548e9fc9f0338ee2c9b88"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Wed Mar 06 22:10:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 06 22:10:32 2019 -0800"
      },
      "message": "Merge \"Migrate frameworks/base/tests/net/ to androidx.test\" am: 58038da960 am: dc1077d5db\nam: 1e33868f0b\n\nChange-Id: I01657671712799f5a29a3a7530430cc5bfb14f41\n"
    },
    {
      "commit": "1e33868f0b3f12fbd29548e9fc9f0338ee2c9b88",
      "tree": "efc11c610764796e58e2371c3eab630d35e1d804",
      "parents": [
        "4adf7d6a176ea8872214f640988511047eb748b6",
        "dc1077d5dbb06c1735d550454873f318f1cdd150"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Wed Mar 06 22:01:10 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 06 22:01:10 2019 -0800"
      },
      "message": "Merge \"Migrate frameworks/base/tests/net/ to androidx.test\" am: 58038da960\nam: dc1077d5db\n\nChange-Id: I88b55d65728e366e2ffd1336e28da4a879b2d5a2\n"
    },
    {
      "commit": "58038da960ef93976a76b5e4348033fcd0843294",
      "tree": "224be1591db627832e4114400f531a2a76982db8",
      "parents": [
        "3da7809ae47b4d37d57e0da5932d48beb4bb6530",
        "1ae2aa66eb6a59ff87af1b0e64e9416c514d5728"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 05:42:07 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 07 05:42:07 2019 +0000"
      },
      "message": "Merge \"Migrate frameworks/base/tests/net/ to androidx.test\""
    },
    {
      "commit": "9554abf9ed2556a92dee0ccce7972691a44d5ec7",
      "tree": "f37a22d18a091c61b71438f09b3cbd2de7d6846a",
      "parents": [
        "06e2f822b9e49665b32952608e96723737c713b1"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Mar 06 16:25:00 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Mar 07 13:33:21 2019 +0800"
      },
      "message": "Fix TetheringEntitlementValueListener related API\n\nTest: -build, flash, boot\n      -atest FrameworksNetTests\nbug: 126701557\nbug: 126392011\n\nChange-Id: I6dda10fbfe8ffaef71269617750a22563396f5ea\n"
    },
    {
      "commit": "ef65fb8424a87630b53fbe0ba37f867ba14da3d6",
      "tree": "3e5fd9b9611d1c2b442d58a16286e5786aa320ed",
      "parents": [
        "46835775cf518ee44408e040353da6e828a6fbce"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Thu Feb 28 10:44:29 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Mar 06 14:05:09 2019 +0000"
      },
      "message": "Fail package if explicit health check does not pass\n\nAs part of extending PackageWatchdog with explicit health check support\nin Ib4322c327bcb00ca9a3fbdc83579e7b5f2fd633b. Trigger the observers #execute\nmethod if a package never passed explicit health check on expiry.\n\nBug: 120598832\nTest: atest PackageWatchdogTest\nChange-Id: I8e916a6ca115d3883fe29f66456da36cd0ed09fb\n"
    },
    {
      "commit": "101ac58981754e5e1b35ea5cf88f41fd14768891",
      "tree": "8aa9504062e4f0378848bc40198003ed13421bcf",
      "parents": [
        "c2143015a2ca4ff9126905379470409d1dca6987",
        "9284e74585971c690951b398a3c8c2d3322df5af"
      ],
      "author": {
        "name": "Zimuzo Ezeozue",
        "email": "zezeozue@google.com",
        "time": "Wed Mar 06 10:25:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 06 10:25:22 2019 +0000"
      },
      "message": "Merge \"Extend PackageWatchdog with explicit health checks\""
    },
    {
      "commit": "9284e74585971c690951b398a3c8c2d3322df5af",
      "tree": "9574a0199369df75d58d90804b3fb919e435af07",
      "parents": [
        "1f4f9f6e4b95285a3b17bed83d712980cb216236"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Fri Feb 22 12:09:28 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Mar 06 05:41:42 2019 +0000"
      },
      "message": "Extend PackageWatchdog with explicit health checks\n\nAllow PackageWatchdog to monitor packages with explicit health checks\nenabled. In this case, at the end of a monitoring duration if a\npassed-health-check callback is not triggered, the package would be\nregarded as failed (in a later cl) and the observer is notified.\nIf monitoring without explicit health checks, the behavior is the same\nas before, packages expire silently.\n\nTODO: Implement the package failure trigger on expiry with failed\nexplict checks and enable added tests\n\nRemoved username from TODO comments\n\nBug: 120598832\nTest: atest PackageWatchdogTest\nChange-Id: Ib4322c327bcb00ca9a3fbdc83579e7b5f2fd633b\n"
    },
    {
      "commit": "1ae2aa66eb6a59ff87af1b0e64e9416c514d5728",
      "tree": "753c116a0355950efdcd30bd65825d10d06d15e2",
      "parents": [
        "5461b1d23f0f3e2af54dc371200a2d6c4d4b524d"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Mon Mar 04 14:14:56 2019 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Tue Mar 05 09:05:47 2019 -0800"
      },
      "message": "Migrate frameworks/base/tests/net/ to androidx.test\n\nTest: atest FrameworksNetTests\nChange-Id: Iaa59d606f5e1678cc5aaca9ed37e184fad894e5d\n"
    },
    {
      "commit": "f90c69f42f70cfda25428c530f81ded19bba8b34",
      "tree": "f926aab98bcfef8310abea32800d013c72e11f42",
      "parents": [
        "55805af7195bd2c433a1dccb1a9cd300167423a1"
      ],
      "author": {
        "name": "shafik",
        "email": "shafik@google.com",
        "time": "Wed Feb 27 10:19:28 2019 +0000"
      },
      "committer": {
        "name": "shafik",
        "email": "shafik@google.com",
        "time": "Tue Mar 05 10:55:53 2019 +0000"
      },
      "message": "Test Rollback Manager can handle time change\n\nTest flow:\n\t* Install app A with rollback enabled\n\t* Wait half of the expiration time\n\t* Install app B with rollback enabled\n\t* Move time forward by expiration time\n\t* Wait half of the expiration time\n\t- At this point, an expiration check should run and expire app A\n\tbut not app B\n\t* Assert app A rollback is expired\n\t* Assert app B rollback is not expired\n\t* Wait half of the expiration time\n\t* Assert app B rollback is expired\n\nNote: installing app A before app B is done solely to schedule an\nexpiration check before app B rollback has expired\n\nTest: atest RollbackTest#testTimeChangeDoesNotAffectLifetime\nTest: run the same test without the registering the time change handler\nin RollbackManagerServiceImpl - test fails\nBug: 124095332\n\nChange-Id: I4bc2d449e4195e059fa43e7568783683a60e2197\n"
    },
    {
      "commit": "4869968cdc247a0af05cbe6d1800aa110369ec73",
      "tree": "cd283307a5a3257a2195006775ffad74bd2b78fc",
      "parents": [
        "f57f492b2c6fb278def849cddb5d3a4e9a8b2c08",
        "a4084c87e84d0aa426a32744da571fbf3092ab89"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Mon Mar 04 18:09:07 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 04 18:09:07 2019 -0800"
      },
      "message": "Merge \"Fix isActiveNetworkMetered for VPNs.\" am: 92c55f03c6 am: 32e02764a1\nam: a4084c87e8\n\nChange-Id: I3d536324052227bbfab31ba5d608c35ecb9b1ab5\n"
    },
    {
      "commit": "a4084c87e84d0aa426a32744da571fbf3092ab89",
      "tree": "7b9d463d55476b55dc13833b4a4f9532cacf3e85",
      "parents": [
        "1c1577ba638828f6324a78314161afed73600cd2",
        "32e02764a178ea49abc26e6fabff768e91f47439"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Mon Mar 04 18:00:27 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 04 18:00:27 2019 -0800"
      },
      "message": "Merge \"Fix isActiveNetworkMetered for VPNs.\" am: 92c55f03c6\nam: 32e02764a1\n\nChange-Id: I9a1acc5850245b5c5f0ca13d03f368fb4a0d2fa9\n"
    },
    {
      "commit": "92c55f03c6629079df5653b1a661e33b01ac69c7",
      "tree": "ad41c0f6e119ae1c1035242bbc50824257c869cf",
      "parents": [
        "d14d29ca8fa5f823cee1c5eabe139e2733374f71",
        "c51b06d276ffde3527a4800213a85aff87c2e29c"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Tue Mar 05 01:37:30 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 01:37:30 2019 +0000"
      },
      "message": "Merge \"Fix isActiveNetworkMetered for VPNs.\""
    },
    {
      "commit": "5ee812a499aaadf8e6505724eb27806fe7fe9a38",
      "tree": "83a43e607a42280c7b7db8fc8576a09ed47ec184",
      "parents": [
        "983b500cbf65a13d363323207f865840adbb880a",
        "9f58b7c00773159ad6ff3745a06536bbc456777d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 23:00:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 04 23:00:22 2019 +0000"
      },
      "message": "Merge \"Update #registerAppUsageLimitObserver to accept time remaining.\""
    },
    {
      "commit": "9f58b7c00773159ad6ff3745a06536bbc456777d",
      "tree": "8e0b7d8f8947da28630356251df5f137f77bb4e3",
      "parents": [
        "6efe144d48fdcbde50e4f7eb595175be97f98cd6"
      ],
      "author": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Fri Mar 01 10:36:21 2019 -0800"
      },
      "committer": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Mon Mar 04 19:06:32 2019 +0000"
      },
      "message": "Update #registerAppUsageLimitObserver to accept time remaining.\n\nUsageStatsManager#registerAppUsageLimitObserver now accepts the time\nremaining in addition to the total time limit.\n\nThe API now also uses java.time.Duration instead of long+TimeUnit for\nthe total time and remaining time.\n\nBug: 124272203\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: I6f85ca9295cad46e10a30035b67e6210ae5c1886\n"
    },
    {
      "commit": "fffdfbe162243285929291d55358e129a2a6d7f0",
      "tree": "7775d34b790b2848457b7478ae897e8678b16709",
      "parents": [
        "24fe2cc7cc679d2cd7836dbceb0ead208117301b",
        "502ec7ae4bf0aa26e34a01efdf81116de6907809"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 18:42:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 04 18:42:58 2019 +0000"
      },
      "message": "Merge \"Migrate remainder of frameworks/base to androidx.test\""
    },
    {
      "commit": "babd9a6b1e23ea6c43c098717a2222711a80b5d1",
      "tree": "4558cbd3617977b29e92bfa2ceb377beb53630c3",
      "parents": [
        "7c37a585d40471acefdfa980de770d409a504dbd",
        "32b17738b583d00a04c6a8111f85d61d8be18d05"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Sat Mar 02 23:42:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 02 23:42:43 2019 -0800"
      },
      "message": "Merge \"Check if DUN APN exists to decide isDunRequired\" am: a56c2e4e55 am: 02a8b39023\nam: 32b17738b5\n\nChange-Id: Ia519a9e6937232286cd6877f30b81c36a6ea1e1c\n"
    },
    {
      "commit": "32b17738b583d00a04c6a8111f85d61d8be18d05",
      "tree": "4b06af2e746e5d2a9bdae67c5b67203b8a951a3b",
      "parents": [
        "abe8d5092679227360352ea1fcdfc43c4974bb50",
        "02a8b39023ad5081d8bc39f67329eadcd1a30b73"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Sat Mar 02 23:23:48 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 02 23:23:48 2019 -0800"
      },
      "message": "Merge \"Check if DUN APN exists to decide isDunRequired\" am: a56c2e4e55\nam: 02a8b39023\n\nChange-Id: I8c8143d1f91cdd2e74a59928a6cc85f8b430fed1\n"
    },
    {
      "commit": "a56c2e4e5554e306b016f71e0ac53ef5b719f4b8",
      "tree": "81eb1fa2f1574af356eb19f428fdfad8e5a6e14e",
      "parents": [
        "077a04828d4ca663e9c04ecb5bf0d010a3891f40",
        "db3a236d7fe4a5229555b6fd23b2cb4316ffcf8b"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Sun Mar 03 06:53:47 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Mar 03 06:53:47 2019 +0000"
      },
      "message": "Merge \"Check if DUN APN exists to decide isDunRequired\""
    },
    {
      "commit": "502ec7ae4bf0aa26e34a01efdf81116de6907809",
      "tree": "c06584e05e03178beb73e3f6916462a7039a4ac1",
      "parents": [
        "a485f9a4f101cc8f0749a96e3cb87afc407896a6"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Mar 01 14:43:20 2019 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Sat Mar 02 00:35:17 2019 +0000"
      },
      "message": "Migrate remainder of frameworks/base to androidx.test\n\nSee go/jetpack-test-android-migration\n\nExempt-From-Owner-Approval: automated package name refactoring\n\nTest: m  m -j BroadcastRadioTests KeystoreTests mediaframeworktest ActivityManagerPerfTests AppLaunch AppLaunchWear BackgroundDexOptServiceIntegrationTests AppCompatibilityTest DynamicCodeLoggerIntegrationTests FlickerLibTest InternalTests PackageWatchdogTest RcsTests RollbackTestAppAv1 RollbackTestAppAv2 RollbackTestAppACrashingV2 RollbackTestAppBv1 RollbackTestAppBv2 RollbackTestAppASplitV1 RollbackTestAppASplitV2 RollbackTest ServiceCrashTest UsageStatsPerfTests UsbTests WindowAnimationJank\nChange-Id: I32fe3297656eec6060da6c7e24582bcd5315fb16\n"
    },
    {
      "commit": "24279e7e90c5fd03a0bc4f5943f28e473fb041d8",
      "tree": "a598a969169f6bea3662586bec8e5683529a44d6",
      "parents": [
        "97d67dff3917fc375a635ab948687d319a00c49b",
        "0a4ceee14e5b12ffc197d2735be87d001fc25093"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Mar 01 16:23:54 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 01 16:23:54 2019 -0800"
      },
      "message": "resolve merge conflicts of 18900c462c16c0e3784b8bb6959426caa93cb8cb to stage-aosp-master\nam: 0a4ceee14e\n\nChange-Id: I02998fc243f8d26aa3badda3c32cb65c237d317e\n"
    },
    {
      "commit": "be943c0f03d70c208cdc961edd219ad4048c163b",
      "tree": "1a8aaca87deb105c1742425ac4813ff7b225f2ab",
      "parents": [
        "abc2a7d55c4ae831e3ad194937860e585cfbf209",
        "e79a94198a39b51fa937881f8f61fb6c2de0bc96"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 01 18:23:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 18:23:42 2019 +0000"
      },
      "message": "Merge \"Test for userdata restore in staged rollback test.\""
    },
    {
      "commit": "8091d9e6d9591af206bd2674b402d02a8ce52761",
      "tree": "8e6c24b8df033206523054fbef78325dfeeecae4",
      "parents": [
        "3275a6b2450745486cacf2fc7ed8d4075556e606"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Tue Feb 26 14:52:33 2019 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Mar 01 17:23:42 2019 +0000"
      },
      "message": "Migrate frameworks/base/tests/testables and its users to androidx.test\n\nSee go/jetpack-test-android-migration\n\nTest: atest TestablesTests NetworkStackTests FrameworksServicesTests SystemUITests FrameworksUiServicesTests ExtServicesUnitTests\nExempt-From-Owner-Approval: already reviewed\nChange-Id: I083fcdaa71b503535aa2b3c257740f3ecf055373\nMerged-In: Ib04d80954bd8536914d88c66b28e6632e60a6245\n"
    },
    {
      "commit": "720c07e5a5f682d2901537dbff122ebb059c03bd",
      "tree": "0a88846c9193ac5bd97465fb47e3ae8745e08bc1",
      "parents": [
        "7b040522e85d363de2c432590c15cb66f93ed350",
        "84151d91f7eb7457a5e813948962f656e77a5571"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Mar 01 16:54:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 16:54:31 2019 +0000"
      },
      "message": "Merge \"Migrate frameworks/base/tests/testables and its users to androidx.test\""
    },
    {
      "commit": "84151d91f7eb7457a5e813948962f656e77a5571",
      "tree": "d30a7cfa39ace03be8e36147dfc84ad2691e90cb",
      "parents": [
        "ba7ad27960d01bec869adcd11875701fdf5c6c20"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Wed Feb 27 15:37:59 2019 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Mar 01 16:54:09 2019 +0000"
      },
      "message": "Migrate frameworks/base/tests/testables and its users to androidx.test\n\nSee go/jetpack-test-android-migration\n\nThis is the internal version of AOSP change aosp/908373\n\nTest: m -j TestablesTests NetworkStackTests FrameworksServicesTests SystemUITests FrameworksUiServicesTests ExtServicesUnitTests WmTests FrameworksCoreTests\n\nExempt-From-Owner-Approval: automated package name refactoring; already reviewed on AOSP\nChange-Id: Ib04d80954bd8536914d88c66b28e6632e60a6245\n"
    },
    {
      "commit": "e79a94198a39b51fa937881f8f61fb6c2de0bc96",
      "tree": "505c11ae299be28449f10b4934722e13de6ebf7a",
      "parents": [
        "671c056ed0168e28c1e09e418a82d312fee01f21"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 19 10:31:21 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Mar 01 09:29:01 2019 +0000"
      },
      "message": "Test for userdata restore in staged rollback test.\n\nBug: 124044231\nTest: frameworks/base/tests/RollbackTest$ atest\nChange-Id: Ic323b2e45c05ac4706d96fe15b109fdceaf53da4\n"
    },
    {
      "commit": "fcdb1380ac5dffbd57dc60df9f11d497ee3a3385",
      "tree": "fd6dbb91debf4c49226a5d7fe8968628fa3889b5",
      "parents": [
        "3bc45737659a02c92ed4605e67a7d588362b0087",
        "a8cb41a94d257d5ce3d17f0e7e8408ef9749c112"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 28 19:25:53 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 28 19:25:53 2019 -0800"
      },
      "message": "Merge \"Remove ConnectivityManager and its usages from NetworkStatsService.\" am: 93dfa10da4\nam: a8cb41a94d\n\nChange-Id: Ieb10b88344dd4436913426961e6999577a469f36\n"
    },
    {
      "commit": "29dfd6211073a1e6e86724edd830587b8fb6f3fd",
      "tree": "a19f57ab514840115b2d369ebb6b9bd8618ba0ba",
      "parents": [
        "cc44edcfff7ad1c135040bd80be66088db7ccebb",
        "02c50ef1d190e1b1ef1a8f8acb617ef8e5979cc8"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Mar 01 01:14:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 01:14:34 2019 +0000"
      },
      "message": "Merge \"Remove ConnectivityManager and its usages from NetworkStatsService.\""
    },
    {
      "commit": "d33cbc6f5ffe1d1e83afbf6cc977e9f31994fb9d",
      "tree": "b57c45244a22b9f19f203d7586d570d5484717ed",
      "parents": [
        "222d1d04bfb1b4eda3962a917779ffc0efa987af"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 07 14:13:13 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Mar 01 00:10:52 2019 +0000"
      },
      "message": "Remove ConnectivityManager and its usages from NetworkStatsService.\n\nNSS needed it for getting VpnInfo[], NetworkState[] and\nactiveLinkProperties which it used to query via ConnectivityManager.\n\nFor VpnInfo[], this was racy as NSS may ignore intermediate changes to a\nVPN\u0027s underlying networks. See http://b/123961098 for more context.\n\nIt may also lead to deadlocks b/w ConnectivityService and\nNetworkStatsService. See http://b/126245192 for more info.\n\nThis change will ensure that NSS is never contending on any of\nConnectivityService locks.\n\nBug: 123961098\nBug: 126245192\nBug: 120145746\nTest: atest FrameworksNetTests\nChange-Id: Id1da446b54d95ee68ed14079107b1a10318bcf8b\nMerged-In: I57e117bb4e9efe491b19d6b5a479f2d58d1c58e6\n"
    },
    {
      "commit": "02c50ef1d190e1b1ef1a8f8acb617ef8e5979cc8",
      "tree": "c402c516ef5bc8cd153e8b5596cc860f83666797",
      "parents": [
        "fe2c7ed9b5efe894c12d0b6984ed7822c4823d7b"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 07 14:13:13 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 28 13:43:02 2019 -0800"
      },
      "message": "Remove ConnectivityManager and its usages from NetworkStatsService.\n\nNSS needed it for getting VpnInfo[], NetworkState[] and\nactiveLinkProperties which it used to query via ConnectivityManager.\n\nFor VpnInfo[], this was racy as NSS may ignore intermediate changes to a\nVPN\u0027s underlying networks. See http://b/123961098 for more context.\n\nIt may also lead to deadlocks b/w ConnectivityService and\nNetworkStatsService. See http://b/126245192 for more info.\n\nThis change will ensure that NSS is never contending on any of\nConnectivityService locks.\n\nBug: 123961098\nBug: 126245192\nBug: 120145746\nTest: atest FrameworksNetTests\nChange-Id: I57e117bb4e9efe491b19d6b5a479f2d58d1c58e6\n"
    },
    {
      "commit": "c51b06d276ffde3527a4800213a85aff87c2e29c",
      "tree": "fcc5a7792ecb5ee0f0ce62093886c30eab0df63c",
      "parents": [
        "222d1d04bfb1b4eda3962a917779ffc0efa987af"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Mon Feb 25 17:22:02 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 28 13:18:11 2019 -0800"
      },
      "message": "Fix isActiveNetworkMetered for VPNs.\n\nThis change is basically a revert of http://ag/3580901.\nIt was made because previously VPN capabilities did not use to update\nbased on its underlying networks. That is no longer the case anymore.\n\nThis was previously returning meteredness on the basis of VPN\u0027s first\nunderlying network which is incorrect in cases such as VPN using\nmultiple underlying networks, or VPN that has explicitly marked itself\nas metered via VpnService.Builder#setMetered API.\n\nBug: 123936838\nTest: atest FrameworksNetTests\nChange-Id: Ia54b8570fbad4a638a6d43a95e0271c6baf66685\n"
    },
    {
      "commit": "b10113347d1c008a3ccbb02b86722a6c02ab0e18",
      "tree": "a454c300e06a7606d9fa4436e70601f7e0aaafd7",
      "parents": [
        "357f00384986fa0120752d4b3b97e071fc4643e7",
        "769b8638f970c6cf62abb7ac46f80211b7c3afb6"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Feb 28 21:11:59 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 21:11:59 2019 +0000"
      },
      "message": "Merge \"System gesture exclusion rects for Views\""
    },
    {
      "commit": "5e1c11cc444d6c83e5a09fd84e6646e3fcde14f9",
      "tree": "44aa72900e687dcbb14e7a823a3bc1754447145b",
      "parents": [
        "5ac2de02f67d18c0596653e3628b1063b1a89b2d",
        "fc9a21de684f24f0005be43d0113b504bd5990fc"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Thu Feb 28 16:46:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 16:46:03 2019 +0000"
      },
      "message": "Merge \"Detect native code loading by untrusted_app.\""
    },
    {
      "commit": "73dec61c8a39cfd5ae8c3f725813aa1310fdb42e",
      "tree": "67ac7870e8cb6859338f7e6db17481e8c6ca2613",
      "parents": [
        "4020f8c038b75fd4fc5cc2d150a598cf0eacbe7a",
        "6f8dd4a6ad2042c1f361464a3ef48d71d5b85f5b"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 27 16:37:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 27 16:37:43 2019 -0800"
      },
      "message": "Merge changes from topic \"nat64\" am: a02847ec0d am: d9b7731230\nam: 6f8dd4a6ad\n\nChange-Id: Iffd1a988d631c9285bad232cc60ae321abc866e8\n"
    },
    {
      "commit": "6f8dd4a6ad2042c1f361464a3ef48d71d5b85f5b",
      "tree": "afbcdab609c022107f8bc4265a01b31fa4b8a76d",
      "parents": [
        "48d03c3f004c3ac602dd85d023fd9e6db1db5c93",
        "d9b77312308b4d072203dc2669ce097d053976fe"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 27 16:10:58 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 27 16:10:58 2019 -0800"
      },
      "message": "Merge changes from topic \"nat64\" am: a02847ec0d\nam: d9b7731230\n\nChange-Id: Iac01497eda611d334ee0ec2440f7d9f8bd27bd1f\n"
    },
    {
      "commit": "a02847ec0dd7dfe231305a0e70e68e40ec4af553",
      "tree": "feba388b734525c2c389463e76ef6ff6f1bc70a6",
      "parents": [
        "0d99ab3f18f3f94280de3f689261a7fdfc58b817",
        "b313e0c83455b00783e1669f7428e923e3554448"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 27 23:37:42 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 23:37:42 2019 +0000"
      },
      "message": "Merge changes from topic \"nat64\"\n\n* changes:\n  Catch ServiceSpecificException instead of IllegalStateException.\n  Manage NAT64 prefix discovery lifecycle in the framework.\n  Track NAT64 in the framework and start clatd iff NAT64 detected\n  Change Nat464Xlat lifecycle.\n  Minor improvements to verifyTcpBufferSizeChange.\n"
    },
    {
      "commit": "fc9a21de684f24f0005be43d0113b504bd5990fc",
      "tree": "b3d293910bf690463604112c34b30a220216cf90",
      "parents": [
        "d5276e9f84269ee1a429177782beaa9f7a897234"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Feb 27 21:30:59 2019 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Feb 27 21:30:59 2019 +0000"
      },
      "message": "Detect native code loading by untrusted_app.\n\nModify the regex to cover untrusted_app as well as untrusted_app_25\nand untrusted_app_27.\n\nAdd a test to verify.\n\nBug: 126536482\nTest: atest DynamicCodeLoggerIntegrationsTests\nChange-Id: Ie4cbabfb55a5e78868cc6ee8ec46270ab3bf75d1\n"
    },
    {
      "commit": "769b8638f970c6cf62abb7ac46f80211b7c3afb6",
      "tree": "e0ad974ef45ec6a2355a1fcfab4e68f580ad8a46",
      "parents": [
        "2da691987f1e5664f104567a94f3c661d0c4a66e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Feb 04 11:28:22 2019 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Feb 26 15:37:25 2019 -0800"
      },
      "message": "System gesture exclusion rects for Views\n\nAllow views to register a list of rects where the device\u0027s system UI\nshould not intercept complex (read: down+move+up) gestures on specific\nsub-regions of the view. This should not be used for large-scale,\nfull-view gesture recognition such as scrolling, but rather for specific\nareas such as SeekBar\u0027s scroll thumb or DrawerLayout\u0027s edge strip for\nswiping open a navigation drawer.\n\nAdd ability for ViewTreeObserver to observe transformed exclusion rects\n\nBug: 126360272\nTest: atest android.view.cts.SystemGestureExclusionRectsTest\nChange-Id: If89b6f66637e40efa12955d6408f6e37b25cb46f\n"
    },
    {
      "commit": "94e316b413878d2658e39e3612491b0716a5ad23",
      "tree": "1607dba4f7c116c7504a9393c52c0050ccc3bb1e",
      "parents": [
        "3b9f51840bcb3434cf0f1a65e1576518fbc57cf0",
        "6d61f5e50539c4c0e55af37b52bbcbe60d565d51"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 26 19:34:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 19:34:48 2019 +0000"
      },
      "message": "Merge \"Test Rollback Expiration lifetime\""
    },
    {
      "commit": "19bd4dace1bc470c0a978135a514461a17ed4b2f",
      "tree": "7f5dbeaeae8019e54f76f1ef6a6bf21fe4533aba",
      "parents": [
        "a8025a851d917bfed6f0ae6d4b174d53d9b53303",
        "bd04aa850e54740c4cf397445d80e0733f0cc004"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 26 10:45:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 26 10:45:19 2019 -0800"
      },
      "message": "Merge \"Remove unused tests/utils/SleepUtils\" am: 548170a66a\nam: bd04aa850e\n\nChange-Id: I8b819ac5497fdbbe41d933ddf0b42c5e14bf4455\n"
    },
    {
      "commit": "aef4b828813f6e42abf46397861c411636fcf74b",
      "tree": "2ec5ba1028dc03db6c915183fb86327cfe4379d9",
      "parents": [
        "c5ea003bbbf9ffe35c1249b0c3feee04a1eda956"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Sun Feb 24 14:47:36 2019 -0800"
      },
      "committer": {
        "name": "Alexander Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 26 17:43:22 2019 +0000"
      },
      "message": "Remove unused tests/utils/SleepUtils\n\nThe presense of these files hinders the conversion of the makefiles\nto the blueprints (causes failure in the internal builds due to lacking\nfiles).\n\nBug: 122332340\nTest: treehugger\nChange-Id: I2a3c38cbba7c14ae1b2880c73c7f6514816f0e68\n"
    },
    {
      "commit": "6d61f5e50539c4c0e55af37b52bbcbe60d565d51",
      "tree": "71d1771f5140d3c4eb44f93853dcd153a03a69db",
      "parents": [
        "0eedd5978ed919421839f7ad2bccf6f75ebe26fd"
      ],
      "author": {
        "name": "shafik",
        "email": "shafik@google.com",
        "time": "Tue Feb 26 09:33:26 2019 +0000"
      },
      "committer": {
        "name": "shafik",
        "email": "shafik@google.com",
        "time": "Tue Feb 26 16:04:31 2019 +0000"
      },
      "message": "Test Rollback Expiration lifetime\n\nAdd a test that checks whether the rollback data is expired after the\nlifetime duration expires.\nSince the default expiration time is 48 hours, the test first changes\nthe expiration time to a more reasonable (and testable) amount.\n\nFlow:\n\t* Change rollback lifetime duration to 30s\n\t* Install v1 of an app\n\t* Install v2 of an app (with rollback enabled)\n\t* Check that package rollback is available\n\t* Wait for the lifetime duration\n\t* Check that package is not available for rollback\n\nTest: atest RollbackTest\nTest: atest RollbackTest#testRollbackExpiresAfterLifetime\nBug: 124096729\nChange-Id: I4c6b3df14ed7b98b72d3c8a49a0dd5b2e864e2b2\n"
    },
    {
      "commit": "ab009ea44c83ab5e9aa88d509080b27a05a90367",
      "tree": "38df317c4fd293b40e37fd1b64b23437e765f950",
      "parents": [
        "c704edbe44d9230075a7c81754548d622d5992f1"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 25 12:11:05 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 26 16:02:44 2019 +0000"
      },
      "message": "RollbackManager: Backup and restore split apks.\n\nPreviously RollbackManager would only backup and restore the base apk\nfor a package. This change fixes it to backup and restore split apks as\nwell.\n\nAdds a new test for rollback of packages built with splits.\n\nAlso, switch to using resources to distinguish between v1 and v2 of an\napplication instead of meta-data, given we use resources anyway now to\ndistinguish between split versions.\n\nBug: 124848643\nTest: atest RollbackTest, with new test for splits added.\nChange-Id: Id1f32db7b728bdeda6c7223bc69a7e80ba569dda\n"
    },
    {
      "commit": "d593e298c66d1138240f8e97e92b8a5b8f9eb130",
      "tree": "0e9e4094184f75c450d6a81fd527c338a74a3b62",
      "parents": [
        "6998fa8a17756b36d925446bb5e1f3ec4993200f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Feb 19 13:21:56 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 27 00:18:13 2019 +0900"
      },
      "message": "Manage NAT64 prefix discovery lifecycle in the framework.\n\nCurrently NAT64 prefix discovery, which runs in netd, is started\nby netd itself when a network is programmed with all-IPv6 DNS\nservers. Unfortunately this is not correct because in many cases\nwe program DNS servers before the network is connected and it\u0027s\nactually possible to send packets to them.\n\nIn general netd does not have enough visibility into network\nlifecycle management to decide when to start and stop prefix\ndiscovery. So move it into the framework with the rest of the\n464xlat control plane.\n\nBug: 65674744\nTest: atest FrameworksNetTests\nChange-Id: I8fa051a9c216d9c05082bf7d0bbb0cbd56000162\n"
    },
    {
      "commit": "db3a236d7fe4a5229555b6fd23b2cb4316ffcf8b",
      "tree": "c4502dd8256c6db7a3e540778a2d09121a062323",
      "parents": [
        "03c14760a593b8bbea502fc8cbcc0ffe1e2ac058"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Fri Oct 05 12:36:08 2018 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Feb 26 16:30:48 2019 +0800"
      },
      "message": "Check if DUN APN exists to decide isDunRequired\n\nChange isDunRequired variable from integer to boolean.\nBefore this change tethering would reference\nconfig_tether_upstream_types reource configuraton to decide\nisDunRequired for DUN_UNSPECIFIED case.\nAfter the change, if isDunRequired is true, tethering would\nrequest DUN. If it is false, tethering skip DUN type. In order\nto backwards compatibility, tethering would not add mobile/hipri\ntype to upstream configuration if one of them already exist in\nupstream configuration.\n\nTest: - build, flash, booted\n      - runtest frameworks-net\n      - manully test with TMO, VZW SIM.\nbug: 63150712\n\nChange-Id: Ia998ea502674ff186d52af37e3fd8f07de495245\n"
    },
    {
      "commit": "3d61f8927545b95252276c9be45bd5a72e50b903",
      "tree": "1a8c94ab7e9d23500eb8f145aaac6c00d76acb5e",
      "parents": [
        "44261a37107cb79a11fba8bafed9f5ea0da50908",
        "e57475e6c9bf1ba463b51f5214c8d9f1c794070d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 25 19:21:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 25 19:21:52 2019 +0000"
      },
      "message": "Merge \"Address API council feedback\""
    },
    {
      "commit": "37cc5250811841cf622c517d4879e37a317b04ac",
      "tree": "9d7090a6cbab73285ba7606fcdf39d35c91d5fab",
      "parents": [
        "0a356c724bd433f3cd334e277e003b5153db66c5",
        "1b1553fbe076ae1c7b40a1a9ad746a2f41bf2e9d"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 25 10:01:18 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 25 10:01:18 2019 -0800"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\" am: 1c2c11990c\nam: 1b1553fbe0\n\nChange-Id: Ia6fca0b09a2366b5a9b6f0a798154c498dd969c5\n"
    },
    {
      "commit": "60a96c17918f2e3792b10a102571c769a1a8807b",
      "tree": "42fa37f95d41cf2e3316391022a57e3670abfdec",
      "parents": [
        "b953577b2784bebfc47ca8ad31fa55f2ea9808d1"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Sun Feb 24 21:01:29 2019 +0000"
      },
      "committer": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Mon Feb 25 13:09:48 2019 +0000"
      },
      "message": "Add \"Staged\" to API related to staged sessions.\n\nAlso, throw an IllegalArgumentException is these APIs are called on\nsessions that are not marked as staged.\n\nTest: tested new apis with an ad-hoc app. atest RollbackTest\nStagedRollbackTest\nFix: 124507718\n\nChange-Id: I3529aaff404d644ab6dad98f29411141e8df865d\n"
    },
    {
      "commit": "6998fa8a17756b36d925446bb5e1f3ec4993200f",
      "tree": "e8c180a879d94016f0af4756b676c5b4dbf62070",
      "parents": [
        "df59563de231e19d56e04c5691ad9b67031a576e"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 08 10:04:25 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Feb 25 11:42:00 2019 +0900"
      },
      "message": "Track NAT64 in the framework and start clatd iff NAT64 detected\n\nCurrently, both netd and clatd do NAT64 prefix detection, and we\nstart clatd on all IPv6-only networks regardless of whether netd\nhas detected a NAT64 prefix or not.\n\nInstead, track the NAT64 prefix in the framework, and only start\nclatd if the prefix is detected. This will allow us to remove\nDNS64 detection in clatd, and pass the NAT64 prefix and the IPv6\naddress to clatd on the command line instead of clatd finding it\nitself. That way, netd and the framework will always know how\n464xlat is configured, and we\u0027ll be able to use that information\nin netd.\n\nTest: builds, boots\nTest: atest FrameworksNetTests\nChange-Id: Ida32d5760c5aecf7aeebef08fdb596291b2ce14a\n"
    },
    {
      "commit": "df59563de231e19d56e04c5691ad9b67031a576e",
      "tree": "b6d7571a93196045aaee35f35cdfa3c7ee6882a3",
      "parents": [
        "f56ff048c23014325cb75a116169d2d4d193f540"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 08 14:43:37 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Feb 25 11:42:00 2019 +0900"
      },
      "message": "Change Nat464Xlat lifecycle.\n\nCurrently, NetworkAgentInfo keeps a Nat464Xlat object only on\nnetworks where we\u0027re starting clatd (i.e., IPv6-only networks).\nSimplify this code by making the Nat464Xlat object final and\nalways non-null. This allows us to use Nat464Xlat to store\ninformation, such as the NAT64 prefix, even if the clat daemon\nhas not been started yet.\n\nAlso, remove the STOPPING state which waits for the interface to\nbe removed. Instead, when stop() is called, immediately enter the\nIDLE state.\n- This is necessary in order to be able to call start() again\n  before the interface removal notification has arrived.\n- It\u0027s also arguably more correct than the current code,\n  because when stop() returns clatd has already terminated\n  (ClatdController::stopClatd calls waitpid), and thus the tun\n  fd is already closed and the tun interface is gone.\n\nAlso, now that Nat464Xlat objects are reused after stop(), add\ntest coverage for calling start() after stop, in both cases:\n- The notification that the previous interface was removed\n  arrives before the second start().\n- The notification that the previous interface was removed\n  arrives after the second start() but before the notification\n  that the second interface was added.\n\nAlso fix a couple of lint warnings.\n\nTest: builds, boots\nTest: atest FrameworksNetTests\nTest: clatd stops when IPv4 address added\nTest: clatd restarts after \"adb shell killall clatd\"\nChange-Id: I3dc66d155aa27606681f3473daf2170434d8c6d0\n"
    },
    {
      "commit": "f56ff048c23014325cb75a116169d2d4d193f540",
      "tree": "84580c0619e9e1b0ce4e1bba62a8749713ecc9c6",
      "parents": [
        "f2cf09c94510857f99fd94381d609784dd46b334"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Feb 25 10:56:06 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Feb 25 11:41:50 2019 +0900"
      },
      "message": "Minor improvements to verifyTcpBufferSizeChange.\n\n1. Remove \"throws Exception\" from the signature so it can be used\n   in tests that do not already throw Exception.\n2. Update comment to reflect the fact that TCP buffer sizes are\n   set on default network switch, not on connect.\n3. Move into the method a class-level static constant that is\n   only used in that method.\n\nTest: atest ConnectivityServiceTest\nChange-Id: Ic2e4fbedc23065efc20e45ea84996b577a8e94b6\n"
    },
    {
      "commit": "e57475e6c9bf1ba463b51f5214c8d9f1c794070d",
      "tree": "d7b12f0258d35ae2f880ff76da5c3e73691bd24f",
      "parents": [
        "ab5938c3077371d1770d87316342526e28cadacb"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 20 17:39:52 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Feb 22 14:24:28 2019 -0800"
      },
      "message": "Address API council feedback\n\nBug: 125027187\nBug: 125026102\nBug: 125026678\nBug: 125026234\nBug: 125027586\nBug: 125026476\nBug: 125026103\nBug: 125026237\nBug: 125027248\nBug: 125026475\nBug: 125027487\nTest: RenderNodeTests\nChange-Id: Ic63ea7a3cfe359a7dff0c1b46e534e499f7e928b\n"
    },
    {
      "commit": "272ed7536eca9e6247b434258d1d7e9ae5a8f1ad",
      "tree": "1e21ee0a9087eae959b47ac1b7f9519c125f2e19",
      "parents": [
        "145d742e236cc17fcfcf94cfc2921a34e1307a9e",
        "ae574a86738cb28bef7e23ed754ccaffd807b1c5"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Fri Feb 22 14:29:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 22 14:29:39 2019 +0000"
      },
      "message": "Merge \"[CS] Support \"instant failure\" from factories\""
    },
    {
      "commit": "d937fa569703424c099be4d3aee4caf2f00b9a13",
      "tree": "112e8bde749f7d99ee0cb3122022bc3d379059b6",
      "parents": [
        "703e8c68ec5cca7b9b03fd88116bc1ffdc6a0929"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 12 09:38:16 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Thu Feb 21 16:15:52 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122332340\nTest: treehugger\nChange-Id: I23d8d5a019155a0f3296f7ab75e9b44b7621f3c8\nMerged-In: I23d8d5a019155a0f3296f7ab75e9b44b7621f3c8\n"
    },
    {
      "commit": "3383005724f617ba7d5c708db70b694586f7fe72",
      "tree": "b76a57319f60d56125b2f020254e463466cc8136",
      "parents": [
        "02f07eb1439652a75200d8e2ef9452fcd50321e2",
        "5dcd1797497a41c718000c04149b4ed427164f13"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Feb 21 11:09:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 11:09:26 2019 +0000"
      },
      "message": "Merge \"RMS: Pass in rollback_id in the calls to installd\""
    },
    {
      "commit": "b226f96c4884ac768d87060123ec98a6c43ee94a",
      "tree": "18b1d07b6a3ca7aa3ce1a3e8f5e3545f9783d725",
      "parents": [
        "72ee558bdff027b783b2b57672e04e711d0dd079",
        "7fabc936426cc03152e3f4715170cd7dc98e7986"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 21 09:28:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 09:28:16 2019 +0000"
      },
      "message": "Merge changes I5383c533,Iaf739837\n\n* changes:\n  Add test for staged rollback of apex only install.\n  Rename \"Basic\" staged rollback test to \"ApkOnly\"\n"
    },
    {
      "commit": "f41a76e836504b146ea9074cde58f261d4b24ae8",
      "tree": "28a7a4b885535b74eab3a9188234dbcf0ab6ff74",
      "parents": [
        "e06f9da44434a0efba94c224febeb5ccaceb64da",
        "f6118b3d170a59d86a20c1e21f5878f0200dbd83"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 21 05:44:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 05:44:05 2019 +0000"
      },
      "message": "Merge \"Remove extra null-check on IntervalStats.events.\""
    },
    {
      "commit": "0d40e2de23f5a9da312b3e6883bea7347857ed36",
      "tree": "fed65df177806c9862b79af91be0adcf3070533f",
      "parents": [
        "f862750207faf439857c8e1d24ab75ba9d17970d",
        "8d3b7a4d45992c7af409c0dbcfc1d29ece1ce44e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 21 04:56:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 04:56:17 2019 +0000"
      },
      "message": "Merge \"Rename test class to match code.\""
    },
    {
      "commit": "f6118b3d170a59d86a20c1e21f5878f0200dbd83",
      "tree": "9ef71f2edd01b2541888dce11e9025d5864a39ee",
      "parents": [
        "ff5d286d092ca60945869120583c429348271e3c"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Thu Dec 13 15:20:43 2018 -0800"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 20 18:10:29 2019 -0800"
      },
      "message": "Remove extra null-check on IntervalStats.events.\n\nNow IntervalStats.events field is initialized at construction of\nIntervalStats object, we can remove the extra null-check on\nIntervalStats.events, make code more clean and readable.\n\nTest: atest UsageStatsDatabaseTest.java\nChange-Id: I2580509f41593c1fdf380ba56ebc7a5b6c6f0c5f\n"
    },
    {
      "commit": "6ead427b4ecb897c3bd15e6e43be0fb5f3473341",
      "tree": "7fe22c2ec5b6f23b0056fe36f87abffd16703bd2",
      "parents": [
        "3d44f6379c6ca41795d1f7c574b6958aa70ab8fe",
        "720a31725dbc4b29a4adb962ffe2dd380089733e"
      ],
      "author": {
        "name": "Leland Miller",
        "email": "lelandmiller@google.com",
        "time": "Wed Feb 20 14:10:06 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 20 14:10:06 2019 -0800"
      },
      "message": "Merge \"Split RCS events into API and internal classes\" am: 609ea873b7 am: 7b46efda19\nam: 720a31725d\n\nChange-Id: Id2d914dcb2088ea676c448ff7068ac7229913182\n"
    },
    {
      "commit": "720a31725dbc4b29a4adb962ffe2dd380089733e",
      "tree": "22d232bf5f1194509e658002f013312f26aa8b18",
      "parents": [
        "ac89f2e5f95f6785a64f20ce91cf9c9acc2170d6",
        "7b46efda19787fb2ebdca54181398ddf79cc6bf2"
      ],
      "author": {
        "name": "Leland Miller",
        "email": "lelandmiller@google.com",
        "time": "Wed Feb 20 13:05:37 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 20 13:05:37 2019 -0800"
      },
      "message": "Merge \"Split RCS events into API and internal classes\" am: 609ea873b7\nam: 7b46efda19\n\nChange-Id: I2fc31c0fdc1e8eb203830dff9a7914e56ebda413\n"
    },
    {
      "commit": "b53be1d28c83eba502e2129a32492230a364fad7",
      "tree": "22a82cd43c80bb8946d2f3910d06020fcfd53786",
      "parents": [
        "0a9b851293c8b558f6c060fa80b1c9d54cf940b8",
        "98684aa82a7e8bfa02404a8fe58f452662a499ec"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Feb 20 12:43:52 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 20 12:43:52 2019 -0800"
      },
      "message": "Merge \"Improve the performance when loading image wallpaper colors\" into pi-dev\nam: 98684aa82a\n\nChange-Id: I4ff2e38dc3f40ccf6289ffbee69eed23c96fa4dc\n"
    },
    {
      "commit": "98684aa82a7e8bfa02404a8fe58f452662a499ec",
      "tree": "8feec79d0df7355bade26b98c65a2c7578676711",
      "parents": [
        "2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89",
        "5abc71b27b5cd08148a277a8f378bbb5f4029835"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Feb 20 20:26:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 20:26:25 2019 +0000"
      },
      "message": "Merge \"Improve the performance when loading image wallpaper colors\" into pi-dev"
    },
    {
      "commit": "609ea873b76caa7625491f361d913b9cddab6da5",
      "tree": "cd617725ac434889f31b8a113d1a4b5ed0be6f8e",
      "parents": [
        "a6dda25ac90b7ce6a9afa7da6cc86fade59f9ebf",
        "c39f23c1a67379d990ff6cd6183063a75dd94f06"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 20:01:14 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 20:01:14 2019 +0000"
      },
      "message": "Merge \"Split RCS events into API and internal classes\""
    },
    {
      "commit": "ad8805a6c217338b12511f220cce22211a19080a",
      "tree": "9fc7c16e99646d100c8d89a53377fb35cc750a4c",
      "parents": [
        "d14c8a2a7240623a9c46f7f86cbd24423024172b"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Feb 06 10:13:38 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Feb 20 18:37:44 2019 +0000"
      },
      "message": "Update VPN capabilities when its underlying network set is null.\n\nPreviously, they were only updated when underlying network set was\nnon-null.\n\nThis change also ensures that all the calls b/w ConnectivityService and\nVpn that leads to updating capabilities are on ConnectivityService\nhandler thread.\n\nAdditionally, it also ensures that capabilities are propagated after VPN\nenters connected state.\n\nThis change also updates VPN capabilities inline from\nConnectivityService handler thread. Previously, there was an additional\nloop where Vpn would update capabilities via NetworkAgent thru\nAsyncChannel which posts back to CS handler thread, which could\npotentially lead to delays in updating VPN capabilities.\n\nBug: 119129310\nBug: 118856062\nBug: 124268198\nTest: atest FrameworksNetTests\nTest: manual - verified VPNs capabilities are getting updated and\nDownloadManager is working correctly.\n\n(cherry picked from commit 4fa80e8a2f03557221e0371a987e780df7788faa)\n\nChange-Id: Iae5f2024b19df04c31938815b52687781d016cde\nMerged-In: Id0abc4d304bb096e92479a118168690ccce634ed\n"
    },
    {
      "commit": "7fabc936426cc03152e3f4715170cd7dc98e7986",
      "tree": "e863beabb8aa3a92bc5275448429949771e7a5b4",
      "parents": [
        "67c3746c1f74070c10d0f3cc67de0941e5912fe7"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 19 17:00:43 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 20 16:36:54 2019 +0000"
      },
      "message": "Add test for staged rollback of apex only install.\n\nBug: 124043688\nTest: atest StagedRollbackTest\n\nChange-Id: I5383c533483e48d3f300e66e9554677d6057c494\n"
    },
    {
      "commit": "67c3746c1f74070c10d0f3cc67de0941e5912fe7",
      "tree": "3c4a9cc715487d39eee986d658e80e0126b12857",
      "parents": [
        "218c9e7d9b297cd68b449dc15f4f0e1dbdc94e72"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 19 16:17:32 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 20 16:36:54 2019 +0000"
      },
      "message": "Rename \"Basic\" staged rollback test to \"ApkOnly\"\n\nIn preparation for adding Apex and Apex + Apk tests.\n\nBug: 124043688\nTest: atest StagedRollbackTest\nChange-Id: Iaf7398370c65403373bf4e7c2f82c8eb9cc0930c\n"
    },
    {
      "commit": "4ba3b12efb713c21904214ee33e44a711bdca3ff",
      "tree": "dcf0648697834cd9f53cbdd489d3766c66b9c703",
      "parents": [
        "619ed85e812ff1de47de56cce24cc046cc9caa72",
        "31a61f6348b69c4dfc68e95c9a44e428234dd5f6"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Feb 20 16:25:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 16:25:58 2019 +0000"
      },
      "message": "Merge changes from topic \"PPRL.190205.001\"\n\n* changes:\n  Fix merge problems with cherry-picking \"Add notification settings to backup\u0026restore\" change into pi-dev\n  DO NOT MERGE - Merge PPRL.190205.001 into master\n"
    },
    {
      "commit": "391f42b70da0dee4e375ed366e876adbcccf53f1",
      "tree": "b3759fa8854773b88b0abaedcf9a69203874c58d",
      "parents": [
        "13d637a0230ad7d34a3287df2fa5657395d79216",
        "12d2de64172e369afcbe9e8e832c69ed7a87c7aa"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Feb 20 04:35:38 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 20 04:35:38 2019 -0800"
      },
      "message": "Merge \"Skip unreachable route when estimating VPN destinations\" am: 21078b1edd am: e000de90f4\nam: 12d2de6417\n\nChange-Id: Id81038035eddf98d0c4546ddb25c8f6ed5736ad6\n"
    },
    {
      "commit": "8d3b7a4d45992c7af409c0dbcfc1d29ece1ce44e",
      "tree": "fa7b004978a4951fdc79eb14a4c394241456853d",
      "parents": [
        "13d637a0230ad7d34a3287df2fa5657395d79216"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Feb 19 17:14:42 2019 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Feb 20 12:30:44 2019 +0000"
      },
      "message": "Rename test class to match code.\n\nRenaming DexLoggerIntegrationTests to\nDynamicCodeLoggerIntegrationTests, to match the rename and changed\nscope of the code it is testing.\n\nTest: atest -p services/core/java/com/android/server/pm/dex\nBug: 122946463\nChange-Id: I66abd6b173f148279085dee7a714aa64df7a941b\n"
    },
    {
      "commit": "e000de90f47dc3f65d835b4ffd4bc78569a8988c",
      "tree": "2df298df370844346e77598cff3020b275e9964c",
      "parents": [
        "87bba9d2784b3238be5e9a6dcd7f5548918f843c",
        "21078b1edd38a46287451a86a7b8b905f6b06b50"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Feb 20 04:15:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 20 04:15:55 2019 -0800"
      },
      "message": "Merge \"Skip unreachable route when estimating VPN destinations\"\nam: 21078b1edd\n\nChange-Id: Iafa9ecaf07a36f235b366655d2fa2165a676d1cd\n"
    },
    {
      "commit": "21078b1edd38a46287451a86a7b8b905f6b06b50",
      "tree": "a9d2b3491b4acedbad8509ee71b5a93324e9e7f9",
      "parents": [
        "1d18e60e76bed90e6b00d17df79f63d0bb7b0443",
        "c63e48dd6520d9700293e841705544e80841b440"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 12:00:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 12:00:15 2019 +0000"
      },
      "message": "Merge \"Skip unreachable route when estimating VPN destinations\""
    },
    {
      "commit": "621981e0e8e52fec3fbc188bae0aa72c14d6a677",
      "tree": "18b19fef2e0a60577d849570feb6a9f980ce5b13",
      "parents": [
        "e6e13284bff7dde5ab29f8e9024bb9d5ff650bd2",
        "500db62bfa834b191bc353596528127f69da4c39"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 10:56:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 10:56:33 2019 +0000"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\""
    },
    {
      "commit": "500db62bfa834b191bc353596528127f69da4c39",
      "tree": "d12bb1aaa116599aacfaefbf998868c7c63f5e75",
      "parents": [
        "5fe2936fcb67bd559fbdefa40b782c2c6eb7ebc7"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 12 09:38:16 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 19 13:46:51 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122332340\nTest: treehugger\nChange-Id: I23d8d5a019155a0f3296f7ab75e9b44b7621f3c8\n"
    },
    {
      "commit": "c39f23c1a67379d990ff6cd6183063a75dd94f06",
      "tree": "1c286972a0c0b662b38ca69d88bbcd1313e7c588",
      "parents": [
        "a81d64e9407a849ff66419cfe4c28854a6c7c656"
      ],
      "author": {
        "name": "Leland Miller",
        "email": "lelandmiller@google.com",
        "time": "Wed Feb 06 10:07:38 2019 -0800"
      },
      "committer": {
        "name": "Leland Miller",
        "email": "lelandmiller@google.com",
        "time": "Tue Feb 19 11:39:49 2019 -0800"
      },
      "message": "Split RCS events into API and internal classes\n\nThis will allow us to inject dependencies into the API classes that are\nnot parcelable or do not come from ircs.\n\nBug: 123699565\nTest: Unit tests pass\nChange-Id: Iab4e6ea3fd983eef7fb0cba7311175ea82a444ff\n"
    },
    {
      "commit": "c63e48dd6520d9700293e841705544e80841b440",
      "tree": "fb01ce7ce913aaaabb36fd6d7978f17934e4c687",
      "parents": [
        "539c545dc7ba749eada12ef4c0bf55535d3500d4"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue Feb 19 16:56:47 2019 +0000"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue Feb 19 17:18:34 2019 +0000"
      },
      "message": "Skip unreachable route when estimating VPN destinations\n\nBug: 122652441\nTest: atest com.android.server.connectivity.VpnTest\nTest: Establish a IPv4 VPN with minimal routes and check\n(dumpsys connectivity) the VPN network does not have INTERNET\ncapability.\n\nChange-Id: Ic7f19ebb7b7f78a6ffb2a8ec3fc3eca5e5421f57\n"
    },
    {
      "commit": "5abc71b27b5cd08148a277a8f378bbb5f4029835",
      "tree": "61d7900af5d57ef96b57193725a4086874fd5653",
      "parents": [
        "8098c5f1a82229229ea9de78f29001927d25f506"
      ],
      "author": {
        "name": "wilsonshih",
        "email": "wilsonshih@google.com",
        "time": "Wed Feb 13 12:20:01 2019 +0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Feb 19 16:57:59 2019 +0000"
      },
      "message": "Improve the performance when loading image wallpaper colors\n\nWhen SystemUI start up, ColorExtractor will get wallpaper colors so\nstatus bar can use it to update theme, however, this will also block\nSystemUI start up process if the wallpaper is image wallpaper.\nIn order to break the latency, we can extract getWallpaperColors\nmethod from ColorExtractor\u0027s contructor, and do it at another thread,\nso it won\u0027t block SystemUI start up.\n\nBug: 124279857\nTest: atest ColorExtractorTest\nTest: Manual test change theme feature can work normally.\nMerged-In: I8589b28a17b0a2b33b4bbbda2265080af983f26a\nChange-Id: I8589b28a17b0a2b33b4bbbda2265080af983f26a\n"
    },
    {
      "commit": "311af9ea4bd8b599acf179bac973619fad4eb618",
      "tree": "fc91a63e4b0742365971c25a325fc363a42e71fd",
      "parents": [
        "a331a7bd168f3c974c50b5cfaf9f6c415b93c597",
        "0e490d9e77c2ede86e34074d30af2d9c4c754e72"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Feb 19 16:57:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 16:57:38 2019 +0000"
      },
      "message": "Merge \"Improve the performance when loading image wallpaper colors\""
    },
    {
      "commit": "5dcd1797497a41c718000c04149b4ed427164f13",
      "tree": "591de3d25b928226abd0704e5bc78bff933f2096",
      "parents": [
        "753f4ce46865c6fc992e4fd9566aec36f812f688"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Feb 04 11:08:13 2019 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Tue Feb 19 15:11:50 2019 +0000"
      },
      "message": "RMS: Pass in rollback_id in the calls to installd\n\n- snapshotAppData gets PackageRollbackInfo and updates pending backups\n  and inodes of CE user data snapshots;\n- computePendingBackups/Restores is now merged into\n  commitPendingBackupAndRestoreForUser;\n- essentially commitPendingBackupAndRestoreForUser now gets lists of\n  pending and recently executed rollbacks, computs what backups and\n  restores are pending and commits them.\n\nBug: 124029909\nTest: RollbackTest, AppDataRollbackHelperTest\nChange-Id: I5aecdfd47b535492165614ee7cf9676778e292ad\n"
    },
    {
      "commit": "f500684d909e2650d42260b866591485e72d78e9",
      "tree": "689c0dd2ce09ac1d419acc2daf5d8fa06491b3ef",
      "parents": [
        "218c9e7d9b297cd68b449dc15f4f0e1dbdc94e72"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 19 09:59:06 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 19 09:59:06 2019 +0000"
      },
      "message": "Add StagedRollbackTest to TEST_MAPPING.\n\nBug: 124043688\nTest: frameworks/base/tests/RollbackTest$ atest\nChange-Id: Ifbfb725a5909fe80aae6af4d90f9d0d3804839c5\n"
    },
    {
      "commit": "218c9e7d9b297cd68b449dc15f4f0e1dbdc94e72",
      "tree": "767f3c306c33c4235d5701a98937e3b21205c244",
      "parents": [
        "d943d26c55c3c94fd3afd2453f8c61b7c239a6ef",
        "206a69d4098abad9b0853f30b28704e343e0fd19"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Feb 19 09:08:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 09:08:55 2019 +0000"
      },
      "message": "Merge \"Attempt to de-flake tests.\""
    },
    {
      "commit": "0e490d9e77c2ede86e34074d30af2d9c4c754e72",
      "tree": "6579d2e98e7fda3f965d2cc6791170afabde3f8b",
      "parents": [
        "623a9c6dc744320691a482288f2a196ce9957b77"
      ],
      "author": {
        "name": "wilsonshih",
        "email": "wilsonshih@google.com",
        "time": "Wed Feb 13 12:20:01 2019 +0800"
      },
      "committer": {
        "name": "wilsonshih",
        "email": "wilsonshih@google.com",
        "time": "Tue Feb 19 10:06:22 2019 +0800"
      },
      "message": "Improve the performance when loading image wallpaper colors\n\nWhen SystemUI start up, ColorExtractor will get wallpaper colors so\nstatus bar can use it to update theme, however, this will also block\nSystemUI start up process if the wallpaper is image wallpaper.\nIn order to break the latency, we can extract getWallpaperColors\nmethod from ColorExtractor\u0027s contructor, and do it at another thread,\nso it won\u0027t block SystemUI start up.\n\nBug: 124279857\nTest: atest ColorExtractorTest\nTest: Manual test change theme feature can work normally.\n\nChange-Id: I8589b28a17b0a2b33b4bbbda2265080af983f26a\n"
    },
    {
      "commit": "77ed438f0f0a318c6feba3e599880b265cdaea38",
      "tree": "1768c627eb27a60faa2eecdbe93f031da18d5e6c",
      "parents": [
        "c2b55eb98f66bf5b5a0e4829912b2de91c3d0a57",
        "c5e2e803fd71bc5b8ca769536dc1639dd14688b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 18 17:49:56 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 18 17:49:56 2019 +0000"
      },
      "message": "Merge changes Ie125d44c,If9b5d57e,I001427c7\n\n* changes:\n  Create basic test for rollback of staged install.\n  Stub out code for a host driven StagedRollbackTest.\n  Move RollbackTest app code to a new subdirectory.\n"
    },
    {
      "commit": "206a69d4098abad9b0853f30b28704e343e0fd19",
      "tree": "8533a51dd9fdc9078d68866bb728cf748c235865",
      "parents": [
        "e4f26ef212666a2d605261026d36c30a339f2bbf"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Feb 04 15:32:12 2019 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Feb 18 16:59:56 2019 +0000"
      },
      "message": "Attempt to de-flake tests.\n\nSome of these tests rely on audit logs being generated and then\nvisible when we try to read them. Occasionally this doesn\u0027t work -\nprobably because of throttling or the asynchronous, background nature\nof logging. When it happens the tests fail.\n\nTo avoid this, re-run the susceptible tests multiple times rather than\nfailing on the first go, with increasingly long delays between\ntriggering and reading the logs on each run.\n\nBug: 123507824\nTest: atest -p services/core/java/com/android/server/pm/dex\nChange-Id: I62db997c912b2d153ecaea34011529c4c58207c7\n"
    },
    {
      "commit": "c5e2e803fd71bc5b8ca769536dc1639dd14688b6",
      "tree": "08675855e9bf112d6500d394ff5627d3169e02e4",
      "parents": [
        "00baa4b4fc14b9a6ffab4f62663caa10d50873e1"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 11 12:20:31 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 18 11:08:26 2019 +0000"
      },
      "message": "Create basic test for rollback of staged install.\n\nThe new test tests rollback of a staged install involving a single apk.\n\nTest: atest StagedRollbackTest\nBug: 124043688\nBug: 124221060\nBug: 124284714\n\nChange-Id: Ie125d44c4d30d142ee32beac4c42e735a47ec71e\n"
    },
    {
      "commit": "f56fccafd7886beebb7bc8cfff2b6ffeb9204053",
      "tree": "d9bafe6e25b7a420e19c80ba8b7d438f1d2ba2a5",
      "parents": [
        "c34d735f43f9253b628b956e521003661bf81c17",
        "96efc028bf093834874411023fd1eeb15bd5580f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 18 11:03:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 18 11:03:30 2019 +0000"
      },
      "message": "Merge \"Rename DexLogger to DynamicCodeLogger.\""
    },
    {
      "commit": "9164fbec9308a85689dabd58bae40e1a77252229",
      "tree": "7ddf35c3665c02ac032a59985c342195744edd6c",
      "parents": [
        "2f040befbd02291e4e1e79574baf2fbe804cd0cd",
        "d5444c9eb60e9cde936c9533a066910acc58eb49"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Feb 15 04:11:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 04:11:55 2019 -0800"
      },
      "message": "Merge \"Update VPN capabilities when its underlying network set is null.\" am: e3ae238f4a am: d6d593572e\nam: d5444c9eb6\n\nChange-Id: I6dd5a369f1a3b74bbf498051ef1e4d1b31bd8e5e\n"
    },
    {
      "commit": "d6d593572e4515f2652ea0ac3c9d8ca721e9cc38",
      "tree": "988eb380527d68ddedf3c332890f0b947bb13cff",
      "parents": [
        "51490ad0fa180623526c562a48122790a60f0483",
        "e3ae238f4a7f0acb52b2e6fe05e7b06c513e98a1"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Feb 15 03:45:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 03:45:03 2019 -0800"
      },
      "message": "Merge \"Update VPN capabilities when its underlying network set is null.\"\nam: e3ae238f4a\n\nChange-Id: Id4560d201a40f5e1b1617819991da99d86379dbe\n"
    },
    {
      "commit": "e3ae238f4a7f0acb52b2e6fe05e7b06c513e98a1",
      "tree": "320860f017191ab291a7795cf8f47b6e98f53f54",
      "parents": [
        "762f9f0c2449ce8f12c87de0eb6bcd32b6548029",
        "4fa80e8a2f03557221e0371a987e780df7788faa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 15 11:33:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 11:33:27 2019 +0000"
      },
      "message": "Merge \"Update VPN capabilities when its underlying network set is null.\""
    },
    {
      "commit": "51490ad0fa180623526c562a48122790a60f0483",
      "tree": "574a70d8bdd7287b7a291003a945bfb9e3362096",
      "parents": [
        "8878aec7b7eeadd2db02e6d9b1469267c3f8ccf3",
        "762f9f0c2449ce8f12c87de0eb6bcd32b6548029"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 03:01:11 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 03:01:11 2019 -0800"
      },
      "message": "Merge \"Move NetworkStack to services.net\"\nam: 762f9f0c24\n\nChange-Id: Iab45985aedb8069ad50fd2913ef6e828989cdd0d\n"
    },
    {
      "commit": "762f9f0c2449ce8f12c87de0eb6bcd32b6548029",
      "tree": "a7801032d81e9e30fbe6ab77311afa085a582e24",
      "parents": [
        "d989ed753d3a46c017f3729aa466939b2945ddcc",
        "5db454c28d3ddf724be3f6a697267f7f58d94e2d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 10:52:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 10:52:03 2019 +0000"
      },
      "message": "Merge \"Move NetworkStack to services.net\""
    },
    {
      "commit": "584b1378a808ce9ebb7fc33ac25cfa8a9b2adaf1",
      "tree": "a3f637776e22496482dd5a3e7bc210e3febf153e",
      "parents": [
        "b80f38179bd34c2bcb0c66e3af02cc68919172e8",
        "310da6f0e8cbe782aaba722023b55fc214abac06"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 07:25:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 07:25:09 2019 +0000"
      },
      "message": "Merge \"Move NetworkStack to services.net\""
    },
    {
      "commit": "5db454c28d3ddf724be3f6a697267f7f58d94e2d",
      "tree": "d1ca0b863c669aa3db022ad222aab607bc0801de",
      "parents": [
        "cfff01e2dbece7fd6a45f0352c4ab292cf59b89e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 18:04:20 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 12:20:17 2019 +0900"
      },
      "message": "Move NetworkStack to services.net\n\nNetworkStack is only used in services.net or clients of services.net. It\ncannot stay in framework.jar because it needs to depend on AIDL\ninterfaces, which would conflict with app implementations if they were\nin framework.jar.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 124033493\nChange-Id: Ib1d08a3669983640119d008db7e2990fa798724f\nMerged-In: I501b125a388c1100c2182bde4670944c2f0d7a02\n"
    },
    {
      "commit": "4fa80e8a2f03557221e0371a987e780df7788faa",
      "tree": "c684603dfe30c0d8114bd76b3c4dd3ea995170a9",
      "parents": [
        "bbbeba3c02822e5cd43fd169e7105063a7331af5"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Feb 06 10:13:38 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 14 18:50:56 2019 -0800"
      },
      "message": "Update VPN capabilities when its underlying network set is null.\n\nPreviously, they were only updated when underlying network set was\nnon-null.\n\nThis change also ensures that all the calls b/w ConnectivityService and\nVpn that leads to updating capabilities are on ConnectivityService\nhandler thread.\n\nAdditionally, it also ensures that capabilities are propagated after VPN\nenters connected state. This was previously done from establish which\ncould potentially lead to race between VPN getting connected and\ncapabilities getting updated.\n\nThis change also updates VPN capabilities inline from\nConnectivityService handler thread. Previously, there was an additional\nloop where Vpn would update capabilities via NetworkAgent thru\nAsyncChannel which posts back to CS handler thread, which could\npotentially lead to delays in updating VPN capabilities.\n\nBug: 119129310\nBug: 118856062\nBug: 124268198\nTest: atest FrameworksNetTests\nTest: manual - verified VPNs capabilities are getting updated and\nDownloadManager is working correctly.\n\nChange-Id: Id0abc4d304bb096e92479a118168690ccce634ed\n"
    },
    {
      "commit": "07ec9dbec5945e5e97c1b2842acdba6f74e6ebbc",
      "tree": "4da966be25185356ad2186dca8fde9debfeccf8f",
      "parents": [
        "98e94aee7ca7653b06301de157d0af6ca1df9531",
        "0e71b4f19ba602c8c646744e690ab01c69808b42"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Feb 14 22:11:32 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 22:11:32 2019 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master\" into stage-aosp-master"
    },
    {
      "commit": "989bb3714f7bf6c31c1f13d480b537e485509fb4",
      "tree": "bd5ac3498d56b1a91a02f8cfbce216bb9014b27d",
      "parents": [
        "b45f78f1ab59c78729b3e66ac29458566091c84a",
        "fe5dfcacfc670f48967472fa87a774d8284ac943"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Feb 14 20:40:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 20:40:13 2019 +0000"
      },
      "message": "Merge \"Make HardwareRenderer public API\""
    }
  ],
  "next": "0e71b4f19ba602c8c646744e690ab01c69808b42"
}
