diff options
-rw-r--r-- | res/layout-port/launcher.xml | 2 | ||||
-rw-r--r-- | res/layout-port/search_bar.xml | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/DynamicGrid.java | 20 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 2 |
5 files changed, 18 insertions, 11 deletions
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index ef2f3ace1..6638143f0 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -85,6 +85,8 @@ android:layout_height="match_parent" android:visibility="gone" /> + <!-- This is the search bar voice button proxy view. It allows us to have a larger + touch target than the microphone constrained by the search bar bounds. --> <com.android.launcher3.DrawableStateProxyView android:id="@+id/voice_button_proxy" android:layout_width="0dp" diff --git a/res/layout-port/search_bar.xml b/res/layout-port/search_bar.xml index 69dd61aa2..1c96ca380 100644 --- a/res/layout-port/search_bar.xml +++ b/res/layout-port/search_bar.xml @@ -17,6 +17,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" style="@style/SearchDropTargetBar" + android:layout_width="match_parent" + android:layout_height="match_parent" android:background="@drawable/search_frame"> <!-- Global search icon --> <com.android.launcher3.HolographicLinearLayout diff --git a/src/com/android/launcher3/DynamicGrid.java b/src/com/android/launcher3/DynamicGrid.java index 0756c88b7..33eb595ef 100644 --- a/src/com/android/launcher3/DynamicGrid.java +++ b/src/com/android/launcher3/DynamicGrid.java @@ -359,14 +359,14 @@ class DeviceProfile { boolean hasVerticalBarLayout = isVerticalBarLayout(); // Layout the search bar space - View searchBarSpace = launcher.findViewById(R.id.qsb_bar); - lp = (FrameLayout.LayoutParams) searchBarSpace.getLayoutParams(); + View searchBar = launcher.getSearchBar(); + lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); if (hasVerticalBarLayout) { // Vertical search bar lp.gravity = Gravity.TOP | Gravity.LEFT; lp.width = searchBarSpaceHeightPx; lp.height = LayoutParams.MATCH_PARENT; - searchBarSpace.setPadding( + searchBar.setPadding( 0, 2 * edgeMarginPx, 0, 2 * edgeMarginPx); } else { @@ -374,19 +374,19 @@ class DeviceProfile { lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; lp.width = searchBarSpaceWidthPx; lp.height = searchBarSpaceHeightPx; - searchBarSpace.setPadding( + searchBar.setPadding( 2 * edgeMarginPx, 2 * edgeMarginPx, 2 * edgeMarginPx, 0); } - searchBarSpace.setLayoutParams(lp); + searchBar.setLayoutParams(lp); // Layout the search bar - View searchBar = launcher.getQsbBar(); - lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); - lp.width = LayoutParams.MATCH_PARENT; - lp.height = LayoutParams.MATCH_PARENT; - searchBar.setLayoutParams(lp); + View qsbBar = launcher.getQsbBar(); + LayoutParams vglp = qsbBar.getLayoutParams(); + vglp.width = LayoutParams.MATCH_PARENT; + vglp.height = LayoutParams.MATCH_PARENT; + qsbBar.setLayoutParams(vglp); // Layout the voice proxy View voiceButtonProxy = launcher.findViewById(R.id.voice_button_proxy); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d09a4b835..9f7b02183 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -3263,7 +3263,8 @@ public class Launcher extends Activity public View getQsbBar() { if (mQsbBar == null) { - mQsbBar = mInflater.inflate(R.layout.qsb_bar, mSearchDropTargetBar); + mQsbBar = mInflater.inflate(R.layout.search_bar, mSearchDropTargetBar, false); + mSearchDropTargetBar.addView(mQsbBar); } return mQsbBar; } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 0eca3af8b..ab52c4eea 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1030,12 +1030,14 @@ public class Workspace extends SmoothPagedView if (mCustomContentCallbacks != null) { mCustomContentCallbacks.onShow(); mCustomContentShowTime = System.currentTimeMillis(); + mLauncher.setVoiceButtonProxyVisible(false); } } else if (hasCustomContent() && getNextPage() != 0 && mCustomContentShowing) { mCustomContentShowing = false; if (mCustomContentCallbacks != null) { mCustomContentCallbacks.onHide(); mLauncher.resetQSBScroll(); + mLauncher.setVoiceButtonProxyVisible(true); } } } |