Commit Graph

68 Commits

Author SHA1 Message Date
Tsung-Mao Fang
47bd62bdab Fix voice access problem on location page.
- Remove the seletcable attribute on footer preference so that
voice access can identify learn more.
- Apply latest footer preference API to set an action on learn more.
- Remove unuse string resource.

Test: Verify that talkback and voice access work well.
Fix: 189652942
Change-Id: I45fcd21d6a2d693d8b5eaa446aaccb769f1c0c7f
2021-06-02 14:08:19 +08:00
Yanting Yang
b0d0569ae1 Remove Advanced section
Based on the UX design to remove the Advanced category.

- Security
- Privacy
- Location
- Internet > Network details
- App info > Notifications
- Developer options > Wireless debugging > gear icon

Fixes: 182237530
Test: robotests & visual
Change-Id: I8d060e536607f446537c55f805e50fed4f65abf6
2021-05-25 19:13:40 +08:00
Yu-Han Yang
791b6fadc7 Fix footer issues
1. setContentDescription for "learn more"
2. set searchable="false"

Bug: 187471260
Bug: 188490701
Test: on device
Change-Id: Iaa6907fdf2b6c47cbc1386a88a08ac31f3676367
2021-05-19 18:01:25 -07:00
TreeHugger Robot
3eb980d41b Merge "Remove icons of Location Services and App location permissions" into sc-dev 2021-04-28 23:46:54 +00:00
TreeHugger Robot
e37695c89d Merge "Revert "Remove "See all" button"" into sc-dev 2021-04-27 21:00:30 +00:00
Yu-Han Yang
4775b90eff Remove icons of Location Services and App location permissions
Bug: 180533061
Test: on device
Change-Id: I85b88823f730494836677caa489b1e249913e5f4
2021-04-27 13:47:57 -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
TreeHugger Robot
f05822549c Merge "Remove "See all" button" into sc-dev 2021-04-23 00:23:16 +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
2e177b234e Change "Manage location services" to "Location services"
Also updates its icon.

Bug: 180533061
Test: on device
Change-Id: I1ceaa82bd30b05435cff65905b01af5a6c41bac6
2021-04-22 10:51:28 -07:00
Yu-Han Yang
a13c0f5d7a Add icons to Manage location services and App location permissions
- Also updates footer strings

Bug: 180533061
Test: on device
Change-Id: Id75d74ebe72e92f314fbb116beaacb301f86b34a
2021-04-08 09:47:26 -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
Yu-Han Yang
cdb3551be1 Add "See All" page for Recent Location Access
Screenshots: http://shortn/_UPy8KFSeSj

Bug: 180533061
Test: manual on device
Change-Id: Ib77bc0705835520ed1a2d3b7f662088ed838e53e
2021-03-08 13:27:45 -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
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
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
77de405a5d Make TopLevelSettings un-searchable and direct result to relevant page.
Fixes: 149372187
Test: manual & robotest
Change-Id: I9daca03d1c11a262f8e3b55bb46aabbc035ece96
2020-02-14 17:58:38 +08:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08:00
Raff Tsai
f71db73025 Implement work-profile infra in BasePreferenceController
- Add settings:forWork in xml
- Set mIsForWork based on xml attribute
- Delete WorkProfilePreferenceController and move its function to
BasePreferenceController

Fixes: 123376083
Test: Add work profile, go to Settings->System->Language&input,
UI should show work profile related items
Change-Id: Id2dcbb0e158c117cdfd363466a275f4e133c345e
2019-12-10 09:32:37 +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
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
tmfang
e4c5357005 Remove odd spacing after the divider
Two strategies for this UI problem

- If "PreferenceCategory" is an anchor for loading dynamical preferences,
we keep this preference category and then assign a no spacing layout to
it.

- If the cases only want to have a divider, we remove this preference category.
And then use allowDividerBelow or allowDividerAbove attribute.

Test: visual
Fixes: 130246959

Change-Id: I227fef20f5255159e4ab9a5add43a04b94e9b19a
2019-04-12 13:59:43 +08:00
Lifu Tang
e531bd01fd Address UI change request for injected services
- Remove icons from injected items
- Create a separate section for work profile

Bug: 129948280
Test: build, flash, and test manually
Change-Id: Ia64af349c8dd1575d629debd574cdb3ae6eb650d
2019-04-09 21:10:44 -07:00
Fan Zhang
7771fa5a95 Revert "Remove advanced button from location settings"
This reverts commit c7cef5ee43.

Reason for revert: b/124059127

