Commit Graph

114 Commits

Author SHA1 Message Date
Jason Chiu
56dde819dc Merge "Define a constant Sliceable#NO_RES for no resource cases" into sc-v2-dev am: 1565bba600
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16177442

Change-Id: I6a3448e6e54666b45f6f67288593034a03d50d64
2021-11-03 06:54:55 +00:00
Jason Chiu
9fc0f18181 Define a constant Sliceable#NO_RES for no resource cases
Fix: 204733076
Test: build
Change-Id: Ifa3b9db0e915a3ec056ad68a9a1862811594d423
2021-11-03 12:23:49 +08:00
Jason Chiu
026b1b5df6 Merge changes from topic "slice-highlight" into sc-v2-dev am: 6821b6be32
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16151654

Change-Id: Ib03d41631d8bf961fa3ff3957eb5452411da7792
2021-11-02 02:28:16 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
vichang
e6bf1a83d8 Merge "Replace @CorePlatformApi APIs usages in TimeZoneInfoPreferenceControllerTest" am: 3166166bdd
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1831314

Change-Id: I458bf767bbea8b5921f00afae884d309d270f7b0
2021-09-21 10:52:53 +00:00
vichang
3166166bdd Merge "Replace @CorePlatformApi APIs usages in TimeZoneInfoPreferenceControllerTest" 2021-09-21 10:42:27 +00:00
Victor Chang
fc4589448b Replace @CorePlatformApi APIs usages in TimeZoneInfoPreferenceControllerTest
The time zone transitions can be obtained via the public API
ZoneId.getRules() instead.

Bug: 119751170
Test: atest SettingsRoboTests
     com.android.settings.datetime.timezone.TimeZoneInfoPreferenceControllerTest passes
Change-Id: I2c7864580b2a36b725ee250253e97f6cc86d72a4
2021-09-20 15:57:42 +01:00
Neil Fuller
d2eca211d4 Merge "Swap ownership to mingaleev@" am: f6fe44dc91
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1824113

Change-Id: I9be5d173953df0a90ee1309feceed35f9240c18c
2021-09-13 11:17:50 +00:00
Neil Fuller
b46adff0f4 Swap ownership to mingaleev@
BUG=189810551

Change-Id: I6304545540947d6695117753309c80b27cf2669a
2021-09-10 12:20:39 +00:00
Tsung-Mao Fang
232b3ac12a Disable the scrollable ability on app bar area
As title, we do not allow user can scroll app bar while
the search menu is expanding.
So, we can ignore all drag events on app bar.

Test: Can not scroll on the app bar area
Fix: 181741353
Change-Id: I20c0b69059cdc4d13a15abd810a725d4591f6396
2021-06-17 19:29:25 +08:00
Tsung-Mao Fang
11c4b2c51e Remove the large space when searching region list
Collapse the tool bar when we're doing search for
a better user experience.
And we don't allow user can expand the tool bar at this moment
since it will see a large space at this moment.

Fix: 181741353
Test: Open the page and don't see a huge space now.
Change-Id: Iec5ebe9b22a2aad15dc8cf90113a64c358ee447e
2021-06-08 11:44:38 +00:00
Almaz Mingaleev
6be940f396 Do not show toggle for location tz detection in search.
It also makes setting in line with "Set time zone
automatically", which is rendered w/o toggle on search page.

Bug: 185906072
Test: manually verified that toggle is not shown
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceControllerTest"
Change-Id: Ie71572c4a9b9bd6adf3660556363331e2943fd5b
2021-04-23 10:29:58 +00:00
Almaz Mingaleev
18c9ff9bd2 Merge "Move MIN_USE_DATE_OF_TIMEZONE to TimeUtils." am: e3d4e39144 am: 90d5572fa5 am: f3a44236e3
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1658001

Change-Id: I3f3ce9f7dc0528e492473dcf1f8344f0518119e1
2021-04-07 19:28:22 +00:00
Almaz Mingaleev
3be24f4ab2 Move MIN_USE_DATE_OF_TIMEZONE to TimeUtils.
That timestamp is used in two places for the same purpose.

Bug: 155738410
Test: presubmit
Change-Id: Ia6836fd34c63aef6e335ef97922d34a60dbf3703
2021-04-06 14:10:05 +01:00
Almaz Mingaleev
dea929aa06 resolve merge conflicts of 7d9233302f to sc-dev
Change-Id: I7f6b7b035cc9c37a168e97ddeac5c8de9d5910de
2021-03-30 11:43:33 +00:00
Almaz Mingaleev
dd2a685756 Allow alternative time zone ID to be set device's zone.
If America/Godthab is set as device time zone, display it as if
America/Nuuk is chosen.
If time zone is known, but is not an alternative and not shown
in time zone picker, region will de derived from user's locale.

