Commit Graph

117 Commits

Author SHA1 Message Date
Kate Montgomery
4473f60448 Fix settings page flicker in two ways:
1. On create use UiBlocker as recommended by settings team
2. On resume only update the preferences list if the system setting has
   changed.

Bug: 220837804
Test: manual
Change-Id: Ieebd2e7fd74ab05d4fb73aede6868553d7d84af1
2022-03-17 03:32:03 +00:00
Jonathan Scott
a2781721e2 Merge "Allow overriding of strings referenced in XML files." 2022-02-09 10:48:09 +00:00
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +00:00
Kate Montgomery
9082be89bf Clear recent access list when fragment is paused.
When the fragment is resumed, the recent access list will be reloaded.
Clearing the list ahead of time results in a nicer animation and matches
the animtion when the fragment is first open.

Bug: 191503437
Test: manual
Change-Id: I91d01057acc601e6b2a40401f8bd69c5f5aa3579
2022-02-05 01:27:06 +00:00
Yu-Han Yang
fdff6af031 Fix scrolling issue after MLS switches
Bug: 187546020
Test: on device
Change-Id: Ie1c573396cbc8b3256db5e350c622e566a44495c
2021-05-27 11:31:09 -07:00
Yu-Han Yang
cf41f951ff Revert "Remove "See all" button"
This reverts commit 1170a08d43.

Reason for revert: design decision changed.

Change-Id: I954f8899f33a4c0e8945744e9bfcdbb48d9d705b
2021-04-27 18:36:18 +00:00
Yu-Han Yang
1170a08d43 Remove "See all" button
Bug: 180533061
Test: on device
Change-Id: I0a0f54e3ae248ec9c26a2118b70a52e9beecfdd9
2021-04-22 14:07:51 -07:00
Yu-Han Yang
4b2e6f76ff Update Location Settings footer when MLS changes
Also changed strings:
- from "Manage location permissions" to "App location permissions"
- from "Location Services" to "manage location services"

Bug: 180533061
Test: on device
Change-Id: I135430674b9363ea7caaa44f6e9baed96b6ec3cf
2021-03-31 13:15:36 -07:00
Yu-Han Yang
60ddf8d7d4 Merge "Untab Location Settings and tab Location Services" into sc-dev 2021-03-30 16:48:38 +00:00
Yu-Han Yang
a286bad826 Untab Location Settings and tab Location Services
Bug: 180533061
Test: on device
Change-Id: I1f096ffe1028dbf46816bbac5d514e3cb48d9e2c
2021-03-24 19:17:35 -07:00
Soonil Nagarkar
2491d63996 Remove dynamic location settings footer
Replace with static location settings footer.

Bug: 182210346
Test: manual
Change-Id: If3ab492418e5f3461f7b0123fc771ecdd56db6c9
2021-03-24 12:43:03 -07:00
Yu-Han Yang
9e0f9b1dda Hide "recent access" and "see all" when location off
This CL also does the following:
- Change "past 24 hour access" to "recent access"
- Add timestamp to recent access app
- Remove the summary of "Location Services" button

Bug: 180533061
Test: on device
Change-Id: I0405cb6f363243db9f2c9ccf8ab8788b633d1564
2021-03-17 09:36:56 -07:00
Yu-Han Yang
b04a984813 Move injected services for work into a new page
Screenshots: http://shortn/_0BiBfpkHfh

Bug: 180533061
Test: on device
Change-Id: Ie488c80856b4c4cc67789b8239005f6001ed9d87
2021-03-08 13:31:34 -08:00
Wei Wang
22399153dc Revert "Revert "Use location access for recent location apps.""
This reverts commit 5da4f381a6.

Reason for revert: Fixed the crash and roll forward

Test: Manual - tested with work profile.
Change-Id: I8b500b8fddc58cc0d0e5e7f4e54d8bb5cb6b3022
2021-02-24 00:08:04 -08:00
Yu-Han Yang
e93c1298fc Move LocationServicePreference to Location > LocationServices
Bug: 180533061
Test: manual on device
Change-Id: Idd700f5c530af67f4936e207e42988267185f256
2021-02-22 11:49:14 -08:00
Wei Wang
5da4f381a6 Revert "Use location access for recent location apps."
This reverts commit f383cb44b4.

