From 5352a89e8a633e348c450aaee835d2a2d72e8ae0 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Wed, 20 Aug 2014 17:33:24 -0700 Subject: [PATCH] Unify code paths for collapsing action views in action bars This reverts a well-intentioned bugfix that made ActionBarOverlayLayout focusable in touch mode and caused issues with some activity layouts. Removes the associated key handling code for the Back key in ActionBarOverlayLayout and handles it at a higher level in Activity instead. (This same code path was already in use by ToolbarActionBar.) Bug 17105724 Change-Id: I57e4cace44a6d11f25a2549644b565446d616a52 --- .../internal/app/WindowDecorActionBar.java | 9 ++++++++ .../widget/ActionBarOverlayLayout.java | 23 ------------------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/core/java/com/android/internal/app/WindowDecorActionBar.java b/core/java/com/android/internal/app/WindowDecorActionBar.java index b5ff0cc779b84..b58e1dbe25b44 100644 --- a/core/java/com/android/internal/app/WindowDecorActionBar.java +++ b/core/java/com/android/internal/app/WindowDecorActionBar.java @@ -925,6 +925,15 @@ public class WindowDecorActionBar extends ActionBar implements public void onContentScrollStopped() { } + @Override + public boolean collapseActionView() { + if (mDecorToolbar != null && mDecorToolbar.hasExpandedActionView()) { + mDecorToolbar.collapseActionView(); + return true; + } + return false; + } + /** * @hide */ diff --git a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java index 5709f6591158a..cca48d39bb779 100644 --- a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java +++ b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java @@ -184,8 +184,6 @@ public class ActionBarOverlayLayout extends ViewGroup implements DecorContentPar Build.VERSION_CODES.KITKAT; mFlingEstimator = new OverScroller(context); - - setFocusableInTouchMode(true); } @Override @@ -660,27 +658,6 @@ public class ActionBarOverlayLayout extends ViewGroup implements DecorContentPar return finalY > mActionBarTop.getHeight(); } - @Override - public boolean dispatchKeyEvent(KeyEvent event) { - if (super.dispatchKeyEvent(event)) { - return true; - } - - if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { - final int action = event.getAction(); - - // Collapse any expanded action views. - if (mDecorToolbar != null && mDecorToolbar.hasExpandedActionView()) { - if (action == KeyEvent.ACTION_UP) { - mDecorToolbar.collapseActionView(); - } - return true; - } - } - - return false; - } - @Override public void setWindowCallback(Window.Callback cb) { pullChildren();