summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2014-01-15 01:31:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-01-15 01:31:13 +0000
commitc27a05132042149fdcc926aeebc1a284cece1aa4 (patch)
tree961323c964b2a0fa3fed74897c11a3488b45fc1a /src
parent24ce0b3708b44e738d6ee52477aa4dd917b547e7 (diff)
parentd017f882eb67b630adb082dd2227e20f5bc77b05 (diff)
downloadandroid_packages_apps_Trebuchet-c27a05132042149fdcc926aeebc1a284cece1aa4.tar.gz
android_packages_apps_Trebuchet-c27a05132042149fdcc926aeebc1a284cece1aa4.tar.bz2
android_packages_apps_Trebuchet-c27a05132042149fdcc926aeebc1a284cece1aa4.zip
Merge "Remove settings in overview mode for Launcher3." into jb-ub-now-kermit
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/DeviceProfile.java30
-rw-r--r--src/com/android/launcher3/Launcher.java36
2 files changed, 49 insertions, 17 deletions
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 492a8798b..7ce044676 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;
@@ -89,7 +90,8 @@ public class DeviceProfile {
int overviewModeMinIconZoneHeightPx;
int overviewModeMaxIconZoneHeightPx;
- int overviewModeMaxBarWidthPx;
+ int overviewModeBarItemWidthPx;
+ int overviewModeBarSpacerWidthPx;
float overviewModeIconZoneRatio;
float overviewModeScaleFactor;
@@ -171,8 +173,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 =
@@ -594,6 +598,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) {
FrameLayout.LayoutParams lp;
Resources res = launcher.getResources();
@@ -736,12 +755,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 336cf9e7a..6e3032f28 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -248,7 +248,7 @@ public class Launcher extends Activity
private FolderInfo mFolderInfo;
private Hotseat mHotseat;
- private View mOverviewPanel;
+ private ViewGroup mOverviewPanel;
private View mAllAppsButton;
@@ -1061,6 +1061,10 @@ public class Launcher extends Activity
public void onScrollProgressChanged(float progress);
}
+ protected boolean hasSettings() {
+ return false;
+ }
+
protected void startSettings() {
}
@@ -1242,7 +1246,7 @@ public class Launcher extends Activity
mHotseat.setOnLongClickListener(this);
}
- mOverviewPanel = findViewById(R.id.overview_panel);
+ mOverviewPanel = (ViewGroup) findViewById(R.id.overview_panel);
View widgetButton = findViewById(R.id.widget_button);
widgetButton.setOnClickListener(new OnClickListener() {
@Override
@@ -1266,15 +1270,23 @@ public class Launcher extends Activity
wallpaperButton.setOnTouchListener(getHapticFeedbackTouchListener());
View settingsButton = findViewById(R.id.settings_button);
- settingsButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- if (!mWorkspace.isSwitchingState()) {
- startSettings();
- }
- }
- });
- settingsButton.setOnTouchListener(getHapticFeedbackTouchListener());
+ if (hasSettings()) {
+ settingsButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View arg0) {
+ if (!mWorkspace.isSwitchingState()) {
+ startSettings();
+ }
+ }
+ });
+ settingsButton.setOnTouchListener(getHapticFeedbackTouchListener());
+ } else {
+ settingsButton.setVisibility(View.GONE);
+ FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) widgetButton.getLayoutParams();
+ lp.gravity = Gravity.END | Gravity.TOP;
+ widgetButton.requestLayout();
+ }
+
mOverviewPanel.setAlpha(0f);
// Setup the workspace
@@ -1747,7 +1759,7 @@ public class Launcher extends Activity
return mHotseat;
}
- public View getOverviewPanel() {
+ public ViewGroup getOverviewPanel() {
return mOverviewPanel;
}