framework:Thread synchronization for UI update

Issue : Framework reboot was observed due to out of sync between
        two threads which inturn causes Null pointer exception
        while updating airplanemode.
Fix : Handled Null pointer exception and the crash is not observed.
CRs-Fixed: 570122

Change-Id: I2e969f6e7726ffcf8648b366ebb54cb2b0afc292
Remove opaque check in preparing dirty region

Since preserve swap is enabled, we need to clear the color buffer
when the scissor rect is prepared for a new process. This prevents
garbage being present from the previous process in the color buffer.

CRs-Fixed: 549755

Change-Id: Icd12ae388077b8c9ed329c37314e896500078543
(cherry picked from commit 48b6a9767317e08a24e189c9cbee21043543682a)
(cherry picked from commit 777610a5ddf19cebcad30b7e9a481e9dfe38b74c)
Fix stencil buffer bug.

Stencil test is enabled by setStencilFromClip(), but not disabled
in some use case, which causes some of the pixels are discarded by
mistake in draws followed. Disable stencil test when there is no
dirty clip.

CRs-Fixed: 539456

Change-Id: I318fb47212e49e2da89bcbfd161a1689ef91b02f
Keyguard: disable music transport control debug

Change-Id: Ia4361d0850334dc0944559c40409c9062cf02e47
SystemUI: Navigation Bar: Rotate the search light in landscape

The current search light icon is an arrow pointing upwards, so
while in portrait it points to the direction to be swiped to access
Google Now (and the customizable shortcuts), in landscape it points
upward as well which looks out of place, and swiping upwards reveals
that you have to swipe towards the left to access those targets.
Rotate it by 270 degrees to make it point towards the right direction
(i.e. Towards the lockscreen widgets)

Change-Id: I19670fdb1f5ab7814c05264330cb8097a206639a
Prevent audio players starting on startup.

Previously, (at least) Apollo was started on startup (in that it
appeared in the notification bar) because it listens to the AUDIO_BECOMING_NOISY
intent to silence itself in that case. This intent is broadcast by
AudioService when there's a user switch to silence any potential audio
players for the old user. As the system also sends around a
USER_SWITCHED intent on startup, this led to the aforementioned player
startup.
As the intent of AudioService was to act on a user backgrounding anyway,
send out AUDIO_BECOMING_NOISY as reaction to a USER_BACKGROUND intent
instead of the USER_SWITCHED intent.

Change-Id: Iba35844a1274c9dd195f104068304e6a7ffa809e
Fix ringer mode being unneededly changed by setting ringer mode volume
to 0.

When having set the ringer mode to silent on a device with vibrator and
calling setStreamVolume() for the ringer stream again (e.g. in one of
the volume control dialogs in the settings app), the ringer mode is set
to vibrate, although there's no reason to do so.

Fix that by remembering the last non-normal (that is, either silent or
vibrate) ringer mode and using that when setting the stream volume to 0.

Change-Id: I27f1c75a0fef52bd63ac20f4101042808ce2c458
JIRA: CYAN-1403
framework: packageinstaller :fix logical error in size calculation

fix logical error in available size calculation.

Change-Id: Ic6ce312cf1c146030a20187fcb27b24fbe4c321a
FW: adjust KitKat easter egg to display hardcoded "K"

*Rather than pull the first letter of the build_id for
 the easter egg, just hardcoded it to always display a
 'K' like it should.

Signed-off-by: Whitehawkx <xxwhitehawk@gmail.com>
Speed up notification pullup & pulldown

based on an idea by Mr.Nigma @xda:
http://forum.xda-developers.com/showthread.php?t=2267307

Change-Id: I61213058b5cedddf90e974713af05c038e3af039
WMS: fix no thumbnail image of Gallery in the recent tasks list.

When it takes the screenshot of an application, it will calculate
the minLayer and maxLayer first, and if a window is full screen,
it won't deal with the windows below it. However, the surfaceview
is placed below a window but will be displayed at front, this make
the surface view can not be included when take the screenshot of
an application, then it diaplays a black area in the recent tasks
list.

If the currect window is full screen, no need to finish the
calculation.

CR-Fixed:566752

