SystemUI: Expose heads up.

Signed-off-by: Roman Birg <roman@cyngn.com>
Signed-off-by: Adnan Begovic <adnan@cyngn.com>
Change-Id: I276cb1c80d392b7dbac28e5f553207415b558481
Signed-off-by: Anthony <Disciple3603@gmail.com>

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
HeadsUp: Clean up.

Change-Id: I98f445e7a4c92a34a3d9f63e14135e92416875ff
Wifi: Use bss->age identifier for wifi scan results

This value will be used as "timestamp" and Google Play Services
uses this value for identifying sane wifi scan items.

The current timestamp (tsf=) has a different meaning, which causes
the Google Location Resolver to ignore all wifi scan entries and
therefore no location can be resolved.

This solution is already done on batched result parsing, but
missing on the traditional scans.

Change-Id: I36a1aeb666379e6a010298f09161e971012db83f
PackageManager: Add option for single threaded dexopt

* Execute all dexopt invocations on the main thread instead of using the
  ExecutorService when persist.sys.dalvik.multithread is set to false.

Change-Id: I3b8499d5af5091ad7abcddf006f8f2837943903b
HeadsUp: Add heads up blacklist options. (1/2)

Change-Id: If9e5eed658871400b3c21d9354262e0887bc592e
HeadsUp: Fix resetHeadsUpDecayTimer.

    - If user has forced immersive mode through expanded desktop,
    we shouldn't hide the heads up notification quickly.

Signed-off-by: Roman Birg <roman@cyngn.com>
Signed-off-by: Adnan Begovic <adnan@cyngn.com>

Change-Id: I6ac015ce5c28216cafd3ce96f8d1993495b26897
HeadsUp: Add heads up quicksettings tile. (1/2)

Change-Id: Ibc6ffffb48ac1831ee5fe398577023960e0e79d4
HeadsUp: Respect system decorations when adding view.

    - FLAG_LAYOUT_IN_SCREEN ignores system decorations, so
    a heads up view in landscape would end up underneath the navbar

    - FLAG_LAYOUT_NO_LIMITS allows the window to exceed the screen
    limits all together

      Removing both these flags makes Heads Up respect both system
    decorations and the screen limits.

Change-Id: I6f111e1c5701d493979be0cb596f11bc1b437fda
SystemUI: Improve HeadsUp expanding performance.

Change-Id: Ifd31caca6d2eb2432772b6a63f6b545f8288f449
systemui: SignalClusterTextView fixes and optimizations

- Optimize the SignalClusterTextView layout, but removing an unnecessary LinearLayout hierarchy
- Optimize the SignalClusterTextView view by hidding the entire view instead the cluster view
- Set start visibility of SignalClusterTextView to gone and update its state in onAttachToWindow
event. This should prevents bug CYAN-4410.
- Prevents NPE in MSIM devices when TEXT style mode is configured for the signal cluster style

Change-Id: Ib91fde693d5013bf058f161cc175923913fdfb7d
JIRA: CYAN-4410
Issue: https://jira.cyanogenmod.org/browse/CYAN-4410
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
QS: Update heads up tile icons

The bell icon for the "on" state look a bit crappy.
Update them too look more lika a bell.

Screenshot: http://goo.gl/rC1VFD

Change-Id: I9a6a54a5ee9ac0100ebf749ee3babe02eb0e2e32
IndexOutOfBoundsException observed rarely in ProcessStats

Sometime IndexOutOfBoundsException is observed in ProcessStats
while allocating longs array. This could be due to synchronization.
This fix will return if array index is >= size.

Change-Id: I1df34152c95f2ff61829da07f750e79a6f1efab3
CRs-fixed: 626638
Fix a resource race bug in PathCache

When enabled defer rendering, it will do precache for DrawPathOp.
The paint used for creating PathTask in precache just get the address
of mFilteredPaint of OpenGLRenderer. So for the following defer
operation like DrawTextOp has possibility change the mFilteredPaint
by getPaint while another WorkerThread in PathCache is using the paint
which pointed to the same address of mFilteredPaint to generate bitmap.
As a result, it will generate a wrong bitmap for generateTexture in
PathCache. To fix it, do a copy of paint when creating PathTask.

CRs-Fixed: 664244

Change-Id: I5516f5b143458b88d3573d15b7ebb34f688800c7
base: App crash when select suggestion's length more than specified.

App crashed by catch IndexOutOfBoundsException which raised
by check span range when select suggested string.The root
cause is that the editor will truncate the suggested string
which length is more than it specified, but it also set span
use the suggestion's original length.

Update the suggestion's real length after editor replace the
original string to suggested.

Change-Id: I2d765701934a9e68be172cb87a104590f3cdeceb
CRs-Fixed: 532211
Applications crash observed while selecting words from suggestion list

While selecting words from suggestion list, applications are crashing as
textview span are going out of index. For textinput where spaces are not
allowed length difference shall be calculated properly to avoid Index
out of bound situations.

Change-Id: I360318cf9241abbb7f58ad1ddf3f3c8d364f17d1
CRs-Fixed: 642057
MMS: Fix Messaging will force close after tap one item in suggestion list

The span end is larger than string's length, it caused IndexOutOfBounds
exception.

Check the span end to avoid the IndexOutOfBounds exception.

CRs-Fixed: 555378

Change-Id: Iaf1cbe8db8704b3112afb6207982750b650fe5c5
Fixing IndexOutOfBounds Exception in ActivityManager

Bypass the iteration to avoid the exception during
the execution of ensureActivityVisibleLocked() because
startSpecificActivityLocked() within the loop may delete
the elements from History stack.

Change-Id: I195da10a8e9161572bdb653ad3021998d4f2a939
CRs-Fixed: 651963
base: Add support for FLAG_SUPPORTS_PROTECTED_BUFFERS

For the clients (WFD) which need secure HWC composition,
FLAG_SUPPORTS_PROTECTED_BUFFERS need to be set.
- Define new flag VIRTUAL_DISPLAY_SUPPORTS_PROTECTED_BUFFERS
- In VirtualDisplayAdapter, add support for the flag
FLAG_SUPPORTS_PROTECTED_BUFFERS.

CRs-Fixed: 653794
Change-Id: Ib954943f3e27067b2805188771f951c115833237
audio: Fixed dead lock in AudioService during volume change

- AudioService goes into dead lock when there is a volume
  change for source stream and the respective aliased stream
  simultaneously from multiple threads
- When setIndex is called for source stream, it also updates
  the index for the aliased streams. Meantime, setAllIndexes
  is called on aliased stream. Initially, it gets index of
  default device of source stream. It requires lock on the
  source stream. This is leading to a dead lock
- Fix is to avoid locking parent while updating child
  streams. Removing lock from method and synchronizing
  parent only when it is updating member variable.

Change-Id: Id38e539e2ec178ea25548312a1dd62d2de3043da
CRs-fixed: 635789
Added validity check for Pointer Index

Checking if the pointer index is valid before querying for X & Y
coordinates. This is done to avoid IllegalArgumentException.

Change-Id: Ic7f3022d33c313a0bfe8b55c9bc89019b33d23b7