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
Remove incorrect keymapping

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
MediaFormat: Fix the documentation link to the AAC profile constants

Change-Id: If1780436baa2884cea05ccd8ab74745af790eb17
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
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