This ensures that both are using (almost) identical logic when
deciding what installs to proceed with. Installs from "pm" for all
users now run as OWNER, and rely solely on INSTALL_ALL_USERS to
express intent. This keeps install session notifications simple.
Since installer UID can vary from installer package name, start
persisting the UID. Also parse some missing flags for install
sessions.
Bug: 17469392
Change-Id: I6d89b1a787aa2024cc4bebf6b9c29317c358e147
When the system time is changed, the UsageStats API
will modify all existing entries to correspond with the
new time change. If the time changed when the device was
off, stats in the future will be deleted.
Change-Id: Ica3e9917d4d1a180f97700e52ab390e3673e1e82
Popup windows from the activity hiding the keyguard weren't being
shown. This change retrieves that activity from PhoneWindowManager
and applies the show or hide call to the windows that match the
activity.
Fixes bug 16479813.
Change-Id: Ia6fe97240aec85c5233eee9038138f7d48095a6e
...even for apps in cache
64 bit devices are cool, so they get to use more RAM for their
caches.
Shhhh, don't tell 32 bit devices, they get terribly jealous.
Change-Id: Iec9a0c43718a75530555bac50185658a682969aa
Ran out of file descriptors and got a null file list. This
checks for null file list.
Fixes bug 17461213.
Change-Id: Ia6d49d0bdb6da98623b76d2b87cd09bc0afa1f27
...rather than overwriting the existing wallpaper bitmap file "in
place." If the new bitmap is smaller than the previous one, we wind
up with the previous image's contents as spurious trailing file
contents. Also, it means that if any wallpaper image is particularly
large on disk, then we'll forever be backing up that high-water-mark
amount of data every time the wallpaper is changed.
The fix is to open the "write the new bitmap to disk" fd with
MODE_TRUNCATE.
Bug 17285333
Change-Id: I3d8708d72e316834b7ecec20386153a703efddd9
Also changes intent returning method from get to create. Both changes
are in response to API council feedback.
Bug: 17389882
Change-Id: I3b57e3fc202148e3bbb24ac61229f04e8b4ac41e
We were handling rotation changes for accessiblity in the window
manager too early, before the rotation animation completes. This
lead to wrong window positions being reported to the accessibility
layer. Now we handle rotation for accessibility when the rotation
changes, if we will not animate, or after the rotation animation
completes.
bug:17457240
Change-Id: Ia772f4886bfdbe0f9bc9003c12f36b2fbd6f45ec
The TvInputInfo is updated when
1. the package is reinstalled.
2. the media on which a newer version of TV inputs exists become
available.
3. the media on which a newer version of TV inputs exists become
unavailable.
BUG: 17349383
Change-Id: I983058b13678bd8ecf7d766dc8bdac5fed7df4a0
This change removes requirement that sender has this permission for
protected broadcasts (since they can only come from framework)
Bug: 17409667
Change-Id: I3431c20a4ed28b3ba2bfc3cf53772e63a3424a2c
BUG: 17424511
Introduce an "isOverrideDeadlineExpired" which will allow clients
to know when they are being run due to an expiry.
Nb that we check deadline expiry by checking that the constraints on
the job are not satisfied at execution time. Really this is the same
thing, as a job will not be run without its constraints being met,
unless the job has expired.
Change-Id: I4b91e5b5eadccabd91296d5a5ca66b859dbfaf5c
Instead of remembering to add clean-up logic to every install scan
failure case, rely on the fact that we're now throwing for all errors
and use a finally clause to delete data directory when requested.
When clearing data for a package, always try deleting the app data
directories, even if no record of the package exists. This helps
users recover from UID mismatches without resorting to a full data
wipe.
Bug: 17005516
Change-Id: I352863ef4e468c576ecf136549e21cceae2650d5
Even though Shell user is allowed to perform cross-user actions,
lock that path down if the target user has restrictions imposed by
the profile owner device admin that prevents access via adb.
If the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don't
allow the shell user to make the following types of calls:
start activities, make service calls, access content providers,
send broadcasts, block/unblock packages, clear user data, etc.
Bug: 15086577
Change-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3
...hundred milliseconds.
Rework the locking so that no critical paths block on the cpu collection.
Change-Id: Ie615a033f7f8b523b67abee62c581d1a8fce324c
BUG: 17359770
Reuse the Manifest.permission.ACCOUNT_MANAGER to protect this receiver,
because when this intent lands it kicks off a sync for every account/provider
on the device.
Semantically this means "if you can't talk to an authenticator to do things like
get a token or add an account, then you can't send an intent to the SyncManager
that the accounts on the device have changed in some drastic way"
Change-Id: I7eccc38e135cb00ebb0aafc69afc802fe1c4f219
Network Factories are allowed to go below, but networks need to be
constrained. Allowing the network to go below 0 meant that -1 could
sometimes leak through and foul the logic.
The core of 17361330 will be fixed when we stop sending scores for
listens to NetworkFactories, but it exposed this issue too. Summary:
1 - add a network listener. This isn't a request so it's not sent
to networks.
2 - alter your score (ethernet sets score to -1 when the link goes
down) (16:07:39.782)
3 - a bug in ConnectivityService causes score changes to get sent for
all network requests and network listeners causing NetworkFactories
to no see 2 entities. This bug will be fixed by a pending change
(https://googleplex-android-review.googlesource.com/#/c/540840/).
This causes the ethernet NetworkFactory to see two entities, both
served by networks of score -1. (16:07:39.989)
4 - disconnect Ethernet - this only sends 0 scores for known
requests, not network listeners. Had it been sent for both entities
they both would have evaluated that the networkfactory score (-1)
was lower than the request score (0) and both released their
refcount. (16:08:03.147)
5 - this means the listener is tracked by the EthernetNetworkFactory
with a score of -1 while the factory itself has a score of -1 so the
network release isn't called.
bug:17361330
Change-Id: Ife34ca0f9c233dd3c3df80f6fea580af43afcdeb
Defer the boot process in ActivityManagerService,
WindowManagerService and PowerManagerService until the boot
animation has completed.
Fixes bug 16309312.
Change-Id: Ic5e0d627ca4ded3e211c5d2afece89da40d34642