)]}'
{
  "log": [
    {
      "commit": "18e3eb816887156f40def1c14db434ddde9ec245",
      "tree": "eb89c3addc9bac983b9d4fb1138ebe4de5fcc52a",
      "parents": [
        "a5fd0294c76c1faa3479a2093ae3e5f0838791ad"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 09 16:55:55 2018 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Mar 20 13:57:14 2018 -0700"
      },
      "message": "Add SoundTriggerDetectionService\n\nThe service is meant to replace the PendingIntent based API. Once all\nusers of the PendingIntent based API switched the PendingIntent based API\nwill be removed.\n\nTo have as little as possible impact on the whole SoundTrigger framework\nthe RemoteSoundTriggerDetectionService class implements the same\ninterface as the PendingIntent based class. Hence the exising code has\nvery little change. Further once the old code can be removed the amount\nof changed (and added) code is limited.\n\nThe RemoteSoundTriggerDetectionService -\u003e SoundTriggerDetectionService\nis a vanilla as possible service implementation. The special behaviors\nare:\n- The system holds a wakelock while service operations are in progress\nand the service is bound as foreground. Hence the service can e.g.\nlisten to the microphone.\n- Service operations have a certain amount of time they are allowed to\nrun. Once every operation is either finished or the the operation\nexceeded the allotted time, the system calls onStopOperation for each\nstill pending operation. This is a similar model as for the commonly\nused JobService.\n  Please note that if the time allowed for an operation is 15s and\nop1 was run as 0si, and op1 was run at 5s, the service is allowed to run\nuntil 20s. Hence _both_ onStopOperations will happen at 20s. This is\ndone for ease of implementation but should not give the service more\npower than calling onStopOperation exactly 15s after each operation is\ntriggered.\n- If an operation is done before the allotted time is reached, the\nservice can declare the operation as finished manually by calling\nonOperationFinished. This is a call back into the system, hence a\n\u0027client\u0027 binder is sent to the service. If the operation is finished\nby calling this method onStopOperation will not be called.\n- As the service instance might be killed and restored between\noperations we add a opaque bundle \u0027params\u0027 to each operations. The users\nof the API can use this to send data from the start command to the\noperations. It can also just be set to null. The params are not meant to\nstore changing state in between operations. Such state needs to be\npersisted using the regular methods (e.g. write it to disk)\n- A service can be used for multiple recognition sessions. Each\nrecognition is uniquelity defined by its sound model UUID. Hence each\noperation gets at least tree arguments: Operation ID, sound mode UUID, params\n- As a small optimization the params are cached inside of the service\ninstance.\n\nThe time allowed for each operation is in a @SystemAPI global setting,\nso the service can make sure it finishes the operations before they are\nstopped. It might take some time to deliver the operations via the\nbinder, hence it is not recommended to try to use every last ms of\nallotted time.\n\nTest: atest SoundTriggerDetectionServiceTest (added in separate CL)\n      atest android.provider.SettingsBackupTest\nChange-Id: I47f813b7a5138a6f24732197813a605d29f85a93\nFixes: 73829108\n"
    },
    {
      "commit": "eadd123d68850cb27aa6d030ade6190e30991b19",
      "tree": "28ee59bef758929559dde7b34a9dbe962f1196c9",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Feb 05 16:45:13 2018 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Mar 07 21:50:12 2018 +0000"
      },
      "message": "Dumping stack traces to proto.\n\nBug: 72177715\nTest: flash device and check incident.proto output\nChange-Id: Id2a15e0fc62b66efe875949af97f0eb651c7e322\n(cherry picked from commit 5c804e2b9893c7892900148229cf19fa6268e7dc)\n"
    },
    {
      "commit": "71ddfeaf14e748ff91f88406940d73643151ba40",
      "tree": "dc5b34f35015fdbf9791c60ff963f39ae020cf42",
      "parents": [
        "60cebe02a0c39351b26215062403548c53b178a9"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 27 16:43:50 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 27 16:43:50 2018 +0800"
      },
      "message": "Reformat Android.bp file\n\nThis commit replaces `\u003d` with `:`, which is more idiomatic.\n\nTest: walleye-userdebug builds\nChange-Id: I8fe71e53a4005e44c4bdee2ee23220997b6c3e4f\n"
    },
    {
      "commit": "2d20fb47f4a7162450f993728876c74762b93112",
      "tree": "eaac12d61e2c3165bfc18a04fb9da24967c9c682",
      "parents": [
        "7d5beeb25530ec016557f37bb900b201ba4d498c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 08 15:52:10 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 16 18:29:04 2018 -0800"
      },
      "message": "APIs to watch active op changes\n\nSystem singed components can watch for starting/finishing of\nlong running app ops. Also protected the APIs to watch op mode\nchanges with a singature permission for the cross-uid use case.\n\nTest: atest com.android.server.appops.AppOpsActiveWatcherTest\n\nbug:64085448\n\nChange-Id: Id7fe79ce1de4c5690b4f52786424ec5a5d9eb0fa\n"
    },
    {
      "commit": "404eb2bcd5276eda9b1a5de3bc535aca114b6d51",
      "tree": "0d46dc30ab44af2b4386383fe7829f8fc8f59c82",
      "parents": [
        "145ecabda275e42c9176446240de4fed5c89b71b"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Feb 14 13:53:04 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Feb 14 15:46:50 2018 +0800"
      },
      "message": "Fix PDK build\n\nThis commit moves \"IConfirmationPromptCallback.aidl\" and\n\"IKeystoreService.aidl\" to \"system/security/keystore/binder\" so that\n\"libkeystore_aidl\" can be built in PDK builds.\n\nTest: Run `cts-tradefed run cts -m CtsKeystoreTestCases` on Pixel 2017\nand the test results are idential with and without this CL.\n\nTest: Build PDK with special manifest described in\nhttp://b/69539820#comment18 and http://b/69539820#comment19.\n\nTest: Build a target (described in http://b/72961456) with\n`platform.zip` built from master FSK source tree.\n\nBug: 69539820\nBug: 72961456\nChange-Id: I7350f0ca943b15a6f3e40023a6cc299bdf8aed0e\n"
    },
    {
      "commit": "1d3cdce9b0a707bb3339e16ca2f7b344a9ba52af",
      "tree": "8f81648216d4ed31a62a4442c94c36b80987bd9b",
      "parents": [
        "b6ff8364c98da19dcebce0397574c49c876aa6f4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jan 20 10:31:21 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 18:14:58 2018 -0800"
      },
      "message": "Add audioserver state callback\n\nAdd system APIs for components (e.g rild) to monitor native audioserver\nstate and be able to reaply states after a native audioserver\ncrash and restart.\n\nBug: 67317552\nTest: manual test.\n\nChange-Id: I2afba9da5fc32b3768ca5ca0d5f97cc68707c408\n"
    },
    {
      "commit": "4f07fa4e748c4f259a7ae9c06f89e44a9c69acff",
      "tree": "1b380c52228590276da54e5e0a33f2decdef8171",
      "parents": [
        "9eb34faac701c5f3890a84e7e12ecf253687e5ea",
        "f268bf573f671fdc051bf4485dc0ea972406ea38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 16:36:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 16:36:13 2018 +0000"
      },
      "message": "Merge \"Add support for vibrator HAL 1.2 effects.\""
    },
    {
      "commit": "f268bf573f671fdc051bf4485dc0ea972406ea38",
      "tree": "7739203484a1ced5f88421fb44c6e3bf5fa36d8f",
      "parents": [
        "0589371900a47b70dd5851c9792ffdbdd781c96c"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Feb 07 23:23:34 2018 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Feb 08 21:24:02 2018 +0000"
      },
      "message": "Add support for vibrator HAL 1.2 effects.\n\nTest: atest android.os.VibrationEffectTest\nBug: 64184692\nBug: 64185677\nChange-Id: I0b3f9caa04b3e7bdadba5c44188120ac14943f82\n"
    },
    {
      "commit": "9accbba1b7c3a47fdb16c47287844f7063acda46",
      "tree": "7ffad77734e4e405deb7cd30fd490c968cdb853f",
      "parents": [
        "28ddc0a68ec32691544d4255f72776ce942cfcb1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Jan 30 16:41:00 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Feb 07 12:36:05 2018 -0800"
      },
      "message": "[RTT] Remove the legacy RTT service\n\nRemove the legacy RTT service. RTT requests are already directed to\nthe new API by a previous CL.\n\nBug: 65108579\nTest: unit tests\nTest: WifiRttManagerTest:test_regular_scan_then_rtt_ranging_stress\nChange-Id: I436e8bcd2f4e2ba6056870d887eea141fbebae85\n"
    },
    {
      "commit": "94292a388ce5ed17a7df4c19482f4c9f98fce310",
      "tree": "92509cb27bc7ce2762c706fb06cb7df0efaa8bd1",
      "parents": [
        "400e08ddc70191930734fa77f356b738c86b7196"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Fri Jan 26 17:16:53 2018 -0800"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Tue Feb 06 11:55:10 2018 -0800"
      },
      "message": "Move CarServiceHelperService (again)\n\nMove CarServiceHelperService.java and ICarServiceHelper.aidl from\nframeworks/base to frameworks/opt/car/services.\n\nBug: 72571496\nTest: Complies and runs\nChange-Id: I0f09c84e25a372dab3f170bd623f25a92f9b0f73\n"
    },
    {
      "commit": "d2fecf34f99b7f44bddc241a10cc9c32a4c44bdf",
      "tree": "ddc3ca8e4e24da0adb861133af022f6a74d6bd48",
      "parents": [
        "ee47dea99adebb4b10ad95b744bb53b5d5f5b606"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Sat Feb 03 01:54:11 2018 +0000"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Sat Feb 03 01:54:11 2018 +0000"
      },
      "message": "Revert \"Move CarServiceHelperService\"\n\nThis reverts commit ee47dea99adebb4b10ad95b744bb53b5d5f5b606.\n\nReason for revert: \u003cINSERT REASONING HERE\u003e\n\nChange-Id: Ie26a7b08cb2d86c71f3d8c8c509d9803d0ad293b\n"
    },
    {
      "commit": "ee47dea99adebb4b10ad95b744bb53b5d5f5b606",
      "tree": "567c8e8d124cdef88ae930f1640e49c773127a89",
      "parents": [
        "7902b4a1b222cac1f60125de93a1ab30a0b7523f"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Fri Jan 26 17:16:53 2018 -0800"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Thu Feb 01 17:46:52 2018 -0800"
      },
      "message": "Move CarServiceHelperService\n\nMove CarServiceHelperService.java and ICarServiceHelper.aidl from\nframeworks/base to frameworks/opt/car/services.\n\nBug: 72571496\nTest: Complies and runs\nChange-Id: I3e25cec3db75b5250a0dec4959c32526d6553da6\n"
    },
    {
      "commit": "327b809ad11a5094248652014227470c4be329e6",
      "tree": "9779e98e6ab294d0455b67d7a764a892007cce6a",
      "parents": [
        "1810393c5a5fa0d9f8579e0eeabd7b334482163c"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jan 09 17:53:04 2018 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Jan 31 11:40:48 2018 -0800"
      },
      "message": "Refactor and clean up USB, add tests\n\nChange UsbManager apis to use long instead of string, to match\nusb hal. Change UsbDeviceManager internals to match as well.\n\nRemove isFunctionEnabled and add getEnabledFunctions. Callers\nwould often call isFunctionEnabled for every possible function\nto get the list of functions, so getEnabledFunctions reduces the\nnumber of aidl calls.\n\nSeparate out dependencies between UsbHandler and UsbDeviceManager\nand staticize the UsbHandler classes. Add unit tests with\nmocked out dependencies to test state transitions for UsbHandler.\n\nBug: 62876645\nTest: atest UsbTests\nChange-Id: I785c4c24121a70e725de9742c6af50a6bf1baea0\n"
    },
    {
      "commit": "8420d5e596663a9478ce73a7187d0fc8040781b5",
      "tree": "f2c540455e09bf990e8f595694eb7ba4ab158089",
      "parents": [
        "2043082f968a385c2ab976dffed4d02b027c50e4",
        "d32906c202db3b84151c310ecd89a07bb41208f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 05:26:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 05:26:27 2018 +0000"
      },
      "message": "Merge \"Introduce a TextClassifierManagerService.\""
    },
    {
      "commit": "98e31505705052c712b320dc2a03589011e11dfd",
      "tree": "3789c77dfd8a2ebb4fccbe565cd320ba5586701e",
      "parents": [
        "7a6c84a290606eb56189621d3eb6fb2316454b40",
        "35d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3a"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Jan 30 16:19:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 16:19:42 2018 +0000"
      },
      "message": "Merge changes from topic \"ims_imsservice_apis\"\n\n* changes:\n  Modify ImsService API to accomodate compat\n  Make ImsService API @SystemApi\n  Integrate new MMTel APIs into the framework\n  Integrate ImsCallSessionListener API changes\n"
    },
    {
      "commit": "2a9cd149004e3457eb99043b781954e5fe4d921e",
      "tree": "fac27ae4b98cd83f4277d5f66ca745e3b65bc84c",
      "parents": [
        "8ed7f2b76930e4e52d222d6c2d55649e66be4c7a",
        "a3b692113c8c196349399857b6659774a6ef3bea"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 11:20:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 11:20:50 2018 +0000"
      },
      "message": "Merge \"Conditionally remove android.test.base from bootclasspath\""
    },
    {
      "commit": "d32906c202db3b84151c310ecd89a07bb41208f7",
      "tree": "96f9d30087d29ed9c8e777883a8bb24d2a96c1a7",
      "parents": [
        "7933daec0a23366ef6a57aa1d7d5cbf3646a5943"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu Jan 18 04:34:44 2018 -0800"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Jan 29 17:16:21 2018 -0800"
      },
      "message": "Introduce a TextClassifierManagerService.\n\nApps wanting to use a TextClassifier service (instead of an\nin-app-process TextClassifier) bind to this service. The service\nbinds to and reroutes calls to a configured system TextClassifierService.\n\nTextClassifierManagerService manages the lifecycle of the configured\nTextClassifierService and binds/unbinds to preserve system health.\n\nA configurable TextClassifierService extends TextClassifierService,\ndeclares an android.textclassifier.TextClassifierService intent, and\nrequires a permission that is only granted to the system so only the\nsystem may bind to it.\n\nThe TextClassifierManagerService implements a similar interface to\nTextClassifierService (i.e. ITextClassifierService) but doesn\u0027t have to.\nThis is done for simplicity sake and things may change in the future.\n\nThe configuration of the default service is in config.xml.\nOEMs may change this with a config overlay.\nIf no TextClassifierService is specified, the default in app process\nTextClassifierImpl is used.\n\nBug: 67609167\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: tbd\nChange-Id: I8e7bd6d12aa1a772897529c3b12f47f48757cfe6\n"
    },
    {
      "commit": "c599ba36e3484efdd7339f9d1b4e89bb7f886c19",
      "tree": "efd78f1e26734e66d6c50452d156d967a053e2f6",
      "parents": [
        "6d959eaaf09c20f65e572d497baae5ca1549581c"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 21:37:20 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 22:43:06 2018 +0900"
      },
      "message": "MediaSession2: Move binder interfaces into the updatable\n\nTest: Run all MediaComponents tests once\nChange-Id: I29a7aa9d649ea212ad4728ebabff40ec0d47ecb1\n"
    },
    {
      "commit": "a3b692113c8c196349399857b6659774a6ef3bea",
      "tree": "f78f9107796b2d2cb13d5e5e2b1473a5a760a34b",
      "parents": [
        "43c84465942a250aca938a5c3e939b73034d6a5a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jan 25 09:58:32 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 29 11:48:44 2018 +0000"
      },
      "message": "Conditionally remove android.test.base from bootclasspath\n\nThis makes the runtime handling of the android.test.base library\nconditional based on a build flag REMOVE_ATB_FROM_BCP.\n\nWhen REMOVE_ATB_FROM_BCP\u003dtrue:\n* The framework-atb-backward-compatibility is added to the\n  bootclasspath instead of android.test.base.\n* Any APK that targets pre-P (or has a dependency on android.test.runner)\n  has android.test.base added to their library list.\n\nOtherwise:\n* The android.test.base library is added to the bootclasspath.\n* Any APK that explicitly specifies that it depends on the\n  android.test.base library has the library removed as the classes\n  are available at runtime.\n\nAdded android.test.base to platform libraries so it can be used when\nnot on the bootclasspath.\n\nTested both cases by building with or without the build flag, flashing,\nsetting up, adding an account, adding a trusted place.\n\nAlso, tested that all combinations of REMOVE_ATB_FROM_BCP and\nREMOVE_OAHL_FROM_BCP work.\n\nadb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk\nadb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nBug: 30188076\nTest: as above\nChange-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6\n"
    },
    {
      "commit": "379e30d90d8597ac51b475cefa41e9dd45bfb720",
      "tree": "5420594d80e09b186e81a7410cb71a7f06296701",
      "parents": [
        "543566fed39c37f90ee0c9a8efe9a8221f166ceb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 11:57:04 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 11:57:04 2018 +0900"
      },
      "message": "MediaSession2: Add listeners for change in session token\n\nTest: Run all MediaComponents tests once\nChange-Id: Ic46ad9e4e4c9e1ce43b3dbad904eae7fc30d52a0\n"
    },
    {
      "commit": "fbf5892f1584dab4e3433a904be30208583c1c3c",
      "tree": "38301b0f813789151f85fb28893262cbb30dbacc",
      "parents": [
        "55c84552cc0cab34f13084c219a0f4c4487e512b",
        "c7ffbe636accef2f52ebc264a7a06b3049b0a05f"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Jan 26 18:44:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 18:44:11 2018 +0000"
      },
      "message": "Merge \"Implement UI for warn-on-launch\""
    },
    {
      "commit": "05d7bebe23f13b078fd0eb7ffba7000baaaf74e0",
      "tree": "61e46d66548920bbfcf9772c20ef4e2ee9e44d57",
      "parents": [
        "b8bbb9d903b7f8c850178a66d389ba87fa191e21",
        "2729909ab6fb1d62e1e21415fc315a61009a7504"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Jan 26 01:43:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 26 01:43:05 2018 +0000"
      },
      "message": "Merge \"Open Mobile API for frameworks/base\" am: 183865f3e1 am: ab8328c047\nam: 2729909ab6\n\nChange-Id: Iee488feed404819e487f3ae87b3e71f531fe69a4\n"
    },
    {
      "commit": "66f0026f3f27e71dfb764df438ce9016d7c5f08d",
      "tree": "091d557b2be57df455473a87fe5f907b07816064",
      "parents": [
        "17546a7e85a5b82b2c5b0aaae8651df780c67d39",
        "f34c602108a2725b940946b24194045fefab9f5e"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Jan 26 00:46:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 00:46:34 2018 +0000"
      },
      "message": "Merge changes from topics \"reland_recents_animation\", \"\t reland_recents_animation\"\n\n* changes:\n  Fix issue with reparenting stacks on displays.\n  Revert \"Revert \"4/ Update SysUI shared lib for Recents transition\"\"\n  Revert \"Revert \"3/ Add input consumer to capture touches during a Recents transition\"\"\n  Revert \"Revert \"2/ Add support for remote Recents animation\"\"\n  Revert \"Revert \"1/ Create display content window controller to position stacks in the display\"\"\n"
    },
    {
      "commit": "5815664d4b39e6b59b7bbf92cb6900da26f340b6",
      "tree": "d23fb0e8b74a171ce8d2ddbb2b54251588bf5074",
      "parents": [
        "4b66fc6b1f9f92d96ea9a03b9a186a5510ebd253",
        "486b24179f25439be8e647ec22851bbe5b002bb3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 22:47:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 22:47:54 2018 +0000"
      },
      "message": "Merge \"Add AbstractThreadedSyncAdapter#onUnsyncableAccount API\""
    },
    {
      "commit": "e2d721781fc024cbd9a14929741e5b476242291f",
      "tree": "80e3a7453e4548cd0d7fe47cb85958421dc9b79f",
      "parents": [
        "59a47deda360482caddbd2b32d0622129f1d46c0"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jan 25 17:46:20 2018 +0000"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jan 25 13:44:44 2018 -0800"
      },
      "message": "Revert \"Revert \"2/ Add support for remote Recents animation\"\"\n\nThis reverts commit 9f8518e532e41ba57916afc49bba72bc23ad3eda.\n\nReason for revert: Testing relanding changes with ag/3515280\n\nChange-Id: I410bd752c815a5b998a719453def01e00a9d47c8\n"
    },
    {
      "commit": "112c36d39f3668f5c90edc818045c4318957d018",
      "tree": "13d48c0b85aa06d78caa41658230e9ee84edd251",
      "parents": [
        "264625486becc65fac29d7094cfba6d591daeae4"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Jan 16 09:33:47 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 25 10:51:27 2018 -0800"
      },
      "message": "Integrate new MMTel APIs into the framework\n\nPerforms the bulk of the work of:\n1) Moving the old MMTel APIs to a hidden\n.compat namespace to support older vendor\nversions of the code.\n\n2) Replace the compat MMTel APIs with the\nnew ImsService APIs and integrate them\ninto existing code.\n\nThis is one of two CLs, this CL\nintegrates the new APIs, the next CL\ncreates the compat layer in telephony\nto translate the .compat APIs to the new\nAPIs to allow Telephony to work with\nolder versions of the API.\n\nBefore commit, the corresponding vendor\nchanges will have to be submitted as well.\n\nBug: 63987047\nTest: Telephony Unit tests\nChange-Id: Icc9ecfdad000f42399beeac142083e62962c12d3\n"
    },
    {
      "commit": "264625486becc65fac29d7094cfba6d591daeae4",
      "tree": "65a7ed96a632ad828d0ce319afa082fa034671bb",
      "parents": [
        "29a18c1101b3603da18dc19f83adc5aedaf65e77"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 11 10:27:43 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 25 10:50:43 2018 -0800"
      },
      "message": "Integrate ImsCallSessionListener API changes\n\nIntegrates the ImsCallSessionListener API changes.\nThis involves:\n\n1) Moving the ImsCallSessionListener to the\nandroid.telephony.ims namespace.\n2) Creating a compat layer between the old\nIImsCallSessionListener AIDL and the new one\nfor vendors using the old implementation.\n3) Modify ImsCallSession to only use\nsetListener to set ImsCallSessionListener\n(other method was never used in our code).\n\nTest: Telephony Unit Tests, Manual IMS Tests\nBug: 63987047\n\nChange-Id: I4378c0b1d68ff4f5f21815c81af52c03a66f81c5\n"
    },
    {
      "commit": "a1f9401a220fcb2b5435a7e40dc971ea82ca00b2",
      "tree": "9d850e170940c8249c66cf649b0f9b3009bd76e6",
      "parents": [
        "197f072da218cd2b5edd575513233f8b79a7b720"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Dec 08 15:07:03 2017 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Jan 25 18:04:17 2018 +0000"
      },
      "message": "Open Mobile API for frameworks/base\n\nThis contribution is an implementation of the GlobalPlatform\nOpen Mobile API for Android with some modifications to\nnamespaces and packages to make it suitable as a core\nAndroid component.\n\nThis contribution is based on\n0001-Open-Source-Contribution-of-Smartcard-Service-for-fr.patch\nwhich can be found in\nhttps://portland.source.codeaurora.org/patches/quic/la/PATCH_217881_OpenMobileAPI_20171206.tar.gz\n\nThe submitted patch was derived from\nhttps://source.codeaurora.org/quic/la/platform/packages/apps/SmartCardService/commit/?h\u003dLA.BF64.1.2.1\u0026id\u003d06ecea9abb8264049f52c7e31c0bc13330a425d5.\n\nTest: Sample Application; open Channels and transmit APDUs\n\nChange-Id: Iac5206bd84798ca0fcdb504c89e1da5383012a5a\nSigned-off-by: Jeremy O\u0027Donoghue \u003cjodonogh@codeaurora.org\u003e\n"
    },
    {
      "commit": "486b24179f25439be8e647ec22851bbe5b002bb3",
      "tree": "1102c50c2479041fd77aef5e5395bc8ddd22856e",
      "parents": [
        "bdd460bf491da026c5e6270061f6af2a514890b3"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jan 03 11:29:01 2018 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Jan 25 00:37:48 2018 +0000"
      },
      "message": "Add AbstractThreadedSyncAdapter#onUnsyncableAccount API\n\nThis allows for an SyncAdapter to defer all onPerformSync calls (and the\nadmission check for those) until the adapter is ready to accept those\ncalls.\n\nTest: atest android.content.cts.AccountAccessSameCertTest\n      atest android.content.cts.ContentResolverSyncTestCase\n      atest android.content.cts.DeferSyncTest\n      atest com.android.cts.content.CtsSyncAccountAccessOtherCertTestCases\n      Set up a user and work account and waited until their gmail\n      synced.\n\nBug: 72459220\nChange-Id: I8f9ab735d64189578ccdd1c3e1d7b7c5383b8ee9\n"
    },
    {
      "commit": "7dacad8dc88c820cc750495017c11e322ac7309f",
      "tree": "95e5a4a87059b23d8032eb226081b54955af3355",
      "parents": [
        "f88fdc995fbd23ecc3e9b6b8a94186cd96969085"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Jan 24 15:12:11 2018 -0800"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Jan 24 15:45:08 2018 -0800"
      },
      "message": "Add confirmation UI protocol to Keystore AIDL definition\n\nTest: Manually tested\nBug: 63928580\nChange-Id: Ief1cdb9a64737d5aac08aa1c48ff60c34218d5ba\n"
    },
    {
      "commit": "cb15919569ba9cec08e1c0f34fc6e1173700996a",
      "tree": "e40fb2b5f6a7ebcae117bd80604b33b50860a60b",
      "parents": [
        "65b79f7edba9dd6c8a34f2f753a08113dafcd553",
        "e8e63aae6f705cbe316a1d9a7780f9f534bc3948"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 24 23:32:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 23:32:38 2018 +0000"
      },
      "message": "Merge \"Allow HIDL to be used in priv-apps.\""
    },
    {
      "commit": "c7ffbe636accef2f52ebc264a7a06b3049b0a05f",
      "tree": "8f26480fa51702839613e9d9c5e083bb7fd77082",
      "parents": [
        "6e618d6034f9ab23ea2a2dea1bc468d026f518eb"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Jan 19 11:28:04 2018 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Jan 24 14:49:16 2018 -0800"
      },
      "message": "Implement UI for warn-on-launch\n\nBug: 63909431\nTest: atest CtsHarmfulAppWarningHostTestCases\nChange-Id: Icabe31f3fb04692bac0313cbeb1cafb64388d5f1\n"
    },
    {
      "commit": "8069cd9861f5db13ebf6c54b886758dc0debc8fd",
      "tree": "697be599cb184498576d1a82d4785cc8aa1f8f55",
      "parents": [
        "71df9bf1761b15b0a0eda5a7d7fd92011dc44ea2",
        "0a8a8f0b26634395ce64123e2a385670d6b07c00"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 24 22:35:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 22:35:43 2018 +0000"
      },
      "message": "Merge \"add MediaPlayer2\""
    },
    {
      "commit": "71df9bf1761b15b0a0eda5a7d7fd92011dc44ea2",
      "tree": "e51db56d13e9b00aace2fa8afb9a196edf5c0144",
      "parents": [
        "41db489a43b5152013ca745ce97557aa9ec4f6e4",
        "7783ecd7559e3eafad1ef256e3d93074dab4b3fc"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Jan 24 22:33:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 22:33:21 2018 +0000"
      },
      "message": "Merge \"Merge \"Added network service interface\" am: 71793be6bb am: 2b06789511 am: 3748d15321\""
    },
    {
      "commit": "7783ecd7559e3eafad1ef256e3d93074dab4b3fc",
      "tree": "f3f6d13b1c0d485334fb1f2ab4b85b8f19fc02f9",
      "parents": [
        "6d2b3517912086c55433bfa519189c79bc034c70",
        "3748d1532185ab25415d324073cbdf609f870aed"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Wed Jan 24 22:32:56 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 24 22:32:56 2018 +0000"
      },
      "message": "Merge \"Added network service interface\" am: 71793be6bb am: 2b06789511\nam: 3748d15321\n\nChange-Id: Ia08a840e47d3372772a105ef7b65bb259d07e7f8\n"
    },
    {
      "commit": "41db489a43b5152013ca745ce97557aa9ec4f6e4",
      "tree": "8105d6b37a1adad30c666c55be8f7e65c27858d0",
      "parents": [
        "82c2173b678ebff8092ec2a77eaaf4c987e109bd",
        "48e18c5b4fab790e6466a096484ce712d9bbbfe6"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Wed Jan 24 22:32:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 22:32:39 2018 +0000"
      },
      "message": "Merge \"Remove internal version of SMS apis\""
    },
    {
      "commit": "d5f1de19f49422f79ad23251cbabbe855cff5efb",
      "tree": "87401f42d58b3bdc3c4e099b3682ad7c114989fe",
      "parents": [
        "475fe28c505b5428280ec5ffc271c7bbb7e7ac25"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Dec 21 11:00:05 2017 -0800"
      },
      "committer": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Wed Jan 24 19:13:45 2018 +0000"
      },
      "message": "Added network service interface\n\nThe interface for mobile network service. This is the base class\nfor vendor or first party data service provider to implement\nthe network service for cellular or IWLAN network support.\n\nTest: Manual\nbug: 64132030\nChange-Id: Ia358cbb18fc6d15dcc45c75f14b7c952f899e101\n"
    },
    {
      "commit": "0a8a8f0b26634395ce64123e2a385670d6b07c00",
      "tree": "28393d8416b9d1cf42cc73fb161783424f7892b5",
      "parents": [
        "df5e92833e93f6bd97e39ab9f6bbc7942e9fb0c0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 05 17:05:29 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 24 11:03:37 2018 -0800"
      },
      "message": "add MediaPlayer2\n\nForked from 9070e295864b83deca9020ca8bdd9ff790e631a9\nTest: plays local files, callback source and streaming.\nBug: 63934228\nChange-Id: I692007c07eb2819f8ad1d843e4e2b1fc96fbecca\n"
    },
    {
      "commit": "ff73b83831f03e0912e55096961ce42dbfa164f9",
      "tree": "13424cb83a2fa9dc5d7dc1605be52959f635d183",
      "parents": [
        "5673793a5feaffa4c32072053a388491c9cecb37",
        "eab3e5509689cf4dd066f0de5e060967626b3a2a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 19:00:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 19:00:39 2018 +0000"
      },
      "message": "Merge changes Ia3065eb5,I602e8bb0\n\n* changes:\n  Update ProgramInfo to match HAL 2.0 changes.\n  Implement front-end APIs for announcements.\n"
    },
    {
      "commit": "48e18c5b4fab790e6466a096484ce712d9bbbfe6",
      "tree": "46a915fb568123698ddc0b2f7c7a3598d2216e44",
      "parents": [
        "00be19795d68bb5a670b749972b6690e1fa3ce5f"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Mon Jan 22 15:43:37 2018 -0800"
      },
      "committer": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Wed Jan 24 17:57:26 2018 +0000"
      },
      "message": "Remove internal version of SMS apis\n\nTest: manual\nBUG\u003d69846044\nChange-Id: Ie084ea67c460c686bd587e4b36f8c1579517ea7f\n"
    },
    {
      "commit": "19630d165ec8814ac2b2cf00a8e850e340edc78a",
      "tree": "0185f789fef29611dc22d02c7a711394e189ec9e",
      "parents": [
        "a8e4641436af46469c7b682aeff21eb26512e53f",
        "beee5dcdfadf4d4b34d3d6ac733be3c420746c84"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 09:04:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 09:04:39 2018 +0000"
      },
      "message": "Merge \"Support conditional removal of oahl from bootclasspath\""
    },
    {
      "commit": "179e117cbe3a45438838c5bf7765ec30f238a65c",
      "tree": "04d71fd12388b4b2129df6d88b16d97f5a8b00cb",
      "parents": [
        "d2c4f7f610789e912578b16a975d41e712e15aae",
        "42653e8d50fc9bbb49ad7a8d588995cfdd1cc8c2"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Wed Jan 24 02:07:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 02:07:54 2018 +0000"
      },
      "message": "Merge changes from topic \"fingerprint-dialog\"\n\n* changes:\n  Add Fingerprint Dialog to SysUI\n  Add FingerprintDialog API and related plumbing\n"
    },
    {
      "commit": "aae4a15a2288c20e73b995a590bde4626c887d03",
      "tree": "cf2a99a37ff46535d753229cc5a1f8295500e290",
      "parents": [
        "43137e8e8de3e0ee6aefb9b9e3aa8278eaa8db5b"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Jan 18 11:48:09 2018 -0800"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Jan 23 14:54:48 2018 -0800"
      },
      "message": "Add FingerprintDialog API and related plumbing\n\nThis commit adds the plumbing which sends the signals from the API\nto the component in SysUI. The dialog will be implemented in another\nCL in this topic.\n\nBug: 67497360\n\nTest: Modify Settings to use the new API\nTest: FingerprintDialogImpl is able to notify FingerprintDialog clients\n      of user events\nTest: System dialog is dismissed when client application is killed\n      unexpectedly\nTest: Open FP settings, lock device, authenticate, authenticate. Repeat\n\nChange-Id: Id28ec9691646bed765dc069cceb4678d9f6db92e\n"
    },
    {
      "commit": "beee5dcdfadf4d4b34d3d6ac733be3c420746c84",
      "tree": "a942b5c97c49d91d977bd44776a53b1c0e422b68",
      "parents": [
        "a8c7794856c5794fa5b31cf5398b8f773650d6c7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 23 13:39:00 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 23 17:09:32 2018 +0000"
      },
      "message": "Support conditional removal of oahl from bootclasspath\n\nThis makes the runtime handling of the org.apache.http.legacy library\nconditional based on a build flag REMOVE_OAHL_FROM_BCP.\n\nWhen REMOVE_OAHL_FROM_BCP\u003dtrue:\n* The framework-oahl-backward-compatibility is added to the\n  bootclasspath instead of org.apache.http.legacy.\n* Any APK that targets pre-P has org.apache.http.legacy added to their\n  library list.\n\nOtherwise:\n* The org.apache.http.legacy library is added to the bootclasspath.\n* Any APK that explicitly specifies that it depends on the\n  org.apache.http.legacy library has the library removed as the classes\n  are available at runtime.\n\nTested both cases by building with or without the build flag, flashing,\nsetting up, adding an account, adding a trusted place. Adding an account\nfailed when REMOVE_OAHL_FROM_BCP\u003dtrue.\n\nadb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk\nadb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nBug: 18027885\nBug: 72375096\nTest: as above\nChange-Id: Ie88fb79da76d3cbbd27eaf820c872191ecba2b17\n"
    },
    {
      "commit": "727e3d28725a677ca31bea280f4994e17d95b253",
      "tree": "ab2259de78da7d8d7fb86a11e579e7ebcdcfd368",
      "parents": [
        "0945bb741868045c8317cf86d0acb55433ed4f77",
        "ceb6b6e131a1c8c7451e9b7298bec573f28fa731"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 09:46:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 09:46:10 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Move MediaSession2/MediaController2 from experimental\""
    },
    {
      "commit": "ceb6b6e131a1c8c7451e9b7298bec573f28fa731",
      "tree": "4c206f4317f218fdb2f3c3773dbdeeabc405a39a",
      "parents": [
        "e65bd19fdd1c86d262997da9cd53f9006474daae"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Jan 21 20:56:10 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 14:02:08 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSession2/MediaController2 from experimental\n\nAPIs will be unhidden later\n\nTest: Run MediaComponentsTest\nChange-Id: I2d9fcd98232016281fad128e9e674885b41e20d9\n"
    },
    {
      "commit": "e8e63aae6f705cbe316a1d9a7780f9f534bc3948",
      "tree": "6c7d1ace4d6b93585ba230bc73e1ae25f7babd40",
      "parents": [
        "5d94c398eb17ea7e9ae7b834da69e11269b7e9b1"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 10 15:45:36 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jan 22 18:48:54 2018 -0800"
      },
      "message": "Allow HIDL to be used in priv-apps.\n\nMarking HIDL as SystemApi to allow vendor apps to talk to their own\nnative HIDL services. This includes implementing HIDL callback objects.\n\nHIDL (HAL interface design language) is a language that is used to\nfacilitate vendor\u003c-\u003esystem communication which provides guarantees\nof ABI stability. For system and vendor services alike, this can also\nbe used for internal communication.\n\nBug: 67725182\nTest: boot device, hidl_test_java\nChange-Id: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa\n"
    },
    {
      "commit": "f151a7b3377e956fedd4f3e63afc880c35310219",
      "tree": "26fba9ad6611093d0c75115dc1141a07375eb4b4",
      "parents": [
        "129f8ae2e89a6d34c180206c8d8ae160826c7475"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Jan 11 16:03:46 2018 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Mon Jan 22 13:36:44 2018 -0800"
      },
      "message": "Implement front-end APIs for announcements.\n\nBug: 68045105\nTest: instrumentation (none added)\nChange-Id: I602e8bb0c40516a732d606f745c8f7721583155f\n"
    },
    {
      "commit": "c6f994207dc7ec1e699415526c71dd96ec24f6b2",
      "tree": "7524a79b2ce22a0b5e2935bca7dbd06b446b70fe",
      "parents": [
        "388090fbdd1f38dedf49b12dac425a0807215a02",
        "07342dc1755706d26e614e18fa5ab3b32c435d38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "message": "Merge \"Add pending system update info system APIs.\""
    },
    {
      "commit": "437aa6e8ad24489fcd8a7ab2c889874cfae12d0b",
      "tree": "b91f5e9984c6023ccf735b46883023b5cdf43b1a",
      "parents": [
        "d1238e7b506bd691a1e1fe35a3d54209b4bac839"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 10 11:34:26 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Sun Jan 21 22:36:01 2018 -0800"
      },
      "message": "Add more information to incident header. Especially add config keys\nto check if the report is uploadable.\n\nMove incidentheader.proto to libincident so statds is able to include a lite\nproto class for incident header.\n\nChange IncidentReportArgs to add the proto object instead of serialized\nbytes to prevent caller gives meaningless data.\n\nBug: 70241842\nTest: push config to statsd and verify incidentd generate the report\nwith correct header.\n\nChange-Id: If95b655be71047b019b229e5903a08f3c21a1f29\n"
    },
    {
      "commit": "db6b0fecb4765c2117f9d8b43e5941c0b8f183af",
      "tree": "17c1b7bfc225543a89edab0580457cd4d6f9ac5e",
      "parents": [
        "9e1afde8cd41fb27a613c980cf4e0031b6dda2cb",
        "bc055b0ef1c11337b8ec5f681097e7b51e84b9c4"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Jan 18 23:33:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 18 23:33:44 2018 +0000"
      },
      "message": "Merge \"Moved Field Classification score logic to ExtServices.\""
    },
    {
      "commit": "4604c4111400ae7247819cb5255d879eea831817",
      "tree": "c823230f6885487e5dfb973c16976db44927580f",
      "parents": [
        "265fc005c71f117e58a421a4cb804f10b2e12fc7",
        "55f3aae0537d296fc1561f933146e47ee0df1f71"
      ],
      "author": {
        "name": "Mehdi Alizadeh",
        "email": "mett@google.com",
        "time": "Thu Jan 18 23:00:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 18 23:00:03 2018 +0000"
      },
      "message": "Merge changes from topic \"surface_num_clients_soft_ap\"\n\n* changes:\n  Adds unregisterSoftApCallback API\n  Unit tests for registerSoftApCallback API\n  Adds API to register callback for soft AP event\n"
    },
    {
      "commit": "c5cc226f9e15ffb37c508c141f7a254209ddbd20",
      "tree": "27a525857cff1d83de7fc74e244708cf4c97c6ff",
      "parents": [
        "633792e2d3fd0d09eebc4294119dcc9b1b1de970",
        "8d7b060b40fc2bebab819cfc67f84ffb13f05c57"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Thu Jan 18 22:51:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 18 22:51:27 2018 +0000"
      },
      "message": "Merge \"Move Sms API to proper MMTelFeature class\""
    },
    {
      "commit": "07342dc1755706d26e614e18fa5ab3b32c435d38",
      "tree": "6f4f58ea7f3d24821d91d6eae9cee7b67c13288f",
      "parents": [
        "022320cb57c39bddab00fda7b8e14840ad503e23"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jan 24 15:08:21 2017 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Jan 18 14:41:41 2018 -0800"
      },
      "message": "Add pending system update info system APIs.\n\nThis CL adds system APIs in android.os.SystemUpdateManager. The APIs allow\nsystem updater apps (RECOVERY permission required) to publish the pending\nsystem update information, and allow other apps to query the info\naccordingly (requiring RECOVERY or READ_SYSTEM_UPDATE_INFO permission).\n\nDesign doc in go/pi-ota-platform-api.\n\nBug: 67437079\nTest: Use test apps to call the new APIs to query and set the update info\n      respectively.\nChange-Id: Id54b4a48d02922d2abd906dd7e2ec80a656fc9b1\n"
    },
    {
      "commit": "b0d22627e9e11bd40d305742dd4d2fe77f179a22",
      "tree": "1bf03709c64b4cc749185339edadfec642b884ea",
      "parents": [
        "e8ffec166131d27e47fbf21c9db9f6812051b15f"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 18 12:49:49 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 18 21:07:50 2018 +0000"
      },
      "message": "Rename CrossProfileApps API as per API council feedback\n\nThree changes:\n1. android.content.pm.crossprofile - \u003e android.content.pm\n2. getProfileSwitchingIcon -\u003e getProfileSwitchingIconDrawable\n3. startMainActivity “user” parameter should be named “targetUser”\n\nTest: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest\nTest: atest frameworks/base/core/tests/coretests/src/android/content/pm/CrossProfileAppsTest.java\nTest: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CrossProfileAppsHostSideTest.java\n\nFIXES: 71818128\n\nChange-Id: Icf9a6d1f8b6808935ffd79b43185c7b12235f349\n"
    },
    {
      "commit": "0037dde2fd3c3f504a23c022484bf49a53e02bca",
      "tree": "3dfc29289c1818d9e9b9f69c319f90f2b5b24087",
      "parents": [
        "5170831d926dacf5e4474786b824e749c2fd5857"
      ],
      "author": {
        "name": "Mehdi Alizadeh",
        "email": "mett@google.com",
        "time": "Tue Nov 28 15:31:28 2017 -0800"
      },
      "committer": {
        "name": "Mehdi Alizadeh",
        "email": "mett@google.com",
        "time": "Thu Jan 18 11:15:23 2018 -0800"
      },
      "message": "Adds API to register callback for soft AP event\n\nBug: 68712383\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nChange-Id: I270366494500251858fe2ddf6209c7b4bfb5f546\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": "5736685560ebdacd9c9ab4205014f2298c08b523",
      "tree": "7200f5cd37be89790657a82624323d0aee38744e",
      "parents": [
        "8ec0201e8f03808bee22560343c768d38bd1f50f",
        "beacd5e4facb9ea34cb28e83d6569b7b62ca02a7"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Jan 18 04:28:28 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 18 04:28:28 2018 +0000"
      },
      "message": "Merge \"Add APIs to EuiccCardManager.\" am: a5bc474e2c am: f07319a6df\nam: beacd5e4fa\n\nChange-Id: I7aa42d89c69911137a86b86ee59463efe46a81c3\n"
    },
    {
      "commit": "bbc858006f8ee3fbdd48398baa57fb1cd2795016",
      "tree": "f991a9351fad4a07527630028657539140d7e423",
      "parents": [
        "7839672e2297e6287d11c072fb0bc2ceafb975b2"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Dec 21 18:44:59 2017 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 17 16:38:42 2018 -0800"
      },
      "message": "Add APIs to EuiccCardManager.\n\nThe CL contains parts of the EuiccCard APIs. getEid() is sync. All the\nother APIs are async.\nMove ResetOptions from EuiccCard to EuiccCardManager.\nThe other APIs will be added in a follow-up CL.\n\nBug: 38206971\nTest: test on phone\nChange-Id: Iba098ee779b8ea4e244e0e4cf7318139666cc94b\n"
    },
    {
      "commit": "d53734184a5004ff0cce1ec94ec6518f5f3342bc",
      "tree": "6acd1c861e11660f8a23338ac63a00b79c437666",
      "parents": [
        "eb76f67935368b5f81b768a3694c196144c7595c",
        "56a8d9ad4fdfbe018684c1d7679e0efbfa003256"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 17 23:36:27 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 17 23:36:27 2018 +0000"
      },
      "message": "Merge \"Add APIs to EuiccCardManager and EuiccCardController.\" am: 0797f4be58 am: f09db036e5\nam: 56a8d9ad4f\n\nChange-Id: I02779540eaaf2ad934f5190c88296547c430df1a\n"
    },
    {
      "commit": "eb76f67935368b5f81b768a3694c196144c7595c",
      "tree": "e063dcfe6e712aed60ef7abb5550eff4a97aad94",
      "parents": [
        "6ca845ae0bf9ecd15ef5dc92a87fb8a99af18449",
        "d3a8971bac1932cae232d69f3d62f5d6a873e7fa"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jan 17 23:31:40 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 17 23:31:40 2018 +0000"
      },
      "message": "Merge \"Added data service interface\" am: 3965e3bbc6 am: 5f12e2c76d\nam: d3a8971bac\n\nChange-Id: I6f8d26c56c1d709aa1c53ef49a133deca7555c7e\n"
    },
    {
      "commit": "0797f4be5846894fe08b6661f277e3f6ad0fbc1a",
      "tree": "770c32350b9581baab68666a82ac0d350d9ec569",
      "parents": [
        "3965e3bbc615c0476202baff35a6006eef140b94",
        "fb1c78405e95367f37b751737a3bdb87ac166c9a"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 17 22:26:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 17 22:26:58 2018 +0000"
      },
      "message": "Merge \"Add APIs to EuiccCardManager and EuiccCardController.\""
    },
    {
      "commit": "3965e3bbc615c0476202baff35a6006eef140b94",
      "tree": "6cfd01e07cf26f9dc2b5690ae0ab97f3244b4ce5",
      "parents": [
        "1f00565433b779b8e98087767d905d1fb9f6e902",
        "ffcda5c10bbfef76ebcadb5c1114faaaeafb64f3"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jan 17 22:12:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 17 22:12:29 2018 +0000"
      },
      "message": "Merge \"Added data service interface\""
    },
    {
      "commit": "8d7b060b40fc2bebab819cfc67f84ffb13f05c57",
      "tree": "7c5053008b416d96bb2ebedee5e7b3fc03214886",
      "parents": [
        "b0538e6dac081673f3618411c44d88b4bf8bf93d"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Fri Jan 12 16:37:08 2018 -0800"
      },
      "committer": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Wed Jan 17 13:52:04 2018 -0800"
      },
      "message": "Move Sms API to proper MMTelFeature class\n\n- while here remove unnecessary call to ackSms from\n  SmsImplBase as this is handled by ImsSmsDispatcher\n\nTest: None, APIs not exercised yet.\nBUG\u003d69846044\nChange-Id: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377\n"
    },
    {
      "commit": "1f00565433b779b8e98087767d905d1fb9f6e902",
      "tree": "af24872369c79c4d08ac853369c9debe73a59d82",
      "parents": [
        "b760295764045e6c20ac9b487a27115876961927",
        "f0bc082a2c912be27e53212b8377cdb7844b427f"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 17 20:29:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 17 20:29:54 2018 +0000"
      },
      "message": "Merge \"Integrate IMS Registration API\""
    },
    {
      "commit": "fb1c78405e95367f37b751737a3bdb87ac166c9a",
      "tree": "1323975832e00b172e2d5b690b21c280963285bc",
      "parents": [
        "fa6187510a272413cb22b4590ba62d1977539847"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Dec 21 18:44:59 2017 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 17 10:38:15 2018 -0800"
      },
      "message": "Add APIs to EuiccCardManager and EuiccCardController.\n\nMove CancelReason from EuiccCard to EuiccCardManager.\npart 2.\n\nBug: 38206971\nTest: test on phone\nChange-Id: Iab61be59b7130a5336dffbc965eefefcfa3eccf6\n"
    },
    {
      "commit": "ffcda5c10bbfef76ebcadb5c1114faaaeafb64f3",
      "tree": "cfee9f3570b6571fcfd3a5a9566debc0e65a8bbc",
      "parents": [
        "106a915256abeebf6ce91165323caf50a16b4782"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Nov 27 17:36:29 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jan 17 09:51:30 2018 -0800"
      },
      "message": "Added data service interface\n\nThe interface for mobile data service. This is the base class\nfor vendor or first party data service provider to implement\nthe data service for cellular or IWLAN data support.\n\nTest: Manual\nbug: 64132030\nChange-Id: I3e5f48b88905f4533cac60975802d4da3746e7f8\n"
    },
    {
      "commit": "7e269fca403581f19bfa8dbcffb039fbe40dd48d",
      "tree": "97e245f7814065d7a2d310ed7fd326443fb5a448",
      "parents": [
        "bdb7f8c97a8b126ac9817951ad82f50a4d224c83",
        "33a701a55c28dd20390acee1ba7881a500830d7d"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jan 17 15:59:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 17 15:59:52 2018 +0000"
      },
      "message": "Merge changes from topic \"remote_animations\"\n\n* changes:\n  Remote animations (app-controlled animations)\n  Defer hiding clients until animation is done\n"
    },
    {
      "commit": "33a701a55c28dd20390acee1ba7881a500830d7d",
      "tree": "bd8d2ea141606aeae20be4eade300d3e9c018906",
      "parents": [
        "4876b4a273cdefaa7dfc11d5fdaa0ee5c9ea4055"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Dec 01 14:58:18 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jan 17 15:12:19 2018 +0100"
      },
      "message": "Remote animations (app-controlled animations)\n\nAdds the ability for another app to control an entire app\ntransition. It does so by creating an ActivityOptions object that\ncontains a RemoteAnimationAdapter object that describes how the\nanimation should be run: Along of some meta-data, this object\ncontains a callback that gets invoked from WM when the transition\nis ready to be started.\n\nWindow manager supplies a list of RemoteAnimationApps into the\ncallback. Each app contains information about the app as well as\nthe animation leash. The controlling app can modify the leash like\nany other surface, including the possibility to synchronize\nupdating the leash\u0027s surface properties with a frame to be drawn\nusing the Transaction.deferUntil API.\n\nWhen the animation is done, the app can invoke the finished\ncallback to get WM out of the animating state, which will also\nclean up any closing apps.\n\nWe use a timeout of 2000ms such that a buggy controlling app can\nnot break window manager forever (duration subject to change).\n\nTest: go/wm-smoke\nTest: RemoteAnimationControllerTest\n\nBug: 64674361\nChange-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab\n"
    },
    {
      "commit": "f0bc082a2c912be27e53212b8377cdb7844b427f",
      "tree": "4d51db0913fa2e90b051ad231a131295e44e8d88",
      "parents": [
        "9c1279d2ae27071db4f351904bcad0fca4afae48"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Dec 14 14:22:27 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Jan 16 09:43:47 2018 -0800"
      },
      "message": "Integrate IMS Registration API\n\nIntegrates the new IMS Registration API into the framework\nand add two APIs for feature parity.\n\n1) Moves ImsRegistrationImplBase to the android.telephony.ims\nnamespace\n2) Expose ImsRegistration AIDL in TelephonyManager as hidden\nAPI.\n3) Adds onVoicemailCountUpdate and\nonSubscriberAssociatedUriChanged APIs for feature parity.\n\nBug: 63987047\nTest: Telephony unit tests, manual IMS tests\nMerged-In: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd\nChange-Id: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd\n"
    },
    {
      "commit": "1fb61210353cb3a289b360592ac213f4ee85caab",
      "tree": "f1320c8d146388c0f689f3ade69d536cadbebd48",
      "parents": [
        "e1daf52b92adf3962ded260a36a9594ef8540823"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Dec 14 14:22:27 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Mon Jan 15 14:44:44 2018 -0800"
      },
      "message": "Integrate IMS Registration API\n\nIntegrates the new IMS Registration API into the framework\nand add two APIs for feature parity.\n\n1) Moves ImsRegistrationImplBase to the android.telephony.ims\nnamespace\n2) Expose ImsRegistration AIDL in TelephonyManager as hidden\nAPI.\n3) Adds onVoicemailCountUpdate and\nonSubscriberAssociatedUriChanged APIs for feature parity.\n\nBug: 63987047\nTest: Telephony unit tests, manual IMS tests\nChange-Id: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd\n"
    },
    {
      "commit": "3d6b53c075cf6d8dc5934baac45768b253d93bd1",
      "tree": "e4f1e81d28028f849f3d40d25d845ab233c61c07",
      "parents": [
        "5e093d997adcd0cd5d83720eaaf0f282f92a9630"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Dec 21 18:44:59 2017 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Jan 11 10:30:43 2018 -0800"
      },
      "message": "Add EuiccCardManager and EuiccCardController.\n\nEuiccCardManager is in the same path with EuiccManager.\nEuiccCardController is in the same path with EuiccController.\nUse getAllProfiles() as an example interface.\nThe implementation of EuiccCard and its content will be added in a\nfollow up CL.\nThe new API is marked as @hide and TODO for @SystemApi.\n\nBug: 38206971\nTest: test on phone\nChange-Id: I153937c0f79bdd1a00b06b234a6e254a3f43072c\nMerged-In: I153937c0f79bdd1a00b06b234a6e254a3f43072c\n"
    },
    {
      "commit": "9e7bf9e3047bc5fe38487d463e0aff229a51d64d",
      "tree": "e3228366cfa2400aa1ce693563dfafb10d6c5d62",
      "parents": [
        "606c532dcafb3808d668926c400247f0dfe9b947",
        "5c11024d13ee6a5d4a4c4633a5066288ec23e06c"
      ],
      "author": {
        "name": "Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Jan 11 18:09:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 11 18:09:40 2018 +0000"
      },
      "message": "Merge \"Add EuiccCardManager and EuiccCardController.\""
    },
    {
      "commit": "8e62041b8437d46429794caa7455cda085cc738c",
      "tree": "7da82a3bb7951f38f4e4cebec99aac46850b869b",
      "parents": [
        "285b393cefe27af65007e446fc14d076950cecc6",
        "e3d4b7d3d2eb4af3e7a21fd37a4c2ef48843fee9"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Thu Jan 11 05:21:32 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 11 05:21:32 2018 +0000"
      },
      "message": "Merge \"Add public ApnSetting in android.telephony.\" am: f9063b378b am: f68992a6a7\nam: e3d4b7d3d2\n\nChange-Id: Ia4100787507887692c6aa5df4e331fba59993255\n"
    },
    {
      "commit": "f9063b378bfa0ef72a0858d77e7085fbf04ffb30",
      "tree": "c6c0f4066942950fb82426d1b6d139b2a7d9b4b7",
      "parents": [
        "d6c3813c08a1025df42b06fb08b175eafd7e4714",
        "9361a1394cc6efe74c004dab9f0c16e0df7827f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 11 04:01:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 11 04:01:32 2018 +0000"
      },
      "message": "Merge \"Add public ApnSetting in android.telephony.\""
    },
    {
      "commit": "5c11024d13ee6a5d4a4c4633a5066288ec23e06c",
      "tree": "3d024c35d6f732244a92d141cd838a2b9a887455",
      "parents": [
        "1b3adf9470a8516966bcb38fa45459c4cae830e9"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Dec 21 18:44:59 2017 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 10 18:59:50 2018 -0800"
      },
      "message": "Add EuiccCardManager and EuiccCardController.\n\nEuiccCardManager is in the same path with EuiccManager.\nEuiccCardController is in the same path with EuiccController.\nUse getAllProfiles() as an example interface.\nThe implementation of EuiccCard and its content will be added in a\nfollow up CL.\nThe new API is marked as @hide and TODO for @SystemApi.\n\nBug: 38206971\nTest: test on phone\nChange-Id: I153937c0f79bdd1a00b06b234a6e254a3f43072c\n"
    },
    {
      "commit": "8314fa72f27d0358ab29681fee5dfa4a4276946c",
      "tree": "7f9f63f79d277d8fb3734596f8ba29621cfbd5bf",
      "parents": [
        "8098078edf5c74b1a1513c45012aa036ce6d36ec"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Thu Dec 14 15:36:06 2017 -0800"
      },
      "committer": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Wed Jan 10 12:01:13 2018 -0800"
      },
      "message": "Add API EuiccController#startOtaUpdatingIfNecessary\n\nThis function requests calling app has WRITE_EMBEDDED_SUBSCRIPTIONS\npermission. It will check whether the OTA update needed to be done\nfirst. If current eUICC OS isn\u0027t latest one and OTA needed to be\nperformed, it will update eUICC OS. When the OS update is started or\nfinished, a broadcast will be sent.\n\nBug: 37279356\nTest: E2E\nMerged-In: Iea86add4bdc01c79a8714af4b3a89735ba78ee74\nChange-Id: Iea86add4bdc01c79a8714af4b3a89735ba78ee74\n"
    },
    {
      "commit": "9361a1394cc6efe74c004dab9f0c16e0df7827f8",
      "tree": "890be8d2008f0d65b819017e4826031f890197b0",
      "parents": [
        "e1bdd513d0014ae969188c20a8fd1c2e3acb74a7"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Fri Nov 24 18:20:11 2017 +0000"
      },
      "committer": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Wed Jan 10 03:17:05 2018 +0000"
      },
      "message": "Add public ApnSetting in android.telephony.\n\nBug: 68208293\nTest: manual\n\nAdd public ApnSetting class in android.telephony. Move APN TYPE constants out from\nPhoneConstants into public ApnTypeConstants.\n\nDesign doc: https://docs.google.com/document/d/1UEYjhRGSEwwccPLs_FzFD-IeOsVq63gxmAHNtDfnzAY/edit?pli\u003d1#\n\nChange-Id: I74d23644a872df0abc19730285ae196b6e3e39dd\n"
    },
    {
      "commit": "7819f611dee5e4a192d2af250bd463c6894aaf51",
      "tree": "ed7d230df9bfd0c2634bbbac69839aa44d7a2175",
      "parents": [
        "df449ee9c31e12d8c1960051de9c4aebcb8bb8c5",
        "6019f9ca34f47f23148f27e8841e0f6b6d1d26f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 10 02:38:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 10 02:38:11 2018 +0000"
      },
      "message": "Merge \"Add API EuiccController#startOtaUpdatingIfNecessary\""
    },
    {
      "commit": "6019f9ca34f47f23148f27e8841e0f6b6d1d26f2",
      "tree": "d2029e45937bc4ea2dd0d054bd9cd05bf670a3c8",
      "parents": [
        "01b2f0e1c856832ad2ba61a686df28ae31d38562"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Thu Dec 14 15:36:06 2017 -0800"
      },
      "committer": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Tue Jan 09 13:33:15 2018 -0800"
      },
      "message": "Add API EuiccController#startOtaUpdatingIfNecessary\n\nThis function requests calling app has WRITE_EMBEDDED_SUBSCRIPTIONS\npermission. It will check whether the OTA update needed to be done\nfirst. If current eUICC OS isn\u0027t latest one and OTA needed to be\nperformed, it will update eUICC OS. When the OS update is started or\nfinished, a broadcast will be sent.\n\nBug: 37279356\nTest: E2E\nChange-Id: Iea86add4bdc01c79a8714af4b3a89735ba78ee74\n"
    },
    {
      "commit": "3c034c987e1eeb49660fb62d3426c292a01412c9",
      "tree": "168d3f0040e3e74ac1b2741f91d2dbfcee166535",
      "parents": [
        "a598c05d632d303a49ba06fe306136e0039c785d"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Dec 22 17:36:47 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Sat Jan 06 20:33:14 2018 -0800"
      },
      "message": "Implement a new type of section which reads from logd and dumps proto.\n\nAnd implement a file section which reads from event-log-tags for\ndecoding binary logs.\n\nBug: 70936599\nTest: atest incidentd_test \u0026\u0026 atest incident_helper_test and flush on\ndevice and test log sections and event_log_tag_map\nChange-Id: Ib3d35e317f355de69f01ded012482486e9a43da6\n"
    },
    {
      "commit": "cc6ad8cab77ddc9ba620182a001633f937733687",
      "tree": "3803f1e85d67e434c907c4f6fe6385df41f80ab9",
      "parents": [
        "f2ebbd135625b5c67c69fe9b4c3fd232bb397616"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Wed Dec 13 15:13:02 2017 -0800"
      },
      "committer": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Wed Jan 03 12:42:01 2018 -0800"
      },
      "message": "Add API to get eUICC\u0027s OTA status\n\nThe function will return current eUICC\u0027s OTA status and requests calling\napp has WRITE_EMBEDDED_SUBSCRIPTIONS.\n\nTest: E2E\nBug: 37279356\nChange-Id: I823ed7aa9d86530c4bebd4c0b1a00f0c607105ed\n"
    },
    {
      "commit": "f5cc5759d55f803cd230c7a595e89e634c3c36ee",
      "tree": "7632d267b45d11c144fc54e411f2151e71671176",
      "parents": [
        "b944bc86078146c523d58d2b70d56044be3bf216"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Dec 20 17:59:17 2017 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Tue Jan 02 15:49:23 2018 -0800"
      },
      "message": "incidentd: parsing ps dump into proto.\n\nAlso changing from execv to execvp so that we don\u0027t have to specify the full command path.\n\nBug: 65750831\nTest: atest incident_helper_test\nChange-Id: I92191afff4e7f9a6d08ea22ecfc2de5623d3bde5\n"
    },
    {
      "commit": "b944bc86078146c523d58d2b70d56044be3bf216",
      "tree": "d4b567290452a506edc206348438b07365318840",
      "parents": [
        "acaee9645b965b32d86a901769308bf5befcfe6b",
        "59e6fd792deb31512027548342b66af25056e237"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 23:33:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 02 23:33:44 2018 +0000"
      },
      "message": "Merge \"incidentd: Parsing battery_type data to proto.\""
    },
    {
      "commit": "59e6fd792deb31512027548342b66af25056e237",
      "tree": "10de89905f5d49ca9354c492d35b22e10636e1ba",
      "parents": [
        "cb37da8b13a8f70942d253ac56a9ad3ae3cbf7ba"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Dec 27 15:48:14 2017 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Dec 27 15:48:14 2017 -0800"
      },
      "message": "incidentd: Parsing battery_type data to proto.\n\nBug: 65750835\nTest: atest incident_helper_test\nChange-Id: I3afefcfbd68924f8b6bd384cf1c7a41daeb243e3\n"
    },
    {
      "commit": "5405836497be79d5c6dcbff222bdbb5d4561bac0",
      "tree": "4e41dfb84b513c5bc8f0a4e122f9a5593f35e6d6",
      "parents": [
        "ab71a936240cdb1b2b4ee67af7111739f3085ce3"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Wed Dec 13 15:13:02 2017 -0800"
      },
      "committer": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Fri Dec 22 13:48:35 2017 -0800"
      },
      "message": "Add API to get eUICC\u0027s OTA status\n\nThe function will return current eUICC\u0027s OTA status and requests calling\napp has WRITE_EMBEDDED_SUBSCRIPTIONS.\n\nTest: E2E\nBug: 37279356\nChange-Id: I823ed7aa9d86530c4bebd4c0b1a00f0c607105ed\n"
    },
    {
      "commit": "e1a5469101607d7af9855c12a687891f050cdd43",
      "tree": "ce47450fa0cfc9c8e885fca028429074a7ad0419",
      "parents": [
        "19b73d0f1d9726abfbc0516357bb9a0dcfb23540",
        "ca88d359c044f38891437ca784071875079a334e"
      ],
      "author": {
        "name": "abdalkader",
        "email": "abdalkader@google.com",
        "time": "Thu Dec 21 20:10:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 21 20:10:03 2017 +0000"
      },
      "message": "Merge \"SMS over IMS APIs revision\" am: 2bf7f03e63 am: f9eba1a18f\nam: ca88d359c0\n\nChange-Id: Iea7624e10230294505982f0373b97a2486d6996f\n"
    },
    {
      "commit": "b2a83cfcfc8cebf9310af571206dd102fec25702",
      "tree": "7fe105b5b24b0e7b2fe6f8e615816da95c8b5409",
      "parents": [
        "29f61c21f4b747b82bd32aed79547d2430ebedf7"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Nov 28 19:15:47 2017 -0800"
      },
      "committer": {
        "name": "Mohamed",
        "email": "abdalkader@google.com",
        "time": "Wed Dec 20 17:18:50 2017 -0800"
      },
      "message": "SMS over IMS APIs revision\n\n- Move from being a feature to being a capability\n- Move format to the constructor and make final\n- Initial hooking up of APIs provided by platform for ims providers.\n- Add constants for send status result\n- Rename SmsListener callbacks.\n- Split acknowledgeSms for sms and sms reports.\n- Add reason for onSendSmsResult\nBug: 69846044\n\nTest: None\nChange-Id: I861664264a117d5483e392d4aabff59bfaf4373e\n"
    },
    {
      "commit": "107f7cc4c4adfc01402dc5a52dc39976b75abbe2",
      "tree": "39c1ac19cceba81e9f7ac0424c10a1e0196dd183",
      "parents": [
        "e2527f82c8efa592fc5cda62ca00fb6b83aabc7a",
        "f68e747e05628c0d2544080aa7c8cc8e68eeae29"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 19:07:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 19 19:07:53 2017 +0000"
      },
      "message": "Merge \"Remove stream.proto and cpp-streaming-proto generates field name to id mapping by default\""
    },
    {
      "commit": "04c17bec55e1982547dc331757ea893afbdffd1c",
      "tree": "9f836de64fda12f4c7f4bc9aa24406ce14cef158",
      "parents": [
        "8ca1e41a0f113f0a2bf8aef0102be9cbb0e3df30",
        "0d1bc332854bea2de237c68d6523e42c4aeab7a6"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Tue Dec 19 10:59:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 19 10:59:00 2017 +0000"
      },
      "message": "Merge \"Add differential privacy library and algorithms\""
    },
    {
      "commit": "81bfe137d0d05d21b048495906092caf7d8908cd",
      "tree": "d26631901f7f38f1e06af5e24dde44d0fc21d275",
      "parents": [
        "aea342e9ed8f0adb7d3dc96d45ce47417275d9e9",
        "26ac0306ad03b2d08764273b2343a79377daa02e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 02:30:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 19 02:30:28 2017 +0000"
      },
      "message": "Merge \"Remove IIncidentReportCompleted and gmscore WW module would listen to android.intent.action.DROPBOX_ENTRY_ADDED and look up incident tag then upload the report.\""
    },
    {
      "commit": "f68e747e05628c0d2544080aa7c8cc8e68eeae29",
      "tree": "10917fec1af65c090458259ca6bc93ffb40b5542",
      "parents": [
        "39b4499d943d2a078b7c7ca2936908d7aac719d1"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Dec 18 15:55:19 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Dec 18 17:37:50 2017 -0800"
      },
      "message": "Remove stream.proto and cpp-streaming-proto generates field name to id\nmapping by default\n\nTest: atest incident_helper_test\nChange-Id: Iab04973ea78b942e44503fcd6ae60808caf3b9e0\n"
    },
    {
      "commit": "0d1bc332854bea2de237c68d6523e42c4aeab7a6",
      "tree": "47a4aa5770c2478c4927452387d5968efa97c6a3",
      "parents": [
        "b430d8ff06c78c7879eecd5137726d86d2c615d7"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Tue Oct 31 14:31:01 2017 +0000"
      },
      "committer": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Sat Dec 16 19:19:58 2017 +0000"
      },
      "message": "Add differential privacy library and algorithms\n\n- Created a differential privacy framework interface\n- Added 2 DP algorithms in DP framework:\n  -  Rappor, a wrapper based on external/rappor project\n  -  Longitudinal Reporting, DP enhancement based on Rappor\n- Created Privacy Tests for testing all privacy libraries\n- Added original Rappor test case in privacy test\n- Created tests to verify Rappor and Longitudinal Reporting result in DP framework\n\nTest: bit FrameworksPrivacyLibraryTests:android.privacy.LongitudinalReportingEncoderTest\nTest: bit FrameworksPrivacyLibraryTests:android.privacy.RapporEncoderTest\n\nChange-Id: Id460665059653924434c141686b5cad3fb697046\n"
    },
    {
      "commit": "6831a2646f8d25eb8ce33653e4d3ac0020fecae9",
      "tree": "ab4b3dbfa5f82b2f76c2a67926cc32e18d4c07b9",
      "parents": [
        "73617b0cc04e82a79721a77b73daefe5a93c223f",
        "0a368b2c391dd3ebaf6b8917c16c41b65c1d5ab7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 16 00:03:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 16 00:03:53 2017 +0000"
      },
      "message": "Merge \"Adds API for apps to push events to statsd.\""
    },
    {
      "commit": "26ac0306ad03b2d08764273b2343a79377daa02e",
      "tree": "e9c567aa0309bf38cb868a532161b2ff669d7b3b",
      "parents": [
        "d04c00a47907452a76d31e7183e5cc37bdf4dbf3"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Dec 08 17:16:06 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Dec 15 15:35:34 2017 -0800"
      },
      "message": "Remove IIncidentReportCompleted and gmscore WW module would\nlisten to android.intent.action.DROPBOX_ENTRY_ADDED and look up\nincident tag then upload the report.\n\nBug: 69860192\nTest: N/A\nChange-Id: I7f60ad631e8b3243e209aba9408f18bf0bfd4750\n"
    },
    {
      "commit": "a19ddec9b86741cee54cbed17b563a3fa764a6d1",
      "tree": "4de9a6b6f10fba309353c82cd1d6082ba1e55bac",
      "parents": [
        "50a716b03e2847f04e824a925167fc6b48410b0a",
        "0af882d62938db778c5bfbb14135ce57168e1da3"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Dec 15 18:20:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 15 18:20:32 2017 +0000"
      },
      "message": "Merge \"Adds MMTel APIs in temporary namespace\" am: 4e54d6092b am: ac0d27659a\nam: 0af882d629\n\nChange-Id: I37c0ea61549282255f416855ec6663688e9d7cf3\n"
    },
    {
      "commit": "4e54d6092bbcb2ac7ff895a7955acdd1e26e838c",
      "tree": "cbdef69b1f182af1d0c993d37266ce077490bcc6",
      "parents": [
        "f5e37d18deba6fc2b5b8b083288fa1f0b632d7c3",
        "ea8fd1bd0a13feddd53f6c7cb202ac32a1a74c28"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Dec 15 17:53:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 15 17:53:16 2017 +0000"
      },
      "message": "Merge \"Adds MMTel APIs in temporary namespace\""
    },
    {
      "commit": "2c37c058a03f2192446f03493fc92efa4280cc3c",
      "tree": "d465c63ffa621c5dca270d731e7b074bb0b942aa",
      "parents": [
        "7cea814dc8ae318d151deec5b576725b9d645bb1",
        "79aee072bbd8313878f598cb8de8c274c396b5a1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 15 16:42:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 15 16:42:07 2017 +0000"
      },
      "message": "Merge \"Export aidl files for framework\" am: f5e37d18de am: 28064dd526\nam: 79aee072bb\n\nChange-Id: I1491878b8d009c0fe8e688c2397ea9380ff0335c\n"
    },
    {
      "commit": "0a368b2c391dd3ebaf6b8917c16c41b65c1d5ab7",
      "tree": "4ef577b9c57a137be83329a37037c0310c152650",
      "parents": [
        "b669be1dcca1fb131934fa6322de77f5e0c6eb7b"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Dec 06 16:28:16 2017 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Dec 14 16:19:29 2017 -0800"
      },
      "message": "Adds API for apps to push events to statsd.\n\nThis API allows app to construct custom metrics based on labels\nchosen by the app developers. Also added some buttons to manually\ntest this functionality in the dogfood app.\n\nTest: Verified that Android can be built and tested with custom app.\nBug: 69522276\nChange-Id: Ifb7abea4c1d62fb435a9cb6f32df12bc2234d82f\n"
    },
    {
      "commit": "4eb0784df489f8ac2ca11d8d4d33867f4ab4f799",
      "tree": "d3d13cbfb8a39b7afe5c48f9e6116cece9dff95a",
      "parents": [
        "0abc93177f0561ab7874531f346c5de11094f048"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 14 15:18:42 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 14 15:25:33 2017 -0800"
      },
      "message": "Export aidl files for framework\n\nExport the aidl files for framework so that anything building\nagainst the framework automatically gets the default aidl\nincludes.\n\nTest: m checkbuild\nChange-Id: I26c599c79babd8ac91340a4e9d2c75d3f211f776\n"
    }
  ],
  "next": "ea8fd1bd0a13feddd53f6c7cb202ac32a1a74c28"
}
