From 08b2361e204bb9a315144babfdbb569cef59bb51 Mon Sep 17 00:00:00 2001 From: Roman Birg Date: Mon, 18 May 2015 13:25:43 -0700 Subject: SystemUI: improve dpad arrow key state logic Switching between two keyboards had the possibility of messing up the states and making the first button disappear. This patch addresses that to make sure we only hide the buttons as needed. Change-Id: Iaad23324dba7241674f6e5483b72300fd00b6cc6 Signed-off-by: Roman Birg --- .../android/systemui/statusbar/phone/NavigationBarView.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'packages/SystemUI') diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 7e1d3ba..cddf015 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -394,10 +394,14 @@ public class NavigationBarView extends LinearLayout { View one = getCurrentView().findViewById(mVertical ? R.id.six : R.id.one); View six = getCurrentView().findViewById(mVertical ? R.id.one : R.id.six); if (showingIme) { - mSlotOneVisibility = one.getVisibility(); - mSlotSixVisibility = six.getVisibility(); - setVisibleOrGone(one, false); - setVisibleOrGone(six, false); + if (mSlotOneVisibility == View.VISIBLE) { + mSlotOneVisibility = one.getVisibility(); + setVisibleOrGone(one, false); + } + if (mSlotSixVisibility == View.VISIBLE) { + mSlotSixVisibility = six.getVisibility(); + setVisibleOrGone(six, false); + } } else { if (mSlotOneVisibility != -1) { one.setVisibility(mSlotOneVisibility); -- cgit v1.1