Commit Graph

277 Commits

Author SHA1 Message Date
Chaohui Wang
37375565e5 Fix sub status of LocationSettings
Fix the followings:
Recent access apps are not displayed after toggling off/on
"Use location".
When "Use location" is enabled, "Location for work profile" switch is
disable and gray out.

Fix: 227621199
Fix: 227265216
Test: manual
Change-Id: I9f955a381827eb020fbd0d6ebeb9fced3dec1dcf
2022-04-17 19:38:39 +08:00
Yi-Ling Chuang
0bf3ed99eb Fix flickers on the Location page
Use the UiBlocker and its delegate method to prevent the flicker.

Fixes: 220837804
Test: Go to Settings > Location and see all items appearing at the same
time.

Change-Id: I2095289b9436ca66970b6a868d5c9780f2b19664
2022-03-28 17:27:34 +08:00
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
Kate Montgomery
53a107f2d4 Log clicks on the "Show System / Hide System" button in Location
Settings recent accesses.

Bug: 191503437
Test: manual
Change-Id: I2bcae63832c0a38a95f8087e2a4b5cf625ee7604
2022-02-14 15:59:55 +00:00
Jonathan Scott
a2781721e2 Merge "Allow overriding of strings referenced in XML files." 2022-02-09 10:48:09 +00:00
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +00:00
Kate Montgomery
9082be89bf Clear recent access list when fragment is paused.
When the fragment is resumed, the recent access list will be reloaded.
Clearing the list ahead of time results in a nicer animation and matches
the animtion when the fragment is first open.

Bug: 191503437
Test: manual
Change-Id: I91d01057acc601e6b2a40401f8bd69c5f5aa3579
2022-02-05 01:27:06 +00:00
Nate Myren
2f1fec89a0 Merge "Create PrivacyControls page in settings" 2022-01-31 22:43:04 +00: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
Nate Myren
232962c3f2 Create PrivacyControls page in settings
Current strings are WIP, no entry point. Also updates a few remaining
EXTRA_PERMISSION lines to EXTRA_PERMISSION_GROUP

Test: build
Bug: 194816787
Change-Id: I347b3011e1f51bd11dca92471ba8ba77e2d758e5
2022-01-13 12:24:21 -08:00
Michael Groover
911f7e7aa9 Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.

Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
2021-12-09 20:34:02 -08:00
Lifu Tang
df1b7c6979 Remove tabs from recent location access page
Bug: 185382276
Test: manual - screenshot/Az2obQLjdy7vVv9
Change-Id: Ic2f3004d57108e136c622290e8d78bf284a09258
2021-11-12 12:43:43 -08:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08: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
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