diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000000..fb1a8024893 --- /dev/null +++ b/Android.bp @@ -0,0 +1,65 @@ +java_library { + name: "settings-logtags", + srcs: ["src/**/*.logtags"], +} + +// Build the Settings APK +android_library { + name: "Settings-core", + platform_apis: true, + defaults: [ + "SettingsLibDefaults", + "SettingsLib-search-defaults", + ], + + srcs: ["src/**/*.java"], + + static_libs: [ + "androidx-constraintlayout_constraintlayout", + "androidx.slice_slice-builders", + "androidx.slice_slice-core", + "androidx.slice_slice-view", + "androidx.core_core", + "androidx.appcompat_appcompat", + "androidx.cardview_cardview", + "androidx.preference_preference", + "androidx.recyclerview_recyclerview", + "com.google.android.material_material", + "setupcompat", + "setupdesign", + "androidx-constraintlayout_constraintlayout-solver", + "androidx.lifecycle_lifecycle-runtime", + "androidx.lifecycle_lifecycle-extensions", + "guava", + "jsr305", + "settings-contextual-card-protos-lite", + "settings-log-bridge-protos-lite", + "contextualcards", + "settings-logtags", + "zxing-core-1.7", + ], + + libs: [ + "telephony-common", + "ims-common", + ], +} + +android_app { + name: "Settings", + platform_apis: true, + certificate: "platform", + product_specific: true, + privileged: true, + required: ["privapp_whitelist_com.android.settings"], + static_libs: ["Settings-core"], + resource_dirs: [], + optimize: { + proguard_flags_files: ["proguard.flags"], + }, +} + +android_library_import { + name: "contextualcards", + aars: ["libs/contextualcards.aar"], +} diff --git a/Android.mk b/Android.mk deleted file mode 100644 index 906cfc77432..00000000000 --- a/Android.mk +++ /dev/null @@ -1,78 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(call all-logtags-files-under, src) - -LOCAL_MODULE := settings-logtags - -include $(BUILD_STATIC_JAVA_LIBRARY) - -# Build the Settings APK -include $(CLEAR_VARS) - -LOCAL_PACKAGE_NAME := Settings -LOCAL_PRIVATE_PLATFORM_APIS := true -LOCAL_CERTIFICATE := platform -LOCAL_PRODUCT_MODULE := true -LOCAL_PRIVILEGED_MODULE := true -LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.settings -LOCAL_MODULE_TAGS := optional -LOCAL_USE_AAPT2 := true - -LOCAL_SRC_FILES := $(call all-java-files-under, src) - -LOCAL_STATIC_ANDROID_LIBRARIES := \ - androidx-constraintlayout_constraintlayout \ - androidx.slice_slice-builders \ - androidx.slice_slice-core \ - androidx.slice_slice-view \ - androidx.core_core \ - androidx.appcompat_appcompat \ - androidx.cardview_cardview \ - androidx.preference_preference \ - androidx.recyclerview_recyclerview \ - com.google.android.material_material \ - setupcompat \ - setupdesign - -LOCAL_JAVA_LIBRARIES := \ - telephony-common \ - ims-common - -LOCAL_STATIC_JAVA_LIBRARIES := \ - androidx-constraintlayout_constraintlayout-solver \ - androidx.lifecycle_lifecycle-runtime \ - androidx.lifecycle_lifecycle-extensions \ - guava \ - jsr305 \ - settings-contextual-card-protos-lite \ - settings-log-bridge-protos-lite \ - contextualcards \ - settings-logtags \ - zxing-core-1.7 - -LOCAL_PROGUARD_FLAG_FILES := proguard.flags - -ifneq ($(INCREMENTAL_BUILDS),) - LOCAL_PROGUARD_ENABLED := disabled - LOCAL_JACK_ENABLED := incremental - LOCAL_JACK_FLAGS := --multi-dex native -endif - -include frameworks/base/packages/SettingsLib/common.mk -include frameworks/base/packages/SettingsLib/search/common.mk - -include $(BUILD_PACKAGE) - -# ==== prebuilt library ======================== -include $(CLEAR_VARS) - -LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ - contextualcards:libs/contextualcards.aar -include $(BUILD_MULTI_PREBUILT) - -# Use the following include to make our test apk. -ifeq (,$(ONE_SHOT_MAKEFILE)) -include $(call all-makefiles-under,$(LOCAL_PATH)) -endif diff --git a/tests/Android.mk b/tests/Android.mk deleted file mode 100644 index fd297e35397..00000000000 --- a/tests/Android.mk +++ /dev/null @@ -1,5 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Include all makefiles in subdirectories -include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/tests/anomaly-tester/Android.bp b/tests/anomaly-tester/Android.bp new file mode 100644 index 00000000000..29181af61ed --- /dev/null +++ b/tests/anomaly-tester/Android.bp @@ -0,0 +1,24 @@ +android_test { + name: "AnomalyTester", + + certificate: "platform", + + libs: ["android.test.runner"], + + static_libs: [ + "androidx.test.rules", + "mockito-target", + "ub-uiautomator", + "truth-prebuilt", + ], + + srcs: ["**/*.java"], + + optimize: { + enabled: false, + }, + + platform_apis: true, + + instrumentation_for: "Settings", +} diff --git a/tests/anomaly-tester/Android.mk b/tests/anomaly-tester/Android.mk deleted file mode 100644 index 4dffeab0500..00000000000 --- a/tests/anomaly-tester/Android.mk +++ /dev/null @@ -1,26 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS := tests -LOCAL_CERTIFICATE := platform - -LOCAL_JAVA_LIBRARIES := android.test.runner - -LOCAL_STATIC_JAVA_LIBRARIES := \ - androidx.test.rules \ - mockito-target \ - ub-uiautomator \ - truth-prebuilt \ - -LOCAL_SRC_FILES := $(call all-subdir-java-files) - -LOCAL_PROGUARD_ENABLED := disabled - -LOCAL_PACKAGE_NAME := AnomalyTester -LOCAL_PRIVATE_PLATFORM_APIS := true - -LOCAL_INSTRUMENTATION_FOR := Settings - -LOCAL_USE_AAPT2 := true - -include $(BUILD_PACKAGE) diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp new file mode 100644 index 00000000000..a86834f47a2 --- /dev/null +++ b/tests/robotests/Android.bp @@ -0,0 +1,77 @@ +//############################################################ +// Build SettingsRoboTestStub.apk which includes test-only resources.# +//############################################################ + +android_app { + name: "SettingsRoboTestStub", + defaults: [ + "SettingsLibDefaults", + "SettingsLib-search-defaults", + ], + platform_apis: true, + certificate: "platform", + privileged: true, + + resource_dirs: ["res"], + + static_libs: [ + "Settings-core", + "androidx-constraintlayout_constraintlayout", + "androidx.slice_slice-builders", + "androidx.slice_slice-core", + "androidx.slice_slice-view", + "androidx.core_core", + "androidx.appcompat_appcompat", + "androidx.cardview_cardview", + "androidx.preference_preference", + "androidx.recyclerview_recyclerview", + "com.google.android.material_material", + "setupcompat", + "setupdesign", + "androidx-constraintlayout_constraintlayout-solver", + "androidx.lifecycle_lifecycle-runtime", + "androidx.lifecycle_lifecycle-extensions", + "guava", + "jsr305", + "settings-contextual-card-protos-lite", + "settings-log-bridge-protos-lite", + "contextualcards", + "settings-logtags", + "zxing-core-1.7", + ], + + aaptflags: ["--extra-packages com.android.settings"], + + libs: [ + "telephony-common", + "ims-common", + ], +} + +//############################################################ +// Settings Robolectric test target. # +//############################################################ +android_robolectric_test { + name: "SettingsRoboTests", + srcs: [ + "src/**/*.java", + ], + + static_libs: [ + "SettingsLib-robo-testutils", + ], + + java_resource_dirs: ["config"], + + instrumentation_for: "SettingsRoboTestStub", + + test_options: { + timeout: "36000", + }, + + coverage_libs: [ + "Settings-core", + "SettingsLib", + "SettingsLib-search", + ], +} diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk deleted file mode 100644 index 727da064a56..00000000000 --- a/tests/robotests/Android.mk +++ /dev/null @@ -1,111 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -SETTINGS_AOSP_PATH := packages/apps/Settings - -############################################################# -# Build SettingsRoboTestStub.apk which includes test-only resources.# -############################################################# -include $(CLEAR_VARS) - -LOCAL_PACKAGE_NAME := SettingsRoboTestStub -LOCAL_PRIVATE_PLATFORM_APIS := true -LOCAL_CERTIFICATE := platform -LOCAL_PRIVILEGED_MODULE := true -LOCAL_MODULE_TAGS := optional -LOCAL_USE_AAPT2 := true - -RELATIVE_SETTINGS_AOSP_PATH := ../../../../../$(SETTINGS_AOSP_PATH) - -LOCAL_MANIFEST_FILE := $(RELATIVE_SETTINGS_AOSP_PATH)/AndroidManifest.xml - -LOCAL_SRC_FILES := $(call all-java-files-under, $(RELATIVE_SETTINGS_AOSP_PATH)/src) - -LOCAL_RESOURCE_DIR += \ - $(LOCAL_PATH)/res \ - $(SETTINGS_AOSP_PATH)/res - -LOCAL_STATIC_ANDROID_LIBRARIES := \ - androidx-constraintlayout_constraintlayout \ - androidx.slice_slice-builders \ - androidx.slice_slice-core \ - androidx.slice_slice-view \ - androidx.core_core \ - androidx.appcompat_appcompat \ - androidx.cardview_cardview \ - androidx.preference_preference \ - androidx.recyclerview_recyclerview \ - com.google.android.material_material \ - setupcompat \ - setupdesign - -LOCAL_JAVA_LIBRARIES := \ - telephony-common \ - ims-common - -LOCAL_STATIC_JAVA_LIBRARIES := \ - androidx-constraintlayout_constraintlayout-solver \ - androidx.lifecycle_lifecycle-runtime \ - androidx.lifecycle_lifecycle-extensions \ - guava \ - jsr305 \ - settings-contextual-card-protos-lite \ - settings-log-bridge-protos-lite \ - contextualcards \ - settings-logtags \ - zxing-core-1.7 - -include frameworks/base/packages/SettingsLib/common.mk -include frameworks/base/packages/SettingsLib/search/common.mk - -include $(BUILD_PACKAGE) - -############################################################# -# Settings Robolectric test target. # -############################################################# -include $(CLEAR_VARS) - -LOCAL_MODULE := SettingsRoboTests -LOCAL_MODULE_CLASS := JAVA_LIBRARIES - -LOCAL_SRC_FILES := $(call all-java-files-under, src) \ - $(call all-java-files-under, ../../../../../frameworks/base/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils) - -LOCAL_JAVA_RESOURCE_DIRS := config - -LOCAL_JAVA_LIBRARIES := \ - robolectric_android-all-stub \ - Robolectric_all-target \ - mockito-robolectric-prebuilt \ - truth-prebuilt - -LOCAL_INSTRUMENTATION_FOR := SettingsRoboTestStub - -LOCAL_MODULE_TAGS := optional - -# Generate test_config.properties -include external/robolectric-shadows/gen_test_config.mk - -include $(BUILD_STATIC_JAVA_LIBRARY) - -############################################################# -# Settings runner target to run the previous target. # -############################################################# -include $(CLEAR_VARS) - -LOCAL_MODULE := RunSettingsRoboTests - -LOCAL_JAVA_LIBRARIES := \ - SettingsRoboTests \ - robolectric_android-all-stub \ - Robolectric_all-target \ - mockito-robolectric-prebuilt \ - truth-prebuilt - -LOCAL_TEST_PACKAGE := SettingsRoboTestStub - -LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src \ - frameworks/base/packages/SettingsLib/search/src \ - -LOCAL_ROBOTEST_TIMEOUT := 36000 - -include external/robolectric-shadows/run_robotests.mk diff --git a/tests/robotests/AndroidManifest.xml b/tests/robotests/AndroidManifest.xml new file mode 100644 index 00000000000..e0050ef9e04 --- /dev/null +++ b/tests/robotests/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/tests/uitests/Android.bp b/tests/uitests/Android.bp new file mode 100644 index 00000000000..8a3e374ff43 --- /dev/null +++ b/tests/uitests/Android.bp @@ -0,0 +1,41 @@ +// Copyright (C) 2018 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. + +android_test { + name: "SettingsUITests", + platform_apis: true, + certificate: "platform", + test_suites: ["device-tests"], + srcs: ["src/**/*.java"], + + libs: [ + "android.test.runner", + "android.test.base", + ], + + static_libs: [ + "androidx.test.rules", + "app-helpers-core", + "launcher-helper-lib", + "metrics-helper-lib", + "platform-test-annotations", + "settings-helper", + "sysui-helper", + "timeresult-helper-lib", + "truth-prebuilt", + "ub-uiautomator", + ], + + //sdk_version: "current", +} diff --git a/tests/uitests/Android.mk b/tests/uitests/Android.mk deleted file mode 100644 index fb7258ce792..00000000000 --- a/tests/uitests/Android.mk +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright (C) 2018 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) -include $(CLEAR_VARS) - -LOCAL_PACKAGE_NAME := SettingsUITests -LOCAL_PRIVATE_PLATFORM_APIS := true -LOCAL_CERTIFICATE := platform -LOCAL_COMPATIBILITY_SUITE := device-tests -LOCAL_SRC_FILES := $(call all-java-files-under, src) -LOCAL_MODULE_TAGS := tests - -LOCAL_JAVA_LIBRARIES := \ - android.test.runner \ - android.test.base - -LOCAL_STATIC_JAVA_LIBRARIES := \ - androidx.test.rules \ - app-helpers-core \ - launcher-helper-lib \ - metrics-helper-lib \ - platform-test-annotations \ - settings-helper \ - sysui-helper \ - timeresult-helper-lib \ - truth-prebuilt \ - ub-uiautomator \ - -#LOCAL_SDK_VERSION := current - -include $(BUILD_PACKAGE) diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp new file mode 100644 index 00000000000..43bf02c1faf --- /dev/null +++ b/tests/unit/Android.bp @@ -0,0 +1,32 @@ +android_test { + name: "SettingsUnitTests", + + certificate: "platform", + + libs: [ + "android.test.runner", + "telephony-common", + "ims-common", + "android.test.base", + "android.test.mock", + ], + + static_libs: [ + "androidx.test.rules", + "androidx.test.espresso.core", + "androidx.test.espresso.contrib-nodeps", + "androidx.test.espresso.intents-nodeps", + "mockito-target-minus-junit4", + "platform-test-annotations", + "truth-prebuilt", + "ub-uiautomator", + ], + + // Include all test java files. + srcs: ["src/**/*.java"], + + platform_apis: true, + test_suites: ["device-tests"], + + instrumentation_for: "Settings", +} diff --git a/tests/unit/Android.mk b/tests/unit/Android.mk deleted file mode 100644 index 35d220532be..00000000000 --- a/tests/unit/Android.mk +++ /dev/null @@ -1,35 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -# We only want this apk build for tests. -LOCAL_MODULE_TAGS := tests -LOCAL_CERTIFICATE := platform - -LOCAL_JAVA_LIBRARIES := \ - android.test.runner \ - telephony-common \ - ims-common \ - android.test.base \ - android.test.mock \ - - -LOCAL_STATIC_JAVA_LIBRARIES := \ - androidx.test.rules \ - androidx.test.espresso.core \ - androidx.test.espresso.contrib-nodeps \ - androidx.test.espresso.intents-nodeps \ - mockito-target-minus-junit4 \ - platform-test-annotations \ - truth-prebuilt \ - ub-uiautomator - -# Include all test java files. -LOCAL_SRC_FILES := $(call all-java-files-under, src) - -LOCAL_PACKAGE_NAME := SettingsUnitTests -LOCAL_PRIVATE_PLATFORM_APIS := true -LOCAL_COMPATIBILITY_SUITE := device-tests - -LOCAL_INSTRUMENTATION_FOR := Settings - -include $(BUILD_PACKAGE)