Reason for revert: crashes on work profiles (http://b/180516388)

Change-Id: Iff499e6a1439b6ecb524a61a9a88fe253799a131
2021-02-18 17:18:20 +00:00
Wei Wang
f383cb44b4 Use location access for recent location apps.
Bug: 177685444
Test: Manual

Change-Id: Id22ce156b20b66cf0607879ea0f9f874b621894d
2021-02-16 12:27:10 -08:00
Stanley Wang
b87ddba6cd Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings.
To log Settings metrics, the MainSwitch extends MainSwitchBar and
replace the SwitchBar in SettingsActivity.

Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui

Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
2021-01-14 22:48:31 +08:00
Neil Fuller
1affbfff83 Fix review comments location_time_zone_detection
Fix review comments for location_time_zone_detection.xml and associated
classes from http://ag/12792958.

Bug: 152746236
Test: Manual: build / boot / toggle switch in SettingsUI / inspect output of adb shell dumpsys time_zone_detector
Test: Manual: build / boot / install TestDPC / toggle switch in work profile in SettingsUI / inspect output of adb shell dumpsys time_zone_detector
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.TimeZoneDetectionPreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.LocationTimeZoneDetectionPreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.TimeZoneDetectionSettingsTest"
Change-Id: I641f312cd63359f45664a93e009e5a975dbd6485
2020-10-27 20:34:15 +00:00
Neil Fuller
4a6663c10a Changes to location settings for geotz
This change adds a new entry for geolocation-based time zone detection
(shorthand: "geotz") to the location settings.

The UI code uses information retrieved via the TimeManager API to keep
the conditional logic in one place, i.e. to avoid the UI needing to know
too much about the various conditions that affect the availability /
applicability of the toggle.

Screen variations / conditions / other info:

Location settings screen:

1) The entry only shows up on a device at all if geotz detection is
enabled for the device (currently a compile time setting, off by
default).
2) The new entry is hidden on the screen when the user first opens it.
To see it, the user has to expand "Advanced". The setting is in the
shared (non-GMS) section of the screen.
3) When visible, the entry has a summary that shows the current status:
either a reason why the setting is not applicable, or the user's current
setting value.
4) Selecting the entry opens a sub-screen.

The code included here distinguishes between different cases with the
summary message (i.e. the text underneath the entry). See strings.xml
for the placeholder text. Some strings will not show up currently, but
are included in case the rules change as they are valid possibilities
from the TimeManager API.

The same changes have been made for the "personal" tab when a work
profile is enabled.

Location Time Zone Detection settings screen:

1) The toggle is always enabled and always shows the user's current
configuration setting.

All manual tests run with the geotz feature enabled with:

adb shell setprop \
    persist.sys.location_time_zone_detection_feature_enabled 1

Bug: 152746236
Test: Manual: build / boot / toggle switch in SettingsUI / inspect output of adb shell dumpsys time_zone_detector
Test: Manual: build / boot / install TestDPC / toggle switch in work profile in SettingsUI / inspect output of adb shell dumpsys time_zone_detector
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.TimeZoneDetectionPreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.LocationTimeZoneDetectionPreferenceControllerTest"
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.TimeZoneDetectionSettingsTest"
Change-Id: Ia853d30bc54a113000b30f48776418f262d98358
2020-10-22 15:48:55 +01:00
Edgar Wang
8c8a2e85ec 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: I32f369a608c8b4f513f2c32afca6d408ee273428
2020-08-12 11:25:21 +08:00
Edgar Wang
4e02ceb8b4 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: I890335a0c0e31f7d3ea32c6130482e4ef0e20b88
2020-07-29 13:36:09 +08:00
Raff Tsai
5089629bf5 Separate personal/work tab in LocationSettings
- Add LocationPersonalSettings for personal location Settings
- Add LocationWorkProfileSettings for workprofile location settings

Bug: 141601408
Test: manual
Change-Id: Iaaa3a1db5abe02881c4d8afdaec1013ab5552eb3
2019-11-26 17:21:55 +08:00
Raff Tsai
2229585e88 Refactor LocationSettings
- Extends BasePreferenceController in LocationBasePreferenceController
which binds preference key based on xml file instead of writing the key
in java code. Then the controller can be used in many xmls.
- Modify LocationServicePreferenceController to support only personal or
profile user.

Bug: 141601408
Test: manual, robolectric
Change-Id: I51ee950dfb87474df84a8dc3db55fb911edcf599
2019-11-25 13:11:12 +08:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
Raff Tsai
1f30b1cd67 Merge similar BaseSearchIndexProvider code together
Bug: 135053028
Test: robolectric, check search_index.db contains the same items
Change-Id: If3c18a170b0e671690df1fdf26e59a421d2c48cd
2019-09-12 11:09:09 +08:00
Soonil Nagarkar
533a17f1f5 Remove obsolete broadcast behavior
There is no need to broadcast when a footer is displayed/removed. The
broadcasts were added specifically for gmscore to know when the footer
was visible, so that GLS consent could be given. However, this
was only very briefly actually used within GmsCore, and has been
obsolete for several releases.

Test: CTS
Change-Id: I1df6c6214fe79c943cabd7b04357c8ab7d1c1c39
2019-07-12 11:06:05 -07:00
Lifu Tang
166b54c0f6 Revert recent location apps to pre-Q behavior
- List recent location request instead of location access
- Show in list view instead of app list widget
- Add overflow menu to "see all" page to show/hide system apps

