)]}'
{
  "log": [
    {
      "commit": "dd027b3ab2087f4ccaf4e9d72472327f27789a1d",
      "tree": "1f937eaea62c46d7f3758ccb73835acfa3c77ee9",
      "parents": [
        "081d3d2d89e7f73d01260ab92114814718614bea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 05 16:59:21 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I883c9515c307ed8e39f0bf888c4045944c8183ac\n"
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "0b4add68db8e5e2ed4f43a651a55574917fcf551",
      "tree": "7feb40b8d9fbff875d6034d7da0c8b5b9364d77e",
      "parents": [
        "a9da85fde4675ed0b03557e448b1cc67f1d391fe"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Mon Feb 12 16:12:33 2018 +0000"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Mon Feb 12 16:12:33 2018 +0000"
      },
      "message": "Revert \"Fix issue #72116995: Add permission guarding Service#startForeground\"\n\nThis reverts commit a9da85fde4675ed0b03557e448b1cc67f1d391fe.\n\nReason for revert: b/73224471\n\nBug: 73224471\nBug: 72116995\nChange-Id: I1485305f40d47fdb138cb1e484c329cf20892a6b\n"
    },
    {
      "commit": "a9da85fde4675ed0b03557e448b1cc67f1d391fe",
      "tree": "c901ec0f1a35514c8eab7d8f089cf813a4ef1d89",
      "parents": [
        "0589371900a47b70dd5851c9792ffdbdd781c96c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 07 14:02:02 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I95afb7185742b82c525e775ca20bb36015510b43\n"
    },
    {
      "commit": "c2cbc0727aa942ad5ed6f703135a65e4681e3601",
      "tree": "e6d81722653f4592dca99c5f9718b1ad9dca29a7",
      "parents": [
        "e2975162dca148be4be46b5bfbacdce7c74513ee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 25 10:40:49 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 25 10:43:28 2018 -0800"
      },
      "message": "Revert \"Fix issue #72116995: Add permission guarding Service#startForeground\"\n\nThis reverts commit 994b5ad737831854ac3ba119abba533adca774fc.\n\nWaiting for Chrome prebuilt.\n\nTest: NA\nBug: 72116995\nChange-Id: Ifcfea94ddefda27267640283038c9d0f933ea1d8\n"
    },
    {
      "commit": "994b5ad737831854ac3ba119abba533adca774fc",
      "tree": "6878e43694bfad9ae0e03f2f479d2a41b17b7301",
      "parents": [
        "00be19795d68bb5a670b749972b6690e1fa3ce5f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 24 17:58:24 2018 +0000"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: If5a79e7ed5ab9e0edc77410315eb4d2df8ac850b\n"
    },
    {
      "commit": "b866307f99c35252dcb76e9269bb57d97c3c4b86",
      "tree": "ce8d4edc1cf2edbc48029214dfbde2213a3d9466",
      "parents": [
        "9d25218985ba8ea944b4a51d194744b5a85a1105"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:02:42 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:07:17 2017 +0000"
      },
      "message": "Stop statically including legacy-android-test\n\nStatically including legacy-android-test leads to duplicate classes\nwhich causes build time problems (with Proguard) and runtime problems on\nolder SDK versions. This change:\n* Stops statically including legacy-android-test.\n* Adds compile time dependencies on andoid.test.base, android.test.mock\n  and android.test.runner where necessary.\n* Adds \u003cuses-library android:name\u003d\"android.test.runner\"/\u003e to any\n  affected package to ensure that the classes that were included by\n  legacy-android-test are still available at runtime. That also adds a\n  dependency on android.test.base and android.test.mock.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* apct-tests/perftests/core/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CorePerfTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CorePerfTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* core/tests/ConnectivityManagerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ConnectivityManagerTest\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ConnectivityManagerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* core/tests/bandwidthtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BandwidthTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BandwidthTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/bluetoothtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BluetoothTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BluetoothTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DownloadManagerTestApp\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DownloadManagerTestApp\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n* core/tests/hosttests/test-apps/ExternalSharedPerms/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsTestApp results in duplicate classes which leads\n    to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsBTTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsDiffKeyTestApp results in duplicate classes\n    which leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsFLTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/notificationtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NotificationStressTests\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NotificationStressTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* keystore/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in KeystoreTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* media/mca/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CameraEffectsTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CameraEffectsTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* media/tests/MediaFrameworkTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    mediaframeworktest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in mediaframeworktest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* nfc-extras/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NfcExtrasTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/CarrierDefaultApp/tests/unit/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CarrierDefaultAppUnitTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    CarrierDefaultAppUnitTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/ExtServices/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ExtServicesUnitTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ExtServicesUnitTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/MtpDocumentsProvider/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because MtpDocumentsProviderTests\u0027s source\n    depends on their classes and because of these changes they are no\n    longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    MtpDocumentsProviderTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/SettingsLib/tests/integ/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SettingsLibTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsProvider\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/AndroidManifest.xml\n    Add uses-library for android.test.runner because otherwise this\n    change would change the set of files available to SettingsProvider\n    at runtime.\n\n* packages/Shell/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because ShellTests\u0027s source depends on their\n    classes and because of these changes they are no longer present on\n    the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ShellTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/SystemUI/shared/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUISharedLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SystemUI/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUITests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SystemUITests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* packages/WAPPushManager/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    WAPPushManagerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WAPPushManagerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* sax/tests/saxtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksSaxTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworksSaxTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/BrowserPowerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BrowserPowerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BrowserPowerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/CanvasCompare/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CanvasCompare\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CanvasCompare results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/CoreTests/android/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CoreTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CoreTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/DataIdleTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DataIdleTest\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DataIdleTest results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/FrameworkPerf/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPerf\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworkPerf results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/HierarchyViewerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    HierarchyViewerTest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in HierarchyViewerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/ImfTest/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ImfTestTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ImfTestTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/Internal/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in InternalTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/MemoryUsage/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    MemoryUsage\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in MemoryUsage results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/NetworkSecurityConfigTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NetworkSecurityConfigTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    NetworkSecurityConfigTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/SoundTriggerTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SoundTriggerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SoundTriggerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/SurfaceComposition/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SurfaceComposition\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.runner.stubs\u0027 to LOCAL_JAVA_LIBRARIES because\n    SurfaceComposition\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/TtsTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TtsTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    TtsTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* tests/WindowAnimationJank/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WindowAnimationJank\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/permission/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPermissionTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    FrameworkPermissionTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/testables/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TestablesTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because TestablesTests\u0027s source depends on\n    their classes and because of these changes they are no longer\n    present on the compilation path.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Iacfc939c97415314366ed61c5f3b7aa1a40f0ec9\n"
    },
    {
      "commit": "51efddbd3bb304de2dd47fa8cd1114ac555958bb",
      "tree": "0c9fe7e2f2263b7757ec8e96084d1f2701119c47",
      "parents": [
        "5879aa4b03f17753eca3419a13db0ecbf2075e62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 05 10:00:01 2017 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Apr 14 11:15:50 2017 -0400"
      },
      "message": "Remove unnecessary casts on calls to findViewById\n\nJust frameworks/ this time. More paths to come.\n\nBug: 24137209\nTest: make -j32\nChange-Id: Iff27abd26fa43296ac2fff8f534fc6742d2ae80c\n"
    },
    {
      "commit": "8aeb59ebcd50a510d024dc082fa17b192074c63d",
      "tree": "b7f3e92f4eebc63df03fd63d35b0eafc18ccc81c",
      "parents": [
        "57b8eb3da0c4692ac4f39a9c73aa090af475d14a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 10 12:08:23 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 18 16:39:34 2017 +0000"
      },
      "message": "Prepare for removal of legacy-test from default targets\n\nIn preparation for removing junit classes from the Android API\nthe legacy-test target will be removed from the\nTARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit\ndependencies on junit and/or legacy-android-test to ensure that\nmodules will compile properly once it is removed.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I13e88297731253420e4e5f5291d503f13a39a156\n"
    },
    {
      "commit": "1ce4b6d3c6cb5b2eb9c9d00472be12245db92427",
      "tree": "d8c7d63276de0a8609ff5bb2422a2e55bad1562a",
      "parents": [
        "08f247fe2e073a5ec62dc0469d83f514aab31c42"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Thu Jun 11 10:19:43 2015 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Jun 12 10:16:04 2015 -0400"
      },
      "message": "remove usage of deprecated method setLatestEventInfo\n\nBug: 18510449\nChange-Id: I56a77991c729990e501f402e007dfa79ee57621e\n"
    },
    {
      "commit": "c508d03a943cf933fb853bc2e37cccf45d9dec23",
      "tree": "1fc3bf530ae380ef4500102de06d021ff2378e7e",
      "parents": [
        "c54a76cbcd1e4bc7f27de2010c1c1fd4ed6f845a"
      ],
      "author": {
        "name": "Mohamad Ayyash",
        "email": "mkayyash@google.com",
        "time": "Mon Aug 25 19:27:57 2014 -0700"
      },
      "committer": {
        "name": "Mohamad Ayyash",
        "email": "mkayyash@google.com",
        "time": "Mon Aug 25 19:27:57 2014 -0700"
      },
      "message": "Set text color for the output log.\n\nIn some devices the text color is the same as the background color.\n\nChange-Id: I215d381a427e3b3ed7e29d3078752d093318b53d\n"
    },
    {
      "commit": "f4bf0ae2a7c2d9d92c5c8abdb82baa53b4c9ccda",
      "tree": "3e2b15a9b72cde690279e5650923b460109c66fc",
      "parents": [
        "b631eda39cc53d88417fc0143ebfb08dc5dbc133"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 20 18:42:16 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 24 16:36:14 2013 -0700"
      },
      "message": "New ArrayMap class.\n\nThis is a new kind of key/value mapping that stores its data\nas an array, so it doesn\u0027t need to create an extra Entry object\nfor every mapping placed in to it.  It is also optimized to reduce\nmemory overhead in other ways, by keeping the base object small,\nbeing fairly aggressive about keeping the array data structures\nsmall, etc.\n\nThere are some unit and performance tests dropped in to some\nrandom places; they will need to be put somewhere else once I\ndecided what we are going to do with this for the next release\n(for example if we make it public the unit tests should go in\nto CTS).\n\nSwitch IntentResolver to using ArrayMap instead of HashMap.\n\nAlso get rid of a bunch of duplicate implementations of binarySearch,\nand add an optimization to the various sparse arrays where you can\nsupply an explicit 0 capacity to prevent it from doing an initial\narray allocation; use this new optimization in a few places where it\nmakes sense.\n\nChange-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b\n"
    },
    {
      "commit": "df7221ced3b7cd807f14e84c302fc09fd659fd68",
      "tree": "2e5cdc00c406f577492a7168580fa6c127b0a1f4",
      "parents": [
        "d0d209ed4d6280b6e1203eebe823f04f9db766c0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 26 14:53:55 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 27 18:27:42 2013 -0800"
      },
      "message": "Unify normal and overlay action bar layouts.\n\nSwitch the action bar to always use the overlay layout, and\nmake it smarter to do the right thing depending on whether the\naction bar is in overlay mode or not.\n\nThis allows apps to use the system UI magic flags without\nhaving to worry about whether the action bar is configured\nin overlay mode or note -- just select a stable layout and it\nwill automatically go into overlay mode.\n\nIn the future this should also allow us to simplify the action\nbar code, since it is all sitting on one common implementation.\nFor example, much of the logic in ActionBarImpl can be moved\nto the root action bar layout, and that layout can be optimized\nto do custom layout with all of the known elements it has.\n\nAlso fixed a little bug in the performance tests.\n\nChange-Id: Iec0c0c0699754f0d1ce37402d786b4966e052a56\n"
    },
    {
      "commit": "3a084af2e90849aaa8beb3a610189e3399c63ea0",
      "tree": "ba4b87d227674fd68f9ea395649fde32778620f0",
      "parents": [
        "9d547d6934f64189e368c0b190fb4cf49c95a557"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 07 10:19:47 2012 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 07 10:27:31 2012 -0800"
      },
      "message": "Correct executable bit for source files\n\nMany media files and source code files were marked as executable in Git.\nRemove those.\n\nAlso a shell script and python script were not marked as executable.\n\nChange-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5\n"
    },
    {
      "commit": "80a682bc3d1bdf1e756b799bbcd919678b319ee3",
      "tree": "a12ca5d1c9fd43406a6f863e89346d7f3accd162",
      "parents": [
        "500afb87a7a8b5928ef1a5196bdfd0bcc2b87e4a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 18 17:14:14 2011 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Nov 28 17:48:55 2011 -0800"
      },
      "message": "Add iteration-limited mode to FrameworkPerf\n\nYou can run tests for exactly N iterations regardless of duration now,\nin addition to the previous time-limited behavior.\n\n(Clean cherry-pick to break a dependency on a previous patch that\nneeds work before being committed.)\n\nChange-Id: I2e6cf511bbe968a6f95391567658722e87dfa1fe\n"
    },
    {
      "commit": "3af8b699830bb5804f3c1b6420d9210b2fd8adb9",
      "tree": "8178ab4fca3810b2579fb2d427ef0821dcb87629",
      "parents": [
        "1a3c051bcc787363d9154da4a8e8e562dda32926",
        "5eefd7711f63bc1b67ec927a8c43363f426121cc"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Nov 17 18:04:23 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 18:04:23 2011 -0800"
      },
      "message": "Merge \"add a self instrumentation into framework perf app\" into ics-mr1"
    },
    {
      "commit": "5eefd7711f63bc1b67ec927a8c43363f426121cc",
      "tree": "aa97b0df76b29db4babd82ccbc858b226fd2f23e",
      "parents": [
        "302afb93d4fd908949ac796eda8343f9683e616a"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Nov 17 14:32:41 2011 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Nov 17 15:26:36 2011 -0800"
      },
      "message": "add a self instrumentation into framework perf app\n\nIt\u0027s essentially a test app on itself to facilitate\nrunning the perf automatically.\n\nChange-Id: I5aad3565e64719d219e76969a989ca80aa6df286\n"
    },
    {
      "commit": "4c18ad56f7e9b84bb075fd39c8e712c7871430a0",
      "tree": "284d045e406dbf36859b62daecec6fa4e6908744",
      "parents": [
        "33fe4a36b7d1ef84b13447f2a765db465ef96e56"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 17 13:51:08 2011 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 17 14:07:58 2011 -0800"
      },
      "message": "Add a few GC-flexing microbenchmark tests\n\nAdded ObjectGc and FinalizingGc to stress single-object allocation and\ncollection with/without the presence of finalizers.\n\nAlso added GcOp() to the menu of available single-shot tests.\n\nChange-Id: I36d3254dfe2e97e504f9e4f77c8addda98ab4f4b\n"
    },
    {
      "commit": "dd13793a257f4d7265bba33937bb442722d5d36b",
      "tree": "f12ca50d4ecc7a09ab0bc137b60a9b8c4e09728d",
      "parents": [
        "84b02130a9b3327343425cd4edfc1b85f1e9b23d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 08 10:59:28 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 08 10:59:28 2011 -0800"
      },
      "message": "Cleanup remote execution of perf tests.\n\nChange-Id: I0d00537194f3a70969220db16f57bda6f25e454b\n"
    },
    {
      "commit": "6b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06",
      "tree": "aa258e36a6f7e1484de46d4c8e677f23a2fa9dc8",
      "parents": [
        "19c86cacb2f0ba04cc93084ba474662afb17d88f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 07 14:45:49 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 07 14:45:49 2011 -0800"
      },
      "message": "Update perf tests to always run each test in a fresh process.\n\nAlso some new classes to preload.\n\nChange-Id: Ia2b5f856eaee533b9603b533ebaf8cb55e2ac193\n"
    },
    {
      "commit": "28695e0c70db82e7ba0ce1c25ab10cc7fb04d40b",
      "tree": "54437e14eb2e675396be9d133914de5458ec370c",
      "parents": [
        "11b49ba933bab7ff8262139141eef0e5f3c45a18"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 21:59:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 22:08:41 2011 -0700"
      },
      "message": "More performance work:\n\n- ActivityManager now keeps track of previous app as you\n  move across the home app.\n- Better debug info about why an activity is being destroyed.\n- New performance tests.\n\nChange-Id: I3a5ae7cb1b9f1624c6792a4f6184353f532b8f3b\n"
    },
    {
      "commit": "0500b3cfda5192efc09d6d4344b0c6c785c0a815",
      "tree": "d850844c43e6dacd62f9818f39a8becfd5ac5cbb",
      "parents": [
        "f136aa341abaaf7fd6f7632d41a30b2989d93985"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 15:28:43 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 18:01:33 2011 -0700"
      },
      "message": "Some optimizations.\n\n- Don\u0027t try to create a thumbnail bitmap on the client side.  This\n  wastes 64k, and isn\u0027t needed since we are doing screenshots.\n- Optimize View to put all of the callback pointers out of line.\n  Added a couple new APIs so these don\u0027t need to be protected/public.\n- Lazily create ViewGroup\u0027s cache paint.\n- Change FrameworkPerf app to not use HW accel drawing, to give better\n  comparison with GB.\n\nChange-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b\n"
    },
    {
      "commit": "2c84cfc001fb92a71811bf7384b7f865ff31ff9d",
      "tree": "1d43eda4854e37a553b85ce759ea4fffd41c9edb",
      "parents": [
        "dd79b4c85a9dd2c2ad702ea2137fe2a076567fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 15:39:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 16:52:34 2011 -0700"
      },
      "message": "Various performance and other work.\n\n- IME service now switches between visible and perceptible depending on\n  whether it is being showm, allowing us to more aggressively free its\n  memory when not shown.\n\n- The activity display time is no longer delayed by the activity\n  transition animation.\n\n- New -R (repeat) option for launching activities with the am command.\n\n- Improved some documentation on Loader to be clear about some methods\n  that apps should not normally call.\n\n- FrameworkPerf test now allows you to select individual tests to run.\n\nChange-Id: Id1f73de66dc93d63212183958a72119ad174318b\n"
    },
    {
      "commit": "2e9562ad760d320b97e710c60427ff1704283c82",
      "tree": "3a9f1e4adb45f8f8c5bfa6acab8fdf6a27ddc708",
      "parents": [
        "ea1db611b493d70e82641f8dc01d4a4c4ffcd3e7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 28 17:12:12 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 28 17:12:12 2011 -0700"
      },
      "message": "Add some IO tests.\n\nChange-Id: Iacd5798a539781b67637cbbcc49cc8dec344e17b\n"
    },
    {
      "commit": "ea1db611b493d70e82641f8dc01d4a4c4ffcd3e7",
      "tree": "776abf729cd71c6717640e0a254ed68bff0367c5",
      "parents": [
        "114ac293b8df1e1db817603bcb77507451e87cd4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 27 19:03:14 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 27 19:03:14 2011 -0700"
      },
      "message": "Fix build.  Forgot to add files. :(\n\nChange-Id: I89dcc247d957a4873c56017bc262dd717d236258\n"
    },
    {
      "commit": "d4c4b76889f2bd2e2e34ba9fc835370020524ded",
      "tree": "3593975f3011e1ee7099420b8b01edaec91f2e97",
      "parents": [
        "e49cf107e2533b7ca71c500bc20a0f6dcdf9efdc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 27 12:58:16 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 27 16:03:14 2011 -0700"
      },
      "message": "New framework performance tests.\n\nChange-Id: Ib8cc6704f508b7516ba0a30aa71bb88ef028691d\n"
    }
  ]
}
