Loading core/java/android/app/time/TimeZoneCapabilities.java +11 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,17 @@ public final class TimeZoneCapabilities implements Parcelable { mUserHandle = Objects.requireNonNull(userHandle); mUserHandle = Objects.requireNonNull(userHandle); } } public Builder(@NonNull TimeZoneCapabilities capabilitiesToCopy) { Objects.requireNonNull(capabilitiesToCopy); mUserHandle = capabilitiesToCopy.mUserHandle; mConfigureAutoDetectionEnabledCapability = capabilitiesToCopy.mConfigureAutoDetectionEnabledCapability; mConfigureGeoDetectionEnabledCapability = capabilitiesToCopy.mConfigureGeoDetectionEnabledCapability; mSuggestManualTimeZoneCapability = capabilitiesToCopy.mSuggestManualTimeZoneCapability; } /** Sets the state for the automatic time zone detection enabled config. */ /** Sets the state for the automatic time zone detection enabled config. */ public Builder setConfigureAutoDetectionEnabledCapability(@CapabilityState int value) { public Builder setConfigureAutoDetectionEnabledCapability(@CapabilityState int value) { this.mConfigureAutoDetectionEnabledCapability = value; this.mConfigureAutoDetectionEnabledCapability = value; Loading core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java +58 −0 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.app.time.Capabilities.CAPABILITY_NOT_ALLOWED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull; Loading Loading @@ -157,4 +159,60 @@ public class TimeZoneCapabilitiesTest { assertNull(capabilities.tryApplyConfigChanges(oldConfiguration, configChange)); assertNull(capabilities.tryApplyConfigChanges(oldConfiguration, configChange)); } } @Test public void copyBuilder_copiesAllFields() { TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_POSSESSED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_POSSESSED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setSuggestManualTimeZoneCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_POSSESSED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } } } } Loading
core/java/android/app/time/TimeZoneCapabilities.java +11 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,17 @@ public final class TimeZoneCapabilities implements Parcelable { mUserHandle = Objects.requireNonNull(userHandle); mUserHandle = Objects.requireNonNull(userHandle); } } public Builder(@NonNull TimeZoneCapabilities capabilitiesToCopy) { Objects.requireNonNull(capabilitiesToCopy); mUserHandle = capabilitiesToCopy.mUserHandle; mConfigureAutoDetectionEnabledCapability = capabilitiesToCopy.mConfigureAutoDetectionEnabledCapability; mConfigureGeoDetectionEnabledCapability = capabilitiesToCopy.mConfigureGeoDetectionEnabledCapability; mSuggestManualTimeZoneCapability = capabilitiesToCopy.mSuggestManualTimeZoneCapability; } /** Sets the state for the automatic time zone detection enabled config. */ /** Sets the state for the automatic time zone detection enabled config. */ public Builder setConfigureAutoDetectionEnabledCapability(@CapabilityState int value) { public Builder setConfigureAutoDetectionEnabledCapability(@CapabilityState int value) { this.mConfigureAutoDetectionEnabledCapability = value; this.mConfigureAutoDetectionEnabledCapability = value; Loading
core/tests/coretests/src/android/app/time/TimeZoneCapabilitiesTest.java +58 −0 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.app.time.Capabilities.CAPABILITY_NOT_ALLOWED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; import static android.app.time.Capabilities.CAPABILITY_POSSESSED; import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; import static android.app.timezonedetector.ParcelableTestSupport.assertRoundTripParcelable; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull; Loading Loading @@ -157,4 +159,60 @@ public class TimeZoneCapabilitiesTest { assertNull(capabilities.tryApplyConfigChanges(oldConfiguration, configChange)); assertNull(capabilities.tryApplyConfigChanges(oldConfiguration, configChange)); } } @Test public void copyBuilder_copiesAllFields() { TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_POSSESSED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_POSSESSED) .setSuggestManualTimeZoneCapability(CAPABILITY_NOT_ALLOWED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } { TimeZoneCapabilities updatedCapabilities = new TimeZoneCapabilities.Builder(capabilities) .setSuggestManualTimeZoneCapability(CAPABILITY_POSSESSED) .build(); TimeZoneCapabilities expectedCapabilities = new TimeZoneCapabilities.Builder(TEST_USER_HANDLE) .setConfigureAutoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setConfigureGeoDetectionEnabledCapability(CAPABILITY_NOT_ALLOWED) .setSuggestManualTimeZoneCapability(CAPABILITY_POSSESSED) .build(); assertThat(updatedCapabilities).isEqualTo(expectedCapabilities); } } } }