Bug: 124015107
Test: build, flash, and test manually
Change-Id: I78df6d4b13ddf774013e8d819cf343ce012e6b0b
2019-05-13 15:24:09 -07: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
Fan Zhang
a4da9d78a1 Add GPS to location setting's search keyword
Change-Id: I01d0acbc9f8f212ec899b89b368c3e00f3d177f5
Fixes: 119137548
Test: reindex search
2018-12-20 16:21:46 -08:00
Lifu Tang
3da8f8d31d Display app stats for location permission
Bug: 120221631
Test: manually
Change-Id: I53f43079807759c50eeb62029bb0d8d1f84e1118
2018-12-17 21:13:08 -08:00
Lifu Tang
811d95c373 Display recent location access in the widget
Bug: 120239674
Test: manually
Change-Id: Iaf899486bf27c55189eea4c0e913ff1baaf529e5
2018-12-17 20:21:35 -08:00
tmfang
54a5d37190 Move LocationSettings to top level page.
- Create some location icons for different scenario.
- Remove Location in Security page.
- Move Location Setting to top level page.

Test: robotest, visual
Bug: 116628158
Change-Id: I3f57ef49a396877bfbeaefea7dc4f4051e0ccc65
2018-11-05 11:24:41 +08:00
Fan Zhang
9ce4a1fcde Use searchable="false" to suppress nonIndexables.
When possible, remove or simplify getNonIndexable() logic in fragments,
and use searchable="false" in xml to suppress index.

Change-Id: I5bdf5bc7d5494a64cdd9e230a51321a4b210af69
Fixes: 112608186
Test: robotest and manual search
2018-08-17 09:21:05 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07:00
Fan Zhang
c8f021a288 Suppress "see all" from settings search.
Bug: 109894919
Test: reindex search
Change-Id: I009c5d2f366af402dcbfd2eb75b56bfcbb9217a6
2018-06-11 15:35:03 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Maggie
601054ce6a Fix switch bar in location settings
When user rotates the device in location settings, the swtich bar with
"Use Location" is gone. This change fixes the problem.

Also, remove override getInitialExpandedChildCount() in
LocationSettings. We will use nested PreferenceCategory instead once the
support is ready.

Bug: 73872033
Bug: 70843646
Test: Manual
Change-Id: I343b549398ef2b3d64ca7962b5f2a4ef0441c7f5
2018-03-02 14:16:59 -08:00
Maggie
51fc2889f8 Under "recent location requests", add "See all"
Under Settings -> Security & Location -> Location, add "See all" button
under recent location requests

On location settings page, display at most 3 recent location requests.
If there are more than 3, show a "see all" button.
When user clicks "See all", take them to a new fragment with all recent
location requests.

Test: Robo
Test: Manual
Bug: 70350519
Change-Id: Id1f9a8da1593814a8f30f8e6ec8ac75fb10f6672
2018-02-28 12:58:42 -08:00
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08:00
Fan Zhang
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
Fan Zhang
72456a9ea6 Fix search highlight
- Fragments should not have advanced button when coming from search.

Change-Id: I10a192216b7ff702e73b791acbcc1eb1d71cb407
Fixes: 73348428
Test: robotests
2018-02-20 13:19:26 -08:00
Maggie
ca80da20b1 Add a footer to Location Settings page
At the bottom of Settings -> Security & Location -> Location, inject
footers with text provided by system apps. GmsCore uses this footer to
present legal consent info for Google Location Services.

Bug: 70350519
Test: Robo
Test: Manual
Change-Id: I201afdb30baa7b81b591d161fce5be55569b6320
2018-02-05 16:30:11 -08:00
Maggie
5a86cd6545 Remove location mode menu from location settings
Location modes were introduced in KitKat. It has made location settings over complicated. In P we are removing location modes to provide simple, meaningful and transparent controls for users.

Bug: 63818349
Bug: 70350519
Test: Robo
Test: Manual
Change-Id: Ic8a168b8eeb3cd2c8b1536c378c92a5f377d3bba
2018-01-24 15:51:34 -08:00
Maggie
85e2f61b2d Remove location_modes_previous references
1. Remove reference to LOCATION_MODE_PREVIOUS.

2. Add setLocationEnabled method in LocationEnabler. When turning location
ON/OFF from Settings app or Quick Settings, use
LocationEnabler.setLocationEnabled() instead of setLocationMode().

3. Change unit tests accordingly.

Bug: 70990911
Test: Robolectric
Test: Manual
Change-Id: Ic02ef3cd02f9aa7d2ef18697b19b507575aaf5c2
2018-01-22 21:23:28 -08:00
TreeHugger Robot
e31f582baf Merge "Introduce boolean flag to show/hide Location Scanning preference." 2018-01-12 21:53:12 +00:00
Ben Lin
e8377718e0 Introduce boolean flag to show/hide Location Scanning preference.
This introduce one new flag:
config_show_location_scanning

Which when set to false, will hide "Scanning" in Location preference.

Some OEMs may control Bluetooth/Wi-Fi scanning themselves, so they may
want to hide the page from users.

Bug: 62418710
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=LocationScanningPreferenceControllerTest

Change-Id: I19f0020a2c94f70b3b7956529f57af098ccc79fd
2018-01-12 19:48:37 +00:00
Fan Zhang
87d120a7e1 Override switch bar string for wifi/battery saver screen
Bug: 69462439
Test: visual
Change-Id: I18d03ee1664f111222d7b9bb7ee893e4ce0e1343
2018-01-11 15:17:14 -08:00