Bug: 155738410
Test: atest com.android.settings.datetime.timezone.model
Test: set persist.sys.timezone via adb and checked
Date & Time screen

Change-Id: I168fb4319e144dbe9e2496d06a681d4c09b411c0
2021-03-29 11:18:57 +01:00
Almaz Mingaleev
fcf1fcfe9b Show pop-up banner when Location is off and user tries to enable GeoTZ.
As of now GeoTZ state remains unchanged even if user enables
Location toggle.

Bug: 152746236
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceControllerTest"
Test: checked manually that dialog opens Location settings page
Change-Id: I5fd3288e9d5a7aac3bc82da6944b4ccd6bb9e0f5
2021-03-23 19:43:49 +00:00
Almaz Mingaleev
a29a6ceab4 Fix imports in LocationTimeZoneDetectionPreferenceController.
Capabilities are extracted to separate class to reuse them
in time API.

Bug: 172891783
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceControllerTest"
Change-Id: If7351c4f022c69262ddffd26efacd449dc7238c5
2021-03-11 17:58:26 +00:00
Almaz Mingaleev
ab05918e08 Move GeoTZ toggle to Date&Time settings screen.
Previous sub-menu is deleted.

Toggle is always enabled and shows current configuration
setting. If MLS or auto time zone detection is off,
the toggle has not effect.

Bug: 152746236
Test: toggled and checked dumpsys time_zone_detector
Test: checked summary info on different MLS/set time zone automatically
states combinations
Test: m -j30 RunSettingsRoboTests
ROBOTEST_FILTER="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceControllerTest"

Change-Id: I75ee41cfcaaf34b1b63e18809be4cd614446017d
Merged-In: I75ee41cfcaaf34b1b63e18809be4cd614446017d
2021-03-10 11:07:36 +00:00
Neil Fuller
218404394f Move the Location time zone detection setting
Move the Location time zone detection setting to Date & Time as per
UI review / product request.

This initial commit just moves the existing MVP setting behavior to a
different screen. Still invisible by default.

Enable with:
$ adb shell setprop persist.sys.location_time_zone_detection_feature_enabled 1
.. plus a reboot.

Bug: 152746236
Test: Manual: build / boot / toggle switch in SettingsUI / inspect output of adb shell dumpsys time_zone_detector
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.locationtimezone.TimeZoneDetectionTogglePreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime.locationtimezone.TimeZoneDetectionSettingsTest"
Change-Id: I9ecfa853014a9f92086a9cb2d34e1517474ceb93
2020-11-10 09:23:22 +00:00
Edgar Wang
8829e515ca Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: Ibe64a68d7bddf84780dfac33555c097ff55c97a8
2020-07-30 12:54:27 +08:00
vichang
bc7f639e15 Merge "Move libcore.timezone to the i18n module - Final part" am: 268371c44e am: 7485036f53
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1348663

Change-Id: I8e81b3d707bce016006bf0af1f75785ecd15648e
2020-07-02 10:50:06 +00:00
Victor Chang
b07e53c1c8 Move libcore.timezone to the i18n module - Final part
Bug: 141747409
Test: atest CtsLibcoreTestCases  CtsLibcoreTestCases
Change-Id: I48a1f383403a553639f525ef92996292fab84c5e
2020-06-30 14:35:09 +01:00
Neil Fuller
6bcbd8ed89 Merge "Fix missing zone strings in some cases" am: 738df11447 am: 6a19fdf877
Change-Id: Id54f91141814eb0f1adda28f9ec72b48f434c997
2020-04-29 12:45:01 +00:00
Neil Fuller
eafec7a244 Fix missing zone strings in some cases
ICU's TimeZoneNames requires a "canonical" zone ID, otherwise it will
return no data. Usually the ID being used is the same as the canonical
ID so there's no problem. TZDB version 2020a switched the ID of one of
Greenland's zones from America/Godthab to America/Nuuk, and ICU/CLDR
hold their translation data against America/Godthab in the current
version of ICU on Android.

