diff options
author | Tony Wickham <twickham@google.com> | 2015-10-09 01:40:31 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-10-09 01:40:31 +0000 |
commit | fa3c369cc30345e23b2b90415a3348490dd2a0b2 (patch) | |
tree | 778e077115de160b16a2ea3401e8da3f7ae2dc0d /src/com/android | |
parent | d70a4b7b7805f0fd61cb34487b4f6cc620025723 (diff) | |
parent | 37860923619b1e467975a74764dff03ab657bdc7 (diff) | |
download | android_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.java | 41 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherCallbacks.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/testing/LauncherExtension.java | 5 |
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; } |