- add support for new sensors (post 4.3)
- don't crash when encountering an unknown sensor type
- clean-up
Bug: 9683153
Change-Id: Iecd883e8a7d0297be1bd2bd4f00c5cc3ffcbccfe
If ro.telephony.default_cdma_sub is set, use that to set the
default CDMA subscription source in the database. If that is not set
use the default preferred value defined in the source code.
Change-Id: I11fff596a5fe721c64f192c889672326517dc43d
The Process natives were getting called were getting called while
handling a jdwp packet before the vm had a chance to register them.
(cherry-pick of 5bce6a308fc8a3c1e449cf905b8b6e8ace4ef3e2.)
Change-Id: Ia2b4f79b11e427283a712b2d0c52948f394640bf
Context.deleteDatabase() has to be called instead of File.delete()
to guarantee all db related files
like journal, wal, shm, etc are deleted together.
Signed-off-by: jangwon.lee<jangwon.lee@lge.com>
Change-Id: I3c3d7dfa13ffbe709ab7d8a5c7cfe6cfa2864fea
On stacked interfaces like 464xlat, Legacy VPN can't find the
default gateway because it uses getRoutes, which only returns
routes for the base link and not for the stacked links. It also
assumes that the interface that the default route points to is
the interface for the base link (e.g., rmnet0) instead of the
interface the route actually points to (e.g., clat4).
Fix this by calling getAllRoutes to find the default IPv4 route,
and get the interface name from the route we find instead of
assuming it's the base interface.
Bug: 9597516
Change-Id: Ia6ce0b6258a421cd22f60dedca7e94176b32176b
Various applications such as Skype and our legacy VPN code
do not understand routes pointed directly at point-to-point
interfaces and require a default gateway IPv4 address in
order to function.
Grudgingly accept that routes without default gateways Are Hard
and use gatewayed routes instead. This causes routing to go from:
default dev clat4 scope link
to:
default via 192.0.0.4 dev clat4 scope link
192.0.0.4 dev clat4 scope link
and those apps now work.
Bug: 9597256
Bug: 9597516
Change-Id: I7b7890873802d3cb99affd6eb70b8ab75e7a2cf6
Turns out Snakebytes produce all 0s for their vendor / product IDs. This
somehow got the vendor / product ID of an international apple keyboard, which
will break them. Unfortunately, this also means we cannot map Snakebyte
controllers at all.
Relevant bug: https://code.google.com/p/android/issues/detail?id=58202
Change-Id: I09d246b1ab793ec04a19d558f6b98badac48b20f
This adds support for operators with MNC (Mobile Network Code) zero
to add customized resources. For example, it makes it possible to
add a folder called "/res/values-mnc00/" in an application. This will
cause resources in that folder to be used when MNC is zero.
(There is a total of 14 countries that have an operator with MNC
zero.)
Without this fix, the resource framework gets confused, because MNC 0
is normally used when the MNC is undefined (not set).
Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
This fix ensures that onFinished() is always called in a syncClient
even if the application lacks the READ_SYNC_SETTINGS permission.
Change-Id: I944717e71ceae06a665f8a3b1199b41d73e12da4
According to the API documentation and the ICS implementation
the setDataSource(String) method throws an
IllegalArgumentException if path is null. In JB a
NullpointerException is thrown instead. This fix restores
the earlier behaviour.
Change-Id: Ic47baadf91076acc227d92d84f6b8d1d6ecd0c03
The implementation of getInterpolator() was always returning null
(probably a quick copy-paste from the default Animator implementation).
This patch fixes the problem by returning the interpolator set by
setInterpolator(TimeInterpolator) or the default one if none has been
set yet.
This patch also avoid creating multiple instances of ValueAnimator in
order to retrieve some default values.
Change-Id: I8880f419f021a8b980fb32bebe927915fde19bf7
If reading the decoded pixel data (instead of letting the system
render it), this is critical for interpreting the data correctly.
The video MediaCodec CTS tests use this MediaFormat key in this
way as well.
Therefore, make sure the documentation reflects the actual use of
this field - claiming that it is encoder-only is misleading.
Change-Id: I9bfd295a95dd3e7d1fa3189886fd243b07bb82cc
When the battery temperature drops to below zero, BatteryLevelInit()
fails to show negative temperature. Because the type is unsigned
and the size of bit field is 10 bits.
So to handle negative temperature, change the type of battery temperature
from "char" to "short". And extend the size of temperature bit field
from 10 to 11 bits, which first bit is used for the sign bit.
Before:
31 24 14 0
+---------------+---------------------+-----------------+
| Battery Level | Battery temperature | Battery Voltage |
+---------------+---------------------+-----------------+
After:
31 25 14 0
+-------------+-----------------------+-----------------+
|Battery Level| Battery temperature | Battery Voltage |
+-------------+-----------------------+-----------------+
Bits 31..25: battery level percentage (7 bits unsigned)
Bits 24..14: battery temperature (11 bits signed)
First bit is used for the sign and others for the temperature
Bits 13..0: battery voltage in 0.001 volt units (14 bits unsigned)
Becuase of changing the format, let the BatteryStatsImpl.VERSION field
increment.
Bug: 8009514
Change-Id: Iaa12f4d3f14e6cf4d73bc1a23d81c60f9677a499
getCheckedItemPositions()'s documentation previously mentioned the
returned SparseBooleanArray was only containing checked item positions
(i.e. get(int position) always returning true). In practice, this is
wrong, because getCheckedItemPositions() returns mCheckStates which
basically contains all key-value mappings that have been used. As a
consequence if the item at position p is checked and unchecked, the
returned SparseBooleanArray will contain a (p, false) mapping.
Another option could be to delete all keys having a false value.
Change-Id: I15f8fc2a1ba3f1501af126c272b827402cfd8b14