Commit Graph

56 Commits

Author SHA1 Message Date
Neil Fuller
d0e076192e Update the timestamp used for time zone filtering
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
2019-02-27 15:02:03 +00:00
Neil Fuller
17f04b66b2 Track move of timezone classes to libcore.timezone
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)
2018-11-22 10:05:12 +00:00
Victor Chang
fe627a5901 Remove the feature flag and dead code for the old time zone picker
This commit backports commit 6be6c58206
to aosp/master.

Bug: 72376227
Test: build only
Merged-In: I332077a67cc9f9c83b298e25feea71463e1ee98b
Change-Id: I332077a67cc9f9c83b298e25feea71463e1ee98b
(cherry picked from commit 6be6c58206)
2018-11-13 07:49:32 +00:00
Neil Fuller
09dcb87982 Merge "Use ICU APIs not impl types"
am: 811d817368

Change-Id: I38d6806255619fec3de23945a184455072f34ec0
2018-10-02 06:16:23 -07:00
Neil Fuller
11be3acfe0 Use ICU APIs not impl types
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
2018-10-02 10:15:36 +01:00
Fan Zhang
de117046ad DO NOT MERGE Import clean up.
Reordered all imports according to Android codestyle.

Test: rebuild
Change-Id: I750f01f70f2114d51838bf652833aebdc4065c98
2018-09-04 13:54:46 -07:00
Aurimas Liutikas
03fcde338b Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
(cherry picked from commit b1af85d155)
2018-08-28 16:35:52 -07:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
Victor Chang
93b5d0d3f0 Merge "Remove dead code in time zone picker" into pi-dev 2018-03-30 18:35:52 +00:00
Fan Zhang
65983f71d5 Update TimezoneInfoPrefController to register in xml
Test: robotest
Bug: 77216595
Change-Id: I0fde4f8058a8be156dddb620a756254cd85f6a9f
2018-03-29 14:38:44 -07:00
Victor Chang
4da3a7b5a8 Remove dead code in time zone picker
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
2018-03-29 19:01:26 +01:00
Victor Chang
77f97af8eb Fix incorrect GMT offset in display
- 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
2018-03-28 19:52:05 +01:00
Victor Chang
65f09f3091 Add a header view to show the country in RegionZonePicker
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
2018-03-28 15:40:33 +01:00
Victor Chang
201c629fcc Fix crash in time zone picker due to race condition on view updates
- 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
2018-03-27 09:31:54 +00:00
Neil Fuller
cbaa984cde Merge "Show time zone used in or after 2018 only" into pi-dev 2018-03-23 17:18:36 +00:00
Victor Chang
490e46e01b Show time zone used in or after 2018 only
- 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
2018-03-23 08:23:51 +00:00
Victor Chang
f11976d817 Merge "Align the search view with the setting items" into pi-dev 2018-03-12 22:58:53 +00:00
Victor Chang
9cc92cd90e Align the search view with the setting items
- Remove the margin and paddings in the search view

Bug: 73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: I67fb420cf77fc427a550449a053f80dcf66d16ff
2018-03-12 19:40:31 +00:00
Victor Chang
371404c404 Merge changes from topic "picker-analytics" into pi-dev
* changes:
  Fix UX problems in time zone pickers
  Add tron metric logging
2018-03-10 12:24:38 +00:00
Victor Chang
ca529d9e89 Fix UX problems in time zone pickers
- 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
2018-03-09 19:48:14 +00:00
Victor Chang
ab775e1b0f Add tron metric logging
- one tracking id for every picker type

