diff options
author | Tony Wickham <twickham@google.com> | 2015-10-06 11:27:04 -0700 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2015-10-06 13:07:23 -0700 |
commit | 3a3517fb6c17120c6d11e5c95a0de4e81205d0ae (patch) | |
tree | 6c4262f0f15f4b79726528a1814bdf7c4edeec91 | |
parent | c84e6e19363c590bbfbac17e9ab7cc61a04d552a (diff) | |
download | android_packages_apps_Trebuchet-3a3517fb6c17120c6d11e5c95a0de4e81205d0ae.tar.gz android_packages_apps_Trebuchet-3a3517fb6c17120c6d11e5c95a0de4e81205d0ae.tar.bz2 android_packages_apps_Trebuchet-3a3517fb6c17120c6d11e5c95a0de4e81205d0ae.zip |
Add widget size options for QSB.
Bug: 24704753
Change-Id: I3e16c1f67a67b08b3843f7f38312447bdfa6a91e
-rw-r--r-- | src/com/android/launcher3/DeviceProfile.java | 6 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 27 |
2 files changed, 28 insertions, 5 deletions
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 774594fe2..47c5ccc9e 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -250,7 +250,7 @@ public class DeviceProfile { /** Returns the search bar bounds in the current orientation */ public Rect getSearchBarBounds(boolean isLayoutRtl) { Rect bounds = new Rect(); - if (isLandscape && transposeLayoutWithOrientation) { + if (isVerticalBarLayout()) { if (isLayoutRtl) { bounds.set(availableWidthPx - searchBarSpaceHeightPx, edgeMarginPx, availableWidthPx, availableHeightPx - edgeMarginPx); @@ -284,7 +284,7 @@ public class DeviceProfile { Rect getWorkspacePadding(boolean isLayoutRtl) { Rect searchBarBounds = getSearchBarBounds(isLayoutRtl); Rect padding = new Rect(); - if (isLandscape && transposeLayoutWithOrientation) { + if (isVerticalBarLayout()) { // Pad the left and right of the workspace with search/hotseat bar sizes if (isLayoutRtl) { padding.set(hotseatBarHeightPx, edgeMarginPx, @@ -320,7 +320,7 @@ public class DeviceProfile { } private int getWorkspacePageSpacing(boolean isLayoutRtl) { - if ((isLandscape && transposeLayoutWithOrientation) || isLargeTablet) { + if (isVerticalBarLayout() || isLargeTablet) { // In landscape mode the page spacing is set to the default. return defaultPageSpacingPx; } else { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 5a5bad7e5..bf9a42681 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -430,8 +430,8 @@ public class Launcher extends Activity // Load configuration-specific DeviceProfile mDeviceProfile = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? - app.getInvariantDeviceProfile().landscapeProfile - : app.getInvariantDeviceProfile().portraitProfile; + app.getInvariantDeviceProfile().landscapeProfile + : app.getInvariantDeviceProfile().portraitProfile; mSharedPrefs = getSharedPreferences(LauncherAppState.getSharedPreferencesKey(), Context.MODE_PRIVATE); @@ -3494,6 +3494,28 @@ public class Launcher extends Activity opts.putInt(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY, AppWidgetProviderInfo.WIDGET_CATEGORY_SEARCHBOX); + // Determine the min and max dimensions of the widget. + LauncherAppState app = LauncherAppState.getInstance(); + DeviceProfile portraitProfile = app.getInvariantDeviceProfile().portraitProfile; + DeviceProfile landscapeProfile = app.getInvariantDeviceProfile().landscapeProfile; + float density = getResources().getDisplayMetrics().density; + Rect searchBounds = portraitProfile.getSearchBarBounds(Utilities.isRtl(getResources())); + int maxHeight = (int) (searchBounds.height() / density); + int minHeight = maxHeight; + int maxWidth = (int) (searchBounds.width() / density); + int minWidth = maxWidth; + if (!landscapeProfile.isVerticalBarLayout()) { + searchBounds = landscapeProfile.getSearchBarBounds(Utilities.isRtl(getResources())); + maxHeight = (int) Math.max(maxHeight, searchBounds.height() / density); + minHeight = (int) Math.min(minHeight, searchBounds.height() / density); + maxWidth = (int) Math.max(maxWidth, searchBounds.width() / density); + minWidth = (int) Math.min(minWidth, searchBounds.width() / density); + } + opts.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT, maxHeight); + opts.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT, minHeight); + opts.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH, maxWidth); + opts.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH, minWidth); + SharedPreferences sp = getSharedPreferences( LauncherAppState.getSharedPreferencesKey(), MODE_PRIVATE); int widgetId = sp.getInt(QSB_WIDGET_ID, -1); @@ -4110,6 +4132,7 @@ public class Launcher extends Activity return mDeviceProfile.isVerticalBarLayout(); } + /** Returns the search bar bounds in pixels. */ protected Rect getSearchBarBounds() { return mDeviceProfile.getSearchBarBounds(Utilities.isRtl(getResources())); } |