summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2015-10-09 01:40:31 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-10-09 01:40:31 +0000
commitfa3c369cc30345e23b2b90415a3348490dd2a0b2 (patch)
tree778e077115de160b16a2ea3401e8da3f7ae2dc0d /src/com/android
parentd70a4b7b7805f0fd61cb34487b4f6cc620025723 (diff)
parent37860923619b1e467975a74764dff03ab657bdc7 (diff)
downloadandroid_packages_apps_Trebuchet-fa3c369cc30345e23b2b90415a3348490dd2a0b2.tar.gz
android_packages_apps_Trebuchet-fa3c369cc30345e23b2b90415a3348490dd2a0b2.tar.bz2
android_packages_apps_Trebuchet-fa3c369cc30345e23b2b90415a3348490dd2a0b2.zip
am 37860923: Merge "Added launcher callback to specify search bar height." into ub-launcher3-burnaby
* commit '37860923619b1e467975a74764dff03ab657bdc7': Added launcher callback to specify search bar height.
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/launcher3/DeviceProfile.java41
-rw-r--r--src/com/android/launcher3/Launcher.java7
-rw-r--r--src/com/android/launcher3/LauncherCallbacks.java3
-rw-r--r--src/com/android/launcher3/testing/LauncherExtension.java5
4 files changed, 43 insertions, 13 deletions
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index b297658b4..947b16440 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -90,7 +90,8 @@ public class DeviceProfile {
public int hotseatCellWidthPx;
public int hotseatCellHeightPx;
public int hotseatIconSizePx;
- private int hotseatBarHeightPx;
+ private int hotseatBarHeightNormalPx, hotseatBarHeightShortPx;
+ private int hotseatBarHeightPx; // One of the above.
// All apps
public int allAppsNumCols;
@@ -101,7 +102,9 @@ public class DeviceProfile {
// QSB
private int searchBarSpaceWidthPx;
- private int searchBarSpaceHeightPx;
+ private int searchBarSpaceHeightNormalPx, searchBarSpaceHeightTallPx;
+ private int searchBarSpaceHeightPx; // One of the above.
+ private int searchBarHeight = LauncherCallbacks.SEARCH_BAR_HEIGHT_NORMAL;
public DeviceProfile(Context context, InvariantDeviceProfile inv,
Point minSize, Point maxSize,
@@ -205,8 +208,10 @@ public class DeviceProfile {
// Search Bar
searchBarSpaceWidthPx = Math.min(widthPx,
res.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_max_width));
- searchBarSpaceHeightPx = getSearchBarTopOffset()
+ searchBarSpaceHeightNormalPx = getSearchBarTopOffset()
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_height);
+ searchBarSpaceHeightTallPx = getSearchBarTopOffset()
+ + res.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_height_tall);
// Calculate the actual text height
Paint textPaint = new Paint();
@@ -218,7 +223,8 @@ public class DeviceProfile {
dragViewScale = (iconSizePx + scaleDps) / iconSizePx;
// Hotseat
- hotseatBarHeightPx = iconSizePx + 4 * edgeMarginPx;
+ hotseatBarHeightNormalPx = iconSizePx + 4 * edgeMarginPx;
+ hotseatBarHeightShortPx = iconSizePx + 2 * edgeMarginPx;
hotseatCellWidthPx = iconSizePx;
hotseatCellHeightPx = iconSizePx;
@@ -259,10 +265,10 @@ public class DeviceProfile {
Rect bounds = new Rect();
if (isVerticalBarLayout()) {
if (isLayoutRtl) {
- bounds.set(availableWidthPx - searchBarSpaceHeightPx, edgeMarginPx,
+ bounds.set(availableWidthPx - searchBarSpaceHeightNormalPx, edgeMarginPx,
availableWidthPx, availableHeightPx - edgeMarginPx);
} else {
- bounds.set(0, edgeMarginPx, searchBarSpaceHeightPx,
+ bounds.set(0, edgeMarginPx, searchBarSpaceHeightNormalPx,
availableHeightPx - edgeMarginPx);
}
} else {
@@ -294,11 +300,11 @@ public class DeviceProfile {
if (isVerticalBarLayout()) {
// Pad the left and right of the workspace with search/hotseat bar sizes
if (isLayoutRtl) {
- padding.set(hotseatBarHeightPx, edgeMarginPx,
+ padding.set(hotseatBarHeightNormalPx, edgeMarginPx,
searchBarBounds.width(), edgeMarginPx);
} else {
padding.set(searchBarBounds.width(), edgeMarginPx,
- hotseatBarHeightPx, edgeMarginPx);
+ hotseatBarHeightNormalPx, edgeMarginPx);
}
} else {
if (isTablet) {
@@ -351,7 +357,7 @@ public class DeviceProfile {
// The rect returned will be extended to below the system ui that covers the workspace
Rect getHotseatRect() {
if (isVerticalBarLayout()) {
- return new Rect(availableWidthPx - hotseatBarHeightPx, 0,
+ return new Rect(availableWidthPx - hotseatBarHeightNormalPx, 0,
Integer.MAX_VALUE, availableHeightPx);
} else {
return new Rect(0, availableHeightPx - hotseatBarHeightPx,
@@ -367,8 +373,9 @@ public class DeviceProfile {
}
/**
- * When {@code true}, hotseat is on the bottom row when in landscape mode.
- * If {@code false}, hotseat is on the right column when in landscape mode.
+ * When {@code true}, the device is in landscape mode and the hotseat is on the right column.
+ * When {@code false}, either device is in portrait mode or the device is in landscape mode and
+ * the hotseat is on the bottom row.
*/
boolean isVerticalBarLayout() {
return isLandscape && transposeLayoutWithOrientation;
@@ -396,11 +403,19 @@ public class DeviceProfile {
// Layout the search bar space
View searchBar = launcher.getSearchDropTargetBar();
lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams();
+ searchBarHeight = launcher.getSearchBarHeight();
+ if (searchBarHeight == LauncherCallbacks.SEARCH_BAR_HEIGHT_TALL) {
+ hotseatBarHeightPx = hotseatBarHeightShortPx;
+ searchBarSpaceHeightPx = searchBarSpaceHeightTallPx;
+ } else {
+ hotseatBarHeightPx = hotseatBarHeightNormalPx;
+ searchBarSpaceHeightPx = searchBarSpaceHeightNormalPx;
+ }
if (hasVerticalBarLayout) {
// Vertical search bar space -- The search bar is fixed in the layout to be on the left
// of the screen regardless of RTL
lp.gravity = Gravity.LEFT;
- lp.width = searchBarSpaceHeightPx;
+ lp.width = searchBarSpaceHeightNormalPx;
LinearLayout targets = (LinearLayout) searchBar.findViewById(R.id.drag_target_bar);
targets.setOrientation(LinearLayout.VERTICAL);
@@ -441,7 +456,7 @@ public class DeviceProfile {
// Vertical hotseat -- The hotseat is fixed in the layout to be on the right of the
// screen regardless of RTL
lp.gravity = Gravity.RIGHT;
- lp.width = hotseatBarHeightPx;
+ lp.width = hotseatBarHeightNormalPx;
lp.height = LayoutParams.MATCH_PARENT;
hotseat.findViewById(R.id.layout).setPadding(0, 2 * edgeMarginPx, 0, 2 * edgeMarginPx);
} else if (isTablet) {
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 9569ec6b2..f64631b1c 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -4159,6 +4159,13 @@ public class Launcher extends Activity
return mDeviceProfile.getSearchBarBounds(Utilities.isRtl(getResources()));
}
+ public int getSearchBarHeight() {
+ if (mLauncherCallbacks != null) {
+ return mLauncherCallbacks.getSearchBarHeight();
+ }
+ return LauncherCallbacks.SEARCH_BAR_HEIGHT_NORMAL;
+ }
+
public void bindSearchProviderChanged() {
if (mSearchDropTargetBar == null) {
return;
diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java
index e34bd57fd..927db224f 100644
--- a/src/com/android/launcher3/LauncherCallbacks.java
+++ b/src/com/android/launcher3/LauncherCallbacks.java
@@ -99,6 +99,9 @@ public interface LauncherCallbacks {
public boolean isLauncherPreinstalled();
public AllAppsSearchBarController getAllAppsSearchBarController();
public List<ComponentKey> getPredictedApps();
+ public static final int SEARCH_BAR_HEIGHT_NORMAL = 0, SEARCH_BAR_HEIGHT_TALL = 1;
+ /** Must return one of {@link #SEARCH_BAR_HEIGHT_NORMAL} or {@link #SEARCH_BAR_HEIGHT_TALL} */
+ public int getSearchBarHeight();
/**
* Returning true will immediately result in a call to {@link #setLauncherOverlayView(ViewGroup,
diff --git a/src/com/android/launcher3/testing/LauncherExtension.java b/src/com/android/launcher3/testing/LauncherExtension.java
index dac279afa..3364fcc9f 100644
--- a/src/com/android/launcher3/testing/LauncherExtension.java
+++ b/src/com/android/launcher3/testing/LauncherExtension.java
@@ -303,6 +303,11 @@ public class LauncherExtension extends Launcher {
}
@Override
+ public int getSearchBarHeight() {
+ return SEARCH_BAR_HEIGHT_NORMAL;
+ }
+
+ @Override
public boolean isLauncherPreinstalled() {
return false;
}