)]}'
{
  "log": [
    {
      "commit": "ff9159b1df43dcc1d7b64cdf875c41500cdd0558",
      "tree": "d0bf2c933565587df4a0b32a826dc0a76476229c",
      "parents": [
        "d3395b08c266cb262bc3fd8ae953b983103ffba0",
        "473eb872f66bd51a2debc18616720f2432f1d121"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Mon Aug 13 05:39:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 05:39:02 2018 +0000"
      },
      "message": "Merge \"Strict-related commands porting\""
    },
    {
      "commit": "7e83b79010273a61dfcfc01bebcf1e9d0a1cc095",
      "tree": "2ea8a6c0e9a2c79d426e307a470407b75b9a1575",
      "parents": [
        "3b358c7c6d278ec04822c6da237c0b50189a4ce0",
        "64e99ef26d93b851ba9bbcc3983f75fbba64ccd0"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Aug 10 14:33:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 14:33:07 2018 +0000"
      },
      "message": "Merge \"NetworkAgent: Send primitive integer in score\""
    },
    {
      "commit": "64e99ef26d93b851ba9bbcc3983f75fbba64ccd0",
      "tree": "a5e2490d7bb89fd0f2d0694ae5c0b99815185abb",
      "parents": [
        "d61e87ad0899c8a737aa8f3f43b263bcee24325f"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Aug 02 10:25:02 2018 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Aug 09 07:10:27 2018 -0700"
      },
      "message": "NetworkAgent: Send primitive integer in score\n\n|Integer| is not parcelable and hences crashes when the binder call\ncrosses a process boundary. Using a primitive integer should suffice\nfor sending the value to the server. There are no other usage of\n|EVENT_NETWORK_SCORE_CHANGED| in the codebase.\n\nBug: 112358948\nTest: Device boots up and able to make wifi connection.\nChange-Id: I4c8fc17f4b803f69a4d882c71a8ce014a194d1ba\n"
    },
    {
      "commit": "344960b4d248b5101e277a8e3ffac3066da9ff96",
      "tree": "77532851cfbf1a3b1f0447df80fa124a0088b13e",
      "parents": [
        "9b04b2fd0b41b6bca58eb1d7116c597bb67856bd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 23 13:45:28 2018 -0600"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Aug 08 11:25:24 2018 -0700"
      },
      "message": "Shuffle FD ownership?  \\noideadog\n\nTest: manual\nBug: 111746860\nChange-Id: I1d88bcf81efe71d622bcf3056a6d7c1a4c793383\n(cherry picked from commit a651b7833743a22859635409d923729678ac40b1)\n"
    },
    {
      "commit": "76f081be5c6efe6dfe62a55bc28270e7cc6fe624",
      "tree": "aefe7997b9ece9c407326670403aaba858f35e65",
      "parents": [
        "97ff63812cb5e6aba7f5af35d66daadb133b4dd9",
        "d2cb322e93007dc41fe2880008fe58fc80e315e6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 08:05:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 08:05:20 2018 +0000"
      },
      "message": "Merge \"Add codewiz@, reminv@ to OWNERS for connectivity\""
    },
    {
      "commit": "97ff63812cb5e6aba7f5af35d66daadb133b4dd9",
      "tree": "765c85755cf11c563d25b33771331ded522e3b41",
      "parents": [
        "d3d564a802bf61b5e3916ed3dcfbd952773102be",
        "d9a1cd7fc57c3e042244266bcc7ec47a56ca3a98"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 04:59:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 04:59:12 2018 +0000"
      },
      "message": "Merge \"Add tests for NetworkMonitor isCaptivePortal\""
    },
    {
      "commit": "d2cb322e93007dc41fe2880008fe58fc80e315e6",
      "tree": "a3e1952c342def4029c5e19265026ec4bf872488",
      "parents": [
        "d3d564a802bf61b5e3916ed3dcfbd952773102be"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:01:03 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:22:20 2018 +0900"
      },
      "message": "Add codewiz@, reminv@ to OWNERS for connectivity\n\nTest: m\nChange-Id: I11df4c93ac61b620fc576a2ff17192b7c9ecb984\n"
    },
    {
      "commit": "fc0b519374a67fec920def116bc7288116856b24",
      "tree": "3226d701d5baf3cb616034ae68fbcf25e9b1040a",
      "parents": [
        "e80b45506501815061b079dcb10bf87443bd385d"
      ],
      "author": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Mon Jul 02 13:58:10 2018 -0700"
      },
      "committer": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Tue Aug 07 10:22:17 2018 -0700"
      },
      "message": "Use fdeCheckPassword error code to indicate pw failure\n\nPlumb through the error code from cryptfs_check_password to\ndecryptStorage that was lost in the switch to Binder, so that a wrong\npassword (+ve return value) is not treated like a bad state (-ve\nreturn value).\n\nBug: 110976442\nTest: Switch walleye fstab to FDE, and test wrong password by hand\nChange-Id: Ic2d58483a230ab4520e3a0e6af08d2fac5e8156f\n"
    },
    {
      "commit": "d9a1cd7fc57c3e042244266bcc7ec47a56ca3a98",
      "tree": "7ffff3953de7d72f6ff6a83e3cbbd983bb3597db",
      "parents": [
        "10c593cf7f30ddea32889361c81ef06eabaeb6b3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 13:11:15 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 07 08:57:35 2018 +0000"
      },
      "message": "Add tests for NetworkMonitor isCaptivePortal\n\nBug: b/79499239\nTest: added tests, ConnectivityService tests pass\n\nChange-Id: I98d503b8f92d7f35e59dd1621a90f2eca8c7a63c\n"
    },
    {
      "commit": "02857a72198613a0583cdf6863edb2df59beee04",
      "tree": "076fcfdb52deea3aada1c0dd8b31decbd87c80b0",
      "parents": [
        "10c593cf7f30ddea32889361c81ef06eabaeb6b3",
        "7e1e76a6dc088458b159c4c89c54b78d32d7d310"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Aug 06 19:19:55 2018 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Aug 06 19:20:02 2018 -0700"
      },
      "message": "Merge Android Pie into master\n\nBug: 112104996\nChange-Id: Id91836f22f2c9842975ac5b55f0f18b89db9b2f5\n"
    },
    {
      "commit": "10c593cf7f30ddea32889361c81ef06eabaeb6b3",
      "tree": "fce4972c15d370b8babeff81d38f4f97bb9a5b67",
      "parents": [
        "003f49cf0c8bda89663794ecb95881b3bd0565e3",
        "dcb722fdd439dd7224a046959ac46c5604686c09"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 07 01:29:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 07 01:29:14 2018 +0000"
      },
      "message": "Merge \"Add logging for private DNS probes\""
    },
    {
      "commit": "212d9f76ba098041369090ccb11d39f06cb3e00f",
      "tree": "8df9955e7d4dcd4d55dc8ac3fccd88b7e6fc2b0a",
      "parents": [
        "906b37ec09c9f3075e92682d0929bb0fe104139d",
        "56104e6fb8e19dda719e3095f5bbe8e047a6a69b"
      ],
      "author": {
        "name": "rleix",
        "email": "rayx.lei@intel.com",
        "time": "Mon Aug 06 13:46:14 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 06 13:46:14 2018 -0700"
      },
      "message": "Merge \"Fix the system_error while calling thread::join() in NativeCallbackThread.\"\nam: 56104e6fb8\n\nChange-Id: Idc11c245841a45882ddb90849c35e98d678947cc\n"
    },
    {
      "commit": "4d5db38cc386f109d21856ecc31722a952e6d2ee",
      "tree": "6fea3db9fa1f1472a36536e97f55a62d56ece0c9",
      "parents": [
        "9c7e9034abd4e333b3571d23f00e3abbd89af310"
      ],
      "author": {
        "name": "rleix",
        "email": "rayx.lei@intel.com",
        "time": "Fri Dec 01 15:25:46 2017 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 06 18:04:24 2018 +0000"
      },
      "message": "Fix the system_error while calling thread::join() in NativeCallbackThread.\n\nsystem_server crashed because the system_error \"resource_deadlock_would_occur\"\noccurred while calling thread::join(). It is caused by the value of thread is same\nwith the calling thread. Correct it using std::this_thread::get_id() to check\nwhether it is the same thread with the calling thread.\n\nBug: 70603039\nTest step:\n     Step 1 : Flash DUT and boot it.\n     Step 2 : Connect with PC via USB.\n     Step 3 : Run the following adb command and check the DUT: \n              adb shell\n              su\n              ps -A | grep broadcastradio\n              kill xxx(the process id of android.hardware.broadcastradio@intel-service)\n\nChange-Id: Ia21282c4cc631a0788496081b1821be28929fae6\nSigned-off-by: Lei,RayX \u003crayx.lei@intel.com\u003e\n"
    },
    {
      "commit": "088849fc5e6e03d7b5572aeafd5edd8087efc679",
      "tree": "e962797377d470f0895964652dba0ca330b1b3fe",
      "parents": [
        "38a6375f99a3f813db48012353355b9685bda007",
        "c02b2ec3f179820c31c470d89b919ce721513472"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Aug 03 08:07:01 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Aug 03 08:07:01 2018 -0700"
      },
      "message": "resolve merge conflicts of c02b2ec3f179820c31c470d89b919ce721513472 to stage-aosp-master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Iabf4bf87cc8aec5dab871096fe320098c4622545\n"
    },
    {
      "commit": "bb67bab55fb7fc8a94be7189fe8cbf910d4bbc5c",
      "tree": "dd271ba63e219b9d7c8abe3509059a5c127cc8d8",
      "parents": [
        "c02b2ec3f179820c31c470d89b919ce721513472",
        "56c4148e4181d44608ad2b55851e7c9f2fa32f0d"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Aug 02 22:16:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 02 22:16:07 2018 +0000"
      },
      "message": "Merge \"Throw on revoked location permission - framework\""
    },
    {
      "commit": "56c4148e4181d44608ad2b55851e7c9f2fa32f0d",
      "tree": "e0a1d23f860104531017abd14cdd5c2ba022b5e2",
      "parents": [
        "c14a4be7998b18ce7caea2b63ef30ca09868d1f7"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Mar 07 19:53:43 2018 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Aug 02 11:35:00 2018 -0700"
      },
      "message": "Throw on revoked location permission - framework\n\nWhen we fixed proper handling of location permisison gating\nsensitive telephony calls we stopped throwing a security\nexception when the permission is not held by the caller.\nWhile this is not a security issue there is no reason to\nchange this behavior which is checked by CTS. This CL starts\nthrowing a security exception if the permission is not held.\n\nTest: atest android.permission.cts.NoLocationPermissionTest\n\nbug: 74074103\n\nMerged-In: Ic891d62b408c692f84a345f24503f7f25d583e35\nChange-Id: Ic891d62b408c692f84a345f24503f7f25d583e35\n(cherry picked from commit 33b150937522ccda37567c1303117ac8f1bb6f7f)\n"
    },
    {
      "commit": "075c81a3e21fdfc643d4f2010844eb833be0adc5",
      "tree": "75179062ce1cd5bd54269b05420385eccba118e2",
      "parents": [
        "2cbf44dc2ff17f6866063d93465cc4688827121c"
      ],
      "author": {
        "name": "gaoshiqi",
        "email": "gaoshiqi@xiaomi.com",
        "time": "Tue Jul 31 10:14:51 2018 +0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Aug 02 15:33:53 2018 +0000"
      },
      "message": "use correct userId when startProcess failed\n\nuse app.userId\n\nChange-Id: I989289e895d4263823cc68bf5ee1e307334aeafb\nMerged-in: I1cbc37fdda8530bee6f1cf1d4d7d16776b4ff55d\nSigned-off-by: gaoshiqi \u003cgaoshiqi@xiaomi.com\u003e\n"
    },
    {
      "commit": "270e4bb28495f46bd7558902582bd1c998d09e4a",
      "tree": "be7f0ec626d5df91bf86e8ef197d0d24064bed10",
      "parents": [
        "db4dace06b96aa01c5d5bb3c9cc3b19d4de236c9",
        "e1d140619ff9a22c3cb2e679df07296a8842ce96"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Aug 01 15:48:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 01 15:48:12 2018 -0700"
      },
      "message": "Merge \"Count and Report Bandwidth Requests by UID\"\nam: e1d140619f\n\nChange-Id: Iadfb7c04a49055c57cc8eed2ce9ad5f10e15cf52\n"
    },
    {
      "commit": "db4dace06b96aa01c5d5bb3c9cc3b19d4de236c9",
      "tree": "cd508bc57b6c0034e9b64de8679ace35671e8b86",
      "parents": [
        "a28ae4d9af8d5fb1da4181af3ac4648f75b5a364",
        "b6b8516ba0f44f2d234b825cc4d568c304e9f719"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Aug 01 15:44:30 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 01 15:44:30 2018 -0700"
      },
      "message": "Merge \"Idletimer-related commands porting\"\nam: b6b8516ba0\n\nChange-Id: I48997db764885415f952520c5a29c5da34327e39\n"
    },
    {
      "commit": "e1d140619ff9a22c3cb2e679df07296a8842ce96",
      "tree": "5af182588eaced1ae287beb885d706413064ebbf",
      "parents": [
        "b6b8516ba0f44f2d234b825cc4d568c304e9f719",
        "fd45e5fee84754b7325def839166036638361c7a"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Jul 31 18:13:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 31 18:13:21 2018 +0000"
      },
      "message": "Merge \"Count and Report Bandwidth Requests by UID\""
    },
    {
      "commit": "473eb872f66bd51a2debc18616720f2432f1d121",
      "tree": "0b01e2ef5a22fd26786d1b5ae1af72595867f846",
      "parents": [
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Thu Jul 26 17:33:14 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Jul 31 09:26:15 2018 +0000"
      },
      "message": "Strict-related commands porting\n\nremove strict enable command\nnetd will handle it\n\nTest: runtest frameworks-net passes\nTest: run cts StrictModeTest\nChange-Id: I34c4f270ec1d4d9ae1f60c0f9abec2a7d966ce9b\n"
    },
    {
      "commit": "a62d0498c15de1b6a39bbf401520f293de32699e",
      "tree": "bebf827f4cb82536e5202dc6c1b34bc69db0e167",
      "parents": [
        "c14a4be7998b18ce7caea2b63ef30ca09868d1f7"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Jul 27 20:08:21 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Jul 31 06:08:05 2018 +0000"
      },
      "message": "Idletimer-related commands porting\n\nTest: runtest frameworks-net passes\nTest: manual testing of idletimer works\nChange-Id: I63e20aa3861e613b0970be30a70d0972d7e33d8c\n"
    },
    {
      "commit": "fd45e5fee84754b7325def839166036638361c7a",
      "tree": "c63a8cc7434125f086b1fdff5499818800f3db88",
      "parents": [
        "c14a4be7998b18ce7caea2b63ef30ca09868d1f7"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Jul 30 13:38:01 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Jul 31 02:37:38 2018 +0000"
      },
      "message": "Count and Report Bandwidth Requests by UID\n\nTo debug power drain due to modem wakeups,\none of the signals we\u0027d like to track is\nrequests for bandwidth estimate to see which\napps are making requests and how often. This\npatch keeps a simple count per-UID when an\napp requests a bandwidth update, and that\ncount is made available in dumpsys.\n\nBug: 77498849\nTest: runtest frameworks-net\nChange-Id: I30d2ce85f9fa6747030cf4039d1080113a32e386\n"
    },
    {
      "commit": "38d1885b46da7f94f39017837e30b64e7bfb4c60",
      "tree": "d657dc733fbc78105fd7b2f7dd9e12e5ffe131f6",
      "parents": [
        "4a852ecdd6d11cbad6c0bdb5e4253e5cb3204f95",
        "17977d897e50b39f43c6f686876f3cb7bbfe3e42"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Thu Jul 26 19:25:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 19:25:01 2018 -0700"
      },
      "message": "Merge \"Skip from copying preopted files if device is undecrypted\"\nam: 17977d897e\n\nChange-Id: I169da87e2aca3b5146e91da4c635f583af94b27b\n"
    },
    {
      "commit": "17977d897e50b39f43c6f686876f3cb7bbfe3e42",
      "tree": "ef5a28825bb92a341b55c6611b61587e560ea0b1",
      "parents": [
        "6dfabc43531f5cd2895f691347855ca01aa9e801",
        "cd5dd3c7b594e0beea971499dd96a4af1fad7037"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 27 01:00:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 27 01:00:00 2018 +0000"
      },
      "message": "Merge \"Skip from copying preopted files if device is undecrypted\""
    },
    {
      "commit": "1b5577b44a1ed313b252de3493e7dc6ff5206faa",
      "tree": "8098b643e6d83550355677031ee1ed4ad8e5a025",
      "parents": [
        "d9a8e834dd231333954d857952d918098012c6a0",
        "eff814e768f0a65006bb07520983df799ed0cbd9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 26 15:07:54 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 26 15:07:54 2018 -0700"
      },
      "message": "resolve merge conflicts of eff814e768f0a65006bb07520983df799ed0cbd9 to stage-aosp-master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I8f602eed512285de840bbadceefb88fdbd652780\n"
    },
    {
      "commit": "73b38f94e727f394ba0e199b4c92201e88411730",
      "tree": "1ba18682f3c4fbf3d9d00b273a605e19c0061003",
      "parents": [
        "bba51fede5c1b90a133d086d94e314918274c6ca"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 06 08:59:42 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 26 10:28:18 2018 -0700"
      },
      "message": "Update system server profile\n\nThe previous profile contained only a few methods and classes\ndue to an error during processing.\n\n(cherry-picked from commit 0161eaf5666fbb523b68dc77b965b96a0fab8cdd)\n\nTest: build \u0026 flash \u0026 boot\nBug: 111820715\n\nMerged-In: I4caac335941e2cc84c153652c5206fefdc03596b\nChange-Id: I4caac335941e2cc84c153652c5206fefdc03596b\n"
    },
    {
      "commit": "cd5dd3c7b594e0beea971499dd96a4af1fad7037",
      "tree": "c97c398df8c18cfd0fd6fc897c1bfa6e0ce57b8a",
      "parents": [
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Jul 02 09:53:53 2018 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Jul 26 18:34:53 2018 +0800"
      },
      "message": "Skip from copying preopted files if device is undecrypted\n\nAfter applies issue 78613232 patch (create symlink in init.rc),\nwe found device boots to home screen fail.\n\nWhen device is FDE (Full Disk Encryption) and user sets the\nPassword/Pattern/PIN to lock phone and then reboot the device,\ndata partition will be mounted as tmpfs (256MB) until device\nis unlocked after user inputs Password/Pattern/PIN.\n\nDuring device boot-up process, PMS (Package Manager Service) will\nexecute requestCopyPreoptedFiles when device first boots, and it\nmay cause device fails to boot to home screen because PMS copies\nlarger system_b (about 500MB) to smaller tmpfs (tmpfs is only 256MB)\nbefore device is decrypted.\n\nWe suggest that PMS doesn\u0027t execute requestCopyPreoptedFiles when\ndevice is undecrypted during first boot.\n\nBug: 78613232\n\nTest: Device boot up to launcher normally.\nTest: APPs work normally after A/B upgrade.\n\nChange-Id: I893e0e217a59577299e97adfbf5dc7762dffda7c\n"
    },
    {
      "commit": "c38e0f19c10138bac8abba5f04a360c14f2fb9ae",
      "tree": "86d913a717cb88ed28fef7ec43dda519338ef5dd",
      "parents": [
        "a36d57b7222aeefcf259a8d3b6783fb5e754052a",
        "a37c25224889ccd5804cff425f9cd416f0bb3078"
      ],
      "author": {
        "name": "Gopal Krishna Shukla",
        "email": "gshukla@codeaurora.org",
        "time": "Mon Jul 23 12:10:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 12:10:57 2018 -0700"
      },
      "message": "Merge \"Avoid onServiceDisconnected() for unbind Service\"\nam: a37c252248\n\nChange-Id: I825afa6ce1a341f37687fb453a1eeda1ad19ae86\n"
    },
    {
      "commit": "a37c25224889ccd5804cff425f9cd416f0bb3078",
      "tree": "f49ae4a831053d717e8c74101a048ffcef455e2e",
      "parents": [
        "6a5c1492d24d35c2e45ab8d4bbf4a6cc00a9c162",
        "9117037dd3e25470a36408eaf54175400175b542"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 23 17:27:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 23 17:27:13 2018 +0000"
      },
      "message": "Merge \"Avoid onServiceDisconnected() for unbind Service\""
    },
    {
      "commit": "9117037dd3e25470a36408eaf54175400175b542",
      "tree": "5f48bb720c3f02ded11b1ddd0ccffea3bcd6782a",
      "parents": [
        "73200d9ac9438d95f28f0b9df3a7eddbfbf18eae"
      ],
      "author": {
        "name": "Gopal Krishna Shukla",
        "email": "gshukla@codeaurora.org",
        "time": "Thu Jul 19 18:37:46 2018 +0530"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Jul 23 15:44:28 2018 +0000"
      },
      "message": "Avoid onServiceDisconnected() for unbind Service\n\nonServiceDisconnected() and unbindLocked() both\nare responsible to make mRemoteInstanceas null,\nso ensure that the service is not unbinded already\nwhile calling onServiceDisconnected()\n\nFixes:111631529\nTest: Build Successful and device Running.\nChange-Id: I505d97e32c4e76f06a358850e91fe189bf02654c\n"
    },
    {
      "commit": "2de74edd8322eed41bec4bcecf0d7e06603b5165",
      "tree": "cb3a39187e4dd12c8228e34d7bd9457150a47b87",
      "parents": [
        "3034085dff47d126ffcb552e84024a9ed746070d",
        "09071b4fa85a76e88ddcc01363d6fa817b84a7de"
      ],
      "author": {
        "name": "Edward Savage-Jones",
        "email": "edward.savage-jones@sony.com",
        "time": "Fri Jul 20 08:00:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 20 08:00:25 2018 -0700"
      },
      "message": "Merge \"Fix an incorrect null check\"\nam: 09071b4fa8\n\nChange-Id: Ie69056c21ee03e397881c14ef69804fead2202a9\n"
    },
    {
      "commit": "09071b4fa85a76e88ddcc01363d6fa817b84a7de",
      "tree": "58b4d19732fbb8e95acd45370a94065d2058e3dc",
      "parents": [
        "12cdea59d3ebb57129e8f2106eba432a7c2f6761",
        "36a8942ca2a9f8bd909d7afc1aa2290557a1cbc3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 12:41:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 12:41:17 2018 +0000"
      },
      "message": "Merge \"Fix an incorrect null check\""
    },
    {
      "commit": "dcb722fdd439dd7224a046959ac46c5604686c09",
      "tree": "eb868c99552e05a3a75f7232bb59370f5b49d246",
      "parents": [
        "cbe9c295a3090aeaea29354b2b693c9d51cde617"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 20 18:13:24 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 20 18:13:24 2018 +0900"
      },
      "message": "Add logging for private DNS probes\n\nAlso includes registering validation events as metrics.\n\nBug: b/111596247\nTest: as follows:\n  - Built, flashed, booted\n  - Configured strict mode\n  - Connected to working WiFi, then WiFi with no connectivity\n  - Changed private DNS server to invalid value\n  - Re-connected to working WiFi\n  - adb shell dumpsys connectivity has PROBE_PRIVDNS events with success\n    and failures of the probe\n\nChange-Id: I2691dffd60593fdeaedd22f7ec04a76029f6297c\n"
    },
    {
      "commit": "36a8942ca2a9f8bd909d7afc1aa2290557a1cbc3",
      "tree": "4202498b7e0ec9338bf6a0089a5b586b9aeecd6e",
      "parents": [
        "079f03f584e24915a296aaa4d8512ca1a7111e09"
      ],
      "author": {
        "name": "Edward Savage-Jones",
        "email": "edward.savage-jones@sony.com",
        "time": "Thu Jul 19 12:23:58 2018 +0200"
      },
      "committer": {
        "name": "Edward Savage-Jones",
        "email": "edward.savage-jones@sony.com",
        "time": "Thu Jul 19 13:03:16 2018 +0200"
      },
      "message": "Fix an incorrect null check\n\nFound an incorrect null check when debugging.\n\nTest: Manual\nChange-Id: I7ea3e2cf88117ccef48f994719986e371e45d777\n"
    },
    {
      "commit": "58faaa09dadaf52f940cbf3f6d5269c6616ab455",
      "tree": "073d6704aee1484ea04cf75821a5bfba2c0485f8",
      "parents": [
        "4bff76be8058a0c2948836b4fd01b35bb57e9f86"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 04 13:48:31 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Jul 17 15:35:49 2018 -0700"
      },
      "message": "IBatteryPropertiesRegistrar: remove unused functions\n\n* Remove BatteryProperties\n* Remove IBatteryPropertiesListener\n* Remove IBatteryPropertiesRegistrar.(un)registerListener\n  functions\n\nTest: builds\nTest: boots\nBug: 68724651\nChange-Id: Ic9a9d337e5cb39784db1a2745297ef985dd31653\nMerged-In: Ic9a9d337e5cb39784db1a2745297ef985dd31653\n(cherry picked from commit dd0e942597b51e517eb65d9ea80595d46a3e89df)\n"
    },
    {
      "commit": "4bff76be8058a0c2948836b4fd01b35bb57e9f86",
      "tree": "ffdfb6fa3c735d352a035cd5b91229e3e06237be",
      "parents": [
        "8f66efbffe60943d712136f3a1cc71b487d38a53",
        "20dca26f41ef1b9097c2e7112cb641f21e6806f4"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jul 17 13:59:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 17 13:59:15 2018 -0700"
      },
      "message": "Merge \"UsbDescriptor: Add finite timeout to control transfer\"\nam: 20dca26f41\n\nChange-Id: I86a916694a497bedb7d2df8a64dd17e0e15ce332\n"
    },
    {
      "commit": "bbe8990162c7e903c1bbbc34d43585dca8ab90cf",
      "tree": "2f8a35029d39a54b674bce0274ab75ef9a7931ab",
      "parents": [
        "20dca26f41ef1b9097c2e7112cb641f21e6806f4",
        "d8e8c8b21bcf76ae472f26f4d9fc21aa76c7c045"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Jul 17 20:29:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 20:29:59 2018 +0000"
      },
      "message": "Merge \"Ensure Notification re-post with setOnlyAlertOnce(true) silences sound.\""
    },
    {
      "commit": "20dca26f41ef1b9097c2e7112cb641f21e6806f4",
      "tree": "1cf506e33c4df74b845fb684b7ba69ae286e5ce0",
      "parents": [
        "1febe4196e74b6e21a6832d06a199f001ae3b3f6",
        "58484d7c6995ae57dfd8265e7a568af87d09a72d"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jul 17 19:47:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 19:47:29 2018 +0000"
      },
      "message": "Merge \"UsbDescriptor: Add finite timeout to control transfer\""
    },
    {
      "commit": "d8e8c8b21bcf76ae472f26f4d9fc21aa76c7c045",
      "tree": "d409a611ed0daea3430e41f6984d9ccaa02d9ecd",
      "parents": [
        "b4919259ab3a5caf367ca05798618c6785606182"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Jul 03 12:38:49 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Jul 17 18:23:22 2018 +0000"
      },
      "message": "Ensure Notification re-post with setOnlyAlertOnce(true) silences sound.\n\nWhere a notification channel has an associated looping sound, it should\nbe possible to re-post the notification with setOnlyAlertOnce(true) to\ncause the notification channel\u0027s sound to silence.\n\nWhen re-posting the notification, this CL fixes an issue where\nNotificationManagerService wouldn\u0027t call clearSoundLocked to stop playing\nthe sound, resulting in the notification continuing to playing the sound\nassociated with the notification channel.\n\nTest: Manual testing, updated unit test\nBug: 110348674\nMerged-In: I3ec26f0804bcf59f7356a2329b73ba8ed8f7ea51\nChange-Id: I3ec26f0804bcf59f7356a2329b73ba8ed8f7ea51\n"
    },
    {
      "commit": "fbab182f440b8cdc532d551e92f82b31a2c232b8",
      "tree": "c51cabd290e447566f04956b68a4c547171b7263",
      "parents": [
        "89e9a1ad43bfa2b9ac3a698774e7b8e6ff4a01f9",
        "6e35b2c596c20b724c36fed3dde6687d44635d35"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Jul 17 00:10:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 17 00:10:56 2018 -0700"
      },
      "message": "Merge \"Remove SimChangeListener from Tethering\"\nam: 6e35b2c596\n\nChange-Id: Ie85375b760684bfeb2af0231dbe81592866a4e48\n"
    },
    {
      "commit": "6e35b2c596c20b724c36fed3dde6687d44635d35",
      "tree": "35603bba6237fce653f8e1e3249384309133c212",
      "parents": [
        "600aeb124ba9bdb5c16da802dd1c85a4265ed1d8",
        "1d64e03f916817c5fc89f214db1ffeec526ec611"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Jul 17 05:49:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 05:49:09 2018 +0000"
      },
      "message": "Merge \"Remove SimChangeListener from Tethering\""
    },
    {
      "commit": "4cfaa2ebdbd6332803aa5b0c9df17fef69e0df8a",
      "tree": "846b4b19d91dd46e4b6bba5df62a3bdd57544a14",
      "parents": [
        "e859c42e23c6db3d08588aecf4942d6e84bda1dd"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed May 02 10:59:45 2018 +0100"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 16 11:37:02 2018 -0700"
      },
      "message": "old paths contains all entries when updating\n\nIn certains circumstances, only the base and split APKs were included in\nthe \"old paths\" list when updating the application info. Instead, this\nlist should contain _all_ elements, including any additional libraries\nthat may be added to the overall classpath.\n\nBug: 77342775\nBug: 80337129\n\nTest: Manual. Install a package. Install a split with --dont_kill. See that the path doesn\u0027t contain duplicate entries\nTest: Uninstall GMS updates and reinstall. Verify that GMS Dex files aren\u0027t extrated out of the APK.\n\n(cherry picked from commit b9656a93aac435cefaa4ca0e1b06495d690ba019)\n\nMerged-In: Id9739cce215ab07bff1b17966583c0cf51a0b34a\nChange-Id: I3c61b1b61dc1ab8a1a51a5be68f19ae9af586692\n"
    },
    {
      "commit": "1d64e03f916817c5fc89f214db1ffeec526ec611",
      "tree": "0b47ec64a9a011700f7d9716fb9a192cd89490b4",
      "parents": [
        "3c1604da8b04d9e43554dada977bbca54bbea313"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Jul 16 19:54:26 2018 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Jul 16 19:54:26 2018 +0800"
      },
      "message": "Remove SimChangeListener from Tethering\n\nSimChangeListener is obsolete. It is replace by\nACTION_CARRIER_CONFIG_CHANGED.\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes (with --no-hidden-api-checks)\n    - tethering/hotspot on/off\nBug: 111490073\n\nChange-Id: I82644ea136f43869a953a1f7b72dc489fe90f380\n"
    },
    {
      "commit": "62d5e041a2c219b1ce6aaa8ccbc83e0fa7989ab7",
      "tree": "bcc5976e7007f4495faf93e7858ce374478c5477",
      "parents": [
        "1035f48f612f259cfa4b6433a5d62cda7355f4ff",
        "d02c5d8400d2b5c9782119e8cb9f36c59c37d0bd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 10 16:24:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 10 16:24:47 2018 +0000"
      },
      "message": "Merge \"Java side setup and access to Binder Proxy Tracking\""
    },
    {
      "commit": "19609a7993f30794e79f0f828b06c3ff96fdd20f",
      "tree": "051454c4aca935162bede26e26cb7da6433982ee",
      "parents": [
        "06aa142232b118f4e5c4d7b0889c000164bcb4ea",
        "1035f48f612f259cfa4b6433a5d62cda7355f4ff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "message": "Merge \"Mark installable jars with installable: true\"\nam: 1035f48f61\n\nChange-Id: Ia3176e68ddd7cfdb8351b2a0ea95efc9dd94d922\n"
    },
    {
      "commit": "1035f48f612f259cfa4b6433a5d62cda7355f4ff",
      "tree": "44abbccc1b3a295f6c4fab8013e377d342443d4e",
      "parents": [
        "079f03f584e24915a296aaa4d8512ca1a7111e09",
        "a12c0f506cf509e1220f0095010350181c31c367"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 14:51:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 10 14:51:50 2018 +0000"
      },
      "message": "Merge \"Mark installable jars with installable: true\""
    },
    {
      "commit": "58484d7c6995ae57dfd8265e7a568af87d09a72d",
      "tree": "4d3009aa0e722483f6ed148fa5a7957045c2c43b",
      "parents": [
        "ff801e5fd719c9aa797edd14e13562727b0e1236"
      ],
      "author": {
        "name": "sgopal1",
        "email": "saranya.gopal@intel.com",
        "time": "Tue Jul 10 09:31:33 2018 +0530"
      },
      "committer": {
        "name": "sgopal1",
        "email": "saranya.gopal@intel.com",
        "time": "Tue Jul 10 09:54:03 2018 +0530"
      },
      "message": "UsbDescriptor: Add finite timeout to control transfer\n\nUsing \"0\" as value for USB control transfer timeout\nresults in an unlimited timeout in case of bad USB\ndevices. In host kernels where hung task panic\nis enabled, this results in device reboot.\nSo, add a finite timeout for USB control transfer.\n\nTest: manual run and test with bad USB devices.\n\nChange-Id: Ibc13ca4d8259a08ae7419bb3bcac9c161b1d3693\nSigned-off-by: sgopal1 \u003csaranya.gopal@intel.com\u003e\n"
    },
    {
      "commit": "de8eac9ae1579127d8c5cdf15eaaa7e51140809a",
      "tree": "acbbe939f73560c6f7fa5b4ac6cc2814d4b592d4",
      "parents": [
        "67dcf6da3cb9d405117ef27e7362ef73cecbb123",
        "26025a06ecbd5e0fe8a034ec3aaf5e0146e208e1"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jul 05 05:20:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 05 05:20:25 2018 -0700"
      },
      "message": "Merge \"Always close file descriptors\"\nam: 26025a06ec\n\nChange-Id: Ib1d8f74832b8b649dc83de39f8f16651a9924e69\n"
    },
    {
      "commit": "725e8f6856481b14a5fe465eb8552ce7a837896a",
      "tree": "44c3da49ccdfac233d807c27bf764f9e45355a55",
      "parents": [
        "d004710e0e33e0b60b829146cc5147cacb064543"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 04 17:57:51 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jul 05 15:23:40 2018 +0900"
      },
      "message": "Always close file descriptors\n\nEvery error thrown leaked a netlink NETFILTER socket.\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes\n    - enabled tethering and tried to cause conntrack updates to sessions\n      that had expired (which causes ErrnoExceptions to be thrown)\n      while monitoring lsof for system_server\u0027s NETFILTER sockets\n\nBug: 32163131\nBug: 64976634\nBug: 110122306\n\nChange-Id: Ib52b812e8434c27ad9f2596666400c13e03c2216\n"
    },
    {
      "commit": "e3f76635f761a2862700c9e124d770a83688a02d",
      "tree": "ca069217b9ed58dc7d34fb2ac96ed4fd00b51a25",
      "parents": [
        "d111501e8cac4121fb36c276df7d24183ac6ee51",
        "ef941e192a16d57cf58dc42f4befb50d87f62042"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jul 03 03:09:16 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 03 03:09:16 2018 -0700"
      },
      "message": "Merge \"Push DNS configuration on network validation\"\nam: ef941e192a\n\nChange-Id: I5907831e5f5f1f3659580cc56e2e081cbe88b1cc\n"
    },
    {
      "commit": "c6d00228cd94f9f5f5cdf7c89ba8e8e887df6213",
      "tree": "5434854be10bb3ce8ef496b559d99667ef95ebf0",
      "parents": [
        "38f75762977b3fb5d6965c90e9d4a57e72654c1c"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 26 18:53:43 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jul 03 13:33:34 2018 +0900"
      },
      "message": "Push DNS configuration on network validation\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes\n    - connected to captive portal network,\n      saw failed validation attempt (opportunistic),\n      passed portal, saw successful revalidation attempt\nBug: 64133961\nBug: 72344805\nBug: 109928338\n\nChange-Id: I0471685c2234af8a8c7f5b2ad3205eb6e36333c5\n"
    },
    {
      "commit": "c7b925063fec834b0b9a7a33540cf9d6f25906ed",
      "tree": "b7540f39c14c6d0155087b35939b08a606337951",
      "parents": [
        "a916542011f8bdf714d892e2d2c69275a02bc2a6",
        "ccd6a0f6c29c53ba204ad4f8d7ec29bfc4a8bf14"
      ],
      "author": {
        "name": "Sehee Park",
        "email": "sehee32.park@samsung.com",
        "time": "Mon Jul 02 06:23:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 02 06:23:35 2018 -0700"
      },
      "message": "Merge \"Modify catch when addInterfaceToLocalNetwork() is called.\"\nam: ccd6a0f6c2\n\nChange-Id: I9842ae51d3bb4665f5cb24b7685a05de2df05097\n"
    },
    {
      "commit": "a1874cc580a96fad684820d264d1c0fb7babf6e4",
      "tree": "cd1947c67b27a4f2660adbe5ad3689f78fc7a8a4",
      "parents": [
        "2e371c1b5a8326c1af21b6d12f90f61591d0b1c9"
      ],
      "author": {
        "name": "Sehee Park",
        "email": "sehee32.park@samsung.com",
        "time": "Tue Jun 19 20:07:37 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jul 02 18:17:31 2018 +0900"
      },
      "message": "Modify catch when addInterfaceToLocalNetwork() is called.\n\nFatal Exception is occured in system process. Becuase addInterfaceToLocalNetwork()\nthrow IllegalStateException but it can not be handled in TetherInterfaceStateMachine.\nModify catch from \"RemoteException\" to \"Exception\" when addInterfaceToLocalNetwork() is called.\n\nTest: Repeat on/off tethering\nTest: \"runtest --no-hidden-api-checks frameworks-net\" passes\n\nBug: 110396460\nChange-Id: I2f2f1325cfcce40c3113ccccf69b2bbd5df4ae5b\nSigned-off-by: Sehee Park \u003csehee32.park@samsung.com\u003e\n"
    },
    {
      "commit": "d02c5d8400d2b5c9782119e8cb9f36c59c37d0bd",
      "tree": "400a2f6b48dd571fcffd7827e8aecd866618074e",
      "parents": [
        "af228ca978941f98d54ba70f7bfc790cf2d69f51"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Mon Aug 14 23:10:13 2017 -0700"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jun 28 22:17:22 2018 +0900"
      },
      "message": "Java side setup and access to Binder Proxy Tracking\n\nExpose Binder Proxy Tracking by Uid from the native side. Enable\n tracking for SYSTEM and killing of any bad behaving uids.\n\nMerged-In: Ifd6d0f30a93fad406417dd83c1495c105bced974\nChange-Id: Ifd6d0f30a93fad406417dd83c1495c105bced974\nFixes: 63901963\nTest: bit FrameworksCoreTests:android.os.BinderProxyCountingTest\n(cherry picked from commit 55182464fb9f6536ee500eac02a031e7b7226fc4)\n"
    },
    {
      "commit": "a12c0f506cf509e1220f0095010350181c31c367",
      "tree": "7598f2489c53f952940acf254840648450a4b6f2",
      "parents": [
        "f40f05229c81971720ae16d20a2e629f142f39a7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:00:11 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:49:44 2018 -0700"
      },
      "message": "Mark installable jars with installable: true\n\nMost jars don\u0027t need to be installed on the device.  Instead of\nusing java_library and java_library_static to distinguish between\nthem make java_library and java_library_static identical and use\ninstallable: true to identify the few jars that need to be dexed\nand installed on the device.\n\nBug: 110885583\nTest: m checkbuild\nChange-Id: I579da7c1a712ec4fb49e288e7f3ab369cb75baf4\n"
    },
    {
      "commit": "9916d4b3e89b1faf8b658cc3924e0b30cc46958a",
      "tree": "8a91bb6a8a5f5b91e8519b096ea5ee3247470744",
      "parents": [
        "251a0cfb78807df22dc2156f4fd7750cbe370f71",
        "6fd62b3f2df5e63503ebe4318a9e1702dfff6209"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Jun 27 16:27:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 16:27:26 2018 +0000"
      },
      "message": "Merge \"Support seamless handover between VPN fds.\""
    },
    {
      "commit": "ca48eb7fa94521f4f83c3f93b6ce884b91bc3b22",
      "tree": "238c842678bb49ed1e049202c599dd1a1c5ad694",
      "parents": [
        "984fc6eae12a52cb09a15f31021c261ba0047373",
        "bc38909bf3790331532c329a867d5a22fbf94016"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 27 11:40:06 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 27 11:40:06 2018 +0100"
      },
      "message": "resolve merge conflicts of bc38909bf3790331532c329a867d5a22fbf94016 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ib06f2869e5aa1788c8d5fc281a8565420e93d8f7\n"
    },
    {
      "commit": "1f58a288e7779e2c66285da6842d27e405d4efa5",
      "tree": "6d4bc0f69864048d9c07c59bb3a005f33a3eaa04",
      "parents": [
        "325ecf7df4c03bf3ee96a508e4293f783ba9a26e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 25 12:42:51 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jun 26 16:07:22 2018 +0000"
      },
      "message": "services.core.unboosted: hidl manager-\u003estatic_libs\n\nBug: 77307025\nTest: boot device w/o hidl libs on boot classpath, no loading\n  error\n\nChange-Id: Iae2b0015a29de71c22e6bc31004613bbf4ca971b\n"
    },
    {
      "commit": "325ecf7df4c03bf3ee96a508e4293f783ba9a26e",
      "tree": "f3186927e7737a19a7bda7394692cbde02e3feda",
      "parents": [
        "e01a7adf5ac0113edc15699d8e45b376f368be76",
        "b1fc5a4c7ee9dffe48f143c580d88ee4862f3c2e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 05:14:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 26 05:14:31 2018 -0700"
      },
      "message": "Merge \"Add more behavior to TimeDetectorService\"\nam: b1fc5a4c7e\n\nChange-Id: Ibbda2d253bf807cc480a4218aa1d898d6737ec7b\n"
    },
    {
      "commit": "e01a7adf5ac0113edc15699d8e45b376f368be76",
      "tree": "62067f0c7980783b94a04fcd2af83eae0dab4100",
      "parents": [
        "1239734050b0dbc40d5b06148d2d49fb8fb8e3c8",
        "55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "message": "resolve merge conflicts of 55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ie524607cabc6688911eee7e4f61c50fd406c71f4\n"
    },
    {
      "commit": "b3d6abbe6fbf5147cb5d8aa2320b11fa9c6cca81",
      "tree": "6a00c0e2ebe56124f420fb25c6db2e138393debb",
      "parents": [
        "b1fc5a4c7ee9dffe48f143c580d88ee4862f3c2e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 15:16:36 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 09:46:32 2018 +0100"
      },
      "message": "Prepare for migration to the time detector service\n\nPaves the way for moving more behavior to the time detector\nservice from the NetworkTimeUpdateService.\n\nThe NewNetworkTimeUpdateService is effectively identical to\nthe OldNetworkTimeUpdateService in this initial commit.\n\nBug: 78217059\nTest: build / boot\nMerged-In: Ica9fa9b61c849e034d76c0faae5693b60a4a197f\nChange-Id: Ica9fa9b61c849e034d76c0faae5693b60a4a197f\n"
    },
    {
      "commit": "b1fc5a4c7ee9dffe48f143c580d88ee4862f3c2e",
      "tree": "abdf61aebf3f619aa89f86e24fa9d7b1119439c0",
      "parents": [
        "55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81",
        "4980bbcd300e2ec2565bc13ef85fcb1081ab0b5e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 08:43:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 26 08:43:55 2018 +0000"
      },
      "message": "Merge \"Add more behavior to TimeDetectorService\""
    },
    {
      "commit": "55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81",
      "tree": "57659eac44ad1d32f41acb20f64e35469ad9e578",
      "parents": [
        "e193298c4a0f25177ce6141664d51aa1ecdc9765",
        "cccc48d0fe07349e1804dd7803db604d37a6d450"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 08:34:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 26 08:34:56 2018 +0000"
      },
      "message": "Merge \"Minimum viable TimeZoneDetectorService\""
    },
    {
      "commit": "4980bbcd300e2ec2565bc13ef85fcb1081ab0b5e",
      "tree": "48ee8104f144051990dc7384921d694718fffb5a",
      "parents": [
        "3580a6a9966ee6fcb487e09b49445ac8c318b76a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 21:06:20 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 25 19:34:05 2018 +0100"
      },
      "message": "Add more behavior to TimeDetectorService\n\nThe client code now \"suggests\" time updates\nto the time detection service. The current implementation\nof the time detection service will validate and set the\ndevice system clock as needed. In future it will ignore\nthese suggestions if better information is available.\n\nResponsibility for sending the\nTelephonyIntents.ACTION_NETWORK_SET_TIME intent has\nbeen moved to the time detection service until it can be\nremoved or replaced.\n\nThe telephony code is still responsible for basic rate\nlimiting but the majority of the decision logic has been\nmoved to the service.\n\nThere is an associated change in telephony code to switch to\nusing the server.\n\nBug: 78217059\nTest: atest FrameworksServicesTests:com.android.server.timedetector\nTest: atest FrameworksCoreTests:android.util.TimestampedValueTest\nChange-Id: I4f7a10ac06b2d32da22689e1ddf309e0a2795f30\n"
    },
    {
      "commit": "fc1bde926188d4183dddb4b80341a2109b91986c",
      "tree": "9c8d5cb4904e16cdb01a41f14ec5abd1b1f71627",
      "parents": [
        "5ae46260e45be2bf1214ed9e24203ad786181089",
        "3580a6a9966ee6fcb487e09b49445ac8c318b76a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 25 06:24:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 25 06:24:22 2018 -0700"
      },
      "message": "Merge \"Prefer default Internet network for upstream tethering.\"\nam: 3580a6a996\n\nChange-Id: I0990d077627aed71b03e7aa40a8acc460448a774\n"
    },
    {
      "commit": "72302908d42d8317b69da68285898d995523a33f",
      "tree": "0ef3117722824df2e392015bacb579cc2439a56c",
      "parents": [
        "a0b9309ba2724e29c7e204dc84e5c50fe3431d98"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jun 14 17:36:40 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 25 19:25:17 2018 +0900"
      },
      "message": "Prefer default Internet network for upstream tethering.\n\nRather than use the crufty config.xml list of upstream transport types,\nuse ConnectivityService\u0027s notion of the default network for the upstream.\nIn cases where a DUN network is required and the default network is\ncurrently a mobile network, look for a DUN network (code in Tethering\nis currently responsible for requesting one).\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net\n    - tethered via mobile, joined captive portal network, maintained\n      laptop access via mobile until captive passed (then used wifi)\n    - disabled client mode wifi, disabled mobile data, plugged in\n      ethernet adapter, observed connectivity via ethernet\nBug: 32163131\nBug: 62648872\nBug: 63282480\nBug: 109786760\nBug: 110118584\nBug: 110260419\nMerged-In: I9cddf1fb7aa3b8d56bf048c563556244e74808c2\nMerged-In: Icac3e5e20e99093ddb85aae1ca07ed7b5cf309fd\nChange-Id: I925b75994e31df8046f3ef9916a2457b4210485e\n(cherry picked from commit 4080a1bd15572caf149762e45c958627feceb74d)\n"
    },
    {
      "commit": "d6a1657466059a54a0851c7cb6aae47b6af9457a",
      "tree": "93406cf61f8c738547fcd38e4656d1c8500ab863",
      "parents": [
        "b352dcd153445e32c74701b89ec1d26e73a97e47",
        "f13f8f71657dc46c10e0078e765569b3c8e2cfa5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 21 20:15:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 21 20:15:31 2018 +0000"
      },
      "message": "Merge \"Trim away some dead code\""
    },
    {
      "commit": "f13f8f71657dc46c10e0078e765569b3c8e2cfa5",
      "tree": "8181136952a3c4df948ef2f9182a30a2da33388b",
      "parents": [
        "a9bf7a881056cda29ee2dc04179ed9a89e5884a0"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 24 08:51:40 2017 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 15:40:47 2018 +0100"
      },
      "message": "Trim away some dead code\n\nThe time zone listening is currently unused so can\nbe removed. Also removed an unused constant and made a\nconstant final.\n\nBug: 63743683\nTest: Build\nMerged-In: I15870a025e9acac597edd914c9e59df415108586\nChange-Id: I15870a025e9acac597edd914c9e59df415108586\n"
    },
    {
      "commit": "cccc48d0fe07349e1804dd7803db604d37a6d450",
      "tree": "5074de619835716126f01e71c1e5f55dd5559cdd",
      "parents": [
        "3b0eba44994cf35b743a09cba351427a1f700c5f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 19 12:53:47 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 09:30:34 2018 +0000"
      },
      "message": "Minimum viable TimeZoneDetectorService\n\nThis is a do-nothing TimeZoneDetectorService that can be\npopulated in following commits. A temporary method has been\nadded so the service has one method.\n\nUnit tests can be run with:\n\natest FrameworksServicesTests:TimeZoneDetectorServiceTest\n\nTest: build / boot\nTest: See above\nMerged-In: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\nChange-Id: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\n"
    },
    {
      "commit": "946957bc324c1edc9b5a85f260d3eaa70b4fe8fb",
      "tree": "5abbfa09f4aafb8c401321a4aba56d7f4233787e",
      "parents": [
        "26f781db62e49e311009fc7a39155f72ab174d94",
        "faf31f86381122507398624698b7c89273f01ff5"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 20 21:23:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 21:23:17 2018 -0700"
      },
      "message": "Merge \"Add StackedLinkProperties test case\"\nam: faf31f8638\n\nChange-Id: I33d75bf593708317dca4ba6cec035b7f035cfa86\n"
    },
    {
      "commit": "26f781db62e49e311009fc7a39155f72ab174d94",
      "tree": "c57f10858a5c246fd0022a77a7bd269cf34df8d4",
      "parents": [
        "bd31702374058cff520fc9a5727336da0b6acff3",
        "b3eeb859f7760785fee6d65fc0bad6ac27f7c614"
      ],
      "author": {
        "name": "Dan Zhang",
        "email": "danielzhang@google.com",
        "time": "Wed Jun 20 21:18:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 21:18:07 2018 -0700"
      },
      "message": "Merge \"Fix \u003cUCP\u003e[Power] toggled the power status\"\nam: b3eeb859f7\n\nChange-Id: I7f56ece79f0eb10cc27d5c62d1c8300933b1c23b\n"
    },
    {
      "commit": "faf31f86381122507398624698b7c89273f01ff5",
      "tree": "4ed28243acc85504087f909199b32b73080d390b",
      "parents": [
        "b3eeb859f7760785fee6d65fc0bad6ac27f7c614",
        "4a192e2bba63b1b13030273b9fcc92932235179f"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 21 03:39:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 21 03:39:15 2018 +0000"
      },
      "message": "Merge \"Add StackedLinkProperties test case\""
    },
    {
      "commit": "b3eeb859f7760785fee6d65fc0bad6ac27f7c614",
      "tree": "c8b03903c72a5915cda334670f0ded72f8cb0860",
      "parents": [
        "b773556215391c1eb15949dc48596252b9e059ae",
        "55269f757e44b25706e26977ca3f69ce079490f5"
      ],
      "author": {
        "name": "Dan Zhang",
        "email": "danielzhang@google.com",
        "time": "Thu Jun 21 02:41:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 21 02:41:59 2018 +0000"
      },
      "message": "Merge \"Fix \u003cUCP\u003e[Power] toggled the power status\""
    },
    {
      "commit": "1382d8d50eecf88e687f0d32db1b43648665c817",
      "tree": "3af543dbc6ca6795f0dc0d4fe179d2c31b56b773",
      "parents": [
        "234a906ee11d4bc7dd1871d4a33128eff17cd892",
        "d9b0bdcbc41e9e57a2fea5424a580c52272852cd"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Jun 20 09:25:51 2018 -0400"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Jun 20 09:26:22 2018 -0400"
      },
      "message": "resolve merge conflicts\n\nresolve merge conflicts of d9b0bdcbc41e9e57a2fea5424a580c52272852cd\nto stage-aosp-master\n\nBug: none\nTest: n/a\nChange-Id: I97a0b4dd0736561e5575b1344f37a25847e4703e\n"
    },
    {
      "commit": "98efc79f81df55332be3dd86bbf28c0663c1d9b4",
      "tree": "78a918a8e41f9448c1887dcfbb5fcccd53c48ce4",
      "parents": [
        "79d3bf6e54b7651f228c7904da99a33655c4d712"
      ],
      "author": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Mon Jun 11 14:50:36 2018 +0000"
      },
      "committer": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Tue Jun 19 14:12:19 2018 +0000"
      },
      "message": "Allow apps to queue multiple toast messages.\n\nThis reverts commit 4ee785b698211b5ccce104e226b073ffbb12df55.\n\nTest: manual\nBug: 70864097\nReason for revert: Apps should use the same toast for same message\nChange-Id: I1dfacef240f9b6548ff30a45da1d843047bf4e90\n"
    },
    {
      "commit": "4a192e2bba63b1b13030273b9fcc92932235179f",
      "tree": "0c8bdaf0c18588adbde0e50b31747b161f59aa91",
      "parents": [
        "a9bf7a881056cda29ee2dc04179ed9a89e5884a0"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 13 15:00:37 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jun 19 16:53:08 2018 +0800"
      },
      "message": "Add StackedLinkProperties test case\n\nChange access level of getNetworkAgentInfoForNetwork in ConnectivityService to get\nbetter testability. And add test case to verify clat state transition and make sure\nlinkProperties are updated correctly.\n\nBug: 80261579, 109913107\nTest: runtest frameworks-net -c com.android.server.ConnectivityServiceTest \\\n          -m testStackedLinkProperties\nChange-Id: I72fce594d74bd349f65557edca03640e1b86317c\n"
    },
    {
      "commit": "ea044ca3734342e411cbe0b8bcd4c24b9da19c51",
      "tree": "dd960980bb7e1715438903ac78ce1f751e631982",
      "parents": [
        "4afe1f957b41727931895c8529f4840ddbc4d8b2",
        "84d4e535ae02c8472ff00887dde1739cc411b6a4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jun 18 03:06:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 18 03:06:05 2018 -0700"
      },
      "message": "Merge changes I4b1bca8b,Idb7d2f28,I4825e632\nam: 84d4e535ae\n\nChange-Id: I7278ffe7ca8e25b040d6bce7fb880ccf0984f6ee\n"
    },
    {
      "commit": "84d4e535ae02c8472ff00887dde1739cc411b6a4",
      "tree": "51bd14e2b1072d315f9d1a9675c99b4bae047185",
      "parents": [
        "5b99659943e274252ed9e658b6dddb0e5b13119c",
        "d82ba6d374f33da5aa24d01199f193f49d35ae37"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jun 18 09:00:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 18 09:00:40 2018 +0000"
      },
      "message": "Merge changes I4b1bca8b,Idb7d2f28,I4825e632\n\n* changes:\n  [PT09] Add javadoc comments to all ProxyTracker methods/members.\n  [PT08] Move setDefaultProxy to ProxyTracker\n  [PT07] Small cleanup of setGlobalProxy\n"
    },
    {
      "commit": "3eb2ad109678f0b4ea140055174ea8c8589f5908",
      "tree": "48b2c0470d1201ca94a23ddc2eb329794dee0de3",
      "parents": [
        "494665870f33c34c251ffe3b9a14b7f0e5679739",
        "31686e954a5a62d4649885df0c2cba1f4cd6791f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 14 14:15:04 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 14 14:15:04 2018 -0700"
      },
      "message": "Merge \"Clear calling identity before doing any work\"\nam: 31686e954a\n\nChange-Id: I144fd2b5f46ce7d7a06195a2dd5207d44cd951f0\n"
    },
    {
      "commit": "185a29a5a83f20a8bc72f2205470f8f3ff3da5a3",
      "tree": "fee6f4ceb6a4921e6b0aef424dd2405c26986a7b",
      "parents": [
        "5392d799ab9e9a392df24780d3727a9c55664517"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 13 16:56:38 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 14 17:44:55 2018 +0100"
      },
      "message": "Clear calling identity before doing any work\n\nThis makes sure that the system server is credited/blamed\nfor the logic being executed.\n\nTest: (internal) atest FrameworksServicesTests:com.android.server.timedetector\nBug: 78217059\nChange-Id: Ie2586cf0d983e9aef9371d6db285c8420e9c8dc0\n"
    },
    {
      "commit": "660c145dd11bc8cb0fc1b0e38956c9ad93981f05",
      "tree": "4225ebb01d96e5c6b38b799be67c4edfe0188841",
      "parents": [
        "10e276a24da1b5ac0b27f3172d16c59ef0eeab97",
        "8ec0c6ba4833273f0978512d0ae0cefd5248781a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 12 14:14:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 12 14:14:03 2018 -0700"
      },
      "message": "Merge \"persist.sys.boot.reason is cleared once read by bootstat\"\nam: 8ec0c6ba48\n\nChange-Id: Ib52e362e07a81086e142ff1f120a266862f0a073\n"
    },
    {
      "commit": "8ec0c6ba4833273f0978512d0ae0cefd5248781a",
      "tree": "bb92df3f608dca3a17a3f33a7198c2db8dab07da",
      "parents": [
        "cb749e2e50e2d8e1adac2a3e91a822c69a7d5bdf",
        "74ce8b3b58931a67f77e9182a52e9811bbbcad7b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 12 19:19:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 19:19:57 2018 +0000"
      },
      "message": "Merge \"persist.sys.boot.reason is cleared once read by bootstat\""
    },
    {
      "commit": "415585f2a51fa7013004b7919863abe920c354d2",
      "tree": "e3c10aa79013c10dfa588e31300315a6c19203d9",
      "parents": [
        "85bae863f558ab6f10ea2d876ece8c720f9af686",
        "cb749e2e50e2d8e1adac2a3e91a822c69a7d5bdf"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 11:17:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 12 11:17:51 2018 -0700"
      },
      "message": "Merge \"Simple pass-through TimeDetectorService\"\nam: cb749e2e50\n\nChange-Id: Ic2e3d3c3f9181ef4054f599baf4ac086ec21d8bd\n"
    },
    {
      "commit": "cb749e2e50e2d8e1adac2a3e91a822c69a7d5bdf",
      "tree": "12dd516d4163f828bbd3c606f968cbc5e47b0f5f",
      "parents": [
        "6c0106b57fb54f9f47109508413859297378ab7d",
        "4773b9dadc6036d0797e19aa1650bfaa592712f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 12 17:01:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 17:01:25 2018 +0000"
      },
      "message": "Merge \"Simple pass-through TimeDetectorService\""
    },
    {
      "commit": "4773b9dadc6036d0797e19aa1650bfaa592712f5",
      "tree": "2cad78e0c5f8d1ed10f4532c339e319eab4ba349",
      "parents": [
        "b557907f51a8a92954b60fe1d181e7f4e9f5c803"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jun 08 18:44:49 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 15:33:35 2018 +0100"
      },
      "message": "Simple pass-through TimeDetectorService\n\nThis is sufficient to wire up time detection from telephony\nto the new service without breaking time detection.\n\nThis cherry-pick contains a small change: to use\nSystemClock.elapsedRealtime() instead of the newer\nSystemClock.elapsedRealtimeClock() with Clock.millis().\n\nBug: 78217059\nTest: atest FrameworksServicesTests:com.android.server.timedetector\nTest: atest FrameworksCoreTests:android.util.TimestampedValueTest\nMerged-In: Id7175878dc22e5272c31f3e478af4b0e4183b62b\nChange-Id: Id7175878dc22e5272c31f3e478af4b0e4183b62b\n(cherry picked from commit 24836bfb1564b1f98c322108a924965a8dbbee4f)\n"
    },
    {
      "commit": "85bae863f558ab6f10ea2d876ece8c720f9af686",
      "tree": "23f24617bc3906936fd7b287fc2d3f7603593e4c",
      "parents": [
        "79d42a61e4c0832d8ec03da24f342de93341225c",
        "6c0106b57fb54f9f47109508413859297378ab7d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 06:57:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 12 06:57:33 2018 -0700"
      },
      "message": "Merge changes I6abd2221,I2c149d29,I45d22857,I1f879b2c,If4986a25, ...\nam: 6c0106b57f\n\nChange-Id: I86bc83e2bd859b48017f12832e9ff0080ec162b8\n"
    },
    {
      "commit": "79d42a61e4c0832d8ec03da24f342de93341225c",
      "tree": "ec2bcbc1a012ab08c711cd81b40f2d067c8694a9",
      "parents": [
        "b57dfe26cfb1dc5eae20653d6490464d977c07bc",
        "5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:14:13 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:23:51 2018 +0100"
      },
      "message": "resolve merge conflicts of 5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ic5527b29cbe8c84d2053be849cf09df5341e4790\n"
    },
    {
      "commit": "6c0106b57fb54f9f47109508413859297378ab7d",
      "tree": "7ea6b1dad79406d75756e44f509820c2235bb671",
      "parents": [
        "5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb",
        "3c443fcf403cb3a55fac8f12e5c1f75aade410e0"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 12:23:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 12:23:59 2018 +0000"
      },
      "message": "Merge changes I6abd2221,I2c149d29,I45d22857,I1f879b2c,If4986a25, ...\n\n* changes:\n  [PT06] Move setGlobalProxy into ProxyTracker\n  [PT05] Move sendProxyBroadcast into ProxyTracker.\n  [PT04] Move PacManager into ProxyTracker.\n  [PT03] Move some more code into ProxyTracker.\n  [PT02] Move static methods to ProxyTracker\n  [PT01] Introduce ProxyTracker\n  Remove a useless parameter.\n  Small cleanup of Network.\n  Cleanup of LinkProperties.\n"
    },
    {
      "commit": "d82ba6d374f33da5aa24d01199f193f49d35ae37",
      "tree": "fe86ca2f356531f2d6b203f4bc28ec5984247c03",
      "parents": [
        "daab8f917e55a95badb7e0b767f28c50f89ea9ee"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jun 08 12:41:21 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:16 2018 +0900"
      },
      "message": "[PT09] Add javadoc comments to all ProxyTracker methods/members.\n\nAlso rename some vars and inline a function that is now private.\n\nTest: runtest\nChange-Id: I4b1bca8b29f46d97056973cd38ed8effc3f5b591\n"
    },
    {
      "commit": "daab8f917e55a95badb7e0b767f28c50f89ea9ee",
      "tree": "eb549abb56aaf7c4c35f35e7fdc2f66aa6b89894",
      "parents": [
        "1900b59e25f349d867f93fa9abede09936a39312"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jun 08 12:20:15 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:16 2018 +0900"
      },
      "message": "[PT08] Move setDefaultProxy to ProxyTracker\n\nTest: runtest\nChange-Id: Idb7d2f2895aac63d54e3a6481379b739a726eff6\n"
    },
    {
      "commit": "3c443fcf403cb3a55fac8f12e5c1f75aade410e0",
      "tree": "5cfa02822d805d0581be763a8483ee91336f5500",
      "parents": [
        "3319c62dfe67a0f263de4002409f96d17fd211ca"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 18:37:59 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:15 2018 +0900"
      },
      "message": "[PT06] Move setGlobalProxy into ProxyTracker\n\nTest: runtest\nChange-Id: I6abd2221882db368a411b7174c66d8bd3b6b5110\n"
    },
    {
      "commit": "1900b59e25f349d867f93fa9abede09936a39312",
      "tree": "7459dbbb073d51cffae78e34b2f47ba3db7d8e95",
      "parents": [
        "3c443fcf403cb3a55fac8f12e5c1f75aade410e0"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 19:40:24 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:15 2018 +0900"
      },
      "message": "[PT07] Small cleanup of setGlobalProxy\n\nTest: runtest\nChange-Id: I4825e6326f7ce7bd45d625d57824f8d27c51d6f2\n"
    },
    {
      "commit": "3319c62dfe67a0f263de4002409f96d17fd211ca",
      "tree": "7659bbae2d10de3f9a0670dc15e6681c8c11d591",
      "parents": [
        "ff5d0055bc08780e97bd37f44271f1129360db28"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 19:30:29 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:15 2018 +0900"
      },
      "message": "[PT05] Move sendProxyBroadcast into ProxyTracker.\n\nTest: runtest\nChange-Id: I2c149d29d4b75d3978021b940b6bc58f677b8d17\n"
    },
    {
      "commit": "ff5d0055bc08780e97bd37f44271f1129360db28",
      "tree": "4e5970983f58bf6ffc732255bc9dce831d3acfed",
      "parents": [
        "5afbc83b9115003299c0e4037a8a29de55ef8028"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 19:20:08 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:15 2018 +0900"
      },
      "message": "[PT04] Move PacManager into ProxyTracker.\n\nTest: runtest\nChange-Id: I45d22857459fe1746d484ac04f8d5cd81fc61835\n"
    },
    {
      "commit": "5afbc83b9115003299c0e4037a8a29de55ef8028",
      "tree": "1c7665ba86a677634d1112d2595d40d11bf119fa",
      "parents": [
        "4949dd75407aac265d784ae6c1d983cf73b41b80"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 18:02:37 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:15 2018 +0900"
      },
      "message": "[PT03] Move some more code into ProxyTracker.\n\nAdd finals and annotations. Remove comments that have lost their\ncontext (they were in the context of disabling a permission check\nthat had been added, but constituted an API change that would not\nserve any real purpose).\n\nTest: runtest\nChange-Id: I1f879b2c105d2127072b88233d72097a0d78fe14\n"
    },
    {
      "commit": "4949dd75407aac265d784ae6c1d983cf73b41b80",
      "tree": "4d93628b13372b00d7d79f7c8bde10ec94e7a2c1",
      "parents": [
        "52c2aa7eeb6e7ab3d925c7665afe932d50743ae7"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 17:41:29 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:14 2018 +0900"
      },
      "message": "[PT02] Move static methods to ProxyTracker\n\nNo logic changes. Only changes are adding nullability annotations,\nfinal modifiers, and adding an s in a comment.\n\nTest: runtests\nChange-Id: If4986a25bb36819de8ff459c4c0439c56d4e5a50\n"
    },
    {
      "commit": "52c2aa7eeb6e7ab3d925c7665afe932d50743ae7",
      "tree": "09f992e7c866dd09ee7b4f6de02085a86af06d3d",
      "parents": [
        "c098291bc4f09c4cc7ae0d16abc811e4cd4d924d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 16:44:04 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:14 2018 +0900"
      },
      "message": "[PT01] Introduce ProxyTracker\n\nThe goal of this is to simplify ConnectivityService by reducing\nthe amount of code it contains. This is small enough to be obviously\ncorrect and followup changes will move code into this class.\n\nTest: runtest\nChange-Id: Ic5ab19b521e98ae397c9bf657856820304362fbb\n"
    },
    {
      "commit": "c098291bc4f09c4cc7ae0d16abc811e4cd4d924d",
      "tree": "c0c6f6fbade37ebd788b2c668ec5b01d7bbea0b2",
      "parents": [
        "6823744fa66c80f2afa6d877d75785793637a01a"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 07 16:11:34 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jun 12 19:03:14 2018 +0900"
      },
      "message": "Remove a useless parameter.\n\nThis argument is useless because all its callers pass the same\nvalue : false.\n\nTest: runtest\nChange-Id: Id921caa4ffadef535a5bbcfea052283a07320b28\n"
    },
    {
      "commit": "5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb",
      "tree": "4a78461f7b7b61c76e8c14b2f52c0a2b8eaa8b22",
      "parents": [
        "0be0692691db1d2b921deb43b4e0b8a55ced490f",
        "b557907f51a8a92954b60fe1d181e7f4e9f5c803"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 09:50:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 09:50:32 2018 +0000"
      },
      "message": "Merge \"Minimum viable TimeDetectorService\""
    }
  ],
  "next": "b557907f51a8a92954b60fe1d181e7f4e9f5c803"
}
