Update the timestamp used for time zone filtering and improve the
comment explaining what it is for.
Bug: 124756276
Test: build only
Change-Id: I2e53b1f3bd36602f8d08967e1335066d93ae05ea
Some time zone related libcore classes are moving from
libcore.util to libcore.timezone.
Bug: 119026403
Test: build only
Merged-In: I920411dfa7e000a0da9678826a035e0461211619
Change-Id: I920411dfa7e000a0da9678826a035e0461211619
(cherry picked from commit 1e1961a5b3)
It's possible to use BasicTimeZone in place of OlsonTimeZone.
Although neither are currently public SDK APIs the BasicTimeZone
is preferable.
Bug: 113148576
Test: build
Change-Id: I745b17feee678ecd053fadc6c447107fa80918e8
The codes are unused due to the UX changes in b/73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Bug: 72376227
Change-Id: I9562e97fe13a3c00f8c142f30af7ca350af10757
- android.icu.impl.TimeZoneAdapter doesn't fully implement
java.util.TimeZone, e.g. does not override getOffset(long date).
TimeZoneAdapter isn't a public API in ICU/Android. It shouldn't be
used in the first place
Bug: 77223510
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: Ic0d7794326948796dcc5cc0b268ef634a74803c4
Extra fixes in this CL
- Minor string update in time zone picker.
Use date_time_search_region string in search bar,
and date_time_set_timezone_title string for lower case "zone".
- Fixed b/76893139. Remove the unnecessary top padding in RecyclerView.
Create a new layout file time_zone_items_list.xml without the padding.
- Add missing return statement when region ISO code
is invalid in RegionZonePicker#getAllTimeZoneInfos
Bug: 76209571
Bug: 76893139
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Test: Verified that the strings are updated in the UI
Change-Id: I1fb3e2abf80da3cb53cfbc3363bbe46e40a6ac22
- Can't reproduce the race condition with manual test, probably the view
updates are fast enough that only monkey test can reproduce the issue.
- Reproduced a similar stacktrace and IndexOutOfBoundsException with
Robolectric test by assuming that the race condition happens after
text filtering and view updates. Try to fix the bug with this assumption
- The fix is to bind the data (data position in adapter) with ViewHolder.
Bug: 75322108
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: Ie5d932bce30590b8067e042c3380911c9608872f
- Year 2018 is picked as the new time zone data
for picker is introduced in 2018. I can be adjusted
in the future to show more merged time zones.
- Add test to ensure each region has at least
one time zone.
- Fix a issue not using a singleton of TimeZoneData
in commit 6c33caad4b
Bug: 72142943
Test: atest SettingsUnitTests:TimeZoneDataTest
Change-Id: I5eba7fbd59a2d3fd2e8062c9615946dc4bbb6314
- Remove the margin and paddings in the search view
Bug: 73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: I67fb420cf77fc427a550449a053f80dcf66d16ff
- Remove emoji region flag in the region picker.
It's more consistent with locale picker which shows no flag in region
picker
- Remove redundant information in the summary field
e.g. same GMT offset in primary and secondary field in fixed offset
picker
- Better mode switching flow. Switch region/fixed offset mode
only when the user confirms their selection in the picker.
Bug: 73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: Id5da8a2516acd10c9a3d71181e94bc617d797d20
- one tracking id for every picker type
Bug: 73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: Ia487f1657d6ed1f0fb40b61f39f4a47c38bd6179
- Among all fixed offset time zone, only Etc/UTC has a time zone
standard name. The name should be shown in both picker and preference's
secondary text (summary).
Bug: 74338688
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: I10c140f6054ab9acf6e0fb44528adef8b28fa23c
- Change the UI test due to UI changes
Bug: 73952488
Test: m RunSettingsRoboTest
Test: atest SettingsUITests:ZonePickerSettingsTest
Change-Id: I6d5716347e9debf429b757f1edd4118e86b70fab
(cherry picked from commit 335c0621d2)
- Show current selected region and time zone in a 2 rows.
Defailed info of current selected time zone in footer
- Show option menu to switch to select UTC offset
- This picker will be changed to the default picker in a later CL
Bug: 73952488
Test: m RunSettingsRoboTests
Change-Id: Ia81bb022e1021369612f5bd60c2c1f4d08db2af8
(cherry picked from commit b7d588f341)
- Extract most common view related codes into BaseTimeZoneAdapter
and BaseTimeZonePicker. Subclass handles the text formatting and
order.
- Search view is added compared to previous version of time
zone picker
- SpannableUtil is added to preserve spannable when formatting
String resource.
- Fix the bug using GMT+<arabic> as time zone id. b/73132985
- Fix Talkback treating flags on screens as a separate element
Bug: 72146259
Bug: 73132985
Bug: 73952488
Test: mm RunSettingsRoboTests
Change-Id: I42c6ac369199c09d11e7f5cc4707358fa4780fed
(cherry picked from commit fbd30acef0)
- Use CountryZonesFinder to provide time zone id and region-to-timezone
mapping, where the underlying data is updatable through an unbundled time zone
data app in some devices.
Bug: 73952488
Bug: 72144448
Test: m RunSettingsRoboTests
Change-Id: I2e01e167c48987ebb98d4881a1a528d16dd82944
When entering the new time zone picker with a fixed offset time zone
(such as UTC) selected, it would crash with a NullPointerException.
This fixes the crash.
Bug: 72143165
Bug: 62255208
Test: manual
Change-Id: I1f54d3276edb98ab7bd6a092be4497386a69d6be
This implements a new manual time zone picker that allows selection of a
time zone for a selected country. It also allows selecting a fixed
offset time zone (most importantly Etc/UTC, which is a frequently
requested feature).
The new time zone picker is currently behind a feature flag
(settings_zone_picker_v2), which is disabled by default.
Test: manual
Test: SettingsFunctionalTests
Test: SettingsRobotTests
Bug: 62255208
Change-Id: I89c5a04bcb562b6facf5f31a8aa4ad1cdd51ab10
Add new data loading classes for improved manual time zone picker.
These classes use existing sources mostly from ICU4J to construct the
list of regions and timezones to present to the user.
Test: SettingsRoboTests
Bug: 62255208
Change-Id: I244c391a41b0b53cd3f7857f9c0d1ef766a39b17
Test: m -j RunSettingsRoboTests
runtest -x packages/apps/Settings/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
Fix: 67497909
After turn on the user restriction in TestDPC:
https://hsv.googleplex.com/5414119658225664
The date time settings page become:
https://hsv.googleplex.com/5199302573948928
Change-Id: I42590c4a505ec1b6ffa86eb460b90fa6ec8ba783
- remove all code that check for the feature flag, and use the new logic
by default.
Change-Id: I7fbe60da84c1c0f35e7241402a71d2bc4cd300e6
Fixes: 64564191
Test: make RunSettingsRoboTests
The previous method "compareTo" isn't locale-sensitive, it cannot
sort the String in some other languages. So Collator is recommended
to be applyed here.
Bug: Sort doesn't work in some languages.
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=ZonePickerComparatorTest
Change-Id: Id107ab938cceefc77f9fb6918a0445fc92a0fcb7
Signed-off-by: tiansiming <tiansiming@xiaomi.com>
- Add missing title to preference screen xml so that they will be used to
set the activity title when the fragment is launched.
- Also updated some incorrect preference screen titles.
- Overrides getTitle() in preference fragments that do not use the
preference screen xml.
Bug: 64564191
Test: blaze-bin/screenshots/android/i18nscreenshots/i18nscreenshots
Change-Id: Id72d5ddf18f0962bc484de8bbd847a2e55d6371e
When Settings changes the display format for 12/24 hour time, it fakes
an ACTION_TIME_CHANGED broadcast to provoke apps to update their display.
It needs to use the right flags on that broadcast to match the way the
OS sends it when the time actually changes.
Bug: 67881917
Test: calendar widget, Deskclock, QCT timeservice
Change-Id: I46ce261c36d9c7180f6b8eae806ef9fbf271fa53
This implements an explicit toggle to enable/disable automatic 12h/24h
time formatting detection based on the current locale.
Previously automatic detection was the norm on a freshly wiped device,
but could never be re-enabled once either 12h or 24h format was
configured.
Bug: 32761619
Test: m RunSettingsRoboTests
Change-Id: Idbbb8f79fccec95e33bf2f12767d5736e1118fa7
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.
Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
&& make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067