// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package {
    // See: http://go/android-license-faq
    default_applicable_licenses: ["Android-Apache-2.0"],
}

// Source code used for test
filegroup {
    name: "launcher-tests-src",
    srcs: [
      "src/**/*.java",
      "src/**/*.kt"
    ],
}

// Source code used for oop test helpers
filegroup {
    name: "launcher-oop-tests-src",
    srcs: [
      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
      "src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
      "src/com/android/launcher3/util/TestUtil.java",
      "src/com/android/launcher3/util/Wait.java",
      "src/com/android/launcher3/util/WidgetUtils.java",
      "src/com/android/launcher3/util/rule/FailureWatcher.java",
      "src/com/android/launcher3/util/rule/LauncherActivityRule.java",
      "src/com/android/launcher3/util/rule/SamplerRule.java",
      "src/com/android/launcher3/util/rule/ScreenRecordRule.java",
      "src/com/android/launcher3/util/rule/ShellCommandRule.java",
      "src/com/android/launcher3/util/rule/SimpleActivityRule.java",
      "src/com/android/launcher3/util/rule/TestStabilityRule.java",
      "src/com/android/launcher3/ui/TaplTestsLauncher3.java",
      "src/com/android/launcher3/testcomponent/BaseTestingActivity.java",
      "src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java",
      "src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java",
      "src/com/android/launcher3/testcomponent/TestCommandReceiver.java",
      "src/com/android/launcher3/testcomponent/TestLauncherActivity.java",
    ],
}

// Library with all the dependencies for building quickstep
android_library {
    name: "Launcher3TestLib",
    srcs: [ ],
    resource_dirs: ["res"],
    static_libs: [
        "launcher-aosp-tapl",
        "androidx.test.core",
        "androidx.test.runner",
        "androidx.test.rules",
        "androidx.test.ext.junit",
        "androidx.test.espresso.core",
        "androidx.test.espresso.contrib",
        "androidx.test.espresso.intents",
        "androidx.test.uiautomator_uiautomator",
        "mockito-target-inline-minus-junit4",
        "launcher_log_protos_lite",
        "truth-prebuilt",
        "platform-test-rules",
    ],
    manifest: "AndroidManifest-common.xml",
    platform_apis: true,
}

android_library {
    name: "Launcher3TestResources",
    resource_dirs: ["res"],
}

android_test {
    name: "Launcher3Tests",
    srcs: [
        ":launcher-tests-src",
    ],
    static_libs: ["Launcher3TestLib"],
    libs: [
        "android.test.base",
        "android.test.runner",
        "android.test.mock",
    ],
    jni_libs: [
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
    ],
    use_embedded_native_libs: false,
    compile_multilib: "both",
    instrumentation_for: "Launcher3",
    manifest: "AndroidManifest.xml",
    platform_apis: true,
    test_config: "Launcher3Tests.xml",
    data: [":Launcher3"]
}
