# Copyright (C) 2008 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.

LOCAL_PATH:= $(call my-dir)

# Reusable Sensor test classes and helpers

include $(CLEAR_VARS)

LOCAL_MODULE := cts-sensors-tests

LOCAL_MODULE_TAGS := tests

LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil

LOCAL_SDK_VERSION := current

# TODO: sensors need to be refactored out into their own namespace: android.hardware.sensors.cts
LOCAL_SRC_FILES := $(call all-java-files-under, src/android/hardware/cts/helpers)
LOCAL_SRC_FILES += \
    src/android/hardware/cts/SensorTestCase.java \
    src/android/hardware/cts/SingleSensorTests.java \
    src/android/hardware/cts/SensorIntegrationTests.java \
    src/android/hardware/cts/SensorBatchingTests.java \
    src/android/hardware/cts/SensorTest.java \
    src/android/hardware/cts/SensorManagerStaticTest.java

LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil

include $(BUILD_STATIC_JAVA_LIBRARY)


# CtsHardwareTestCases package

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := tests

LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil ctstestrunner mockito-target android-ex-camera2

LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)

LOCAL_PACKAGE_NAME := CtsHardwareTestCases

LOCAL_SDK_VERSION := current

LOCAL_JAVA_LIBRARIES := android.test.runner

include $(BUILD_CTS_PACKAGE)
