diff options
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 44 | ||||
-rw-r--r-- | src/com/android/launcher3/OverviewSettingsPanel.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java | 14 |
4 files changed, 53 insertions, 20 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 3cf032e53..c3f357c65 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -315,6 +315,8 @@ public class Launcher extends Activity private boolean mWorkspaceLoading = true; + private boolean mDynamicGridUpdateRequired = false; + private boolean mPaused = true; private boolean mRestoring; private boolean mWaitingForResult; @@ -435,8 +437,6 @@ public class Launcher extends Activity public void onReceive(Context context, Intent intent) { // Update the workspace updateDynamicGrid(); - mWorkspace.hideOutlines(); - mSearchDropTargetBar.showSearchBar(false); } }; @@ -1052,6 +1052,13 @@ public class Launcher extends Activity } super.onResume(); + + updateGridIfNeeded(); + + if(isGelIntegrationEnabled() && isGelIntegrationSupported()) { + GelIntegrationHelper.getInstance().handleGelResume(); + } + // Restore the previous launcher state if (mOnResumeState == State.WORKSPACE) { showWorkspace(false); @@ -1179,9 +1186,6 @@ public class Launcher extends Activity if (mWorkspace.getCustomContentCallbacks() != null) { mWorkspace.getCustomContentCallbacks().onHide(); } - - //Reset the OverviewPanel position - ((SlidingUpPanelLayout) mOverviewPanel).collapsePane(); } QSBScroller mQsbScroller = new QSBScroller() { @@ -2102,6 +2106,8 @@ public class Launcher extends Activity } super.onNewIntent(intent); + updateGridIfNeeded(); + // Close the menu if (Intent.ACTION_MAIN.equals(intent.getAction())) { // also will cancel mWaitingForResult. @@ -5525,16 +5531,36 @@ public class Launcher extends Activity } public void updateDynamicGrid() { - mSearchDropTargetBar.setupQSB(this); - mSearchDropTargetBar.hideSearchBar(false); + mSearchDropTargetBar.setupQSB(Launcher.this); initializeDynamicGrid(); - mGrid.layout(this); - mWorkspace.showOutlines(); + mGrid.layout(Launcher.this); // Synchronized reload mModel.startLoader(true, mWorkspace.getCurrentPage()); + mWorkspace.updateCustomContentVisibility(); + + } + + public void setUpdateDynamicGrid() { + mDynamicGridUpdateRequired = true; + } + + public boolean updateGridIfNeeded() { + if (mDynamicGridUpdateRequired) { + updateDynamicGrid(); + mDynamicGridUpdateRequired = false; + return true; + } + + return false; + } + + public boolean isSearchBarEnabled() { + return SettingsProvider.getBoolean(this, + SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, + R.bool.preferences_interface_homescreen_search_default); } } diff --git a/src/com/android/launcher3/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index f9430831c..91f7f0dd7 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -179,8 +179,6 @@ public class OverviewSettingsPanel { ((SlidingUpPanelLayout) mOverviewPanel).setPanelHeight(isAllAppsVisible ? res.getDimensionPixelSize(R.dimen.settings_pane_handle) : res.getDimensionPixelSize(R.dimen.sliding_panel_padding)); - - ((SlidingUpPanelLayout) mOverviewPanel).collapsePane(); } public void notifyDataSetInvalidated() { @@ -202,6 +200,11 @@ public class OverviewSettingsPanel { AnimationDrawable frameAnimation = (AnimationDrawable) mAnimatedArrow.getBackground(); frameAnimation.start(); + + if (mLauncher.updateGridIfNeeded()) { + mLauncher.getWorkspace().showOutlines(); + mLauncher.mSearchDropTargetBar.showSearchBar(false); + } } @Override diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index f2388ceb4..13ee53f57 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2154,12 +2154,15 @@ public class Workspace extends SmoothPagedView } public void exitOverviewMode(int snapPage, boolean animated) { + ((SlidingUpPanelLayout) mLauncher.getOverviewPanel()).collapsePane(); + enableOverviewMode(false, snapPage, animated); } private void enableOverviewMode(boolean enable, int snapPage, boolean animated) { - //Check to see if Settings need to taken + // Check to see if new Settings need to taken reloadSettings(); + mLauncher.updateGridIfNeeded(); State finalState = Workspace.State.OVERVIEW; if (!enable) { @@ -2313,6 +2316,9 @@ public class Workspace extends SmoothPagedView if (snapPage == -1) { snapPage = getPageNearestToCenterOfScreen(); } + if (hasCustomContent()) { + snapPage = Math.max(1, snapPage); + } snapToPage(snapPage, duration, mZoomInInterpolator); for (int i = 0; i < getChildCount(); i++) { diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index e4ba5da7a..0daf14267 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -71,7 +71,7 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { if (title.equals(res .getString(R.string.home_screen_search_text))) { - boolean current = mLauncher.shouldShowSearchBar(); + boolean current = mLauncher.isSearchBarEnabled(); String state = current ? res.getString( R.string.setting_state_on) : res.getString( R.string.setting_state_off); @@ -232,7 +232,7 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { v, SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, R.bool.preferences_interface_homescreen_search_default); - mLauncher.updateDynamicGrid(); + mLauncher.setUpdateDynamicGrid(); } else if (value.equals(res .getString(R.string.drawer_sorting_text))) { onClickTransitionEffectButton(); @@ -250,7 +250,7 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { v, SettingsProvider.SETTINGS_UI_GENERAL_ICONS_LARGE, R.bool.preferences_interface_general_icons_large_default); - mLauncher.updateDynamicGrid(); + mLauncher.setUpdateDynamicGrid(); } else if (value.equals(res .getString(R.string.icon_labels)) && ((Integer)v.getTag() == OverviewSettingsPanel.HOME_SETTINGS_POSITION)) { @@ -258,7 +258,7 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { v, SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, R.bool.preferences_interface_homescreen_hide_icon_labels_default); - mLauncher.updateDynamicGrid(); + mLauncher.setUpdateDynamicGrid(); } else if (value.equals(res .getString(R.string.icon_labels)) && ((Integer)v.getTag() == OverviewSettingsPanel.DRAWER_SETTINGS_POSITION)) { @@ -266,21 +266,19 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { v, SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, R.bool.preferences_interface_drawer_hide_icon_labels_default); - mLauncher.updateDynamicGrid(); + mLauncher.setUpdateDynamicGrid(); } else if (value.equals(res.getString(R.string.protected_app_settings))) { Intent intent = new Intent(); intent.setClassName(OverviewSettingsPanel.ANDROID_SETTINGS, OverviewSettingsPanel.ANDROID_PROTECTED_APPS); mLauncher.startActivity(intent); - } else if (value.equals(res.getString(R.string.protected_app_settings))) { - } else if (value.equals(res .getString(R.string.scrolling_wallpaper))) { onSettingsBooleanChanged( v, SettingsProvider.SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL, R.bool.preferences_interface_homescreen_scrolling_wallpaper_scroll_default); - mLauncher.updateDynamicGrid(); + mLauncher.setUpdateDynamicGrid(); } else if (value.equals(res .getString(R.string.grid_size_text))) { mLauncher.onClickDynamicGridSizeButton(); |