Commit Graph

222 Commits

Author SHA1 Message Date
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
1867db33c9 Prevent location for the work profile from being enabled
* Previously the user could still enable location for the work profile
  even after enabling DISALLOW_CONFIG_LOCATION. This was because the
  LocationForWorkPreferenceController checked whether the base restriction
  was set and whether the restriction was enforced by the admin in the
  same condition.
* This was fixed by giving the admin precedence and moving the check for
  the base restriction to only be checked if the admin has not enforced
  the DISALLOW_CONFIG_LOCATION or DISALLOW_SHARING_LOCATION restriction.

Bug: 147758996
Test: Manual testing with Settings and TestDPC
      atest com.android.settings.location.LocationForWorkPreferenceControllerTest

Change-Id: Ide341f2dab4f59f26ffa0c929ba412d61b6ebf1a
2020-01-30 16:59:33 +00:00
Lifu Tang
f52d7fe4db Fix recent location apps problem without profile
Bug: 147298096
Test: Build and test on device manually.
Change-Id: I14aaf23636d6a0e778154fe589131e66c313bfdd
2020-01-22 15:16:32 -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
TreeHugger Robot
79efb45f0f Merge "Adjust preferene to align the lastest mock" 2019-12-02 10:26:09 +00:00
Raff Tsai
91aa4b853a Adjust preferene to align the lastest mock
- Because removeAll in updateState will cause preference list janking,
move updateState code to displayPreference.

Bug: 141601408
Fixes: 145369584
Test: manual and robolectric
Change-Id: Ic6ffeedfdd7a64671e497a61894d7c0d443750ef
2019-12-02 15:13:50 +08:00
Raff Tsai
ed1b808474 Fix testcase error
- ignore testcase in MobileNetworkActivityTest
- To avoid null pointer access in LocationForWorkPreferenceController,
move mUserManager initialization in constructor

Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.search"
Change-Id: Icf6c36ecef22149def6d5924741a798e8f506033
2019-12-02 12:11:29 +08:00
Raff Tsai
e7ff0891bb Merge "Separate personal/work tab in LocationSettings" 2019-11-27 16:42:03 +00:00
Raff Tsai
d91a1c3710 Fix talkback speak wrong item
Fixes: 145251855
Test: manual
Change-Id: I041d9fd6416e5ae5a12ea51fd8b70ca2f233f480
2019-11-27 16:55:22 +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
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
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
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
Joel Galenson
db516d98c5 Only get apps with permission granted.
The subtitle gives the number of apps that can access location, but it
currently collects all apps that request location, including those
that are denied.  Ensure that we only count granted apps.

Bug: 129296799
Test: Open Settings, see the count is much lower.
Change-Id: I9a18bbb62be742731205dab9f5b8e9a703ea030c
2019-04-17 11:12:26 -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
Soonil Nagarkar
c5dd4e503c Fix control flow bug in preference controller
BUG: 118908907
Test: manual
Change-Id: I5300309a13833e278902c75090c9f7de43d6e2b7
2019-03-25 10:52:28 -07:00
Joel Galenson
73f089333b Pass the location permission not group to MANAGE_APP_PERMISSION.
I changed the API to support passing in a permission.

Test: Click on entry and open its permission toggle screen.
Test: atest RecentLocationAccessPreferenceControllerTest
Change-Id: I0f789c9e2a05f4b5b03efab6a7dcdb218e565b52
2019-03-20 09:32:50 -07:00
TreeHugger Robot
20886072af Merge changes I85ca2b69,Ibd7a47cb,I79522aab
* changes:
  Update strings for scanning settings
  Display empty message if no recent location access
  Add comment to help translator with plural forms
2019-03-15 21:36:41 +00:00
Lifu Tang
ecea9e96d9 Display empty message if no recent location access
Bug: 120873123
Test: build, flash, and test manually
Change-Id: Ibd7a47cb814fe16ecb1c017865ab28862e17ddcc
2019-03-15 11:43:00 -07:00
Lifu Tang
1328b1f30d Add links to app location permission page
Bug: 121271387
Test: build, flash, and test manually
Change-Id: I188b7113c2421c66b03e8330f141f514991450fe
2019-03-14 16:12:20 -07:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08: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
Philip P. Moltmann
a9fb152309 Flags instead of booleans for countPermissionApps
Test: Checked that the api retunred the results
Bug: 123697839
Change-Id: Iadb1c4307933635e6114d3d32a2a2b1ed87949f4
2019-01-31 14:22:24 -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
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
Joel Galenson
03729e780d Make links to Permissions Hub only show last day.
Default to showing only the last day of accesses.

Also fix a bug caused by the API changing from seconds to
milliseconds.

Test: Click links and see correct filter.
Change-Id: I8456723a434c7144e9115e1834f48d3c1da24d4b
2019-01-22 14:56:51 -08:00
TreeHugger Robot
304b54b2a3 Merge "Use new interface for setAppEntity" 2019-01-19 05:57:25 +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
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
769a9fb04c Unit test for AppLocationPermissionPreferenceController
Bug: 120910747
Test: build and run the unit test
Change-Id: Id5f79d0f6b143d1ef5e37d75c27a64b4e1dcd9e0
2019-01-04 11:24:06 -08:00
Philip P. Moltmann
70e81da549 RuntimePermissionPresenter was renamed to PermissionControllerManager
The new name better matches the functionality

Test: Looked at the settings pages affected and verified data that came
      from the service
Change-Id: I796b93b0491a24b0cf857d17659f79660a8fc18a
2019-01-03 11:40:00 -08:00
Lifu Tang
e35f24bc55 Add the missing unit test
Bug: 120910747
Test: build and run the unit test
Change-Id: Id1feb51a1577e9d0c90bff812d78e581e5dc5168
2019-01-02 14:54:50 -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
Ben Lin
5fe372a039 Exclue Scanning Settings for searchable in ARC.
Scanning settings is actually done outside of Android, in the host OS.

Bug: 120222705
Test: RunSettingsRoboTests RunArcSettingsRoboTests
Change-Id: I92435541a671c43d3584f1f223b8b744e6182aa9
2018-12-12 16:55:08 -08:00
Lifu Tang
bee747173f Update scanning settings to show states in summary
Bug: 120220144
Test: build, flash, and test manually
Change-Id: I913d93c2f41e5ffea1d0b9c00d519eba327a0832
2018-12-07 16:11:53 -08:00
Fan Zhang
d7fa2fa64e Make a few custom slices implement CustomSliceable.
Bug: 80263568
Test: robotests, slice-browser
Change-Id: Id809a347d77448917154c2d1144fd2517e70829a
2018-12-05 15:47:14 -08:00
Raff Tsai
626c6e0b17 Replace SliceAction deprecated method
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()

Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284
2018-12-01 06:21:01 +08:00