Commit Graph

264 Commits

Author SHA1 Message Date
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
Yanting Yang
007d1b2a57 Remove stale search result about "Recent location requests" page
Based on the new design, RecentLocationRequestSeeAllFragment was no
longer used on Location, but it still implemented the indexable
interface to provide stale search result “Recent location requests”
to Settings Search.

Remove the indexable interface from RecentLocationRequestSeeAllFragment
as a quick fix and also correct the related test method name.

Fixes: 192542283
Test: visual
Change-Id: I1a3df5d7319b8831db2f3d3abba19a11b5a83c81
2021-07-01 20:31:05 +08: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
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
Yu-Han Yang
fdff6af031 Fix scrolling issue after MLS switches
Bug: 187546020
Test: on device
Change-Id: Ie1c573396cbc8b3256db5e350c622e566a44495c
2021-05-27 11:31:09 -07: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
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
TreeHugger Robot
8f8666e3d0 Merge "Retain and restore showSystem state when rotated" into sc-dev 2021-04-30 03:19:41 +00:00
Yu-Han Yang
c2ea62d1f8 Retain and restore showSystem state when rotated
Bug: 182275573
Test: on device
Change-Id: I8a7e2d1ceb715cb6df470d7e3131b82d12ba6fa1
2021-04-29 15:39:28 -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
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
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
d8df0d97e2 Move WiFi/Bluetooth scanning toggles to new pages
Screenshots: http://shortn/_ZmO6y9Zi5S

Bug: 180533061
Test: on device
Change-Id: I1223c9f5641bcc24b3e16af45138643f62849b8b
2021-03-12 16:52:17 -08: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
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
Stanley Wang
6a824b3535 Merge "Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings." 2021-01-15 02:14:52 +00:00
TreeHugger Robot
78c6656981 Merge "Refactor AppPreference and AppSwitchPreference" 2021-01-14 15:28:17 +00: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
Edgar Wang
fc02ce1c20 Refactor AppPreference and AppSwitchPreference
- Move AppSwitchPreference
- Remove FeatureflagPreference summary

Bug: 176815722
Test: robotest
Change-Id: Id337097f237ac9ca6dfa01665df61b1258dc24f2
2021-01-05 18:27:08 +00: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
Sunny Shao
0b0f237834 Add the explicitly mutable flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
  FLAG_MUTABLE while errors occur.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
2020-10-14 09:38:51 +00:00
Daniel Chapin
ee1360f13c Revert "Add the FLAG_IMMUTABLE flag for creating a PendingIntent"
This reverts commit 334968c113.

Reason for revert: Bug: 170280415

Change-Id: Idaa269406d6c1609c75f0dfba1f7fa9daf979101
2020-10-07 17:47:36 +00:00
Sunny Shao
334968c113 Add the FLAG_IMMUTABLE flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass and manual test add an account
Change-Id: I0f7b117273647dbe9e146033b8995c8c6f147576
2020-10-06 11:46:08 +08:00
Edgar Wang
8c8a2e85ec Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual

Change-Id: I32f369a608c8b4f513f2c32afca6d408ee273428
2020-08-12 11:25:21 +08:00
Edgar Wang
4e02ceb8b4 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I890335a0c0e31f7d3ea32c6130482e4ef0e20b88
2020-07-29 13:36:09 +08:00
Jason Chiu
b12e3b96c9 Support click metrics logs in several pages
- Assign metrics category to perferences at an earlier stage in
  DashboardFragment for better usability.

Bug: 137559984
Test: robotest
Change-Id: Icd4185efa0e655be20c4b673a1380fa42140923f
2020-04-07 16:44:53 +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
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