diff options
author | Winson Chung <winsonc@google.com> | 2013-09-30 18:19:14 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-09-30 18:19:14 -0700 |
commit | e4b1fd58c335f5b27318baf2128fe0375c4fccde (patch) | |
tree | 50637044601e26f596b598902f36072c6e83474b | |
parent | 87cbe9354ca41a6df318bd8ebf8aceb3f8f018f9 (diff) | |
parent | 5a4cb3fa6b5794bc61a7da0990c5145e8e9e47ab (diff) | |
download | android_packages_apps_Trebuchet-e4b1fd58c335f5b27318baf2128fe0375c4fccde.tar.gz android_packages_apps_Trebuchet-e4b1fd58c335f5b27318baf2128fe0375c4fccde.tar.bz2 android_packages_apps_Trebuchet-e4b1fd58c335f5b27318baf2128fe0375c4fccde.zip |
am 5a4cb3fa: am f099eb0b: Merge "Using state to update voice button proxy visibility instead of view flags. (Bug 10915381)" into jb-ub-now-indigo-rose
* commit '5a4cb3fa6b5794bc61a7da0990c5145e8e9e47ab':
Using state to update voice button proxy visibility instead of view flags. (Bug 10915381)
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 22 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 20 |
2 files changed, 31 insertions, 11 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 62e05e8d8..7ae429dae 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -900,6 +900,9 @@ public class Launcher extends Activity // Process any items that were added while Launcher was away. InstallShortcutReceiver.disableAndFlushInstallQueue(this); + // Update the voice search button proxy + updateVoiceButtonProxyVisible(false); + // Again, as with the above scenario, it's possible that one or more of the global icons // were updated in the wrong orientation. updateGlobalIcons(); @@ -3338,7 +3341,7 @@ public class Launcher extends Activity if (voiceButtonContainer != null) voiceButtonContainer.setVisibility(View.GONE); if (searchButton != null) searchButton.setVisibility(View.GONE); if (voiceButton != null) voiceButton.setVisibility(View.GONE); - setVoiceButtonProxyVisible(false); + updateVoiceButtonProxyVisible(false); return false; } } @@ -3385,13 +3388,13 @@ public class Launcher extends Activity } if (voiceButtonContainer != null) voiceButtonContainer.setVisibility(View.VISIBLE); voiceButton.setVisibility(View.VISIBLE); - setVoiceButtonProxyVisible(true); + updateVoiceButtonProxyVisible(false); invalidatePressedFocusedStates(voiceButtonContainer, voiceButton); return true; } else { if (voiceButtonContainer != null) voiceButtonContainer.setVisibility(View.GONE); if (voiceButton != null) voiceButton.setVisibility(View.GONE); - setVoiceButtonProxyVisible(false); + updateVoiceButtonProxyVisible(false); return false; } } @@ -3403,12 +3406,23 @@ public class Launcher extends Activity invalidatePressedFocusedStates(voiceButtonContainer, voiceButton); } - public void setVoiceButtonProxyVisible(boolean visible) { + public void updateVoiceButtonProxyVisible(boolean forceDisableVoiceButtonProxy) { final View voiceButtonProxy = findViewById(R.id.voice_button_proxy); if (voiceButtonProxy != null) { + boolean visible = !forceDisableVoiceButtonProxy && + mWorkspace.shouldVoiceButtonProxyBeVisible(); voiceButtonProxy.setVisibility(visible ? View.VISIBLE : View.GONE); + voiceButtonProxy.bringToFront(); } } + + /** + * This is an overrid eot disable the voice button proxy. If disabled is true, then the voice button proxy + * will be hidden regardless of what shouldVoiceButtonProxyBeVisible() returns. + */ + public void disableVoiceButtonProxy(boolean disabled) { + updateVoiceButtonProxyVisible(disabled); + } /** * Sets the app market icon */ diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 132f42d5f..68d241466 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1036,14 +1036,14 @@ public class Workspace extends SmoothPagedView if (mCustomContentCallbacks != null) { mCustomContentCallbacks.onShow(); mCustomContentShowTime = System.currentTimeMillis(); - mLauncher.setVoiceButtonProxyVisible(false); + mLauncher.updateVoiceButtonProxyVisible(false); } } else if (hasCustomContent() && getNextPage() != 0 && mCustomContentShowing) { mCustomContentShowing = false; if (mCustomContentCallbacks != null) { mCustomContentCallbacks.onHide(); mLauncher.resetQSBScroll(); - mLauncher.setVoiceButtonProxyVisible(true); + mLauncher.updateVoiceButtonProxyVisible(false); } } }; @@ -1823,6 +1823,16 @@ public class Workspace extends SmoothPagedView return offsetDelta; } + boolean shouldVoiceButtonProxyBeVisible() { + if (isOnOrMovingToCustomContent()) { + return false; + } + if (mState != State.NORMAL) { + return false; + } + return true; + } + Animator getChangeStateAnimation(final State state, boolean animated, int delay, int snapPage) { if (mState == state) { return null; @@ -1975,11 +1985,7 @@ public class Workspace extends SmoothPagedView setScaleY(mNewScale); setTranslationY(finalWorkspaceTranslationY); } - if (finalSearchBarAlpha == 0) { - mLauncher.setVoiceButtonProxyVisible(false); - } else { - mLauncher.setVoiceButtonProxyVisible(true); - } + mLauncher.updateVoiceButtonProxyVisible(false); if (stateIsSpringLoaded) { // Right now we're covered by Apps Customize |