)]}'
{
  "log": [
    {
      "commit": "b4f56c560ca5baeb034273ee013c1a7a1da85e13",
      "tree": "b18948aeaa1908afecb53a51d5ebad87ddeb4e42",
      "parents": [
        "7fbcf9d9696f7f2877e9c2039ccbf6c13138bc66",
        "0f861867c609205d23cdfb655e2a068841f87266"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Mar 29 05:28:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 29 05:28:49 2019 +0000"
      },
      "message": "Merge \"Make StatsLog drop less.\""
    },
    {
      "commit": "0f861867c609205d23cdfb655e2a068841f87266",
      "tree": "c068a21152f647518a22bd7138c575ad3041845d",
      "parents": [
        "cd62e4421040bdbf363372e78c288f41077b79ed"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Mar 27 11:51:15 2019 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 28 14:44:37 2019 -0700"
      },
      "message": "Make StatsLog drop less.\n\n+ Create a thread-safe LogEventQueue to buffer log events.\n\n+ The socket listner thread will read from socket and write to the buffer as quickly as possible\n  to minimize the data loss in socket.\n\n+ All pushed data is fetched from the the buffer and processed in a dedicated thread. After an\n  event is fetched from the queue, we no longer block the socket listener thread.\n\n+ Report event queue stats via statsdstats, including the min and max queue event history span in\n  the queue (to understand how slow statsd can be and how fast the events can be)\n\nBug: 119031518\nTest: unit tests added in statsd_test\n\nChange-Id: I6b65ed9a678935b2e24302ba4b36e69c157adde4\n"
    },
    {
      "commit": "0f92de37476e89de1068c6b10984e5043d2f8cf3",
      "tree": "b6c046fe1f183036a25279b630bc0087be392c25",
      "parents": [
        "ae05216a39e0d1b16dcfcc193a9c3cae5a24e552",
        "20a0d1309b00f9815132310f383ea9628fbce6d0"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 28 21:19:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 21:19:30 2019 +0000"
      },
      "message": "Merge \"Raise the max section size of an incident report to 24 mb\""
    },
    {
      "commit": "20a0d1309b00f9815132310f383ea9628fbce6d0",
      "tree": "82dc680f8b182cc219435ba3caa28611d551eadd",
      "parents": [
        "cd62e4421040bdbf363372e78c288f41077b79ed"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 10:08:16 2019 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 28 11:05:55 2019 -0700"
      },
      "message": "Raise the max section size of an incident report to 24 mb\n\nTest: bit GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: If46fb3c3972b0367e57e6dcb49edd9e3fe834a98\n"
    },
    {
      "commit": "8502e24cd30e08267c0e529cb655195fbc619fbe",
      "tree": "95c123f9420c6b34afb81ad4cab171d1223f108e",
      "parents": [
        "67542eec78d318d60cbbe98f8870b7debe665793",
        "6dcc503b0dccb4ef7609025d9c95d464efc17652"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Thu Mar 28 16:02:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 16:02:21 2019 +0000"
      },
      "message": "Merge \"Add a new atom to log when an app is moved from internal to external storage and vice versa.\""
    },
    {
      "commit": "38d503fe46436e6a92488d88088f2a43dab159f6",
      "tree": "6503e1419f752d97582df4eb36dac0a93bc5be90",
      "parents": [
        "ee10d8bc36dbff7a10200ca047c416539eead994",
        "fa2f91c2fe442df6cf4b030752a5332fe218f7e6"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@google.com",
        "time": "Thu Mar 28 11:44:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 11:44:52 2019 +0000"
      },
      "message": "Merge \"Add an API to read experiment IDs.\""
    },
    {
      "commit": "d711ed3021a68e106b1eb1654671434043f0e5d5",
      "tree": "488554538c8f9907982c46a86cff822b56ac71ec",
      "parents": [
        "bbade0bc39bb270361f2075707ed78cb934f7898",
        "de9de3cb96751ad5350d5cf283679f9b85a2ca85"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Mar 27 23:13:07 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 27 23:13:07 2019 -0700"
      },
      "message": "Merge \"Align proto naming with server configuration\" am: 2cd6f2446c am: 4f9c63ad1d\nam: de9de3cb96\n\nChange-Id: Ic21363cd264279ab5f63baf77210bc0aff41e034\n"
    },
    {
      "commit": "9c0523d8283dbee42ce2d288dcf9860d742c96c0",
      "tree": "016966abbc4f6bea984d3734c9e765371d6e5ba3",
      "parents": [
        "b92fd2bd299546f3569b95c2e3cc15aaba694bc3",
        "e82d8f67c881bee2dfcd66cc555c1c8b1ba56f41"
      ],
      "author": {
        "name": "Frank Li",
        "email": "lifr@google.com",
        "time": "Thu Mar 28 05:53:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 05:53:30 2019 +0000"
      },
      "message": "Merge \"Config the mainline module \"dnsresolver\" to use native static statsd libs\""
    },
    {
      "commit": "fa2f91c2fe442df6cf4b030752a5332fe218f7e6",
      "tree": "f1c36ac1cf21f8041ff71c7ac4e42d35a6a0a88e",
      "parents": [
        "112795a64613fd5a2b642d40160e64e59e4d870d"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@google.com",
        "time": "Fri Mar 22 00:25:02 2019 -0400"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@google.com",
        "time": "Wed Mar 27 14:24:49 2019 -0400"
      },
      "message": "Add an API to read experiment IDs.\n\nChange the file format to store the\nexperiment IDs direclty so we don\u0027t\nneed to parse the proto when reading\nthe values out.\n\nBug: 129099771\nTest: bit statsd_test:* \u0026\u0026 adb shell cmd stats pull-source 10051\nChange-Id: I0dc1fd118f4d9ba597c2f0959648136bbafb5aab\n"
    },
    {
      "commit": "92c454ca39e62d713dd343f05c450296eef9bfb1",
      "tree": "10a33deaf37f8938654cb18e10bd0bd6f77c8ef0",
      "parents": [
        "2c50ce106f43c164c94d59c38ea0e8816c677f00",
        "a769c156c1d39177b04b2902654b81e1c39cf47a"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Wed Mar 27 16:51:57 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 16:51:57 2019 +0000"
      },
      "message": "Merge \"Pull info about apps installed on external storage.\""
    },
    {
      "commit": "37c66e5e5082161cf23e280af7a5388de7c5ea8a",
      "tree": "9691a505a489951ebb9b5fb6ffd5108f9d040709",
      "parents": [
        "ee7be58a020754159c0d12d946ca98cd09be0b71",
        "fe7bbf410cf1e753fb0f66777c2f2b43bb3ddbf8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 16:27:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 16:27:34 2019 +0000"
      },
      "message": "Merge \"incidentd sections for userdebug and eng are compiled out\""
    },
    {
      "commit": "d68ac8003c69cc8323335f14b72699a86369d677",
      "tree": "8c5cf5c1ebd18be2dd4953ee54212e60b9e9eec8",
      "parents": [
        "9cd1d069d627fdadf1c2c6c395f819c0a50e397b",
        "49d7dd7aaa5eefe150e042685573a05f425d0c39"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Mar 27 16:21:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 16:21:15 2019 +0000"
      },
      "message": "Merge \"Report the last atom tag, uid in the case of log loss.\""
    },
    {
      "commit": "6dcc503b0dccb4ef7609025d9c95d464efc17652",
      "tree": "57717b0dd59284c503d6da6934331acf5a49f684",
      "parents": [
        "78d99aa245da1c0df6d171c9634dbcbf94e55e2c"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Fri Mar 01 16:20:09 2019 +0000"
      },
      "committer": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Wed Mar 27 14:47:27 2019 +0000"
      },
      "message": "Add a new atom to log when an app is moved from internal to external\nstorage and vice versa.\n\nBug: 123688171\nTest: Manually tested using stats_testdrive script.\nChange-Id: Ie6c31388b779421796554465f87a4dbdf742d7e1\n"
    },
    {
      "commit": "a769c156c1d39177b04b2902654b81e1c39cf47a",
      "tree": "567d6cdd1bc8a184e09ba9868622e36b3e9bacb3",
      "parents": [
        "9db25fcfe2efabac266bb17d8d15a3a6ac77128f"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Mon Mar 04 14:39:14 2019 +0000"
      },
      "committer": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Wed Mar 27 14:36:23 2019 +0000"
      },
      "message": "Pull info about apps installed on external storage.\n\nBug: 123688171\nTest: Manually tested using statsd_testdrive script\nChange-Id: Ie47c69c1177d77993907d7ff8ef52691a0c2eaef\n"
    },
    {
      "commit": "9db25fcfe2efabac266bb17d8d15a3a6ac77128f",
      "tree": "7fb399a25d8e8e5aec23b08cf80085d1c9674028",
      "parents": [
        "78d99aa245da1c0df6d171c9634dbcbf94e55e2c",
        "45e38ae47ed965a306148cbde151f2c98bffc138"
      ],
      "author": {
        "name": "Steven Wu",
        "email": "stwu@google.com",
        "time": "Wed Mar 27 13:39:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 13:39:27 2019 +0000"
      },
      "message": "Merge \"Add logging to indiciate whether a bubble is read or unread.\""
    },
    {
      "commit": "729d267cc6534d8ae5d43b25e50a52074cad7164",
      "tree": "f3fdc98c8879b6fa6af401973357a5cb38c29da1",
      "parents": [
        "bb8954df3bc4d8f0b04231add412942bd86e8f51"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Mar 27 17:33:52 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Mar 27 09:40:46 2019 +0000"
      },
      "message": "Align proto naming with server configuration\n\nUpdate naming as server requirement.\n\nBug: 128887306\nTest: build\nChange-Id: Iae46b1e41a66b1ad7d0c166ac52d5442b0c4070d\n"
    },
    {
      "commit": "e82d8f67c881bee2dfcd66cc555c1c8b1ba56f41",
      "tree": "589ab362568582e911e7a42c340b00541ad7f675",
      "parents": [
        "5166be8b042f9ef6872f7a2d2cd51f191cbcfc6a"
      ],
      "author": {
        "name": "lifr",
        "email": "lifr@google.com",
        "time": "Mon Mar 25 20:33:21 2019 +0800"
      },
      "committer": {
        "name": "lifr",
        "email": "lifr@google.com",
        "time": "Wed Mar 27 17:37:38 2019 +0800"
      },
      "message": "Config the mainline module \"dnsresolver\" to use native static statsd libs\n\nTest: make statsd_testdrive\n     ./out/host/linux-x86/bin/statsd_testdrive 116 \u003d\u003e pass\n\nBug: 129253665\nChange-Id: I16385238b6d7820a69864219d4fb2ff96ed13ef4\n"
    },
    {
      "commit": "fe7bbf410cf1e753fb0f66777c2f2b43bb3ddbf8",
      "tree": "be98f187726b6413039e8f91716fb962bb7361f8",
      "parents": [
        "ceece4851870405fb75dc915f2293a985bd3a294"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Mar 24 20:57:16 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 00:23:20 2019 -0700"
      },
      "message": "incidentd sections for userdebug and eng are compiled out\n\nPreviously, the decision to include or not include them was\ndone at runtime. This changes them to be behind a compile\ntime flag. It\u0027s just safer, because the code just isn\u0027t there\ninstead of being dependent on a system property.\n\nTest: bit GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: If4e611914a7b0acd399ae27e55af8f718aee3ec8\n"
    },
    {
      "commit": "49d7dd7aaa5eefe150e042685573a05f425d0c39",
      "tree": "3a1dd4bd74e7afa4fdaa1c9810d7dae24959ff24",
      "parents": [
        "44dbdbc34833a541977af8af6e89b8171dded957"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Mar 26 14:02:11 2019 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Mar 26 15:50:47 2019 -0700"
      },
      "message": "Report the last atom tag, uid in the case of log loss.\n\nTest: manually tested and existing statsd_test\nChange-Id: I8cea9e09c4c069ec234fc0d989d550886605449b\n"
    },
    {
      "commit": "99598ee6ee52a6b2f1bc101187df17a46fe81ad2",
      "tree": "75e9eb540ee305b1c54aec3b175f704667b2624e",
      "parents": [
        "21638cb830c218d6e1c723cb14b39b6705d58d2c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Feb 11 15:55:13 2019 +0000"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Mar 26 11:20:48 2019 -0700"
      },
      "message": "incidentd can now handle multiple callers asking it for incident reports\n\nTest: bit incident_test:* GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: I9f671dd5d8b2ad139f952a23e575c2be16120459\n"
    },
    {
      "commit": "0f3b0953e112dafb292a9eec70d0acb932d05a60",
      "tree": "da37097f99af535ab4c729f48d1fd0c4954343dd",
      "parents": [
        "d0f5ee6cefccc4264e1190001014dcff53bd1212",
        "911ac2394e2262b58e51b664b388ebfe8a2c7e12"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Mar 26 06:55:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 26 06:55:07 2019 +0000"
      },
      "message": "Merge \"[BootAnimation] Modernize codebase by replacing NULL with nullptr\""
    },
    {
      "commit": "45e38ae47ed965a306148cbde151f2c98bffc138",
      "tree": "f57a815df5f80f7fdb7d5261302c6685b1dead0c",
      "parents": [
        "4d7990f458625eeac4147e382dadb515ae97e7a4"
      ],
      "author": {
        "name": "Steven Wu",
        "email": "stwu@google.com",
        "time": "Mon Mar 25 16:16:59 2019 -0400"
      },
      "committer": {
        "name": "Steven Wu",
        "email": "stwu@google.com",
        "time": "Mon Mar 25 16:33:59 2019 -0400"
      },
      "message": "Add logging to indiciate whether a bubble is read or unread.\n\nBug: 123543171\nTest: manual\nChange-Id: Iaa4d8e3413fedf126b080da19883b22dcf85a1f2\n"
    },
    {
      "commit": "2fccf773fb0a0df9efbc144accd693ef0584dba5",
      "tree": "a7213db82c481d0d7d7edb67b15ba811a06138e3",
      "parents": [
        "13fa465291f01cc562042870f07dcb36a7f1881d",
        "ca954f9cbb56dcc98bf8778433293482965f53ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 25 15:02:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 15:02:11 2019 +0000"
      },
      "message": "Merge \"Add count to TouchEventReported atom\""
    },
    {
      "commit": "911ac2394e2262b58e51b664b388ebfe8a2c7e12",
      "tree": "15ab3dc5c167becfee108857e36a6ef2d218dc92",
      "parents": [
        "1f9256fa7395582242eeb9e0f68c1133e2879426"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Mar 24 01:49:02 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Mar 24 01:49:02 2019 -0700"
      },
      "message": "[BootAnimation] Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I3d1d08ce91b351227dad11f0ac0302832b9563b4\n"
    },
    {
      "commit": "d67b569eecb915182144e00a4414191bf2ac1c67",
      "tree": "330c75f8871d76d8e4b6041005ce25354786ed23",
      "parents": [
        "e5f5a10478d16d51ca6a05e97b58ac3c8a5c7356",
        "810eeb3eed455812f2240040858a4d4882df7a4e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 23 05:03:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 23 05:03:04 2019 +0000"
      },
      "message": "Merge \"Mainline logging to statsd: native static libs\""
    },
    {
      "commit": "ca954f9cbb56dcc98bf8778433293482965f53ef",
      "tree": "0b57475801b64f1a070fabfed36ec5304f2d0e4b",
      "parents": [
        "f417907d8723ffa0708b969fa2bbafdea9d7bed2"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 22 16:41:14 2019 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 22 16:41:14 2019 -0700"
      },
      "message": "Add count to TouchEventReported atom\n\nWe might have to reconstruct mean and st. dev. over arbitrary periods of\ntime and across multiple devices. Currently, we are just looking at the\naverage and st. dev. values. In order to be able to reconstruct, we need\nto know the number of events in each chunk that is received.\n\nAdd the needed field here.\n\nBug: 111431676\nTest: out/host/linux-x86/bin/statsd_testdrive 34\nChange-Id: I5aa4b759404308b98d4e6b5ed5a94e4c760dc447\n"
    },
    {
      "commit": "482c75b53ca62dcab6d8c29ca049d9e3e04bed19",
      "tree": "f790342f09a61464be9abb10902c66e7b8b46f53",
      "parents": [
        "be45bbdca17384344b8d606ec309b1abb2001b5d"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 22 09:09:20 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 22 17:17:42 2019 +0000"
      },
      "message": "Do not run create on successive reboots\n\nPassing policy flags to the Verify command of idmap2 was causing the\ncommand to fail to parse and run create again even when the target and\noverlay did not change. This change allows verify in scan to work\ncorrectly again.\n\nBug: 127860892\nTest: confirmed that create is not run on a successive reboot\nChange-Id: I7b9c9d81c7aef6b4c80fb8b87a1e929e82fc3b84\n"
    },
    {
      "commit": "8f252c15986206d12921d2e150e8ab0c19b54e5f",
      "tree": "ddaf4e317a1897154054921d556160c1ba5d3153",
      "parents": [
        "25a2987cff2f45c50b927a6cff0185ecdd7cf6dc",
        "0e88ebfb2821ecdd1444e3aea8db3e4bd9754ee0"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Mar 22 09:43:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 09:43:40 2019 +0000"
      },
      "message": "Merge \"Add network stack proto\""
    },
    {
      "commit": "1b41c4b364efa18643c0fed7fbf67dbc8e6431f6",
      "tree": "c986d456e60ccb6644ca6378fa913ce95db04c9a",
      "parents": [
        "bc013406836b219a64b56738a46dce428eebe21f",
        "ce42490bb5b499acbf0cc6738e4481e077a6d31a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 21 16:38:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 21 16:38:10 2019 +0000"
      },
      "message": "Merge \"idmap2: move Idmap.h to Result\""
    },
    {
      "commit": "bc013406836b219a64b56738a46dce428eebe21f",
      "tree": "003b92987519feb330da79910bd9fc46049c0e85",
      "parents": [
        "33b6db9d7639a1a376d2c57dd1c22574ab91718c",
        "f8b6292dcbc9751dc3780f36279ec8d49f655db6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 21 16:37:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 21 16:37:39 2019 +0000"
      },
      "message": "Merge changes from topic \"ongoing-usage-dialog-migration\"\n\n* changes:\n  Launch external ongoing usage dialog instead of internal one.\n  Add an API to launch the ongoing usage dialog.\n"
    },
    {
      "commit": "358c63f22907c9d759c4230507d3dcf20d7d4d85",
      "tree": "f4ac17a71ad3f1df37b273ee7bea520369a7d933",
      "parents": [
        "34e53cf69e287f1b944c59607596d287a3b3f973",
        "cf622490b362801794d148b01d61470ae64352ed"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Mar 21 13:43:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 21 13:43:34 2019 +0000"
      },
      "message": "Merge \"idmap2: clang-format\""
    },
    {
      "commit": "4d6fe320e6f59501239427438a6a37abeb7c833a",
      "tree": "87e79a1939570b997b2273c9f33a2133b86697ac",
      "parents": [
        "f6cbc2d533ad1099618e5d4dc3276241beb401d2"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Mar 21 20:40:01 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Mar 21 20:46:02 2019 +0800"
      },
      "message": "Add network stack proto\n\nBug: 128887306\nTest: Build pass\nChange-Id: I7cfccb33033afadaca608f383a94df0ef363cc77\nMerged-In: Iec48037771f2729fcbf741eb1c16edf08dbc70a4\n"
    },
    {
      "commit": "0e88ebfb2821ecdd1444e3aea8db3e4bd9754ee0",
      "tree": "5e033faee554b8aff5cf40d617ba8b15011fbdee",
      "parents": [
        "a2bae195ae87aacfb3021e2b14fba1ebbd03a969"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Mar 21 10:18:07 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Mar 21 10:18:07 2019 +0800"
      },
      "message": "Add network stack proto\n\nBug: 128887306\nTest: Build pass\nChange-Id: Iec48037771f2729fcbf741eb1c16edf08dbc70a4\n"
    },
    {
      "commit": "4f155e0564b8c85cdc9cc8eabf71f6faf9e9d624",
      "tree": "52234e40f9170e98e2218925666fc9af233e64b4",
      "parents": [
        "4f1c9d61b7fa36ba191671aa7d7de41735eeb8b9",
        "bf08f0a4eb07fbd6dd9dfe4183491145c55c1798"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 21 01:31:37 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 21 01:31:37 2019 +0000"
      },
      "message": "Merge \"OMS: stabilize unit tests\""
    },
    {
      "commit": "f8b6292dcbc9751dc3780f36279ec8d49f655db6",
      "tree": "c0f06353b8070f3353621491c6ef70b54ef1db4a",
      "parents": [
        "37f8b72a30aacaf55c805a9ded48275017d43150"
      ],
      "author": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Fri Mar 15 12:51:16 2019 -0700"
      },
      "committer": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Wed Mar 20 18:26:25 2019 -0700"
      },
      "message": "Launch external ongoing usage dialog instead of internal one.\n\nBug: 128690096\nTest: Tap chip to get the dialog.\nChange-Id: I0eced80ab2341678a6e7b02b1d2d5395ad96d4a5\n"
    },
    {
      "commit": "f1232419127ded3b20c5df688a3b25b5bdc80abf",
      "tree": "fc87257f49193022e21dab1cfbf321e46e26e439",
      "parents": [
        "980af3e00262d1fa35de227a5f79bdfeaf4eab19",
        "18839481190a6ce52711ffbde1f7f5b208fb4b6a"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed Mar 20 18:25:54 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 20 18:25:54 2019 -0700"
      },
      "message": "Merge \"Bluetooth: Add event_value to BluetoothClassicPairingEventReported\" am: 9c7fb4566d am: af14ccdd09\nam: 1883948119\n\nChange-Id: I0c3b9d516984b645481a0c8f76a2a58351bb2623\n"
    },
    {
      "commit": "cf622490b362801794d148b01d61470ae64352ed",
      "tree": "44c3b9e80a3fe8a1771d117af4545fabc9252c28",
      "parents": [
        "3be2db9bbf33f56efb92c97c0a91ad8ab670f0e0"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Mar 19 22:40:58 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Mar 20 13:49:44 2019 -0700"
      },
      "message": "idmap2: clang-format\n\nTest: cmds/idmap2/static-checks.sh\nChange-Id: I17a0268058156373e9af1e00a7bcca5a8cc8f100\n"
    },
    {
      "commit": "ce42490bb5b499acbf0cc6738e4481e077a6d31a",
      "tree": "60e54956ac4257ee03b5b4176e54346fe6a6b140",
      "parents": [
        "3be2db9bbf33f56efb92c97c0a91ad8ab670f0e0"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Mar 01 08:35:37 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Mar 20 13:45:14 2019 -0700"
      },
      "message": "idmap2: move Idmap.h to Result\n\nChange the signatures of Idmap::FromApkAssets and\nIdmap::FromBinaryStream from\n\n  std::unique_ptr\u003cconst Idmap\u003e func(..., std::ostream\u0026 out_error);\n\nto\n\n  Result\u003cstd::unique_ptr\u003cconst Idmap\u003e\u003e func(...);\n\nThe returned pointer is still a unique pointer to ensure the dynamically\nallocated memory is automatically released when no longer used. This\nmeans that using the returned value of either function requires one of\ntwo patterns:\n\n  const auto idmap \u003d func(...);\n  if (!idmap) {\n    return Error(...);\n  }\n  (*idmap)-\u003eaccept(...);\n\nor\n\n  auto result \u003d func(...);\n  if (!result) {\n    return Error(...);\n  }\n  const auto idmap \u003d std::move(*result);\n  idmap-\u003eaccept(...);\n\nNote that in the second example, result must be non-const or\nthe call to std::move(*result) will not compile.\n\nWith this change, the entire idmap2 project has been converted to use\nResult.\n\nTest: make idmap2_tests\nChange-Id: I533f4e03b99645523d94dd5f446ad76fb435f661\n"
    },
    {
      "commit": "5942b376fdee22cf6afe9c8597451203bdae9be6",
      "tree": "7bf6fe108318ea13b71395089759ca682ec36077",
      "parents": [
        "ade947448eb8c7b4e89aba3336b5616429ffe22f",
        "2c19bd0bc048e23e7685f3c3c9715a99e3f09883"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 20 18:33:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 20 18:33:36 2019 +0000"
      },
      "message": "Merge \"Fix idmap enforce overlayable bug\""
    },
    {
      "commit": "3b25983447e74671903b694ccd9712dac2a401d0",
      "tree": "9e8bbee44aa3f18770ab45c103e2d6059e7bd66b",
      "parents": [
        "e1f19a6ef900581e1d23291ab41f55e0db047ced"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed Mar 20 03:47:29 2019 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed Mar 20 04:05:17 2019 -0700"
      },
      "message": "Bluetooth: Add event_value to BluetoothClassicPairingEventReported\n\n* Add an event_value field to log status value such as\n - encryption enabled state\n - simple pairing mode\n - secure connection host support\n - delete all flag\n\nBug: 128966402\nTest: make\nChange-Id: I512b7a1a7fba73ea30bca028566d43d353c56613\n"
    },
    {
      "commit": "bf08f0a4eb07fbd6dd9dfe4183491145c55c1798",
      "tree": "d78c39348bb706c62d86115a75e3b96a424130f1",
      "parents": [
        "01f07e5fb78c6c0654ae0c280bdd006ce9114757"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Feb 22 10:10:14 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Mar 19 15:37:04 2019 -0700"
      },
      "message": "OMS: stabilize unit tests\n\n- Add hasCode\u003dfalse to overlay packages as a workaround for b/124375490\n\n- Sprinkle Thread.sleeps in InstallOverlayTests in an attempt to make\n  the tests less flakey when executed on emulator\n\nTest: atest OverlayDeviceTests OverlayHostTests\nChange-Id: I745a8477ed5e72db572737a0af0e59478893e42b\n"
    },
    {
      "commit": "2c19bd0bc048e23e7685f3c3c9715a99e3f09883",
      "tree": "9ecf5bc6f68a2a81d36ff05599edeb1a2298a29e",
      "parents": [
        "519acc37cd80f6fd018413cab39b269c041a1486"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Mar 19 15:14:33 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Mar 19 15:23:15 2019 -0700"
      },
      "message": "Fix idmap enforce overlayable bug\n\nIdmap2 is not enforcing overlayable on Q overlays and instead on P\noverlays. This corrects this behavior.\n\nTest: idmap2_tests\nBug: 128932015\nChange-Id: I7e45a965d3b165dae7ed7377d0911afd62f63983\n"
    },
    {
      "commit": "0c6ff1da4f20da59b6bb8649429142390c636743",
      "tree": "e56e9111d6f7c37c9d106e010f78268e4d7a7bc0",
      "parents": [
        "09eb96c4c7874f06bc71d084b7d51eac26779b52"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Feb 07 02:21:56 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Mar 19 14:26:38 2019 -0700"
      },
      "message": "idmap2: move commands to Result\u003cUnit\u003e\n\nChange the signature of the idmap2 commands (Create, Dump, ...) to\nreturn Result\u003cUnit\u003e instead of bool. This removes the need to pass in an\nostream for error messages: instead, those messages are part of the\nreturned Result.\n\nConsolidate error messages: texts in Error objects should not be\nprefixed with \"error:\", that is the responsibility of the outer-most\ncaller (i.e. main()).\n\nTest: make idmap2_tests\nChange-Id: I074881b3d1982ea8f4be5752161ac74b14fcba95\n"
    },
    {
      "commit": "f38041dd569374724f260b2b1a396d6d0cb09591",
      "tree": "9713d884a623232df54bde3fde297906851ed5b9",
      "parents": [
        "0b5d5d58c61bcfb4adef96e98136708ce98002b6",
        "12dec126d3211d21d69f5de63eb7ff18e15f6d14"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Tue Mar 19 13:15:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 13:15:39 2019 +0000"
      },
      "message": "Merge \"Change the pulled atom SDCardInfo to ExternalStorageInfo so that we log information about all types of external storage (e.g. USBs).\""
    },
    {
      "commit": "9c18f9df2b946db0c0eccb67154053a3b5d1a23b",
      "tree": "a7d26258bba8c926e8eb1eab61cf21ef7cb8f7b9",
      "parents": [
        "ab0b329789f599f49018fe7ee682cf6af83b3647",
        "bdee4864ce97e79541421af976d26e0c5de9455c"
      ],
      "author": {
        "name": "Yi Yang",
        "email": "yiyiyang@google.com",
        "time": "Tue Mar 19 00:33:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 00:33:12 2019 +0000"
      },
      "message": "Merge \"Set DEBUG to false for statsd shell subscriber\""
    },
    {
      "commit": "4d6c66bf7807ee4dba1ceb005c613ad76eca27b9",
      "tree": "6636e13212806759df75287d768a2c5a87b83db5",
      "parents": [
        "e6f3e214e34228c8b6414da516b7f562f78a3c30",
        "902529abeaefb2289513f152a1aa745bd9edb192"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Mon Mar 18 22:45:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 18 22:45:47 2019 +0000"
      },
      "message": "Merge \"Fix app upgrade related tests\""
    },
    {
      "commit": "bdee4864ce97e79541421af976d26e0c5de9455c",
      "tree": "9d768f0f46f319317d3b190576266bdf9f4e8d57",
      "parents": [
        "5678571d4aed5df840209097657caea608d255ca"
      ],
      "author": {
        "name": "Yi Yang",
        "email": "yiyiyang@google.com",
        "time": "Mon Mar 18 14:53:32 2019 -0700"
      },
      "committer": {
        "name": "Yi Yang",
        "email": "yiyiyang@google.com",
        "time": "Mon Mar 18 14:53:32 2019 -0700"
      },
      "message": "Set DEBUG to false for statsd shell subscriber\n\nBug: 125843868\nTest: N/A, remove logging\nChange-Id: I204e900d3c6415142d7d6ed469445afde0953c9c\n"
    },
    {
      "commit": "12dec126d3211d21d69f5de63eb7ff18e15f6d14",
      "tree": "c5baa90ea42f92ddaada948a741a21fa255c6be3",
      "parents": [
        "09e2fbe60543183b1146adcbfee97b1cd69ffbf4"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Wed Mar 06 16:14:38 2019 +0000"
      },
      "committer": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Mon Mar 18 21:14:42 2019 +0000"
      },
      "message": "Change the pulled atom SDCardInfo to ExternalStorageInfo so that we log\ninformation about all types of external storage (e.g. USBs).\n\nBug: 123688171\nTest: Manually tested using statsd_testdrive script\nChange-Id: I4bc7c43bb7f5ee9dee3989eb724d05c4d350aff2\n"
    },
    {
      "commit": "eb83cb51fe830b586bf19de1f3065e32eba4826e",
      "tree": "fdecae3bcc3349041edcf0e91eeffc2a77664c06",
      "parents": [
        "93b4ed4cd89a074a7fa6116b1649bbd02ccc044f",
        "6688a3592303385667bbf8882595707117c85de3"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Mon Mar 18 19:47:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 18 19:47:06 2019 +0000"
      },
      "message": "Merge \"Add new pushed atom to log when an app is installed on external storage.\""
    },
    {
      "commit": "507e6f834daa7021c3c1afc752972a079cf96fb3",
      "tree": "12e447e1a50a873eaa57d78c3e5cee8eb052c841",
      "parents": [
        "25f0e8167185b53a41328d9181799f61c61d0950"
      ],
      "author": {
        "name": "Ruslan Tkhakokhov",
        "email": "rthakohov@google.com",
        "time": "Mon Mar 11 16:26:17 2019 +0000"
      },
      "committer": {
        "name": "Ruslan Tkhakokhov",
        "email": "rthakohov@google.com",
        "time": "Mon Mar 18 12:26:02 2019 +0000"
      },
      "message": "API Review: Internal RestoreSession#restorePackages\n\nBug: 120843781\nTest: 1) atest RunBackupFrameworksServicesRoboTests\n      2) atest CtsBackupTestCases\n      3) atest CtsBackupHostTestCases\n      4) atest GtsBackupTestCases\n      5) atest GtsBackupHostTestCases\n\nChange-Id: Ice42aedd702e1c16b074d7a00d7b15d8f4aaf733\n"
    },
    {
      "commit": "03d694c4324e04c28a2864e8db58908cc21eaca1",
      "tree": "f142cbf3917de15ab6b793a361faea64da804dca",
      "parents": [
        "2d0d22268b3022fdfaf94ce4f278fbbb62d4bace",
        "e3c4b932632475b4dc1614a8327103e679d586e3"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Mon Mar 18 10:19:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 18 10:19:24 2019 +0000"
      },
      "message": "Merge \"Fix end-to-end value metrics tests.\""
    },
    {
      "commit": "f7a0b28443d8997f19892cc3806e6b7a94150aab",
      "tree": "1bc9d20bf6c0f76bad5f3e69ea087a9c721d44d7",
      "parents": [
        "bed3db4d0b888240a770bb57fa270569041f3994",
        "885c21b09478d2bacf092c9f1304a07e9c8a1201"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 18 07:52:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 18 07:52:00 2019 +0000"
      },
      "message": "Merge \"Log the correct oom_adj when compacting apps.\""
    },
    {
      "commit": "810eeb3eed455812f2240040858a4d4882df7a4e",
      "tree": "8318c290ea7710c7b5bef236a2430a7aa7d891bf",
      "parents": [
        "a3e9de112196e86bbafd36d70983fa7981f39295"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Mar 07 19:08:52 2019 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 15 18:54:02 2019 -0700"
      },
      "message": "Mainline logging to statsd: native static libs\n\nCreates an annotation to specify if an atom needs to be logged from a\nspecific mainline module. Creates options in stats-log-api-gen so that\nif the same module name is passed in, cpp/h files will be generated with\nonly those atoms that are specified. These files can be used to create a\nstatic library per mainline module to log to statsd.\n\nTest: builds\nTest: atest stats-log-api-gen-test\nTest: does not affect existing shared libstatslog\nTest: manually created a static lib for netd and used it to log to\nstatsd. Used testdrive to validate the data was properly flowing.\nBug: 126134616\nChange-Id: I78064f81fb4971eede8e97dacce5424e3eefd8bb\n"
    },
    {
      "commit": "7ccc9d7674496ec24c49f65abb4d879818bfc4ef",
      "tree": "5d3fb9aa4ffd8e6501ce892351c65a42e252a13b",
      "parents": [
        "36be86b97711a1f028aca171d98ed674d1ea55a4",
        "c3719911cb41f239cca724ad280e61d11dd48b8b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 16 00:25:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 16 00:25:27 2019 +0000"
      },
      "message": "Merge \"Full bucket should be reset even when the last bucket is invalid.\""
    },
    {
      "commit": "902529abeaefb2289513f152a1aa745bd9edb192",
      "tree": "7f76e373811e727689295ea8e77bd13975ca21d6",
      "parents": [
        "e3c4b932632475b4dc1614a8327103e679d586e3"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Mar 14 16:03:21 2019 -0700"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Fri Mar 15 21:30:43 2019 +0000"
      },
      "message": "Fix app upgrade related tests\n\nIt seems like test-breaking changes were introduced in ag/6410957\n\nTest: make statsd_test \u0026\u0026 adb sync data \u0026\u0026 adb shell data/nativetest64/statsd_test/statsd_test\nChange-Id: I4cf1c0396b8900d1faa500877df58c6d41479367\n"
    },
    {
      "commit": "e3c4b932632475b4dc1614a8327103e679d586e3",
      "tree": "12dbc268887230bc28a769614674730f9454c439",
      "parents": [
        "c3719911cb41f239cca724ad280e61d11dd48b8b"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Fri Mar 15 17:58:04 2019 +0000"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Fri Mar 15 21:30:43 2019 +0000"
      },
      "message": "Fix end-to-end value metrics tests.\n\n- Use no_time_contraints to pull the data in PartialBucket_e2e_test.\nFast means there is no time to complete the current bucket\n- One test had to be updated since the condition was unknown so the\nbucket was not valid\n\nTest: atest statsd_test\nChange-Id: Id22539b801b29ed6b384045979e7c3cc6e3fe8b6\n"
    },
    {
      "commit": "c3719911cb41f239cca724ad280e61d11dd48b8b",
      "tree": "a8281f7d900937cf9308bc13414622ddde319ee4",
      "parents": [
        "63ee2dfc37daad31bf038d19ddd417140bb6e4a9"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Fri Mar 15 17:33:40 2019 +0000"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Fri Mar 15 21:30:43 2019 +0000"
      },
      "message": "Full bucket should be reset even when the last bucket is invalid.\n\nIf the bucket is not reset, we will sum the data from the previous\nbucket and the next bucket.\n\nAs well, the value should only be added to the full bucket if the value\nis set.\n\nBug: 128521677\nTest: atest statsd_test\nChange-Id: I45bf924a5d2966044cecda34fff84b7cbfe070b0\n"
    },
    {
      "commit": "885c21b09478d2bacf092c9f1304a07e9c8a1201",
      "tree": "68a76670804d4da9317fdf7cdb4e042dc2235ecc",
      "parents": [
        "c943ffbad9fff5d8a746630d192daf3ff44e981e"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Fri Mar 15 18:02:04 2019 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Fri Mar 15 18:02:04 2019 +0000"
      },
      "message": "Log the correct oom_adj when compacting apps.\n\nThe useful oom_adj value for app compaction logging is the\nprevious score, not the upcoming score. We were logging the wrong\nvalue.\n\nTest: verified through event log that values in logs look right.\nBug: 128682578\nChange-Id: I7f9554802dac7b4f47579869adb851bc06239ba6\n"
    },
    {
      "commit": "6688a3592303385667bbf8882595707117c85de3",
      "tree": "aa5878bbc50286369ff8f5fb31841ae78f1fbddc",
      "parents": [
        "d55e1b17887f4b23b48234eaae1a5e879190992d"
      ],
      "author": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Wed Jan 30 19:36:04 2019 +0000"
      },
      "committer": {
        "name": "Carmen Agimof",
        "email": "carmenagimof@google.com",
        "time": "Fri Mar 15 14:52:12 2019 +0000"
      },
      "message": "Add new pushed atom to log when an app is installed on external storage.\n\nChange-Id: I998a64bf02c0bf97938396ff12e3ded2e2ac043d\nBug: 123688171\nTest: Manually tested using statsd_testdrive script.\n"
    },
    {
      "commit": "bbe311c0e56957cf2ae9cda634ee6907220859bd",
      "tree": "0cd9bf77d363bb047979f8efbb7c05dd9ac7fd69",
      "parents": [
        "a3e9de112196e86bbafd36d70983fa7981f39295"
      ],
      "author": {
        "name": "Jonathan Nguyen",
        "email": "jtnguyen@google.com",
        "time": "Thu Mar 14 20:44:52 2019 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 15 00:26:32 2019 -0700"
      },
      "message": "Maintain existing train information\n\nWhen sendBinaryPushStateChangedAtom is called with empty train\nname/version/experiment ids, populate the empty fields from the\ntrainInfo previously stored on disk if possible.\n\nIf no train info is on disk (or read fails), the empty fields are passed\nthrough.\n\nTest: gts in ag/6731864\nTest: testdrive 10051 with partially/completely missing train info\nBug: 128640419\n\nChange-Id: Iea3c2db5c11d07f0b42b41aec7b2d7913a99ca03\n"
    },
    {
      "commit": "93fc5bb44ae0c8e0194f0e1b364a72d731eb4043",
      "tree": "909386031b590a0dad197296342bad369b768068",
      "parents": [
        "92e55dd319120995bef73681c207eea7f49bbd67",
        "d4e8757fb6ac976ecc9a58dad3ba67df6ba95bf1"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Thu Mar 14 11:53:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 14 11:53:55 2019 +0000"
      },
      "message": "Merge \"Pull system ion heap size.\""
    },
    {
      "commit": "2ed4c7574eccb788c233c5266401910e0851066f",
      "tree": "f7a499753cd134ac0ddcfb0d29e3a387d7e257e2",
      "parents": [
        "a6ca3ce4f3bf2f462b742dc10341c502ebf57022",
        "d3e063fa2ca6780f1357eb6ce1ab3f78a5781bbd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 14 07:58:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 14 07:58:58 2019 +0000"
      },
      "message": "Merge \"Prevent readTrainInfo from crashing statsd.\""
    },
    {
      "commit": "d3e063fa2ca6780f1357eb6ce1ab3f78a5781bbd",
      "tree": "78da4e0f412424f1b26b91036bbabda53769323b",
      "parents": [
        "c91fa25bee9bacb27d3a9e3d60fd9c7ee5c7abb9"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Mar 13 15:23:10 2019 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Mar 13 23:15:46 2019 -0700"
      },
      "message": "Prevent readTrainInfo from crashing statsd.\n\ncopy_n in readTrainInfo needs an input iterator and an output iterator.\nWhen we read the size of the trainName, we were passing an\noutputIterator that was a pointer to size_t. The goal was to fill up the\nsize_t with the length of the train. However, we need to do this byte by\nbyte, and by passing the pointer to the size_t, we increment by size_t\nbytes instead of one bytes when we increment the iterator.\n\nThe change now is to use linux read, which is the mirror to how we write\nthe file. This code is cleaner and less error prone than reading the\nfile to a string.\n\nAnother thing this cl does is implement some sanity checks to make sure\nwe dont read pass the string input buffer, and to try to safeguard\nagainst devices that upgrade from beta 1 to beta 2 and have a trainInfo\nfrom beta1 stored on the device (since they are not backwards\ncompatible.) Another option here is to create a separate file for\neverything besides the experiment ids, but that might not be deasible in\nthe time we have.\n\nTest: storage manager unit tests pass\nTest: debug phonesky apk to trigger binary push, manually inspecting the\nfile created to ensure the write works, and using adb shell cmd stats\npull-source to verify the read works.\nTest: statsd testdrive 10051\n\nBug: 128460940\nChange-Id: I3c08d946db9c43d77e5efca2eb1088adbb4a3ce1\n"
    },
    {
      "commit": "741b782f255b30a32f63f1188b6186f6294beb5b",
      "tree": "de0aec43ba22ecf3e5d84128d8a635977a7df64b",
      "parents": [
        "c91fa25bee9bacb27d3a9e3d60fd9c7ee5c7abb9",
        "d476542338d7015d616a410c6369ab0f8b56c771"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 13 02:01:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 13 02:01:05 2019 +0000"
      },
      "message": "Merge changes from topic \"gpustats-statsd-2\"\n\n* changes:\n  Game Driver Metrics: add tests for GpuStatsPuller\n  Game Driver Metrics: get gpu app stats with GpuStatsPuller\n"
    },
    {
      "commit": "aff455f278193db4e70b73f36836dd8f591fd7c8",
      "tree": "16a2f02aae207d9182f631f581d24316df7199ba",
      "parents": [
        "b0ec15dc03986c4a52b9cb82216dc719df159871",
        "1c64a73f911782edf216c6ab0e632b3e9bc756fa"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 12 16:50:26 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 12 16:50:26 2019 -0700"
      },
      "message": "Merge \"Revert^3 \"Delay start of bootanimation until after the Runtime APEX is mounted.\"\" am: 1a14dedcce am: 6623e402b3\nam: 1c64a73f91\n\nChange-Id: I1cf5a65959d3a2d4cba292c532afddebf58d9683\n"
    },
    {
      "commit": "552ad7b7f174f8aaadec248ca01f99e18b40a6ff",
      "tree": "c5e70b26b30e9977f98648e4069613dd0f246eaf",
      "parents": [
        "842e3aa420401b8ab14589611d96f5127a8dd852"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Feb 28 12:21:16 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 12 22:33:44 2019 +0000"
      },
      "message": "Revert^3 \"Delay start of bootanimation until after the Runtime APEX is mounted.\"\n\nThis reverts commit a6bb8916b057bb619aab2aae5cb07e190e97c79d.\n\nBootanim doesn\u0027t need to be delayed because the APEXes from the system partition are now\nactivated very early in the boot sequence (far before bootanim is started).\n\nSee https://android-review.googlesource.com/q/topic:%22apex_earlymount_base%22+(status:open%20OR%20status:merged)\n\nBug: 125549215\nTest: bootanim is started without being delayed\nChange-Id: I367b1a5c6bf08dad770cd2bf7f6d67dbf1a813e6\n"
    },
    {
      "commit": "d476542338d7015d616a410c6369ab0f8b56c771",
      "tree": "da26049bb30bddd843a270c2555b95b43ba185a8",
      "parents": [
        "4fb9289a1837221366cfc1b997280c979de995fb"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Mon Mar 11 15:05:12 2019 -0700"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Mar 12 15:29:49 2019 -0700"
      },
      "message": "Game Driver Metrics: add tests for GpuStatsPuller\n\nBug: 123529932\nTest: atest GpuStatsPuller_test\nChange-Id: I325f90d203539b51ee0a9deb2b048b8671e5e89a\n"
    },
    {
      "commit": "4fb9289a1837221366cfc1b997280c979de995fb",
      "tree": "198284e4e543d4e0549d936316551b46a3c489c1",
      "parents": [
        "dcd431b6cb606568940987b464b01930ad60d80d"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Mon Mar 04 14:29:25 2019 -0800"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Mar 12 14:53:04 2019 -0700"
      },
      "message": "Game Driver Metrics: get gpu app stats with GpuStatsPuller\n\nBug: 123529932\nTest: adb shell cmd stats pull-source 10055\nChange-Id: I04320221de6ac457acd0b0533a05ce2f8dfbdde0\n"
    },
    {
      "commit": "d4e8757fb6ac976ecc9a58dad3ba67df6ba95bf1",
      "tree": "0929a714f5eff7f6edb2687ebdbb5ab4b022015d",
      "parents": [
        "10b249f57e87282ad550b8bd1acd97eb2b778129"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Tue Mar 12 13:08:38 2019 +0000"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Tue Mar 12 15:47:35 2019 +0000"
      },
      "message": "Pull system ion heap size.\n\nTest: m -j\nTest: atest MemoryStatUtilTest\nBug: 128412961\nChange-Id: I9a12b03ef92d0df067253fee5165107586bdad54\n"
    },
    {
      "commit": "214e6b2940de59502c3add4c3fb0c1dd5560815a",
      "tree": "57d3fc361d9d5b9dcbbd70149ffc6bf4e5a72865",
      "parents": [
        "5292c4884ea10809d072983ccff8f4a4bed42552",
        "bfd6d85dd65eed572d999113928a7bddb21c4534"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Mar 12 13:00:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 12 13:00:10 2019 +0000"
      },
      "message": "Merge \"Added atoms for logging\""
    },
    {
      "commit": "2065e5bb1f138a784cc77af7299224ee7ab23fa7",
      "tree": "e71a652c640c140ab80ff002a1c063794b066026",
      "parents": [
        "54a6bf018978ad3f792666ac0e462dee6c28baa9"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Mon Mar 11 18:21:54 2019 +0000"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Mon Mar 11 18:21:54 2019 +0000"
      },
      "message": "Show number of failed pulls in print-stats\n\nTest: m -j and cmd stats print-stats\nChange-Id: I457f9c3ed7f1dbe95940ba922d2704310a3a46ca\n"
    },
    {
      "commit": "e11bfbe411325abe6d85426baa81b3fddaabeaa7",
      "tree": "f6f83e5d045daaae191a26faf049d184ff39d305",
      "parents": [
        "8e97c35976e02c5dd4f1c5f84c1887b848d4fd1a",
        "4c09a4a4f7ad26f8ea211f12aa0e37314a725ddb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 11 15:38:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 11 15:38:09 2019 +0000"
      },
      "message": "Merge changes from topic \"idmap-default-policies\"\n\n* changes:\n  Fix idmap scan to supply correct policies\n  Revert \"Revert \"Enforce a default policy on packages without \u003coverlayable\u003e\"\"\n"
    },
    {
      "commit": "bfd6d85dd65eed572d999113928a7bddb21c4534",
      "tree": "d155d37e798699878960a18996f112e03226b4db",
      "parents": [
        "0ec0800d37257f1a452d092468e37216a6843778"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Fri Feb 15 15:08:16 2019 -0500"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Mar 11 09:09:22 2019 -0400"
      },
      "message": "Added atoms for logging\n\nAdds atom for tracking when the Privacy chip is viewed and clicked and\nhow the Privacy Dialog is dismissed, as long as dismissed from inside the dialog.\n\nTest: manual using statsd_testdrive\nBug: 123896378\nBug: 125731930\nChange-Id: Ia09f39dc6bd636a120f8ed2b1b892bdb1a78951f\n"
    },
    {
      "commit": "4c09a4a4f7ad26f8ea211f12aa0e37314a725ddb",
      "tree": "41bda9255b87e00b435a5c3936e95a961512a9a3",
      "parents": [
        "b863ca33484c338d80fda566353422b659c62487"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 08 08:57:48 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 08 09:31:44 2019 -0800"
      },
      "message": "Fix idmap scan to supply correct policies\n\nOverlayable policies were not being passed correctly to idmap2 create\nfrom scan. This fixes that and adds better error messages for when\npolicy failures occur.\n\nBug: 127860892\nTest: manual\nChange-Id: I8fae20884a75f4c57a0eb4aafdb4e09da3ebaf93\n"
    },
    {
      "commit": "fd1672a52db773756cbcd5de8e0d4292096c213d",
      "tree": "86ad9f8ab05b18e7d19c1e02c218750c528f7c81",
      "parents": [
        "3e3019b3c08e2c3856cb0f74252c218598317517",
        "dda732096c5af6acb554f688a35a4f7087246e3b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 08 00:13:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 08 00:13:46 2019 +0000"
      },
      "message": "Merge \"Fix ProcessMemoryStatReported atom definition\""
    },
    {
      "commit": "b863ca33484c338d80fda566353422b659c62487",
      "tree": "c9b4aab7f54fa4750dc60514c7e457c5c7537c57",
      "parents": [
        "41469c3b522f28c4590398ad6e35193b2142dda7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 07 14:31:54 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 07 14:31:54 2019 -0800"
      },
      "message": "Revert \"Revert \"Enforce a default policy on packages without \u003coverlayable\u003e\"\"\n\nThis reverts commit 6ce5b00f2ac8307ab8cce1deb79e1e39d8b1b8b7.\n\nBug: 127835630\nTest: manual and idmap2_tests\n"
    },
    {
      "commit": "6ce5b00f2ac8307ab8cce1deb79e1e39d8b1b8b7",
      "tree": "23f916a067db390c928a6b58199bf4f01f0b0354",
      "parents": [
        "48945224bdc298630c76befdb50a31838bdafd8e"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 07 21:58:14 2019 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 07 21:58:14 2019 +0000"
      },
      "message": "Revert \"Enforce a default policy on packages without \u003coverlayable\u003e\"\n\nThis reverts commit 48945224bdc298630c76befdb50a31838bdafd8e.\n\nReason for revert: \u003cb/127835630\u003e\n\nChange-Id: I0bc90c26e5b7d6b4d94704a2a1f92bbc889c025c\n"
    },
    {
      "commit": "dda732096c5af6acb554f688a35a4f7087246e3b",
      "tree": "fc06c39075c7c1fa271713c60c7e4ff2afe37f51",
      "parents": [
        "20496370c64d34d5f79810ce681424de78314d0b"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Mar 07 13:54:20 2019 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Mar 07 13:54:20 2019 -0800"
      },
      "message": "Fix ProcessMemoryStatReported atom definition\n\n- Add unit to duration field\n\nTest: None\nChange-Id: Idec08d8e64d142570ffb326b69abd620996ef98a\n"
    },
    {
      "commit": "48945224bdc298630c76befdb50a31838bdafd8e",
      "tree": "318559665b89d5028a6c8ca60bb19b274cf41174",
      "parents": [
        "e2060f2cd3ebf70e57d41d87fac94583de2098c8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 27 16:17:26 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 07 16:37:10 2019 +0000"
      },
      "message": "Enforce a default policy on packages without \u003coverlayable\u003e\n\nIn order to lift the signature/preinstalled install restrictions on overlays,\nwe must protect packages that have not migrated to \u003coverlayable\u003e from\nbeing overlaid. If a resources is not specified as overlayable and the\noverlay does not define an \u003coverlayable\u003e, require the overlay to be\npreinstalled or signed with the same signature as the target.\n\nBug: 121016681\nBug: 125933494\nTest: idmap2_tests\nChange-Id: I38f520929031b743e4bbe0366a9be55aac5795c5\n"
    },
    {
      "commit": "974d516e5f9f7af65462bb3dded5becf3fc32c43",
      "tree": "ab92e242494e0b8173db2c741bc9f731563b46aa",
      "parents": [
        "f554792c8d7c7aec953d9b31e088e72d639fd93a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Mar 06 16:18:11 2019 -0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Mar 06 16:22:42 2019 -0800"
      },
      "message": "Add missing WARN_UNUSED attribute\n\nThe upcoming compiler update warns against missing WARN_UNUSED\nattribute:\n\n  frameworks/base/cmds/idmap2/libidmap2/Idmap.cpp:58:3: error: function \u0027Map\u0027 should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors]\n    inline const std::map\u003cTypeId, std::set\u003cstd::pair\u003cResourceId, ResourceId\u003e\u003e\u003e\u0026 Map() const {\n    ^\n    [[nodiscard]]\n\nTest: m checkbuild\nBug: 126457671\nChange-Id: Ib006dacbc17446377b2886c73190548f53429a44\n"
    },
    {
      "commit": "7e477caf0186800b93235fb1c3b8d6f83935972c",
      "tree": "3edc86a2f9d7f929692da2af9edd3c84a4db1349",
      "parents": [
        "845bcc101bfbce0b99361f8935e5a1b064473aea",
        "f4ca82495bcd07da11f7d3b40eaa1499d7bec1fa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 06 01:29:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 06 01:29:22 2019 +0000"
      },
      "message": "Merge \"Update TrainInfo and BinaryPushStateChanged atoms\""
    },
    {
      "commit": "f3f935d0d64c3ad1d865e94a2ccc8f45a1431243",
      "tree": "1d4d2153d48f61eb36c0a647e066a3d09aa08c8e",
      "parents": [
        "6cb25f4d25e474b6a5d51e290f387198b18610f4",
        "8b78132f5a3ea9ce57758d38dd5ef7a1dded515f"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Mar 05 16:30:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 05 16:30:43 2019 -0800"
      },
      "message": "Merge \"Add min_score_adj into LmkKillOccurred event\" am: 927b3dcb53 am: 37d2a30ef4\nam: 8b78132f5a\n\nChange-Id: Ib238a0dd6511da301fefaefe26a6d561e6aeaecd\n"
    },
    {
      "commit": "f4ca82495bcd07da11f7d3b40eaa1499d7bec1fa",
      "tree": "e4fb22530d646f59a9515862afc604f1074d2a3c",
      "parents": [
        "f163c2111a72694f676f632762521376a6e80919"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Fri Mar 01 09:20:15 2019 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Mar 05 14:26:38 2019 -0800"
      },
      "message": "Update TrainInfo and BinaryPushStateChanged atoms\n\nAdd trainName string field to TrainInfo atom\nAdd status enum to TrainInfo atom\nAdd additional states to BinaryPushStateChanged.State\n\nBug: 124397500\nBug: 126787525\nBug: 126780868\nTest: add/edit tests in StorageManagerTest to verify new\nserialization/deserialization logic\n\nChange-Id: I7bf4cd3b3cb4fdb8b1ebe51a602cfde9fdace6e1\n"
    },
    {
      "commit": "1fbaa1f2b2788b9501823754e9ede4df908bfdd6",
      "tree": "e6e3b94cee3e32368905a88f92554fc11da67727",
      "parents": [
        "4b2b84931a80fcb99807472d3ecf3858d891eff0"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Mar 04 11:09:31 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Mar 05 15:24:08 2019 +0000"
      },
      "message": "Add min_score_adj into LmkKillOccurred event\n\nLog min_score_adj when lmkd kills a process to determine the oom_score\nlevels that lmkd considers during the kill.\nAccompanies Piper cl/236692672\n\nBug: 123024834\nChange-Id: Ibfec13ef80ef1d74f5f224dde2e24970f7a88bfa\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "55805af7195bd2c433a1dccb1a9cd300167423a1",
      "tree": "ee6a4c605b9fcc5cbe225a46edf1f4ff0ab730c4",
      "parents": [
        "1cfb214c967be0b726a81901cc7edda5a893f88e",
        "a8e78b9b88cd5c36313fe0439ffca41bcf93bc9d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 05 09:15:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 05 09:15:31 2019 +0000"
      },
      "message": "Merge \"Add receiver info to IncidentdDetails in statsd_config\""
    },
    {
      "commit": "d8f2fa31b3b9f2f77763d32211ea55110ce8034c",
      "tree": "47c438f49690b125d63bb904fc214fe7e6e4bc16",
      "parents": [
        "b749fd3860885a3b03444557fc666217c1372477",
        "e4d6feda5d10dcd9bb764b2b0fdaeb8b76c231d4"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Tue Mar 05 07:52:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 05 07:52:15 2019 +0000"
      },
      "message": "Merge \"Fix a typo in ROLLBACK_ROOT_TRIGGERED enum\""
    },
    {
      "commit": "a8e78b9b88cd5c36313fe0439ffca41bcf93bc9d",
      "tree": "27d6308ff21be154ee81aea618499a3a9b0000e8",
      "parents": [
        "65c6cd861860a719f1225730d0e3d57a531e6f1c"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 04 17:23:38 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 04 23:47:27 2019 -0800"
      },
      "message": "Add receiver info to IncidentdDetails in statsd_config\n\nThis can be used for sending a broadcast to an app which incidentd\nwould share the incident report with.\n\nTest: added unit test in statsd_test\n\nChange-Id: Ieaf5b3b4d67168e2a99ff54e6392c77d8372ed4e\n"
    },
    {
      "commit": "e33fbee4039ed7d2918bddc212ca513419afa98e",
      "tree": "9b377832ba14e358388385a5d4948b6b1011a3b1",
      "parents": [
        "1c06abe487620c978c94f82b9500414946e5577e",
        "b5908aedc0fdcf47a2f73f7e04eccd2e99a66357"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 05 00:59:37 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 05 00:59:37 2019 +0000"
      },
      "message": "Merge \"Fix incident_helper crash.\""
    },
    {
      "commit": "e4d6feda5d10dcd9bb764b2b0fdaeb8b76c231d4",
      "tree": "ce50bb52318b67cbd396952059304ce4a782a53e",
      "parents": [
        "1c06abe487620c978c94f82b9500414946e5577e"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Mar 04 16:54:19 2019 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Mar 04 16:59:04 2019 -0800"
      },
      "message": "Fix a typo in ROLLBACK_ROOT_TRIGGERED enum\n\nTest: no test needed for an enum change\nBug: 126934738\nFixes: 126934738\nChange-Id: Iac673fbe6994c2cb5dcce36725630cbfde231826\n"
    },
    {
      "commit": "b5908aedc0fdcf47a2f73f7e04eccd2e99a66357",
      "tree": "72f5d9a3f6895415c8af1937253ee103d5ef053e",
      "parents": [
        "65c6cd861860a719f1225730d0e3d57a531e6f1c"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Mar 01 10:04:47 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 04 14:28:30 2019 -0800"
      },
      "message": "Fix incident_helper crash.\n\nThe header of top cmd changes from Tasks to Threads, causing the parser to run into\nundefined behavior.\n\nBug: 125377622\nTest: adb shell dumpsys incident   \u0026\u0026 incident_helper_test\nChange-Id: I5ae88767dce22f0ee7b49611b2f19889a07e66ac\n"
    },
    {
      "commit": "6b5cae41e8cfc0d5c453b8880a463afe3d3c2130",
      "tree": "84a6463afcd177d5f508c46d97e29678405a4c9d",
      "parents": [
        "25ac5349fcd1257d8ac1835bea7c3263f095a47b",
        "91161bb0d4559406f74bfa709c1c6e7ca4bb4a51"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sun Mar 03 15:27:35 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Mar 03 15:27:35 2019 -0800"
      },
      "message": "Merge \"Remove gaillard@google.com from OWNERS of statsd\" am: a982663c2b am: 4e48a18e64\nam: 91161bb0d4\n\nChange-Id: I76c01c94917b2f58ec0360b2b2ef1bf8a87c32de\n"
    },
    {
      "commit": "de15ad0361627e578fd16f8f1b2275a8278cd963",
      "tree": "4d9a36e333f0494f4f68bd755a939ed40c22c994",
      "parents": [
        "deb10ee8e2853d4aef687bea5a39ccea159bd41d",
        "7e6330353eb46822337f534a3cfc07ed017d20fb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 02 12:01:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 12:01:13 2019 +0000"
      },
      "message": "Merge \"Game Driver Metrics: add GpuStatsPuller to get gpu global stats\""
    },
    {
      "commit": "7e6330353eb46822337f534a3cfc07ed017d20fb",
      "tree": "0a90221fbfb0ce766e58fed0a081ab0683b823e7",
      "parents": [
        "5c81b6398f8785507ec9c5395505d116bbb3b879"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Fri Mar 01 17:25:27 2019 -0800"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Fri Mar 01 22:43:32 2019 -0800"
      },
      "message": "Game Driver Metrics: add GpuStatsPuller to get gpu global stats\n\nBug: 123529932\nTest: adb shell cmd stats pull-source 10054\nChange-Id: Ib43a93661d24ce0d4b1e1ae6b6d0b50dbdfd3c15\n"
    },
    {
      "commit": "2c21cde15a9a41a2ce4333e9a37db78ec78a2f28",
      "tree": "a35a1495b2e908680e186f1f8b3bcbd7586f71f7",
      "parents": [
        "5d9fb29a865d333ff0f29f949b47885fdde2ca6c",
        "4885ce6fcb3210300ddd78e8fd1aeda42a69ea7d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 02 03:19:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 03:19:28 2019 +0000"
      },
      "message": "Merge \"Add ROLLBACK_ROOT_TRIGGERED enum to WatchdogRollback\""
    },
    {
      "commit": "a6f6a83ee8603ba85d33ddd010d958c4a2c66706",
      "tree": "fe116c2adf64f6ab63365e46526b9399d429003b",
      "parents": [
        "c2d683dd743b2e466ee6f01bf2ee6cba30f897c2",
        "5c81b6398f8785507ec9c5395505d116bbb3b879"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 02 02:16:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 02:16:30 2019 +0000"
      },
      "message": "Merge \"Game Driver Metrics: add GpuStats atoms into statsd\""
    },
    {
      "commit": "8b8936f8d2b4e2711f9ae9fc63da66b2e3d48ed6",
      "tree": "777ab2238b51ca568a47273f1ec593a87709bb10",
      "parents": [
        "e5262a393070c7b322c9e42dfbb35dc5992a7ce8",
        "40f29dbc6154695b1f15949b20a5683e2c176da2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Mar 01 17:31:28 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 01 17:31:28 2019 -0800"
      },
      "message": "Merge \"Preload libnativehelper.so which cannot be loaded through the Java classloader.\" am: 9ab1d61496 am: e65afdf28a\nam: 40f29dbc61\n\nChange-Id: If715c9bdf42f18e5f1813a3d5a7ea5d046fbefb3\n"
    },
    {
      "commit": "e5262a393070c7b322c9e42dfbb35dc5992a7ce8",
      "tree": "f8b4b53ed121a3ce5c33273f81dae530e002b45b",
      "parents": [
        "804c4f6f084aebcc4041e13601b818be2e7eb51d",
        "8928ed74d0564dfe0ca82769407e23569e056c73"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Sat Mar 02 01:15:37 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 01:15:37 2019 +0000"
      },
      "message": "Merge \"Stats HAL atoms use stats_write\""
    },
    {
      "commit": "4885ce6fcb3210300ddd78e8fd1aeda42a69ea7d",
      "tree": "22308ee1ad484341ed1a9c7622caa0abf2f634fd",
      "parents": [
        "39993436e651c848104853a90c8ba76d248e34ae"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Mar 01 16:45:31 2019 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Mar 01 16:45:31 2019 -0800"
      },
      "message": "Add ROLLBACK_ROOT_TRIGGERED enum to WatchdogRollback\n\nTest: no test needed for an enum addition\nBug: 126934738\nChange-Id: I1228c57ed2de35eb40ab39ae8e9dbcf1d6471961\n"
    },
    {
      "commit": "b52793ab2a11715cb23dd74bd45670e693a52a1c",
      "tree": "060d6c8ba2bd03d90b0785ec0697e45a68752a56",
      "parents": [
        "3c0a49ec484afc22e7ffc55222291f9f7d8caeea"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Mar 01 16:39:56 2019 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Mar 01 16:39:56 2019 -0800"
      },
      "message": "Remove gaillard@google.com from OWNERS of statsd\n\nTest: not needed for OWNERS change\nChange-Id: I6c15067c86dc38784979d6da1265ceb0a3fc5ce5\n"
    },
    {
      "commit": "5c81b6398f8785507ec9c5395505d116bbb3b879",
      "tree": "6720fd355f0639b517b7e52a6959db678e6a85b7",
      "parents": [
        "3e29ba23a4eeddda664537f00c3a871f944d6002"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Fri Mar 01 15:39:46 2019 -0800"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Fri Mar 01 16:11:29 2019 -0800"
      },
      "message": "Game Driver Metrics: add GpuStats atoms into statsd\n\nBug: 123529932\nTest: build, flash and boot\nChange-Id: I20d4a45a3f8eefd4954120edf40d13ab95510692\n"
    }
  ],
  "next": "1c06bb66af8a7ea7073b2154f9ad9d8f7fe819a0"
}
