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
SystemUI (MSIM): Add extra vaules for sim state ready

From: https://www.codeaurora.org/cgit/quic/la/platform/frameworks/base/commit/packages/SystemUI/src/com/android/systemui?h=LNX.LA.3.7.2.c5&id=8489b3de7da4efef624bacc6a1d5cf31bd922475

Change-Id: I14176d4cab14bc90198cefd3f4b4880b6d14f566
ProximitySensor: check for correct MaxRange value

Use TYPICAL_PROXIMITY_THRESHOLD for devices that returns incorrect mProximitySensor.getMaximumRange() value;

Presto's proximity sensor returns values: 0.0f(near) or 5.0f(far).
mProximitySensor.getMaximumRange() must return proximity sensor's availible range, but it always return 0, so mProximityThreshold is also 0.

So boolean positive = distance >= 0.0f && distance < mProximityThreshold;  positive will never be
true.
The cause of this problem is proprietary sensor.msm8660.so, it must set proper Range and Resolution for proximity sensor.

Change-Id: I0cf81fd20f210115cbd6db10c0070b12f1c57336