...that makes it impossible to deactive/uninstall them
Don't allow device admins to directly launch the add UI if
they are malformed.
Change-Id: I0d3140222d8015f680e1f199bddae2221ee0e726
User shouldn't have to go tap on the settings icon for an app that is ON by default
in a restricted profile. This way apps can write some defaults to the restricted
profile when it is created.
The app entry is also automatically removed from the list if there are no visible
restrictions.
Bug: 9074051
Also fix an incorrect dialog label. Bug: 9068877
Change-Id: I2a7ddc31fe695f58611d2ba36a8bf541b7817b10
When adding color filters to an app icon in User Settings, don't
modify the original drawable state. Get a mutable drawable.
Bug: 9054675
Change-Id: I6ea374cb801abef3f5b597fda2e84b4e67cfa9d0
Save any changes that weren't committed yet, but don't restore
earlier cancelled changes.
Bug: 9008014
Change-Id: I8faacc42a3600d1338ddedb1b59f7307903743b4
When adding a new restricted profile, user must enter some lockscreen
security. For PIN/password, return the result code (instead of cancelled)
so that UserSettings can proceed with adding the profile.
Bug: 8909229
Change-Id: I3567d7dfac869e38762f9e2a45d8ec83c51fa657
Hide the new notification listeners management setting when
no listeners using this API are available.
Bug: 8454150
Change-Id: Iae9f975e7b5a3cdf55ff7d0c6aea7e84166d53b3
This is to make it obvious that the header invokes user info settings.
Bug: 8888002
Also fix a minor copy/paste error in contentDesription attribute.
Change-Id: I3a90b0d691df8302fee696d82c5819f43109ae8e
When wifi is switched off we no longer want a notification dialog
about scan-always, instead using in-panel text.
bug:8907190
Change-Id: I707f306a056068d92f69070873f1e6330b598b1e
If there is no installed accessibility services and the user goes into
the accessibility settings section, the app crashes. This is due to a
lacking null pointer check against the list of installed services
returned by the accessibility manager. We should not have returned
null, rather an empty list - too late now, sigh...
bug:8871034
Change-Id: Id3800d398af83868862847fa7ed861a9dee61c8f
When BluetoothSettings is entered via QuickSettings while an A2DP
device is connected, we aren't showing the device connection
status in the UI, because the device list is created before we've
connected to the A2DP and Headset profile services, and we weren't
refreshing the device list UI after getting the callback for
onServiceConnected() and retrieving the list of connected devices.
Add a line to HeadsetServiceListener.onServiceConnected() to call
device.refresh() after we call device.onProfileStateChanged() to
refresh the device list UI. Also copy the logic into A2dpProfile's
onServiceConnected() callback so it will refresh the UI for any
connected A2DP devices.
The reason this bug doesn't show up when entering BT settings
from the main Settings screen is because the onServiceConnected()
callbacks happen before the device list is initialized, so the
UI items are created with the correct connection status. For the
same reason, the bug doesn't occur if the Settings app is already
running and we re-enter it via Bluetooth QuickSettings.
Bug: 8724247
Change-Id: I1a993636ecab18dd6e980e3b4d2485bbed256d74
Bug: 8735493
If there's no screen lock, prompt to take the user to set a lock.
On return, check if user set the screen lock. If so, add the restricted
profile, otherwise don't add it.
Fix a small layout issue: Bug: 8721209
Change-Id: I2a18fea50a1d810d6a7fa82038b460ca4e03d5a0
Bug: 8736733
Put the summary "Restricted profile" under the user name in app restrictions panel.
Bug: 8736734
Change-Id: I6b724bd10a9246eb57831bffb737a48c01e0c285
Delaying applying the states till onPause() sometimes results in the apps
disappearing slowly as the new user is booting up, causing failed queued up
broadcasts that result in crash dialogs. This happens mainly when the user
switch is initiated via QuickSettings->LockScreen->Switch while the App
restrictions screen is still showing. The onPause() gets called when
SetupWizard actually takes focus, which is quite late, as boot completed
and other events have already been queued.
Apply the initial toggles right away and apply any user changes when primary
is going to background, or onPause(), whichever comes first.
Bug: 8685927
Also ensure that apps with restrictions get a chance to persist their defaults
as soon as they are toggled on. The user may never actually click on the settings
icon for the app (which was the only way they were getting persisted before).
Some new strings for an upcoming change.
Change-Id: I96f453d066a91c6b15eafe9a6ce3f42d98bf5e33
1. Certain accessibility settings are shown on a separate screen with
a toggle switch and a description. Sometimes the description does not
fit the screen. The preference framework is using a list view for
holding the description item. This list view was disabled, thus not
scrolling (done to avoid drawable state change on click). Now the
list view is enabled and the drawable state change on click problem
is solved by setting the selector and divider drawables to a
transparent one.
2. The layout for the list item that shows the feature description had
an unnecessary linear layout.
bug:8632146
Change-Id: Ib81a8513158d5b8d90fa80f57720c8590022ae1a
Add default IMEs to an exclusion set so that we don't include them in the
list of toggleable system apps that we show the user.
Bug: 8724246
Unrevert the change to include disabled apps, as the above change fixes the
reason for the revert.
Bug: 8713202
Change-Id: Ifced841ad3bfbde33d2403356216dd1749b7fa9a
This is breaking restricted profiles because the Google Keyboard suddenly
shows up in the list as disabled and InputMethodManagerService crashes
if the only available keyboard is not installed for the profile.
This reverts commit 90dcd7469b
Change-Id: Idd7c4f0f93a973b777889865e80c53caad759a63
If we don't show disabled system apps for toggling, they'll end up
being automatically included in the restricted profile.
Make sure that we also list disabled apps.
Bug: 8713202
Change-Id: I8f2facf496f669dfe963cdabf3d29d393097a80b
CircleFramedDrawable was trying to draw itself as big as the hosting view by
looking at the canvas size. However, due to inconsistent API behavior for the
cases with and without hardware acceleration the canvas size returns the
size of clipped canvas or the size of the entire canvas, respectively. While
we should fix the inconsistent API behavior, it is not correct for a lower
level component to know about the higher level one, i.e. a drawable trying
to infer the size of the hosting view. The hosting view should set the size
of the drawable. This change removes the dependency on the host view size and
if one wants to enlarge the drawable, he/she should just set the scale.
bug:8671059
Change-Id: Idc572da7dff60fd10cb37d3c3eca27aac2c0a21f
Since the enable touch exploration capability is dynamically granted by
the user for apps targeting pre-JellybeanMR2 API level, we have to avoid
caching copies of the service info.
Framework change:https://googleplex-android-review.googlesource.com/#/c/301722
bug:8633951
Change-Id: I2b409ca92931d1409e885d6f54e0f10cbece2e80