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
TreeHugger Robot
adf5ccf359 Merge "Fix broken test" 2022-01-21 03:50:49 +00:00
Kate Montgomery
d6909d1843 Merge "Make the show/hide system setting for recent location acccesses sticky." 2022-01-21 00:35:55 +00:00
Lifu Tang
885dff9b9a Fix broken test
Bug: 215047319
Test: run test case `LocationInjectedServicesPreferenceControllerTest`
Change-Id: I446f1341042d69ea6657d2f4bf1fbbac48961a4f
2022-01-20 14:23:16 -08:00
Kate Montgomery
14e6c73687 Make the show/hide system setting for recent location acccesses sticky.
This is in order to align the location indicator with the list of recent
accesses shown in Settings.

Bug: 191503437
Test: manual
Change-Id: I7aaa65390567ca644e7137de15c558cdcdb29935
2022-01-20 21:19:44 +00:00
Edgar Wang
2e3e4ce348 Enable ignored test cases of LocationSettingsFooterPreferenceControllerTest
UserManager interface changed, we need to handle it in ShadowUserManager

Bug: 215047320
Change-Id: Ia58825a9115b51477291c0ecacec8e3b56163b3c
Test: robotest
2022-01-19 13:18:01 +00:00
Tsung-Mao Fang
69a3271556 Ignore broken tests
Test: run robo tests
Bug: 215047192
Bug: 215047320
Bug: 215047319
Bug: 215046294
Bug: 215046609
Bug: 215047177
Bug: 215046603
Bug: 215046286
Change-Id: I6cfdcde663fa531754ee473421577357890ab540
2022-01-18 12:43:59 +08:00
Adam Bookatz
30dafd4140 UM.getUserHandle -> UM.getProcessUserId
UM is being made @UserHandleAware, so using an explicit method avoids ambiguity.

Bug: 201679968

Test: (No-op) compiles and treehugger
Change-Id: If067af7ced5017a9689cafbf99ceec1d26c06b3b
2021-10-05 12:55:22 -07:00
Jordan Jozwiak
e6835713b6 Use refactored RecentAppOpsAccess
Use the new class in place of the old one.

Bug: 182202223
Test: atest RecentLocationAccessPreferenceControllerTest
Change-Id: If0222e79bf8ba2ebe2b1b0a8c043ce39f5a45596
2021-08-16 13:08:47 -07:00
Tsung-Mao Fang
cbf5ccab0e Fix shifting problem in location services page
Controller generates the injection location settings
in updateState() which happens in onResume.
That's the primary reason why we observed the shifting issue.

In a good practice, we generate preference in displayPreference(),
and then update the setting state in updateState().

In this cl, we create a base controller class to encapsulate
most implementation, and developer need to inject location
services in child class.

Test: Add work profile, and see correct services list.
Bug: 183169265
Change-Id: I5735ba974da87ad83b56791abd8a8637c2317571
2021-06-10 11:26:23 +08:00
Yu-Han Yang
7a2122e35a Fix LocationSetttingsFooter robotests
Bug: 189352953
Test: tests passing
Change-Id: I4ca1a53449a6b845e39bcb7423cfee2ee5c9d820
2021-05-27 11:26:00 -07:00
Yu-Han Yang
f730edaaac Merge "Revert "Remove dynamic location settings footer"" into sc-dev 2021-05-08 15:58:10 +00:00
Yu-Han Yang
bac25a750c Revert "Remove dynamic location settings footer"
Revert submission 13809184-location_footer

Reason for revert: b/187211885

Reverted Changes:
Iaf14044e0:Remove dynamic location settings footer
Ifa6468b11:Remove dynamic location settings footer
If3ab49241:Remove dynamic location settings footer

Bug: 187211885
Test: on device

Change-Id: If9fdefee60d191607ed777ce0046e4cf6d0e4018
2021-05-06 11:38:10 -07:00
Yanting Yang
d1312e8e6e Add summary back to the homepage
Also update some summaries with new strings.

Bug: 183586663
Test: robotests & atest & visual

Change-Id: I692be9b34e8867501aaa8c8e40428870b99644f8
2021-05-06 00:27:37 +08: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
2a1f61829e Remove tests for Location Services summary
Bug: 183068632
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.location.LocationServicesPreferenceControllerTest"
Change-Id: I9c310ba1c320c182030e5ba7c64099e1b65ea109
2021-03-18 11:12:57 -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
f7513d9821 Add showSystem to RecentLocationAccess (Settings)
Bug: 180533061
Test: on device
Change-Id: Ie232bc84d7875897316e978ed3deac9656ebec5f
2021-03-02 14:05:35 -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
Yanting Yang
6778fe74bd Fix robotests fail if turning on silky home by default
Bug: 179136903
Test: robotests
Change-Id: Ic620a5061fe7b778076970fd01f212a7aa95bf9e
2021-02-03 03:36:08 +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
Wei Wang
a6daf85a32 Add a flag for controlling location indicator settings.
Bug: 177334097
Test: Manual && make RunSettingsRoboTests ROBOTEST_FILTER=LocationIndicatorsPreferenceControllerTest
Change-Id: I33821ab8328fd18b796a78813b7354a928832792
2021-01-12 16:02:57 -08:00
Wei Wang
edbe2cca13 Add a developer option to enable / disable location indicators.
Also bundled location related developer options into the location
category.

