diff options
author | Jorim Jaggi <jjaggi@google.com> | 2014-01-15 01:31:13 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-01-15 01:31:13 +0000 |
commit | c27a05132042149fdcc926aeebc1a284cece1aa4 (patch) | |
tree | 961323c964b2a0fa3fed74897c11a3488b45fc1a /src | |
parent | 24ce0b3708b44e738d6ee52477aa4dd917b547e7 (diff) | |
parent | d017f882eb67b630adb082dd2227e20f5bc77b05 (diff) | |
download | android_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.java | 30 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 36 |
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; } |