Merge "[java] Restore ServiceManager#getService() to return IBinder" into main
diff --git a/Android.bp b/Android.bp
index 5c64dba..68fc474 100644
--- a/Android.bp
+++ b/Android.bp
@@ -398,6 +398,7 @@
],
sdk_version: "core_platform",
static_libs: [
+ "aconfig_storage_reader_java",
"android.hardware.common.fmq-V1-java",
"bouncycastle-repackaged-unbundled",
"com.android.sysprop.foldlockbehavior",
@@ -631,7 +632,6 @@
"core/java/com/android/internal/util/AsyncService.java",
"core/java/com/android/internal/util/Protocol.java",
"telephony/java/android/telephony/Annotation.java",
- ":net-utils-framework-wifi-common-srcs",
],
libs: [
"framework-annotations-lib",
diff --git a/core/tests/coretests/Android.bp b/core/tests/coretests/Android.bp
index 5ac84f1..e572e50 100644
--- a/core/tests/coretests/Android.bp
+++ b/core/tests/coretests/Android.bp
@@ -275,3 +275,387 @@
},
auto_gen_config: true,
}
+
+FLAKY_OR_IGNORED = [
+ "androidx.test.filters.FlakyTest",
+ "org.junit.Ignore",
+]
+
+test_module_config {
+ name: "FrameworksCoreTests_Presubmit",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_inputmethod",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.inputmethod",
+ "android.view.inputmethod",
+ ],
+ exclude_annotations: ["androidx.test.filters.FlakyTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_context",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.ContextTest"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_keyguard_manager",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.app.KeyguardManagerTest"],
+ exclude_annotations: [
+ "androidx.test.filters.FlakyTest",
+ "org.junit.Ignore",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_property_invalidated_cache",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.app.PropertyInvalidatedCacheTests"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "android.content.ContextTest",
+ "android.content.ComponentCallbacksControllerTest",
+ "android.content.ContextWrapperTest",
+ ],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_sqlite",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.database.sqlite.SQLiteRawStatementTest"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_net",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.net"],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_battery_stats",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.os.BatteryStatsTests"],
+ exclude_annotations: ["com.android.internal.os.SkipPresubmit"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_environment",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.os.EnvironmentTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_util_data_charset",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.util.FastDataTest",
+ "android.util.CharsetUtilsTest",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_xml",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "android.util.XmlTest",
+ "android.util.BinaryXmlTest",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_util_apk",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.util.apk.SourceStampVerifierTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_textclassifier",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.view.textclassifier"],
+ exclude_annotations: ["androidx.test.filters.FlakyTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_app",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.app."],
+ exclude_filters: [
+ "com.android.internal.app.WindowDecorActionBarTest",
+ "com.android.internal.app.IntentForwarderActivityTest",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_content",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.content."],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_infra",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.infra."],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_jank",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.jank"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_os_binder",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.os.BinderDeathDispatcherTest"],
+ exclude_annotations: ["com.android.internal.os.SkipPresubmit"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_os_kernel",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.os.KernelCpuUidClusterTimeReaderTest",
+ "com.android.internal.os.KernelCpuUidBpfMapReaderTest",
+ "com.android.internal.os.KernelCpuUidActiveTimeReaderTest",
+ "com.android.internal.os.KernelCpuUidFreqTimeReaderTest",
+ "com.android.internal.os.KernelSingleUidTimeReaderTest",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_server_power",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.server.power.stats.BstatsCpuTimesValidationTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_security",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.security."],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_internal_util_latency_tracker",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.util.LatencyTrackerTest"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_content_capture_options",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.ContentCaptureOptionsTest"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content_integrity",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.integrity."],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content_pm_PreSubmit",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.pm."],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content_pm_PostSubmit",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.pm."],
+ include_annotations: ["android.platform.test.annotations.Postsubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content_res",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.res."],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+ exclude_annotations: [
+ "androidx.test.filters.FlakyTest",
+ "android.platform.test.annotations.Postsubmit",
+ "org.junit.Ignore",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_content_res_PostSubmit",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.content.res."],
+ include_annotations: ["android.platform.test.annotations.Postsubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_service",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "android.service.euicc",
+ "android.service.notification",
+ "android.service.quicksettings",
+ "android.service.settings.suggestions",
+ "android.service.controls.templates",
+ "android.service.controls.actions",
+ "android.service.controls",
+ ],
+ exclude_annotations: ["org.junit.Ignore"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_view_contentcapture",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.view.contentcapture"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_android_view_contentprotection",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.view.contentprotection"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_com_android_internal_content_Presubmit",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.content."],
+ include_annotations: ["android.platform.test.annotations.Presubmit"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_drawable",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.graphics.drawable.IconTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_accessibility_NO_FLAKES",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.accessibility",
+ "android.accessibilityservice",
+ "android.view.accessibility",
+ ],
+ exclude_annotations: ["androidx.test.filters.FlakyTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.accessibility",
+ "android.accessibilityservice",
+ "android.view.accessibility",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_usage",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.app.usage"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_fastdata",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["com.android.internal.util.FastDataTest"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_hardware_input",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: ["android.hardware.input"],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_view_verified",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "android.view.VerifiedMotionEventTest",
+ "android.view.VerifiedKeyEventTest",
+ ],
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_jank",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_filters: [
+ "com.android.internal.jank.FrameTrackerTest",
+ "com.android.internal.jank.InteractionJankMonitorTest",
+ "com.android.internal.util.LatencyTrackerTest",
+ ],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
+
+test_module_config {
+ name: "FrameworksCoreTests_Platinum",
+ base: "FrameworksCoreTests",
+ test_suites: ["general-tests"],
+ include_annotations: ["android.platform.test.annotations.PlatinumTest"],
+ exclude_annotations: FLAKY_OR_IGNORED,
+}
diff --git a/ravenwood/Android.bp b/ravenwood/Android.bp
index 33d3624..25a0b45 100644
--- a/ravenwood/Android.bp
+++ b/ravenwood/Android.bp
@@ -227,6 +227,11 @@
"services.core.ravenwood-jarjar",
"services.fakes.ravenwood-jarjar",
+ // ICU
+ "core-icu4j-for-host.ravenwood",
+ "icu4j-icudata-jarjar",
+ "icu4j-icutzdata-jarjar",
+
// Provide runtime versions of utils linked in below
"junit",
"truth",
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index 46061a5..5449089 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -577,6 +577,12 @@
@Constants.HandleMessageResult
protected int handleReportPhysicalAddress(HdmiCecMessage message) {
super.handleReportPhysicalAddress(message);
+ // Ignore <Report Physical Address> while DeviceDiscoveryAction is in progress to avoid
+ // starting a NewDeviceAction which might interfere in creating the list of known devices.
+ if (hasAction(DeviceDiscoveryAction.class)) {
+ return Constants.HANDLED;
+ }
+
int path = HdmiUtils.twoBytesToInt(message.getParams());
int address = message.getSource();
int type = message.getParams()[2];
diff --git a/services/core/java/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessor.java b/services/core/java/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessor.java
index aa2b74e..58c3ba5 100644
--- a/services/core/java/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessor.java
+++ b/services/core/java/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessor.java
@@ -56,12 +56,17 @@
// enables immediate failover to a secondary provider, one that might provide valid IDs for
// the same location, which should provide better behavior than just ignoring the event.
if (hasInvalidZones(event)) {
- TimeZoneProviderStatus providerStatus = new TimeZoneProviderStatus.Builder(
- event.getTimeZoneProviderStatus())
- .setTimeZoneResolutionOperationStatus(OPERATION_STATUS_FAILED)
- .build();
- return TimeZoneProviderEvent.createUncertainEvent(
- event.getCreationElapsedMillis(), providerStatus);
+ TimeZoneProviderStatus providerStatus = event.getTimeZoneProviderStatus();
+ TimeZoneProviderStatus.Builder providerStatusBuilder;
+ if (providerStatus != null) {
+ providerStatusBuilder = new TimeZoneProviderStatus.Builder(providerStatus);
+ } else {
+ providerStatusBuilder = new TimeZoneProviderStatus.Builder();
+ }
+ return TimeZoneProviderEvent.createUncertainEvent(event.getCreationElapsedMillis(),
+ providerStatusBuilder
+ .setTimeZoneResolutionOperationStatus(OPERATION_STATUS_FAILED)
+ .build());
}
return event;
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 1353ff0..a310992 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -2291,7 +2291,7 @@
// Apply crop to root tasks only and clear the crops of the descendant tasks.
int width = 0;
int height = 0;
- if (isRootTask()) {
+ if (isRootTask() && !mTransitionController.mIsWaitingForDisplayEnabled) {
final Rect taskBounds = getBounds();
width = taskBounds.width();
height = taskBounds.height();
diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
index 67ae998..01c4d1f 100644
--- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
+++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
@@ -1878,4 +1878,33 @@
assertThat(mPowerManager.isInteractive()).isTrue();
}
+
+ @Test
+ public void handleReportPhysicalAddress_DeviceDiscoveryActionInProgress_noNewDeviceAction() {
+ mHdmiControlService.getHdmiCecNetwork().clearDeviceList();
+ mNativeWrapper.setPollAddressResponse(ADDR_PLAYBACK_1, SendMessageResult.SUCCESS);
+ mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
+ mNativeWrapper.clearResultMessages();
+ mTestLooper.dispatchAll();
+
+ HdmiCecMessage reportPhysicalAddressFromPlayback1 =
+ HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
+ ADDR_PLAYBACK_1, 0x1000, HdmiDeviceInfo.DEVICE_PLAYBACK);
+ HdmiCecMessage reportPhysicalAddressFromPlayback2 =
+ HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
+ ADDR_PLAYBACK_2, 0x2000, HdmiDeviceInfo.DEVICE_PLAYBACK);
+ HdmiCecMessage giveOsdName = HdmiCecMessageBuilder.buildGiveOsdNameCommand(
+ ADDR_TV, ADDR_PLAYBACK_2);
+ // Skip state waiting for <Report Physical Address> for DeviceDiscoveryAction s.t. message
+ // can be dispatched to local device TV.
+ mNativeWrapper.onCecMessage(reportPhysicalAddressFromPlayback1);
+ mNativeWrapper.clearResultMessages();
+ mTestLooper.dispatchAll();
+
+ mNativeWrapper.onCecMessage(reportPhysicalAddressFromPlayback2);
+ mTestLooper.dispatchAll();
+
+ // NewDeviceAction did not start and <Give OSD Name> was not sent.
+ assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveOsdName);
+ }
}
diff --git a/services/tests/timetests/src/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessorTest.java b/services/tests/timetests/src/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessorTest.java
index f3440f7..ea3b409 100644
--- a/services/tests/timetests/src/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessorTest.java
+++ b/services/tests/timetests/src/com/android/server/timezonedetector/location/ZoneInfoDbTimeZoneProviderEventPreProcessorTest.java
@@ -39,13 +39,23 @@
private static final long ARBITRARY_TIME_MILLIS = 11223344;
+ private final List<String> mNonExistingTimeZones = Arrays.asList(
+ "SystemV/HST10", "Atlantic/Atlantis", "EUROPE/LONDON", "Etc/GMT-5:30");
private final ZoneInfoDbTimeZoneProviderEventPreProcessor mPreProcessor =
new ZoneInfoDbTimeZoneProviderEventPreProcessor();
+ private static final TimeZoneProviderStatus ARBITRARY_TIME_ZONE_PROVIDER_STATUS =
+ new TimeZoneProviderStatus.Builder()
+ .setConnectivityDependencyStatus(DEPENDENCY_STATUS_OK)
+ .setLocationDetectionDependencyStatus(DEPENDENCY_STATUS_OK)
+ .setTimeZoneResolutionOperationStatus(OPERATION_STATUS_OK)
+ .build();
+
@Test
public void timeZoneIdsFromZoneInfoDbAreValid() {
for (String timeZone : TimeZone.getAvailableIDs()) {
- TimeZoneProviderEvent event = timeZoneProviderEvent(timeZone);
+ TimeZoneProviderEvent event = timeZoneProviderEvent(timeZone,
+ ARBITRARY_TIME_ZONE_PROVIDER_STATUS);
assertWithMessage("Time zone %s should be supported", timeZone)
.that(mPreProcessor.preProcess(event)).isEqualTo(event);
}
@@ -53,11 +63,9 @@
@Test
public void eventWithNonExistingZones_areMappedToUncertainEvent() {
- List<String> nonExistingTimeZones = Arrays.asList(
- "SystemV/HST10", "Atlantic/Atlantis", "EUROPE/LONDON", "Etc/GMT-5:30");
-
- for (String timeZone : nonExistingTimeZones) {
- TimeZoneProviderEvent event = timeZoneProviderEvent(timeZone);
+ for (String timeZone : mNonExistingTimeZones) {
+ TimeZoneProviderEvent event = timeZoneProviderEvent(timeZone,
+ ARBITRARY_TIME_ZONE_PROVIDER_STATUS);
TimeZoneProviderStatus expectedProviderStatus =
new TimeZoneProviderStatus.Builder(event.getTimeZoneProviderStatus())
@@ -73,14 +81,31 @@
}
}
- private static TimeZoneProviderEvent timeZoneProviderEvent(String... timeZoneIds) {
- TimeZoneProviderStatus providerStatus = new TimeZoneProviderStatus.Builder()
- .setLocationDetectionDependencyStatus(DEPENDENCY_STATUS_OK)
- .setConnectivityDependencyStatus(DEPENDENCY_STATUS_OK)
- .setTimeZoneResolutionOperationStatus(OPERATION_STATUS_OK)
- .build();
+ @Test
+ public void eventWithNullProviderStatus_areMappedToUncertainEvent() {
+ for (String timeZone : mNonExistingTimeZones) {
+ TimeZoneProviderEvent eventWithNullStatus = timeZoneProviderEvent(timeZone,
+ /* providerStatus= */ null);
+
+ TimeZoneProviderStatus expectedProviderStatus =
+ new TimeZoneProviderStatus.Builder()
+ .setTimeZoneResolutionOperationStatus(OPERATION_STATUS_FAILED)
+ .build();
+
+ TimeZoneProviderEvent expectedResultEvent =
+ TimeZoneProviderEvent.createUncertainEvent(
+ eventWithNullStatus.getCreationElapsedMillis(),
+ expectedProviderStatus);
+ assertWithMessage(timeZone + " with null time zone provider status")
+ .that(mPreProcessor.preProcess(eventWithNullStatus))
+ .isEqualTo(expectedResultEvent);
+ }
+ }
+
+ private static TimeZoneProviderEvent timeZoneProviderEvent(String timeZoneId,
+ TimeZoneProviderStatus providerStatus) {
TimeZoneProviderSuggestion suggestion = new TimeZoneProviderSuggestion.Builder()
- .setTimeZoneIds(Arrays.asList(timeZoneIds))
+ .setTimeZoneIds(Arrays.asList(timeZoneId))
.setElapsedRealtimeMillis(ARBITRARY_TIME_MILLIS)
.build();
return TimeZoneProviderEvent.createSuggestionEvent(