Bug:175357420

Test: Manual && make RunSettingsRoboTests ROBOTEST_FILTER=LocationScanningPreferenceControllerTest

Change-Id: Ic33ad6e70d258c9afc2cefba70ab6e7b2bafd16a
2020-12-13 21:33:56 -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
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
Yanting Yang
9aa4a5463f Remove subtitles for the homepage IA
Remove the summary of the homepage IA if silky home enabled.

Fixes: 170933968
Test: robotest & visual with turning on/off silky home
Change-Id: I502b6590cece9b80e9923109fe0582cc4d9a1c56
2020-10-20 23:54:03 +08:00
Roshan Pius
a7e96dd80e Settings: Use new API for setting wifi scan always on
Bug: 148514485
Test: Manually verified the toggle from Settings
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0a55b7212c97c11d50b0a05eec743e8ebe9ea6d8
2020-02-18 12:53:49 -08:00
Alex Johnston
f566da5b55 Fix LocationForWorkPreferenceControllerTest
* If the location is disabled by admin, then the
  preference is disabled and the toggle is no
  longer shown. This means that setChecked is no
  longer called and the verify statement can be removed.
* If the location is off, the summary should be
  'Location is off' rather than 'off'. The verify
  statement is now updated with the correct summary.

Bug: 148755845
Test: atest com.android.settings.location.LocationForWorkPreferenceControllerTest
Change-Id: I089be0c4f8e8ec8c10160771055730289d72c8ed
2020-02-05 11:32:03 +00:00
Tsung-Mao Fang
af0a5ab8b1 Ignore failing test cases
Test: Run robo
Bug: 148755845
Change-Id: Ie372fb7d1fb068648976f755f199491a2e4757c2
2020-02-04 10:20:35 +08:00
Raff Tsai
5ec8efe7e0 Fix UI issue in LocationSettings
- Add WorkPreferenceController to support directly use work profile
related feature in xml
- Get only work/personal infos in RecentLocationRequestPreferenceController
and RecentLocationRequestSeeAllPreferenceController
- Remove ProfileSelectStorageFragment

Bug: 141601408
Fixes: 146080649
Test: manual, robolectric
Change-Id: Ide39c7a3796e16421f3a5690309c3d746a956de8
2019-12-17 04:25:49 +00: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
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
Joel Galenson
2118f8a63f Revert "Remove Permissions Hub."
This reverts commit 1e7c172ad5.

Bug: 132292477
Test: None.
Change-Id: Icae2cd4edbb22e2f3ea72e20f0ebd818f1ac6629
2019-05-31 07:55:19 -07:00
Joel Galenson
1e7c172ad5 Remove Permissions Hub.
Bug: 132292477
Test: View all related screens.
Change-Id: Ic0e890e04f210f3be3eb80c95e398a40a8062001
2019-05-30 08:30:49 -07:00
TreeHugger Robot
5bfa4b24e2 Merge "Update location app stats" into qt-dev 2019-04-30 02:50:58 +00:00
Lifu Tang
d3a6d5e860 Update location app stats
- Count apps in both primary and work profiles
- Show the number of any location permitted app instead of background
  allowed apps on Location settings page
- Update the text at the top-level settings page

Bug: 129296799
Bug: 129358133
Bug: 129358508
Bug: 131432116
Test: build, flash, and test manually
Change-Id: I1a4284257a8a284140b81685efc98a2cc4a74619
2019-04-26 15:05:06 -07:00
Lifu Tang
c359536d0b Add timestamp to recent used apps
Bug: 129354132
Test: build, flash, and test manually
Change-Id: If8e657460da45db019633e95e77dffb1493997c0
2019-04-25 12:47:42 -07: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
Svet Ganov
864765f8b4 Update Settings to use the proper DeviceConfig API.
Exempt-From-Owner-Approval: carry over approval from ag/6908306

bug:124769181

Change-Id: If18d0dc5e55dabf82b7c7a2b6df240fb8b24f736
2019-04-07 22:37:02 -07:00
TreeHugger Robot
ac72afc12a Merge "Check a flag to see whether or not to show permission usage information." 2019-02-05 15:23:13 +00: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
Soonil Nagarkar
139644bb0e Remove dead code from settings
Test: manually
Change-Id: I1ef0bb2a20c6c6f020dd051407dda2de87f174ea
2019-01-30 17:15:54 -08:00
Amin Shaikh
9391361438 Move SettingsLib icons to android.
Bug: 122263617
Test: make
Change-Id: Ia2ab06561824656951fbd0019e9c921442c714e1
2019-01-28 13:46:54 -05:00
tmfang
da70607f41 Ignore test case
Since it breaks the test, we ignore test case temporarily.
Owner will fix it as soon as possible.

Test: robotest
Bug: 120910747
Change-Id: I2f31d2efe629080bb1c805e2d43a92f2873a3e5b
2019-01-24 08:02:33 +00:00