Fix a bug where calling setUserVisibleHint(true) before adding a
Fragment to a FragmentManager could cause a crash.
Bug 27250018
Change-Id: Id192ae31bab95f15d32de9f105e707bdb8691641
Clients can now set a lock-only wallpaper that Keyguard can
observe and choose to draw as appropriate.
Bug 25454162
Change-Id: I3fc30e02919e814b55dfded2a1a36ad9d2e55299
Backup requires both CE and DE storage to be available, so delay
spinning up the backup system until the user is unlocked, since
that's when CE storage becomes available. Note that devices without
FBE immediately transition USER_SYSTEM into the unlocked state,
since their CE is always available.
Offer to backup and restore files under both CE and DE. Since DE
is effectively the same as CE, most logic is simply duplicated for
now, but it could be simplified in the future. Since system apps
can force their default storage location to DE, we always build
explicit CE and DE paths.
Add getDataDir() to give clean access to the top-level private data
directory, but disclaim that apps shouldn't create files there.
Bug: 26279618
Change-Id: Ic34a4b330223725db93b1d0f5c9dffc88002c61f
NetworkStatsService will register data usage requests
and keep data usage stats scoped to the request.
There are different types of data usage requests
- scoped to a set of NetworkTemplate; these are restrictred to
device owners and carrier apps and allow the caller to monitor
all activity on the specified interfaces.
- scoped to all uids visible to the user, if the user has
android.Manifest.permission#PACKAGE_USAGE_STATS permission.
The set of uids may change over time, so we keep track of that.
- scoped to a set of uids given by the caller, granted that
the caller has access to those uids.
- scoped to the caller's own data usage. This doesn't require
PACKAGE_USAGE_STATS.
Bug: 25812785
Change-Id: Ie11f35fc1f29d0dbe82f7fc924b169bb55c76708
Don't continue to check idle states for removed / stopped users.
No need to check for uninstalled packages for all users.
Bug: 27208519
Change-Id: I9a3a3bbec560dd380ce90df9fef102d7f62769ca
Refactor setPackageSuspended into setPackagesSuspended. The rationale
is that the consumers of this API are likely to want to remove
multiple packages at once. Rather than calling the API N times, call
it just once.
The good part is that we already have the broadcast intent for
suspended packages take an array so only one broadcast. Less stress
on the system.
Another good part is that (right now) we only have one consumer of
this API and it will be easy to make changes once this CL goes in.
As a shell command, for consistency only allowed one package at
a time.
Bug: 22776761
Change-Id: Ic8b8cf64d0a288ea3a282bb7b72f9d663b3b0049
- Also animate when there is no thumbnail, which can frequently
happen after exiting multi-window.
- Also animate when the target stack id is INVALID, because we
currently don't persist stack id's in the tasks.
Change-Id: I280c85e62f55d712408a3e77c43f665acb19bc4c
* changes:
Fixed issue with losing window name when copying WindowManager.LayoutParams
Added AM API to remove a stack
Don't resume activity on start if there are activities pausing.
Instead of always rebuilding the full ApplicationInfo for a
package when callers are only interested in the suspended status
add a new fast API in Packagemanager (which only checks the
suspended user setting for the requested package and returns
a boolean) and change the appropriate caller code too.
Bug: 26794775
Bug: 22776761
Change-Id: Ide8428ef734479360d5a8a75fd8e0ed8ddf2da7a
The old getSharedPreferences() API had a side-effect behavior that
subsequent calls wouldn't touch disk if there was a cache hit. Now
that we're using File as the cache key, we were generating the path
every time, which resulted in touching disk.
To bring back the old behavior, let's add yet another cache!
Bug: 26979210
Change-Id: Ib8346c6f69ae25f8f164e3b7e05bc6358de38906
We're starting to see more instances of device features that will
increment separately from the SDK API level, such as camera HAL,
GPU capabilities, Bluetooth, and other hardware standards.
This change adds the ability for device features to specify a
version, which is defined to be backwards compatible. That is, apps
requesting an older version of a feature must continue working on
devices with a newer version of that same feature.
When a version is undefined, we assume the default version "0".
Bug: 27162500
Change-Id: If890bf3f3dbb715e8feb80e7059a0d65618482ea
Apps typically have a umask() that prevents the mkdir() from setting
the requested permissions.
Bug: 27116987
Change-Id: Ia14e7e31531328ab36e902a864b3d2891feec544
This is needed from Settings to show a message informing the user
of the number of attempts before their work profile gets wiped
when using ConfirmDeviceCredentials.
Bug: 26677759
Change-Id: I4b16f7dc2f415d0ce0215a3b7a646f98fabece33
* changes:
Adding view debug annotations to simplifying debugging state.
Disallow launching third party apps in safe mode.
Drawing thumbnail background color for empty space in view.
In split-screen the light status bar flag for one side of the
status bar can be different from the other side.
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR is now reported for both
the fullscreen stack and docked stack, but not anymore in the
"default" SysUI visibility field when reporting a visibility
change to SystemUI. The change also reports the docked stack
and the fullscreen stack bounds, so SystemUI can guard tinting
the icons on whether the icon is one of the areas.
When calculating the light status bar flag in PWM, we keep track
of the top fullscreen opaque window state for the docked and
fullscreen stack separately.
Bug: 24365214
Change-Id: Id2240a86d75bf96e0138ec7652a4793859f56e3c
As approved by Android Security team, added logging of
strength of auth method as well as logging of fingerprint
keyguard actions.
Bug: 26841997
Change-Id: Ic8e3f125f775a7585fe56003f4c6442390edea61
Bug 22291911
Forced visibility for transitions was introduced to make
Activity Transitions force going from INVISIBLE to VISIBLE
without triggering focus changes. setTransitionVisibility
was later introduced and now allows us to use visibility
without triggering focus changes.
Change-Id: Idf21542464a13bac7b4d4a17f6b9303f68d550c3
The api deactivates all the active admins in the package, then force
stops the package and starts the uninstall intent for the package. This
is intended to provide an easy way for a user to delete a misbehaving
Device Admin
Bug: b/22359208
cherrypick of Ic7ddd89ef6db53e7e76f805808d9e806100374db
Change-Id: I0d677839120c46f22231a7d6f9cf6630cb020227
Adds a bindService variant to run the ServiceConnection callbacks
on a dedicated Handler.
Changes KeyguardService binding to use the foreground thread
instead of the main thread and changes state to the
KeyguardScrim on the UI thread.
Bug: 26954967
Change-Id: I9d7bd85382816cd0e23772b14ff6518266a9d232
Enforce that apps with delegated powers to exist on device before
empowering them. This is consistent with DevicePolicyManagerService's
internal logic to clear the delegation power once the package is removed.
For delegated cert installer, only enforce this new restriction on
device admins targeting N or later.
Bug: 26233778
Change-Id: Ia8f45dfd5290958cebb36991c4b6baa03e8c28ae