Merge "Remove settings in overview mode for Launcher3." into jb-ub-now-kermit

This commit is contained in:
Jorim Jaggi
2014-01-15 01:31:13 +00:00
committed by Android (Google) Code Review
3 changed files with 51 additions and 18 deletions
+2 -1
View File
@@ -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>
+25 -5
View File
@@ -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);
}
+24 -12
View File
@@ -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;
}