From 476493bcc3b2d6cf32db62bf78714aa0f2747108 Mon Sep 17 00:00:00 2001 From: Cristina Stancu Date: Wed, 7 Aug 2013 17:20:14 +0100 Subject: Get the view to be used as qsb bar from the launcher directly. This will allow more control over the qsb visuals and behaviour in GEL. Depends on ag/339203 Future changes: - revert ag/344333 since we won't need the normal qsb to support hotword anymore - Dragging icons over the Drop target bar (to remove/uninstall them or get App info) doesn't currently work in GEL. There might be future changes needed to fix that. Change-Id: Ic498f0abee5ad99ef1644ff94f174b61f8e1f5f0 --- src/com/android/launcher3/DrawableStateProxyView.java | 6 ++++-- src/com/android/launcher3/DynamicGrid.java | 2 +- src/com/android/launcher3/Launcher.java | 18 +++++++++++++----- src/com/android/launcher3/SearchDropTargetBar.java | 15 ++++++++++----- 4 files changed, 28 insertions(+), 13 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/launcher3/DrawableStateProxyView.java b/src/com/android/launcher3/DrawableStateProxyView.java index 196e2f2e1..0758de1f7 100644 --- a/src/com/android/launcher3/DrawableStateProxyView.java +++ b/src/com/android/launcher3/DrawableStateProxyView.java @@ -58,8 +58,10 @@ public class DrawableStateProxyView extends LinearLayout { View parent = (View) getParent(); mView = parent.findViewById(mViewId); } - mView.setPressed(isPressed()); - mView.setHovered(isHovered()); + if (mView != null) { + mView.setPressed(isPressed()); + mView.setHovered(isHovered()); + } } @Override diff --git a/src/com/android/launcher3/DynamicGrid.java b/src/com/android/launcher3/DynamicGrid.java index 37cccfbd3..593c4defb 100644 --- a/src/com/android/launcher3/DynamicGrid.java +++ b/src/com/android/launcher3/DynamicGrid.java @@ -321,7 +321,7 @@ class DeviceProfile { searchBarSpace.setLayoutParams(lp); // Layout the search bar - View searchBar = searchBarSpace.findViewById(R.id.qsb_search_bar); + View searchBar = launcher.getQsbBar(); lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); lp.width = LayoutParams.MATCH_PARENT; lp.height = LayoutParams.MATCH_PARENT; diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d91fee868..85bcdc019 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -245,6 +245,7 @@ public class Launcher extends Activity private AppsCustomizeTabHost mAppsCustomizeTabHost; private AppsCustomizePagedView mAppsCustomizeContent; private boolean mAutoAdvanceRunning = false; + private View mQsbBar; private Bundle mSavedState; // We set the state in both onCreate and then onNewIntent in some cases, which causes both @@ -413,8 +414,8 @@ public class Launcher extends Activity checkForLocaleChange(); setContentView(R.layout.launcher); - grid.layout(this); setupViews(); + grid.layout(this); showFirstRunWorkspaceCling(); registerContentObservers(); @@ -3247,7 +3248,14 @@ public class Launcher extends Activity } } - private boolean updateGlobalSearchIcon() { + public View getQsbBar() { + if (mQsbBar == null) { + mQsbBar = mInflater.inflate(R.layout.qsb_bar, mSearchDropTargetBar); + } + return mQsbBar; + } + + protected boolean updateGlobalSearchIcon() { final View searchButtonContainer = findViewById(R.id.search_button_container); final ImageView searchButton = (ImageView) findViewById(R.id.search_button); final View voiceButtonContainer = findViewById(R.id.voice_button_container); @@ -3282,14 +3290,14 @@ public class Launcher extends Activity } } - private void updateGlobalSearchIcon(Drawable.ConstantState d) { + protected void updateGlobalSearchIcon(Drawable.ConstantState d) { final View searchButtonContainer = findViewById(R.id.search_button_container); final View searchButton = (ImageView) findViewById(R.id.search_button); updateButtonWithDrawable(R.id.search_button, d); invalidatePressedFocusedStates(searchButtonContainer, searchButton); } - private boolean updateVoiceSearchIcon(boolean searchVisible) { + protected boolean updateVoiceSearchIcon(boolean searchVisible) { final View voiceButtonContainer = findViewById(R.id.voice_button_container); final View voiceButton = findViewById(R.id.voice_button); @@ -3335,7 +3343,7 @@ public class Launcher extends Activity } } - private void updateVoiceSearchIcon(Drawable.ConstantState d) { + protected void updateVoiceSearchIcon(Drawable.ConstantState d) { final View voiceButtonContainer = findViewById(R.id.voice_button_container); final View voiceButton = findViewById(R.id.voice_button); updateButtonWithDrawable(R.id.voice_button, d); diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java index 8f1b5d2d2..0a0861f47 100644 --- a/src/com/android/launcher3/SearchDropTargetBar.java +++ b/src/com/android/launcher3/SearchDropTargetBar.java @@ -23,6 +23,7 @@ import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; +import android.view.LayoutInflater; import android.view.View; import android.view.animation.AccelerateInterpolator; import android.widget.FrameLayout; @@ -71,6 +72,14 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D dragController.setFlingToDeleteDropTarget(mDeleteDropTarget); mInfoDropTarget.setLauncher(launcher); mDeleteDropTarget.setLauncher(launcher); + mQSBSearchBar = launcher.getQsbBar(); + if (mEnableDropDownDropTargets) { + mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "translationY", 0, + -mBarHeight); + } else { + mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "alpha", 1f, 0f); + } + setupAnimation(mQSBSearchBarAnim, mQSBSearchBar); } private void prepareStartAnimation(View v) { @@ -95,7 +104,6 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D super.onFinishInflate(); // Get the individual components - mQSBSearchBar = findViewById(R.id.qsb_search_bar); mDropTargetBar = findViewById(R.id.drag_target_bar); mInfoDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.info_target_text); mDeleteDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.delete_target_text); @@ -114,15 +122,12 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mDropTargetBar.setTranslationY(-mBarHeight); mDropTargetBarAnim = LauncherAnimUtils.ofFloat(mDropTargetBar, "translationY", -mBarHeight, 0f); - mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "translationY", 0, - -mBarHeight); + } else { mDropTargetBar.setAlpha(0f); mDropTargetBarAnim = LauncherAnimUtils.ofFloat(mDropTargetBar, "alpha", 0f, 1f); - mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "alpha", 1f, 0f); } setupAnimation(mDropTargetBarAnim, mDropTargetBar); - setupAnimation(mQSBSearchBarAnim, mQSBSearchBar); } public void finishAnimations() { -- cgit v1.2.3