)]}'
{
  "log": [
    {
      "commit": "fd2ec469ed340904f1a4585c57b16560cdd903c5",
      "tree": "53d3b3ac75691272d395e9e76e5eae11fca109ed",
      "parents": [
        "3614fbd07f6f6bb66b34ed9dc4a0955d6f5a2d3b",
        "79f0277f29cc37a9614f9fb5213857daa37d21a9"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 15 18:47:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 18:47:06 2019 +0000"
      },
      "message": "Merge \"Fix API errors\""
    },
    {
      "commit": "79f0277f29cc37a9614f9fb5213857daa37d21a9",
      "tree": "f2fd23943960cf25c7fc1169c50263333b0d1408",
      "parents": [
        "fc6e5674b7f4b6e85ad88bebd2aab7a4a3a7f545"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 15 11:38:48 2019 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 15 11:38:48 2019 -0500"
      },
      "message": "Fix API errors\n\nAPIs that were @SystemApi in the last release cannot be changed.\n\nTest: atest CtsSystemApiSignatureTestCases\nBug: 124209375\nChange-Id: I631b7dea09e723f509581f82a85da99344b42a09\n"
    },
    {
      "commit": "40d5ce0b54e54f524f978cb6abfa0eb404247971",
      "tree": "0eec56e83b99151c3d8f2dd4eee8d81b82935889",
      "parents": [
        "52f0d571b849558699f874fba81379ebcf47b6b0"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Feb 11 20:38:26 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Feb 12 15:08:32 2019 +0000"
      },
      "message": "A few missing pieces for logging in ExtServices\n\n1. Log TYPE_ACTIONS_GENERATED with a list of suggestion type.\n2. Log the score of the clicked suggestion.\n    a) For replies, the score is stored in session.\n    b) For actions, the score is stored in the extras.\n3. Suppress logging if suggestions are not going to be used by SysUI\n4. Removed @NonNull annotation. SmartActionsHelpers are fully annotated,\n   so we only need @Nullable annotation.\n5. TextClassificationManager cannot be null, and getTextClassifier()\n   won\u0027t return null either, so removed some null checks.\n\nTest: atest SmartActionsHelperTest\nTest: Manual. Send a message to myself, observer generated event is\n      loggeed. Tap on it, seeing the score is logged.\nTest: Manual, send a message with app generated replies, observe that\n      only generated event is logged.\n\nBUG: 120803809\n\nChange-Id: I1c18decb237cbeb267f2a3db6ebb149232b786b4\n"
    },
    {
      "commit": "768946524989c05c84cc9eff0f1def2298df9b41",
      "tree": "e3f4f25bece62e0edeabbf823e1929e660e0edd2",
      "parents": [
        "e83f72e1c573451bc64f6f9b5ff0740ad9606db0",
        "7ab8308992aae80736bd9114113401ca477dab98"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 11 16:01:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 16:01:04 2019 +0000"
      },
      "message": "Merge \"Do not generate smart suggestions if the last message is from local user\""
    },
    {
      "commit": "e83f72e1c573451bc64f6f9b5ff0740ad9606db0",
      "tree": "d3dc61f5ab3707b22ffd959daecdfbeb57505a08",
      "parents": [
        "0f5d4fe9069287149e200182c9b99ba9cac74894",
        "2d66b51a6205bb0ca94015baea81f50e574d89f2"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Mon Feb 11 15:54:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 15:54:47 2019 +0000"
      },
      "message": "Merge \"Add logcat logging for smart suggestions.\""
    },
    {
      "commit": "7179c272189ba59e5618c1fc40160816121bee1d",
      "tree": "a305c9a54eabb0ee32e4ea14316ebde83ca72586",
      "parents": [
        "48af91961c62f0435228b80ae737dc10c3d579c9",
        "f7bc2c1733ac280a1ae9301700319eac97fc0048"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 11 15:38:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 15:38:16 2019 +0000"
      },
      "message": "Merge \"Use ic_action_open when icon is not given in RemoteAction\""
    },
    {
      "commit": "7ab8308992aae80736bd9114113401ca477dab98",
      "tree": "9e92a374c6821893bffcb3d888f7417071f58c8f",
      "parents": [
        "8e6dc3b7abb8f8c14080691ce5b97d2e1669e5bd"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Feb 04 17:43:53 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Feb 08 18:01:25 2019 +0000"
      },
      "message": "Do not generate smart suggestions if the last message is from local user\n\nAlso, instead of using Person.equals, introduce arePersonEqual. It is\nbecause Person.equals is doing \u003d\u003d check on the icon, which may return\nfalse even the icons are actually the same.\n\nAnd fixed a bug in handling sender \u003d\u003d null in Message.\nAccording to the javadoc of addMessage, person \u003d\u003d null means the message\nis from the local user.\n\nTest: atest SmartActionsHelperTest\n\nBUG: 123996228\nChange-Id: I0ab24d53796d4b124c23cacf3df25cd8705d4fb3\n"
    },
    {
      "commit": "f7bc2c1733ac280a1ae9301700319eac97fc0048",
      "tree": "893ac64b678fca900869aa091086bd40ee87dc65",
      "parents": [
        "8e6dc3b7abb8f8c14080691ce5b97d2e1669e5bd"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Feb 06 18:05:21 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Feb 08 17:45:57 2019 +0000"
      },
      "message": "Use ic_action_open when icon is not given in RemoteAction\n\nFallback icon is used whenever there are more than one apps to handle\nthe intent.\n\nTest: Install two browsers. Send a text message with url, observe\nthe new icon is shown.\nTest: With just one browser, observe the icon is the app icon.\n\nFIXES: 124038152\n\nChange-Id: I6e3d78a48cc922c0ee43172f361c6b4a18b43d20\n"
    },
    {
      "commit": "11e085ad95b0c7e71737f43799e7cb32d965d9e4",
      "tree": "8e1b0c5b0b995f67506d25acc4be21332c533f14",
      "parents": [
        "e8c4958b2f1bd08d87506eb6a86065daead2b74c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Feb 05 15:49:56 2019 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Feb 06 09:57:46 2019 -0500"
      },
      "message": "Exempt more notifications from heuristic\n\nBug: 123942966\nTest: atest\nChange-Id: I3415b992b3fb5397f7a8ea080de6d0c11b259417\n"
    },
    {
      "commit": "e1a27ac0303d74d1ff117008260b5ca1309006aa",
      "tree": "4678b42b0f885880be8993a38deb02c4f1fa8dda",
      "parents": [
        "ae33c3bd35b5ce7262dd89b26ff4d44303334520"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 31 16:32:19 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Feb 05 21:57:20 2019 +0000"
      },
      "message": "Update ExtService to use suggestConversationActions\n\n1. Use suggestConversationActions for both replies and actions\n2. Make existing flags configurable via DeviceConfig\n\nTest: atest SmartActionHelperTest.java\nTest: atest AssistantSettingsTest.java\n\nBUG: 123745079\n\nChange-Id: I9b84edf9818d5839202c337ac3c3d48378adbf55\n"
    },
    {
      "commit": "1c0c977cbf358addf6bf733a52159fd6ffa4660d",
      "tree": "6de7fb8f06e08dedc4f70b0323a73629fed00d4b",
      "parents": [
        "affa55b49baebce7ae1b8bb893e015379df83a49"
      ],
      "author": {
        "name": "Nadia Benbernou",
        "email": "nbenbernou@google.com",
        "time": "Mon Feb 04 14:26:39 2019 -0500"
      },
      "committer": {
        "name": "Nadia Benbernou",
        "email": "nbenbernou@google.com",
        "time": "Mon Feb 04 17:24:37 2019 -0500"
      },
      "message": "Make SmsHelper local to Assistant rather than a singleton (I accidentally\nforgot to include this piece in my previous CL it looks like).\n\nBug: 123365364\nTest: Unit tests and manual testing.\nChange-Id: I7c7096890c06d98f04e307f00f10c4138eee2868\n"
    },
    {
      "commit": "af41d5f7bde649305d20b7d179755acb916ed3ce",
      "tree": "24001fbe1bc461bae9486999cbd25e4b250faca5",
      "parents": [
        "f2bfd385c9bfb22b003c7b5cf6ea0242ccbd1b2b",
        "1ee91a3ce89d57421e5a6d7652967638bd232f65"
      ],
      "author": {
        "name": "Nadia Benbernou",
        "email": "nbenbernou@google.com",
        "time": "Mon Feb 04 17:25:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 17:25:31 2019 +0000"
      },
      "message": "Merge \"Make sure notifications from the default sms app do not get filtered to the non-interruptive section.\""
    },
    {
      "commit": "2d66b51a6205bb0ca94015baea81f50e574d89f2",
      "tree": "5fbe71ebecafd7ea1c490f79d1941711bfcd621d",
      "parents": [
        "81973983b02c8cd7289b45afa3cc794eae0833a7"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Thu Jan 31 17:48:17 2019 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Fri Feb 01 11:03:32 2019 +0000"
      },
      "message": "Add logcat logging for smart suggestions.\n\nIn cases where smart suggestions in notifications are not shown we want\nto be able to debug why the suggestions are not shown.\nWith this CL we add logcat logs (conditional on log tags) to be able to\ndebug suggestions when we have physical access to a device.\n\nBug: 122895786\nTest: \u0027adb shell setprop log.tag.ExtAssistant\u0027,\n\u0027adb shell setprop log.tag.NotificationContentView\u0027 and ensure the logs\nare displayed when showing a notification.\n\nChange-Id: I77a3fbc2b1b325d97d8e2306ffbcce17c84129f8\n"
    },
    {
      "commit": "1ee91a3ce89d57421e5a6d7652967638bd232f65",
      "tree": "21d463f4a4a5f7c92a091d6b8882901a6d76cad2",
      "parents": [
        "fb0ce8414993aff70cfe48b8febbf270a7ca30ca"
      ],
      "author": {
        "name": "Nadia Benbernou",
        "email": "nbenbernou@google.com",
        "time": "Mon Jan 28 11:26:46 2019 -0500"
      },
      "committer": {
        "name": "Nadia Benbernou",
        "email": "nbenbernou@google.com",
        "time": "Thu Jan 31 14:04:54 2019 -0500"
      },
      "message": "Make sure notifications from the default sms app do not get filtered to the non-interruptive section.\n\nBug: 123365364\nTest: Unit tests and manual testing.\nChange-Id: Ide41ff9656ee81aa4fc6f6bcdd00ae886a0e13ee\n"
    },
    {
      "commit": "38cdbafaf03569e538004eb090b8d8da40a4baf4",
      "tree": "0af372d411c1e7b15fd69bd3064975aff2385ec7",
      "parents": [
        "5e5aebe9f602cbbb6403ae3e6a8cefd48872dd8c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jan 30 12:16:58 2019 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jan 30 12:39:34 2019 -0500"
      },
      "message": "Fix ExtServices tests\n\n- Switch the tests from Android.mk to Android.bp. The app itself\ncannot move over yet because it uses syntax not supported by bp\n- Instrument the test package instead of the package udner test\n- Also fix an actual error in a test\n\nTest: this\nChange-Id: I0af081ab25630e4e911d4d9cbb60a87b2f75be90\nFixes: 123572762\n"
    },
    {
      "commit": "5059dae031c878216a401a3d795a2f754f7374c7",
      "tree": "b2e3bee7540cca417dea8693660eacabebf67da1",
      "parents": [
        "a3bf162ae44e434cfc59d96f4bcfcb27ffdb2370",
        "6274a3a0b6773036c0638fb6f643be1bc6910ed8"
      ],
      "author": {
        "name": "Stanislav Zholnin",
        "email": "zholnin@google.com",
        "time": "Wed Jan 30 10:19:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 10:19:13 2019 +0000"
      },
      "message": "Merge \"Adding permission to use DeviceConfig API for AssistantSettings notification service. Permission check will be enforced later.\""
    },
    {
      "commit": "d81e5170575482dca2c0fc2dfaa612b96768b59f",
      "tree": "c2008987139392de58a65d52a4321258d222f632",
      "parents": [
        "bcd8465a77fa7da209b450565e7e5d15937b78eb",
        "98f6e69f32dfdfd3fbc17dd977858d354a4bc27e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jan 30 00:35:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 00:35:11 2019 +0000"
      },
      "message": "Merge \"Don\u0027t recommend downranking _HIGH notifications\""
    },
    {
      "commit": "98f6e69f32dfdfd3fbc17dd977858d354a4bc27e",
      "tree": "b9fb76fe60ba41400f97ebd72b12e5a99db4b942",
      "parents": [
        "a319c6448b027f1169722295ceedac564a13de78"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jan 29 16:31:56 2019 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jan 29 16:46:44 2019 -0500"
      },
      "message": "Don\u0027t recommend downranking _HIGH notifications\n\nTest: atest\nChange-Id: Iede3988e97e9205d64c67d26e10c84db0a550158\nFixes: 123586747\n"
    },
    {
      "commit": "78ce9ed65b5bb57ac41fe7c29f9c0aa3f45b7195",
      "tree": "5587bee0a8fa3c81280c8fa731dfb3a24d4c67d9",
      "parents": [
        "8c0e8181b8461084b6c1f0ba296a82b2f051f198",
        "73a8c1b06c6858821dc42c8fe3a4e0b0190fb429"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Tue Jan 29 21:05:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 21:05:47 2019 +0000"
      },
      "message": "Merge \"Update the notification_assistant DeviceConfig namespace.\""
    },
    {
      "commit": "7e67bb0716268a999b3c20e8dab0ba966f116431",
      "tree": "86dd6c28abf1fe8471b4e20cdb65bf3e5b41d5ac",
      "parents": [
        "a05d9b63b53c3e80d0d6825ffa53c8915125aa47",
        "41bf871e8e11df37deec902a0fcd6fe860ce7e11"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 29 19:51:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 29 19:51:07 2019 +0000"
      },
      "message": "Merge \"Fix logging in ExtServices for Q Beta\""
    },
    {
      "commit": "41bf871e8e11df37deec902a0fcd6fe860ce7e11",
      "tree": "006716063137917c587618d744a3fa681e76624b",
      "parents": [
        "92fd290867b1e43f9f6f0d7869e43edce251f061"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Jan 29 12:39:21 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Jan 29 13:37:56 2019 +0000"
      },
      "message": "Fix logging in ExtServices for Q Beta\n\nTwo issues:\n1. The notification key -\u003e logging id mapping should be removed\n   whenever suggest() is called as the session is considered to be ended.\n\n2. We were only storing the key -\u003e logging id mapping when\n   suggestConversationActions generated some replies. Thus, when only smart actions\n   are generated from generateLinks, we didn\u0027t log it (as the mapping is missing)\n   So, we now always cache the ID after calling suggestConversationActions.\n   Remove the mapping when we find that neither actions or replies\n   are generated.\n   PS: We have a CL (ag/6033786) to switch to suggestConversationActions,\n   fix for #2 is no longer needed once it is in. But that change won\u0027t\n   be in before Android Beta as the model side change is not done.\n\nBUG: 120803809\nTest: Manual. Send a message with URL, observer subsequent events (e.g:\nclicked) are logged.\nTest: atest SmartActionHelperTest\n\nChange-Id: Iea1a46466846ef99d51316dcbb294bfe0cf33653\n"
    },
    {
      "commit": "73a8c1b06c6858821dc42c8fe3a4e0b0190fb429",
      "tree": "699f676ff1bb3e885852e335a4040798029563df",
      "parents": [
        "9b23e4f42baf2e545b30006b23dd216580c4cddd"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Wed Jan 23 18:15:39 2019 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Tue Jan 29 12:19:27 2019 +0000"
      },
      "message": "Update the notification_assistant DeviceConfig namespace.\n\nTo adhere to new API guidelines we here update the\nnotification_assistant namespace in DeviceConfig.\n\nBug: 120792826\nTest: make ExtServices\n    \u0026\u0026 adb install -r $OUT/system/priv-app/ExtServices/ExtServices.apk\n    \u0026\u0026 atest ExtServicesUnitTests\nChange-Id: I85f714931c28c7a35c64b1394992afcd7aa68490\n"
    },
    {
      "commit": "6274a3a0b6773036c0638fb6f643be1bc6910ed8",
      "tree": "7deaf2831ca979b7f52189522d487601c5e81d7b",
      "parents": [
        "f927753d2beb4967b0f9f245c6c2a76fe22e1e89"
      ],
      "author": {
        "name": "Stanislav Zholnin",
        "email": "zholnin@google.com",
        "time": "Mon Jan 28 15:53:23 2019 +0000"
      },
      "committer": {
        "name": "Stanislav Zholnin",
        "email": "zholnin@google.com",
        "time": "Mon Jan 28 15:53:23 2019 +0000"
      },
      "message": "Adding permission to use DeviceConfig API for AssistantSettings\nnotification service. Permission check will be enforced later.\n\nTest: Locally tested with permission checks patched in.\nBug: 117663715\nChange-Id: If10d73d1823de560dec18e03ecd33dfdd27de7ef\n"
    },
    {
      "commit": "bf1d8ab140c6af203176c05fc9a354028eb30d58",
      "tree": "8f02bb9adda32878a3a38a7779648ab216b20fa6",
      "parents": [
        "196437d3cbd95207816456fab86c7b641132646d",
        "a471699a97853bf3f531ac61652af3f1da290af0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 28 15:03:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 15:03:43 2019 +0000"
      },
      "message": "Merge \"Rename smart replies and actions adjustment keys\""
    },
    {
      "commit": "3abecb462bc7642f184c45d2a157af8aa5836add",
      "tree": "784481a2ef863f367833626739139e73f8ae31b4",
      "parents": [
        "75382944183af16392567c81cedf40f3e2b08216",
        "91daa15eea2c76c11b8e0c7d3972144b4ed4de5f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 17:16:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 17:16:38 2019 +0000"
      },
      "message": "Merge \"Rename PERSON_USER_LOCAL and PERSON_USER_REMOTE\""
    },
    {
      "commit": "91daa15eea2c76c11b8e0c7d3972144b4ed4de5f",
      "tree": "4f384fa3c89bb3c1cee7a47e7636fb7206ca455a",
      "parents": [
        "07182c8622947e0407c6cd72fea4f6ab629f4b55"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 24 16:00:28 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jan 25 12:07:50 2019 +0000"
      },
      "message": "Rename PERSON_USER_LOCAL and PERSON_USER_REMOTE\n\nTest: atest TextClassificationManagerTest.java\nBug: 123223181\n\nChange-Id: I077d06aabf96d824942b99dd6ab95fe8adc2641f\n"
    },
    {
      "commit": "a471699a97853bf3f531ac61652af3f1da290af0",
      "tree": "7f0db593c4f12754e420d71aa2c01c12aebd9072",
      "parents": [
        "07182c8622947e0407c6cd72fea4f6ab629f4b55"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 24 15:41:59 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 24 15:41:59 2019 +0000"
      },
      "message": "Rename smart replies and actions adjustment keys\n\nTest: Build\n\nBUG: 123342833\nChange-Id: Ib600fcc851ae693221ec6c605b9a8176fd65587d\n"
    },
    {
      "commit": "03a1d0338dee9787852440e1663260c28d9cd885",
      "tree": "01b03b77891548316e1ebf1e2235ee66037a6cad",
      "parents": [
        "07182c8622947e0407c6cd72fea4f6ab629f4b55"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 24 15:12:00 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 24 15:12:00 2019 +0000"
      },
      "message": "Add g/setScore and g/setEntityTypes to TextClassifierEvent\n\n1. Add get/setScore, so we can see how do scores affect the CTR and\neventually tune the threshold based on it.\n\n2. Convert get/setEntity to get/setEntityTypes.\n   Some events like TYPE_ACTIONS_GENERATED and TYPE_ACTIONS_SHOWN\n   will need to have a list of entity types. Also, as TRON does not\n   support a field of list type. And thus workaround this by having\n   3 separate fields in TRON.\n\n4. The result id of action is too easy to clash now as only messages\n   are taking into account. Use timestamp and the person object as\n   the input to the hash now.\n\n5. Changes in TRON:\n   a) We will put conversation_action / language detection, etc to\n      category. And we will put the views to subtype.\n   b) As suggested by the TRON team, we should not reuse existing fields\n   in the clients directly. But we should rather introduce new fields,\n   and map them to existing fields in the server. So, TRON team could\n   suppress just the new logging if it goes wrong and not affect\n   existing loggings.\n\nTest: atest TextClassifierEventTest.java\nTests: atest TextClassifierEventTronLoggerTest.java\n\nBUG: 120803809\n\nChange-Id: I2e71436b323a200beec57ea7c1a8bcc96c9c552f\n"
    },
    {
      "commit": "13cc6eb72d5bac0ea8446dbfbb9833016862047c",
      "tree": "68959b9e0f1bc7abf7db843fc189fe379074f81c",
      "parents": [
        "a9b062d0bc3294dec57ee1512a2d64a1ac4ab5d9"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Thu Jan 17 18:05:46 2019 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Wed Jan 23 16:54:25 2019 +0000"
      },
      "message": "Add flags to control generation of Smart Suggestions in Notifications\n\nAdd flags to the notification_assistant DeviceConfig namespace to\ncontrol smart suggestions generation for notifications.\n\nThe existing flag in Settings.Global\nSMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS will be removed in a follow-up.\n\nBug: 120792826\nTest: atest AssistantSettingsTest\nTest: play around with \u0027adb shell device_config put\nnotification_assistant notification_assistant_generate_replies X\u0027, and\n\u0027adb shell device_config put\nnotification_assistant notification_assistant_generate_actions X\u0027, where\nX is false or true.\nChange-Id: I0252bff48f053aab4b81d74147579416b28c515a\n"
    },
    {
      "commit": "202f25d62a3383d0452ec7922b9ca440d8d91f63",
      "tree": "15867d03e2fb8baf707d3ae316e7b04616fcd873",
      "parents": [
        "f6f46ce603a5c8e1ea6371e4edad8731101f742e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Jan 07 14:40:39 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Sun Jan 20 09:39:01 2019 +0000"
      },
      "message": "onNotificationExpansionChanged is called only when the expansion change...\nis visible to users.\n\nFor example, if the notification is expanded in the background,\nonNotificationExpansionChanged will be called only when the expanded\nnotification is visible to users.\n\nReason: we should only care about expansion change that is visible\nto users, and at the moment that it is shown to user.\nThis also allows us to determine \"has been visually expanded\"\neasily. With this change, our NotificationAssistantService can know\nwhether a notification has been visually expanded and calculate the CTR\nof smart actions accordingly.\n\nThis should not break existing stuff in NMS.onNotificationExpansionChanged\nbecause codes there checked isUserAction \u003d\u003d True anyway,\nwhich means the change must be also visible to users.\n\nBUG: 120803809\n\nTest: atest ExtServicesUnitTest\nTest: atest ExpansionStateLoggerTest\nTest: Manual test, try to expand and collapse notification.\n\nChange-Id: Ibc6f939b2560b845de6a8a35b4557423b8a074f7\n"
    },
    {
      "commit": "66f91878a06abf3307e275c265773732fd31f19e",
      "tree": "79e734aff649aef243f6f11e43ad2ba4b8cc6cac",
      "parents": [
        "71d560440d0242dd1a6935395cabef3470e9dfd4",
        "ae85aae6aa0be83329b588346699f3940d43fc4e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 10:49:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 10:49:13 2019 +0000"
      },
      "message": "Merge \"Cleanup TextClassifier APIs\""
    },
    {
      "commit": "1e09345b3d6802b99b888572f7e1e06a93299361",
      "tree": "3055f48c3f04ee315fa9633e64868738a8d8042d",
      "parents": [
        "f473169704775e15b85051d84eb4f1ce61cd00cd",
        "2256e0121086dae2377547d7774440b7284a8dad"
      ],
      "author": {
        "name": "Ye Wen",
        "email": "ywen@google.com",
        "time": "Mon Jan 14 21:30:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 14 21:30:50 2019 +0000"
      },
      "message": "Merge \"Call AgingHelper.onNotificationRemoved in Assistant\""
    },
    {
      "commit": "2256e0121086dae2377547d7774440b7284a8dad",
      "tree": "9527af199df14bc8f5e2fdfa8015400ddf45146e",
      "parents": [
        "0b2f7babbb7fe056f31e7665e8c9f13dfd607580"
      ],
      "author": {
        "name": "Ye Wen",
        "email": "ywen@google.com",
        "time": "Mon Jan 14 09:35:38 2019 -0800"
      },
      "committer": {
        "name": "Ye Wen",
        "email": "ywen@google.com",
        "time": "Mon Jan 14 09:35:38 2019 -0800"
      },
      "message": "Call AgingHelper.onNotificationRemoved in Assistant\n\nTest: None\nChange-Id: I8a49ad515bc22c0926f9ef61d62c6862622e1213\n"
    },
    {
      "commit": "ae85aae6aa0be83329b588346699f3940d43fc4e",
      "tree": "3e3cfcc07c78c586bce8cfd1e75c44262a4580b8",
      "parents": [
        "4a710a85d22e32d86231dd9a91b0bce7447163ec"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jan 09 15:59:56 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Jan 14 17:06:00 2019 +0000"
      },
      "message": "Cleanup TextClassifier APIs\n\nMajor changes:\n1. ConversationAction is now in top-level.\n2. Removed TypeConfig, and repurposed TextClassifier.EntityConfig for\n   general use. It would be better to rename it to be something like\n   TypeConfig. But just a bad name is probably not worth to deprecate\n   the existing APIs.\n3. Hints constants are moved to Request object.\n4. Action constants are moved to ConversationAction object.\n\nTest: atest TextClassifierTest.java\n\nBUG: 120841922\n\nChange-Id: Ia466aaf4c5050a9c7e404dcd3b295f5ef7e4ce6f\n"
    },
    {
      "commit": "5ca575ae71493aedfbd93da032692ad5a1d50f27",
      "tree": "8dbe2838a0806ee5969b52588b9b47828bbe8e61",
      "parents": [
        "d77b5783a70c02d62f8c06fc63479d1ac64eba1b",
        "8a6765d9cba69a4802cf421115819158740970eb"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Jan 14 14:01:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 14 14:01:38 2019 +0000"
      },
      "message": "Merge \"Make ExtServices handle instant apps.\""
    },
    {
      "commit": "8a6765d9cba69a4802cf421115819158740970eb",
      "tree": "cf3e4ec4fbac9e1bfe8c1778fb40cd6fc04b85d8",
      "parents": [
        "5b66f8cf2e56b842af8a66816e97d859ea717905"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 11 09:15:12 2019 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 11 19:33:24 2019 +0000"
      },
      "message": "Make ExtServices handle instant apps.\n\nTest: run foreground service from instant app, verify no crash/log error\nChange-Id: I646521495935687de3d8f5ed18bca0c4efb8cc87\nFixes: 120430037\n"
    },
    {
      "commit": "ced1d00d8289f0b65d463e40683903062b74f30e",
      "tree": "a6c8870762b78aa55f78e759e130276107815bc3",
      "parents": [
        "5b66f8cf2e56b842af8a66816e97d859ea717905"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Fri Jan 11 16:19:45 2019 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Fri Jan 11 17:57:50 2019 +0000"
      },
      "message": "API review correction: rename NAS.onActionClicked -\u003e onActionInvoked.\n\nBug: 120842160\nTest: build Android\nChange-Id: I0d673871a6d673eaca60aedf452fa68fd9855954\n"
    },
    {
      "commit": "836147ecb222e9cb78160027bd341c0215ad1abe",
      "tree": "f86bc4c5dc330afc9856d317a0bfa2d588f081d1",
      "parents": [
        "41c8f3888b8707770e283593c7280e5482c33039"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Jan 08 14:48:31 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jan 09 19:44:06 2019 +0000"
      },
      "message": "Rename onNotificationDirectReply to onNotificationDirectReplied as per ...\nthe API council feedback.\n\nBUG: 120841922\nTest: Build\n\nChange-Id: I630134955bb86b36e8d186e92302ae141629f4f6\n"
    },
    {
      "commit": "42d3cf3647b1409eab03b5ee95943d27ad15922b",
      "tree": "0cd324f735dfaf671a94b12886d1a1690bb3d125",
      "parents": [
        "ed04879a5db669047b180477989c9b9bdc7d7015",
        "005d7a0d07774d7e2e35236d516f15330f8e140a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 07 15:30:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 15:30:46 2019 +0000"
      },
      "message": "Merge \"Change the API for setting Notification Actions to be contextual.\""
    },
    {
      "commit": "005d7a0d07774d7e2e35236d516f15330f8e140a",
      "tree": "7c48b84703151d23a5f7c952d0fb6a707a8a5f07",
      "parents": [
        "2b9930d0b74280db8bc43fd622b1e8c2ad1c45d6"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Fri Jan 04 13:41:32 2019 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Mon Jan 07 10:59:45 2019 +0000"
      },
      "message": "Change the API for setting Notification Actions to be contextual.\n\nAccording to Android API council we shouldn\u0027t add a new semantic-action\nflag to mark an action as contextual. Instead we should use a boolean\nflag.\nThis CL adds that boolean flag.\n\nBug: 120842160\nTest: build and run Notify app (in\nvendor/google_experimental/users/cinek/), and ensure smart actions are\nshowing when the \u0027No Smart Actions\u0027 chooser is changed to\n\u0027Short Smart Actions\u0027.\nChange-Id: I5fc6dfa37ab28e3f29529cb6fda99c049783eb80\n"
    },
    {
      "commit": "1d07be390b106243b82954cd187c55063946cd41",
      "tree": "e8ad1c49383182ab108b40a40a768f6e04392da5",
      "parents": [
        "b29300d8d91c0f40a72a048126fa1bd9c09f93af"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jan 02 15:14:32 2019 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jan 02 15:22:50 2019 +0000"
      },
      "message": "TYPE_DATE and TYPE_DATE_TIME should be considered as the same type\n\nTo avoid confusion, we already suppress actions of the same entity type.\nBut from the user perspective, some entity types are really\nthe same thing, like TYPE_DATE and TYPE_DATE_TIME.\n\nThis is just a workaround before moving to suggestConversationActions\nfor smart actions. Once we have moved to it, both TYPE_DATE\nand TYPE_DATE_TIME entities should be mapped to the same action type\n--- OPEN_CALENDAR.\n\nFIXES: 121200744\nTest: atest EntityTypeCounterTest\nTest: Try out a notification with both TYPE_DATE and TYPE_DATE_TIME\n      entities, observes that both actions are not shown.\n\nChange-Id: Id1c91bff5749c62be29a2da0cc9ed7fd8960d166\n"
    },
    {
      "commit": "84cdbdfc1301d02409c525de9f5092ff3ed84d6d",
      "tree": "90a079935b36cbccb67b503e3dc75b7c91a49417",
      "parents": [
        "5f5461ad1a48ce2b8113293bad1c1fd639907185",
        "e94e0787db1b5b8ce5fe533634bd116a063faef1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 21 02:36:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 02:36:32 2018 +0000"
      },
      "message": "Merge \"Send logs to TextClassifier by calling onTextClassifierEvent in NAS\""
    },
    {
      "commit": "3207e2fca7734211c5a5b1dad57330dc661c3840",
      "tree": "f81d9cacfd2a4d12244dab68750e18ccb9b12058",
      "parents": [
        "9533413451e7600bf2d1fc3e4604368b1835628f"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Dec 20 09:39:53 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Dec 20 14:04:58 2018 -0500"
      },
      "message": "Fix NPE onNotificationRemoved\n\n- Handle it just in case\n- Pass through stats in progress for notifications canceled\ndue to error\n\nTest: atest\nChange-Id: I0b55305532a57dcd242af0b4e2e0713e88ffbd2a\nFixes: 119552458\n"
    },
    {
      "commit": "61f04dadf6c69df17227f0fc1d0a49459266ae19",
      "tree": "38e99a2a26921fc20a09f3d211ad1cda5d073e29",
      "parents": [
        "e51dab22aa253a0dae628d7227a388a5ae55bc00"
      ],
      "author": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Tue Dec 18 11:40:46 2018 -0800"
      },
      "committer": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Tue Dec 18 11:42:56 2018 -0800"
      },
      "message": "Remove finacial app sms access temp implementation due to security\nconcern.\n\nTest: m -j150 ExtServices \u0026\u0026 adb install -r ${OUT}/system/priv-app/ExtServices/ExtServices.apk\n      atest FinancialSmsServiceImplTest\n\nBug: 111207447\nChange-Id: I9f9c7b9b61014daddabbac9d59a471cd8d711d6e\n"
    },
    {
      "commit": "e94e0787db1b5b8ce5fe533634bd116a063faef1",
      "tree": "4045f691d3fe2cea4bbf0c97b526cd62d2d4653b",
      "parents": [
        "37ccedcc1255bf6f6b45d491d55e6cefa481d839"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Dec 14 11:57:54 2018 +0800"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Sat Dec 15 08:04:15 2018 +0800"
      },
      "message": "Send logs to TextClassifier by calling onTextClassifierEvent in NAS\n\nWhenever NAS called TextClassifier.suggestConversationActions,\nit will cache the notification key to result id mapping.\nThe result id will be used to log subsequent events related to\nthese suggestions.\n\nThis change should allow us to collect CTR.\nTODO: Log the coverage, i.e. among all suggestConversationActions\nrequest, how many of them actually contains some suggestions.\n\nBUG: 120803809\nTest: atest SmartActionHelperTest\nTest: Manual, add a log in TextClassifierImpl.onTextClassifierEvent\n1. Send a message notification\n2. Expand the notification, observe event is logged.\n4. Clicked on one of the replies, observe event is logged.\n5. Send another message to myself\n6. Inline reply it, observe event is logged.\n\nChange-Id: I590d9bfcdb7ae7ee7976740d71bf7f1204683939\n"
    },
    {
      "commit": "c4359bf17fa46d444019a9cc371f1002764d43c6",
      "tree": "56a1545c110e0e920a462566fae4088a07f7b63c",
      "parents": [
        "343a9574739800f00b65ce99816a9301df56a52a"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Dec 11 19:38:53 2018 +0800"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Dec 14 15:49:01 2018 +0800"
      },
      "message": "Add id to ConversationActions and conversationId to its Request\n\nID is used as session id when logging.\nConversation id is used for TextClassifier to keep track of ongoing\nconversation.\n\nBUG: 120803809\nTest: atest TextClassifierTest.java\nTest: atest ConversationActionsTest.java\n\nChange-Id: Ifa2e25005efa9b16e480d9a06b376d726ea6d6d3\n"
    },
    {
      "commit": "9bd78cc1f387ba3e50570c9b89b749853f4d0c32",
      "tree": "140417bb9c48fb775e89c7bc7c1289fc352195e9",
      "parents": [
        "7d97bf04c4ea483f335dd598b14b68971a88b54b",
        "9e92438db8a5823f332ea41dd51d529e798b87dc"
      ],
      "author": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Thu Dec 13 18:38:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 18:38:03 2018 +0000"
      },
      "message": "Merge \"Mainline module service implementation for financial sms message read.\""
    },
    {
      "commit": "a44e66a504c828b4ae580753d865b1dc7bf82780",
      "tree": "4ca14a18e983c1de8ac587396c745515164c9659",
      "parents": [
        "f59189146c7830cbe2d0fd704779183a47bec313",
        "43a899fc2ba43817d5dca87764f4ee625e2577ea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 23:30:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 23:30:02 2018 +0000"
      },
      "message": "Merge changes from topic \"reference_time_tc\"\n\n* changes:\n  Populate person and reference time, uses more than the last message in NAS\n  Pass reference time / locales of messages to the model\n"
    },
    {
      "commit": "9e92438db8a5823f332ea41dd51d529e798b87dc",
      "tree": "832d7eea256006851e2eba836133ee779c6bcc5c",
      "parents": [
        "b3c1557892cc65c31a71eeb42f717dd2cd72b0f0"
      ],
      "author": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Tue Nov 27 16:12:06 2018 -0800"
      },
      "committer": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Wed Dec 12 14:39:51 2018 -0800"
      },
      "message": "Mainline module service implementation for financial sms message read.\n\nTest: m -j150 ExtServices \u0026\u0026 adb install -r ${OUT}/system/priv-app/ExtServices/ExtServices.apk\n      atest FinancialSmsServiceImplTest\n\nBug: 111207447\nChange-Id: Ia6393e8c048396e8b3e8f1e5ebd8efae81656eb7\n"
    },
    {
      "commit": "43a899fc2ba43817d5dca87764f4ee625e2577ea",
      "tree": "362714909e750d047277fb8ee170ff42459aab09",
      "parents": [
        "82fa8d9451a97d4762d9d7b3c9657525c693bfdf"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Dec 07 18:30:51 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Dec 12 22:16:09 2018 +0800"
      },
      "message": "Populate person and reference time, uses more than the last message in NAS\n\nTest: atest SmartActionsHelperTest.java\n\nBUG: 120809869\n\nChange-Id: I6143c977a096135ae254d4106f02ee6d8140a37b\n"
    },
    {
      "commit": "82fa8d9451a97d4762d9d7b3c9657525c693bfdf",
      "tree": "0e62df25b7191e7afa692a98d0d016c405aa7ccc",
      "parents": [
        "af7deaba65fd18a8366356c3048bae2496c3563e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Dec 07 17:37:43 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Dec 12 21:32:35 2018 +0800"
      },
      "message": "Pass reference time / locales of messages to the model\n\n1. It is required to set Person object when constructing a Message object\n   now. As it is very important to know whether the message is from\n   local user or remote user. Introduced PERSON_USER_REMOTE if\n   the caller just want a simple way to specify a remote user.\n\n2. Use detectLanguages to detect the locale of the messages\n   If the model finds the detected language is not something\n   it supports, model may suppress smart reply.\n\n3. Pass the reference time to the model. So model can resolve\n   the absolute time from a relative date string like \"tomorrow 6pm\".\n\nBUG: 120809869\n\nTest: atest ActionsSuggestionsHelperTest.java\nTest: atest ConversationActionsTest.java\n\nChange-Id: Ie079848e9b3d9bb8800f7f95d73e289e831968f8\n"
    },
    {
      "commit": "52c748d541e57c79d530332bddefff298fd18ed5",
      "tree": "4a2c9fbfbad1946d0dd06fbe01d66e295739f2df",
      "parents": [
        "b4815ebf76d734d46ae3d03e97e0544ebb6d99e2",
        "71d53e0cc8debebe82341241c020de927c3959cd"
      ],
      "author": {
        "name": "Adam He",
        "email": "adamhe@google.com",
        "time": "Tue Dec 11 18:59:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 18:59:35 2018 +0000"
      },
      "message": "Merge \"Added new API to set field classification algorithms per category.\""
    },
    {
      "commit": "22b8d9eba488c57e6066b98d4fe4d59c65100bd6",
      "tree": "6160c25a5da832e574eb8c2d103a22b15b80d9d6",
      "parents": [
        "7209d7d633085b41a4ad7818605ebf525db25665"
      ],
      "author": {
        "name": "Milo Sredkov",
        "email": "miloslav@google.com",
        "time": "Tue Nov 27 15:52:10 2018 +0000"
      },
      "committer": {
        "name": "Milo Sredkov",
        "email": "miloslav@google.com",
        "time": "Tue Dec 11 10:09:28 2018 +0000"
      },
      "message": "Make smart suggestion generation configurable\n\nModify the NotificationAssistentService implementation to observe the\nflags in Global.SMART_SUGGESTIONS_GENERATION_FLAGS. Also refactor\nAssistant.SettingsObserver into a separate class so it could be used\nby both Assistant and SmartActionsHelper and tested properly.\n\nBug: 111437455\nTest: make ExtServices \u0026\u0026 adb install -r $OUT/system/priv-app/ExtServices/ExtServices.apk \u0026\u0026 atest ExtServicesUnitTests\nTest: Try different settings like \"adb shell settings put global smart_suggestions_in_notifications_flags generate_replies\u003dtrue,generate_actions\u003dfalse\" and observe.\nChange-Id: I6267988e3e7b87f8608b8beba3c9a645b307516f\n"
    },
    {
      "commit": "71d53e0cc8debebe82341241c020de927c3959cd",
      "tree": "317ab70446c9a5ef84f05fbecfafd95c95e14265",
      "parents": [
        "e02414c225ccee532488642b8b482a225a677e62"
      ],
      "author": {
        "name": "Adam He",
        "email": "adamhe@google.com",
        "time": "Tue Nov 06 14:03:26 2018 -0800"
      },
      "committer": {
        "name": "Adam He",
        "email": "adamhe@google.com",
        "time": "Fri Dec 07 14:41:56 2018 -0800"
      },
      "message": "Added new API to set field classification algorithms per category.\n\nOriginally one field classification algorithm was used to classify every\nfield. The change allows different category of fields to be classified\nby different field classification algorithms.\n\nChange-Id: I27205a4096774d6e0c0d56da5e0fd38dda995d8f\nFixes: 118681526\nTest: atest CtsAutoFillServiceTestCases\nTest: atest android.autofillservice.cts.FieldsClassificationTest\n"
    },
    {
      "commit": "30aa4d3cd641bdb68a94314cf64c4d44e39b4c2a",
      "tree": "aa2410c45d0ef95d8dddf69b16e0b283eeab7a28",
      "parents": [
        "873d88d2c083cf6dc8b144569f53fa5d78c8af68",
        "9b2348b1a4c2d02998a3eef0f56b514cb7d0057b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 05 03:16:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 03:16:40 2018 +0000"
      },
      "message": "Merge \"Flips default for new interruption model setting to on.\""
    },
    {
      "commit": "ddb9b50b5f8fca7537ca12a5447338972aea764a",
      "tree": "a7d2cf3cce49d0ed8093cfe83e57ffacf5ca729b",
      "parents": [
        "afafd66da28a3bf48ce63df5c8309600572ea2cc"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Nov 30 15:11:29 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Dec 04 15:41:21 2018 +0000"
      },
      "message": "Suggesting at most three smart actions\n\nRemoved Notification.MAX_ACTION_BUTTONS check as we no longer\nshow smart actions as normal actions. Instead, suggesting at most\n3 smart actions.\n\nBUG: 111437455\nTest: Manual, observes smart action even the notification always have\n     three normal actions.\n\nChange-Id: I9238ef8b74c4f030979cb36cc87eaeff8c777682\n"
    },
    {
      "commit": "9b2348b1a4c2d02998a3eef0f56b514cb7d0057b",
      "tree": "5ea98f7c4ca375a1cf18d7b16c58d9bbba42521d",
      "parents": [
        "afafd66da28a3bf48ce63df5c8309600572ea2cc"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Wed Nov 28 15:47:27 2018 -0500"
      },
      "committer": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Tue Dec 04 09:50:42 2018 -0500"
      },
      "message": "Flips default for new interruption model setting to on.\n\nTest: manual\nChange-Id: I74a9af24631f92c2a0f0d06145a40e1f8d1f209d\nFixes: 116622974\n"
    },
    {
      "commit": "7d4b3a5f19a3834ed75a3e61d4fdd20b0b64f9cb",
      "tree": "424936685375d691148d16b761a867c1d43f930c",
      "parents": [
        "d8a9db84862b7f9a8d2dc50373e7642b818862f4"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Nov 27 17:29:36 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Nov 29 11:43:53 2018 +0000"
      },
      "message": "Add onActionClicked in NotificationAssistantService\n\nThis is added to report clicks on actions buttons to NAS.\n\nBUG: 119010281\nTest: atest SystemUITests\nTest: atest RemoteViewsTest\nTest: atest NotificationManagerServiceTest\nTest: Manual. Tapped on the action (both normal and contextual) and\n      observed the log.\n\nChange-Id: I381994737d8c3185d3fabf9b6c481fd01a89a634\n"
    },
    {
      "commit": "299967040661f0722585c9a3a180069cdfb14d75",
      "tree": "b513aa77c8d48336caf4cd73cb08033129f29cd2",
      "parents": [
        "060248c3f94a21434291c60aaf0b4c608e7a0a80"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Nov 26 16:23:34 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Nov 27 18:18:21 2018 +0000"
      },
      "message": "Add onSuggestedReplySent in NotificationAssistantService\n\nThis is added to report clicks on smart reply buttons to NAS.\n\nAlso refactored the code a bit by having SmartReplyView to use\nSmartReplies and SmartActions object, rather than passing a long list\nof arguments.\n\nTest: atest SystemUITests\nTest: Manual. Tapped on the reply and observed the log.\nBUG: 111437455\n\nChange-Id: I897fb46a304f4f7b80b2a6bc4db0ac39f6dc6e8f\n"
    },
    {
      "commit": "eda84a7b5be01f869adb6a9876dbe727c2c69609",
      "tree": "e9606ba8230480d7de8a6113a04a1bd5912ba47e",
      "parents": [
        "c61363e7a213ab7e2d3cbf937819a877e567dfac"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Nov 19 17:01:32 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Nov 26 17:05:50 2018 +0000"
      },
      "message": "Introduce onNotificationExpansionChanged and onNotificationDirectReplied ..\nin NAS\n\nAlso, avoid the code duplication around all the notifyAssistant* methods\nby pulling out the common piece of code to notifyAssistantLocked.\n\nBug: 111437455\nBug: 111406942\n\nTest: Observe logs from ExtServices when a notification is expanded\n      / direct replied.\nTest: atest NotificationManagerServiceTest\n\nChange-Id: I5e135d704763ecf847f82a4ff7ffe439fa56fb5c\n"
    },
    {
      "commit": "862095a7752cc74a43ba860414c21a21804d4737",
      "tree": "aa42264d0631694a653bb22b031cdbb0290ef49a",
      "parents": [
        "ab96fe0b43a733d68bc8e11528b9df4a5a5b72f4"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Tue Nov 13 14:09:49 2018 -0500"
      },
      "committer": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Tue Nov 13 14:09:49 2018 -0500"
      },
      "message": "Changes notification auto-demotion to use secure setting.\n\nThis change modifies the code which auto-demotes high priority\nnotifications to use the secure setting which is also used by the\nnotifications UI, instead of using a system property.\n\nTest: n/a\nChange-Id: If206341865d39ea83bf9b8e6da6f3a73e5addcba\n"
    },
    {
      "commit": "d287485e1734a59a6492df349c7d6bc715035349",
      "tree": "adf14006db0d273aca5f041451770db42014d0d2",
      "parents": [
        "c6f53ea93eca3baf32d725879067c774e62b345d"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Oct 23 14:27:40 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Nov 08 18:27:23 2018 +0000"
      },
      "message": "Update ExtService to use suggestConversationActions API to generate replies\n\nAlso removed the SYS_PROP_SMART_REPLIES_EXPERIMENT checking, as we are\nnow hooking up to the real smart replies model.\n\nBUG: 111437455\nBUG: 111406942\n\nTest: Sent a message to myself, observe the generated replies.\n\nChange-Id: I521c5bf5ad010c462c5ea8e1ada565fdf9cab87d\n"
    },
    {
      "commit": "c6f53ea93eca3baf32d725879067c774e62b345d",
      "tree": "e5fddf221636573ad6dae6797ac57d0312dac209",
      "parents": [
        "50619770805796dbec93eb9378c8dc21f6f66f7d"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Nov 06 20:02:08 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Nov 06 20:02:54 2018 +0000"
      },
      "message": "Smart actions and replies feature should not be guarded by\n... AUTO_DEMOTE_NOTIFICATIONS\n\nTest: Found smart suggestions in notification again\n\nBUG: 119122162\nChange-Id: Iee8e559e02e91f0b3045d72f752741d53536b0c8\n"
    },
    {
      "commit": "aa1231fbe94de5fd80b3a6bcc25713917da9bd10",
      "tree": "c3ba1fd84a64e8d099458fde049103a64e63d16f",
      "parents": [
        "c8c634f3d667fbfea8adf21bc40dfc5e1073b8ab"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Fri Nov 02 16:25:49 2018 -0400"
      },
      "committer": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Fri Nov 02 20:38:04 2018 +0000"
      },
      "message": "Put notification demotion behind flag\n\nPut notification categorizer and aging importance demotions\nbehind a flag\n\nTest: n/a\nChange-Id: I431fcde73881a0161de16eda1e7ba1eec3283b6a\nFixes: 118842437\n"
    },
    {
      "commit": "b6bd93d960676a407ef04cb58a15e9b3b187a42e",
      "tree": "13fa1306a70c260e7d0789ecc8df90c6c93122a2",
      "parents": [
        "2a7854adddd652c7488a78fe93e2419b4e023854"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Oct 24 09:22:38 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Oct 25 14:17:02 2018 -0400"
      },
      "message": "Add APIs for notification app overlays\n\n- Can be enabled/disabled at channel and channel group levels\n- An activity to launch can be added to notification\n\nTest: atest, cts\nBug: 111236845\nChange-Id: I9a4832211676cca4649d1f28e6e3e3157954d268\n"
    },
    {
      "commit": "cded3f16a0f49a9a6fc962e065079f4f7cf8c12f",
      "tree": "ca9cece5d39c1d73e587112e1d3875f15375577f",
      "parents": [
        "e08bef258c6da238a274959aad66154d4a20b0c7",
        "48a6ed99f8711f7cac80e0a89d6674631a17d1f2"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Oct 22 19:20:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 22 19:20:46 2018 +0000"
      },
      "message": "Merge \"Additional functionality for the noti asst\""
    },
    {
      "commit": "48a6ed99f8711f7cac80e0a89d6674631a17d1f2",
      "tree": "9fd64a655ba4bc8eab1fd1379fd274355b20d91a",
      "parents": [
        "3dfdde0a51f262e5a58505ad07f36abcc5abaec4"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Oct 22 12:52:03 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Oct 22 12:52:03 2018 -0400"
      },
      "message": "Additional functionality for the noti asst\n\n- Allow apps to learn if users chose the importance of a given\nchannel\n- Allow the asst to query channels and channel groups of installed\napps\n\nChange-Id: Ic65dfdc79d5135940c1debb101b849b5837d78b5\nFixes: 118140597\nTest: runtest systemui-notification\n"
    },
    {
      "commit": "067a739aad708186f30a07415a466f4393f275eb",
      "tree": "1eae2e281f6dd061bd928f4c87d5d319113bc776",
      "parents": [
        "29077124e9bce23e4ffc1d4d3d0f8bac07016cc4"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Oct 17 15:35:57 2018 -0400"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Thu Oct 18 11:16:16 2018 -0400"
      },
      "message": "Don\u0027t increase notif importance when shouldSilence\n\nIf a notification already has a silent importance, the assistant\nshouldn\u0027t suggest a higher importance.\n\nChange-Id: I304743330a1183e3730b0d0b70b38d577f3dfad3\nFixes: 116810453\nTest: Notification Attention Management Test (CTS Verifier)\nTest: make ExtServices \u0026\u0026 adb install -r $OUT/system/priv-app/ExtServices/ExtServices.apk \u0026\u0026 atest ExtServicesUnitTests\n"
    },
    {
      "commit": "2fe035b449765da5c2b27848daa89d4dfbf43e71",
      "tree": "f0c047c7613a4e4ea3fa6f111d0a9e3171039491",
      "parents": [
        "a9b4133c724fc399e4aca6cf3747d67940dcfd67"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Aug 21 17:03:04 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Aug 28 16:28:30 2018 +0000"
      },
      "message": "Revert \"Fixed FieldClassificationStrategy that gets data from the package info.\"\n\nThis reverts commit cfa0d49be5eba1b878c1eab06a1fb53bdf1a9100.\n\nBug: 112776204\nTest: atest FieldsClassificationTest#testGetAlgorithm\n"
    },
    {
      "commit": "fd4099d74ff87b907f9a99662665175844b75dac",
      "tree": "b9a56fb04fa4d77ace3257352a6c280ba70f730f",
      "parents": [
        "cfd2692a94503753bf9abcffdb40ed2de682dd41"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 21 11:06:06 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 21 12:58:30 2018 -0400"
      },
      "message": "Add ability to pass user sentiment to assistant\n\nTest: runtest systemui-notification\nBug: 4798501\nChange-Id: Ied0d0a83c4fbbdde59ee8f4e9394161792c42c03\n"
    },
    {
      "commit": "cfd2692a94503753bf9abcffdb40ed2de682dd41",
      "tree": "e077eda2b1ca06133fac5e60709ca4fa63c3a608",
      "parents": [
        "4bc42b9858abbcd77167aa433fd4bb464b43a055"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 21 12:35:45 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 21 12:41:21 2018 -0400"
      },
      "message": "Add AndroidTest file for ExtServices\n\nTest: make\nBug: 111475013\nChange-Id: Id649a1ed2109dee87bb8c61c3a161efe99c5e457\n"
    },
    {
      "commit": "6a63d1bfb5229cf30b9c2d0d49cd6ea2c834f8a6",
      "tree": "a43e42133fbc7fd24e1546e314802efc6d0c0cb3",
      "parents": [
        "93def8053d757210f259c1c4551f01b8a8c38fd6"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 14 16:59:33 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Aug 20 18:59:31 2018 +0000"
      },
      "message": "The quietening round 3: aging\n\nMove notifications into the min bucket after they\u0027ve\nbeen seen (plus a variable delay based on type).\n\nTest: ExtServicesUnitTests\nBug: 111475013\n\nChange-Id: Id577162d063dc1b0ad370f66af7a503e294c5b65\n"
    },
    {
      "commit": "901bf28b5f7a87b0a3ae6b75787e226b1e4554df",
      "tree": "01756bb25b152ed1c2ae11d959506e9476f054d5",
      "parents": [
        "43b08a273324b9260b054a2c7b40404d2261a34c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 14 10:09:36 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 14 20:45:25 2018 +0000"
      },
      "message": "The quietening part 2: rules\n\nApply some rules about what notifications are automatically\nsilenced.\n\nTest: make ExtServicesUnitTests \u0026\u0026\nadb install -r $OUT/testcases/ExtServicesUnitTests/ExtServicesUnitTests.apk \u0026\u0026\nadb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner\nBug: 111475013\n\nChange-Id: Idf0434c0688b3249a9fc2d5aa655665e71e53249\n"
    },
    {
      "commit": "efcdff452864b810172967b144632331bd1d35a9",
      "tree": "b0865211737ce26514e1993b6ef1b1dc08c7bc79",
      "parents": [
        "bb040710f284fe9a8952a338cb54febccc270b58"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Aug 09 09:42:56 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Aug 10 15:47:54 2018 -0400"
      },
      "message": "The quietening round 2 part 1\n\nAllow the notification assistant to block or silence\nincoming notifications, or demote notifications after they\nare posted\n\nAlso temporarily silence everything by default\n\nPlus: bonus refactoring of the cancel notification runnable so I could\nwrite just one of those tests :)\n\nBug: 111475013\nTest: manual, runtest systemui-notification\nChange-Id: Ifa04a21919f60d06080cd63e7d7747180b641308\n"
    },
    {
      "commit": "c4f2ec7b3a731ddbc0415ca8d56dbcd0be85291e",
      "tree": "c7305b399d30ff23e91f617e47df3d05d58a4e78",
      "parents": [
        "e87edb1810fe47c77c966da680a976b916aa8413",
        "c9acf67886d27e040bcb1bd3e665ab8a4351ae07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "message": "Merge \"Allow NotificationAssistantService to suggest smart replies\""
    },
    {
      "commit": "c9acf67886d27e040bcb1bd3e665ab8a4351ae07",
      "tree": "8e8220db059818dbb1716bed8e4d0a6a5fb05632",
      "parents": [
        "9a64ba2602677e1ec3e0edc94e754d393983362e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 20 13:58:24 2018 +0200"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Aug 02 11:39:35 2018 +0100"
      },
      "message": "Allow NotificationAssistantService to suggest smart replies\n\nIf the apps has provided their own choices, they will be used, as opposed\nto the \"smart replies\" from NAS.\nOtherwise, smart replies will be applied to the notifications\nwith a freeform RemoteInput but without choices.\n\nThe smart reply model is not ready yet, so canned response is hardcoded\nand it is disabled by default. To test it out, run\nadb shell setprop persist.sys.smart_replies_experiment true\nAlso, to get rid of the target \u003e\u003d P SDK requirement, you may want to run:\nadb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n\nTest: atest SystemUITests\nTest: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenerServiceTest.java\nTest:\n1. adb shell setprop persist.sys.smart_replies_experiment true\n2. adb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n3. Send a message to myself, observe the hardcoded smart replies.\n\nBug: 111674540\n\nChange-Id: Ia61a77faef7c4dcba0501abfec80e3e8cc7274e4\n"
    },
    {
      "commit": "cfa0d49be5eba1b878c1eab06a1fb53bdf1a9100",
      "tree": "daf1056563c2a269fa4860e400de8f4be0346bbf",
      "parents": [
        "2e8c7670b12ce7075bcc34c1502d268a71f99a0d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jul 25 16:57:40 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jul 25 17:11:56 2018 -0700"
      },
      "message": "Fixed FieldClassificationStrategy that gets data from the package info.\n\nThe metadata-based approach does not work with AAPT2.\n\nFixes: 80422287\nTest: atest FieldsClassificationTest\nTest: m -j update-api ExtServices\n\nChange-Id: Ib7b626e77518e7eb4fcb88d85129cb67ed090c28\n"
    },
    {
      "commit": "c68b280d37587729a01a01bfcc1d45f06748bf80",
      "tree": "8afa553a07f0e933ab73c2a66d9038565ba08871",
      "parents": [
        "9145fb62978288b972cc518ad4098a59d7d1e43a"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 13 15:59:29 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 13 15:02:37 2018 +0000"
      },
      "message": "Ignore notification from other users\n\nThis fixed the issue that both personal and work NAS try to suggest\nadjustment to work notifications. And if the personal one wins, tapping\non smart actions in work notification will bring up personal app.\n\nBUG: 110527159\nTest: Send a message to work profile hangouts. Click on the smart action,\n      work app is launched.\n\nChange-Id: I7021de43c10c8ff3abab455b1d58384661b99a76\n"
    },
    {
      "commit": "9145fb62978288b972cc518ad4098a59d7d1e43a",
      "tree": "aab850fe4646a2d9bcb6a907b29d6978339dd1aa",
      "parents": [
        "b5bcf495b84011b25db312687a819b3582c5233e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 13 13:48:53 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 13 13:48:53 2018 +0100"
      },
      "message": "Fix smart action is not enabled in first whatsapp notification\n\nWhen there is only one incoming message, whatsapp neither set\ncategory as msg nor use MessageStyle. To fix this, we add one more\nheuristic. If a notification has inline reply, we consider it as a\nmessage notification.\n\nBUG: 110527159\nTest: Send myself a whatsapp notification. Observe that smart action is\n      added.\n\nChange-Id: I2854764dce4eadd4b785d43f3042499607b2e8bf\n"
    },
    {
      "commit": "09db2ea92409ebfccffe6dc07cc78f4aff5b8a6d",
      "tree": "cf3bf99982238661fd248fe5bf432ffaec784a97",
      "parents": [
        "85f01e682eff7b400ed6996f7482b695249db559"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jun 27 18:12:48 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jul 11 19:17:16 2018 +0000"
      },
      "message": "Suggest smart actions in ExtServices\n\nBy using text textclassifier API, we classify entities like\nemail, phone, address in the notification and suggest the corresponding\nactions.\n\nTest: Manual test for now. Sideload GoogleExtServices. Write a sample app\nto generate notification with phone number / address, etc, and finally\nobserve the smart actions.\n\nBUG: 110527159\n\nChange-Id: I02740cb07fa25a588d9e864990f95332d6830f12\n"
    },
    {
      "commit": "afab9bc2569b7d1fa4f2f0d596b9b688b7f3ba42",
      "tree": "2f2b7f3980ac4811e67a42dcb21f42ddc2f0f11b",
      "parents": [
        "841f7c2f0cbfa387806831d6107899804c9c3bd8"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jun 22 10:40:55 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jun 22 14:43:01 2018 +0000"
      },
      "message": "Remove sentiment reason\n\nChange-Id: I9f4426d2252d285b24401fdff5e1df21a46b8d03\nFixes: 110679864\nTest: manual\n"
    },
    {
      "commit": "3e24643bba715cf21b4eefe573cea40f2c8fdda1",
      "tree": "3075526486fa572af5730fa7c0b68cceb70cda2b",
      "parents": [
        "9839db19b3d90f8a1733f12f895929692650ebac",
        "b220d235295c9e9f1e61b962119ef04615171816"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Wed May 09 09:06:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 09:06:31 2018 -0700"
      },
      "message": "Merge \"[Notif] Rename/reset blocking helper stats file\" into pi-dev am: 1822926cfb\nam: b220d23529\n\nChange-Id: Ie065b465f461faa433cf70ed84c51c034b845dcb\n"
    },
    {
      "commit": "9839db19b3d90f8a1733f12f895929692650ebac",
      "tree": "cea944028c7d58b3b7dbe438425e86a6e82bc07b",
      "parents": [
        "2ec88c40508ca7c473be081ac72c787c27687940",
        "2ec45853a854b5c9e8f16edaa25ab80aaa001a37"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 08:56:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 08:56:29 2018 -0700"
      },
      "message": "Merge \"[Notif] Revert dismiss-to-view threshold to .8\" into pi-dev am: 08d3e63b70\nam: 2ec45853a8\n\nChange-Id: I6549d42a69ec290fce6ebcf005c76469e9997d3d\n"
    },
    {
      "commit": "1822926cfbf55cc68a85cdfd588802f4a106cdb5",
      "tree": "e0a42579e4e1bee2536dd19678fff2a453d69dc1",
      "parents": [
        "08d3e63b7015fdbea2adebf27588cce82c1e6865",
        "6299046929a76a3bc5e74d3591e92d0e1b19e3e2"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Wed May 09 15:33:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 15:33:04 2018 +0000"
      },
      "message": "Merge \"[Notif] Rename/reset blocking helper stats file\" into pi-dev"
    },
    {
      "commit": "c30bf941341d36fe7d717e6350c13fdf14acd63a",
      "tree": "510f474bf3edcd4fc5d94b6c0990480571e64759",
      "parents": [
        "178f728103d2c7e0ce4503be439c85d408c3c61a",
        "566a00935e9c6ffe8f075974a03f91d708089d72"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 14:32:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 14:32:03 2018 -0700"
      },
      "message": "Merge \"Add knobs for tweaking blocking helper thresholds\" into pi-dev am: 7af8fe3e29\nam: 566a00935e\n\nChange-Id: I39b306a0d56b4b9a27db4af098b0b30f75e535c7\n"
    },
    {
      "commit": "eba2286aea3f61fddf80ed0b62556337cd59506d",
      "tree": "6c2f39f6866b45f73e90a35a8e07756cb9c89eb9",
      "parents": [
        "7af8fe3e295f40b6c4e9d247fcfa5069735af1c9"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 14:23:43 2018 -0700"
      },
      "committer": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 14:28:37 2018 -0700"
      },
      "message": "[Notif] Revert dismiss-to-view threshold to .8\n\nLower how frequently users will see the blocking helper in preparation\nfor the experiment + file reset.\n\nTest: Manual val change, tests pass\nBug: 77143005\nChange-Id: Ie49dc5c08e7a5a6c30b3f38356e312d6fb28574e\n"
    },
    {
      "commit": "0350dab5b690652f78024a211c993f32fb766876",
      "tree": "38ee9f6a025fde93c0d8bf30ec235c83d0d33474",
      "parents": [
        "530c4c1f0f49e1d13684b423b1dc0a63577d9508"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Fri May 04 13:42:18 2018 -0700"
      },
      "committer": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 09:34:38 2018 -0700"
      },
      "message": "Add knobs for tweaking blocking helper thresholds\n\nAdded both blocking helper parameters to Global Settings to allow for\ntweaking stats/values. Added listeners for value updates (so that\nchannels are updated properly with new thresholds).\n\nBug: 77143005\nTest: manually, test cases\nChange-Id: Ia5cfb29ca40500a694261bd5e9e60fa1f34e742a\n"
    },
    {
      "commit": "6299046929a76a3bc5e74d3591e92d0e1b19e3e2",
      "tree": "fd086131f7a60a0f5b08c907849472aebd4af759",
      "parents": [
        "530c4c1f0f49e1d13684b423b1dc0a63577d9508"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 07:55:02 2018 -0700"
      },
      "committer": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Tue May 08 07:55:02 2018 -0700"
      },
      "message": "[Notif] Rename/reset blocking helper stats file\n\nChanged the name of the blocking helper stats file to effectively reset\nblocking helper stats.\n\nWill be submitted following a dogfood email being sent out.\n\nTest: Manually, mp droid -\u003e check file in adb shell\nBug: 77143005\nChange-Id: I4d79077220d628e5fd7ce40553222658f94efc24\n"
    },
    {
      "commit": "1b90fe11323ef50902abcbc04701517bb8228612",
      "tree": "058b460b29a67fdea387fbe372bf970ab1a7389f",
      "parents": [
        "477231494c7852b0888da4fe56d2774f8d69d9ec",
        "a2b55eb813a58706080e0d6d2d0d6f65b18f56eb"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Mar 28 13:42:29 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 28 13:42:29 2018 +0000"
      },
      "message": "Merge \"Change the triggering criteria for blocking helper\" into pi-dev am: 0712a8781b\nam: a2b55eb813\n\nChange-Id: Idf90cd57f31edcee9059543fa9bf5ce7826dfb8e\n"
    },
    {
      "commit": "435bc7afbf202ad354ee1d5575a9eb044afe886d",
      "tree": "499585cb7d990e24827c7b9983698a96ca37b62a",
      "parents": [
        "cdaba41a6f36262ae37b3425b8da981d2266345b"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 27 15:41:51 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 27 18:03:27 2018 -0400"
      },
      "message": "Change the triggering criteria for blocking helper\n\nTest: runtest systemui-notifications\nBug: 77143005\nChange-Id: Iab0237226b33afe0cde362d6e6ee231365b178a4\n"
    },
    {
      "commit": "56622420f20deb3a0dd00db55d12c63311cd4761",
      "tree": "90493ff56144d22282b20d8cbda27feb697620ee",
      "parents": [
        "ec63ab296ee40a7944981d8d6d018f461f25deb5",
        "aa7038495963b998b2ce35b6fb0d46244b614df9"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Mar 15 22:20:56 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 15 22:20:56 2018 +0000"
      },
      "message": "Merge \"Improved Field Classification edit distance algorithms.\" into pi-dev am: a46e4d1059\nam: aa70384959\n\nChange-Id: I530b741765fc8ad27cfba92583bf739748566096\n"
    },
    {
      "commit": "df73d68d74777c3d96857dc8093a21a5c85fffb4",
      "tree": "d41f5d3562453f40e2ec9841bc37d6d2587ea38f",
      "parents": [
        "6d4bdc53814fb99623ab11c9b2b4a1db7f4a4858"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 14 17:23:28 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Mar 15 11:29:50 2018 -0700"
      },
      "message": "Improved Field Classification edit distance algorithms.\n\nThe initial implementation was very simple, as the focus was the overall\nworkflow. Now it uses a proper implementation, copied from\ncom.android.tools.lint.detector.api.LintUtils.java\n\nTest: atest ExtServicesUnitTests FieldsClassificationTest\nBug: 70291841\n\nChange-Id: I7424b7f03a3c9cf9619c154656fa211b9f0c494a\n"
    },
    {
      "commit": "237c2f592aaaf874fa6704e47ada87af2112f06f",
      "tree": "2c8d6d8389eac41feda771e8a44b3e10a2628707",
      "parents": [
        "117016026df312f047a9eea1ce8c32fa6d37629c",
        "08dcc0aaec407cfdc661e406ef0cffc685c49ac0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 22:26:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 22:26:26 2018 +0000"
      },
      "message": "Merge \"Moves android:priority to intent-filter.\""
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "08dcc0aaec407cfdc661e406ef0cffc685c49ac0",
      "tree": "03519635c05fe25842eceb40d828d7f76f9a3b3b",
      "parents": [
        "85a6db68f1860bbaacc1cc21e29c4f61aabe0abb"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Tue Feb 13 16:33:38 2018 -0800"
      },
      "committer": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Tue Feb 13 16:36:22 2018 -0800"
      },
      "message": "Moves android:priority to intent-filter.\n\nTest: tested it on a Pixel 2 XL.\n\nChange-Id: Ibbb9f8b6ee3473ed455a7e5700b0ee516901b426\n"
    },
    {
      "commit": "ef934fdd482b73c6bfb84ede3900bb45e24f3bfc",
      "tree": "5ce7f843b7c37d9b59e64b1903e7a18222931359",
      "parents": [
        "099267f3237cdeca31663448b28a388d2a00294d"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Feb 01 14:39:17 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Feb 01 22:57:29 2018 +0000"
      },
      "message": "Rebind assistant services on user unlocked.\n\nChange-Id: I25daeaffee282df3b2e3819a29db6c3117b163f5\nFixes: 72453895\nTest: manual\n"
    },
    {
      "commit": "d11a66220c424c030542aca5c47de059d4a308cc",
      "tree": "6559eb78701cc5a92533d9d95b5e37a8dfa6809d",
      "parents": [
        "e4ac740e39589e3dd3c1696782a39fa8e74764ee"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Jan 18 13:38:24 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jan 19 12:16:21 2018 -0800"
      },
      "message": "Minor API changes on Autofill Field Classification:\n\n- Removed Scores class and use float[][] directly.\n- Created constant for metadata keys.\n- Removed getAlgorithName() from FieldClassification.\n\nBug: 70291841\n\nTest: m -j update-api\nTest: atest CtsAutoFillServiceTestCases\n\nChange-Id: I62abf93c4f6f0804d838c7fb183c0b8bcb88a136\n"
    },
    {
      "commit": "e4ac740e39589e3dd3c1696782a39fa8e74764ee",
      "tree": "caca6f3659bee527151c53177383e2daea559873",
      "parents": [
        "bf2d3fa9b98c0deb05333c6779ee714e49130452"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jan 16 19:37:00 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jan 19 09:39:38 2018 -0800"
      },
      "message": "Implemented getAlgorithm() and getDefaultAlgorithm() using manifest metadata.\n\nBug: 70939974\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationTest\n\nChange-Id: I8b7028c0acfef164b84821a9e4c99817acc838f8\n"
    },
    {
      "commit": "bc055b0ef1c11337b8ec5f681097e7b51e84b9c4",
      "tree": "bc2348a03853306ec0d4b1358f188d843d0385c1",
      "parents": [
        "d67e50eb805239fddedd5bbb5d21b8f78aba26e5"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jan 05 17:04:10 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Jan 18 10:40:30 2018 -0800"
      },
      "message": "Moved Field Classification score logic to ExtServices.\n\nBug: 70939974\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationTest \\\n            CtsAutoFillServiceTestCases:UserDataTest\nTest: atest CtsAutoFillServiceTestCases\n\nChange-Id: I75fd59b5d7530fcd7095b26f6e592d7459c7d235\n"
    },
    {
      "commit": "b866307f99c35252dcb76e9269bb57d97c3c4b86",
      "tree": "ce8d4edc1cf2edbc48029214dfbde2213a3d9466",
      "parents": [
        "9d25218985ba8ea944b4a51d194744b5a85a1105"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:02:42 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:07:17 2017 +0000"
      },
      "message": "Stop statically including legacy-android-test\n\nStatically including legacy-android-test leads to duplicate classes\nwhich causes build time problems (with Proguard) and runtime problems on\nolder SDK versions. This change:\n* Stops statically including legacy-android-test.\n* Adds compile time dependencies on andoid.test.base, android.test.mock\n  and android.test.runner where necessary.\n* Adds \u003cuses-library android:name\u003d\"android.test.runner\"/\u003e to any\n  affected package to ensure that the classes that were included by\n  legacy-android-test are still available at runtime. That also adds a\n  dependency on android.test.base and android.test.mock.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* apct-tests/perftests/core/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CorePerfTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CorePerfTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* core/tests/ConnectivityManagerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ConnectivityManagerTest\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ConnectivityManagerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* core/tests/bandwidthtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BandwidthTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BandwidthTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/bluetoothtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BluetoothTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BluetoothTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DownloadManagerTestApp\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DownloadManagerTestApp\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n* core/tests/hosttests/test-apps/ExternalSharedPerms/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsTestApp results in duplicate classes which leads\n    to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsBTTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsDiffKeyTestApp results in duplicate classes\n    which leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsFLTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/notificationtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NotificationStressTests\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NotificationStressTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* keystore/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in KeystoreTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* media/mca/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CameraEffectsTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CameraEffectsTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* media/tests/MediaFrameworkTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    mediaframeworktest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in mediaframeworktest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* nfc-extras/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NfcExtrasTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/CarrierDefaultApp/tests/unit/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CarrierDefaultAppUnitTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    CarrierDefaultAppUnitTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/ExtServices/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ExtServicesUnitTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ExtServicesUnitTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/MtpDocumentsProvider/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because MtpDocumentsProviderTests\u0027s source\n    depends on their classes and because of these changes they are no\n    longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    MtpDocumentsProviderTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/SettingsLib/tests/integ/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SettingsLibTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsProvider\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/AndroidManifest.xml\n    Add uses-library for android.test.runner because otherwise this\n    change would change the set of files available to SettingsProvider\n    at runtime.\n\n* packages/Shell/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because ShellTests\u0027s source depends on their\n    classes and because of these changes they are no longer present on\n    the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ShellTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/SystemUI/shared/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUISharedLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SystemUI/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUITests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SystemUITests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* packages/WAPPushManager/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    WAPPushManagerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WAPPushManagerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* sax/tests/saxtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksSaxTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworksSaxTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/BrowserPowerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BrowserPowerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BrowserPowerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/CanvasCompare/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CanvasCompare\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CanvasCompare results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/CoreTests/android/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CoreTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CoreTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/DataIdleTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DataIdleTest\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DataIdleTest results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/FrameworkPerf/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPerf\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworkPerf results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/HierarchyViewerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    HierarchyViewerTest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in HierarchyViewerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/ImfTest/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ImfTestTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ImfTestTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/Internal/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in InternalTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/MemoryUsage/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    MemoryUsage\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in MemoryUsage results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/NetworkSecurityConfigTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NetworkSecurityConfigTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    NetworkSecurityConfigTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/SoundTriggerTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SoundTriggerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SoundTriggerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/SurfaceComposition/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SurfaceComposition\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.runner.stubs\u0027 to LOCAL_JAVA_LIBRARIES because\n    SurfaceComposition\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/TtsTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TtsTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    TtsTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* tests/WindowAnimationJank/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WindowAnimationJank\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/permission/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPermissionTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    FrameworkPermissionTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/testables/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TestablesTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because TestablesTests\u0027s source depends on\n    their classes and because of these changes they are no longer\n    present on the compilation path.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Iacfc939c97415314366ed61c5f3b7aa1a40f0ec9\n"
    }
  ],
  "next": "3d5b3c7eadccca697d54dbb182ce510790e37c4c"
}
