Which really means, make background check much more
strict, with an option to revert to the more lenient
behavior.
In this strict version, an app can't have services
started or receive broadcasts at any point when it is
not foreground. Also, it doesn't matter the importance
of a caller trying to start a service, it only depends
on the state of the app whose service is being started.
A new activity shell command allows you to control
whether to use the strict or lenient behavior.
Change-Id: I7f5a50b52881b5c8f9d8b6c8c622d3652a769fd7
Add a new API to allow a wallpaper bitmap to be obtained for
a specific user.
Without this API, using only getWallpaperFile(..., userId), one
can't get a default wallpaper bitmap if the wallpaper is not set.
Bug: 25185253
Change-Id: Ibe1e9a49d22bee08fd4bed415573c1ee28526aea
Custom media notifications can now also be decorated by the system
instead of going fully custom.
Bug: 26961842
Change-Id: I1d85a652b93f10988939b471a14b372671acfaf1
This allows decorated custom remote views to be properly
showing with a large image.
Bug: 24866646
Change-Id: Ie355e503437f19ace2503d42f44bee4bd22f03c8
Add HardwarePropertiesManagerService which call native methods to
get CPU, GPU, battery temperatures, CPU usage info, fan speeds.
Restrict hardware properties retrieval only for device and profile
owners.
Bug: 26945055
Change-Id: I4d6b30b78e575532d5e9cfa59ef6cd81355439d4
Shared prefrences loads thir content from disk on a separate
thread to improve performance, however it holds the lock
the whole time while reading from disk which as a result blocks
operations that don't rely on reading data from being performed
intil load completes, e.g. reguistering a prefernces change
listener does not depend on having the data loaded.
bug:5254577
Change-Id: I5ad67b285631c34d5aadac7138ba8bfaa728cf94
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
Update documentation for the DevicePolicyManager regarding APIs
that can be called on the DPM's parent instance.
Bug: 26903406
Bug: 27065927
Change-Id: I45cb8de0ab9ad26812ba502820264b68c36c88fd
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