summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2014-01-14 17:08:48 -0800
committerDanesh M <daneshm90@gmail.com>2014-06-06 22:54:25 -0700
commit0c33cc73fe358a82873a5321319e503b5f8fbeaf (patch)
tree5587e1dc41395c54e1d713184c0d50d4ee333385
parentd0a7b495fdfdfa52f4a533acbc26c0afa5984c4c (diff)
downloadandroid_packages_apps_Trebuchet-0c33cc73fe358a82873a5321319e503b5f8fbeaf.tar.gz
android_packages_apps_Trebuchet-0c33cc73fe358a82873a5321319e503b5f8fbeaf.tar.bz2
android_packages_apps_Trebuchet-0c33cc73fe358a82873a5321319e503b5f8fbeaf.zip
Remove settings in overview mode for Launcher3.
The appereance of the settings button in overview mode is now dependent on a overridable method, such that we can have it in GEL, but not in Launcher3. This change also adjusts the logic of how wide the overview panel is, depending on how many items we have. Bug: 12441429 Change-Id: Ibf537c26602785f565292cbfa213eb123469ebcd
-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);
}