NetworkController: Extra WIMAX icon handling

- Fixes the dependency on 3g (or other mobile data)
  being connected for the wimax (4G) icon to show.
- Prevents the lack of mobile data (3g, 1x, etc) from
  removing the wimax icon if wimax is connected.
- Continue to show the network carrier type if
  phone is out of service but wimax is still connected.

Authored by: Matt Merhar

Change-Id: Ib1cf411cf4e7248248e093b6a7317fbe5d80f704
AudioService: Reduce volume to safe level when headset is connected (2/2)

This is a safety feature for users who opt to raise volume above the designated
safe level while using a headset.

Currently when a user does this they are provided with no protection against
dangerously high volume levels until the next time the headset volume warning
is displayed.

This patch adds an optional feature to ensure volume is no higher than the safe
level every time a headset is connected.

Change-Id: Idaa9cc9549bc3c6278e1e44490433c5366c29c16
AudioService: Reduce volume to safe level when headset is connected (2/2)

This is a safety feature for users who opt to raise volume above the designated
safe level while using a headset.

Currently when a user does this they are provided with no protection against
dangerously high volume levels until the next time the headset volume warning
is displayed.

This patch adds an optional feature to ensure volume is no higher than the safe
level every time a headset is connected.

Change-Id: Idaa9cc9549bc3c6278e1e44490433c5366c29c16
Left handed navbar: fix keyboard placement in immersive mode

when using immersive mode with left handed navbar in landscape the keyboard doesn't account for
the navbar appearing from the left and leaves an empty layer on the right, we need to use mStableLeft
so it takes its position accordingly.

Change-Id: I937e46661673b8560357afd4cbd7289bae87734f
SystemUI: Rework SearchPanelView calculations

Make isScreenLarge calculations match how the system calculates where to put the navigation
bar. This fixes certain cases where the quick launch buttons on the glowpad of the
navigation bar is improperly oriented.

Patch set 2: The eval should be greater OR EQUAL to 600, not just greater. Also cache result
into a boolean before returning it.

Patch set 3-4: Actually cache it this time.

Patch set 5-6: Make it final.

Change-Id: I5703578b4d49a6eeab100bb23167abd5cf9a326d
Merge remote-tracking branch 'upstream/cm-11.0' into cm-11.0
Merge branch 'cm-11.0' of https://github.com/GruesomeWolf/android_frameworks_base into cm-11.0