Bug: 155167041
Test: Manual - viewed settings on a device with the tzdb 2020a update
Change-Id: Ia89c777a832f8b41c8d56d3327a9b7370ba44b52
2020-04-29 10:16:19 +01:00
Tobias Thierer
f5b13fe3b1 Merge "OWNERS: Remove tobiast." am: dffcd7a949 am: 21b01bc4f2
Change-Id: Ie2a65cdd33e7922685153fcb1eb17791fcf562a6
2020-03-27 11:51:34 +00:00
Tobias Thierer
a854ddae3d OWNERS: Remove tobiast.
Test: Manual CL review only.
Bug: 152399425
Change-Id: Ifca2d6e8ecd59a924c6e5d8ca60749be5d5c8728
2020-03-26 12:17:00 +00:00
Automerger Merge Worker
de86f9c950 Merge "Tidy up libcore.timezone APIs" am: 45834d96a8 am: 35ffa52384 am: 798407a441
Change-Id: I486df8f44bcd67baf933853145f7617cf6b0e891
2020-01-31 16:32:04 +00:00
Neil Fuller
7b54a31132 Tidy up libcore.timezone APIs
Tidy up the libcore.timezone APIs to make them as close as possible to
android.timezone. In future, these classes should be repackages to be
the actual android.timezone classes, so the APIs need to be in sync.

Bug: 148086409
Test: treehugger
Change-Id: I8d0521467bb3c3c8741ce98f50cde0ee8c1bec1a
2020-01-28 15:08:31 +00:00
Stanley Wang
f0cd9742b5 The dynamic index implementation for time zone preferences.
Disable the region settings page if auto time zone is enabled.

Fixes: 146849126
Test: manual
Change-Id: Icce1e5aca14539d6c9149e05a3321429bd337f17
2019-12-30 12:46:32 +08:00
Edgar Wang
08f2a58459 Settings search - Navigate user to exact page
- remove duplicate index preference
- default set searchable = false when the preference has fragment
- make some fragments indexable

Bug: 143057584
Test: robotest & manual

Change-Id: I4d64f6106d2f92f0a45e8c7e26388677f593f412
2019-12-24 21:04:11 +08:00
Neil Fuller
dc2058e931 Merge "Switch settings to use TimeDetector" am: 5da6521458 am: 72ed7e8f64
am: 5f1c405f30

Change-Id: Iaf7c3fb33f57ada39a8baef016fbc838f633be14
2019-12-05 09:17:42 -08:00
Alex Johnston
dd5467b13b Merge "Replace setAutoTimeRequired and getAutoTimeRequired with setAutoTime and getAutoTime" 2019-12-04 16:59:19 +00:00
Neil Fuller
df086ecb4f Switch settings to use TimeDetector
Switch settings to use TimeZoneDetector when setting the system time
zone rather than using AlarmManager directly.

Bug: 140712361
Test: treehugger
Test: manual
Test: make -j30 RunSettingsRoboTests
Change-Id: I6042093294ba9690d4355bfe1c47d9f88a2b7ac6
2019-12-04 13:43:58 +00:00
Neil Fuller
3c794261a5 Switch settings to use TimeDetector
Switch settings to use TimeDetector when setting the system clock rather
than using AlarmManager directly.

Bug: 140712361
Test: treehugger
Test: manual
Test: make -j30 RunSettingsRoboTests ROBOTEST_FILTER=TimePreferenceControllerTest
Test: make -j30 RunSettingsRoboTests ROBOTEST_FILTER=DatePreferenceControllerTest
Change-Id: I671bf0e7e7364f64f1397d524c6277591eb4e22e
Merged-In: I671bf0e7e7364f64f1397d524c6277591eb4e22e
(cherry picked from commit 9861696306)
2019-11-27 16:36:59 +00:00
Neil Fuller
9861696306 Switch settings to use TimeDetector
Switch settings to use TimeDetector when setting the system clock rather
than using AlarmManager directly.

Bug: 140712361
Test: treehugger
Test: manual
Test: make -j30 RunSettingsRoboTests ROBOTEST_FILTER=TimePreferenceControllerTest
Test: make -j30 RunSettingsRoboTests ROBOTEST_FILTER=DatePreferenceControllerTest
Change-Id: I671bf0e7e7364f64f1397d524c6277591eb4e22e
2019-11-27 14:04:08 +00:00
Alex Johnston
606e6837e6 Replace setAutoTimeRequired and getAutoTimeRequired with setAutoTime and getAutoTime
* Deprecate setAutoTimeRequired and getAutoTimeRequired.
* Added new API methods setAutoTime and getAutoTime.
* These new APIS use the DISALLOW_CONFIG_DATE_TIME user restriction to prevent the user from setting auto time.
* Updated Settings AutoTimePreferenceController to look at the DISALLOW_CONFIG_DATE_TIME restriction

