- 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
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
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
This reverts commit 5da4f381a6.
Reason for revert: Fixed the crash and roll forward
Test: Manual - tested with work profile.
Change-Id: I8b500b8fddc58cc0d0e5e7f4e54d8bb5cb6b3022
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
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
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
- 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
- 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
- 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
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
- Remove icons from injected items
- Create a separate section for work profile
Bug: 129948280
Test: build, flash, and test manually
Change-Id: Ia64af349c8dd1575d629debd574cdb3ae6eb650d
The interface was changed in SettingsLib,
so we also need to update the usage for setAppEntity.
Test: visual, robotest
Change-Id: I89644c4a7d6aac9cb9a8784b1f91656c8d7d6d26
Bug: 121271387
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
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
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
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
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
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
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
This is necessary for SettingsIntelligence to parse settings:keywords
when indexing search stuff.
Bug: 64938328
Test: rerun tests
Change-Id: I0d8885c854852020dfa0b9faa3044d4a1b82f8f2
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
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