Try to catch any cases where we remove a ProcessRecord from the LRU
list when it may still have a process associated with it, report
that this happened, and try to make sure the process is killed.
Change-Id: Icd74439caba5e1c283c01a49a46dae926a00ba71
This turns out to happen a lot in normal usage, but we're logging
copiously about it each time. It's reporting "oh hey we're already
in this state" -- and so the log is not useful anyway.
Logspam is spam.
Bug 15169507
Change-Id: Ie2d01ff1b0b3600dd9c15ccf83d60875558f1dc2
...due to dying renderer process
Don't kill processes if they are bound to a service but not impacting
oom adjustment.
Change-Id: I1cc44e633feaeaad6e996b79a6cfd7b386c04095
Since we're reusing the cast tile for screen sharing we need to make sure there's only ever one
mirroring presentation going on at a time.
Bug: 9905068
Change-Id: I249932d0f8853880dd453eb57c2a258e6ae952b0
This allows us to ensure windows are fully drawn before unblocking
screen on while dozing.
Bug: 17516245
Change-Id: Ibe63c212b8db855ce26a34a8169f33764b266ee6
The screen on blocker is used to keep the screen blank while the
system is drawing new content to prevent the user from seeing a
flash of stale content while the screen is being turned on.
This patch ensures that the screen on blocker functionality
is also applied while dozing.
Bug: 17516245
Change-Id: I77c2d0f2b99476a59ad212099f44c63aa2ef9c34
Very useful for testing persisting/restoring, to make sure
that all pending changes have been written.
Change-Id: I0e3b7cd3af8afb0b6e751e086081566ab00b76c9
The PacManager would clear the pac url by setting it to null, however
everywhere else, pac url is cleared to Uri.EMPTY. This sometimes leads
to an NPE when PAC is set and cleared rapidly and take down the whole
framework.
Bug: 17581527
Change-Id: I84ce215f4f6a8a7e804372fc0a1e20ac609a21f1
Recently we started letting system apps always take precedence over
third-party apps when defining permissions. This change fixes that
logic to claim the permission immediately, instead of delaying until
after the next reboot. (Permissions are always reevaluated after
each install.)
We also tighten the constraints slightly to prevent two system
apps from fighting over a permission definition; the first system
app to claim the permission wins.
Bug: 17526617
Change-Id: I49686407f5e99322bc511795c653c5d702becd9d
Recently we relaxed revokeUriPermission() to allow apps to revoke
Uri permissions that had been granted to them, but this uncovered
bugs in apps that had been relying on the previous no-op behavior.
To mitigate this, only revoke ownerless Uri permissions when in the
unprivileged state; an active owner indicates that another component
of the calling app still needs the permission.
Bug: 17554268
Change-Id: Icc412933b29041ffb699d20136a623440ecc71ec
When services call Service.stopForeground(), remove
FLAG_FOREGROUND_SERVICE from the notification that was supplied
to Service.startForeground().
This enables services to post notifications that become user
dismissable when they switch to being a background service.
Restrict this to targetSdk=L apps to reduce the risk of breaking
existing apps.
Bug: 17551106
Change-Id: Iff8541e5bb2a23ad1fbc9ad80df5fd6eb683148b
...to the primary user, even if it was not whitelisted to be forwarded.
The path where getActivityInfo is called for the ResolverActivity
would not correctly apply the requested user ID to the result, so
it wouldn't run under the correct user.
Change-Id: I1da47c54bbed26091832a28236d0b06762c92437
When a TaskDescription is sent up to the system process, the Bitmap
contained in the mIcon member is immediately flushed to disk and the
name of the file replaces it in the TaskDescription. Thereby saving
mucho RAM for better uses.
Fixes bug 17527308.
Change-Id: Ifac63ea5d12ed091d1eb03e178b8b847a827f940
The BT and Wifi mechanisms for enabling Tethering did their own
permission checks. This set of changes unifies the check into
a ConnectivityManager function so they can be kept in sync.
bug:17435527
Change-Id: I8c157a5acf56ffbddd349cb6a45160ae7be8541b
Currently, carrier requirement is specified through CAPABILITIES key, whose original purpose is to indicate
the capability of the hardware, not to enable/disable features in GPS HW. With this fix, carrier requirement
on GPS features can be specified properly without messing up with the real capability. This will satisfy
VzW, Sprint and USC's requirement on SUPL mode, without sacrificing the capability of HW geofence.
Bug: 17423585
Bug: 17288144
Change-Id: I71173722d4b12bfc17562f7b5444d22b01ff4590
Background:
In ag/406771 we stopped deleting empty stacks in activity manager
and window manager. This fixed a problem where dormant tasks were
being added back to stacks later.
In ag/476888 we introduced a callback to inform the ActivityView
holder that the embedded task was complete. This callback was made
from the new method ActivityContainer.onTaskListEmpty().
In ag/483035 onTaskListEmpty() was expanded to detach the stack of the
ActivityView and also removed the stack from window manager. There
was a mistake in that CL that causes it to remove any non-home stacks,
not just ones in ActivityViews.
That mistake left us with an empty stack in activity manager and no
corresponding stack in window manager. As a result, when trying to
bring back a task that used to be in this stack window manager threw
up an exception.
This fix limits the stacks detached by onTaskListEmpty() to those
on VirtualDisplays.
Fixes bug 17469145.
Change-Id: I85a4452e8e85625e657d88e4cb9f366fd4026441