Bug: 138709470
Test: Manual testing with testdpc and the set auto time toggle
      DevicePolicyManagerTest
      DeviceAndProfileOwnerTest
      DevicePolicyLoggingTest
      AutoTimePreferenceControllerTest

Change-Id: I55b44840089a0b701ca4d5572a0e91deb40152ed
2019-11-25 16:39:05 +00:00
Raff Tsai
29c15273b5 Fix Weird floating "add language" item
- Base theme has android:clipToPadding=false attribute. It let user
UI draw under navigation bar but also cause this problem. Add
android:clipToPadding=true in layout to fix the problem.

Fixes: 142108980
Test: manual
Change-Id: Ibe60b348a3c7c01d9786612ceac23a47a78a208a
2019-11-04 17:34:02 +08:00
Raff Tsai
9e3a9fd255 Add fragment in xml instead of using injected way
- It can improve performance because we use less injected item
- Also remove summary provider from those fragments

Bug: 141653158
Test: robolectric
Change-Id: I6255f71b3b8300aea064a4fefd6711c1ff59e08a
2019-10-02 11:49:51 +08:00
Neil Fuller
78a7facc02 Merge "Add tobiast@ to the OWNERS file" am: a931693721 am: 46e53e770c am: bf673318f1
am: e13cd91161

Change-Id: I3cc978431a8fe0e01522e12842c44b0d99b135a8
2019-07-02 17:36:47 -07:00
Neil Fuller
46e53e770c Merge "Add tobiast@ to the OWNERS file"
am: a931693721

Change-Id: Id52f2dcd3755f4fbbd6f6918e993063aebc582ac
2019-07-02 10:13:36 -07:00
Neil Fuller
ca6542843c Add tobiast@ to the OWNERS file
Add tobiast@ to the OWNERS file as libcore TL.
Remove pszczepaniak@ as he hasn't been on libcore
for a while.

Test: None
Change-Id: I714d3448ed60006cb58a0f49e95b7b834a6aac36
2019-07-02 10:55:50 +01:00
tmfang
24c3324268 Use FooterPreference in xml explicitly
We don't rely on FooterPreferenceMixinCompat
to create footer preference in dashboard fragment.

Instead, declare a FooterPreference explicitly in
xml of screen.

It makes more sense for our referenceController design.

Test: visual, robotest
Bug: 124129485
Change-Id: I0b0c0f9e38d85aa89b815ce2b84ddff30a1d206b
2019-06-13 18:29:37 +08:00
Fan Zhang
5d2e0fc10f Stop using framework internal layout for timezone header.
The framework version header has deviated from supportlib version long
ago, and we shouldn't hack our theme to make this layout work. Instead
we now have a custom layout compatible to settings theme.

Fixes: 128833223
Test: visual
Change-Id: I83087352240de183b0639daf844bd7f90e02056a
2019-03-19 10:17:46 -07:00
Neil Fuller
9b6fa3a4e1 Merge "Update the timestamp used for time zone filtering" am: 51376aefc1 am: d2b3df945c
am: 641ea6e4fa

Change-Id: I665c8d444e1eb58664e2884d371e21aae625f6fe
2019-02-27 11:20:47 -08:00
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
Nikita Iashchenko
8db2d30fab Fix crash if timezone is changed and "Don't keep activities" mode is on
The issues is that TimeZoneData is being loaded with LoaderManager on
every fragment's onCreate(). At the same time this fragment has
onActivityResult() handler that accesses TimeZoneData and relies on the
fact that it has been already initialized prior this call. So when you
enable "Don't keep activities" mode, the TimeZoneSettings fragment [1]
that holds TimeZoneData is immediately destroyed after launching time zone
picker fragment [2] (which result [1] waits for), and when android calls
onActivityResult() for [1] (after time zone has been picked in [2]),
Android has to recreate [1] from scratch. So you get onCreate() called and
immidiately after that onActivityResult() called, and at this point we get
the crash, because the loader hasn't finished yet and onActivityResult()
tries to access uninitialized mTimeZoneData.

This CL fixes this crash issue by postponing
mTimeZoneData.lookupCountryTimeZones call until mTimeZoneData is loaded
by loader. It is done through saving data intent in onActivityResult()
and calling onZonePickerRequestResult() when time zone data is loaded.

Bug: 112351583
Test: m Settings droid successfully builds, manual testing with "Don't
keep activities" mode enabled

Change-Id: Id30d36dc17a0de96ba871f9d0f4a2686479d0eeb
2019-01-29 15:22:56 +00:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08: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
Neil Fuller
1e1961a5b3 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
Change-Id: I920411dfa7e000a0da9678826a035e0461211619
2018-11-20 10:52:52 +00:00