Background
* This is part of the work to support
a credential management app on
unmanaged devices.
Changes
* Add new activity to Settings to display
a screen to the user requesting whether
the calling app can manage their
KeyChain credentials.
* Display the authentication policy
Manual Testing
* Verify screen is not displayed if intent
action is not android.security.MANAGE_CREDENTIALS
* Verify screen is not displayed if authentication
policy is not valid
* Verify button panel is visible if all items in the
authentication policy are displayed
* Verify button panel is not visible if not all items
in the authentication policy are displayed. Verify
that scrolling to the bottom of the item list, the
button panel becomes visible.
Bug: 165641221
Test: Manual testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.RequestManageCredentialsTest
Change-Id: Ie23b226f1a285b3de6ec3e91b8880d9144bb24a3
Since Bedtime mode can suppress AoD, after reviewed by UX, we decide
update the summary to "Unavailable because Bedtime mode is on" when AoD
is suppressed by Bedtime mode.
Bug: 168790245
Test: manual & robotest
Change-Id: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
In Android R, when users enable, disable, delete, or rename a profile,
Settings calls SubscriptionManager APIs which telephony ends up to send
actions “TOGGLE_SUBSCRIPTION_PRIVILEGED”,
“DELETE_SUBSCRIPTION_PRIVILEGED”, and “RENAME_SUBSCRIPTION_PRIVILEGED”
to EuiccManager. After EuiccUiDispatcher dispatches the action, Google
LPA receives it and starts the corresponding operations and DSDS
dialogs. We can see there some back-and-forth that goes on between LPA
and telephony. In order to improve the current structure, we devided
to move the dialogs to Settings and make it call EuiccManager APIs
directly.
Bug: 160819390
Test: Manually tested eSIM profile disabling.
Design: https://docs.google.com/document/d/1wb5_hoBkZVbkXGNWHbx4Jf61swjfxsJzkytiTzJosYo/edit?usp=sharing
Change-Id: Ib933df42ca3606de2310edc4d64c3e11800a1096
Previously, long-pressing any developer options quick settings tiles
redirects to the application info page for Settings app. The manifest
change makes the long-press by default, go into the developer options
page.
Also, there's a check if the long-press came from the wireless debugging
tile so it can launch the WirelessDebuggingFragment.
Bug: 153275926
Test: Enable the wireless debugging qstile in developer options.
Then long-press the wireless debugging tile, which should direct you to
the WirelessDebuggingFragment. Also, enable any other qstile and
long-press them. It should direct you to the developer options page
instead of the application info page.
Change-Id: Id495e5c978005c21d0f33b949d7c410100bf3cf5
Previously, long-pressing any developer options quick settings tiles
redirects to the application info page for Settings app. The manifest
change makes the long-press by default, go into the developer options
page.
Also, there's a check if the long-press came from the wireless debugging
tile so it can launch the WirelessDebuggingFragment.
Bug: 153275926
Test: Enable the wireless debugging qstile in developer options.
Then long-press the wireless debugging tile, which should direct you to
the WirelessDebuggingFragment. Also, enable any other qstile and
long-press them. It should direct you to the developer options page
instead of the application info page.
Change-Id: Id495e5c978005c21d0f33b949d7c410100bf3cf5
When users open volume panel and keep on changing the volume slider for
a while, the panel starts to defer the slider updating, and finally gets
stuck and causes an ANR.
Root cause:
Volume panel has four volume adjusting slices. Each of them registers
a broadcast receiver to listen to the volume changed and muted events.
However, when the media volume changes, AudioManager will send four
broadcasts (music, assistant, accessibility, tts) to every receiver, and
each of them will reload slice four times. Thus, one media volume
changed event will lead to 16 (4*4) UI updates. Consequently, keeping on
sliding the volume bar will trigger hundreds of broadcasts and UI
updates, which makes the system busy and getting stuck.
Solution:
Introduce a VolumeSliceHelper to integrate the broadcasts of the volume
slices specifically.
1. Only register one broadcast receiver to reduce the broadcast loading
since the four slices are listening to the same signal.
2. Filter the only one eligible broadcast among the multiple concurrent
ones, and then relay it to the registered slice.
3. Listen to one more action STREAM_DEVICES_CHANGED_ACTION to update the
volume panel when audio output device changes.
Test: robotest, visual
Fixes: 144134209
Fixes: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
Merged-In: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
(cherry picked from commit 2c7b77dad7)
Provider model is a feature which improves networks
Settings UX.
NetworkProviderSettings is the fragment which allow
users to choose a mobile network or a Wi-Fi network
to connect.
At this change, NetworkProviderSettings is a clone
of WifiSettings, mobile networks will be integrated
at later CLs.
Bug: 167474581
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.network.NetworkProviderSettingsTest
Change-Id: I185639a8f2469e9ec76ad18b6c2bc2e8a4d079e3
-A new SystemUI dialog requires to launch Bluetooth pairing page
-Add receiver in manifest
Bug: 155822415
Test: build pass
Change-Id: I16767af3afb05eab7246be133011bc9148909d11
When users open volume panel and keep on changing the volume slider for
a while, the panel starts to defer the slider updating, and finally gets
stuck and causes an ANR.
Root cause:
Volume panel has four volume adjusting slices. Each of them registers
a broadcast receiver to listen to the volume changed and muted events.
However, when the media volume changes, AudioManager will send four
broadcasts (music, assistant, accessibility, tts) to every receiver, and
each of them will reload slice four times. Thus, one media volume
changed event will lead to 16 (4*4) UI updates. Consequently, keeping on
sliding the volume bar will trigger hundreds of broadcasts and UI
updates, which makes the system busy and getting stuck.
Solution:
Introduce a VolumeSliceHelper to integrate the broadcasts of the volume
slices specifically.
1. Only register one broadcast receiver to reduce the broadcast loading
since the four slices are listening to the same signal.
2. Filter the only one eligible broadcast among the multiple concurrent
ones, and then relay it to the registered slice.
3. Listen to one more action STREAM_DEVICES_CHANGED_ACTION to update the
volume panel when audio output device changes.
Test: robotest, visual
Bug: 144134209
Bug: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
This reverts commit 44eecb7375.
Reason for revert: The name has been reverted back to ACTION_VIEW_ADVANCED_POWER_USAGE_DETAIL
Change-Id: Ic13f665061b9fc58afeca4a57809248cc1a00743
Bug: 161298021
Initial setup for migrating SlotChangehandler from LPA to Settings
Bug: 160819212
Bug: 153811431
Test: Manually tested on Pixel 4 to make sure SlotChangeReceiver can get
slot change events correctly.
Change-Id: Id95f2db875ba08250f4740536742627500b74f0d
In Settings, AlertActivity child objects use the theme
which is not compatible with dark theme.
Use @*android:style/Theme.DeviceDefault.Dialog.Alert.DayNight
to fix dark theme problem.
Bug: 157961813
Test: manual visual
Change-Id: I49decbd51a4346c65c9b40dbe056687337b4b385
With b/150232615, we will need an explicit value set for the exported
flag when intent filters are present, as the default behavior is
changing for future versions. This change adds the value reflecting the
previous default to the manifest.
These changes were made using an automated tool, the xml file may be
reformatted slightly creating a larger diff. The only "real" change is
the addition of "android:exported" to activities, services, and
receivers that have one or more intent-filters.
Bug: 150232615
Test: TH
Exempt-From-Owner-Approval: mechanical refactoring
Change-Id: I04fa7747287e6284d574b5d0f7c3a8a86889946c
Adds a toggle under Settings > Sound > Media to toggle media resumption
Bug: 154039093
Test: manual
Test: atest SettingsProviderTest
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="MediaControls"
Change-Id: I803c57031bc3252cab35c06ea124d1c22a3c3aeb
Adds a toggle under Settings > Sound > Media to toggle media resumption
Bug: 154039093
Test: manual
Test: atest SettingsProviderTest
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="MediaControls"
Change-Id: I803c57031bc3252cab35c06ea124d1c22a3c3aeb
- Use the ic_home_xxxx.xml to replace the original icon.
Bug: 157623047
Test: manual review
Change-Id: Iffd084cac6a0a40d13d9fd1a8944ef957db450c6
Merged-In: I7a78ba47a0383a5e4c65bd461a15a8425beb1acb
The transparent IndicatorView need to be immersive fullscreen, while the
underneath activity should not cover the status bar or the nav bar.
Bug: 157747505
Test: Manual test to verify status bar and nav bar are visible.
Change-Id: I6d5a3f53dd3768524700c3e33135fa7dfde839f1
AppPicker used in devceloper options, it will show apps list with
package name in a dialog.
But sometimes it will mis-alignment with package name.
So we change theme from dialog to full screen and set widget_frame
visibility to GONE.
Bug: 151150544
Test: manual
Change-Id: I8f04ab7967288801e5e13ecccf037d6ed09ec71c
With b/150232615, we will need an explicit value set for the exported
flag when intent filters are present, as the default behavior is
changing for S+. This change adds the value reflecting the previous
default to the manifest.
These changes were made using an automated tool, the xml file may be
reformatted slightly creating a larger diff. The only "real" change is
the addition of "android:exported" to activities, services, and
receivers that have one or more intent-filters.
Bug: 150232615
Test: TH
Exempt-From-Owner-Approval: mechanical refactoring
Change-Id: I878adb9108c95f06ddd059b23a542b61210edfa4
WifiSettings uses WifiTracker in SettingsLib while WifiSettings2
uses WifiPickerTracker in WifiSettingsLib.
1. Remove WifiSettings.
2. Rename WifiSettings2 to WifiSettings.
3. Remove the files only used in the removed WifiSettings.
(Saved networks files are not included)
Bug: 152571756
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
atest WifiSettingsUiTest
Change-Id: I800b434c8049121db115cff87d51e164e4529999