)]}'
{
  "log": [
    {
      "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": "0c499ab71f577d10fe751801bd538df30e629878",
      "tree": "fadb7dc23d074c7fe7942c8f01723f025fc4548e",
      "parents": [
        "834ed33fe5fe4c4bea9777fd4ccc7909eb5ff140",
        "cfa0d49be5eba1b878c1eab06a1fb53bdf1a9100"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 01 20:28:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 20:28:06 2018 +0000"
      },
      "message": "Merge \"Fixed FieldClassificationStrategy that gets data from the package info.\""
    },
    {
      "commit": "99334bf938ce9350b518a034fbf458e2e12212b3",
      "tree": "586ef93c86a9b201d46c1eec1eb89eff71808783",
      "parents": [
        "0bdc3552efec1d023bcc5790c802d1f6ff2bd6e7",
        "d2c86ab546309f74dc8464a41e54814f865648a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 30 15:31:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 15:31:28 2018 +0000"
      },
      "message": "Merge \"Encourage creating Binder tokens with a descriptor.\""
    },
    {
      "commit": "d2c86ab546309f74dc8464a41e54814f865648a0",
      "tree": "7a582a95c61684885c872a263e8c8f57acd8790f",
      "parents": [
        "69a30f6813de176c93616af249032ee594735444"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Jul 17 16:30:40 2018 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Jul 30 12:15:58 2018 +0000"
      },
      "message": "Encourage creating Binder tokens with a descriptor.\n\nBinder tokens (Binder objects without an attached interface) are used\na lot with Android. These tokens don\u0027t have an interface descriptor,\nwhich means that proxies (references) to these tokens are impossible\nto identify when looking at a heap dump.\n\nTo make that easier, introduce a new constructor for Binder that allows\nthe caller to specify a descriptor.\n\nBug: 109888955\nTest: builds, boots\nChange-Id: I18fd00483abc29edf87f84945323a10fe4f6cd42\n"
    },
    {
      "commit": "8f09a5057eac1d3fe328fbfcfa7442984270fb69",
      "tree": "67cfb8f8ad7ce6a02476fe6ce2f26020058ba8d7",
      "parents": [
        "9016f92178c1128a9439cb3242316c84f2362b07"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Jul 27 16:47:45 2018 +0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Jul 30 10:42:06 2018 +0800"
      },
      "message": "Expose Ambient Wallpaper API\n\nIn P we introduced a private concept of AOD wallpapers, in Q\nwe\u0027re making it a public surface.\n\nBug: 111395593\nTest: make\nChange-Id: I4c406386f0ee15dc8734a24b040482b6cb807126\n"
    },
    {
      "commit": "a1b12c82a1b466967ef285f53ddc6850243e4d84",
      "tree": "bda1d080b4eddb9858af1c3eb90e85a6748552be",
      "parents": [
        "5d97dd31f0ff192be94f507b8cfb3c339c7f4409",
        "a1c21c0a022f0d47cbda40929e5c2eaf78c48f0c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Sun Jul 29 03:16:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 29 03:16:22 2018 +0000"
      },
      "message": "Merge \"Introduce Font and its builder class\""
    },
    {
      "commit": "b5df055d34743c5a9ca36c384700c163bfeffb52",
      "tree": "b200aa80c92133a72d8861c85e4fd9cd181212f5",
      "parents": [
        "2713618b34e60ba10c6418b0a9bd5faece442297",
        "03a65b04d8c6eb8ba4313e2d94c6cac941c64dc9"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Jul 27 23:43:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 23:43:32 2018 +0000"
      },
      "message": "Merge \"Enhance a11y soft keyboard controller\""
    },
    {
      "commit": "3ea5588f7cae9bbf0b09aeed35e354de6ceb3ad9",
      "tree": "dd4a756c70e181f1b3ace737dd2c27b7f3098c52",
      "parents": [
        "1afb15913c73a4cef036dbe8cc97a1e0de78e02d",
        "b89df9eac88c3fb515bfc235fee9a51ff2b49478"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jul 27 23:21:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 23:21:53 2018 +0000"
      },
      "message": "Merge \"Support for appending \"standalone\" WHERE chunks.\""
    },
    {
      "commit": "afeca1dedf787f809df44854023bf6b9242ba814",
      "tree": "6011553f7d4c8bdf39c93185352df9520fb1bdcc",
      "parents": [
        "3af4a96df7787c9f178d3adb757460f0a565b096",
        "9ab32f874086cf826cb6ecd1e3cae89b53ffb966"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 27 22:42:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 22:42:31 2018 +0000"
      },
      "message": "Merge \"Add a frame commit callback test API\""
    },
    {
      "commit": "3af4a96df7787c9f178d3adb757460f0a565b096",
      "tree": "06dc14702487bc6b82ebf90dc68d2fac50658d17",
      "parents": [
        "0094ef649dbf96a90b8258f36cb8b8a3a4dd425e",
        "323fdf2676165c9a000db6c818fbf7bec88ad3fd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 27 22:33:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 22:33:27 2018 +0000"
      },
      "message": "Merge \"Add attribute to control forced dark mode\""
    },
    {
      "commit": "b4cd7588cd7e9b4541be7b79ce2fb3bebfead15d",
      "tree": "a44528e1a77a197f4f0d65662ca434d918bc7a87",
      "parents": [
        "2c813a2fbe5b82247294637bdb77a152035392e4",
        "42122bfecfc5efba843726f88ecc8e24adf3eabc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jul 27 20:16:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 20:16:40 2018 +0000"
      },
      "message": "Merge \"Bind update() args as Object[] for performance.\""
    },
    {
      "commit": "03a65b04d8c6eb8ba4313e2d94c6cac941c64dc9",
      "tree": "b404e34388869f4365223f3744cf49b67adfc189",
      "parents": [
        "e90533787db2f7157fad0cfb6e77d99d3b4d5cc5"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Thu Jul 19 16:07:57 2018 -0700"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Jul 27 12:58:18 2018 -0700"
      },
      "message": "Enhance a11y soft keyboard controller\n\nAllow a11y services to request that the soft keyboard be\nshown even when the hard keyboard is attached.\n\nDefer to users who override this behavior, and put things\nback the way they were when a service requesting this\nbehavior stops.\n\nBug: 31012180\nTest: Adding CTS tests in linked CL, ran a11y unit tests,\nmodified TestBack to use the new flag and verified behavior\nwith a hard keyboard and verfied that settings behave as\nexpected when overriding and rebooting.\nChange-Id: I530481e102ac376a4506b662862ee1ee74815b40\n"
    },
    {
      "commit": "b89df9eac88c3fb515bfc235fee9a51ff2b49478",
      "tree": "e9c3c3dbb366c3fbdc1f6cd12e61f05b0d6f715d",
      "parents": [
        "42122bfecfc5efba843726f88ecc8e24adf3eabc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 26 14:36:59 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 27 13:45:51 2018 -0600"
      },
      "message": "Support for appending \"standalone\" WHERE chunks.\n\nThe existing appendWhere() methods aren\u0027t very friendly for\ndevelopers, since they require manual tracking of state to decide if\nsubsequent standalone chunks should be prefixed with \"AND\".\n\nWhile it\u0027s tempting to offer direct argument binding on the builder\nclass, we can\u0027t really deliver on that API in a secure way, so instead\nadd separate bindSelection() method which explicitly burns arguments\ninto a standalone selection string, which can then be appended to\nthe builder.\n\nThis was the last piece of new functionality being used by\nSQLiteStatementBuilder, so we can delete that class and migrate\nusers back to SQLiteQueryBuilder.\n\nBug: 111268862\nTest: atest frameworks/base/core/tests/coretests/src/android/database/DatabaseUtilsTest.java\nTest: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java\nTest: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nChange-Id: I418f24338c90bae8a9dad473fa76329cea00a8c5\n"
    },
    {
      "commit": "9ab32f874086cf826cb6ecd1e3cae89b53ffb966",
      "tree": "8859cc5cb878ec52f743ca8bde4bdb0ad3b2d908",
      "parents": [
        "ce419f134232419cfefcc437d9380a263c14dfb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 26 11:02:53 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 27 09:32:08 2018 -0700"
      },
      "message": "Add a frame commit callback test API\n\nBug: 111719753\nTest: CtsUiRenderingTestCases\nChange-Id: Ie08d49b735f5a42a2f06e9049547a2287ecce575\n"
    },
    {
      "commit": "a1c21c0a022f0d47cbda40929e5c2eaf78c48f0c",
      "tree": "8989fec359529a2907b1fb72374a331fb85553e6",
      "parents": [
        "a71bee878e1308724a0f4d32d845bf60883e4ba7"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Jul 20 15:57:39 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 26 16:38:44 2018 -0700"
      },
      "message": "Introduce Font and its builder class\n\nThis CL is a ground work of the new Typeface construction API and\nnobody uses this class except for CTS.\nI\u0027ll add FontFamily class to be able to bundle these Font clases\nand register to the Typeface.\n\nBug: 72665240\nTest: atest FontTest\nTest: atest CtsWidgetTestCases:EditTextTest\n    CtsWidgetTestCases:TextViewFadingEdgeTest\n    FrameworksCoreTests:TextViewFallbackLineSpacingTest\n    FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest\n    CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest\n    CtsTextTestCases FrameworksCoreTests:android.text\n    CtsWidgetTestCases:TextViewPrecomputedTextTest\n\nChange-Id: I68555a8b4bd6dd770ba7baae72d9a3777b2087a5\n"
    },
    {
      "commit": "6b6a71a5919c8621ecb8631fa89fd36d96fb7e55",
      "tree": "5e3e2a19b2da360bd02544219ed8bd984b8acf16",
      "parents": [
        "ce419f134232419cfefcc437d9380a263c14dfb1",
        "abfdcceba2476d749426f531297f72843f1f89c9"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jul 26 18:58:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 26 18:58:02 2018 +0000"
      },
      "message": "Merge \"Consolidate RecentTaskInfo and RunningTaskInfo into TaskInfo class\""
    },
    {
      "commit": "42122bfecfc5efba843726f88ecc8e24adf3eabc",
      "tree": "db0dec64cf827e00787fb1432b17589ef460bcad",
      "parents": [
        "13b3a907ba5df3c077e4ec1e0b017dc8af078a62"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 26 09:39:18 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 26 10:49:53 2018 -0600"
      },
      "message": "Bind update() args as Object[] for performance.\n\nIt\u0027s wasteful to convert them to String when SQLite already knows\nhow to bind specific data types, including funky types like byte[].\n\nAlso promote to public API, since they\u0027re generally useful.\n\nBug: 111085900\nTest: atest packages/providers/DownloadProvider/tests/\nTest: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nChange-Id: I5b418bca1204773fd2795156a2f47906ca1e1a6b\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": "819a6d6a10bcbd55c0397ce324757c1e10936c49",
      "tree": "5be37c959102de2998cc48efe3a39d15db718df3",
      "parents": [
        "521a897a70677f697fa743e5fad70203731d5cf9",
        "6c644e620d541e52d3f4e32fddc689aa5e5350e6"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jul 24 20:57:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 20:57:59 2018 +0000"
      },
      "message": "Merge \"Always review permissions before \u003cM app is started the first time\""
    },
    {
      "commit": "e23fe81da946bc87d35ee56655b9167d5728fff3",
      "tree": "6d80ca2b933f7b4006c88d739575d413facb1804",
      "parents": [
        "483da28a18c60258be887c2dd1a667c0e5501391",
        "450dce9749109111c7aabe6ebb6b5f08afbde52e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jul 24 12:42:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 24 12:42:54 2018 -0700"
      },
      "message": "Merge changes from topic \"deprecate-iis-closed\" am: bba51fede5 am: 9cb60599e4 am: 0001cb000a\nam: 450dce9749\n\nChange-Id: I7b98c3aefe9213c888dd6ae8ced39e9db9490057\n"
    },
    {
      "commit": "9cb60599e4d9608003c66619e7cc5a2ae189a949",
      "tree": "f536fedb376d146be00f157dc4f185bd62ea276f",
      "parents": [
        "1d336da880f583765c1ebb3f6d222bc96b55e5a2",
        "bba51fede5c1b90a133d086d94e314918274c6ca"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jul 24 12:14:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 24 12:14:57 2018 -0700"
      },
      "message": "Merge changes from topic \"deprecate-iis-closed\"\nam: bba51fede5\n\nChange-Id: Ib9a9603093cd224fd1abe4b6c87cbaf1141eabc4\n"
    },
    {
      "commit": "6c644e620d541e52d3f4e32fddc689aa5e5350e6",
      "tree": "fa932fbf9d77fd0c721a775d6aa776184568ccdf",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jul 18 15:41:24 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jul 24 11:45:34 2018 -0700"
      },
      "message": "Always review permissions before \u003cM app is started the first time\n\nThis splits the\n- review permissions\n- individually control permissions\n- consent to manage wireleess (wifi + bluetooth)\nproperties.\n\nAlmost all code cares only for the first and it is now always true.\nHence a lot of code can be simplified.\n\nBug: 110431654\nTest: atest PermissionsHostTest\n      started pre-M app\nChange-Id: I733cd476ccd0bf5eaa59e9a9506db34f57c6baee\n"
    },
    {
      "commit": "242bf1177fc8d71f8e002940d099b61cbca48de1",
      "tree": "f34f0be3d9bcbd9f6da9f7f400a6551cb1484f32",
      "parents": [
        "a384cf613f6e56e57eafaddd627c2893e5577a26",
        "ea8970cd55fa561dbad9579925fee4db469a539b"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Mon Jul 23 20:57:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 23 20:57:41 2018 +0000"
      },
      "message": "Merge \"Call Redirection Surface in Telecom out going call flow\""
    },
    {
      "commit": "a9c136b43ea460c725b6d451a41d42363165effe",
      "tree": "ceddd687707a569c2adc7804e8d515e123205557",
      "parents": [
        "8a20b7b6c6750884e364735deec73360c98dc84c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 23 16:03:26 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 23 16:04:15 2018 +0100"
      },
      "message": "Deprecate InflaterInputStream.closed field\n\nAs recommended by the Android API Council this field is being\ndeprecated and will be removed from the API in a future release.\n\nBug: 111592689\nTest: make checkbuild\n\nChange-Id: I9aab7396b8b9faadb764fe9d43e80747b3eec018\n"
    },
    {
      "commit": "8a20b7b6c6750884e364735deec73360c98dc84c",
      "tree": "b67fc6096b7453cdaad984568c05f8605da08dd5",
      "parents": [
        "bb352287c9f3631633274d2d70fc54b9b3eee851"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 19 15:42:14 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 23 16:03:44 2018 +0100"
      },
      "message": "Correct ordering of TelephonyManager methods\n\nA previous change (db6a391957f51c6ed9a768f0c39c61ff7a4f3603) seems to\nhave added some new methods to the api/current.txt manually as they are\nin the wrong order. This change corrects the ordering so that they do\nnot affect future changes to the api/current.txt file.\n\nBug: 74613795\nTest: make checkbuild\nChange-Id: I83f9c2ff3cd9f43add297e1c9411598f3eef094f\n"
    },
    {
      "commit": "e849fffd96a5c2f2c27bf73dde5b5a549bc61a4e",
      "tree": "c16aa44e58394130910ac6e4547c1d5f84436476",
      "parents": [
        "41d4a9b0dd91f97572cc1be7bdddfe0c3fe04b0f",
        "91be9263e376a7b6d672daab3b51dacb7ddb108b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Jul 19 20:12:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 20:12:20 2018 +0000"
      },
      "message": "Merge \"Revert SQLiteQueryBuilder for now.\""
    },
    {
      "commit": "91be9263e376a7b6d672daab3b51dacb7ddb108b",
      "tree": "96cefe80cede62213f37800682d5daef05735618",
      "parents": [
        "4237b16cac5f479a323216934063f33ea28bec39"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 19 09:30:16 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 19 09:52:20 2018 -0600"
      },
      "message": "Revert SQLiteQueryBuilder for now.\n\nWe\u0027ve encountered subtle bugs in how apps are using this public\nAPI, so revert it back to exactly what shipped in the last\nrelease, and move functionality to new SQLiteStatementBuilder\nclass, since we already have several customers using it.\n\nTest: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nBug: 111486645\nChange-Id: Ief059e987f2421e19f6f57a94320c313946a26d7\n"
    },
    {
      "commit": "abfdcceba2476d749426f531297f72843f1f89c9",
      "tree": "6139c09cf446952472d2b86a0121117bf9b0139f",
      "parents": [
        "0c16e74bc024707bb937faedc499dcbfca809b5e"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Jul 02 17:23:33 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 18 18:06:47 2018 +0000"
      },
      "message": "Consolidate RecentTaskInfo and RunningTaskInfo into TaskInfo class\n\n- Remove overlapping logic for building both recent/running task infos\n- Deprecate unused members of recent/running task infos\n- Skip creating unnecessary recent task info when creating AppTaskImpl\n\nBug: 111078814\nTest: Build and open Overview (ensure it still works)\nTest: atest CtsAppTestCases:ActivityManagerRecentTaskInfoTest\nTest: atest CtsAppTestCases:ActivityManagerRunningTaskInfoTest\nChange-Id: Iaf1731002196bb89319de141a05ab92a7dcb2928\n"
    },
    {
      "commit": "fde43a2ccf1dc4c48b080c99133dfa78e8bb98c7",
      "tree": "6345c8d25d41a61c58173b1084fbfbffd3356df8",
      "parents": [
        "fb43dc5537d0b7f5a9b971f626b33667e97d52ad",
        "edf0baea40145f6061bd26b6b9c11536ee15f12a"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Jul 18 09:42:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 09:42:38 2018 -0700"
      },
      "message": "Merge \"API updated for ICU4J 62.1\" am: e0ec160120 am: 46c84f53a6\nam: edf0baea40\n\nChange-Id: I1b1f33db8f1fd3171edbf871e87501570b4673ad\n"
    },
    {
      "commit": "46c84f53a6cdf592083a28a09c2203af8e4c9ed9",
      "tree": "a017e6e2f128e57cfb51c1130277fb4085fc9514",
      "parents": [
        "369f587942820e03a5b1312fc5190212f2c0d8e4",
        "e0ec16012099518343319348cbcfca4ee723490e"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Jul 18 09:18:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 09:18:46 2018 -0700"
      },
      "message": "Merge \"API updated for ICU4J 62.1\"\nam: e0ec160120\n\nChange-Id: I19144ce1a0fd7d0a9781a71ebacec033a8affb19\n"
    },
    {
      "commit": "9182e410cee3ea871619696421d99723d2126905",
      "tree": "ceb31d9c325c4f6274f934d9d6775ecba116b01a",
      "parents": [
        "008387687077c6365ef8bd76df7c1d796ade5d55"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Mon Jun 04 21:28:49 2018 -0700"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Wed Jul 18 13:00:03 2018 +0000"
      },
      "message": "API updated for ICU4J 62.1\n\n- ICU 62 upgrades to Unicode 11. Add new APIs for Unicode 11.0\n\nBug: 109930825\nBug: 109837373\nTest: make\nChange-Id: I3f23bbe624a10511a613cb07fd35e8272d1461a2\n"
    },
    {
      "commit": "06efa7169a54cf55b3f6eac637cb20a3f67a43c2",
      "tree": "a6c96800d7bc295a52f5ca8954f375129da9c115",
      "parents": [
        "4237b16cac5f479a323216934063f33ea28bec39",
        "d5a9dc06be523d3414a8a3103304357228e53072"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 17 16:46:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 17 16:46:56 2018 +0000"
      },
      "message": "Merge \"Expose async \u0026 counter publicly\""
    },
    {
      "commit": "4237b16cac5f479a323216934063f33ea28bec39",
      "tree": "527f85f8e4b21c8f01b8746a23b2f64459b0a001",
      "parents": [
        "59b31f714366463fb957e2935145d05c5c2bcca7",
        "a58d6e3405d8cb63269ec39502589ea6125e1f73"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Jul 17 16:12:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 17 16:12:14 2018 +0000"
      },
      "message": "Merge changes from topic \"downloadvuln\"\n\n* changes:\n  Execute \"strict\" queries with extra parentheses.\n  Add support for appending standalone phrases.\n"
    },
    {
      "commit": "323fdf2676165c9a000db6c818fbf7bec88ad3fd",
      "tree": "070c458af66d1909bddecce01e1cb68a27f15401",
      "parents": [
        "b1d24c0aced9371c286f4cc3219a7561394bc176"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Jul 17 11:03:07 2018 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Jul 17 11:03:07 2018 -0400"
      },
      "message": "Add attribute to control forced dark mode\n\nBug: 102591313\nTest: n/a just a new attribute not used anywhere yet\nChange-Id: I046eb402f180b23627f4bfed6f3605c279c9378d\n"
    },
    {
      "commit": "d5a9dc06be523d3414a8a3103304357228e53072",
      "tree": "ac8de24ec11f6f23517f6907e2fd01325c831f40",
      "parents": [
        "71fa53f8a548993d30d91343caee0e6269e8c0c5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jul 16 10:42:35 2018 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jul 17 14:35:01 2018 +0000"
      },
      "message": "Expose async \u0026 counter publicly\n\nAlso add some go-faster to the JNI\n\nBefore:\nandroid.os.TracePerfTest:INSTRUMENTATION_STATUS: enabled_mean\u003d13\nINSTRUMENTATION_STATUS: enabled_median\u003d13\nINSTRUMENTATION_STATUS: enabled_min\u003d13\nINSTRUMENTATION_STATUS: enabled_standardDeviation\u003d0\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: beginEndSection_mean\u003d3849\nINSTRUMENTATION_STATUS: beginEndSection_median\u003d3850\nINSTRUMENTATION_STATUS: beginEndSection_min\u003d3829\nINSTRUMENTATION_STATUS: beginEndSection_standardDeviation\u003d14\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: counter_mean\u003d1836\nINSTRUMENTATION_STATUS: counter_median\u003d1837\nINSTRUMENTATION_STATUS: counter_min\u003d1832\nINSTRUMENTATION_STATUS: counter_standardDeviation\u003d2\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: asyncBeginEnd_mean\u003d4992\nINSTRUMENTATION_STATUS: asyncBeginEnd_median\u003d4988\nINSTRUMENTATION_STATUS: asyncBeginEnd_min\u003d4964\nINSTRUMENTATION_STATUS: asyncBeginEnd_standardDeviation\u003d21\nINSTRUMENTATION_STATUS_CODE: -1\n\nAfter:\nandroid.os.TracePerfTest:INSTRUMENTATION_STATUS: enabled_mean\u003d13\nINSTRUMENTATION_STATUS: enabled_median\u003d13\nINSTRUMENTATION_STATUS: enabled_min\u003d13\nINSTRUMENTATION_STATUS: enabled_standardDeviation\u003d0\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: beginEndSection_mean\u003d2974\nINSTRUMENTATION_STATUS: beginEndSection_median\u003d2971\nINSTRUMENTATION_STATUS: beginEndSection_min\u003d2958\nINSTRUMENTATION_STATUS: beginEndSection_standardDeviation\u003d15\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: counter_mean\u003d1737\nINSTRUMENTATION_STATUS: counter_median\u003d1739\nINSTRUMENTATION_STATUS: counter_min\u003d1732\nINSTRUMENTATION_STATUS: counter_standardDeviation\u003d3\nINSTRUMENTATION_STATUS_CODE: -1\n.INSTRUMENTATION_STATUS: asyncBeginEnd_mean\u003d3677\nINSTRUMENTATION_STATUS: asyncBeginEnd_median\u003d3679\nINSTRUMENTATION_STATUS: asyncBeginEnd_min\u003d3663\nINSTRUMENTATION_STATUS: asyncBeginEnd_standardDeviation\u003d11\nINSTRUMENTATION_STATUS_CODE: -1\n\nTest: builds, benchmarks, verified tracing still works\nBug: 111503982\nChange-Id: I71cb026d034bf9b9f97427d10d5ff9ce3d103561\n"
    },
    {
      "commit": "fce4acd679cc6b23a69c6ee8167cb5f4fbe0357e",
      "tree": "e877160379ef9094eeafb13ef30b3a8339e93f7f",
      "parents": [
        "e859c42e23c6db3d08588aecf4942d6e84bda1dd",
        "79b6840516dce3f1a5553baaedc5a8bd2d62fabc"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Jul 16 22:52:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 22:52:10 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update SubscriptionInfo o use strings for mccmnc\"\"\""
    },
    {
      "commit": "99cc1184232494dd359ddcc6da36b9f672dc39ea",
      "tree": "4aeea117e5fd7e01a68e1da14787827a2d3f778a",
      "parents": [
        "bba22006d692bda68e489068f51277efe087850f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 16 14:34:21 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 16 14:56:03 2018 -0600"
      },
      "message": "Add support for appending standalone phrases.\n\nWhen users are building queries, they often need to append several\nstandalone SQL clauses, and it\u0027s tedious to track their first clause\nso they can manually append \" AND \" to each subsequent clause.\n\nSo add new appendWherePhrase() API which appends a standalone phrase\nwhich is AND\u0027ed together with any existing WHERE query.\n\nAlso fix bug in update() which would turn null values into the\nstring literal \"null\" instead of passing them through as SQL NULL.\n\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nBug: 111085900\nChange-Id: Ia280dd864895654239503e080eaef925f5620d37\n"
    },
    {
      "commit": "ea8970cd55fa561dbad9579925fee4db469a539b",
      "tree": "7d573f9f38e02c3cd5734c7f46675ecb4181ada8",
      "parents": [
        "8726b3b84c9ef9d0961d7b594da0aec6bb5a0da9"
      ],
      "author": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Wed Jun 06 22:54:04 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Jul 16 20:34:07 2018 +0000"
      },
      "message": "Call Redirection Surface in Telecom out going call flow\n\n- Provide a Call Redirection API Surface\n- Provide a key \"KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING\"\n  in the CarrierConfigManager\n- Create .aidl interfaces for Call Redirection\n(CallRedirectionService.aidl, CallRedirectionAdapter.aidl)\n\nBug: 64959558\nTest: Compile\nChange-Id: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7\n"
    },
    {
      "commit": "e3c660b84162ab7f795d2056826cd4187c4f139e",
      "tree": "b0871fe3593715fc4bcc8338c243f8e01c6da20f",
      "parents": [
        "da924595f07685656250e4fa8d61b9ee7e58f2be",
        "1d4b1172fe33af591643a9c080b32c2c7f38be2f"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Sun Jul 15 19:55:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 15 19:55:42 2018 -0700"
      },
      "message": "Merge \"Added documentation for network registration state\" am: 3c1604da8b am: 5e7bbe01c4\nam: 1d4b1172fe\n\nChange-Id: I2ccc907907029368eec5f4c7cdcaa25eb4c62b16\n"
    },
    {
      "commit": "5e7bbe01c4e764230b25ba7225e968c52ed080e5",
      "tree": "0c1314c7ef8f8d9d4b6fd67f80224a9047cc5602",
      "parents": [
        "d5de710016d230ad6fda32418ba48bc63ba98365",
        "3c1604da8b04d9e43554dada977bbca54bbea313"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Sun Jul 15 17:12:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 15 17:12:41 2018 -0700"
      },
      "message": "Merge \"Added documentation for network registration state\"\nam: 3c1604da8b\n\nChange-Id: Icf8f0fff21c1190d3bde21cdbe378d6b75b51506\n"
    },
    {
      "commit": "162d77170967d1871e0fd11924a016b20c7908c6",
      "tree": "5b02b8e3278a4f93da4e66683a6fa28832721f27",
      "parents": [
        "b4fc58bab7d503939128a154ac5a1851b630a324",
        "6adc98c09cdca6d4e803ef8061de402f723fa9cc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Sat Jul 14 21:35:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 14 21:35:29 2018 +0000"
      },
      "message": "Merge \"Extend SQLiteQueryBuilder for update and delete.\""
    },
    {
      "commit": "79b6840516dce3f1a5553baaedc5a8bd2d62fabc",
      "tree": "81a92ea8be1b377ad0bc35f60fe5d95b0c41cea2",
      "parents": [
        "0082b161ca42b41925fd5973f1779fc4c46f6034"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Sat Jul 14 00:30:49 2018 +0000"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Sat Jul 14 00:32:56 2018 +0000"
      },
      "message": "Revert \"Revert \"Update SubscriptionInfo o use strings for mccmnc\"\"\n\nThis reverts commit 0082b161ca42b41925fd5973f1779fc4c46f6034.\n\nReason for revert: build breaks fixed\n\nChange-Id: I75ea63ceaae6e970ce51a971c9a4635d0ce3f9e4\nMerged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c\n"
    },
    {
      "commit": "6adc98c09cdca6d4e803ef8061de402f723fa9cc",
      "tree": "223f5a91495b44778847ab49cbcb8e66eb19dc0d",
      "parents": [
        "5aae0c9df7dc3be65dd9aa75d4c11c49a41638ee"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 12 19:47:49 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 13 18:11:37 2018 -0600"
      },
      "message": "Extend SQLiteQueryBuilder for update and delete.\n\nDevelopers often accept selection clauses from untrusted code, and\nSQLiteQueryBuilder already supports a \"strict\" mode to help catch\nSQL injection attacks.  This change extends the builder to support\nupdate() and delete() calls, so that we can help secure those\nselection clauses too.\n\nExtend it to support selection arguments being provided when\nappending appendWhere() clauses, meaning developers no longer need\nto manually track their local selection arguments along with\nremote arguments.\n\nExtend it to support newer ContentProvider.query() variant that\naccepts \"Bundle queryArgs\", and have all query() callers flow\nthrough that common code path.  (This paves the way for a future\nCL that will offer to gracefully extract non-WHERE clauses that\ncallers have tried smashing into their selections.)\n\nUpdates ContentValues to internally use more efficient ArrayMap.\n\nBug: 111268862\nTest: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nChange-Id: I60b6f69045766bb28d2f21a32c120ec8c383b917\n"
    },
    {
      "commit": "b494f72750875ca6c2914c585595bcc25ffdf22e",
      "tree": "6b70b0e76f741f060d03125955916b7d564fd9ec",
      "parents": [
        "8424001a04adba75b8209ddbe500a106e2d6483e"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Jun 05 17:38:56 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jul 13 14:50:02 2018 -0700"
      },
      "message": "Added documentation for network registration state\n\nAlso renamed denial reason to reject cause to match\nthe 3GPP spec.\n\nBug: 73659459\nTest: Build\nChange-Id: Ia67ebf94771c7ff5f5d90f6cdd303cb2716f9186\n(cherry picked from commit b4094993f742fbe9d07bd5783030aa82a3045f79)\n"
    },
    {
      "commit": "ec8b97e60bf5c7cc05a681c40d9e884d93c60a50",
      "tree": "12fb6777c827eab4d4c637f541291ba6d9c17dcf",
      "parents": [
        "4d827d2fed13d29ad19f2b43965143e8307c9e72",
        "9aca012ab5e72e6c82a32a8210834c490841a424"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Jul 13 13:22:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 13 13:22:48 2018 -0700"
      },
      "message": "Merge \"Make Connection#onSilence a public API.\" am: cbe3737f13 am: 01ab0b90bf\nam: 9aca012ab5\n\nChange-Id: Icf3491038487e47983b84255cdc32214595ce470\n"
    },
    {
      "commit": "9aca012ab5e72e6c82a32a8210834c490841a424",
      "tree": "e11a45e7dbb1306bb5c9a5c32a67214edeb46321",
      "parents": [
        "0aff4a19f9a2d44fba936cc8c9b94166bdb99829",
        "01ab0b90bf1f130a355e88afa82dc021d2424e6c"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Jul 13 12:45:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 13 12:45:28 2018 -0700"
      },
      "message": "Merge \"Make Connection#onSilence a public API.\" am: cbe3737f13\nam: 01ab0b90bf\n\nChange-Id: I8c011d4a495d5240ebec83b07bc0b8f57a3c40ac\n"
    },
    {
      "commit": "1bee26f4c32c006a74368ba52e86c4a0666fcd7f",
      "tree": "978e6c889df1317c2e1f06960cda0704c329e224",
      "parents": [
        "01ab0b90bf1f130a355e88afa82dc021d2424e6c",
        "f2add90de445f9ec0e7a00b776ff5f1de7b8acdc"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jul 13 19:28:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 13 19:28:23 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Revert \"Hide IWLAN system API\"\" into stage-aosp-master"
    },
    {
      "commit": "01ab0b90bf1f130a355e88afa82dc021d2424e6c",
      "tree": "78a052a2fcabe148bcea44762b344bf3adaf60db",
      "parents": [
        "6dd8f735d210db73a8c98b409b20258a180474db",
        "cbe3737f13646fb37e8db0918da49dd83fd5de45"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Jul 13 12:15:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 13 12:15:45 2018 -0700"
      },
      "message": "Merge \"Make Connection#onSilence a public API.\"\nam: cbe3737f13\n\nChange-Id: I4ab192ca160219770d7384e88c8e0025137b42bd\n"
    },
    {
      "commit": "ad9d544cb39374de1a48b6271388e558a0107987",
      "tree": "488507e1cca9bfbb2572b1eb6185a9d8934e8c9d",
      "parents": [
        "a1622655299bcaab283f1e4674762e47e4954b68"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jul 13 10:32:20 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jul 13 10:35:30 2018 -0700"
      },
      "message": "DO NOT MERGE - Revert \"Hide IWLAN system API\"\n\nThis reverts commit ea440a765e2774320910073e5350bdccd39afb6c, reversing\nchanges made to 0b90c524cb8288f3b8d8111b5724c02630c5b4c6.\n\nTest: Build\nBug: 73659459\nChange-Id: I2c52f17090040cea589081c3ed412a14986e3d85\n"
    },
    {
      "commit": "cbe3737f13646fb37e8db0918da49dd83fd5de45",
      "tree": "25ecbc743ff35e57855f61cd72379727fda7c160",
      "parents": [
        "f92ad05fa5c274a9d64f3051cf3a821ac17c08ba",
        "06f0616f6dbc710c3cb81ff09008df5073b168c4"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Jul 13 17:02:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 17:02:36 2018 +0000"
      },
      "message": "Merge \"Make Connection#onSilence a public API.\""
    },
    {
      "commit": "f92ad05fa5c274a9d64f3051cf3a821ac17c08ba",
      "tree": "39fb66b1552544e37b3bad5b6d64732f44625db6",
      "parents": [
        "0babf1815c72a9f3b01eb4d01b1764ec65ba1786",
        "0082b161ca42b41925fd5973f1779fc4c46f6034"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 13 16:34:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 16:34:30 2018 +0000"
      },
      "message": "Merge \"Revert \"Update SubscriptionInfo o use strings for mccmnc\"\""
    },
    {
      "commit": "0082b161ca42b41925fd5973f1779fc4c46f6034",
      "tree": "8ab26aaeebb124a2a0c56cd5d7a2f251158ab50c",
      "parents": [
        "0c149bd2d84d6e7c21dd4d7fff1e4dcfd51318f3"
      ],
      "author": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Fri Jul 13 10:29:43 2018 +0000"
      },
      "committer": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Fri Jul 13 11:15:50 2018 +0000"
      },
      "message": "Revert \"Update SubscriptionInfo o use strings for mccmnc\"\n\nThis reverts commit 0c149bd2d84d6e7c21dd4d7fff1e4dcfd51318f3.\n\nReason for revert:  reverting this topic as it breaks several branches.\n\nChange-Id: Ia01984242e54b5db5d853135b322ebb1284a4d43\nMerged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c\n"
    },
    {
      "commit": "f2add90de445f9ec0e7a00b776ff5f1de7b8acdc",
      "tree": "0c72fa7107769cc2c392a8cacda3a27f8ce32abf",
      "parents": [
        "8df845538484627dc2bd8b6bd58845b9acf74848"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 15:10:34 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 19:41:33 2018 -0700"
      },
      "message": "DO NOT MERGE - Revert \"Hide IWLAN system API\"\n\nThis reverts commit ea440a765e2774320910073e5350bdccd39afb6c, reversing\nchanges made to 0b90c524cb8288f3b8d8111b5724c02630c5b4c6.\n\nTest: Build\nBug: 73659459\nChange-Id: Id5a5147c6478cf10661aebe52b445bd16195885e\n"
    },
    {
      "commit": "08a4eb9445280cb401a7ef373dc770509cf56523",
      "tree": "a6ea583026c1ad038b62d1555816ed2b5930fd1b",
      "parents": [
        "8df845538484627dc2bd8b6bd58845b9acf74848",
        "0babf1815c72a9f3b01eb4d01b1764ec65ba1786"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Jul 12 15:22:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 12 15:22:52 2018 -0700"
      },
      "message": "Merge \"Update SubscriptionInfo o use strings for mccmnc\"\nam: 0babf1815c\n\nChange-Id: I1833cb2d5437cccb61cc8f6dcd884a45a2b3250f\n"
    },
    {
      "commit": "0babf1815c72a9f3b01eb4d01b1764ec65ba1786",
      "tree": "b76064fc3313cee763023d284863f11abb5bfef6",
      "parents": [
        "5cb7cd68a06668fc9d7485f78c32c542f600b53c",
        "0c149bd2d84d6e7c21dd4d7fff1e4dcfd51318f3"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Jul 12 21:13:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 21:13:16 2018 +0000"
      },
      "message": "Merge \"Update SubscriptionInfo o use strings for mccmnc\""
    },
    {
      "commit": "a741f5dca42ba9e82e5c3a551b076e5f8bcaffd4",
      "tree": "d38211b1da7f7701a151144a599a76f4681ce1ee",
      "parents": [
        "0e5893f63283ccd220d13b6a4d16fe407b6efc74",
        "063eefa78a37905416cf119fd58278c03ea534f3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 12 19:34:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 12 19:34:40 2018 +0000"
      },
      "message": "Merge \"Depecrate flags, and try to match them to actions\""
    },
    {
      "commit": "7e1be05b1435b37378ab9d6d44af613b1c11d323",
      "tree": "4c818dd3deeb1c9cad530fe79e7aa397b69fe488",
      "parents": [
        "b4094993f742fbe9d07bd5783030aa82a3045f79"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 17:39:12 2018 +0000"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 17:39:12 2018 +0000"
      },
      "message": "Revert \"Added documentation for network registration state\"\n\nThis reverts commit b4094993f742fbe9d07bd5783030aa82a3045f79.\n\nReason for revert: Caused merge conflict. Need to come up with a better solution.\n\nChange-Id: Id7b7f35c25775a7a095b77a90724cf3a0f8daf7e\n"
    },
    {
      "commit": "b5a3117fe9675d9cedcaf22dff017cd48e659c7d",
      "tree": "df1a8283864493d4255cfbff866cec2a4b76a56f",
      "parents": [
        "62381f9b48871c13385871910615e496954cbafd",
        "5aae0c9df7dc3be65dd9aa75d4c11c49a41638ee"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Jul 12 01:19:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 12 01:19:39 2018 +0000"
      },
      "message": "Merge \"Utility methods useful for working with files.\""
    },
    {
      "commit": "5aae0c9df7dc3be65dd9aa75d4c11c49a41638ee",
      "tree": "d323416ee211040d6e52776f0acda743207563bf",
      "parents": [
        "0b5f738f4cb0f25c20244f09a484d4acf16f257f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 09 16:38:20 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 11 14:41:24 2018 -0600"
      },
      "message": "Utility methods useful for working with files.\n\nPart of getting DocumentsUI ready for building against public API.\n\nTest: builds\nBug: 110959821\nChange-Id: I7cc0acd5ac3bcc89790cb49f34291ae523e44019\n"
    },
    {
      "commit": "b4094993f742fbe9d07bd5783030aa82a3045f79",
      "tree": "1ff0c4e94e503768341f536655f026e50034cf20",
      "parents": [
        "c1e5c3ea8205ea4c65fc76070210fce714c08be5"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Jun 05 17:38:56 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jul 11 11:08:48 2018 -0700"
      },
      "message": "Added documentation for network registration state\n\nAlso renamed denial reason to reject cause to match\nthe 3GPP spec.\n\nBug: 73659459\nTest: Build\nChange-Id: Ia7b4a53070c06edd98ae767fd6f56c4000d8e4d0\n"
    },
    {
      "commit": "dad5ef0d5081b6422724debaf9d0b9406dd05883",
      "tree": "5b8fa96a8cd2aa5eaf932584fccfd9d94b527091",
      "parents": [
        "f61f66d0b21a6eba1239cbd8998defcaf999785b",
        "628cb9368c316e3ad1ce478915511f05195eba8e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jul 11 17:32:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 11 17:32:39 2018 +0000"
      },
      "message": "Merge \"Allow NotificationAssistantService to suggest smart actions\""
    },
    {
      "commit": "06f0616f6dbc710c3cb81ff09008df5073b168c4",
      "tree": "abd66184e61b1e67a2ef3c070196a31e2d05cbca",
      "parents": [
        "af228ca978941f98d54ba70f7bfc790cf2d69f51"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Jun 18 11:24:15 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Jul 11 09:04:43 2018 -0700"
      },
      "message": "Make Connection#onSilence a public API.\n\nConnection#onSilence is generally applicable to apps implementing the\nself-managed ConnectionService API.\nAlso updated the docs to make it more clear where that API is to be used\nand how the developer can silence the ringtone.\n\nTest: CTS test, manual test.\nBug: 110348674\nChange-Id: I1c1791c101827780949fd633c531ed83037e7b4e\n"
    },
    {
      "commit": "628cb9368c316e3ad1ce478915511f05195eba8e",
      "tree": "fe1128a15bfbaf6b0bf2236bff4087176396c3fc",
      "parents": [
        "ce77407144346c6fad679a4297910eea07d0d601"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Jun 19 18:30:41 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jul 11 11:12:29 2018 +0100"
      },
      "message": "Allow NotificationAssistantService to suggest smart actions\n\nHere is the flow:\nNAS generates Adjustment -\u003e NMS convert this to RankingUpdate -\u003e\nSystemUI.NotificationListener receives the RankingUpdate in either\nonNotificationPosted / onNotificationRankingUpdate (Depend on does NAS\nprovides the adjustment before the notification is en-queued) -\u003e\nNotificationEntryManager determines the need of reinflation -\u003e\nNotificationInflater inflates / reinflates the view with these\nextra bits like smart actions.\n\nNote: We do re-inflation here as simply adding a button to the existing\nnotification view seems problematic. For example, if the original\nnotification does not have any action, we will need to inflate the\ntemplate with the action container.\n\nScreenshot:\nhttps://hsv.googleplex.com/5731489463402496\n\nTest: atest SystemUITests\nTest: atest com.android.server.notification.NotificationAdjustmentExtractorTest\nTest: Modify ExtServices to provide adjustment in\n      createEnqueuedNotificationAdjustment, post a notification with\n      a entity in a sample app, observed the notification is updated.\n      (Testing the onNotificationPosted flow)\nTest: Modify ExtServices to provide adjustment in onNotificationPosted\n      by calling adjustNotification. Post a notification with\n      a entity in a sample app, observed the notification is updated.\n      (Testing the onRankingUpdated flow)\nTest: Repeat the above test, but explicitly make the RowInflaterTask\n      slow by inserting Thread.sleep. This can test the onRankingUpdated\n      flow when the row is not yet inflated.\n\nBUG: 110527159\n\nChange-Id: I98aee3ac62f60b189ea92ac9fc000127325dfead\n"
    },
    {
      "commit": "4636cc848ec24d5dc2196a0e84cdd74af40b86c3",
      "tree": "4affa9cc3ee01f5eb5471e4d49681f3a0fe5141e",
      "parents": [
        "12485d1f333cfee798cc2a3b075255db2c810216",
        "9c6c097604e75cd3ef3759726aafae1208a8a9b9"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Jul 10 23:32:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 23:32:27 2018 +0000"
      },
      "message": "Merge \"Add UrlSpanFactory to Linkify\""
    },
    {
      "commit": "0c149bd2d84d6e7c21dd4d7fff1e4dcfd51318f3",
      "tree": "81a92ea8be1b377ad0bc35f60fe5d95b0c41cea2",
      "parents": [
        "bc103bdf18e10da12bfe5c205c154a91e5daa866"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 08 18:14:21 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Jul 10 15:51:26 2018 -0700"
      },
      "message": "Update SubscriptionInfo o use strings for mccmnc\n\nAdd methods to get mcc/mnc as strings so that the leading-zero\nambiguity is resolved.\n\nTest: manual (db update), unit tests\nBug: 35064313\nChange-Id: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c\nMerged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c\n"
    },
    {
      "commit": "17455eb753c0060e9343f0dfa1cccc4b21c1e684",
      "tree": "8d3a580daf3873bbbb5150c7d8225504c997e640",
      "parents": [
        "d57794b1be36bb3f180560c011e9ace38a3233bc",
        "ff37599354dc6a92c4b4e75573f9c83db55759fa"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Jul 10 00:08:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 00:08:14 2018 +0000"
      },
      "message": "Merge \"Update SubscriptionInfo o use strings for mccmnc\""
    },
    {
      "commit": "ff37599354dc6a92c4b4e75573f9c83db55759fa",
      "tree": "61f8650627b4e218d11352058f1ebed1febf3987",
      "parents": [
        "4b12916e79bd2a3661f8c145864a85dca4baa418"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 08 18:14:21 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Jul 09 13:43:42 2018 -0700"
      },
      "message": "Update SubscriptionInfo o use strings for mccmnc\n\nAdd methods to get mcc/mnc as strings so that the leading-zero\nambiguity is resolved.\n\nTest: manual (db update), unit tests\nBug: 35064313\nChange-Id: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c\n"
    },
    {
      "commit": "9c6c097604e75cd3ef3759726aafae1208a8a9b9",
      "tree": "1edde996c99361e5c8e058027eab15f7b89de2b4",
      "parents": [
        "ce77407144346c6fad679a4297910eea07d0d601"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Jul 03 10:23:39 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Sun Jul 08 12:41:38 2018 -0700"
      },
      "message": "Add UrlSpanFactory to Linkify\n\nEnable API user to create their own URLSpan for Linkify operations.\n\nTest: atest android.text.util.cts.LinkifyTest\nTest: atest android.text.util.LinkifyTest\n\nBug: 28536972\nBug: 32613009\nBug: 29150779\nChange-Id: I9a2f995656bd1510502e5517ac737b47ebd33130"
    },
    {
      "commit": "d9afa508633dd6863f0845f63383c3e95e8232b2",
      "tree": "d4abdd5719d736adb0c47eee6317b2e4ffe6a55f",
      "parents": [
        "90671be751a316cdb57c163a1f16486b686446a8",
        "0a35c20bc3dc8d4e8ef61345a048eaa565f3108e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jul 08 00:10:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 08 00:10:34 2018 +0000"
      },
      "message": "Merge \"Revert \"Add UrlSpanFactory to Linkify\"\""
    },
    {
      "commit": "0a35c20bc3dc8d4e8ef61345a048eaa565f3108e",
      "tree": "32bb386589f54e79297087c4d126e7a77dfa77c1",
      "parents": [
        "ad4883bb1b2a3e5e0c3a6345ee0ab05e4c1e4a43"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Sat Jul 07 22:02:29 2018 +0000"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Sat Jul 07 22:02:29 2018 +0000"
      },
      "message": "Revert \"Add UrlSpanFactory to Linkify\"\n\nThis reverts commit ad4883bb1b2a3e5e0c3a6345ee0ab05e4c1e4a43.\n\nReason for revert: b/111218263\n\nBug: 28536972\nBug: 32613009\nBug: 29150779\nChange-Id: Idc1621d472d742929f56d10d72b077b774b9e56e\n"
    },
    {
      "commit": "060828e616c6fb8a063097814dc196296e767015",
      "tree": "cf126b5e860689fd1126f183ce08359dc576a892",
      "parents": [
        "ab69580fb232d4f0b173c261022e30eebcd7a9aa",
        "ad4883bb1b2a3e5e0c3a6345ee0ab05e4c1e4a43"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Sat Jul 07 00:57:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 07 00:57:35 2018 +0000"
      },
      "message": "Merge \"Add UrlSpanFactory to Linkify\""
    },
    {
      "commit": "d75e31fbce38a4a2760b7c6c045261197022fa01",
      "tree": "be4098c4b9ad037f7a6f5c457585f5f14256d126",
      "parents": [
        "d707da9c77073ad419c344e42f3cfd132f0f5f90",
        "bf4acfb71bd075fca1a9dde699832d2463fa184d"
      ],
      "author": {
        "name": "Jordan Liu",
        "email": "jminjie@google.com",
        "time": "Fri Jul 06 12:25:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 06 12:25:08 2018 -0700"
      },
      "message": "Merge \"Type Allocation Code \u0026 Manufacturer Code\" am: ff801e5fd7 am: 50f29d8ecf\nam: bf4acfb71b\n\nChange-Id: I8d4cb6a658f2e9d09b9904c722218ef594fb694a\n"
    },
    {
      "commit": "50f29d8ecf5122521304a8c3149b5053d3953a03",
      "tree": "30f6af91a1c884789d1428ff06f0376a1f4eff9f",
      "parents": [
        "3147288c3bf55f07a81096db1595b247ac4ee65f",
        "ff801e5fd719c9aa797edd14e13562727b0e1236"
      ],
      "author": {
        "name": "Jordan Liu",
        "email": "jminjie@google.com",
        "time": "Fri Jul 06 12:06:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 06 12:06:39 2018 -0700"
      },
      "message": "Merge \"Type Allocation Code \u0026 Manufacturer Code\"\nam: ff801e5fd7\n\nChange-Id: I95b5fd3d2fb977db3f37dcf23c2125c521c1ccd1\n"
    },
    {
      "commit": "db6a391957f51c6ed9a768f0c39c61ff7a4f3603",
      "tree": "4ac4a21a61dcddaadd73d9d77d30f985ac059d16",
      "parents": [
        "bc103bdf18e10da12bfe5c205c154a91e5daa866"
      ],
      "author": {
        "name": "David Kelly",
        "email": "dkelly@afilias.info",
        "time": "Mon Mar 12 14:17:24 2018 +0000"
      },
      "committer": {
        "name": "David Kelly",
        "email": "dkelly@afilias.info",
        "time": "Wed Jul 04 08:23:09 2018 +0000"
      },
      "message": "Type Allocation Code \u0026 Manufacturer Code\n\n- Addition of getTypeAllocationCode \u0026 getManufacturerCode to\nandroid.telephony.TelephonyManager.\n\n- The Type Allocation Code is the first eight characters of the IMEI.\nThe Type Allocation Code identifies a particular GSM device model.\n\n- The Manufacturer Code is the first eight characters of the MEID.\nThe Manufacturer Code identifies the manufacturer of a CDMA device.\n\n- The reasoning behind adding getTypeAllocationCode is to be\nable to obtain the Type Allocation Code without requiring the\nREAD_PHONE_STATE permission. Currently in order to obtain the\nType Allocation Code a substring operation must be performed on\ngetImei which is protected by the READ_PHONE_STATE permission.\n\n- The reasoning behind adding getManufacturerCode is to be\nable to obtain the Manufacturer Code without requiring the\nREAD_PHONE_STATE permission. Currently in order to obtain the\nManufacturer Code a substring operation must be performed on\ngetMeid which is protected by the READ_PHONE_STATE permission.\n\n- The reasoning that these additional methods do not require the\nREAD_PHONE_STATE permission is that neither the Type Allocation\nCode nor the Manufacturer Code can identify a unique device.\nThe Type Allocation Code and the Manufacturer Code are analogous\nto other device information such as device model or device\nscreen dimensions.\n\nTest: run cts -m CtsTelephonyTestCases\nBug: 74613795\nChange-Id: I5a586b5a362b39aae13357329efb19eb93f0434c\nSigned-off-by: David Kelly \u003cdkelly@afilias.info\u003e\n"
    },
    {
      "commit": "9a8e27a915037ec9f1034f7e7294cf7c68054a7d",
      "tree": "f21c294eed3ed8e4de1b2f19dc6d6d71f05a4a49",
      "parents": [
        "17ab018fdd0fcfec5e93841124763003bbbd01b5",
        "d873ae62c443dc3381fca328dcf5b73c157daf03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 04 03:00:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 04 03:00:14 2018 +0000"
      },
      "message": "Merge \"Allow UiAutomation to adopt the shell permission indentity\""
    },
    {
      "commit": "d873ae62c443dc3381fca328dcf5b73c157daf03",
      "tree": "abbeb50380e346db85b199fba04ee3f8cc9691c6",
      "parents": [
        "e3d3ca75dc12dda14a7e8c9c4b65b89318eae484"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 25 16:39:23 2018 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 03 16:39:44 2018 -0700"
      },
      "message": "Allow UiAutomation to adopt the shell permission indentity\n\nFor testing we often need to run shell commands. This can be done\ntoday via running a shell command from an instrumentation test\nstarted from the shell. However, this requires adding shell commands\nwhich are not in the API contract, involve boilerplate code, require\nstring parsing, etc.\n\nThis change allows an instrumentation started from the shell to\nadopt the shell UID permission state. As a result one can call APIs\nprotected by permissions normal apps cannot get by are granted to\nthe shell. This enables adding dedicated test APIs protected by\nsignatures permissions  granted to the shell.\n\nTest: cts-tradefed run cts-dev -m CtsUiAutomationTestCases\n          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions\n\nbug:80415658\n\nChange-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be\n"
    },
    {
      "commit": "ad4883bb1b2a3e5e0c3a6345ee0ab05e4c1e4a43",
      "tree": "c1ef744ff22558631180b86344c117390185056d",
      "parents": [
        "ce77407144346c6fad679a4297910eea07d0d601"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Jul 03 10:23:39 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Jul 03 10:53:16 2018 -0700"
      },
      "message": "Add UrlSpanFactory to Linkify\n\nEnable API user to create their own URLSpan for Linkify operations.\n\nTest: atest android.text.util.cts.LinkifyTest\nTest: atest android.text.util.LinkifyTest\n\nBug: 28536972\nBug: 32613009\nBug: 29150779\n\nChange-Id: Ia4495dc7e656044b91a79804d3b50a30cae98225"
    },
    {
      "commit": "b5ec0b8053092a992906df53f8b3abd742af396f",
      "tree": "672cd56fc9d592a5d9473c959a8692788b29c603",
      "parents": [
        "53208af20d501b892b9cc9971033a9f2e2d7cf35",
        "78b8917eae025dc43fade2f32cdac6d194dc94d3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 02 23:42:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 02 23:42:54 2018 +0000"
      },
      "message": "Merge \"Add SHOW_SOURCE_PUSH_TO_TALK to indicate that the interaction service was invoked by a hardware button.\""
    },
    {
      "commit": "ce77407144346c6fad679a4297910eea07d0d601",
      "tree": "32bb386589f54e79297087c4d126e7a77dfa77c1",
      "parents": [
        "41cebf51c50538c3caac03bd5b83cb1cef6f7db3",
        "dd02e33417f262341e8f3cf1839f3510d0fa05db"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 30 22:04:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 30 22:04:26 2018 +0000"
      },
      "message": "Merge \"StrictMode to catch storage while locked.\""
    },
    {
      "commit": "c609116a1b9fabc010d4b1985e2241b22cd790ee",
      "tree": "62387e8bb92a7316893131ecf1e9ef0fc6723a5a",
      "parents": [
        "af5753836912a1c76ac35071b8343a6d00782d9e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 29 17:15:40 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 29 17:15:44 2018 -0600"
      },
      "message": "Get android.os tests running against real APIs.\n\nCombination of moving to existing public API, tagging things as\n@TestApi, and bringing utility methods into tests.\n\nBug: 13282254\nTest: atest cts/tests/tests/os/\nChange-Id: Ifd24c0d048d200e8595e194890cc1dc53ddc2b3e\n"
    },
    {
      "commit": "dd02e33417f262341e8f3cf1839f3510d0fa05db",
      "tree": "dda03759d931e9577e9bd0a0833fad19c7e6994b",
      "parents": [
        "af5753836912a1c76ac35071b8343a6d00782d9e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 27 14:41:57 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 29 11:41:00 2018 -0600"
      },
      "message": "StrictMode to catch storage while locked.\n\nWhen an app starts becoming Direct Boot aware, it can be difficult\nto track down all the places they\u0027re reading data from credential\nprotected storage.\n\nWhen a user is locked, credential protected storage is unavailable,\nand files stored in these locations appear to not exist, which can\nresult in subtle app bugs if they assume default behaviors or\nempty states. Instead, apps should store data needed while a user\nis locked under device protected storage areas.\n\nBug: 110413274\nTest: atest cts/tests/tests/os/src/android/os/cts/StrictModeTest.java\nChange-Id: Ia390318efa6fefda8f10ac684d0206e67aa1d3dc\n"
    },
    {
      "commit": "1241652d8a47d54514d43b6f4326822fcfcd62d3",
      "tree": "2e8917a65ba94053fad1545b1ee5ea08e503a42d",
      "parents": [
        "c5101b304469bd6d8e7bac5fb72d88f994758082",
        "37b99ba2e466275709113a77c05d86ba093d33cc"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Jun 29 03:13:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 29 03:13:25 2018 +0000"
      },
      "message": "Merge \"Ensure PiP test apis are marked as TestApi\""
    },
    {
      "commit": "b599d73b8c8a15538aee1f010b231427da8994a0",
      "tree": "7380a1c6003c2e333e49b46be8934551edf26f50",
      "parents": [
        "184e8c6a6ce44f1cd579920015c6132153898564",
        "0bb18995dc8c3ede6d2ee54f9e4790074f57fa4f"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jun 28 17:43:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 28 17:43:48 2018 -0700"
      },
      "message": "Merge \"Emergency SMS carrier config flag\" am: 36a9fa62be am: 86ec65e59c\nam: 0bb18995dc\n\nChange-Id: I4bc7ca9080af8f0bd06c4ab0fe547640314819e1\n"
    },
    {
      "commit": "86ec65e59c460a2fef91bbd7894fd7a53541c554",
      "tree": "815d65d13d6e28416c8aa7abb520758d4f12dd46",
      "parents": [
        "f0893a15ab0b03895dac488a7cb7a35394bc4559",
        "36a9fa62be38db3d19cd1cfab5fdc8d14197d912"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jun 28 17:26:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 28 17:26:39 2018 -0700"
      },
      "message": "Merge \"Emergency SMS carrier config flag\"\nam: 36a9fa62be\n\nChange-Id: If6a2b0316ee0fdac29eedcf77686694f538d5017\n"
    },
    {
      "commit": "37b99ba2e466275709113a77c05d86ba093d33cc",
      "tree": "4a8a431ceed292b3669e4c5557da3245f124a591",
      "parents": [
        "a402e4136de487f84fce865baad3d795ad72ab05"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jun 28 15:42:06 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jun 28 15:42:06 2018 -0700"
      },
      "message": "Ensure PiP test apis are marked as TestApi\n\nBug: 77533294\nTest: atest CtsAndroidAppTestCases:PictureInPictureParamsBuilderTest\nChange-Id: Icbcea8cf9d7e49db7ebcc1ce676b43722f75b7f4\n"
    },
    {
      "commit": "36a9fa62be38db3d19cd1cfab5fdc8d14197d912",
      "tree": "948279bd45b2fe49c166e18daf5d2cf1ec776e6b",
      "parents": [
        "9ca4d4392243e71b44ae4b83d2719a729f6a07d8",
        "ceaf7226cfa4cc85018060ae734b2dc3f885d5cc"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jun 28 22:16:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 28 22:16:10 2018 +0000"
      },
      "message": "Merge \"Emergency SMS carrier config flag\""
    },
    {
      "commit": "ed71f10907bfbdc69645eb2453ee180a78779a53",
      "tree": "1c50699af9ab08895b7ba5ae882482564fe87059",
      "parents": [
        "771df97a1ad3d4aeda369be5e16bc1e368124e70",
        "3ac2a434554214baed22e30867ec1bdfc64c7b03"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Jun 27 22:33:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 27 22:33:07 2018 +0000"
      },
      "message": "Merge \"Give StrictMode more bits to work with.\""
    },
    {
      "commit": "73c35f846f66067c15a99854f3a8f3b6d6d98bf7",
      "tree": "35640224236f07e7453720e05a7c99106e002fa4",
      "parents": [
        "8ef0bc24cc070fd119f44a32f72eb3076f9ab054",
        "af957086452e97c9a3d96ef52d6c28134323f98b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Jun 27 11:44:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 27 11:44:11 2018 -0700"
      },
      "message": "Merge \"Track dropping of throws clause in Pattern.java.\" am: 251a0cfb78 am: 16de9c5a8a\nam: af95708645\n\nChange-Id: I21d9c90f43d9b985443f270043b8c1df77377377\n"
    },
    {
      "commit": "16de9c5a8a818b97969af16c08baeb860a786a6d",
      "tree": "bf9b2be5c26e9e0ac843dbbd42ccf1de056ed50e",
      "parents": [
        "5442964205b5314d7b74641104ee0f5498d38b77",
        "251a0cfb78807df22dc2156f4fd7750cbe370f71"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Jun 27 11:21:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 27 11:21:42 2018 -0700"
      },
      "message": "Merge \"Track dropping of throws clause in Pattern.java.\"\nam: 251a0cfb78\n\nChange-Id: Icb30c1ffaba63d9f633bf45c9af2a949ddbf1fcd\n"
    },
    {
      "commit": "ceaf7226cfa4cc85018060ae734b2dc3f885d5cc",
      "tree": "f180bf91f94dcaaeb810aeb1e4aac29bb6c7cb2b",
      "parents": [
        "a54d5e31e32f1fe77c1a0a86c477176c8b3d9b5f"
      ],
      "author": {
        "name": "Avinash Nalluri",
        "email": "anallu@codeaurora.org",
        "time": "Sat Apr 21 14:06:06 2018 -0700"
      },
      "committer": {
        "name": "Avinash Nalluri",
        "email": "anallu@codeaurora.org",
        "time": "Wed Jun 27 08:46:54 2018 -0700"
      },
      "message": "Emergency SMS carrier config flag\n\nAllow send sms over ims to emergency number when the device is in\nlte/limited lte mode without normal ims registration.\nModem will use emergency ims pdn to submit sms to network.\n\nChange-Id: I5762102c695fe309a4a5b318abccded5c50154e0\nBug: 110462046\n"
    },
    {
      "commit": "3ac2a434554214baed22e30867ec1bdfc64c7b03",
      "tree": "4919dea7bbb7998a67aee5dedc2dabb77300797f",
      "parents": [
        "c59a5e7e0b01364f30bab0a134f77539c31163dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 10:52:48 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 14:12:14 2018 -0600"
      },
      "message": "Give StrictMode more bits to work with.\n\nWe\u0027re almost out of bits, and we don\u0027t really need to smash both\nthread and VM policy into the same 32-bit value, so use the lower\n16-bits for each policy type and the upper 16-bits for penalty.\n\nActivityManager is only consulting the penalty bits, so we can\nremove getViolationBit() and switch CTS over to doing instanceof\nchecks.\n\nBug: 110413274\nTest: atest cts/tests/tests/os/src/android/os/cts/StrictModeTest.java\nChange-Id: I760e6a28f56da66dc75b7df9daf2167ff5bdff50\n"
    },
    {
      "commit": "c59a5e7e0b01364f30bab0a134f77539c31163dc",
      "tree": "fcef6161ba0a4aa8d9920fe58eec3e9d1a919e1a",
      "parents": [
        "cb5064e541d25361e379ba2069a743f42cd5cf1c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 21 19:14:58 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 13:20:37 2018 -0600"
      },
      "message": "StrictMode to catch implicit Direct Boot matching.\n\nWhen an app starts becoming Direct Boot aware, it can be difficult\nto track down all the places they\u0027re implicitly relying on\nPackageManager filtering behavior.\n\nFor example, if the current Launcher isn\u0027t Direct Boot aware, we\nhide it until the user is unlocked, which could confuse other Direct\nBoot aware apps into thinking it had been uninstalled, which could\ncause data loss.\n\nThis change helps apps track down places where they\u0027re implicitly\nrelying on the automatic filtering; they should instead carefully\nchoose a combination of MATCH_DIRECT_BOOT flags to decide on the\nexplicit matching behavior they want.\n\nTo implement this, we partially migrate the updateFlags() methods\nout into ApplicationPackageManager, since the checking needs to\nhappen on the client side to correctly report StrictMode\nviolations.  We don\u0027t currently mutate the flags, but we retain\nthe naming to keep that door open in the future.\n\nTest: manual\nBug: 110413274\nChange-Id: Iff6feba19da81ea1b4eeb3af821c3bdfbd9bf17c\n"
    },
    {
      "commit": "a287bfead010a3c8ec246384efd603ec50abbf43",
      "tree": "daab0f825ffad42c9a93e995fc1e9d208979ac77",
      "parents": [
        "3e76c04c964e798723c4686e82425c4c182aa57b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Jun 21 16:59:18 2018 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Tue Jun 26 14:48:48 2018 +0100"
      },
      "message": "Track dropping of throws clause in Pattern.java.\n\nThis is not really an API change because PatternSyntaxException\nis unchecked (extends RuntimeException). The behavior has not\nchanged (PatternSyntaxException can still be thrown).\n\nBug: 109659282\nTest: Treehugger\nChange-Id: I5759eee10b27307b68f15fdd6f6f1a258ee01529\n"
    },
    {
      "commit": "063eefa78a37905416cf119fd58278c03ea534f3",
      "tree": "baabd302f0eb9e389af9e96d54ed03e486af2501",
      "parents": [
        "b0f251b14095509dab8489db99eebf7338ed049d"
      ],
      "author": {
        "name": "Qasid Sadiq",
        "email": "qasid@google.com",
        "time": "Mon Jun 11 17:52:51 2018 -0700"
      },
      "committer": {
        "name": "Qasid Sadiq",
        "email": "qasid@google.com",
        "time": "Fri Jun 22 17:45:51 2018 -0700"
      },
      "message": "Depecrate flags, and try to match them to actions\n\nFirst, depeprecate the setters for these flags.\nSecond, of those that it is possible, make them use actions instead.\nThis isn\u0027t possible with isScrollable because it maps to 6 actions,\nso just have its setter do nothing instead.\nAlso fix up a bad unit test.\n\nBug: 37567816\nTest: Ran CTS test suite for accessibiloty, which already test setting\nand getting both flags and actions.\nAlso just ran testback to see if something terrible happened.\n\nChange-Id: I76d9227987a25445485aab591e18f4e97324939f\n"
    },
    {
      "commit": "849c351337307dacf1138bc59367af70684a176d",
      "tree": "c13e9abcd8173e3f654ce396366264495f65c579",
      "parents": [
        "1b18b392069748066362b327e0cd76402bfebc07",
        "5afde76fbec49eedc5e8ce15e57e69c5515b1132"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 22 23:49:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 23:49:02 2018 +0000"
      },
      "message": "Merge \"Make setPrivacy not a hidden api\""
    },
    {
      "commit": "5afde76fbec49eedc5e8ce15e57e69c5515b1132",
      "tree": "f434c0a97ce75beac1b4f53d225832a39e59d887",
      "parents": [
        "2ab2eca7906762c5a1b0e6b6cd15101e30c5cfc5"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 15 17:25:32 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 22 21:07:41 2018 +0000"
      },
      "message": "Make setPrivacy not a hidden api\n\nBug: 110710413\nTest: N/A\nChange-Id: Iae8dda7f2295e3080c042398516838d84bd5d5be\n"
    },
    {
      "commit": "78b8917eae025dc43fade2f32cdac6d194dc94d3",
      "tree": "553afaca77dd629639208904ec5c0f471fa2c3b3",
      "parents": [
        "3d7612009dd13bd646e297fb652eb23a5be841b6"
      ],
      "author": {
        "name": "Nicholas Sauer",
        "email": "nicksauer@google.com",
        "time": "Thu Jun 21 08:23:58 2018 -0700"
      },
      "committer": {
        "name": "Nicholas Sauer",
        "email": "nicksauer@google.com",
        "time": "Thu Jun 21 08:27:35 2018 -0700"
      },
      "message": "Add SHOW_SOURCE_PUSH_TO_TALK to indicate that the interaction service\nwas invoked by a hardware button.\n\nbug: 110378156\nTest: lunch bat_land-userdbyg \u0026\u0026 m; deploy and use the input activity in kitchen sink to verify voice.\nChange-Id: I0f3ac2783b2ea0ce6298123b67e75911d168d876\n"
    },
    {
      "commit": "4a6dff091141e40df747f37203fb0fc17e16a39a",
      "tree": "8ce4bbaa12a4da0db887033ee74e65b722915718",
      "parents": [
        "fdc40f52d89769709c264a0c8f081ffc0ca8c87b"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 12 16:23:54 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 19 12:23:55 2018 -0700"
      },
      "message": "Allow permissions to have background permissions\n\nSome permissions are getting split into foreground and background\nvariants. If an app only has the foreground version it can only access\nthe protected resource while the user is using it. Once the background\npermission is added to the foreground permission the app can always\naccess the resource protected by the permission.\n\n- Only having the background permission does grant anything.\n- Mutliple foreground permission can share a single background permission,\n  but a foreground permission can not have multiple background\n  permissions.\n- As the implementation of background permissions is based on AppOps\n  only the system can declare such foreground/background permissions\n- A CTS test enforce that the background is in the same group as the\n  matching foreground permission.\n\nBug: 78788390\nTest: Checked declared permission after boot and found new attributes\nChange-Id: Ica7ba77b24345607c7467c41c982a58c39199024\n"
    },
    {
      "commit": "1c4cc2d182d46361268c7c58a88e24a91804029e",
      "tree": "cd6f60144a2f4683d04e9b376aa74d24c944e51e",
      "parents": [
        "e448504530bc0eb514157a94f4ed1a1bca5b9801",
        "f0c322a9db76d6170af0d99fb230a2855c789a1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 14 23:42:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 23:42:46 2018 +0000"
      },
      "message": "Merge \"Expose new AppOps API that we had to leave hidden in P.\""
    }
  ],
  "next": "f0c322a9db76d6170af0d99fb230a2855c789a1a"
}
