diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2015-04-09 17:54:00 -0700 |
---|---|---|
committer | Raj Yengisetty <rajesh@cyngn.com> | 2015-05-12 13:37:38 -0700 |
commit | 7f0a6204f692a1eda48e47a74e0481d6d7bc2191 (patch) | |
tree | a143e80d47a29026f39a35eb06e4dce93a174460 /src/com/android/launcher3/Launcher.java | |
parent | e301067845dd42ad778f4271e30e244bad457086 (diff) | |
download | android_packages_apps_Trebuchet-7f0a6204f692a1eda48e47a74e0481d6d7bc2191.tar.gz android_packages_apps_Trebuchet-7f0a6204f692a1eda48e47a74e0481d6d7bc2191.tar.bz2 android_packages_apps_Trebuchet-7f0a6204f692a1eda48e47a74e0481d6d7bc2191.zip |
Trebuchet: new folder UI v1
This change adds a number of new UI components and animations for
folders.
Designer: Hayden Schoen
Change-Id: I255cd4664432d84aebecf7e16ace5d9948573e27
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 74551e662..12a1f9f90 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2263,10 +2263,12 @@ public class Launcher extends Activity // If we are already on home, then just animate back to the workspace, // otherwise, just wait until onResume to set the state back to Workspace - if (alreadyOnHome) { - showWorkspace(true); - } else { - mOnResumeState = State.WORKSPACE; + if (mWorkspace.getOpenFolder() == null) { + if (alreadyOnHome) { + showWorkspace(true); + } else { + mOnResumeState = State.WORKSPACE; + } } final View v = getWindow().peekDecorView(); @@ -2318,7 +2320,7 @@ public class Launcher extends Activity outState.putInt(RUNTIME_STATE, mState.ordinal()); // We close any open folder since it will not be re-opened, and we need to make sure // this state is reflected. - closeFolder(); + closeFolder(false); if (mPendingAddInfo.container != ItemInfo.NO_ID && mPendingAddInfo.screenId > -1 && mWaitingForResult) { @@ -3437,6 +3439,10 @@ public class Launcher extends Activity Folder folder = folderIcon.getFolder(); FolderInfo info = folder.mInfo; + if (folder.getState() == Folder.STATE_ANIMATING) { + return; + } + if (info.hidden) { folder.startHiddenFolderManager(); return; @@ -3453,8 +3459,7 @@ public class Launcher extends Activity Log.w(TAG, "Opening folder (" + folder + ") which already has a parent (" + folder.getParent() + ")."); } - folder.animateOpen(); - growAndFadeOutFolderIcon(folderIcon); + folder.animateOpen(getWorkspace()); // Notify the accessibility manager that this folder "window" has appeared and occluded // the workspace items @@ -3463,24 +3468,31 @@ public class Launcher extends Activity } public void closeFolder() { + closeFolder(true); + } + + public void closeFolder(boolean animate) { Folder folder = mWorkspace != null ? mWorkspace.getOpenFolder() : null; if (folder != null) { if (folder.isEditingName()) { folder.dismissEditingName(); } - closeFolder(folder); + closeFolder(folder, animate); } } void closeFolder(Folder folder) { - folder.getInfo().opened = false; + closeFolder(folder, true); + } - ViewGroup parent = (ViewGroup) folder.getParent().getParent(); - if (parent != null) { - FolderIcon fi = (FolderIcon) mWorkspace.getViewForTag(folder.mInfo); - shrinkAndFadeInFolderIcon(fi); + void closeFolder(Folder folder, boolean animate) { + if (folder.getState() == Folder.STATE_ANIMATING) { + return; } - folder.animateClosed(); + + folder.getInfo().opened = false; + + folder.animateClosed(animate); // Notify the accessibility manager that this folder "window" has disappeard and no // longer occludeds the workspace items |