From 5a8266083252e172fe784fa0edaebe3c775cd848 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Wed, 7 Dec 2011 15:16:18 -0500 Subject: [PATCH] Invalidate the whole status bar after layout transitions. This should ensure that the menu icon doesn't persist on-screen even after it's been removed from its parent. (Related to the KeyButtonView animation glow and the tricks it plays with invalidation.) Bug: 5647480 Change-Id: I8ca503ef647aed99335d3dbecedce38fa0b70c65 --- .../systemui/statusbar/tablet/TabletStatusBar.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java index b919aecead6d7..05ad79351d18b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java @@ -514,6 +514,16 @@ public class TabletStatusBar extends StatusBar implements // don't wait for these transitions; we just want icons to fade in/out, not move around lt.setDuration(LayoutTransition.CHANGE_APPEARING, 0); lt.setDuration(LayoutTransition.CHANGE_DISAPPEARING, 0); + lt.addTransitionListener(new LayoutTransition.TransitionListener() { + public void endTransition(LayoutTransition transition, ViewGroup container, + View view, int transitionType) { + // ensure the menu button doesn't stick around on the status bar after it's been + // removed + mBarContents.invalidate(); + } + public void startTransition(LayoutTransition transition, ViewGroup container, + View view, int transitionType) {} + }); mNavigationArea.setLayoutTransition(lt); // no multi-touch on the nav buttons mNavigationArea.setMotionEventSplittingEnabled(false);