Since all TV devices are required to have a DPad as a form of
navigation we should suppress any configuration instances where it
claims one doesn't exist just because it isn't currently connected.
This prevents applications from going through a configuration change
and potentially an app restart when a remote disconnects to save
battery.
Bug: 17493314
Change-Id: Ice87b7056984afe02917ccba9196fdbcac9985fc
I got distracted in the middle of it, and forget to finish
up with the test to not kill processes if they aren't using
an auto create binding.
Change-Id: Ieecfe97fa3208e50cb91ba94be2a8659d128b0de
...are killed over eagerly.
When the current foreground activity is moving to the background,
it was briefly going through the CACHED_ACTIVITY state before the
correct LAST_ACTIVITY state, allowing its bound service processes
to be killed (because they went in to the cached list). To solve
this, as long as a process has stopping activities, it won't go
lower than LAST_ACTIVITY.
Also fixed a problem where we could put a process in CACHED_EMPTY
instead of CACHED_ACTIVITY_CLIENT. There were a number of cases
in the binding flow and also the client process state transitions
where we would not correctly updateing the bound client activity
state.
And add some sanity code so that if a process hosting a
service is killed, and a client process of that service is in the
cached state, we kill the client process. This avoids situations
where we can start thrashing around in the cached list because we
are restarting process for no reason -- since they will just
continue to be cached.
Finally, tune the process LRU list to allow twice as many cached
activity processes (from 8 to 16), so we can make better use of
the RAM we have available these days.
Change-Id: Ib0cdf78c321cbb035259fc9dd6ee27b5ba1f90c5
Found a regression in volume handling. Previously we handled
volume commands as long as the media stream was active but we were only
handling them when there was an active session on L. This adds a check to
make sure we handle volume if anything is playing on the media stream.
bug:17498479
Change-Id: Iddd745c8a762cf7ebedb37f1b26fc934db01fba0
- Add an explicit power manager call to set the low power mode state,
instead of trying manage everything around a single setting.
- When low-power mode is triggered by falling below the configured
threshold, it does not update the setting.
- The "is-enabled" api returns setting || below configured trigger.
- Move the snooze management into the new api call.
- Callers (sysui + settings) updated to use the api instead of the
setting.
- Handles the case where the level does an unpowered leap out of the
low battery level. (Possible if powered in-between while the device
is off)
Bug:17460535
Change-Id: Ic030504c9cad9868a7137abbe837b170da37852b
If a display is removed right after it is added we will get null
when trying to retrieve it from the DisplayManager. Check for that
null before commiting to using that display.
Fixes bug 17478906.
Change-Id: I89ae8cc7387729d678b9b1ed5b1797a93cdde3f9
- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.
Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
ActivityManager still thinks the device is going to sleep, so
any Activity started while the lockscreen is showing is immediately
stopped. When Keyguard calls ActivityManager.keyguardWaitingForActivityDraw(),
then we must make sure that the ActivityManager thinks we are not sleeping.
Bug:17459745
Change-Id: I5c45c88e3a72e1f08e1b32101d0d0b4675f7a5ff
- Added the prefix 'persist.sys.' to pass selinux and to make the
properties persistent after reboot.
- Shortened the name to fit the length to 31.
- Got together the properties in the near place.
Bug: 17491732
Change-Id: I051f1bacc51ee372806077159020600ffeb30f48
On some devices, we want the screen off transition to complete before
we start dozing. Added a new config.xml attribute config_dozeAfterScreenOff
to configure this behavior.
Defer starting dreams until the display is ready.
Fixed some minor issues in the system UI doze service when setting the
display state.
Bug: 16187655
Change-Id: Ib1bc60de5457166f4b4880732db5df989dda67a4
BUG: 17485390
The VERB_BINDING timeout that is set to wait for onBind() to complete
wasn't being cleared when onBind() returns false, i.e. that the service wasn't
available to be bound to.
This led to an NPE when the stale timeout expired. Fix is to clear the timeout
when onBind fails.
Change-Id: I318ca5ce1f3e12b170f7f256608ea7e28f3f120a
BUG: 16407786
The alarm manager doesn't impose restrictions about how soon an alarm
is allowed to be set in the future, so neither will the JS.
This behaviour should be the default, but filing under above bug
b/c this needs to happen to make CTS easier to write.
Change-Id: I55b53de5faac84f01e2ac3ce5458bfa19d73df68
Previously the Inet state (the little exclamation mark beside the WiFi
and Cellular bars) only transitioned from bad to good once. With this
change it can transition back to bad (and later to good again) if a network
re-evaluation is triggered, say by ConnectivityManager.reportBadNetwork.
Also, avoid triggering re-evaluation in two unwanted cases.
bug:16214361
Change-Id: I7856724249ffcbb0945276dcf45019876231fdaf
The old chain was problematic. It started verification at the end of
the chain and then went no further. Then it went back down the
chain to the beginning with no checks. It also removed entries and
tried to add them back past the end of the ArrayList during boot
which caused the system process to shut down.
This method uses the ordering imposed by taskIds which is the same
order that the tasks were created. It fixes up and notes dropped
links and then reconstructs the list correctly.
Fixes bug 17467284.
Change-Id: I746ec2cdcc7ac6403278cfefc7a6db9b5549d226
...root or shell to claim any package name
Re-arrange so checkPackage() doesn't go through the path where
the package name will be forced for root and shell uids.
Change-Id: I450cd6ac8148afd75b526724afdf46ab63de4c43
The Contacts database only seem to notify that a change has happened, not
which row was changed. We simply invalidate the whole cache on changes.
Added an info log for even 100th invalidation, so we can see how often it happens.
Bug: 17466975
Change-Id: I9988ea8db776c88afd835a4b3c50b9a982a309d0
Give unvalidated networks penalized scores and allow them to satisfy
requests.
Previously unvalidated networks were never allowed to satisfy
NetworkRequests and so never caused CONNECTIVITY_ACTION broadcasts.
Previously if there were no other networks present an unvalidated
network would still be made the default. This change formalizes
this behavior using our existing network score logic by assigning
unvalidated networks a highly penalized score.
bug:16358003
bug:17364306
Change-Id: I28fcd6f5ac4b52a4d1c234c472cfa8ba998bcc6f
In a small handful of cases individual sessions call up into the
installer while holding their local locks. Defend against this by
treating most InternalCallback events as async. For sealed events,
perform the upcall outside of the session lock.
Bug: 17482676
Change-Id: I265d981c98c8928a0fced09d8b029ca16eb650d9
Fix a bug where ManagedServices didn't unbind from obsolete and
bind to new services after switching the current user.
Bug: 17477093
Change-Id: Ica28978a01f84ba17bdd93e2feaf68547e837bcc
Replaced HdmiMhlLocalDevice with stub implementation,
and removed other MHL classes.
Bug: 17479050
Change-Id: I08880b0703eb4a94ae5e8aa973886a15f8160a38
This helps MHL code clean-up.
- Factored MHL constants out to a new class
- Renamed some methods
Bug: 17479050
Change-Id: Ia39f8bb51ce552ac10f587e6ee0431951f2f494b