Fix: Don't disable rotation lock tile

Rotation tile was hiding if the user disabled Auto-rotate
option from display settings.Enable auto rotate tile as always visible

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Add option to disable searchbar in recents [2/2]

Coded by yashade2001 <yashade2001@gmail.com>

Signed-off-by: Yashar Ahmedizadeh <yashade2001@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Fix ANDROID_LOOP=true for ArgoNavis and Perseus ringtones

Change-Id: I2fd05e73d68758867a17d2c3369cfeefc203ac9a
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Frameworks: Slim heads up customizations for LP (1/2)

Basically it follows the same idea like we had on SlimKat....see here
https://github.com/SlimRoms/frameworks_base/commit/323ed77c5e5bd6d421beae1f8118eb580be5ecf1

That said there are some differences in this more or less completely recoded feature.

- Moved it into the app policy files
- Enable/Disable on every app (no system apps)  either longpress a notification and an button appears / or in notification app settings
- For now only snooze and heads up timeout configurable....other stuff will follow later.
- fix up some AOSP code for it as well fix some UX inconsitence.
- left swipe dismiss, right swipe put into background, swipe down opens notification drawer and moves the notification into it
  (aosp default behaviour is a big UX disaster....swipe up dismisses it completely and swipe down open notification drawer but heads up stays....first
   happened to me 10000 times accidentally which is really bad and second does not make sense. Hence this change of the default behaviour)

Well and a lot smaller things as usual.

Last PS
- fixed some minor stuff
- reset snooze timer when screen goes off
- do not show headups if notification drawer is visible

PS
making snooze button functional - we may need to move it a bit down.

PS
give snooze button a bit animation love

PS
icons

PS
add accessibility descriptions etc

PS
hedasupcandidate package fix
move snooze timout into config
smaller fixes
out off WIP and ready to merge
added commit description

Still ToDo:
Settings

Change-Id: Ic8977feb4bb0700f1093ce7d62c22d4c63c69bad
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Frameworks: Only set package name on user heads ups

Let us not influence the default aosp behaviour which could conflict if an app
is strange coded

Change-Id: If69e40ce932ce7e77886d250879346a9a43920a2
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Framworks: Possibly construct ticker views if user changed settings.

Otherwise it leads into a FC

Change-Id: I3f96e162fb9d221cca5d376f38c3a313c8746d48
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Fix blacklist unknown number mode query string.

The same was string was being used to query the database for both private and
unknown numbers, with the effect that enabling private number blocking also
blocked unknown numbers.

Change-Id: I5a77566fde3187ff6044415c64e74ce4e10cd4dc
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Frameworks: add ability to change the color in battery saver mode (1/2)

User complain about the ugly orange....give the user the ability to change the
color in status and navigation bar if battery saver mode is activated.

Especially for you Tylog :D

PS
- move it into the observer...method is called to often to call every time
  the settings value for it.

Change-Id: I48ed2e85c462a2e94770b2bc1ad75b1ca40f2304
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Frameworks: Be sure heads up view is attached before removing it

We did not have it in our tests but some user ran into it. Thing is if the
system is disabling notifications for whatever reason and till this time the
view was never attached and the system tries to detach the view on windowmanager
we run into an illegal argument exception.

Fix it with simply checking if the view was attached before removing it.

Change-Id: I0800beed3553815cc529087052138345773b32e4
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
SystemUI: Add sound item in quick settings panel

Add sound item in quick settings panel.

CRs-Fixed: 715258

Change-Id: I090929a3622101edc5413afe4f7c2d1863139d2c
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>

Enable Audio Tile

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
make switch to last app animation snappier

Change-Id: Ia253a3db45109da7dd4f7a2467184d81c04918b4
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Add window to child window list with correct order

The original logic of comparing with mBaseLayer of two child windows
of the same parent was wrong, because the mBaseLayer is always the
same.

After adding two child windows with the same positive sublayer, the
one added later should have greater z-order. The order should be
consistent with WindowManagerService.addAttachedWindowToListLocked()

Change-Id: I789179aee61d141fad86bd24262fabfb1e517e66
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Enable stencil clipping within clearLayerRegions

Previously stencil clipping within clearLayerRegions is disabled by commit
62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer
regions causes black-colored triangle regions when a TextView has
RotateAnimation because the draw within clearLayerRegions does not
affected by the current stencil clip.

