summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/dimens.xml3
-rw-r--r--src/com/android/launcher3/DeviceProfile.java30
-rw-r--r--src/com/android/launcher3/Launcher.java10
3 files changed, 37 insertions, 6 deletions
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index c085142a2..9d8fec048 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -25,7 +25,8 @@
<dimen name="dynamic_grid_workspace_page_spacing">8dp</dimen>
<dimen name="dynamic_grid_overview_min_icon_zone_height">80dp</dimen>
<dimen name="dynamic_grid_overview_max_icon_zone_height">120dp</dimen>
- <dimen name="dynamic_grid_overview_bar_max_width">280dp</dimen>
+ <dimen name="dynamic_grid_overview_bar_item_width">48dp</dimen>
+ <dimen name="dynamic_grid_overview_bar_spacer_width">68dp</dimen>
<!-- Cling -->
<dimen name="clingPunchThroughGraphicCenterRadius">94dp</dimen>
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 238dd22f4..1a99f1fee 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -31,6 +31,7 @@ import android.view.Display;
import android.view.Gravity;
import android.view.Surface;
import android.view.View;
+import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.widget.FrameLayout;
@@ -90,7 +91,8 @@ public class DeviceProfile {
int overviewModeMinIconZoneHeightPx;
int overviewModeMaxIconZoneHeightPx;
- int overviewModeMaxBarWidthPx;
+ int overviewModeBarItemWidthPx;
+ int overviewModeBarSpacerWidthPx;
float overviewModeIconZoneRatio;
float overviewModeScaleFactor;
@@ -175,8 +177,10 @@ public class DeviceProfile {
res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_min_icon_zone_height);
overviewModeMaxIconZoneHeightPx =
res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_max_icon_zone_height);
- overviewModeMaxBarWidthPx =
- res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_max_width);
+ overviewModeBarItemWidthPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_item_width);
+ overviewModeBarSpacerWidthPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_spacer_width);
overviewModeIconZoneRatio =
res.getInteger(R.integer.config_dynamic_grid_overview_icon_zone_percentage) / 100f;
overviewModeScaleFactor =
@@ -611,6 +615,21 @@ public class DeviceProfile {
return isVerticalBarLayout() || isLargeTablet();
}
+ int getVisibleChildCount(ViewGroup parent) {
+ int visibleChildren = 0;
+ for (int i = 0; i < parent.getChildCount(); i++) {
+ if (parent.getChildAt(i).getVisibility() != View.GONE) {
+ visibleChildren++;
+ }
+ }
+ return visibleChildren;
+ }
+
+ int calculateOverviewModeWidth(int visibleChildCount) {
+ return visibleChildCount * overviewModeBarItemWidthPx +
+ (visibleChildCount-1) * overviewModeBarSpacerWidthPx;
+ }
+
public void layout(Launcher launcher) {
// Update search bar for live settings
searchBarVisible = SettingsProvider.getBoolean(launcher, SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH,
@@ -765,12 +784,13 @@ public class DeviceProfile {
}
// Layout the Overview Mode
-// View overviewMode = launcher.getOverviewPanel();
+// ViewGroup overviewMode = launcher.getOverviewPanel();
// if (overviewMode != null) {
// Rect r = getOverviewModeButtonBarRect();
// lp = (FrameLayout.LayoutParams) overviewMode.getLayoutParams();
// lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
-// lp.width = Math.min(availableWidthPx, overviewModeMaxBarWidthPx);
+// lp.width = Math.min(availableWidthPx,
+// calculateOverviewModeWidth(getVisibleChildCount(overviewMode)));
// lp.height = r.height();
// overviewMode.setLayoutParams(lp);
// }
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 274ac7e9b..9fd831514 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -268,10 +268,13 @@ public class Launcher extends Activity
private FolderInfo mFolderInfo;
private Hotseat mHotseat;
+
private View mOverviewPanel;
private View mDarkPanel;
OverviewSettingsPanel mOverviewSettingsPanel;
+// private ViewGroup mOverviewPanel;
+
private View mAllAppsButton;
private SearchDropTargetBar mSearchDropTargetBar;
@@ -1262,6 +1265,13 @@ public class Launcher extends Activity
popupMenu.show();
}
+ protected boolean hasSettings() {
+ return false;
+ }
+
+ protected void startSettings() {
+ }
+
public interface QSBScroller {
public void setScrollY(int scrollY);
}