Bug: 73952488
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.datetime.timezone
Change-Id: Ia487f1657d6ed1f0fb40b61f39f4a47c38bd6179
2018-03-09 19:48:05 +00:00
Victor Chang
d251a10cd6 Show time zone standard name in FixedOffsetPreferenceController
- 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
2018-03-08 15:13:15 +00:00
Victor Chang
3c5aeac39f Merge "Enable new time zone picker" into pi-dev 2018-03-07 17:09:59 +00:00
Victor Chang
7cf7fe4f9e Enable new time zone picker
- 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)
2018-03-07 13:37:00 +00:00
Victor Chang
d5adf42c5e New time zone picker page
- 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)
2018-03-07 11:52:25 +00:00
Victor Chang
2b6876ccab Time zone, Region, UTC picker
- 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)
2018-03-06 11:13:59 +00:00
Victor Chang
229a6a2bc4 Merge "Time Zone data loader" 2018-03-03 15:39:51 +00:00
Victor Chang
6c33caad4b Time Zone data loader
- 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
2018-03-02 19:24:48 +00:00
Victor Chang
bbafc05707 Add OWNERS file in timezone package
Bug: 62255208
Test: Treehugger
Change-Id: I1245007563fb619a3d563e6dcd155544f6baaeef
2018-03-02 15:16:16 +00:00
Victor Chang
e226c9a8bf Use 24-hour settings for time formatting
Test: m RunSettingsRoboTests
Bug: 72311296
Change-Id: I7c1458dbc2e4e15765f703c35a0113341b912a2b
2018-02-09 18:35:14 +00:00
Leif Hendrik Wilden
28dee1f086 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: I70a6e76cc8440547746ecc008c32bd06a7de8161
2018-01-24 12:30:39 -08:00
TreeHugger Robot
e3f187a4a9 Merge "Revert "Migrate to use instrumentation classes from settingslib."" 2018-01-23 01:58:18 +00:00
Leif Wilden
cab0ee611d Revert "Migrate to use instrumentation classes from settingslib."
This reverts commit 1546cca529.

Reason for revert: Broke fingerprint setup flow. b/72267201

Change-Id: I8321265ae64732c526325882ddea51080decddf5
2018-01-22 20:57:36 +00:00
Joachim Sauer
02945bd6e4 Fix crash in new time zone picker.
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
2018-01-22 19:28:36 +00:00
Leif Hendrik Wilden
1546cca529 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: Ie5515bb0fe3e621fc7723a9b04ba23e4bfa9c401
2018-01-18 11:13:24 -08:00
Joachim Sauer
0cdbe1897c New manual time zone picker.
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
2018-01-11 18:03:16 +00:00
Joachim Sauer
0bed37a086 Data loading component for new time zone picker.
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
2018-01-11 12:18:54 +00:00
yuemingw
7b1da61346 Block settings when DISALLOW_CONFIG_DATE_TIME.
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
2017-11-22 19:53:18 +00:00
Doris Ling
4a01283309 Remove the feature flag for using new title.
- remove all code that check for the feature flag, and use the new logic
by default.

Change-Id: I7fbe60da84c1c0f35e7241402a71d2bc4cd300e6
Fixes: 64564191
Test: make RunSettingsRoboTests
2017-11-13 17:58:13 -08:00
tiansiming
2ed7c17d41 Merge "Modify Comparator in ZonePicker" am: 3c03207f9f am: cd2e1c1535
am: 78d7e2a096

Change-Id: I9dff60079bf81e6c4c70200e8869fc77321f6b0c
2017-11-13 20:26:41 +00:00
tiansiming
78d7e2a096 Merge "Modify Comparator in ZonePicker" am: 3c03207f9f
am: cd2e1c1535

Change-Id: I97ec8751980a29d953f1a49b36cc78b66461e3e7
2017-11-13 19:52:12 +00:00
tiansiming
3b8c4cd52e Modify Comparator in ZonePicker
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>
2017-11-10 23:12:38 +00:00
TreeHugger Robot
2bb74379e5 Merge "Update preference screen title." 2017-10-25 20:30:31 +00:00
Doris Ling
03a3b518de Update preference screen title.
- 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
2017-10-25 11:02:07 -07:00
Tony Mantler
d9af0b839d Move SimStatus and ImeiInfo Pref Controllers to SettingsLib
Bug: 67410808
Test: RunSettingsRoboTests
Change-Id: Ib55d2365814b5882f7fcae6bb7f1b62cc3d6ad4e
2017-10-23 15:42:43 -07:00
Christopher Tate
020ff8a390 Use correct flags on ACTION_TIME_CHANGED broadcast
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
2017-10-17 14:49:15 -07:00
Joachim Sauer
95beae0089 Implement auto 12/24h setting toggle.
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
2017-08-10 13:32:17 +01:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
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
2017-05-12 11:10:46 -07:00
Fan Zhang
1447da277b Fix layout for time zone picker
Change-Id: I2f1dedac7d747901978ef5d4a1a58bae2fa02921
Fix: 35856915
Test: make RunSettingsRoboTests
2017-03-08 16:28:02 -08:00