We also refine the order of delivery within any given package. Now,
we identify which apps have wakeup alarms being delivered in the
current pass, and deliver all of that app's alarms before moving
on to alarm delivery to apps who are only receiving non-wakeup alarms
in the current delivery pass. The TIME_TICK alarm is also hoisted to
the start of the current delivery pass if present.
Bug 17778686
Change-Id: I6306a00fe657787a77d0254c0807ac51e810fdcf
Listen for phone call state changes in NoMan, and disable
incoming non-call notification effects when non-idle.
Bug:17658454
Change-Id: I6f7d66413970fbff6822ab29a12f91cbed068261
Tweak the oom tuning to raise everything by 50%. This is the same
increase we did for Volantis; I am thinking that most of the issue
there was not it being 64 bit, but it being tighter on RAM. From
my testing, it looks like in user switching there was some paging
going on with Nakasi, and with this change things seem to be better.
We should probably revisit this for future work on RAM. It seems
likely that a 64 bit device will need more RAM, so probably the value
I am picking here is larger than we actually need for other devices.
I think this is the safest change at this point though -- it leaves
Volantis the same, where we already had tweaked it to address paging
issues, raises it on Nakasi (to the same value as Volantis) where we
seem to have paging issues, and on our other devices also raises it
but those are generally not under memory pressure so this shouldn't
really make a difference.
Change-Id: Ib19394068734d322a015ed07370d9d4961877e4b
This reverts commit cf2bd348e73e880fe5bfc7a025732d4ec606ff1f.
Reverted because for account removal the AccountManagerService
delegates the sending of LOGIN_ACCOUNTS_CHANGED to the authenticator.
See b/17511110.
Change-Id: Ic03016af98070b4add5f7a5ec1fdff32ba63298e
Previous commit bfed9f34c makes the preloaded system app take
precedence over third-party apps when defining permissions, but
it also makes it be able to override android built-in permissions.
Now allow preloaded system app to take the ownership of built-in
permissions instead of overriding it.
Change-Id: I10d588d0284e4316ea4be552fd6191f33e3c725b
Due to a recent change there was a regression that caused the
screen brightness to be animated down to 0 while the screen
off animation was running. When the brightness was low this
would cause the screen off animation to be cut short.
This change ensures that we take into account the actual screen
state instead of the desired screen state when making screen
brightness decisions in case we are in the middle of a transition.
The darkness came early. The pixel fairies trembled.
Bug: 17718416
Change-Id: Ib4b55d61b359abbc70920e324f08a5db07bdd035
It's perfectly ok for a secondary display to not have a home stack.
There is no reason to report it.
Related to b/17677973.
Change-Id: Ia9d52cabb601760d32d2b847dfa0ca4f304e4e2a
Previously the score was not sent out causing other NetworkFactories
to have the lower unvalidated score and to repeatedly try to bring
up a new Network only to have it torn down.
Also, avoid logging an error when tearing down a network with only
listening requests.
bug:17726566
Change-Id: I82ff7c9bd5ec962f62a50ad0042c278622953969
Explicitly selected Networks may never be validated (e.g. Chromecast)
but are still given a high score so they can explicitly become the
default Network. Without this fix they do not become the default
Network if another Network is present. This was an artifact of how
unvalidated Networks were handled, but now that unvalidated Networks
are properly handled, ala 50807d, we can freely rematch even
unvalidated Networks and NetworkRequests.
Also, never linger and teardown unvalidated Networks as the user
might be in the process of signing in. This better matches prior
behavior when unvalidated networks didn't match NetworkRequests,
and thus were never lingered.
Also, don't disconnect networks that may be lingering. The
disconnect logic in rematchNetworkAndReqeuests() is adjusted to only
fire when a network is newly validated.
It is incorrect to consider rematching uncreated Networks and
explicitly selecting created Networks, so this change logs error
messages in those cases.
bug:17647968
bug:17396616
Change-Id: Id6b8a350b8200f484d5bfd14ca0a8f64f08846a0
Fix Slog.wtf to not acquire the activity manager lock in its code
path, so that it can never deadlock. This was the original intention
of it, but part was missed.
Now we can put back in the code to detect when strict mode data is
getting large (a little more targeted now to the actual problem),
and use Slog.wtf to report it. And as a bonus, when this happens
we will now clear all of the collected violations, to avoid getting
in to the bad case where IPCs start failing. So this should be
good enough for L to fix the problem, with wtf reports for us to
see if the underlying issue is still happening.
Finally, switch a butch of stuff in the system process from Log.wtf
to Slog.wtf, since many of those are deadlocks waiting to happen.
Oh and fix a crash in the settings provider I noticed in APR.
Change-Id: I307d51b7a4db238fd1e5fe2f3f9bf1b9c6f1c041
There was a path through idle where we could clear mBooting but not set
mBooted, so we would no longer start activities. This is probably happening
because if you start a user or userdebug build with the device plugged in
to adb, the system early on starts the USB security dialog, before home is
started. If that goes idle first, we will end up in the case where we
clear booting (because something went idle) but not set booted (because it
was not home that went idle).
Change this so that we always set booted when clearing booting.
Change-Id: I40053710eefa939315aeb9475ecdd2e8a87351ff