Change-Id: Iaf3e9a3e6520007571ea545ccc9c05d4b1b416fd
BootMessage: show more info in boot dialog

Tell the users what package we are running dexOpt on currently

Change-Id: I665ab3847ec1846e40915a1fae21c43e2e7ccf6d
Fix layout of MultiWaveView and GlowPadView.

If the calculated size of the rings is much smaller than the measured
size (which is happening e.g. on mdpi 600x1024 tablets), the glow pad
appeared shifted to the right.
This happened due to the insets being calculated as difference of
available and needed size, and later on being added to the available
size. Example numbers (Nexus 4 with density forced to 160):
- computed size in onMeasure: 768x505
- scaled size in onMeasure: 505x505
- thus, insets are calculated as 131/0
- in onLayout, placementWidth (364) and max target width (108) are much
  smaller than width (768)
- thus, center is calculated as 131 + (768 / 2) = 515, thus shifted to
  the right

Fix that by not using width in the calculation, as the inset size
already takes it into consideration.

JIRA:CYAN-829
Change-Id: Ifc2a93214f812f554a8fed3243eed66aec9f00c9
Hide GlowPadView warnings

Make message verbose and contingent on DEBUG. This has been spamming
my logs everytime I touch navbar or lockscreen targets.

Change-Id: Iea1a6db86055d4034405f0ee4e20282b6c493210
Base: Prevent lock/unlock sound during music playback

Lock/unlock sound mixes in with music and causes
lag and distortion.

Change-Id: Ide6c2cdd9b56379619ffc485d80f0106d23dec10
frameworks/base: vectorize Bitmap operations

Enable gcc vectorizing optimizations for Bitmap operations within
libandroid_runtime.so.  Adds -ftree-vectorize -mvectorize-with-neon-quad
-fprefetch-loop-arrays to functions and compiles Bitmap.cpp in ARM mode
(necessary to enable vectorizing optimizations) for appropriate targets.

Change-Id: If52a789b6f592b137e64e85077665c9ce5957f79

Conflicts:

	core/jni/Android.mk
Fix the resource IDs used by CTS tests

* Google didn't make networkAttributes a public resource, so everyone
  is failing CTS after adding new resources to the framework. This
  fixes it.
* Same thing with config_useFixedVolume

Change-Id: I720b36d0922b636fe30f691f016add6b8cc7ade3
MiniThumbFile: Fix image/bitmap retrieval

Change I66005dd69b0a5c8f4353bd7a8225d163a654fd2d changed the insertion
and creation indexing mechanism, but the retrieval method was still
using the old sparse one. Fixit

Fixes android.provider.cts.MediaStore_Images_MediaTest#testInsertImageWithBitmap,
android.provider.cts.MediaStore_Images_MediaTest#testInsertImageWithImagePath,
android.provider.cts.MediaStore_Images_ThumbnailsTest#testQueryExternalMiniThumbnails,
and android.provider.cts.MediaStore_Video_ThumbnailsTest#testGetThumbnail

Change-Id: I41feea79fa304635f3908055fb95a8c85718a97f
SystemUI: fix wrong statusbar background.

If we turned off screen while some panel was visible than
background of PhoneStatusBarView will not be updated because we receiving single
panelExpansionChanged call and after super.panelExpansionChanged mFadingPanel
will be null (onAllPanelsCollapsed cause this).

Allow updating background when mFadingPanel is null.

Change-Id: Ib123f27500790c1b7ec787b7e433372629daa08d
Avoid possible memory leaks by ensuring stream closures

Stream close() methods should always be called in finally block
to ensure we don't accidentally leak a stream.

Time to fix some old sloppy code.

Patch Set 2:
 + ensure closure of some other streams
Patch Set 3:
 + missing import java.io.IOException
Patch Set 4:
 + missing import
Patch Set 5:
 + missing ';'
 + whitespace cleanup
Patch Set 6:
 - Reverted changes to MemoryUsage (final requirement
     prevents my implentation)
 + fixed Object allocation in Root.java
Patch Set 7:
 + fixed curly bracket style violations
Patch Set 8:
 x fixed my own sloppy code :/

Change-Id: I3460b558ed5b4489296388c9a52fbb773cefd31f