Frameworks: Navbar customization (3/3)

This commit is a complete recoded Version of our old one. Implements following feature:

- custom Style
Navbar background color
navbar button color
navbar glow color
navbar button transparency

- custom dimen
navbar height
navbar heidht landscape
navbar width
all have the ability to set to 0 to hide

- custom button
complete system and logic overwork
custom buttons
custom icons
custom applications
longpress actions
complete dynamic
no systemUI restarts

- custom navring
complete system and logic overwork
custom targets
custom icons
custom applications
longpress actions
complete dynamic
no systemUI restarts

- misc
glowpad glow time
show menu location
show menu

TODO: Navbar transparency
and other will be a surprise

PatchSet 2:
- code cleanup
- fix fc without gnow
- shows now up on all devices
- fix custom icon chooser 0 byte issue on some devices

PatchSet3:

- whitespace cleanup

Patchset4:
- fix screenshot navbar
- cleanup code

PatchSet5
- add custim navring icon frameworks part
- fix navring custom application icon size

Patchset 6
- fix not shown navbar on large screen devices landscape

Patchset 7
- fix FC on button qty choose
- fix for mnazim logcat spam

Change-Id: I8e0d25f2379344b068e75dc4d7508c6f8e300a5a

Conflicts:
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/drawable-hdpi/ic_sysbar_back.png
	packages/SystemUI/res/drawable-hdpi/ic_sysbar_back_land.png
	packages/SystemUI/res/drawable-hdpi/ic_sysbar_menu_big.png
	packages/SystemUI/res/drawable-hdpi/ic_sysbar_search.png
	packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_big.png
	packages/SystemUI/res/drawable-mdpi/ic_sysbar_search.png
	packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back.png
	packages/SystemUI/res/drawable-xhdpi/ic_sysbar_back_land.png
	packages/SystemUI/res/drawable-xhdpi/ic_sysbar_menu_big.png
	packages/SystemUI/res/drawable-xhdpi/ic_sysbar_search.png
	packages/SystemUI/res/layout-land/status_bar_search_panel.xml
	packages/SystemUI/res/layout/navigation_bar.xml
	packages/SystemUI/res/values/colors.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/SearchPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	policy/src/com/android/internal/policy/impl/keyguard_obsolete/LockScreen.java

Conflicts:

	core/java/android/provider/Settings.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/cm_strings.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
Frameworks: Moveable navbar (1/2)

New slim feature....phones can decide on the fly if they want
on landscape view a real landscape navbar.

navbar width settings are hidden now for tablet and large screen
new option also

Change-Id: I90aabb875db2c2af53f5993ae6b7d4310eba9d82

Conflicts:

	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Re-enabling Navigation bar transparency (1/2)
- It's been hidden due the hole new SlimRoms nav bar customization implementation

Change-Id: I1eb1dd55e68fd9025d5cca5ca3a462e8a3a453cf

Conflicts:

	core/java/android/provider/Settings.java
Frameworks: Navigation bar button color mode (1/2)

due some user complains about the bad coloring of custom and app icons, a fix
became a feature.

- overworked colorizing more icon specific
- introduce color mode (0 = all icons, 1 = only system icons, 2 = system and custom icons)
- change porterduff mode for app and custom icons....now a lot better for most icons
- changed in settings to fit the other structure

cheers

Change-Id: Id24ac6e476d80ace2df08db12533142d0750e179

Conflicts:

	core/java/android/provider/Settings.java
Fix Navbar longpress power button

custom lonpress action showed global power screen instead of doing
the right action in front. Due we called POWER_SERVICE it was clear that
longpress will open that windows. Using now Power Manager to get
phone into deep sleep

Change-Id: Idd760e99699beb558587338b76f5c39572c37828
Fix Navbar notification long press didn't open custom app. Typing error in initial push.

Change-Id: I086d3a6bef41706e06d3b3890cc8ea2b5d132d35
Last App Toggle [2/2]

Signed-off-by: Zaphod <mwilson@acesappraisal.com>

Change-Id: I7199c941f63ff83c22f30ff833aa36739b21e749

Conflicts:
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/slim/SlimTarget.java
Fix navbar and navring last app toggle

sorry for that....fixed now

cheers

Change-Id: I896dc9040c9397b1a98062262a3a005abba85c75
Fix sorting of navring

lol I do it wrong since we integrated our custom navring. Order logic is not the same
as the order logic in settings. Currently it is from right to left. This change
change it from left to right.

