)]}'
{
  "log": [
    {
      "commit": "a23c84c7cac4a48e5850ac7834e7ea233e498963",
      "tree": "34ae50b491e67cd528ac82e6fb4d1c969ed717b0",
      "parents": [
        "bd97e3dd4e5d395f336114016b000ef3cfb26053"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 15 12:49:36 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 19 19:56:21 2017 +0000"
      },
      "message": "Add android.test.mock.stubs-system\n\nThe android.test.mock package contains one class with some methods that\nare annotated with @SystemApi which are not present in the\nandroid.test.mock.stubs. This adds a new android.test.mock.stubs-system\nlibrary that includes those additional methods.\n\nChecked that the new API definition files contain the exact same\ndefinitions for the android.test.mock packages as are found in the\napi/system-current.txt and api/system-removed.txt files.\n\nBug: 30188076\nTest: make update-api \u0026\u0026 make checkbuild\nChange-Id: I4644d30716e556204caa4acb53d7af84ca520271\n"
    },
    {
      "commit": "bd97e3dd4e5d395f336114016b000ef3cfb26053",
      "tree": "b32d838be3189d565c17922d34d475dd4cf951a9",
      "parents": [
        "8ca1e41a0f113f0a2bf8aef0102be9cbb0e3df30"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 19 15:11:47 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 19 19:52:54 2017 +0000"
      },
      "message": "Fix visibility issues with android.test.mock.stubs\n\nThis ensures that the API definitions for the android.test.mock package\nmatches the definitions in the api/current.txt file.\n\nBug: 30188076\nTest: make update-api\nChange-Id: Id325b8cf2f189117ac4cfe7634095ab710eee004\n"
    },
    {
      "commit": "8439ac08b1b8ef362cd649dbefdea4ac140051e2",
      "tree": "f7dfbb91bb60ff3c2e8768aa9975ca45b4563e59",
      "parents": [
        "ff38f236b55b51a9f8e03b909f4791ccca329c48"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 12 17:26:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 13 13:59:04 2017 -0700"
      },
      "message": "Start accepting Executors instead of Handlers.\n\nAfter discussion in API council, our new best-practices are to have\ndevelopers provide an Executor to dispatch callbacks/listeners on,\ninstead of the previous guidance of using a Handler.\n\nDefine Context.getMainExecutor() to easily obtain an Executor\nassociated with the main thread of application.  This allows new\nAPIs to require a @NonNull Executor.  Also define a new\n@CallbackExecutor auto-doc annotation that explains background and\npoints developers at new Context method above.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainLooper\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainExecutor\nBug: 70348426\nChange-Id: I536892bcd80fcfba1bb1ddf67648c08a26d7ddd2\n"
    },
    {
      "commit": "2b7d71c7f8028741c2200bfeba8913b7f4f55cde",
      "tree": "43f9394367779b2f9cd32dcb5f8da61c8f619f7d",
      "parents": [
        "c22e7735c31b711f8bf598c07fc872baba9af0dd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 13:11:06 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 08 21:01:53 2017 +0000"
      },
      "message": "Convert legacy-test, test-runner, and test-mock to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I110f752d2fa94c44581f20d4f308d9d429da0517\n"
    },
    {
      "commit": "45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f",
      "tree": "9913a099ec8f3f38240422d7cfbedef42b509f4b",
      "parents": [
        "71e9a56fc30d66ad6d475fbf26425d791c2befa2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 07 18:49:43 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 04 14:26:46 2017 -0800"
      },
      "message": "Add SystemApis to expose runtime profile information\n\nThe API allows a system apps which acquired\n{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime\nprofiles of installed packages.\n\nThe API is implemented in a new service class (AndroidRuntimeManager)\naccessible from the context using\ncontext().getPackageManager().getAndroidRuntimeManager().\n\nThe main functionality is exposed as a one way call into the\nAndroidRuntimeManager with the result being posted on a callback. The\nprofile is available to the caller as a read-only ParcelFileDescriptor.\n\nThis CL only adds the API interfaces and validation. It does not fully\nimplement the functionality.\n\noneway void snapshotRuntimeProfile(in String packageName,\n  in String codePath, in ISnapshotRuntimeProfileCallback callback)\n\nBug: 30934496\nTest: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases\n\nChange-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38\n"
    },
    {
      "commit": "6117fa8b0fc3b8a49672f8b25582e5097c4c47e4",
      "tree": "bafc29f2767c5bb75edeb26eaea7080ce3f8c88f",
      "parents": [
        "05013b377266f9e4e2651c6aa819960479dc3676"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 30 16:17:16 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 30 16:17:16 2017 +0000"
      },
      "message": "Switch usages of legacy-test to android.test.base\n\nThe legacy-test library has been deprecated in favour of the\nandroid.test.base library which is part of the SDK.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* core/tests/overlaytests/OverlayAppFiltered/Android.mk\n    Removed legacy-test from LOCAL_JAVA_LIBRARIES because the source\n    for module \u0027com.android.overlaytest.filtered_app_overlay\u0027 does not\n    depend on classes from legacy-test\n\n* core/tests/overlaytests/OverlayAppFirst/Android.mk\n    Removed legacy-test from LOCAL_JAVA_LIBRARIES because the source\n    for module \u0027com.android.overlaytest.first_app_overlay\u0027 does not\n    depend on classes from legacy-test\n\n* core/tests/overlaytests/OverlayAppSecond/Android.mk\n    Removed legacy-test from LOCAL_JAVA_LIBRARIES because the source\n    for module \u0027com.android.overlaytest.second_app_overlay\u0027 does not\n    depend on classes from legacy-test\n\n* core/tests/overlaytests/OverlayTest/Android.mk\n    Replaced \u0027legacy-test\u0027 with \u0027android.test.base\u0027 in\n    LOCAL_JAVA_LIBRARIES because the source for module \u0027OverlayTest\u0027\n    depends on classes from android.test.base\n\n* core/tests/overlaytests/OverlayTestOverlay/Android.mk\n    Removed legacy-test from LOCAL_JAVA_LIBRARIES because the source\n    for module \u0027com.android.overlaytest.overlay\u0027 does not depend on\n    classes from legacy-test\n\n* test-mock/Android.mk\n    Removed legacy-test from LOCAL_JAVA_LIBRARIES because the source\n    for module \u0027repackaged.android.test.mock\u0027 does not depend on\n    classes from legacy-test\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I729412304884cf5da88b05dbe8fbe645ad7b5b15\n"
    },
    {
      "commit": "f779efd62cd579f67bd3b387d59fda11ee0cbe90",
      "tree": "056bc7384db35e1c12ddffc3381ebc332d60947d",
      "parents": [
        "10d0658bf020197c16264a1da4637e0d20ee6445"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 12:03:53 2017 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "10d0658bf020197c16264a1da4637e0d20ee6445",
      "tree": "ee6a0168a07f472476a610d38cb851cfedab22bf",
      "parents": [
        "62c9860111a126c23606c9d4071fb6f8591952b3"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 13:02:37 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 11:24:40 2017 +0000"
      },
      "message": "Remove unused target android.test.mock.sdk\n\nBug: 30188076\nTest: make checkbuild\n\nChange-Id: I9b613969425e6c4d8700f6275484d6452a3cc3af\n"
    },
    {
      "commit": "b8b579e1b8698fc00fdd8950b5645f9e34bfc3ba",
      "tree": "2fbb0c52848b3d388e65e1e6ce69f241daa8d7a5",
      "parents": [
        "9650a435ed909ed4062d64fd2d9b085628d4a455"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "b13f15332e5279d53afa9af2c6835e2476daa655",
      "tree": "fd6921f40e0e1463bf3235276d0de8aa42b6f0dd",
      "parents": [
        "5209abad9b72623131cc4619d9eab01b386d7c01"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Nov 14 08:34:06 2017 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Nov 16 11:32:47 2017 -0800"
      },
      "message": "Remove one legacy install path\n\nAlso removed everything needed only for this path\n\nTest: Installed app via package installer, adb, google play store\nBug: 65261282\nChange-Id: Ia8a03fa5900687cd2adf844ba7e6c07e0537382e\n"
    },
    {
      "commit": "e254526f0fe5d22681555bd4a00b7ee96fee1dc1",
      "tree": "c8e450764c8d6704bdac446117634951822f7675",
      "parents": [
        "42753a512e2719ca078851a62760a19890641e6f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 13:15:29 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n"
    }
  ]
}
