diff options
author | Tom Stamm <stammt@google.com> | 2013-06-11 22:23:47 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-06-11 22:23:48 +0000 |
commit | efe354b8779211b34e274a6109406d4cd01cfcef (patch) | |
tree | 406d21189bde9bc56f584e8370dde6bea2e63df9 /src | |
parent | 69688aa359cdbffce4decf334f5d6f0143e3a694 (diff) | |
parent | 66a01fd24bde7c94ea892b007df7f79fbaa43d80 (diff) | |
download | android_packages_apps_Trebuchet-efe354b8779211b34e274a6109406d4cd01cfcef.tar.gz android_packages_apps_Trebuchet-efe354b8779211b34e274a6109406d4cd01cfcef.tar.bz2 android_packages_apps_Trebuchet-efe354b8779211b34e274a6109406d4cd01cfcef.zip |
Merge "Add API to launcher to insert a custom page to the left of workspace" into jb-ub-gel-agar
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 34 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 6 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 2f1c8f0fc..8e8e6ed72 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -826,6 +826,34 @@ public class Launcher extends Activity mDragController.resetLastGestureUpTime(); } + protected void onFinishBindingItems() { + } + + // Add a fullscreen unpadded view to the workspace to the left all other screens. + public void addCustomContentToLeft(View customContent) { + CellLayout customScreen = (CellLayout) + getLayoutInflater().inflate(R.layout.workspace_custom_content, null); + + int spanX = customScreen.getCountX(); + int spanY = customScreen.getCountY(); + + CellLayout.LayoutParams lp = new CellLayout.LayoutParams(0, 0, spanX, spanY); + lp.canReorder = false; + + customScreen.addViewToCellLayout(customContent, 0, 0, lp, true); + + mWorkspace.addView(customScreen, 0); + + // We don't want to change the current or the default screen + mWorkspace.post(new Runnable() { + @Override + public void run() { + mWorkspace.incrementDefaultScreen(); + mWorkspace.setCurrentPage(mWorkspace.getCurrentPage() + 1); + } + }); + } + @Override public Object onRetainNonConfigurationInstance() { // Flag the loader to stop early before switching @@ -3619,6 +3647,12 @@ public class Launcher extends Activity mWorkspace.stripDuplicateApps(); mIntentsOnWorkspaceFromUpgradePath = mWorkspace.stripDuplicateApps(); } + mWorkspace.post(new Runnable() { + @Override + public void run() { + onFinishBindingItems(); + } + }); } private boolean canRunNewAppsAnimation() { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index d600e9ef6..e51931298 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -398,6 +398,12 @@ public class Workspace extends SmoothPagedView UninstallShortcutReceiver.disableAndFlushUninstallQueue(getContext()); } + // Just a hack so that if a custom content screen is added to the left, we adjust the + // default screen accordingly so that it stays the same. + void incrementDefaultScreen() { + mDefaultPage++; + } + /** * Initializes various states for this workspace. */ |