Change-Id: Id32a0b16754b109905f833e063ebfa156bd953f2
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Measure absolute value of pointer motion distance

If pointer is moving to the negative axis direction, pointer movement
distance will always less than pre-defined mMotionSlop, thus
TAP_OUTSIDE_STACK will have chance to be sent, will cause unnecessary
focus stack switch.

Change-Id: Ia4c066bebce250257c7361ef976907a0ca2c6461
Signed-off-by: tingna_sung <tingna_sung@htc.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Not include fullscreen opaque window on screenshot

Extend the fullscreen meaning by adding opaque drawn check on
screenshot application; if there is a fullscreen window but not
opaque, we will continue finding behind windows; otherwise ending up
including behind windows. It's able to help avoiding capturing BLACK
screenshot bitmap.

Change-Id: I1c7e8f513c366688ea8001c3d0c799f3522f0ffd
Signed-off-by: tingna_sung <tingna_sung@htc.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Sync focus stack frame and layer with focus app.

Update focus stack frame/layer when focus app is changed to avoid
focus stack/layer isn't updated synchronously with focus app, it's
due to performLayoutAndPlaceSurfacesLocked() is not necessarily
called on focus app change; it will cause sending mismatching
TAP_OUTSIDE_STACK message if there is effectual incoming pointer
event, hence may also result in focus stack is changed again,
therefore erroneous focus app is set by ActivityManager at final.

Change-Id: Ia0ec9a543be887b51a3b29b3e62fdd471c15edf2
Signed-off-by: tingna_sung <tingna_sung@htc.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Fix Presentation window is removed on stack change

If an activity show a Presentation window and this activity is moved
to bottom or top, thus this Presentation window will be removed from
its display window list, and no chance to be added back into window
container; It will cause the incorrect state that Presentation window
is lost from secondary display window list(displayContent.mWindows),
but still exist in app token's window list(appWindowToken.allAppWindows);
Moreover, once this activity resume again, Presentation window is not
shown because it's lost.

In this way, don't remove non-target display app windows due to only
target(or called default) display windows are removed temporarily and
re-sorted then added back into window list later.

Change-Id: I8960ce191f6c662455cba5a0a5e6a1ff9ef03ae1
Signed-off-by: tingna_sung <tingna_sung@htc.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
ANR caused by incorrect cleanup in BroadcastQueue.

Two broadcasts could be sent to the same app simultaneously:
one foreground, one background. For example, LOCALE_CHANGED
and PACKAGE_CHANGED are delievered to com.android.vending
at the same time.
1. AMS started new vending process to handle LOCALE_CHANGED.
   And set app.curReceiver = LOCALE_CHANGED.
2. Before LOCALE_CHANGED is handled by vending process,
   PACKAGE_CHANGED was delievered to vending process too.
   AMS set app.curReceiver = PACKAGE_CHANGED. Bad!
3. Vending process finished handling LOCALE_CHANGED.
   AMS clear app.curReceiver = NULL. Bad!
   And Vending process  killed itself without handling
   PACKAGE_CHANGED.
4. AMS known vending process has died, but didn't know that
   BgBroadcastQueue was still waiting for finish message
   for PACKAGE_CHANGED.
At last, BgBroadcastQueue reported ANR for PACKAGE_CHANGED.

This patch adds protection before clearing app.curReceiver,
only set to NULL if the finishing receiver = app.curReceiver
So handleAppDied would know that PACKAGE_CHANGED was not
finished yet, it will abort the broadcast and continue.

Change-Id: Ic4f31b35e21823d4a3c27712391ecbede213a494
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Fix bad exclude region in landscape

Update DisplayContent.mBaseDisplayRect when device orientation is
changed, it avoids to set incorrect initial value of
mTouchExcludeRegion, that will cause result of calculated
mTouchExcludeRegion becomes an incorrect strange region on
landscape orientation.

Change-Id: I993864653edc2852f91abed7891e6631b4bae15a
Signed-off-by: tingna_sung <tingna_sung@htc.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Reset killedByAm flag at attachApplicationLocked

ActivityManager reuses a process record object that killed
by him under some situation. That reused process record inherits
a killedByAm flag unexpectedly.
The killedByAm flag must be reset otherwise ActivityManager can't
judge the process can be killed or not.

Change-Id: If95137d91939cc44882ad2813131bcde0edd0c1b
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>