* 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
- 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
- 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
- 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
- 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
- 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
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId
Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
- 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
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
- 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
- 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
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
- Remove icons from injected items
- Create a separate section for work profile
Bug: 129948280
Test: build, flash, and test manually
Change-Id: Ia64af349c8dd1575d629debd574cdb3ae6eb650d
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
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
The interface was changed in SettingsLib,
so we also need to update the usage for setAppEntity.
Test: visual, robotest
Change-Id: I89644c4a7d6aac9cb9a8784b1f91656c8d7d6d26
Bug: 121271387
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
Scanning settings is actually done outside of Android, in the host OS.
Bug: 120222705
Test: RunSettingsRoboTests RunArcSettingsRoboTests
Change-Id: I92435541a671c43d3584f1f223b8b744e6182aa9
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()
Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284