)]}'
{
  "log": [
    {
      "commit": "7421a00bb0593f0bddeb6da85787df2d7c7f64b8",
      "tree": "7f43817edd7aa6f20849a465addc74755dc0c7e7",
      "parents": [
        "cfd6493bb89ff3f2a52118ec3ccbbe6bd8e93e95",
        "ee15067180704b2239468b650309506baeef4a9e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Feb 22 11:52:33 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 22 11:52:33 2019 -0800"
      },
      "message": "Merge \"Update RulesManagerService after APEX files\"\nam: ee15067180\n\nChange-Id: I7454b85b13ecf5c3946190d316e3d07e72d4e620\n"
    },
    {
      "commit": "ee15067180704b2239468b650309506baeef4a9e",
      "tree": "8a8918fa4976c4260f0b9cc25b06949b341eacb2",
      "parents": [
        "e8eb967389b5ade9db024cb3d3a6ae829c0f13cd",
        "a1ae02519d6fb5de636fc8728dec7cb9b14de356"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Feb 22 18:32:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 18:32:13 2019 +0000"
      },
      "message": "Merge \"Update RulesManagerService after APEX files\""
    },
    {
      "commit": "a1ae02519d6fb5de636fc8728dec7cb9b14de356",
      "tree": "131d6d7fbbe0ffd344946b40a3b76e82fc422b1b",
      "parents": [
        "d989ed753d3a46c017f3729aa466939b2945ddcc"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 18 10:49:15 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Feb 22 15:43:39 2019 +0000"
      },
      "message": "Update RulesManagerService after APEX files\n\nContext\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe \"time zone updates via APK\" feature was implemented in O-MR1 to enable\ndevices to take time zone updates via an APK update and without needing\nan OTA. RulesManagerService is an important part of the time zone updates via\nAPK feature. When RulesManagerService was implemented things were simple; there\nwas a copy of time zone data in /system. A new (optional) copy was introduced\nin /data that could be managed / updated by the RulesManagerService.\nSince there were only two copies the /system copy was referred to as the\n\"system\" data.\n\nWith the introduction of the runtime APEX and time zone data APEX things\nhave become more complicated. Android devices can have time zone data in\nseveral places:\n\n1 The copy in /system/usr/share/zoneinfo/ is partially complete and remains\n  for legacy usecases, e.g. binaries that \"know\" about the /system path and\n  cannot be updated, or binaries which run before /apex paths are mounted.\n\n2 The copy in /apex/com.android.runtime/ is a complete set of time zone\n  data that can be used by libraries on the device.\n\n3 The copy in /apex/com.android.tzdata/ is the \"overlay\" copy for use when\n  the time zone data APEX can be updated. For devices that can take APEX\n  updates it will be present and is expected to start with the same version as\n  present in /apex/com.android.runtime. Note: Nothing in the code *requires*\n  this copy to be present but it is expected to be present in most cases.\n\nRulesManagerService is being kept around for devices that may not have the\ncapability of updating their APEX files but which still want to update time\nzone data without taking an OTA. It is assumed that RulesManagerService will\n*only* be turned on in these situations and *not* when the time zone\ndata in /apex/com.android.tzdata/ might actually be updated independently of\nthe copy in /apex/com.android.runtime/.\n\nThe RulesManagerService therefore adds the fourth copy of the data that *could*\nbe present:\n\n4 The copy /data/misc/zoneinfo/ managed by RulesManagerService.\n\nImportant libraries / binaries on device know about all 4 copies and\nprioritize them in order 4, 3, 2, 1. i.e. the libraries will use the\nfirst copy of data found in that order.\n\nIn scenarios where RulesManagerService is disabled, 4 will not be present\nand therefore 3 will be used (or 2 if 3 is also not present).\n\nIn scenarios where RulesManagersService is enabled, 4 is present iff an\nAPK update has been received. It is assumed that *if* /apex/com.android.tzdata/\nis present, it contains the same version of tz data as in\n/apex/com.android.runtime/, will never be updated, and can therefore\nbe ignored by RulesManagerService.\n\nThe changes\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis commit and others in the same topic do the following:\n\n1) Change RulesManagerService references to \"system\" data to \"base\" data in a\n   valiant attempt to limit confusion until it can be removed.\n2) Switch RulesManagerService over from using the data in\n   /system/usr/share/zoneinfo/ as base data to the data in\n   /apex/com.android.runtime/.  As part of this change, the RulesManagerService\n   can now use the tz_version file to identify the version of tzdb in \"base\"\n   rather than reading the header of the tzdata file, so that is done\n   here too.\n3) Update imports neccessary to meet pre-upload check requirements.\n\nNote: tzdatacheck, an independent binary that manages time zone data\nafter OTA, was updated to use /apex/com.android.runtime/ instead of\n/system/usr/share/zoneinfo/ in commit c6a2737e0861472d1726ed472708d7762ab1e802.\n\nBug: 119293618\nBug: 113373927\nTest: atest FrameworksCoreTests:android.app.timezone\nTest: atest FrameworksServicesTests:com.android.server.timezone\nTest: CTS: run cts-dev -m CtsLibcoreTestCases -t libcore.libcore.timezone.ZoneInfoDBTest\nTest: CTS: run cts-dev -m CtsLibcoreTestCases -t libcore.libcore.icu.TimeZoneIntegrationTest\nChange-Id: Idabe245c7ad337938c202b1796ce9d89ec68bbd6\n"
    },
    {
      "commit": "1ae35be3e3f2d78e4e5742b26e5a8dc063e8cba2",
      "tree": "b0c46327dcac96cc8f0c38382846605f0da65e2d",
      "parents": [
        "cbb2ae04e1126edeaa69556c91015dc7f4191473",
        "2badc1e43453697c5da7ecf0038ca8a554210383"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Fri Feb 22 00:53:31 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 22 00:53:31 2019 -0800"
      },
      "message": "Merge \"Add a new error code for disallowing concurrent bugreports\"\nam: 2badc1e434\n\nChange-Id: I30cd117c2c09346f7958c69e95fecd5831874024\n"
    },
    {
      "commit": "2badc1e43453697c5da7ecf0038ca8a554210383",
      "tree": "c4394fca546da6d25427123163e57b8a870e4da9",
      "parents": [
        "1d8977b9922649ef9ecd0ba054c2bdf868ccfd56",
        "cfb3d4856ea02e6c5eb54b6f9081530c30a5dca9"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Fri Feb 22 08:43:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 08:43:48 2019 +0000"
      },
      "message": "Merge \"Add a new error code for disallowing concurrent bugreports\""
    },
    {
      "commit": "cbb2ae04e1126edeaa69556c91015dc7f4191473",
      "tree": "adbbfd3b6ae0f1a875f00d7d47cf8ec2ebd75f61",
      "parents": [
        "5018857876a20c352ccfa97ecab6b0a861e2b870",
        "1d8977b9922649ef9ecd0ba054c2bdf868ccfd56"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 21 23:49:15 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 23:49:15 2019 -0800"
      },
      "message": "Merge \"Fix RouterAdvertisementDaemon thread leakage problem\"\nam: 1d8977b992\n\nChange-Id: Id8d701e67fdd323dd83629d3d73420536719485d\n"
    },
    {
      "commit": "1d8977b9922649ef9ecd0ba054c2bdf868ccfd56",
      "tree": "7bee56a61afccdce641a41a8d07f78174390629d",
      "parents": [
        "233b4f140b9d26a1387351b73990cd0572251c37",
        "6dea37dc6e1f8723a774cd203cb99c48079603e7"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Feb 22 07:39:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 07:39:20 2019 +0000"
      },
      "message": "Merge \"Fix RouterAdvertisementDaemon thread leakage problem\""
    },
    {
      "commit": "178684530b73c23807321f0563c8a77afd87bad9",
      "tree": "fdb415f3e5b7ba67d401c2d15344acbcd984b57f",
      "parents": [
        "0287ddfde28d753504b66dd84586c8e24e96db60",
        "9f0115bb6e20f18872303c8a68072d9268825913"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Thu Feb 21 17:00:51 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 17:00:51 2019 -0800"
      },
      "message": "Merge \"Allow UiAutomation to adopt the shell permission indentity\"\nam: 9f0115bb6e\n\nChange-Id: I2f3d34f78446de60d51b84fcc81110585c9f2c81\n"
    },
    {
      "commit": "9f0115bb6e20f18872303c8a68072d9268825913",
      "tree": "5789a6fe29bfa0670f320320fa0771a697c202b1",
      "parents": [
        "07037a86d3211bf84f897ae28f4c303d7587ee41",
        "c2841ec7feb095cc36d2540844228ee72da3dfca"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Fri Feb 22 00:41:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 00:41:29 2019 +0000"
      },
      "message": "Merge \"Allow UiAutomation to adopt the shell permission indentity\""
    },
    {
      "commit": "ab10c4caabb9fd25cc37ba0d79c843c4cbd1e288",
      "tree": "6213269c08f2291ec1ad12cec4f9816d820347ea",
      "parents": [
        "676e631646ad7a55208d74f2c0285e1af944df3c",
        "969abcc46fea8625688b8e401be6d0d1a56f3ad5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 14:28:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 14:28:46 2019 -0800"
      },
      "message": "Merge \"Add logging to NetworkStackClient\"\nam: 969abcc46f\n\nChange-Id: I0fe820c6feab3caa9ad0739df100553b2d4374e0\n"
    },
    {
      "commit": "969abcc46fea8625688b8e401be6d0d1a56f3ad5",
      "tree": "8a8a9049139a5eb4f6755e5a0e4056cf8829e19c",
      "parents": [
        "703e8c68ec5cca7b9b03fd88116bc1ffdc6a0929",
        "a25379f577698a32ba3f82dfe80ee3e307253ff6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 22:13:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 22:13:31 2019 +0000"
      },
      "message": "Merge \"Add logging to NetworkStackClient\""
    },
    {
      "commit": "676e631646ad7a55208d74f2c0285e1af944df3c",
      "tree": "6565648daf7916b25954620391bd7652ed5f6f94",
      "parents": [
        "48e3098dbb319db3cdf25a6ffb97ec20887ca8af",
        "703e8c68ec5cca7b9b03fd88116bc1ffdc6a0929"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Thu Feb 21 13:30:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 13:30:32 2019 -0800"
      },
      "message": "Merge \"Send special permission information to netd\"\nam: 703e8c68ec\n\nChange-Id: I35aa015a9448b5f8563da0aee40afd3101df29ff\n"
    },
    {
      "commit": "48e3098dbb319db3cdf25a6ffb97ec20887ca8af",
      "tree": "2403a4f7fbfe6292c05ba12fa2a2885a86ca289f",
      "parents": [
        "54b6b9b678f830531160edb934c724f86b050f24",
        "bede9f869b7e1feb257b8941a29e1b76f8be4a77"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Feb 21 13:26:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 13:26:19 2019 -0800"
      },
      "message": "Merge \"Use toArray(T[]) instead of toArray().\"\nam: bede9f869b\n\nChange-Id: I8099a859b053234a66f2435f14f622847e5ad511\n"
    },
    {
      "commit": "703e8c68ec5cca7b9b03fd88116bc1ffdc6a0929",
      "tree": "880676adca1e812d12f384372381438bce3a13f0",
      "parents": [
        "bede9f869b7e1feb257b8941a29e1b76f8be4a77",
        "e16cd66ace1aa9baaef17ec37cbd9d6e3277f576"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 21 20:27:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 20:27:58 2019 +0000"
      },
      "message": "Merge \"Send special permission information to netd\""
    },
    {
      "commit": "bede9f869b7e1feb257b8941a29e1b76f8be4a77",
      "tree": "1b4516ec32105a2888e692b6cca413a18974908a",
      "parents": [
        "c3ae401a983623563e4a66efd9f390fe7baa0604",
        "669393319a478af97f65887545aff098d107054d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 21 20:27:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 20:27:53 2019 +0000"
      },
      "message": "Merge \"Use toArray(T[]) instead of toArray().\""
    },
    {
      "commit": "c2841ec7feb095cc36d2540844228ee72da3dfca",
      "tree": "a75b7383d0285ee73db59fbc8f650221ef2b3087",
      "parents": [
        "a6dda25ac90b7ce6a9afa7da6cc86fade59f9ebf"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 25 16:39:23 2018 -0700"
      },
      "committer": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Thu Feb 21 19:59:14 2019 +0000"
      },
      "message": "Allow UiAutomation to adopt the shell permission indentity\n\nFor testing we often need to run shell commands. This can be done\ntoday via running a shell command from an instrumentation test\nstarted from the shell. However, this requires adding shell commands\nwhich are not in the API contract, involve boilerplate code, require\nstring parsing, etc.\n\nThis change allows an instrumentation started from the shell to\nadopt the shell UID permission state. As a result one can call APIs\nprotected by permissions normal apps cannot get by are granted to\nthe shell. This enables adding dedicated test APIs protected by\nsignatures permissions  granted to the shell.\n\nTest: cts-tradefed run cts-dev -m CtsUiAutomationTestCases\n          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions\n\nbug:80415658\n\nMerged-In: I4bfd4b475225125512abf80ea98cd8fcacb6a1be\nChange-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be\n"
    },
    {
      "commit": "f1d3b8da7e69196ca8aca98a170f59957bb4c19b",
      "tree": "8959e6b9e1a2c383818415c22c5c8b80b956f74b",
      "parents": [
        "a96e3dfb81a90d5daaabaa6e8a19cc401b780a76",
        "4e4b3ac9c5d9b27d23f34766117e3e9782e526c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 10:39:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 10:39:55 2019 -0800"
      },
      "message": "Merge \"Pick up the apexBootImage pinner service files when the boot image is apex.art.\"\nam: 4e4b3ac9c5\n\nChange-Id: I08391ceeb39dc0ab71f5c73be97b8be735a1b35e\n"
    },
    {
      "commit": "4e4b3ac9c5d9b27d23f34766117e3e9782e526c3",
      "tree": "fd11cde67be0bc9c364102ddb1386e913dc40a4a",
      "parents": [
        "f1324dcacea4163d50d6a4d588ed4f89e5758a11",
        "8b5976ec3d2c3314e11ff71c27c530df653455a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 17:24:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 17:24:00 2019 +0000"
      },
      "message": "Merge \"Pick up the apexBootImage pinner service files when the boot image is apex.art.\""
    },
    {
      "commit": "cfb3d4856ea02e6c5eb54b6f9081530c30a5dca9",
      "tree": "16021e8f3fea73747d4e4a19ab07d2f30db27fc2",
      "parents": [
        "f1324dcacea4163d50d6a4d588ed4f89e5758a11"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Feb 20 11:25:35 2019 +0000"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Feb 21 16:17:54 2019 +0000"
      },
      "message": "Add a new error code for disallowing concurrent bugreports\n\nBUG:123571915\nTest: manual\nChange-Id: I8787137c3cfeb33aacfa439f6eab1a668977e572\n"
    },
    {
      "commit": "a96e3dfb81a90d5daaabaa6e8a19cc401b780a76",
      "tree": "07e740212e84884d10a73ad99efaa0e1bb9f0874",
      "parents": [
        "f4dfe5059421e93224dd852d2cb1d4b84786dbc8",
        "f1324dcacea4163d50d6a4d588ed4f89e5758a11"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 06:32:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 21 06:32:45 2019 -0800"
      },
      "message": "Merge \"Change getPackageUid to getPackageUidAsUser\"\nam: f1324dcace\n\nChange-Id: Id066f5da185ed7a699cc9fd3c8d477f00d9293c5\n"
    },
    {
      "commit": "f1324dcacea4163d50d6a4d588ed4f89e5758a11",
      "tree": "d962b33b260f1a38d9f8ebee9903f0874d316230",
      "parents": [
        "617e556477170312aa26c881e18ba2de7ea1016c",
        "256298eb94d34fd7e76ba4f0e4528d433e68ceac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 14:21:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 14:21:19 2019 +0000"
      },
      "message": "Merge \"Change getPackageUid to getPackageUidAsUser\""
    },
    {
      "commit": "6dea37dc6e1f8723a774cd203cb99c48079603e7",
      "tree": "ce8f76390cf25f2cbffc678043ec3eb343ab6159",
      "parents": [
        "5cf41e47fe12ccbe110eb01ac788b627bdc89965"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Jan 25 13:36:34 2019 +0800"
      },
      "committer": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Feb 21 09:19:29 2019 +0000"
      },
      "message": "Fix RouterAdvertisementDaemon thread leakage problem\n\n[Prerequisites]\nDefault value of mRaLength is 0, so getNextMulticastTransmitDelaySec()\nreturns DAY_IN_SECONDS (1 day) in this scenario.\n\n[Issue Details]\nExamine MulticastTransmitter.run() for detail:\n\n676        public void run() {\n677            while (isSocketValid()) {\n678                try {\n679                    Thread.sleep(getNextMulticastTransmitDelayMs());\n\nInvoke RouterAdvertisementDaemon.stop() here. Since MulticastTransmitter\nis in a sleep, this thread will pend 1 day until the next check of\nisSocketValid() triggers the quit action, which causes thread leakage\nduring Wi-Fi Hotspot on/off stress test.\n\n680                } catch (InterruptedException ignored) {\n\n[Solution]\nInvoke maybeNotifyMulticastTransmitter() after closing socket in\nRouterAdvertisementDaemon.stop() to interrupt MulticastTransmitter from\nwaiting.\n\nBug: 123491872\nTest: FrameworksNetTests\n  adb shell am instrument -w com.android.frameworks.tests.net\nTest: CTS - CtsNetTestCases\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m CtsNetTestCases\nTest: CTS - CtsNetTestCasesLegacyApi22\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m\n  CtsNetTestCasesLegacyApi22\nTest: CTS - CtsNetTestCasesLegacyPermission22\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m\n  CtsNetTestCasesLegacyPermission22\n\nChange-Id: I0c0d63b43a88e1026aaecfc1853309ad63f62268\n"
    },
    {
      "commit": "a25379f577698a32ba3f82dfe80ee3e307253ff6",
      "tree": "f34b507f7dfa3183d6ee9cad7879589e38e62649",
      "parents": [
        "256298eb94d34fd7e76ba4f0e4528d433e68ceac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 18 11:20:28 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 17:09:12 2019 +0900"
      },
      "message": "Add logging to NetworkStackClient\n\nThe current logging relies on the system log that may rotate. This is a\nproblem to investigate bugs where the network stack service is not\nstarted. Add a SharedLog to NetworkStackClient and dump it in\nConnectivityService (for lack of a better place to dump it).\n\nBug: 124307802\nTest: Booted, dumpsys connectivity shows the log\nChange-Id: If596451d0613645f68a8a32acb032eea76ea506c\n"
    },
    {
      "commit": "256298eb94d34fd7e76ba4f0e4528d433e68ceac",
      "tree": "f291ed448dccb86f0cbf28646b8e2ddad6ff10e3",
      "parents": [
        "e4a40c77e1dc2a45dc77f129bb08c971b8b8d686"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 17:07:57 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 21 17:07:57 2019 +0900"
      },
      "message": "Change getPackageUid to getPackageUidAsUser\n\nThe wrong overload of PackageManager is being called, setting\nUSER_SYSTEM as flag instead of the user to resolve the network stack\nUID.\n\nTest: phone boots, WiFi works, additional tests in child CLs\nChange-Id: I89b11b38c390d0e77a5917c74daccccd74c2d0a3\n"
    },
    {
      "commit": "e16cd66ace1aa9baaef17ec37cbd9d6e3277f576",
      "tree": "c09c8e13615ca0672ecc6e33734c89c532a41576",
      "parents": [
        "669393319a478af97f65887545aff098d107054d"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Jan 07 16:14:26 2019 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Feb 20 14:07:18 2019 -0800"
      },
      "message": "Send special permission information to netd\n\nNetd need the list of apps that have permission INTERNET or permission\nUPDATE_DEVICE_STATS at run time to make decisions about application\nrequest. To avoid protential deadlock and reduce the traffic between\nnetd and system server, Use packageManagerServcie to send the list of\napps that have those permissions to netd when device boot and when new\napps get installed.\n\nBug: 111560570\nBug: 111560739\nTest: install and uninstall packages and dumpsys netd trafficcontroller\nChange-Id: Idb9905f424557a5c59e35d41f5eafe345aca87e0\n"
    },
    {
      "commit": "669393319a478af97f65887545aff098d107054d",
      "tree": "e612d1334c34617ab715838b661f02a4f62deda5",
      "parents": [
        "5751278992b6a0f25f8cc435e3173af7d1013e22"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Fri Oct 12 17:45:50 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Feb 20 14:06:30 2019 -0800"
      },
      "message": "Use toArray(T[]) instead of toArray().\n\ntoArray() always creates Object array, which can\u0027t be cast to array type\nof specific types.\n\nBug: None\nTest: Package can be installed and uninstalled correctly with a package\nlist.\n\nChange-Id: I9d6c8c2b1c3de767b87643f4c3aaff1044e33fbc\nMerged-In: I9d6c8c2b1c3de767b87643f4c3aaff1044e33fbc\n"
    },
    {
      "commit": "8b5976ec3d2c3314e11ff71c27c530df653455a2",
      "tree": "f41ca73cbc8e10487520ebfa7d58eb9d08598c76",
      "parents": [
        "4ba3b12efb713c21904214ee33e44a711bdca3ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 20 15:41:03 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 20 18:07:36 2019 +0000"
      },
      "message": "Pick up the apexBootImage pinner service files when the boot image is apex.art.\n\nTest: adb shell dumpsys pinner\nBug: 119800099\nChange-Id: I780b65dfba0fc8f7a2807f29fa3a0f7984ae7023\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": "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": "b829ad7b17bd8d32ac91122711c39b58d1a730d0",
      "tree": "4c455d983919fee641afaa6c5fa28016a5bb199a",
      "parents": [
        "18cccec6245bee1073be460e37b74738e6f344e4",
        "5943304c9bb14b8b6cadfa28466e9b70e89a1a2f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 19 22:21:05 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 19 22:21:05 2019 +0000"
      },
      "message": "Merge \"[DO NOT MERGE] Support trace command on Window Manager dumpsys\""
    },
    {
      "commit": "90aea5936414bcd6096c072b59f0a166503f6713",
      "tree": "1d017c5128b1e8bdeca45c6306fc5abb43761f07",
      "parents": [
        "efa1d2653830a3e8f76ef441215939dfe3615e68",
        "18cccec6245bee1073be460e37b74738e6f344e4"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Feb 19 12:23:26 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 19 12:23:26 2019 -0800"
      },
      "message": "Merge \"Lazely initialize AccountManager debug table.\"\nam: 18cccec624\n\nChange-Id: If7e12145dfa8e104777956bdab9a743f3f860e24\n"
    },
    {
      "commit": "18cccec6245bee1073be460e37b74738e6f344e4",
      "tree": "6c66bf95a23af2f0800debff78d56c0a7616ac5a",
      "parents": [
        "a81d64e9407a849ff66419cfe4c28854a6c7c656",
        "d7eb5d48e5b17754ebeda3cf7945c5eb65c15ceb"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Feb 19 19:49:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 19 19:49:13 2019 +0000"
      },
      "message": "Merge \"Lazely initialize AccountManager debug table.\""
    },
    {
      "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": "c423836b0831a67ad94b17bcb1ee0ee4d283c747",
      "tree": "e8e3b3cb08ce6681ff527d73dcfae942210f2176",
      "parents": [
        "f2bcd619a1f928f796c013301d92ff683cf181c6",
        "9d805ba071c7981cbb46f1b60474e8ab1a60d8f6"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Tue Feb 19 07:54:42 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 19 07:54:42 2019 -0800"
      },
      "message": "Merge \"Add dariofreni to APEX-related files owners.\"\nam: 9d805ba071\n\nChange-Id: I13e6dda30f6aeaab8654758cd55a0166b019507c\n"
    },
    {
      "commit": "3d3997abb4b0a8b3e43ca6d8f601614306958fd8",
      "tree": "d2c6c26f02375c83c62eca592a4064e95161b5e5",
      "parents": [
        "14daedf747b7551370cc498b80d333cf8778ff10"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Mon Feb 18 17:53:24 2019 +0000"
      },
      "committer": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Tue Feb 19 10:21:22 2019 +0000"
      },
      "message": "Add dariofreni to APEX-related files owners.\n\nTest: n/a\nChange-Id: I3a26033f52d98e5edcde852fff007ba33ae90856\n"
    },
    {
      "commit": "cb473052224b078cca1abab34d54d57802308fab",
      "tree": "8f0be727cb3926fe367672b7d040069de95c5aeb",
      "parents": [
        "cfbc249110b05361b0f90050d342714a18808a37",
        "e705e267030c061872e8f6ef092da7b63d533bef"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Feb 15 18:50:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 18:50:21 2019 -0800"
      },
      "message": "Merge \"Check intent action in OMS.PackageReceiver for secure coding\"\nam: e705e26703\n\nChange-Id: Ic73dbe9bf5fe1f5b711ee24adbc72c1b066a63a4\n"
    },
    {
      "commit": "e705e267030c061872e8f6ef092da7b63d533bef",
      "tree": "345c4aa7b7cb03bc55acf92d6d301446c8988de4",
      "parents": [
        "c0c27fbf498e363de11b8a5bccdaf80bfcbdfa09",
        "14d8d682f17640e472201b9f10d6cebb6f127023"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Sat Feb 16 02:36:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 16 02:36:41 2019 +0000"
      },
      "message": "Merge \"Check intent action in OMS.PackageReceiver for secure coding\""
    },
    {
      "commit": "2d7e53ca901e3abdc3d5fad3fca2fc183d2ed116",
      "tree": "3b0bec6e239910182ad30bbade4ff58bc3fe860d",
      "parents": [
        "2feb04170bc95f179551bddec79131e450540b86",
        "3f23efdd13c21e776df37de508f070c96aeec6dc"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 16:38:52 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 16:38:52 2019 -0800"
      },
      "message": "Merge \"Fix framework and NetworkStack classes conflicts\"\nam: 3f23efdd13\n\nChange-Id: I8c207040c42a3d02b8383e13a4f839c250788f58\n"
    },
    {
      "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": "d7eb5d48e5b17754ebeda3cf7945c5eb65c15ceb",
      "tree": "7a9ba569d094da14d82f55e190352b33fa9581fc",
      "parents": [
        "de92fb78fedcf29799f05cb5dd9933639a4aca2e"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Wed Jan 16 15:38:17 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Fri Feb 15 22:56:05 2019 +0000"
      },
      "message": "Lazely initialize AccountManager debug table.\n\nPrevent crash if the database cannot be opened.\nGuard not thread safe SQLiteStatement.\n\nTest: atest com.android.server.accounts\nChange-Id: Idab30703facacb469a568361998c59c039d3dd2a\nMerged-In: I2af9074e50bddc5a1d18ea781cc6f56934f21302\n"
    },
    {
      "commit": "6008c060c5bb428b8e5e09a8cab3e9f188eae77e",
      "tree": "8d1baefa0ef5adfd391b5763e3eba60048c56eec",
      "parents": [
        "db80339f953421ee998e6d195c25d09f0f82248f",
        "eda6f2401f3a5be80abdbae5845b08e7e0995cbb"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Feb 15 10:28:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 10:28:55 2019 -0800"
      },
      "message": "Merge \"Add new file to owners\"\nam: eda6f2401f\n\nChange-Id: I7e8296b1af33739ce906e53efd586ed7d6d98cca\n"
    },
    {
      "commit": "f65e70c573f82d81556df5108a6bf88a1100ad40",
      "tree": "30926cf5c1f9eaec665fcd27c1d389b55cfeb555",
      "parents": [
        "e3ae238f4a7f0acb52b2e6fe05e7b06c513e98a1"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Feb 15 04:55:32 2019 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Feb 15 04:55:32 2019 -0800"
      },
      "message": "Add new file to owners\n\nTest: None\nChange-Id: I69f415929785845ede8f2d1341f4b70f97b4f480\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": "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": "8a4908c1abd7207d60a96254c9853cecfd2d2abf",
      "tree": "a011accc86ebab25fb68ff283df2424123356a2e",
      "parents": [
        "d51aec81cb8947e9c68b3d1bcecf937314035784",
        "bfe928d593b52da8af4a2d74103b749b11851944"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 00:26:34 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 00:26:34 2019 -0800"
      },
      "message": "Merge \"Remove NetworkMonitor dependency on ICaptivePortal\"\nam: bfe928d593\n\nChange-Id: Ia0d06e1aa931cdc1c6dd4008e804a6a44ae2304f\n"
    },
    {
      "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": "ddd14b357d7d463c4a846ddae33e0b00e0b2901d",
      "tree": "c1915dda20f8126b7aba104097af6707d960897a",
      "parents": [
        "e6fc1209f16c6d0f2589689a430d2f45ce07b41f",
        "d36e3df7b0ab833b938c2eeb917ceafb1abfd6b1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 19:29:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 14 19:29:49 2019 -0800"
      },
      "message": "Merge \"Remove deps from framework on netd interfaces\"\nam: d36e3df7b0\n\nChange-Id: I341533244d9c7cd2c1cf8315f0806695310ba03c\n"
    },
    {
      "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": "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": "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": "e6fc1209f16c6d0f2589689a430d2f45ce07b41f",
      "tree": "90f2c0423605335bb03fd8dda0873c4893af2ac4",
      "parents": [
        "e652e8dc45057a4222ed044c7555280abe07415f",
        "cec740470c12b10c5b9df1b73066ff18defdc74a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 14 16:57:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 14 16:57:09 2019 -0800"
      },
      "message": "Merge \"Prevent 3rd party app from turning on speaker during the system call Test: manual\"\nam: cec740470c\n\nChange-Id: I1b4db443f1e112a25d69a03e0b81af1595db5686\n"
    },
    {
      "commit": "cec740470c12b10c5b9df1b73066ff18defdc74a",
      "tree": "854c67c4207f3174942d9c8719b9fa3683741254",
      "parents": [
        "ca2abcf73514cafb180d0ace1988a72c715cd0fb",
        "6e14477fcee9e4ce2dc79c3fcb18e3b17e2f789e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 15 00:43:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 00:43:31 2019 +0000"
      },
      "message": "Merge \"Prevent 3rd party app from turning on speaker during the system call Test: manual\""
    },
    {
      "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": "dcc7fb2198e0c852ac812b28cc03c3792857e25a",
      "tree": "b0d4abff9d803a125e458c260a02153f28cb46bb",
      "parents": [
        "ceac819b8f71244b9167915c1bed4572bd662c92",
        "5c33663bb526bd518b82cc57bc437a36fcc8522b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 17:52:01 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 17:52:01 2019 +0000"
      },
      "message": "Merge \"Schematize ADB system properties\" into stage-aosp-master"
    },
    {
      "commit": "0e71b4f19ba602c8c646744e690ab01c69808b42",
      "tree": "efc2d543fbec688c9a03de674fc2ee2d10da3474",
      "parents": [
        "5854e9312c43a7e47f4a44bcc344984242452c73",
        "04898ff564fbda6d58693631ea633611585f8921"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Feb 13 22:36:25 2019 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Feb 14 09:48:06 2019 -0800"
      },
      "message": "DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into\nstage-aosp-master\n\nBug: 124234733\nChange-Id: Ic4f67fde0835da0b1c363906cccef0d244e38393\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": "deac15fa83dfc665931036697f0a404a16ed1f2e",
      "tree": "524b455221d9a36247c158e5ec17c34135715bd1",
      "parents": [
        "7042e290cf0c4d5518d2ed667d25e56bba95e848",
        "1037bbb82a8f248d92a847fb910a73fd35264561"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Wed Feb 13 20:29:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 20:29:03 2019 -0800"
      },
      "message": "Merge \"Clear all lingering notifications when network is disconnected\"\nam: 1037bbb82a\n\nChange-Id: I2d9f84840cdc73ed3b30278d7a9dbeefff233fa3\n"
    },
    {
      "commit": "1037bbb82a8f248d92a847fb910a73fd35264561",
      "tree": "d4e6667671c42cdeabf37154f0cfae6ba3b5f98f",
      "parents": [
        "f7150486bf8e529bed311acda4f21d5f1e1b902d",
        "f80b83b0e8617ebaf1dda4a807ba52ce4b8e3b57"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Feb 14 01:40:47 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 01:40:47 2019 +0000"
      },
      "message": "Merge \"Clear all lingering notifications when network is disconnected\""
    },
    {
      "commit": "8b98155789248bc27ded9de373aaa4df55746e0c",
      "tree": "9bf09547b46d8f1748e2f168c3353809c1b6fad0",
      "parents": [
        "c11fed47ea02723e68b6651c5d91f79610f70ae9",
        "a3aae9fe4bc41793c2c4443fda985c8fcfb20ddc"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Feb 13 16:12:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 16:12:55 2019 -0800"
      },
      "message": "Merge \"Implement more location checks\"\nam: a3aae9fe4b\n\nChange-Id: Ia72a3fba1718a6e021b549fce92f096c3d7f0c9b\n"
    },
    {
      "commit": "a3aae9fe4bc41793c2c4443fda985c8fcfb20ddc",
      "tree": "177c981a5805ace302f3ce42315a17bf6e1976e0",
      "parents": [
        "2f199d6b35925fc1acbfdd40d0137afa3a8ad638",
        "ee313737e970e95c77cdc229c315dd2c0e8551ce"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Feb 13 23:21:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 23:21:43 2019 +0000"
      },
      "message": "Merge \"Implement more location checks\""
    },
    {
      "commit": "c11fed47ea02723e68b6651c5d91f79610f70ae9",
      "tree": "cf670f64c87813427eaf37a6fc8e6b94a9109102",
      "parents": [
        "0ccab45a199bd7cabc7521fed6efcafe7bc168d4",
        "2f199d6b35925fc1acbfdd40d0137afa3a8ad638"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 15:11:57 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 15:11:57 2019 -0800"
      },
      "message": "Merge \"Manually merge 885aca1bbaa076b11914b9e4cb0d2a6d0c6fab3a to aosp-master\"\nam: 2f199d6b35\n\nChange-Id: I385330c5d2d547dc12d8f5c21cccaf34289ce3af\n"
    },
    {
      "commit": "f57e40124199b19ab8b6a852a602bf4fe5805a2a",
      "tree": "4b1f819defc80a673cdf9c259ef03b2c4a81a73d",
      "parents": [
        "539c545dc7ba749eada12ef4c0bf55535d3500d4"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 12:29:38 2019 -0800"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 20:32:27 2019 +0000"
      },
      "message": "Manually merge 885aca1bbaa076b11914b9e4cb0d2a6d0c6fab3a to aosp-master\n\nBug: None.\nTest: NA.\nChange-Id: I04ebbaa3c2f939b139f0b8b6f25777383fd42375\nMerged-In: Ifcc0c80f1da45c2ff89f7c88da6407ba777473e2\n"
    },
    {
      "commit": "539c545dc7ba749eada12ef4c0bf55535d3500d4",
      "tree": "f6da2b2525d7af7e25e48694240751d4c32e141c",
      "parents": [
        "75a0066880684d470dc7e9552d2acbea333afbc1",
        "a558b05d53f02833982037be0c0be1a203a45fc5"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 20:23:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 20:23:03 2019 +0000"
      },
      "message": "Merge \"Revert \"RESTRICT AUTOMERGE: Manually merge 885aca1bbaa076b11914b9e4cb0d2a6d0c6fab3a to aosp-master\"\""
    },
    {
      "commit": "a558b05d53f02833982037be0c0be1a203a45fc5",
      "tree": "591a08b4012b6aa090c66de6a500491bb455f2bc",
      "parents": [
        "a738111eeea622a25cb50ed7bcae5cbf0218b137"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 20:10:27 2019 +0000"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Feb 13 20:10:27 2019 +0000"
      },
      "message": "Revert \"RESTRICT AUTOMERGE: Manually merge 885aca1bbaa076b11914b9e4cb0d2a6d0c6fab3a to aosp-master\"\n\nThis reverts commit a738111eeea622a25cb50ed7bcae5cbf0218b137.\n\nReason for revert: mistakenly used \"RESTRICT AUTOMERGE\" on the title.\n\nChange-Id: I7ec9917887763912114405ba89eb5f0fac328d97\n"
    },
    {
      "commit": "ee313737e970e95c77cdc229c315dd2c0e8551ce",
      "tree": "76a7f102c0308940ef0e4ba8557ed1454dcb8e37",
      "parents": [
        "3fdbf46ac172de22670d7faa824c2fcda19168ec"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Nov 27 14:36:51 2018 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Feb 13 11:07:37 2019 -0800"
      },
      "message": "Implement more location checks\n\nMake the following modifications to APIs and required permissions.\nMove the following APIs from checking coarse permission to fine\npermission (except for apps targeting pre-Q):\nTelephonyManager.getCellLocation()\n(deprecated) TelephonyManager.getNeighboringCellInfo()\nTelephonyManager.getAllCellInfo()\nTelephonyManager.requestCellInfoUpdate()\nPhoneStateListener#onCellLocationChanged\nPhoneStateListener#onCellInfoChanged\n\nStart checking for fine permission on the following APIs:\n(Note -- these will only be logged, not denied until a future CL)\nTelephonyManager.requestNetworkScan()\nTelephonyScanManager.requestNetworkScan()\nNetworkScanCallback#onResults\n\nStart checking for coarse permission on the following APIs:\n(Note -- these will only be logged, not denied until a future CL)\nTelephonyManager#getAvailableNetworks\nTelephonyManager#getServiceStateForSubscriber and #getServiceState\nPhoneStateListener#onServiceStateChanged\n\nBug: 116258458\nTest: manual via testapps\nChange-Id: I45326ddacbcf538da50ca544d67eed12cf0c0861\n"
    },
    {
      "commit": "761e51482d7e3e38fc15ec37fd4daab2cab9ce5f",
      "tree": "d23eed1e25bf3e1e52b0f4b7bd3935a6931bbce1",
      "parents": [
        "3e40cac16a6b8346445b9d6bce9ffb34122fcbb0",
        "8fee3dee71a3dbc193936691606b9635ddb270ed"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Feb 12 19:24:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 19:24:30 2019 -0800"
      },
      "message": "Merge \"Support multi-SIM entitlement check\"\nam: 8fee3dee71\n\nChange-Id: Icd09865dd291a59265314e570ff710b95cd82593\n"
    },
    {
      "commit": "f80b83b0e8617ebaf1dda4a807ba52ce4b8e3b57",
      "tree": "0bfc6ebbbb9e127493d97dec8ad866d42acfacdc",
      "parents": [
        "749dfc308353960c8454679654fc6cd0332f58dc"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Tue Feb 12 15:30:13 2019 +0800"
      },
      "committer": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Wed Feb 13 03:23:10 2019 +0000"
      },
      "message": "Clear all lingering notifications when network is disconnected\n\nIn aosp/861571, it tried to refine the design to prevent the\nlingering notification is cleared unexpectedly. However, all\nnotifications should be cleared when network is disconnected.\nRefine the design by clearing all lingering notifications when\nnetwork is disconnected.\n\nBug: 123488640\nBug: 123537643\nTest: 1.Build pass\n      2.atest FrameworksNetTests\n      3.Connect to a hotspot which doesn\u0027t have internet,\n      after getting \"NO_INTERNET\" notification, disconnect\n      the wifi and check if \"NO_INTERNET\" notification will\n      be cleared or not.\nChange-Id: Iac45ec186cf81915c318dba37f43136609d579f6\n"
    },
    {
      "commit": "5c33663bb526bd518b82cc57bc437a36fcc8522b",
      "tree": "a1151a90b18c775c42f2c21a098d6c78dd76c1b4",
      "parents": [
        "de49496e761b96da6764c04415c765339c1a6fcc"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Thu Dec 27 14:29:54 2018 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Feb 13 11:31:01 2019 +0900"
      },
      "message": "Schematize ADB system properties\n\nProperties accessed across partitions are now schematized and will\nbecome APIs to make explicit interfaces among partitions.\n\nBug: 117924132\nTest: m -j\nChange-Id: I654c0e1f234d097a66f79ba8c019b8bebc794816\nMerged-In: I654c0e1f234d097a66f79ba8c019b8bebc794816\n"
    },
    {
      "commit": "8fee3dee71a3dbc193936691606b9635ddb270ed",
      "tree": "bb7c9993d08eeeaca9143c44683015d6469fc864",
      "parents": [
        "661bb0414e635122117b1d554f59b9464ad90a6d",
        "0b5950781d33ac12212d0043f97e6ac5f27881dd"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Feb 13 02:29:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 02:29:01 2019 +0000"
      },
      "message": "Merge \"Support multi-SIM entitlement check\""
    },
    {
      "commit": "a738111eeea622a25cb50ed7bcae5cbf0218b137",
      "tree": "386c1c138a4b55eea6d95240e4f5233c3aab2703",
      "parents": [
        "9e74581c7c29bd26de480230a9f80333f44bb225"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Fri Feb 08 15:28:45 2019 -0800"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Feb 12 19:17:44 2019 +0000"
      },
      "message": "RESTRICT AUTOMERGE: Manually merge 885aca1bbaa076b11914b9e4cb0d2a6d0c6fab3a to aosp-master\n\nTo pick up statsd atom ProcessStartTime.\n\nBug: None.\nTest: NA.\nChange-Id: If6b99c0b6b501036ffde1e9a45194a039a8d7c73\nMerged-In: Ifcc0c80f1da45c2ff89f7c88da6407ba777473e2\n"
    },
    {
      "commit": "9e74581c7c29bd26de480230a9f80333f44bb225",
      "tree": "591a08b4012b6aa090c66de6a500491bb455f2bc",
      "parents": [
        "3e141a27c90791db4a941e79ebdadde7a6fbc1e3",
        "1470f025f580330d1db941f5de27f0a65358aa2a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 12 18:35:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 18:35:23 2019 +0000"
      },
      "message": "Merge \"Schematize ADB system properties\""
    },
    {
      "commit": "0b5950781d33ac12212d0043f97e6ac5f27881dd",
      "tree": "64eea1e10b08e1b33f845110f02bc642143f8e95",
      "parents": [
        "0beb397fa5e1887ef354c3b0bc22a8deadae944b"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Jan 08 23:52:21 2019 +0800"
      },
      "committer": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Feb 12 08:20:27 2019 +0000"
      },
      "message": "Support multi-SIM entitlement check\n\n1. Trigger entitlement recheck when perferred SIM switch.\n2. Get resources from preferred SIM\u0027s subId to build\n   TetheringConfiguration.\n\nBug: 120069528\nBug: 122108346\nTest: -atest FrameworksNetTests\n      -build, flash, booted\n      -manual hotspot hotspot with DSDS switch\n\nChange-Id: Icbfa8e84d675c95c0c5563087490ca8e36d91b73\nMerged-in: Icbfa8e84d675c95c0c5563087490ca8e36d91b73\n"
    },
    {
      "commit": "d49230d8df2b95aa2209c6b7fe02e96d9865139c",
      "tree": "e74e1c5c72a1d4723b47f2c85b97bb35828537a0",
      "parents": [
        "7282c21b5794a40e20142fa2be1b06d3c9c1f84d",
        "e765e8b7aaa5350645330e90e34118d9a4749289"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 11 20:22:40 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 11 20:22:40 2019 -0800"
      },
      "message": "Merge \"Remove hard-coded NetworkStack package name\"\nam: e765e8b7aa\n\nChange-Id: I0e67a5e857d4f5ba2af1f0928be6d97c0f4ce94f\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": "e3f4f5eedb279e63d4fa664a67218b2566744435",
      "tree": "f32c8abbaddb6cd93296728074840bb97bcdab3f",
      "parents": [
        "4bb2c54698f7c121a05821b7ceb7bcc0f2dbffa3",
        "db5c59214ffa767d6494c98d8c90347f2bda2130"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Feb 11 19:13:06 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 11 19:13:06 2019 -0800"
      },
      "message": "Merge \"Schematize Display system properties\"\nam: db5c59214f\n\nChange-Id: I363f989b8259adccc86c85708e64fcb05222e6fc\n"
    },
    {
      "commit": "1470f025f580330d1db941f5de27f0a65358aa2a",
      "tree": "a7b4f12e9f7318e24277046b69f0a6f6825afeab",
      "parents": [
        "db5c59214ffa767d6494c98d8c90347f2bda2130"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Thu Dec 27 14:29:54 2018 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Tue Feb 12 02:58:22 2019 +0000"
      },
      "message": "Schematize ADB system properties\n\nProperties accessed across partitions are now schematized and will\nbecome APIs to make explicit interfaces among partitions.\n\nBug: 117924132\nTest: m -j\nChange-Id: I654c0e1f234d097a66f79ba8c019b8bebc794816\nMerged-In: I654c0e1f234d097a66f79ba8c019b8bebc794816\n"
    },
    {
      "commit": "db5c59214ffa767d6494c98d8c90347f2bda2130",
      "tree": "8fea1599d16cdee441086093225c6017113a946e",
      "parents": [
        "190ff7457c9c0fb5337fad418f69cf96ff960b01",
        "89052d92b3616e28d09e5a114643bf33818115e2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 12 02:50:08 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 02:50:08 2019 +0000"
      },
      "message": "Merge \"Schematize Display system properties\""
    },
    {
      "commit": "a525ea4436c13ed7da0db4f4240ea04fbf840857",
      "tree": "8d500c1bb8add410d8f1c5b706315e211e3b21dc",
      "parents": [
        "ed6a99546d9e1048e4fe986c0012762cdebe69fe",
        "bbbeba3c02822e5cd43fd169e7105063a7331af5"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Feb 11 16:34:27 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 11 16:34:27 2019 -0800"
      },
      "message": "Merge \"Add owners for accessibility\"\nam: bbbeba3c02\n\nChange-Id: I099187d207d5610bc79d630f105bff2de41481c3\n"
    },
    {
      "commit": "bbbeba3c02822e5cd43fd169e7105063a7331af5",
      "tree": "7455da1a9445d415ddd5419e3fd68c9c99e59ac0",
      "parents": [
        "69a0fb35a6720f029e25110e56d57f72aa933315",
        "6ac1a60bf1b92c83058d6102c854d5b93ccff835"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 12 00:07:59 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 00:07:59 2019 +0000"
      },
      "message": "Merge \"Add owners for accessibility\""
    },
    {
      "commit": "03cc6bccf72191267bd753c2e004711826cd1903",
      "tree": "dc5e55a4dc7a28c5b81163d658fa132e05d93ab1",
      "parents": [
        "cd2586709b55ceb147a3ff2b9b056efc93b11026",
        "e396fe4a02686850e7e72e52416e4b29b79d7979"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 08 05:47:27 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 08 05:47:27 2019 -0800"
      },
      "message": "Merge \"Disable view compiler for protected storage\"\nam: e396fe4a02\n\nChange-Id: Ia815484a262da85967691807ae575c451aefb043\n"
    },
    {
      "commit": "5b4264823b7d164f17db794cc32ab5167ee57e59",
      "tree": "f77f1f4eb9b13994f7de5f3ab1d226090ddbf8e7",
      "parents": [
        "6bb71b0322b4e1f7b6954162d78f289d894079e4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 06 12:54:23 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 08 13:33:52 2019 +0000"
      },
      "message": "Disable view compiler for protected storage\n\nProtected storage has selinux restrictions that currently prevent\nviews being generated there.\n\n(cherry picked from commit c8aa8ff300761a2d8b1c4770bf38a4b30fe566cd)\n\nBug: 111895153\nBug: 123778117\nTest: manual\nExempt-From-Owner-Approval: cherry-pick\n\nMerged-In: Id386ebd1be7329ab1ea9657187dfbabb4f1bf73c\nChange-Id: Id386ebd1be7329ab1ea9657187dfbabb4f1bf73c\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": "6ac1a60bf1b92c83058d6102c854d5b93ccff835",
      "tree": "a85fd4e6e71a565ab9719afa74f1c3df0d78c083",
      "parents": [
        "21b38267fa281b27a8ecac799a4f941f5b9519b8"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Thu Feb 07 10:49:59 2019 -0800"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Thu Feb 07 10:52:13 2019 -0800"
      },
      "message": "Add owners for accessibility\n\nTest: Relying on treehugger. No functional changes.\nChange-Id: I2511b04e56301bd34a8eaced7be8dd8582cc3cc7\n"
    },
    {
      "commit": "6e14477fcee9e4ce2dc79c3fcb18e3b17e2f789e",
      "tree": "a4f3d53f8f3c1f9372fbdec36e5f17b693a60855",
      "parents": [
        "7b532b7370d2f19a08fc373ba0e95663d96cbfd6"
      ],
      "author": {
        "name": "JW Kwon",
        "email": "jw7.kwon@samsung.com",
        "time": "Thu Oct 04 17:39:29 2018 +0900"
      },
      "committer": {
        "name": "JW Kwon",
        "email": "jw7.kwon@samsung.com",
        "time": "Thu Feb 07 15:45:08 2019 +0900"
      },
      "message": "Prevent 3rd party app from turning on speaker during the system call\nTest: manual\n\nChange-Id: I514f88e52a799e8b570038400c0e7b48aed1b223\nSigned-off-by: JW Kwon \u003cjw7.kwon@samsung.com\u003e\n"
    },
    {
      "commit": "e7408d4f3efb910161276a95d784fad38b6df42a",
      "tree": "f57ebb34e8bd8daa0d66ae1989e336bdb71999db",
      "parents": [
        "7f71f50ae68b601779218b58876b556dac91963a",
        "5cdb4c3451a67436cc801e3eda43497a7e6dd6ca"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 06 19:50:15 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 19:50:15 2019 -0800"
      },
      "message": "Merge \"Check MAINLINE_NETWORK_STACK in ConnectivityService\"\nam: 5cdb4c3451\n\nChange-Id: I5bc7a8dae5667a1509f9741be571008a919b6461\n"
    },
    {
      "commit": "5cdb4c3451a67436cc801e3eda43497a7e6dd6ca",
      "tree": "19be40be8b72b08fb60d1d171596d92f0b933c50",
      "parents": [
        "ca551ce98193a80a786c6d9a798d452037b30f7b",
        "dd29f2078d5679608a956e5f291cc1e8b981dcfe"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 03:33:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 03:33:54 2019 +0000"
      },
      "message": "Merge \"Check MAINLINE_NETWORK_STACK in ConnectivityService\""
    },
    {
      "commit": "7f71f50ae68b601779218b58876b556dac91963a",
      "tree": "7c15da26630590b994dbd880718a4a2ff0e276b1",
      "parents": [
        "9776c4cce3d79d4fa32a4b732289bf6922f0087f",
        "ca551ce98193a80a786c6d9a798d452037b30f7b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 06 18:49:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 18:49:45 2019 -0800"
      },
      "message": "Merge \"Add API for NetworkStack to start captive portal\"\nam: ca551ce981\n\nChange-Id: I72166f14ec4f7589a1dbd0334de37530ebccf88e\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": "91145c9a6e1bb88acdf96fa1d95fdc3a60fc1755",
      "tree": "3c556760110ae93e05942afbadb980713c1ebc85",
      "parents": [
        "4c5e9c842e1620cbf70c58c8a9a40ba68c3927da",
        "1fe970651fbe535317e5efd8d9e40313b1ac0660"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Feb 06 10:19:42 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 10:19:42 2019 -0800"
      },
      "message": "Merge \"Revert \"Minimum viable TimeZoneDetectorService\"\"\nam: 1fe970651f\n\nChange-Id: Ie5bc6073d0344d0560e98ec574f9bb3d3fecf182\n"
    },
    {
      "commit": "1fe970651fbe535317e5efd8d9e40313b1ac0660",
      "tree": "da542cafdc219a215c4eb576f0171bf5d5fe2647",
      "parents": [
        "6110472c775356b293da4771aed8ecc80283d132",
        "963fea905647086962538342d9c388ebb1b0ace6"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Feb 06 18:02:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 18:02:38 2019 +0000"
      },
      "message": "Merge \"Revert \"Minimum viable TimeZoneDetectorService\"\""
    },
    {
      "commit": "4d5e8e1dcc1dc692439ea3f1f29dccb8a7e67ad3",
      "tree": "eba8a4830fbef5389c63790a23e2e8dd32d6fd49",
      "parents": [
        "e38d50b7c89132a453db60bc5becb1fd5ee4e511",
        "3fe37342ed44a176695a720f183a3ce62e8f9a1c"
      ],
      "author": {
        "name": "nchalko",
        "email": "nchalko@google.com",
        "time": "Wed Feb 06 08:51:47 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 08:51:47 2019 -0800"
      },
      "message": "Merge \"Fix reference leak on TvInputManagerService\"\nam: 3fe37342ed\n\nChange-Id: I62b235faad8b9ec2236159ac6baaee6adc4d6fa2\n"
    },
    {
      "commit": "3fe37342ed44a176695a720f183a3ce62e8f9a1c",
      "tree": "a39061fde8001072092a8ebf2a16736da79ccb7d",
      "parents": [
        "e5f71e4ed0877bc1bafcd65c17bcc2971919cdaf",
        "8d6b71aa1d69bdbe7727451d2ddb9167f6138f71"
      ],
      "author": {
        "name": "nchalko",
        "email": "nchalko@google.com",
        "time": "Wed Feb 06 16:33:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 16:33:19 2019 +0000"
      },
      "message": "Merge \"Fix reference leak on TvInputManagerService\""
    },
    {
      "commit": "e38d50b7c89132a453db60bc5becb1fd5ee4e511",
      "tree": "d2c4da5f81ea1e3d94e4798138bb16fd17c31ac8",
      "parents": [
        "629d0b5344e09b85da067af778248293c9516be8",
        "e5f71e4ed0877bc1bafcd65c17bcc2971919cdaf"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 07:22:31 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 07:22:31 2019 -0800"
      },
      "message": "Merge \"[KA04] Expose TCP socket keepalive API\"\nam: e5f71e4ed0\n\nChange-Id: If8bc33ff30a529092802f9450a3772aaaa401c20\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": "8d6b71aa1d69bdbe7727451d2ddb9167f6138f71",
      "tree": "70c9dbba5f08e117fe117483458b3c227dafba37",
      "parents": [
        "1cbb20b2df9281109d6350ab7d35a802e0496f2a"
      ],
      "author": {
        "name": "Kyeongkab.Nam",
        "email": "Kyeongkab.Nam@sony.com",
        "time": "Wed Jan 16 10:44:37 2019 +0900"
      },
      "committer": {
        "name": "Kyeongkab.Nam",
        "email": "Kyeongkab.Nam@sony.com",
        "time": "Wed Feb 06 18:43:30 2019 +0900"
      },
      "message": "Fix reference leak on TvInputManagerService\n\nFix reference leak when TV input changed.\n\nTest: 1. Modify to call android.os.Debug.dumpReferenceTables() in\nTvInputManagerService#onServiceConnected\n2. Build and run\n3. Repeat to launch and finish TV player application with logcat output\n4. Confirm Global Reference Table information on logcat whether\nreference increase\n\nChange-Id: I9b9896115088d8b179a9cf29ddca88e8a8fa529a\n"
    }
  ],
  "next": "dd29f2078d5679608a956e5f291cc1e8b981dcfe"
}