Change-Id: I34e788f6959b94f27b4e25f1ca925777acb9a1d0
2019-03-27 23:15:32 +00:00
Fan Zhang
c7cef5ee43 Remove advanced button from location settings
Change-Id: I9185949edffbc4588287221b81d30e136e755f85
Fixes: 124059127
Test: manual
2019-02-08 12:39:00 -08:00
Joel Galenson
6bf75d288d Check a flag to see whether or not to show permission usage information.
Bug: 122615235
Test: Manually set/unset flag, see/don't see usage information.
Change-Id: I2d743fc28c5676a2304dac73ae96734241f3fe1d
2019-01-31 10:20:05 -08:00
tmfang
3bb1439894 Use new interface for setAppEntity
The interface was changed in SettingsLib,
so we also need to update the usage for setAppEntity.

Test: visual, robotest
Change-Id: I89644c4a7d6aac9cb9a8784b1f91656c8d7d6d26
Bug: 121271387
2019-01-16 16:02:23 +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
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
Maggie
6f2741d50b Add an Advanced button to location settings
Add an Advanced button under "recent location requests" and "app level
permissions" in location settings.
Location footer should still be visible under Advanced button.

Bug: 70350519
Test: Manual
Change-Id: I5db32e911ed6527048c625f691f5476eb77751b3
2018-03-20 10:57:37 -07:00
Maggie
81fa5ace46 Fix non-unique keys for location settings
Bug: 74104689
Test: Robo
Change-Id: I54ead73b69a6c62897d6b99e14fa5b6627163052
2018-03-02 10:39:08 -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
Doris Ling
9035043069 Add divider in Location settings
- add divider above App-level permissions to separate from recent
location requests.

Change-Id: Idf4df29d3b6105df6e2099bba28a7ee00d1cb9f2
Fixes: 73773240
Test: visual
2018-02-22 11:20:30 -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
Antony Sargent
e2399b4ad1 Fix alignment in location requests screen
In Settings->Security & location->Location, the list of apps that have
recently requested location was moved up on the screen, and this made it
clear that the indentation of the app name was misaligned with the title
of Preference items that came after this. It turns out our custom layout
for AppPreference reserved a bit more space for icons than regular
Preference items.

While examining the layout file for location settings I also fixed a
small nit in a comment.

Fixes: 71056360

Test: Visual (go to Settings->Security & location->Location, and the app
names in the list should be indented at the same level as the Preference
items below)

Change-Id: I87e144c83cc2d13e322f65291415af037c405257
2018-01-09 15:20:28 -08:00
Maggie
3220c46bcc Set initialExpandedChildrenCount dynamically in location settings
In location settings, we want "Advanced" button show up right after "App
level permissions". But with different numbers of "recent location requests" apps,
the Preferences hidden under Advanced could change.

To fix this issue, we fetch the list of apps with "recent location
requests" in LocationSettings.onCreate(), and set
initialExpandedChildrenCount for location PreferenceScreen to the apps
count.

Bug: 70350519
Test: Manual
Change-Id: I4c4b6bdfa916213494a29e8ae8b5f33476411c88
2017-12-20 19:13:52 -08:00
Fan Zhang
74c61d1fef Use res-auto as app xml namespace instead of settings.
This is necessary for SettingsIntelligence to parse settings:keywords
when indexing search stuff.

Bug: 64938328
Test: rerun tests
Change-Id: I0d8885c854852020dfa0b9faa3044d4a1b82f8f2
2017-11-17 16:49:54 -08:00
Matthew Fritze
a223355c8f Location summary is no longer indexed
Change-Id: I794e52b2f18e6e79033fbdaf2643209714b88025
Fixes: 38254258
Test: Search "mode" -> no summary text
2017-05-30 09:58:55 -07:00
Fan Zhang
2d4d993ef3 Move "scanning" from location setting actionbar to pref xml
This fixes the breadcrumb for scanning settings when you search "scan".

- Also did some minor cleanup in LocationSettings (creating preference
using the correct context)

Change-Id: I8efc62246f2e18b2bd4b5eb411b40f24e36b0f2a
Fix: 36529569
Test: manual
2017-03-22 17:04:50 -07:00
Fan Zhang
917721c8d6 Listen to mobile data enabled flag change.
The listener is necessary to show/hide the gear icon on top of billing
cycle settings screen as user turn on/off mobile data from QS.

code cleanup: remove dividedCategory

Fix: 28066849
Test: make RunSettinsgRoboTests

Change-Id: I3b7075512042127fd711a8a70a572adfed069502
2017-03-16 15:08:49 -07:00