summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
authorRaj Yengisetty <rajesh@cyngn.com>2015-04-09 17:54:00 -0700
committerRaj Yengisetty <rajesh@cyngn.com>2015-05-12 13:37:38 -0700
commit7f0a6204f692a1eda48e47a74e0481d6d7bc2191 (patch)
treea143e80d47a29026f39a35eb06e4dce93a174460 /src/com/android/launcher3/Launcher.java
parente301067845dd42ad778f4271e30e244bad457086 (diff)
downloadandroid_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.java40
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