summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout-port/launcher.xml2
-rw-r--r--res/layout-port/search_bar.xml2
-rw-r--r--src/com/android/launcher3/DynamicGrid.java20
-rw-r--r--src/com/android/launcher3/Launcher.java3
-rw-r--r--src/com/android/launcher3/Workspace.java2
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);
}
}
}