Donnot make the bluetoothservice.getUuids call if the bluetooth
is not on. Also get rid of all the necessary locks on BluetoothService
for get property call. It had a lock on BluetoothAdapterProperty.
bug5472114
Change-Id: I383472ae6006fc1f0129c960c8a44ed0df027a43
Showing a congratulations screen after choosing face unlock backup lock
Once a backup lock has been chosen, it sends an intent to show a
congratulations screen. The moveTempGallery function has been moved
inside this new activity so it is no longer needed in LockPatternUtils.
Change-Id: I66868e6e3391b8b740f618fe633047ce388f55ca
We were not passing the length of the UTF-16 string to
String16::setTo. As a result, it was copying the contents of
the text up to the first null it found.
First problem, these strings are not typically null terminated!
Second problem, if the string contained a null character, then
we might truncate it. However, we only truncated the string
when the copy constructor was invoked (say, when we called
get() on the cache) but not in internalTextCopy() (before
adding the key to the cache).
As a result of the second problem, we would first search
the cache for a key that matched a partially copied truncated
string (potentially reading uninitialized memory that followed it).
Finding none, we would add the entry to the cache using
the correct key.
If the cache already had a value associated with the correct key,
then the put would fail, returning false. Charging ever onwards,
we would add the size of the entry to the cache size.
Proceeding in this manner, it was possible for the cache to
believe it had less remaining space than it really did. At that
point, it was possible for the cache to evict all entries and
yet still not think it had room to add a new one, so it would
continue trying to make space indefinitely.
Bug: 5576812
Change-Id: I05251594f6b2da0a5dc09f7200f04fe9100ec766
LayoutTransition was making an incorrect assumption that there could
only be one transition animation on a child of a transitioning container.
But if multiple children are added/removed to/from that container, there would
be multiple calls to set up changing animations for each existing child
of that container. This meant that the child would have multiple, new
OnLayoutChangeListeners added to it as part of the setup process.
Meanwhile, we would cache only the latest listener in a hashmap that used
the child as a key for the listener. Then when we cleaned up the hashmap later,
we would remove only the latest listener from the child, leaving the rest there
for eternity.
The fix is to skip the setup entirely for children that already have listeners
set on them; they must, if that's the case, already have been set up and are
already listening for layout changes. Setting up the animation is redundant,
and adding another listener is a leak.
issue #5588509: memory leak in systemui
Change-Id: Ie2192593d84702be7243c18760dfdb3a027b761c
1. The dismiss method in a PopupWindow is first removing the
popup View from the WindowManager and then if the content
View differs from the popup View the former is removed from
the latter. Then dismiss() clears the dismissed flag so a
subsequent call to dismiss() is a NOP. However, removing
a View both from the WindowManager and from its parent
ViewGroup triggers stuff wich may lead to a subsequent call
to dismiss(). This leads to a stack overflow exception.
bug:5598944
Change-Id: I2aeeda591be3e9aa98fec1ee17ea8f0e746e6992
Also use the AlarmManager instead of messages so the delays
are consistent whether sleeping or not.
Bug: 5534004
Change-Id: I24118b30214dddf8183c1200a89555d6c528e606
Lets the data traffic arrows work on LTE device on 1x,
but also lets telephony monitor for hung radios on 1X.
bug:5531630
Change-Id: I9fa25a5223afaa2e37373668c899ac28a95783fa
It crashed due to the fact that we're committing a fragment change
after onSaveInstanceState() is called. Instead, commit without
storing the state - as the NfcFragment is something that needs
to be setup explicitly anyway, it is not something the user
expects to be restored.
Bug: 5540962
Change-Id: I5a8cd0e47306f2bbc14b592a0182083bb79cb21a
In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.
Bug: 5530217
Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
On user-debug and eng builds, you can set the
"db.log.slow_query_threshold" system property to queries that
take longer than the specified number of milliseconds.
Set it to 0 to log all queries.
This property has been around for a while but it was implemented
poorly. In particular, it *changed* the behavior of the query
by calling getCount() while holding the Db connection.
In normal operation, the query will not actually run until later.
By putting the timing logic into fillWindow() instead, we ensure
that we only measure queries that actually ran. We also capture
cases where the cursor window gets filled multiple times.
Bug: 5520301
Change-Id: I174f5e1ea15831a1d22a36e9a804d7755f230b38
A recent patch taking scroll into account was applied at the wrong
level. isVisible() expects positions that already take scroll into
account. isOffsetVisible() is where the initial bug was.
Cherry pick of 144415 from master.
Change-Id: I06ceebfb3d7b24aa4adba886c24fcf9d8dd39d2e
Note that this will currently get rid of the Tethering option as
DUN tethering is broken, but that should get fixed shortly.
bug:5495862
Change-Id: I3a45529649bf05e1e6631069fc830b4051da4fd3
Suppose applications call autoFocus in CAF picture mode. If
CAF is in the middle of scanning, the picture is very likely to
be blurry. Change focus callback to return when the scanning
finishes.
bug:5514415
Change-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4
Sometimes when headset service doesn't get bound, the auto
connection fails.
Based on a patch by: Chunho Park <chun.ho.park@samsung.com>
Change-Id: Ia24613b47487717f51895953c7e8bc52abffecb5