)]}'
{
  "log": [
    {
      "commit": "ae1ef49436b70cecc858b96f85dea4d151cdc25f",
      "tree": "f5e727e22c45cce270bd46d7134b10bee73cd454",
      "parents": [
        "2656b3d4cce7ed5e6e5cc1d608c420267f1ad193"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 20 17:29:10 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 20 17:29:10 2019 +0900"
      },
      "message": "Fix targetSdkVersion for NetworkStack\n\ntargetSdkVersion was set to 28 in aosp/916713, however this was broken\nby the manifest refactor in aosp/923338: the targetSdk is not preserved\nin the manifest merge.\n\nTest: aapt dump badging shows targetSdkVersion 28\nChange-Id: I7d06b141856e96ef011db32094bfc62a8cd1b350\n"
    },
    {
      "commit": "205886d28f017195963d8922d7ec813309506179",
      "tree": "6849f0cffb9838dcc29d1a7cbf21f2950382208b",
      "parents": [
        "1a1396070e70f335e6c99b33423006ffbe339670",
        "904a38be5ee62d87786fdceec1dbb5ffe066e079"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Mar 18 01:30:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 01:30:25 2019 +0000"
      },
      "message": "Merge \"Remove NetworkParcelable\""
    },
    {
      "commit": "1a1396070e70f335e6c99b33423006ffbe339670",
      "tree": "b90d352c910296a204048401969f7925ed9e51e8",
      "parents": [
        "a5f53a59c7110840dae9c31c2539b99b7ff893c5",
        "e80be857903dab5f9b211a61d5a4348b891f2abe"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Mar 18 01:30:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 01:30:01 2019 +0000"
      },
      "message": "Merge \"Remove aidl wrappers for framework parcelables\""
    },
    {
      "commit": "904a38be5ee62d87786fdceec1dbb5ffe066e079",
      "tree": "aeee6e965e1ec0947bf0d476f2de5fdbf5243f02",
      "parents": [
        "e80be857903dab5f9b211a61d5a4348b891f2abe"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 15 02:25:09 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Mar 16 03:51:09 2019 +0900"
      },
      "message": "Remove NetworkParcelable\n\nWith the @JavaOnlyStableParcelable annotation, Network can now be used\nas-is as a framework parcelable.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 126477266\nChange-Id: I5d9695a31b3ac48d10edcf08ccd0c34375353b79\n"
    },
    {
      "commit": "e80be857903dab5f9b211a61d5a4348b891f2abe",
      "tree": "2aac968f77d33fcc781359ebbfc77cf48696ba49",
      "parents": [
        "17492d06912c311084742336df2f6eb6bce5ace1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Mar 14 08:09:58 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Mar 16 03:50:58 2019 +0900"
      },
      "message": "Remove aidl wrappers for framework parcelables\n\nThe new @JavaOnlyStableParcelable annotation allows using the framework\nparcelables directly, which removes a lot of boilerplate.\n\nIncludes new copy constructors for IpPrefix and LinkAddress so they can\nbe copied easily as-is into parcelables.\n\nTest: atest FrameworksNetTests\nTest: booted, WiFi works\nBug: 126477266\n\nChange-Id: Icac8afe498d0b5ebf9a0d0b9eceb14d64a29b381\n"
    },
    {
      "commit": "6f7b30499c0e0f7524915287a96e07d9b598dc48",
      "tree": "9b3f9fd636ba794a9d0189a1d55a49678d42be3b",
      "parents": [
        "96f51fd9706e3205eff41849e9bc0086cb8753d7"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Mar 14 15:42:09 2019 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Mar 14 20:32:16 2019 -0700"
      },
      "message": "Moved transport to IntDef\n\nMoved out from the sub class per API review feedback.\n\nTest: Build\nBug: 128607082\nMerged-In: I1b513bcaaa0ebf47c14593d962579ed48a7c6db0\nChange-Id: I1b513bcaaa0ebf47c14593d962579ed48a7c6db0\n"
    },
    {
      "commit": "8737d25ed29eca05bacbfb150d98f95194dfffb3",
      "tree": "17eab1a4e02a0a4c14a11ae7409252a7615c68a2",
      "parents": [
        "307df45b5fdfb990aeb0bf7aca5ddacefebdc93e"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Mar 12 18:28:24 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Mar 12 18:28:24 2019 +0800"
      },
      "message": "Support partial connectivity probe result option\n\nBug: 124629963\nTest: atest NetworkStackTests\nChange-Id: I1c22bad6ba94d23892e8907d6e7b28d074922339\n"
    },
    {
      "commit": "e252a740ca6323c5497cab2b1ed277572304c9fc",
      "tree": "5da78d6e3f1f4d6d85f66bc63a4630fe11754f76",
      "parents": [
        "f96cc080668db4442b38e8e48d70db2e010ed354"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 12 13:08:03 2019 +0800"
      },
      "committer": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 12 07:37:33 2019 +0000"
      },
      "message": "Check if network has partial connectivity\n\nIn some networks, network validation may only get success\nresult for http probe but fail result for https probe.\nFor this kind of network, it may still work at some websites\nor apps, but user didn\u0027t know about that. In order to fix this\nissue, we will check if network has partial connectivity and\nnotify user to make a choice if they want to use this partial\nconnectivity or not.\n\nBug: 113450764\nTest: 1. Build pass.\n      2. Fake partial connectivity case for testing.\n      3. atest FrameworksNetTests\n      4. atest NetworkStackTests\n\nChange-Id: I69ed00ac4850904ff708c9fef22e148879a10e92\n"
    },
    {
      "commit": "b8f2ab93623d9301ce4cf8ace6545908bcbae548",
      "tree": "b6ae486cdbe42609f2ce4d0e2b77bd2859c96e5b",
      "parents": [
        "bc18cc9b194f69e1d93b04637451f45d743bebb7",
        "8acc99a974a8c0a8f3e3ca3be06356b0f5e6f702"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 12 01:37:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 12 01:37:26 2019 +0000"
      },
      "message": "Merge \"Use an in-process APK for in-process NetworkStack\""
    },
    {
      "commit": "06d8067975a69c77432a25b0391185665c850c23",
      "tree": "6271c310148fccfe6c5d1d65e2c30067f759a2fb",
      "parents": [
        "c06c54662b3a8ae575243b4deb99fb76229d6b05",
        "d9c313d450119996340600a63d89322d977c3451"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Mar 11 02:06:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 11 02:06:27 2019 +0000"
      },
      "message": "Merge changes I9dbbf904,Iebc174ed\n\n* changes:\n  Move NetworkStackTests to presubmit\n  Remove NetworkStack test dependency on testutils\n"
    },
    {
      "commit": "a6f3476476104eed5c59d086da730092b3fe200e",
      "tree": "6ac5e3d28438ce2d95af903566d35aad65103893",
      "parents": [
        "e5e3ac639b08f1d88e7daaf4d7bcece26876ffc2",
        "12aaf7e2ef7e5a707a23992c03b75891f667bc1c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 08 15:55:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 15:55:53 2019 +0000"
      },
      "message": "Merge \"Give Telephony the permissions to access the network stack.\""
    },
    {
      "commit": "e5e3ac639b08f1d88e7daaf4d7bcece26876ffc2",
      "tree": "dbde0f37c605fa6c33ad62f6374e9619c671cfed",
      "parents": [
        "f635f126661cd5190ba852c96cdf14c9d30105eb",
        "ea89cf2c6e300dd66c34cab43a9fadf94cedf8dd"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 08 15:21:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 15:21:01 2019 +0000"
      },
      "message": "Merge \"Add junyulai@ as owner of the core networking dirs\""
    },
    {
      "commit": "ea89cf2c6e300dd66c34cab43a9fadf94cedf8dd",
      "tree": "070eaa1bb801eda55dd0a166b2f33845033188a5",
      "parents": [
        "1b9adbfdd1f18cb16e82f9a6f158d3ac242fffa1"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 08 20:28:35 2019 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 08 13:04:05 2019 +0000"
      },
      "message": "Add junyulai@ as owner of the core networking dirs\n\nAlso removed emeritus accounts ek@ and silberst@ from various places.\nA cleanup using \u0027include\u0027 would probably be in order...\n\nTest: N/A\nChange-Id: I575e60dd5e600e42d9571ce8e8d7661d30e99bfe\n"
    },
    {
      "commit": "12aaf7e2ef7e5a707a23992c03b75891f667bc1c",
      "tree": "4e7230f676bebe4449a5a5e0f584fb4fafb93619",
      "parents": [
        "58038da960ef93976a76b5e4348033fcd0843294"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 08 19:46:00 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 08 20:43:10 2019 +0900"
      },
      "message": "Give Telephony the permissions to access the network stack.\n\nTest: manual\nChange-Id: I28308f421aa955fe110b50452b115a0178b24745\n"
    },
    {
      "commit": "8acc99a974a8c0a8f3e3ca3be06356b0f5e6f702",
      "tree": "d54c00bbf3aea4a18779ccefb70dd101604ea08c",
      "parents": [
        "5026c9ea2868e879b598e61561313b2b1af44e27"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 17:20:49 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 19:18:40 2019 +0900"
      },
      "message": "Use an in-process APK for in-process NetworkStack\n\nInstead of having a library in the classpath where the NetworkStack is\ncreated by reflection on devices using the network stack in-process,\njust bind to a version of the network stack service that runs in the\nsystem process.\n\nIf the in-process version is installed it will be used, otherwise the\nmodule is used with its own process.\n\nBug: 127908503\nTest: blueline boots and has functional WiFi\nTest: atest FrameworksNetTests NetworkStackTests\nTest: svelte build boots and has functional WiFi\nChange-Id: I7722b173e5686e0dbb9cfddcfb34344b0f4135d9\n"
    },
    {
      "commit": "d9c313d450119996340600a63d89322d977c3451",
      "tree": "08b80e0167d36ce1c070a7e480dbb51caacf0cc5",
      "parents": [
        "22cd685c0a93d719cf002bb1e402733c897b3cc2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 18:08:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 18:08:48 2019 +0900"
      },
      "message": "Move NetworkStackTests to presubmit\n\nThe tests have been green in postsubmit for a while and run very\nquickly.\n\nTest: atest NetworkStackTests\nChange-Id: I9dbbf9046dc0878c355a5ae791e31166038df796\n"
    },
    {
      "commit": "22cd685c0a93d719cf002bb1e402733c897b3cc2",
      "tree": "7e5cca5e91ca46c41a5287ca5229dcc1e32cf3dd",
      "parents": [
        "7c447498c38f633718d2a95adef3a0609e86862e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 18:03:07 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 08 18:05:41 2019 +0900"
      },
      "message": "Remove NetworkStack test dependency on testutils\n\nframeworks-base-testutils is close to unused in the tests, and has the\nside-effect of adding some unrelated tests to be run in\nNetworkStackTests like TestLooperTest. TestLooperTest is also failing in\nsome cases.\n\nBug: 127908503\nTest: atest NetworkStackTests\nChange-Id: Iebc174ed1362e8c341d765129a7fc51f8ed1999d\n"
    },
    {
      "commit": "e43f162371d6b649e5ceec479179a80a047d24fe",
      "tree": "ae3ebe94cf80251fa19f65a7382ee14f1e69b761",
      "parents": [
        "c8dfb728917c68d9cf4638fb05e4ddbe5ae8f80c"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Mar 08 14:34:19 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Mar 08 14:34:19 2019 +0800"
      },
      "message": "Not to use any() to verify DataStallDetectionStats\n\nBuild a empty DataStallDetectionStats object instead of use\nany() to do the verification to prevent NPE while trying to\nwrite the metrics.\n\nBug: 120452078\nTest: atest NetworkStackTests\nChange-Id: Ib9f3e56195a539a5ca4826b4aad0e38945a9a3a7\n"
    },
    {
      "commit": "3da7809ae47b4d37d57e0da5932d48beb4bb6530",
      "tree": "aeb318fbd1c902ce4035623721572e62bafe0b91",
      "parents": [
        "fd2bb720300fd838331ac891d513a88d24626539",
        "b7bda39d90e291ec9d22aba12edf0f8b503722c6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Mar 07 03:54:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 07 03:54:22 2019 +0000"
      },
      "message": "Merge \"Fix SocketUtils API\""
    },
    {
      "commit": "b7bda39d90e291ec9d22aba12edf0f8b503722c6",
      "tree": "6ddefd33f12eee3ffcea82e0000e52bd2ca377f6",
      "parents": [
        "7c447498c38f633718d2a95adef3a0609e86862e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 06 18:02:34 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 06 18:02:34 2019 +0900"
      },
      "message": "Fix SocketUtils API\n\n - connect, sendTo, bind were added as public API, so do not need to be\n   maintained as SystemApi in SocketUtils. These APIs were added in Q\n   timeframe.\n - Add @Nullable/@NonNull annotations.\n\nBug: 126699304\nBug: 126477266\nTest: booted, WiFi works\nChange-Id: I3f086ac8952cfd6a4d8f861d2e1c7aa1ca8be999\n"
    },
    {
      "commit": "f397b39442f302cde2026fb13075dec20b398bdf",
      "tree": "8f7e313a150f6ff565120b87723cecab9883d167",
      "parents": [
        "8bf13f06d71f01b79752965526cbdf598c1067fd",
        "4349dc08c902a90f2c775f9c3a227ccef4ee3e1a"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Mar 06 00:49:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 06 00:49:20 2019 +0000"
      },
      "message": "Merge \"Update description based on API feedback\""
    },
    {
      "commit": "4349dc08c902a90f2c775f9c3a227ccef4ee3e1a",
      "tree": "e99bc9c2380b32643f2634854e26b77a97629914",
      "parents": [
        "69ae441fa1cf4d7d91baca8b701d675a88e01b8a"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Mar 05 20:31:57 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Mar 05 20:31:57 2019 +0800"
      },
      "message": "Update description based on API feedback\n\nBug: 126883311\nTest: Build pass\n      atest NetworkStackTests\nChange-Id: If3d21829bbe98d125215abe96247ca7d5a66d1f3\n"
    },
    {
      "commit": "5026c9ea2868e879b598e61561313b2b1af44e27",
      "tree": "b3e4caa367d3bf890452927bdeccb283f0e055df",
      "parents": [
        "7c447498c38f633718d2a95adef3a0609e86862e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 05 10:14:54 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 05 11:12:14 2019 +0900"
      },
      "message": "Set module min_sdk_version to 28\n\nThe modules are not actually compatible with 28, but this is necessary\nas tooling does not support \"Q\" as a version in the APK.\n\nThis will need to be changed to the new version number as soon as it is\navailable.\n\nTest: m\nChange-Id: I1d88f80c293b4667244d219a6989dd11be90f12a\n"
    },
    {
      "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": "3e15c9f9ba6b36fbbd919805a898700ed16d8e47",
      "tree": "942eccd11678eac2de3368c611f94dcd6768d7e3",
      "parents": [
        "93dfa10da4f4c38af17daa8561b14a96bd0067f7",
        "f4249c38851da8b946381e26f20b52b9e7f24607"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 01 06:43:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 06:43:21 2019 +0000"
      },
      "message": "Merge \"Set NetworkStack targetSdk to 28\""
    },
    {
      "commit": "f4249c38851da8b946381e26f20b52b9e7f24607",
      "tree": "a5ef0be756bc0226704ffad5c9d6dee10aacefa3",
      "parents": [
        "4af3cdae168ba691ac2e5c6e9d76bea41079cc7a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 01 10:01:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 01 11:42:50 2019 +0900"
      },
      "message": "Set NetworkStack targetSdk to 28\n\nTest: flashed, booted, WiFi works\nChange-Id: I7bbd7eb563432a290358d16652c0ae69e9772002\n"
    },
    {
      "commit": "222d1d04bfb1b4eda3962a917779ffc0efa987af",
      "tree": "f5fff2016475b89d74462fc6da5935688ef15d11",
      "parents": [
        "d6a886a5003d134aa80367b4ea1097caf1521e59",
        "4af3cdae168ba691ac2e5c6e9d76bea41079cc7a"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Thu Feb 28 15:54:28 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 28 15:54:28 2019 +0000"
      },
      "message": "Merge \"Set networking module APKs version to 10\""
    },
    {
      "commit": "4af3cdae168ba691ac2e5c6e9d76bea41079cc7a",
      "tree": "792a167ece756c49007e0505cb761f8fd7a94c8e",
      "parents": [
        "e4a40c77e1dc2a45dc77f129bb08c971b8b8d686"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 28 11:28:50 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 28 11:28:50 2019 +0900"
      },
      "message": "Set networking module APKs version to 10\n\nUp to now the version in output APKs was 28 (platform version by\ndefault). This should make it easier to track and bump up the version.\n\nTest: booted, WiFi works\nTest: aapt dump badging shows version 10\nChange-Id: I199eb55fd82e16ae748c8b011ce93cf48b505395\n"
    },
    {
      "commit": "95489ca49ecb2deac91ad63845325b69fccfe1cb",
      "tree": "a563a28c6820eb9e7b129047a2f4f1d8737cd712",
      "parents": [
        "2fd3ca6fa0dc6be936eb608db3d4e33c6c79be1c"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Feb 26 11:32:18 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Feb 26 11:32:18 2019 +0800"
      },
      "message": "Add more test case and some clean up\n\nBug: 120452078\nTest: atest NetworkStackTests\nChange-Id: Ifb981ccdaa7818bf2bebec98e91979007222910b\n"
    },
    {
      "commit": "2fd3ca6fa0dc6be936eb608db3d4e33c6c79be1c",
      "tree": "fca6452f2debd1bda268d7e1da530e2cdf63557b",
      "parents": [
        "1c2c11990ca27b9a470ac8f178dbeace7dadb51f",
        "f09e3e30434e0fcfdc7fe6bdb9e2891d1ded4cda"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Feb 22 05:12:42 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 05:12:42 2019 +0000"
      },
      "message": "Merge \"Injecting data stall event to statsd\""
    },
    {
      "commit": "f09e3e30434e0fcfdc7fe6bdb9e2891d1ded4cda",
      "tree": "8353e3c352c969ac14d4cc585bb9f0c063b6cbd3",
      "parents": [
        "e705e267030c061872e8f6ef092da7b63d533bef"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Feb 22 11:13:07 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Feb 22 03:14:45 2019 +0000"
      },
      "message": "Injecting data stall event to statsd\n\nBug: 121185319\nBug: 120452078\nTest: - Build and test against data stall code\n      - atest NetworkStackTests\nChange-Id: I2ee16085e7861d38bcd203c98ffd682f86fdc867\n"
    },
    {
      "commit": "1d18e60e76bed90e6b00d17df79f63d0bb7b0443",
      "tree": "2b71c6e37c071c64da19c90dfe8b6dc480977c2a",
      "parents": [
        "f2cf09c94510857f99fd94381d609784dd46b334",
        "8e9a15bdbd938b24d57c17139ed9b5eadedc37d2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 11:14:24 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 11:14:24 2019 +0000"
      },
      "message": "Merge \"Consider 200 response with \"Content-length \u003c\u003d 4\" to not be a captive portal.\""
    },
    {
      "commit": "e7e5a35b38f8c054218f3457549109fb6d6ba0db",
      "tree": "b5a43f6dde7c8b8458901a5c65b5d6783b9c431b",
      "parents": [
        "e4a40c77e1dc2a45dc77f129bb08c971b8b8d686",
        "6b4de8faf7197b68d6fe09b0aa4e8e11404365ad"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Feb 18 07:12:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 18 07:12:04 2019 +0000"
      },
      "message": "Merge \"Replace TcpSocketInfo with TcpKeepalivePacketDataParcelable in ApfTest.\""
    },
    {
      "commit": "e4a40c77e1dc2a45dc77f129bb08c971b8b8d686",
      "tree": "4977ff27653730751519d680d311c1bce47a7044",
      "parents": [
        "e705e267030c061872e8f6ef092da7b63d533bef",
        "8c0d94608c7e332432b64ef3a1ad62a84472a0ee"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 18 01:07:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 18 01:07:51 2019 +0000"
      },
      "message": "Merge \"Rename NetworkStack package\""
    },
    {
      "commit": "fd2d7dc68571923d86590a6b6f396126d4cc1f92",
      "tree": "dcacce320f217f485ae3b4b43197c43154d497ea",
      "parents": [
        "3f23efdd13c21e776df37de508f070c96aeec6dc",
        "ab96bc758eae12e99f30d8381d55d2a439597360"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Feb 16 01:48:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 16 01:48:49 2019 +0000"
      },
      "message": "Merge \"Sign networkstack with its own certificate\""
    },
    {
      "commit": "3f23efdd13c21e776df37de508f070c96aeec6dc",
      "tree": "0aec5f7731546e469b0c92481183d94a75b1354c",
      "parents": [
        "2555ed5bca9ffb25cd6e1d6474a97cc151a386b5",
        "1b57e8e9db5b007c19b713e9d1d3b28397a11b52"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Feb 16 00:22:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 16 00:22:29 2019 +0000"
      },
      "message": "Merge \"Fix framework and NetworkStack classes conflicts\""
    },
    {
      "commit": "6b4de8faf7197b68d6fe09b0aa4e8e11404365ad",
      "tree": "03567c9d7354ff2c5464ad5e932cbb638428d821",
      "parents": [
        "d989ed753d3a46c017f3729aa466939b2945ddcc"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Feb 15 19:18:21 2019 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Feb 15 19:22:36 2019 +0900"
      },
      "message": "Replace TcpSocketInfo with TcpKeepalivePacketDataParcelable in ApfTest.\n\nTest: atest NetworkStackTests\nChange-Id: I95fde70c07b398a2a2f734f35165870284a3959c\n"
    },
    {
      "commit": "ab96bc758eae12e99f30d8381d55d2a439597360",
      "tree": "da132daeb86bd7ad4948c93680183d98590227ab",
      "parents": [
        "1b57e8e9db5b007c19b713e9d1d3b28397a11b52"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 17:45:03 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 17:53:00 2019 +0900"
      },
      "message": "Sign networkstack with its own certificate\n\nThe NetworkStack module is comprised of 2 updatable APKs\n(NetworkStack.apk and CaptivePortalLogin.apk), and a stub APK to define\nthe signature permissions for the APKs (NetworkStackPermissionStub.apk).\n\nTest: flashed, WiFi works, captive portal login works\nBug: 124033493\nChange-Id: I772d1d63363a3eb6f817c21906498bd2385ab02b\n"
    },
    {
      "commit": "1b57e8e9db5b007c19b713e9d1d3b28397a11b52",
      "tree": "d946ddd5d675ff98d62a3a68b45d9bf60f5c5ae0",
      "parents": [
        "5db454c28d3ddf724be3f6a697267f7f58d94e2d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 18:19:14 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 17:30:07 2019 +0900"
      },
      "message": "Fix framework and NetworkStack classes conflicts\n\nClasses that are used in framework.jar cannot be linked in NetworkStack,\nas the framework takes precedence in the classpath. This prevents the\nnetworkstack from using these classes due to the hidden API usage\ndetection.\n\nDo the following:\n - jarjar any shared source file between framework and NetworkStack, so\n   the version in the NetworkStack uses a different package.\n - Move any shared class not used in the NetworkStack to services.net\n\nThe CL  uses jarjar on the app copy and not the framework classes, as\nthe framework cannot be updated without an OTA, and non-network stack\nspecific classes should not be renamed because of the network stack.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed svelte build, WiFi works\nBug: 124033493\nChange-Id: I85d888b756adc28c36638913632bfdfdbf0e0486\n"
    },
    {
      "commit": "d989ed753d3a46c017f3729aa466939b2945ddcc",
      "tree": "ae7066b1b8e2cbee81cc863f86600cf42e205433",
      "parents": [
        "bfe928d593b52da8af4a2d74103b749b11851944",
        "b350df29413ad08217da1df081ef034264c496e7"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 08:16:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 08:16:03 2019 +0000"
      },
      "message": "Merge \"Add NetworkStackTests to device-tests suite\""
    },
    {
      "commit": "bfe928d593b52da8af4a2d74103b749b11851944",
      "tree": "0e0dc42d6ae41c4a169a2e4d09e4045a20c598ea",
      "parents": [
        "60e7162e05eba84e131986e2d435e78e1f94a834",
        "cfff01e2dbece7fd6a45f0352c4ab292cf59b89e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 08:09:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 08:09:29 2019 +0000"
      },
      "message": "Merge \"Remove NetworkMonitor dependency on ICaptivePortal\""
    },
    {
      "commit": "60e7162e05eba84e131986e2d435e78e1f94a834",
      "tree": "a590fcb403d776ba852c4a55e6d8b7488785c4ed",
      "parents": [
        "d36e3df7b0ab833b938c2eeb917ceafb1abfd6b1",
        "d36a89ccd6b33f60ecbe15fbc4adeabb83a2204a"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Feb 15 04:04:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 04:04:32 2019 +0000"
      },
      "message": "Merge \"Fix testApfFilterKeepaliveAck.\""
    },
    {
      "commit": "b350df29413ad08217da1df081ef034264c496e7",
      "tree": "7ad7726425b11449fa615500e7d6d7a9ec5c269d",
      "parents": [
        "b8493ac5eb11ccc243b04cc3a3424858c472ef38"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Thu Feb 14 11:42:02 2019 -0800"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 12:35:04 2019 +0900"
      },
      "message": "Add NetworkStackTests to device-tests suite\n\nIt\u0027s needed for the test to run in a Test Mapping suite.\n\nBug: 123544631\nTest: local build\nChange-Id: I0678a3e8f9beed7c637c1b11594369aa5d3c87bf\n"
    },
    {
      "commit": "cfff01e2dbece7fd6a45f0352c4ab292cf59b89e",
      "tree": "9d1dc8aee4e9f8524aa7bde6e3cf8d54d0fb430a",
      "parents": [
        "dacee147b482e17308be0977765e8135b37b9690"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 13 20:58:59 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 12:20:03 2019 +0900"
      },
      "message": "Remove NetworkMonitor dependency on ICaptivePortal\n\nICaptivePortal is used in the framework and cannot be used as a\ndependency in NetworkMonitor, as the framework class takes precedence\nwhen linking.\nAlso fix NetworkMonitorTest that was not verifying the right\nstartCaptivePortalApp call.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 124033493\nChange-Id: I8e7bb79e50650ae182a2e4277fb49abf5fb6d910\nMerged-In: Ib6a89e54312628662b130fbeec18d11e139f09fa\n"
    },
    {
      "commit": "d36e3df7b0ab833b938c2eeb917ceafb1abfd6b1",
      "tree": "da330d20d15c6ed6d482cf4aeb9239fc0b29db14",
      "parents": [
        "cec740470c12b10c5b9df1b73066ff18defdc74a",
        "dacee147b482e17308be0977765e8135b37b9690"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 03:11:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 03:11:31 2019 +0000"
      },
      "message": "Merge \"Remove deps from framework on netd interfaces\""
    },
    {
      "commit": "d36a89ccd6b33f60ecbe15fbc4adeabb83a2204a",
      "tree": "9c659c9c21c5998297c3698e7c1066fa456a58af",
      "parents": [
        "fa240e8054ca5ab155c04ec0c2e07053dd30d8f1"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Sun Feb 10 14:52:37 2019 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Feb 14 19:16:01 2019 +0900"
      },
      "message": "Fix testApfFilterKeepaliveAck.\n\nApf program for TCP keep alive ACK also compares protocol field in IPv4\nheader and the total length of TCP keep alive ACK packet. Besides,\nshould set the ACK flag in the the TCP header of keep alive ACK packet.\n\nBug: 123992564\nTest: atest NetworkStackTests\nChange-Id: I997cd6807a33f7e1af25566226d803dcc2e257dd\n"
    },
    {
      "commit": "dacee147b482e17308be0977765e8135b37b9690",
      "tree": "99b2ea87ee96e4349d448e10220cab03a606f3f9",
      "parents": [
        "b8493ac5eb11ccc243b04cc3a3424858c472ef38"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 13 18:28:35 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 17:26:59 2019 +0900"
      },
      "message": "Remove deps from framework on netd interfaces\n\nIf included in framework.jar, the interfaces conflict with any app that\nneeds to depend on them, including the NetworkStack.\n\nBug: 124033493\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I2db9f87b7154130726d4700b241d55b041635d98\nMerged-In: I0ecae20d514bf888f3a80331f19369ceb1c52aa3\n"
    },
    {
      "commit": "a75c52c3df3e790ee8b0089e64150e98811922e7",
      "tree": "b9e0016d930f206864868ee88ec172ff8b555a72",
      "parents": [
        "db400ed187ff20dd44d7cd963603cff70cc27343",
        "7561071dfb6fe5fa200edb3f5baf429636e92a37"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Feb 14 07:24:16 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 07:24:16 2019 +0000"
      },
      "message": "Merge \"Use ServiceState to get data cell ID\""
    },
    {
      "commit": "1da51fcdc49c4de6c8f207c63ab08b20cca71b07",
      "tree": "ba1ae22a85560af0da330972ccd0a1b157ca99fa",
      "parents": [
        "1037bbb82a8f248d92a847fb910a73fd35264561"
      ],
      "author": {
        "name": "Hongshik",
        "email": "hshik.kim@samsung.com",
        "time": "Sat Jan 12 03:09:34 2019 +0900"
      },
      "committer": {
        "name": "Hongshik",
        "email": "hshik.kim@samsung.com",
        "time": "Thu Feb 14 10:51:51 2019 +0900"
      },
      "message": "Add \"close\" socket option for immediately close socket after finish check captive portal.\n\nUnexpected packets are observed after captive portal check. Due to the packets, modem can\u0027t fall-back to idle state (modem remained as active state).\nIt makes unnecessary power consumtion.\nTo prevent it, \"close\" option is added in sendHttpProbe()\n\nTest: check socket close.\nChange-Id: I5b6987071ad915081846504adbb209eb371fd1c3\n"
    },
    {
      "commit": "7561071dfb6fe5fa200edb3f5baf429636e92a37",
      "tree": "9a92942abbb0de3629456bbdd88b4d4c18565c1c",
      "parents": [
        "8fee3dee71a3dbc193936691606b9635ddb270ed"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Feb 14 09:30:58 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Feb 14 09:30:58 2019 +0800"
      },
      "message": "Use ServiceState to get data cell ID\n\nServiceState now contains a CellIdentity that can be obtained\nspecifically from the data subscription, and for PS on cell\nonly.\n\nThis should be used for connectivity level network monitoring\ninfo.\n\nBug: 123893112\nTest: 1. atest NetworkMonitorTest\n      2. Verify if cell id is correct\n\nChange-Id: Ieb00de84a0d518e3197e3884f946b872e998304a\n"
    },
    {
      "commit": "749dfc308353960c8454679654fc6cd0332f58dc",
      "tree": "8392d74702fbb9aa9fdc34923e30262ae168abec",
      "parents": [
        "e765e8b7aaa5350645330e90e34118d9a4749289",
        "f871bfb8c7e28f451828a33f757bfd97ebef9d58"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Feb 12 04:47:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 04:47:43 2019 +0000"
      },
      "message": "Merge \"Remove INTERACT_ACROSS_USERS_FULL for NetworkStack\""
    },
    {
      "commit": "8e9a15bdbd938b24d57c17139ed9b5eadedc37d2",
      "tree": "5eaa8bea436146000d19f93123dfb1b56cbd154f",
      "parents": [
        "e765e8b7aaa5350645330e90e34118d9a4749289"
      ],
      "author": {
        "name": "Sehee Park",
        "email": "sehee32.park@samsung.com",
        "time": "Fri Nov 16 17:39:34 2018 +0900"
      },
      "committer": {
        "name": "Sehee Park",
        "email": "sehee32.park@samsung.com",
        "time": "Tue Feb 12 04:15:05 2019 +0000"
      },
      "message": "Consider 200 response with \"Content-length \u003c\u003d 4\" to not be a captive portal.\n\nThere\u0027s no point in considering this a captive portal as the user cannot\nsign-in to an empty page. Probably the result of a broken transparent proxy.\n\nBug: 122999481\nTest: Manual\n\nChange-Id: I1ca44092ac05a1708d9b41c5a4aad545b71b7eab\nSigned-off-by: Sehee Park \u003csehee32.park@samsung.com\u003e\n"
    },
    {
      "commit": "e765e8b7aaa5350645330e90e34118d9a4749289",
      "tree": "842a23d93cf2fa767134285ac490fdd544034b5a",
      "parents": [
        "f5a0e41e1838220b7aa0cc31128491ce0b8d1480",
        "9c5d96490279dbc5cea09cf8a2da29318b397729"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Feb 12 03:58:09 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 03:58:09 2019 +0000"
      },
      "message": "Merge \"Remove hard-coded NetworkStack package name\""
    },
    {
      "commit": "8c0d94608c7e332432b64ef3a1ad62a84472a0ee",
      "tree": "1885425f3733d21af07f38c36d92c6bd361669ca",
      "parents": [
        "9c5d96490279dbc5cea09cf8a2da29318b397729"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 08 15:26:06 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 08 15:32:21 2019 +0900"
      },
      "message": "Rename NetworkStack package\n\nSet the new name to com.android.networkstack. Also rename the stub APK\nto com.android.networkstack.permissionstub.\n\nAlso add shared UID to the NetworkStackPermissionStub to enforce\nsignature restrictions on the UID.\n\nTest: booted, WiFi working\nBug: 124033493\nChange-Id: Id8967db08b7faaa659b20f86f1013493eb0e188f\n"
    },
    {
      "commit": "9c5d96490279dbc5cea09cf8a2da29318b397729",
      "tree": "3328cc578885afd9ca52bdb05241c83b7e260712",
      "parents": [
        "f46b14b6aff8293a8881d97f6fee089ae86c0955"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 21:29:57 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 08 12:12:57 2019 +0900"
      },
      "message": "Remove hard-coded NetworkStack package name\n\nHave the network stack pass its package name in\nshowProvisioningNotification instead.\n\nBug: 124033493\nTest: flashed, WiFi and captive portal works\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I1f3312768ba1fb34e99a827e1fcdaf7510e318a8\n"
    },
    {
      "commit": "f871bfb8c7e28f451828a33f757bfd97ebef9d58",
      "tree": "873ee7e00bec3b23f3fbf69f92e6200fe808a909",
      "parents": [
        "ca551ce98193a80a786c6d9a798d452037b30f7b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 04 14:26:32 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 02:39:57 2019 +0000"
      },
      "message": "Remove INTERACT_ACROSS_USERS_FULL for NetworkStack\n\nReplace with INTERACT_ACROSS_USERS, which is needed to send the\nACTION_NETWORK_CONDITIONS_MEASURED broadcast.\n\nAlso cleanup some non-privileged permissions that were added to the\npriv-app file.\n\nTest: built, booted, broadcast and captive portal login work\nBug: 123846255\nChange-Id: I3c97c166e80c19bf57fa047709c8b91fca75d635\n"
    },
    {
      "commit": "ca551ce98193a80a786c6d9a798d452037b30f7b",
      "tree": "cf7927dc232a3b22482e6cee90fa05490ac2d24f",
      "parents": [
        "f5523412041c670394bef9c8788daa19fc804073",
        "dc48356147fd55cafb1dbc8315b3f581c4274292"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 02:39:17 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 02:39:17 2019 +0000"
      },
      "message": "Merge \"Add API for NetworkStack to start captive portal\""
    },
    {
      "commit": "a63c40e0de52d334dace2306df9d88a3b4ea756d",
      "tree": "fad9e40c201da1dc82e11ef594f113b52d468e8e",
      "parents": [
        "352dc2f202fd26ec1e63e74d8e302657a9bb8076"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Jan 15 16:53:51 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 22:51:49 2019 +0900"
      },
      "message": "[KA07] Drop TCP keepalive ack packets\n\nTo support TCP keepalive offload, APF filter needs to add program\nfor dropping keepalive ack packets when offload is starting.\n\nBug: 114151147\nTest: runtest frameworks-net -c android.net.apf.ApfTest\nChange-Id: If16a9bc04eb29dfedb950b6e4c85fe9ad4cf259f\n"
    },
    {
      "commit": "352dc2f202fd26ec1e63e74d8e302657a9bb8076",
      "tree": "1799612baefac95bf4430297e935f73be4df34a1",
      "parents": [
        "6606b7724700c8be28762a70376a39c854b73df1"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jan 08 20:04:33 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 22:51:42 2019 +0900"
      },
      "message": "[KA04] Expose TCP socket keepalive API\n\nThe new set of API allows applications to request keepalives\noffload for established TCP sockets over wifi.\n\nHowever, the application must not write to or read from the\nsocket after calling this method, until specific callbacks are\ncalled.\n\nBug: 114151147\nTest: atest FrameworksNetTests FrameworksWifiTests NetworkStackTests\n\nChange-Id: I3880505dbc35fefa34ef6c79555458ecf5d296a4\n"
    },
    {
      "commit": "dc48356147fd55cafb1dbc8315b3f581c4274292",
      "tree": "19ed63cdf6e7a227f417c103207acfc18302fc98",
      "parents": [
        "d6471064e90bdbbd65321f3158255844ed8c4353"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 04 11:32:20 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 06 16:38:32 2019 +0900"
      },
      "message": "Add API for NetworkStack to start captive portal\n\nEndpoints protected with INTERACT_ACROSS_USERS_FULL, such as\nstartActivityAsUser, should only be used by modules signed with the\nplatform cert. The NetworkStack needs to have the system server start\nthe application so this restriction can be applied.\n\nBug: 123846255\nTest: flashed, captive portal works from primary and secondary user\nChange-Id: Ib3e427b3fd03ced80c02985e795f79b096a2ec9a\n"
    },
    {
      "commit": "c3586eaa4d1a59d758672abae4884bbc5a80b308",
      "tree": "8783ef3842ceec8cc02d120fde3d8f91fb1c73fa",
      "parents": [
        "c60a97f82671e674af9a655a117208752a1d78e6"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 06 15:21:09 2019 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 06 16:20:35 2019 +0900"
      },
      "message": "Give owneship of packages/NetworkStack to Android Core Networking\n\nTest: ../../build/make/tools/checkowners.py packages/NetworkStack/OWNERS\nChange-Id: I6254f1ac2a24611ca6901f8f940d9e5babaaf373\n"
    },
    {
      "commit": "0fe59007ce21ddaadd69625a37283c803c846c20",
      "tree": "f019898d33482e59a708a0cb63d11f70546a6558",
      "parents": [
        "74b1c8626e3de0c2e07dc5f493dcad93259b30c6",
        "d8c75a0438ed4cb4efd251872bf6bfee1000bc7e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 14:13:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 14:13:22 2019 +0000"
      },
      "message": "Merge \"Add NetworkStackPermissionStub definitions\""
    },
    {
      "commit": "74b1c8626e3de0c2e07dc5f493dcad93259b30c6",
      "tree": "2d8efad9a075b7f19859f56a28b6e5500d1b0e33",
      "parents": [
        "4bb4c1a7929ede5702c42feb55c52c2ade9bbfa4",
        "47274275cfda84fc8f0cd7f19b38047edb1d416d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 12:46:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 12:46:00 2019 +0000"
      },
      "message": "Merge \"Prepare CaptivePortalLogin for system_current\""
    },
    {
      "commit": "d8c75a0438ed4cb4efd251872bf6bfee1000bc7e",
      "tree": "516f5cace7b6a3d6656e3bcf6718eeb68c95001d",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 21:45:56 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 21:16:13 2019 +0900"
      },
      "message": "Add NetworkStackPermissionStub definitions\n\nThe NetworkStackPermissionStub package is used to enforce that\npermissions used by the NetworkStack are only used in packages\nsharing signature with NetworkStackPermissionStub.\n\nPermissions defined in this package are intended to be used only by the\nNetworkStack: both NetworkStack and the stub APK will be signed with\na dedicated certificate to ensure that, with permissions being signature\npermissions.\n\nThis APK *must* be installed, even if the NetworkStack app is not\ninstalled, because otherwise, any application will be able to define\nthis permission and the system will give that application full access\nto the network stack.\n\nTest: flashed, booted\nBug: 112869080\nChange-Id: Ia13a9e6a703cb7b4403697a7f7bfff0f6f3b813e\n"
    },
    {
      "commit": "47274275cfda84fc8f0cd7f19b38047edb1d416d",
      "tree": "db70375513a56de3ac4796a41190b64b730e5afd",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 23:39:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 18:14:54 2019 +0900"
      },
      "message": "Prepare CaptivePortalLogin for system_current\n\nIncludes small changes to stop using non-SystemApi endpoints.\n\nTest: make CaptivePortalLogin\nTest: flashed, login works, SSL certificate invalid flow works\nBug: 112869080\nMerged-In: Ic6ce98942959705ea7ef14a7a62d33e3abf7eb72\nChange-Id: Ie7ea3bab6aa8629ce4c111adee0c0699d95d4b0e\n"
    },
    {
      "commit": "3b906878f842373716d05f4b4d2cef02b7e25dc2",
      "tree": "381977d6b39595ba2314dda1b8b49131ad6b9ce3",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 08:46:36 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 16:03:21 2019 +0900"
      },
      "message": "Fix bluetooth tethering on multi-user\n\nBluetooth runs as UID 1001002 when on a secondary user. With this change\nthe NetworkStack verifies that the calling UID matches the Bluetooth app\nregardless of the user.\n\nTest: flashed, BT reverse tethering still working as primary user\n      (no option to turn on as secondary user on phones)\nBug: 123655057\nChange-Id: I23f9c5fa40f3bb676ac65dd8c15106c9d78309a4\n"
    },
    {
      "commit": "55849979a5d460b4aebec5a5c6ff436827e05cf2",
      "tree": "edd4bcf95984abd51e7252e9111e9d680e4ac33f",
      "parents": [
        "35a8f1a38aeaa1d07d89cf0ec7dda5d8a37695e6",
        "de60221ec8bbf1e1172498478fa8d4b0bc7d806d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 22:24:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 22:24:12 2019 +0000"
      },
      "message": "Merge \"Add SystemApi for captive portal metrics\""
    },
    {
      "commit": "de60221ec8bbf1e1172498478fa8d4b0bc7d806d",
      "tree": "d587ed35806977b6ab744d84781e778cb6ea721b",
      "parents": [
        "9fdc6d296378bd17432ba1de507c83f4c3b8ed3a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 15:22:01 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 22:54:27 2019 +0900"
      },
      "message": "Add SystemApi for captive portal metrics\n\nThe metrics go through NetworkMonitor in the NetworkStack so that they\ncan be upgraded to new metrics in the future.\n\nTest: flashed, captive portal login works, metrics shown in events log\nBug: 112869080\nMerged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8\nChange-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de\n"
    },
    {
      "commit": "4c30b419f841e0a940391ac5143f89795b69477a",
      "tree": "c32e927d42f5cc31dc6265f14897649f89930c3d",
      "parents": [
        "231b52bc03750eb49b615fb110d91f6529c922b1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 21:32:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 10:23:29 2019 +0900"
      },
      "message": "Compile NetworkStack as system_current\n\nTest: make NetworkStack\nTest: flashed, WiFi and tethering working\nBug: 112869080\nChange-Id: I2d805c0fefe271199f4f0e0d49d91e03f41a7eef\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": "4a838a68d6f5ccde33e87951405358583543be0b",
      "tree": "6b76b501d964c99864099495e028c823c412c699",
      "parents": [
        "f89a1cfd21a1bb4461fd62537c7353d4dae95832",
        "0bf364d92e30ee30ea8bb253f6417cf8fe1ef862"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 29 11:45:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 29 11:45:15 2019 +0000"
      },
      "message": "Merge \"Move FdEventsReader to the shared area.\""
    },
    {
      "commit": "0bf364d92e30ee30ea8bb253f6417cf8fe1ef862",
      "tree": "67e259c51cd0a92e5e91cc999bce69b08516ed87",
      "parents": [
        "567cc7890a380bcda62ce318c5816e3d44eadab2"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 29 18:30:03 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 29 18:35:11 2019 +0900"
      },
      "message": "Move FdEventsReader to the shared area.\n\nThis is necessary both in the network stack app and the\nframework.\n\nTest: FrameworksNetTests\nChange-Id: I48af0ab29405501f0581a6c0c9ce6e5d4a32c8b4\n"
    },
    {
      "commit": "1bbed8a3b8b5064950886f60c349ca6b7dd48ec8",
      "tree": "0df92b505f45872ad9a722d9fd2c3d110f973ce5",
      "parents": [
        "31d7447e04100f91dc28aed40e3eecb40464233a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 16:46:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 17:09:01 2019 +0900"
      },
      "message": "Run IpClientLinkObserver on Binder thread\n\nThis restores previous behavior, where callbacks would not be called on\nthe IpClient handler thread.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed, WiFi works\nBug: 123062477\nChange-Id: I3015566b0922d76ac7cf70579a1de3e033bf7b4a\n"
    },
    {
      "commit": "31d7447e04100f91dc28aed40e3eecb40464233a",
      "tree": "e02fa5d571a0d76cc559e60a8deec605b79034af",
      "parents": [
        "5cf41e47fe12ccbe110eb01ac788b627bdc89965"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 15:15:59 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 11:37:01 2019 +0900"
      },
      "message": "Remove IpClient usage of NetworkManagementService\n\nUse the new NetworkObserverRegistry instead.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed, WiFi working fine\nBug: 112869080\nChange-Id: If16ecfd6489f86afec67c22b4c3692cd68f4edbf\n"
    },
    {
      "commit": "567cc7890a380bcda62ce318c5816e3d44eadab2",
      "tree": "2510f0f6cb28a70091695890f534ed47d0ccc500",
      "parents": [
        "b8bbc48dee9db0d98a4e0fae6e9e6792ef10e387",
        "3ba6c0d56dd55af2e180bedc61690adad77c911c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 11:08:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 11:08:00 2019 +0000"
      },
      "message": "Merge \"Add hidden utils and constants to NetworkStack\""
    },
    {
      "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": "375b3c075daf2d13bacd4dd74e645b5bdd5ec9fc",
      "tree": "0079e8479789019876fbc2be4691e58c2762dce9",
      "parents": [
        "f4fb1b525105600331fdf59f0762031b7204262f",
        "e4195cd6ed41c273920d48039adba3024df50af4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:54:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:54:06 2019 +0000"
      },
      "message": "Merge \"Add NetworkObserverRegistry to NetworkStack\""
    },
    {
      "commit": "f4fb1b525105600331fdf59f0762031b7204262f",
      "tree": "3222ac0f7d40705c5f7dfc21230545e4e97760a9",
      "parents": [
        "e3f18bd77ca924c4b2e0faadc2515eb31c3e78ac",
        "bd726ba33a3e17fcc9d6fb142e441a389750c03c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:53:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:53:13 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack tests to postsubmit\""
    },
    {
      "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": "e4195cd6ed41c273920d48039adba3024df50af4",
      "tree": "aa6186b0c087e6330975dd6f707c276aa2a7bb05",
      "parents": [
        "31935985664c783b7b210c8481bfff808d4f73c1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 10:24:42 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 14:55:50 2019 +0900"
      },
      "message": "Add NetworkObserverRegistry to NetworkStack\n\nThe NetworkObserverRegistry will replace usage of\nNetworkManagementService in the app.\n\nTest: m, booted, WiFi working\nBug: 112869080\nChange-Id: Ic7f0114d0c9361dd2408e47bb04a8dd44a908a47\n"
    },
    {
      "commit": "3ba6c0d56dd55af2e180bedc61690adad77c911c",
      "tree": "8d0c52e5211225627516cf29f8d7ff8d366008db",
      "parents": [
        "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 13:48:19 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:27 2019 +0900"
      },
      "message": "Add hidden utils and constants to NetworkStack\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: I1a803f7954ab760294436226d6c1cffb934e98f9\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": "bd726ba33a3e17fcc9d6fb142e441a389750c03c",
      "tree": "2c1eb1ffd1d250bee7d7e25cc17dbd80b20edd6c",
      "parents": [
        "89485143f13448d1a75df7bff2b47e91396b3d36"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 12:57:53 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 13:24:05 2019 +0900"
      },
      "message": "Add NetworkStack tests to postsubmit\n\nThe NetworkStack tests were unit tests in FrameworksNetTests, but were\nmoved out so were no longer run in presubmit.\nAfter a while the tests should be moved to presubmit.\n\nTest: atest NetworkStackTests\nChange-Id: I06ddcafd6de6d9029ac710f0fc3c4f2d1d705c01\n"
    },
    {
      "commit": "89485143f13448d1a75df7bff2b47e91396b3d36",
      "tree": "8e9d3da4b100b45e64c454ab885410825caa1d8a",
      "parents": [
        "9d3ce3e55ea4c1e0e3006c535f3ce9bccd5b8134"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 20:13:09 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 20:14:48 2019 +0900"
      },
      "message": "Fix IpClientTest\n\nNetworkStackTests is run with a version of mockito that allows mocking\nfinal methods, which broke mocking of the ConnectivityService.\n\nTest: atest NetworkStackTests\nChange-Id: I430fe12216c43a0c4265a504dbefafad37c09291\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": "ed3168e9e35eb0f779dd6b86c842d4fbf5ac2932",
      "tree": "d22d628ccc95c750d45c4ebc4aaa2075ae9937f1",
      "parents": [
        "06adb08d273023a71d480a0362fc06f6569ddee3"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 17:54:08 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 18:10:06 2019 +0900"
      },
      "message": "Stop depending on the ConnectivityService default request.\n\nThis avoids the need to expose ConnectivityService implementation\ndetails as @SystemApi and the complexities that would be required\nto make NetworkCapabilities parcelable in stable AIDL.\n\nBug: 112869080\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: Icd5d25b9b8e9b7a7d1899b000c92dc4976c3b3d7\n"
    },
    {
      "commit": "3c600a15a1ab35272405c8902a6ab92e46f18ce4",
      "tree": "63b8da5a5d0a58c0ae89d585ad13de4b6e1e16ab",
      "parents": [
        "625a1f4461870548686801996a791cf6cd9a8bbb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 10 19:12:46 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 16:44:21 2019 +0900"
      },
      "message": "Move IpClient to NetworkStack\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: I7d00848c052382cd1b6ce458868bed6a1e9e8ec5\n"
    },
    {
      "commit": "491f53523a74cba5e84122aaeb079c31b6e5fe17",
      "tree": "57d3c90a310afa5bec99359d139292d4038f1d10",
      "parents": [
        "91c81c13b6bad1c34405b7a86d605479cd049d2e",
        "c1c02dcb65928bc77883551fb8ead901fcccca5e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 13:00:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 13:00:10 2019 +0000"
      },
      "message": "Merge changes Ieef54d84,Ica3e88c2\n\n* changes:\n  Remove NetworkStack dependencies on hidden members\n  Expose ServiceSpecificException as @SystemApi.\n"
    },
    {
      "commit": "c1c02dcb65928bc77883551fb8ead901fcccca5e",
      "tree": "4cdc9448a0de98df1b34bc6ea3ddfc4caa8f5a4e",
      "parents": [
        "a27da72cd1b03cf99cbe810c985a9c8bde1cbbb5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 16:50:42 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 22 18:48:12 2019 +0900"
      },
      "message": "Remove NetworkStack dependencies on hidden members\n\n - DhcpClient only shares its handler with IpClient, and NetworkMonitor\n   has its own handler: remove Protocol.BASE_DHCP,\n   Protocol.BASE_NETWORK_MONITOR\n - Remove dependency on Network.netid in NetworkMonitor\n - Remove dependency on Sets.newArraySet in DhcpServingParams\n - Remove dependency on formatDuration() in DhcpClient\n - Replace isMetered() with hasCapability() in NetworkMonitor\n - Use WifiManager.isScanAlwaysAvailable instead of reading setting\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ieef54d847ddc081fb33cbad0b050b06d2e52548e\n"
    },
    {
      "commit": "811f6385be0764b4a16ad35276688da5ffc754c3",
      "tree": "8deaf04b3659e32faf6fabe7188dda81b63e7d5d",
      "parents": [
        "8586a43f31d745f2327a481247b09b06717aaaac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 12:08:21 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 17:50:33 2019 +0900"
      },
      "message": "Add SystemApi utility for raw sockets.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Id228bf3317b6933314174571697ee256b2f18452\n"
    },
    {
      "commit": "8586a43f31d745f2327a481247b09b06717aaaac",
      "tree": "efb15a4088178f62a8d886a55026a32ec22f3e62",
      "parents": [
        "9325fbc4f85123bc79eeeacda0de6dfb00d3264e",
        "7b84fb336f92c71fa4dd7a8bfe662966f954fa33"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 07:48:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 07:48:39 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack metrics to system API\""
    },
    {
      "commit": "7b84fb336f92c71fa4dd7a8bfe662966f954fa33",
      "tree": "6c45563fe34b84d5ba752e00e4ff50c239bc489d",
      "parents": [
        "1f4cce2f198308a0c8ee375503225ed1f6e1f2f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Jan 19 21:13:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 23:24:41 2019 +0000"
      },
      "message": "Add NetworkStack metrics to system API\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ie52c55f248c173e2a5ee603ecd004fbac9004ac1\n"
    },
    {
      "commit": "69b967f5d0687b043a66ed9a8343ad447bd594aa",
      "tree": "6af49b132bcc584b7552bc54f70a417c5aae16de",
      "parents": [
        "6b0b2b735eb42f87319a91cc7822e78ce2296186"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 13 03:10:49 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 18:25:01 2019 +0900"
      },
      "message": "Allow Bluetooth to bind to NetworkStack\n\nTest: flashed, verified bluetooth tethering gets IP address\nBug: b/112869080\nChange-Id: Idfbfdf54754fea46eb0099b9b9a3bdc29dd241e0\n"
    },
    {
      "commit": "8865471c2e7610c8fcfacb06c10b05a5139d8c58",
      "tree": "4d6b77d02b29ad2ef861379413c3cd8057260838",
      "parents": [
        "608e3a63f934cd00b6bad6d280047f8b4c51a014",
        "41bd2b9c377feb43fd39fc1fe6584c062b8d22a0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 08:00:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 15 08:00:51 2019 +0000"
      },
      "message": "Merge \"Add ACCESS_COARSE_LOCATION to NetworkStack app\""
    },
    {
      "commit": "1cb95499ec9e64d79db92a1fbc57e44c1520bc30",
      "tree": "150c812e6b1c8cc3c6951aa14a0c00a4bc75f9bb",
      "parents": [
        "c78240df195ed8bb89799057c81f5aec53ec8c35"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Jan 15 10:32:48 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Jan 15 10:32:48 2019 +0800"
      },
      "message": "Add dns signal count into validation log for debugging\n\nDns signal may need to reevaluate the threshold if force\nreevaluation is triggered and actually a stall. Provide dns\nsignal count while force reevaluation is triggered to help\ndebugging.\n\nBug: 113916551\nTest: atest NetworkStackTests\nChange-Id: Ia762752a41a4bb78ba9844917cbede7aeb2f0fc2\n"
    },
    {
      "commit": "41bd2b9c377feb43fd39fc1fe6584c062b8d22a0",
      "tree": "244ac4ba257a9e55d589dd2457fa9a27d7bae69b",
      "parents": [
        "c83e37317f7ea348bff27417d02fc84ad20c7405"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 11:14:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 11:14:48 2019 +0900"
      },
      "message": "Add ACCESS_COARSE_LOCATION to NetworkStack app\n\nBug: 122809947\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I6e71c2d594abab0b4021fefe012b4e7c70a900f7\n"
    },
    {
      "commit": "e67b0c3aee8db22662e904441c0c3e113ee5c539",
      "tree": "a1e9f9c7a3c43f101116c89fe74238387ddcbe51",
      "parents": [
        "dcfef16295126c0197e5e1f6449280efdf787fea"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Dec 27 16:43:56 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 11 09:59:11 2019 +0900"
      },
      "message": "Move NetworkMonitor to NetworkStack\n\nBug: b/112869080\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I1b8b6a3f4390adbabf92fb9e48da61c47b08b2ec\n"
    },
    {
      "commit": "0e3d0923a65d654c57bd0ce24d84a257702e83db",
      "tree": "1e6af187f61e4165899fb74ab139b25f196b5e3f",
      "parents": [
        "5dbf0574365254e9b5aee3919b5ee0563a92ba80"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Dec 04 12:13:09 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 09 15:42:16 2019 +0900"
      },
      "message": "Move DhcpServer to NetworkStack app\n\nTest: atest FrameworksNetTests \u0026\u0026 atest NetworkStackTests\nBug: b/112869080\n\nChange-Id: I96c40e63e9ceb37b67705bdd4d120307e114715b\n"
    },
    {
      "commit": "1c427ab3c4af12a8f3c5d8c0b007da7ad32e6f08",
      "tree": "682ffe713d005b5054f522673d1906462b50c285",
      "parents": [
        "8708d842fb28546161464a2b5652c1b7da6c5edf"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 16:58:21 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 16:58:21 2019 +0900"
      },
      "message": "Change package name for NetworkStack\n\nTest: flashed, booted, apk started as expected\nBug: b/112869080\nChange-Id: I8aaf5a89ffff7bba1228ea7214e662acbe47e776\n"
    }
  ],
  "next": "c094a5402c98851b380fa276e7557bf916c36c1b"
}
