Merge "Remove settings in overview mode for Launcher3." into jb-ub-now-kermit
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user