1. Use handler executor to directly handle state changed callbacks in the same thread as APM handling. 2. Use the same flow to fetch the initial APM mode & UWB state from onStart() 3. Store the state and reason code (to be used for showing regulatory message in follow up CL). 4. Refactor the class for better unit testing (use mocks, avoid reaching into class members being tested by using argument captor). Bug: 270515435 Test: Manual tests Test: atest UwbPreferenceControllerTest Change-Id: I1b8c06a05691d9512de65ca2d61f3963dab230ab
120 lines
3.1 KiB
Plaintext
120 lines
3.1 KiB
Plaintext
//############################################################
|
|
// Build SettingsRoboTestStub.apk which includes test-only resources.#
|
|
//############################################################
|
|
|
|
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "packages_apps_Settings_license"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
default_applicable_licenses: ["packages_apps_Settings_license"],
|
|
}
|
|
|
|
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",
|
|
"androidx.window_window",
|
|
"com.google.android.material_material",
|
|
"setupcompat",
|
|
"setupdesign",
|
|
"androidx.lifecycle_lifecycle-runtime",
|
|
"androidx.test.core",
|
|
"androidx.test.runner",
|
|
"androidx.test.ext.junit",
|
|
"frameworks-base-testutils",
|
|
"guava",
|
|
"jsr305",
|
|
"settings-contextual-card-protos-lite",
|
|
"settings-log-bridge-protos-lite",
|
|
"settings-telephony-protos-lite",
|
|
"contextualcards",
|
|
"settings-logtags",
|
|
"zxing-core-1.7",
|
|
],
|
|
|
|
aaptflags: ["--extra-packages com.android.settings"],
|
|
|
|
libs: [
|
|
"telephony-common",
|
|
"ims-common",
|
|
],
|
|
uses_libs: ["org.apache.http.legacy"],
|
|
optional_uses_libs: [
|
|
"androidx.window.extensions",
|
|
"androidx.window.sidecar",
|
|
],
|
|
}
|
|
|
|
//############################################################
|
|
// Settings Robolectric test target. #
|
|
//############################################################
|
|
android_robolectric_test {
|
|
name: "SettingsRoboTests",
|
|
srcs: [
|
|
"src/**/*.java",
|
|
"src/**/*.kt",
|
|
],
|
|
|
|
static_libs: [
|
|
"SettingsLib-robo-testutils",
|
|
"android-support-annotations",
|
|
"androidx.test.core",
|
|
"androidx.test.rules",
|
|
"androidx.test.runner",
|
|
"androidx.test.ext.junit",
|
|
"androidx.test.espresso.core",
|
|
],
|
|
|
|
libs: [
|
|
"ims-common",
|
|
],
|
|
|
|
java_resource_dirs: ["config", "resources"],
|
|
|
|
instrumentation_for: "SettingsRoboTestStub",
|
|
|
|
test_options: {
|
|
timeout: 36000,
|
|
shards: 10,
|
|
},
|
|
|
|
coverage_libs: [
|
|
"Settings-core",
|
|
"SettingsLib",
|
|
"SettingsLib-search",
|
|
],
|
|
}
|
|
|
|
java_library {
|
|
name: "Settings-robo-testutils",
|
|
srcs: ["src/com/android/settings/testutils/**/*.java"],
|
|
|
|
libs: [
|
|
"Settings-core",
|
|
"Robolectric_all-target",
|
|
"mockito-robolectric-prebuilt",
|
|
"truth-prebuilt",
|
|
],
|
|
}
|