From 6fc4600d6e74fa652215b63c687e725d952a523d Mon Sep 17 00:00:00 2001 From: Annie Chin Date: Thu, 7 Jul 2016 18:38:12 -0700 Subject: [PATCH] Add setLandscape() method to ButtonInterface Bug: 29582254 Change-Id: I67a191cc67ad1ddab2bf8784d928e26462226aaf --- .../systemui/statusbar/phone/ButtonDispatcher.java | 9 +++++++++ .../statusbar/phone/NavigationBarInflaterView.java | 8 ++++---- .../android/systemui/statusbar/policy/KeyButtonView.java | 5 +++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java index b53a999071461..63f726b545db6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java @@ -49,6 +49,13 @@ public class ButtonDispatcher { mViews.clear(); } + void addView(View view, boolean landscape) { + addView(view); + if (view instanceof ButtonInterface) { + ((ButtonInterface) view).setLandscape(landscape); + } + } + void addView(View view) { mViews.add(view); view.setOnClickListener(mClickListener); @@ -178,5 +185,7 @@ public class ButtonDispatcher { void setImageDrawable(@Nullable Drawable drawable); void abortCurrentGesture(); + + void setLandscape(boolean landscape); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java index dd46b085e005d..c01382c0420dd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java @@ -258,7 +258,7 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi params.width = (int) (params.width * size); } parent.addView(v); - addToDispatchers(v); + addToDispatchers(v, landscape); View lastView = landscape ? mLastRot90 : mLastRot0; if (lastView != null) { v.setAccessibilityTraversalAfter(lastView.getId()); @@ -305,16 +305,16 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi return buttonSpec.substring(0, buttonSpec.indexOf(SIZE_MOD_START)); } - private void addToDispatchers(View v) { + private void addToDispatchers(View v, boolean landscape) { if (mButtonDispatchers != null) { final int indexOfKey = mButtonDispatchers.indexOfKey(v.getId()); if (indexOfKey >= 0) { - mButtonDispatchers.valueAt(indexOfKey).addView(v); + mButtonDispatchers.valueAt(indexOfKey).addView(v, landscape); } else if (v instanceof ViewGroup) { final ViewGroup viewGroup = (ViewGroup)v; final int N = viewGroup.getChildCount(); for (int i = 0; i < N; i++) { - addToDispatchers(viewGroup.getChildAt(i)); + addToDispatchers(viewGroup.getChildAt(i), landscape); } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index d8b1a62f49b18..3df759068ae96 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -265,6 +265,11 @@ public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonI public void setImageDrawable(@Nullable Drawable drawable) { super.setImageDrawable(drawable); } + + @Override + public void setLandscape(boolean landscape) { + //no op + } }