Also use a ring buffer now instead of using arraycopy() every time
we send a broadcast.
Bug 20297662
Bug 20426398
Change-Id: I682461f358e5bc6ebc63bbeb87d0ad07d85fe4b6
When writing critical state to XML an excpetion can lead to creating
a malformed XML that is later parsed and may put the device in a bad
state. Hence, on any error while writing we should bail out and drop
the partially write state on the floor.
Corollary, any error on parsing can lead to having a partially read
state that is not consistent which may lead to writing this bad state
back to disk. Hence, on any error while parsing we should bail as
our current state may be unrecoverable.
Change-Id: Ia050c16198cb583f8a51263ad2035dbb948052b8
A previous change limited the size of a window to the parent window
size at max. so that child windows don't extend outside their parent
stack when resized in a multi-window environment. This broke the
wallpaper positioning functionality since the wallpaper is no longer
bigger than it's containing stack so it can't be scrolled. Now, we
only limit the window size to the parent window size if the window
stack is not fullscreen.
Bug: 19434096
Bug: 19225079
Change-Id: I1a8788727e6c4a91da45d8a87850093ef5a24edf
The compatibility measure introduced in bug 20081183 for apps
that connect to a Wi-Fi network without Internet access and then
expect to be able to use that network requires that such apps
register a NetworkCallback so that their WifiManager can pin them
to whatever wifi Network connects.
Currently, registering the callback requires ACCESS_NETWORK_STATE
and the app may not have that permission. Allow registering wifi
(only) callbacks if the app has ACCESS_WIFI_STATE.
If the app does not have ACCESS_WIFI_STATE (unlikely, since
CHANGE_WIFI_STATE is not very useful without ACCESS_WIFI_STATE),
then don't enable the compatibility measure.
Bug: 20081183
Bug: 20423580
Change-Id: Iad328d30c2d170dead883868fece3d922da68f6f
Main change is to fix problems in the alarm manager where it
was not doing a good job at scheduling the device idle wakeup
before an alarm. To fix this, we now keep explicit track of
the next "wake from idle" alarm so we can consistently use that
to adjust the time of the device idle alarm if needed.
Also a bunch of debugging stuff to help further diagnose this
problem:
- Alarm summary now includes the last time the alarm went off.
- Improved dumpsys output of alarms.
- New event log tags for changes related to idle state.
Change-Id: Idd2c8d24ae23379f7c75815ddbc6835c2a04656c
This new API, NotificationManager.getActiveNotifications(),
allows an app to recover the set of notifications it has
posted that are still active (un-cleared, un-canceled,
visible by the user). Along with the Notification object
you'll get the original tag and id you used to post it,
wrapped up in the somewhat awkwardly-named
StatusBarNotification data structure (previously only used
internally by NoMan/SysUI and NotificationListenerServices).
Bug: 17320461
Change-Id: I8cd610956fafed4e31526b663cebdc31231ad930
Also changed TvInputManager.getTvInputState to return
INPUT_STATE_DISCONNECTED for removed inputs and fixed documentation.
Bug: 18563677, Bug: 20435950
Change-Id: Idb81cee852b797eb3f5113d68468905f327928e7
Because ANR will dump cpu usage, stack traces in ActivityManager
thread, if system is busy or in low-end device, it may spend more
than 5s to dump. So when there is UI operation (e.g. pop dialog)
in ActivityManager thread, it may meet key dispatch timeout.
Change-Id: Ie550e31a7cff65bdcfc9af2c32989e9deb5fb2cf
Since the demise of the connectivity change delay,
CONNECTIVITY_ACTION_IMMEDIATE has been sent out back to back with
CONNECTIVITY_ACTION.
Interested parties should watch for CONNECTIVITY_ACTION.
Bug: 20013379
Change-Id: I072dddf95adb3bbd17fa1f7159d4ea848ade8f19
Handles the situation where standby is prematurely completed
by handleTerminateArc initiated in HdmiCecLocalDeviceTv.disableDevice().
Power status is now checked to stop the flow before removing
RequestArcTerminateAction which can call mPendingActionClearedCallback.
Also Make sure mPendingActionClearedCallback is set to null at the beginning
so that disable callback is not invoked unintentionally in
HdmiCecLocalDevice.checkIfPendingActionsCleared() which is supposed to work
at standby process only. It is now invoked by handleDisableDeviceTimeout
to make sure standby process is completed with PendingActionClearedCallback
at HdmiControlService.onStandby().
Bug: 20159835, Bug: 19930352
Change-Id: Iac29dfb6acff76182ff4e9563edc611406c23f3c
Introduce a fairly general "store byte[] blobs as backup keys" helper, and
use that to integrate with the Notification Manager. The helper provides all
the machinery of managing prior state, compressing the blob on the wire, etc.
Bug 19848954
Bug 20105530
Bug 17755700
Change-Id: I4aa808172244af6db0ab2f4440cc266a797655d7