From 161e9f1bb7098674270b89a73c7498b84ffbfa72 Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Mon, 14 Nov 2022 15:51:50 +0000 Subject: Tidy up changes Extracted improvements from a later commit which are orthogonal to the purpose of that change. Bug: 236624675 Test: build / treehugger only Change-Id: I10d9a227cdde0f87e091cab23a67d7e49ebc7d15 --- .../android/app/time/ParcelableTestSupport.java | 60 ++++++++++++++++++++++ .../src/android/app/time/TimeCapabilitiesTest.java | 9 ++-- .../src/android/app/time/TimeStateTest.java | 8 +-- .../android/app/time/TimeZoneCapabilitiesTest.java | 2 +- .../src/android/app/time/TimeZoneStateTest.java | 8 +-- .../app/timedetector/ManualTimeSuggestionTest.java | 4 +- .../timedetector/TelephonyTimeSuggestionTest.java | 4 +- .../ManualTimeZoneSuggestionTest.java | 4 +- .../timezonedetector/ParcelableTestSupport.java | 53 ------------------- .../TelephonyTimeZoneSuggestionTest.java | 4 +- .../timezone/TimeZoneProviderEventTest.java | 2 +- .../timezone/TimeZoneProviderStatusTest.java | 2 +- .../server/timedetector/EnvironmentImpl.java | 3 +- 13 files changed, 82 insertions(+), 81 deletions(-) create mode 100644 core/tests/coretests/src/android/app/time/ParcelableTestSupport.java delete mode 100644 core/tests/coretests/src/android/app/timezonedetector/ParcelableTestSupport.java diff --git a/core/tests/coretests/src/android/app/time/ParcelableTestSupport.java b/core/tests/coretests/src/android/app/time/ParcelableTestSupport.java new file mode 100644 index 000000000000..13e5e14ce01c --- /dev/null +++ b/core/tests/coretests/src/android/app/time/ParcelableTestSupport.java @@ -0,0 +1,60 @@ +/* + * Copyright 2019 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 android.app.time; + +import static org.junit.Assert.assertEquals; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.lang.reflect.Field; + +/** Utility methods related to {@link Parcelable} objects used in several tests. */ +public final class ParcelableTestSupport { + + private ParcelableTestSupport() {} + + /** Returns the result of parceling and unparceling the argument. */ + @SuppressWarnings("unchecked") + public static T roundTripParcelable(T parcelable) { + Parcel parcel = Parcel.obtain(); + parcel.writeTypedObject(parcelable, 0); + parcel.setDataPosition(0); + + Parcelable.Creator creator; + try { + Field creatorField = parcelable.getClass().getField("CREATOR"); + creator = (Parcelable.Creator) creatorField.get(null); + } catch (NoSuchFieldException | IllegalAccessException e) { + throw new AssertionError(e); + } + T toReturn = parcel.readTypedObject(creator); + parcel.recycle(); + return toReturn; + } + + public static void assertRoundTripParcelable(T instance) { + assertEqualsAndHashCode(instance, roundTripParcelable(instance)); + } + + /** Asserts that the objects are equal and return identical hash codes. */ + public static void assertEqualsAndHashCode(Object one, Object two) { + assertEquals(one, two); + assertEquals(two, one); + assertEquals(one.hashCode(), two.hashCode()); + } +} diff --git a/core/tests/coretests/src/android/app/time/TimeCapabilitiesTest.java b/core/tests/coretests/src/android/app/time/TimeCapabilitiesTest.java index c9b96c6071ee..1a276ad0b3c3 100644 --- a/core/tests/coretests/src/android/app/time/TimeCapabilitiesTest.java +++ b/core/tests/coretests/src/android/app/time/TimeCapabilitiesTest.java @@ -21,7 +21,8 @@ import static android.app.time.Capabilities.CAPABILITY_NOT_ALLOWED; import static android.app.time.Capabilities.CAPABILITY_NOT_APPLICABLE; import static android.app.time.Capabilities.CAPABILITY_NOT_SUPPORTED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertEqualsAndHashCode; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static com.google.common.truth.Truth.assertThat; @@ -55,7 +56,7 @@ public class TimeCapabilitiesTest { { TimeCapabilities one = builder1.build(); TimeCapabilities two = builder2.build(); - assertEquals(one, two); + assertEqualsAndHashCode(one, two); } builder2.setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED); @@ -69,7 +70,7 @@ public class TimeCapabilitiesTest { { TimeCapabilities one = builder1.build(); TimeCapabilities two = builder2.build(); - assertEquals(one, two); + assertEqualsAndHashCode(one, two); } builder2.setSetManualTimeCapability(CAPABILITY_NOT_ALLOWED); @@ -83,7 +84,7 @@ public class TimeCapabilitiesTest { { TimeCapabilities one = builder1.build(); TimeCapabilities two = builder2.build(); - assertEquals(one, two); + assertEqualsAndHashCode(one, two); } } diff --git a/core/tests/coretests/src/android/app/time/TimeStateTest.java b/core/tests/coretests/src/android/app/time/TimeStateTest.java index bce09099e4d3..25e6e2b66219 100644 --- a/core/tests/coretests/src/android/app/time/TimeStateTest.java +++ b/core/tests/coretests/src/android/app/time/TimeStateTest.java @@ -16,7 +16,8 @@ package android.app.time; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertEqualsAndHashCode; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; @@ -52,11 +53,6 @@ public class TimeStateTest { assertNotEquals(time1False_1, time2False); } - private static void assertEqualsAndHashCode(Object one, Object two) { - assertEquals(one, two); - assertEquals(one.hashCode(), two.hashCode()); - } - @Test public void testParceling() { UnixEpochTime time = new UnixEpochTime(1, 2); diff --git a/core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java b/core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java index 3f7da8a6fbd0..8bed31f4821a 100644 --- a/core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java +++ b/core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java @@ -18,7 +18,7 @@ package android.app.time; import static android.app.time.Capabilities.CAPABILITY_NOT_ALLOWED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static com.google.common.truth.Truth.assertThat; diff --git a/core/tests/coretests/src/android/app/time/TimeZoneStateTest.java b/core/tests/coretests/src/android/app/time/TimeZoneStateTest.java index 35a9dbc200e4..595b7006c0e5 100644 --- a/core/tests/coretests/src/android/app/time/TimeZoneStateTest.java +++ b/core/tests/coretests/src/android/app/time/TimeZoneStateTest.java @@ -16,7 +16,8 @@ package android.app.time; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertEqualsAndHashCode; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; @@ -52,11 +53,6 @@ public class TimeZoneStateTest { assertNotEquals(zone1False_1, zone2False); } - private static void assertEqualsAndHashCode(Object one, Object two) { - assertEquals(one, two); - assertEquals(one.hashCode(), two.hashCode()); - } - @Test public void testParceling() { assertRoundTripParcelable(new TimeZoneState("Europe/London", true)); diff --git a/core/tests/coretests/src/android/app/timedetector/ManualTimeSuggestionTest.java b/core/tests/coretests/src/android/app/timedetector/ManualTimeSuggestionTest.java index 0c7c8c1803eb..28da164952ec 100644 --- a/core/tests/coretests/src/android/app/timedetector/ManualTimeSuggestionTest.java +++ b/core/tests/coretests/src/android/app/timedetector/ManualTimeSuggestionTest.java @@ -16,8 +16,8 @@ package android.app.timedetector; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; -import static android.app.timezonedetector.ParcelableTestSupport.roundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.roundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; diff --git a/core/tests/coretests/src/android/app/timedetector/TelephonyTimeSuggestionTest.java b/core/tests/coretests/src/android/app/timedetector/TelephonyTimeSuggestionTest.java index 26cb90231931..e9ca069d372d 100644 --- a/core/tests/coretests/src/android/app/timedetector/TelephonyTimeSuggestionTest.java +++ b/core/tests/coretests/src/android/app/timedetector/TelephonyTimeSuggestionTest.java @@ -16,8 +16,8 @@ package android.app.timedetector; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; -import static android.app.timezonedetector.ParcelableTestSupport.roundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.roundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; diff --git a/core/tests/coretests/src/android/app/timezonedetector/ManualTimeZoneSuggestionTest.java b/core/tests/coretests/src/android/app/timezonedetector/ManualTimeZoneSuggestionTest.java index 17838bb19a8f..b5bdea71c3b6 100644 --- a/core/tests/coretests/src/android/app/timezonedetector/ManualTimeZoneSuggestionTest.java +++ b/core/tests/coretests/src/android/app/timezonedetector/ManualTimeZoneSuggestionTest.java @@ -16,8 +16,8 @@ package android.app.timezonedetector; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; -import static android.app.timezonedetector.ParcelableTestSupport.roundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.roundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; diff --git a/core/tests/coretests/src/android/app/timezonedetector/ParcelableTestSupport.java b/core/tests/coretests/src/android/app/timezonedetector/ParcelableTestSupport.java deleted file mode 100644 index 0073d86873da..000000000000 --- a/core/tests/coretests/src/android/app/timezonedetector/ParcelableTestSupport.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2019 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 android.app.timezonedetector; - -import static org.junit.Assert.assertEquals; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.lang.reflect.Field; - -/** Utility methods related to {@link Parcelable} objects used in several tests. */ -public final class ParcelableTestSupport { - - private ParcelableTestSupport() {} - - /** Returns the result of parceling and unparceling the argument. */ - @SuppressWarnings("unchecked") - public static T roundTripParcelable(T parcelable) { - Parcel parcel = Parcel.obtain(); - parcel.writeTypedObject(parcelable, 0); - parcel.setDataPosition(0); - - Parcelable.Creator creator; - try { - Field creatorField = parcelable.getClass().getField("CREATOR"); - creator = (Parcelable.Creator) creatorField.get(null); - } catch (NoSuchFieldException | IllegalAccessException e) { - throw new AssertionError(e); - } - T toReturn = parcel.readTypedObject(creator); - parcel.recycle(); - return toReturn; - } - - public static void assertRoundTripParcelable(T instance) { - assertEquals(instance, roundTripParcelable(instance)); - } -} diff --git a/core/tests/coretests/src/android/app/timezonedetector/TelephonyTimeZoneSuggestionTest.java b/core/tests/coretests/src/android/app/timezonedetector/TelephonyTimeZoneSuggestionTest.java index 28009d4168ad..d5dcac2b2aee 100644 --- a/core/tests/coretests/src/android/app/timezonedetector/TelephonyTimeZoneSuggestionTest.java +++ b/core/tests/coretests/src/android/app/timezonedetector/TelephonyTimeZoneSuggestionTest.java @@ -16,8 +16,8 @@ package android.app.timezonedetector; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; -import static android.app.timezonedetector.ParcelableTestSupport.roundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.roundTripParcelable; import static android.app.timezonedetector.ShellCommandTestSupport.createShellCommandWithArgsAndOptions; import static org.junit.Assert.assertEquals; diff --git a/core/tests/coretests/src/android/service/timezone/TimeZoneProviderEventTest.java b/core/tests/coretests/src/android/service/timezone/TimeZoneProviderEventTest.java index 86ebdf3c0759..7f772dd3b12d 100644 --- a/core/tests/coretests/src/android/service/timezone/TimeZoneProviderEventTest.java +++ b/core/tests/coretests/src/android/service/timezone/TimeZoneProviderEventTest.java @@ -16,7 +16,7 @@ package android.service.timezone; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static android.service.timezone.TimeZoneProviderEvent.EVENT_TYPE_PERMANENT_FAILURE; import static android.service.timezone.TimeZoneProviderEvent.EVENT_TYPE_SUGGESTION; import static android.service.timezone.TimeZoneProviderEvent.EVENT_TYPE_UNCERTAIN; diff --git a/core/tests/coretests/src/android/service/timezone/TimeZoneProviderStatusTest.java b/core/tests/coretests/src/android/service/timezone/TimeZoneProviderStatusTest.java index b7a595c8c748..03e378fa9d33 100644 --- a/core/tests/coretests/src/android/service/timezone/TimeZoneProviderStatusTest.java +++ b/core/tests/coretests/src/android/service/timezone/TimeZoneProviderStatusTest.java @@ -16,7 +16,7 @@ package android.service.timezone; -import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; +import static android.app.time.ParcelableTestSupport.assertRoundTripParcelable; import static android.service.timezone.TimeZoneProviderStatus.DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT; import static android.service.timezone.TimeZoneProviderStatus.DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS; import static android.service.timezone.TimeZoneProviderStatus.DEPENDENCY_STATUS_OK; diff --git a/services/core/java/com/android/server/timedetector/EnvironmentImpl.java b/services/core/java/com/android/server/timedetector/EnvironmentImpl.java index 8d106f7d7fa4..5801920864b4 100644 --- a/services/core/java/com/android/server/timedetector/EnvironmentImpl.java +++ b/services/core/java/com/android/server/timedetector/EnvironmentImpl.java @@ -128,4 +128,5 @@ final class EnvironmentImpl implements TimeDetectorStrategyImpl.Environment { @Override public void dumpDebugLog(@NonNull PrintWriter printWriter) { SystemClockTime.dump(printWriter); - }} + } +} -- cgit v1.2.3-59-g8ed1b