Custom Vibrations (1/6)
Frameworks part.

- added new VibrationPattern class for storing & handling vibration patterns
- added contact related provider columns
- added custom vibrations to the CallerInfo class
- necessary layouts & changes

Change-Id: I314abc4fec70e85f2b1b93bacb6ddf43301d42ec
Signed-off-by: sethyx <sethyx@gmail.com>

Conflicts:

	core/res/res/values/public.xml
	core/res/res/values/strings.xml
Framework: Fix Sound/Phone Settings FC

If the user deleted their default
    vibration pattern, the log spewed
    the catch exception along with
    cursor not closed errors.
    Fix cursor (close in catch too)
    And set default back to default.

PS3: Guidelines

Change-Id: Ib0c8b4c7d541e407bee219d78014512d2903f176
FW: Fix NPE caused by changing Navigation Bar buttons

Changing NavBar buttons was causing an NPE, removal of the back button was causing
the System UI to FC on the i9100.

Method causing the problem is setNavigationIconHints, initial changed worked but would
cause the same error when opening the keyboard, or other dynamic NavBar targets
attempted to display.

This commit leaves the PAC method but also changes the inital method version and
helper to operate without the additional overriding parameter.

Change-Id: I4e89f12c2bd8361316571235887f4bd856680cb0
Return the actual interpolator of the ViewPropertyAnimator

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
Fix NullpointerException in MediaMetadataRetriever

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
Add support for MNC=00

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
Remove possible leak when exception occurred.

nameUtf8 is not released after exception.
In addtion, Fix code going down after ThrowException.

Change-Id: Id46e8ed55acd98e982ae532f7da2c0c48847f010
When deleting a db file,
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
Guarantee that all db related files are deleted together.

When deleting a db file, all db related files has to be deleted together
like journal, wal, shm etc.

Change-Id: I49d4581673d03fe669e9e0eaa2b50f7b9d3c34a4
Signed-off-by: jangwon.lee <jangwon.lee@lge.com>
Set subscription_mode in the database to a default value

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
If frameworks wants ASCII casing, it should explicity ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
Replace native Process getpid/getuid with calls to libcore equivalents.

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
If media wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
Update getCheckedItemPositions() documentation

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
464xlat: use a gatewayed route, not point-to-point

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
Make legacy VPN work over stacked interfaces.

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
MediaFormat: Explain that KEY_COLOR_FORMAT is used with decoders as well

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
The VM handles blocking SIGPIPE.

We don't need this any more.

Bug: 10211309
Change-Id: I8be0071d50296974e3861f8af9d2bae4f5678d5a
fix typo: Remove dulplicated comment line

Change-Id: I6b95998b4af5b27c7e1f9040aa5e7b7deb5d8609