Change-Id: I5dfe3fabcb58726f266f4c5fcdbcf912ca885885
Remove duplicate
Frameworks: Lazy dev part 2 + small fixes (1/2)

this is based on the last lazy dev commit from me with the same
reasons, this time navbar and statusbar white color did no stick because
of not used long var to save.

Best on that....I realized later that I am not allone a lazy dev. Aosp
does count -1 automatic as white lmao

whatever changed default valus to -2 and cleaned 4 lines up

cheers

Change-Id: Ie6cb0c80d6b1aff1fdb4c257a658e73506ade4df

Conflicts:

	core/java/android/provider/Settings.java
Add PhoneWindowManager checks to NavBar KillTask runnable

This addresses the issue where binding NavBar kill app can cause a system crash by killing inappropriate system processes.

Change-Id: I48f4c9b48131ffc9d7efe6f4f58bcaecc0fea304

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensibleKeyButtonView.java
Fix Navring shows up on all buttons

Change-Id: I008b9e29628ada3ea728ce12233a50915c77c76b
Frameworks: Change navbar general behaviour (1/2)

This commit changes that navbar is present on all devices even
with hardware keys. On hardware key devices the navbar height is
set to 0 as default now. Several reasons for that.

- no SystemUI restart when de/activating (last one we had :p)
- our navbar is very resource friendly so even no problem for the
  low end devices
- we can now use some of the navbar stuff you will see in next commits
  navbar magic :p

This commit also respects the different handling off menu's. Thats
why a part of the code (hasNavigationBar()) will be still left because
it is needed in main for

core/java/android/view/ViewConfiguration.java
core/java/android/view/IWindowManager.aidl
core/java/android/view/WindowManagerPolicy.java

this files which are controling that.

Settings commit:
- additional cleanup of no needed imports

cheers

Change-Id: I7838a7f25744de965c35097880abd760347244dd
Frameworks: Fix recent show from navbar sometimes weird things

cheers

Change-Id: Ib7069be558a3e3ff0c058bb636a09726760863f6
Fix: Recents animation bug navbar

cheers

Change-Id: I0e0b16c37f0f21060d1ec4b0ee6b990bad0c5b4b

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensibleKeyButtonView.java
Framework: Fix recents animation bug for all

Sometimes doing some other stuff bring ideas up to solve
problems. Google uses a dirty preload animation hack to
animate recents right....we can do the same just more
generalized.....due that all places (hw keys, navbar, SlimPie
and navring) are calling toggleRecents() I implemented the fix
now there to solve it in general. Due of that this commit
reverts commit 20a905c.
as well

cheers

Change-Id: I48aaa85881d8b177c7223a746bd39925f6826066
Fix: external storage problem NavBar applications

If the user binds an app which is located on the
external sdcard and is rebooting the button icon
will be left blank because the navbar is already
constructed before the sdcard is mounted. To avoid
this we listen to the app available intents.
If it is not available it shows the
none graphics. When available it shows the
correct app icon. So that the user can clearly see
this app is accessable or not. As well when the
user goes into mass storage mode or does
unmount the sdcard or whatever case could
happen that the application is not there.

+ a small optimize

cheers

Change-Id: Ic6a691d8b3af9ddb3e6008d64e6ab35cbabc12fb

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
Fix: external storage problem NavRing applications

If the user binds an app which is located on the
external sdcard and is rebooting the button icon
will be left blank because the navring is already
constructed before the sdcard is mounted. To avoid
this we listen to the app available intents.
If it is not available the ring target shows the none icon.
 When available it shows the
correct app icon. So that the user can clearly see
this app is accessable or not. As well when the
user goes into mass storage mode or does
unmount the sdcard or whatever case could
happen that the application is not there.

+ code cleanup who ever did that crap :p

+ to be more consistent to all other features we have an
empty action is now as well shown as an empty action on
the ring

Change-Id: Idce4c28dfc080bd1147fd5b80154d3a50d01141d

Conflicts:
	packages/SystemUI/src/com/android/systemui/SearchPanelView.java
Fix: Navring error

introduced with this commit
https://github.com/SlimRoms/frameworks_base/commit/8c8769815c0f1e58657e4e31ef7f7014e45b0831
the placeholders react on touch which ends up in open gnow permanently
disable the placeholders. Sorry for that

as well a small change (even if this case should never happen) to
be 100% sure the listeners are attached before unregistering

cheers

Change-Id: Iab783861020ed03645d60aa7e121edee29688841