summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-05-16 16:42:35 -0700
committerAdam Cohen <adamcohen@google.com>2014-05-16 18:18:20 -0700
commit6268f2db4c129e33d8d77513cb9df0f4799c7520 (patch)
tree9001025468b615f946e9c5f45e27bc9ead8ea003 /src
parentbbe1e24c5ff470a695510d23d67bcb6f2ad88d0e (diff)
downloadandroid_packages_apps_Trebuchet-6268f2db4c129e33d8d77513cb9df0f4799c7520.tar.gz
android_packages_apps_Trebuchet-6268f2db4c129e33d8d77513cb9df0f4799c7520.tar.bz2
android_packages_apps_Trebuchet-6268f2db4c129e33d8d77513cb9df0f4799c7520.zip
Disable the folder cling in two cases
-> When the user creates a new folder -> When the user drags an existing folder -> The folder cling gets cut off in certain instances and until we make it more extensible (not worth it right now), we're disabling it in the problematic cases. Also, in the problematic cases, the user is demonstrating some advanced knowledge, so it's somewhat justifiable. issue 14491765 Change-Id: Ib15d2f097c51a9b755f04b95ed6ef468d3bacc60
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java4
-rw-r--r--src/com/android/launcher3/LauncherClings.java15
-rw-r--r--src/com/android/launcher3/Workspace.java13
3 files changed, 23 insertions, 9 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 3636107c2..1823451c7 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -4429,7 +4429,9 @@ public class Launcher extends Activity
public void dismissFolderCling(View v) {
mLauncherClings.dismissFolderCling(v);
}
-
+ public void markFolderClingDismissedIfNecessary() {
+ mLauncherClings.markFolderClingDismissedIfNecessary();
+ }
/**
* To be overridden by subclasses to indicate that there is an activity to launch
diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java
index 97138eeaa..a2cce1ab8 100644
--- a/src/com/android/launcher3/LauncherClings.java
+++ b/src/com/android/launcher3/LauncherClings.java
@@ -315,12 +315,6 @@ class LauncherClings {
editor.commit();
}
- public void markFolderClingDismissed() {
- SharedPreferences.Editor editor = mLauncher.getSharedPrefs().edit();
- editor.putBoolean(LauncherClings.FOLDER_CLING_DISMISSED_KEY, true);
- editor.apply();
- }
-
/** Removes the cling outright from the DragLayer */
private void removeCling(int id) {
final View cling = mLauncher.findViewById(id);
@@ -415,6 +409,15 @@ class LauncherClings {
mLauncher.getSearchBar().showSearchBar(true);
}
+ public void markFolderClingDismissedIfNecessary() {
+ SharedPreferences prefs = mLauncher.getSharedPrefs();
+ if (!prefs.getBoolean(FOLDER_CLING_DISMISSED_KEY, false)) {
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putBoolean(FOLDER_CLING_DISMISSED_KEY, true);
+ editor.apply();
+ }
+ }
+
public void dismissMigrationClingCopyApps(View v) {
// Copy the shortcuts from the old database
LauncherModel model = mLauncher.getModel();
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 0669f3a2d..d734abdcd 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2719,8 +2719,9 @@ public class Workspace extends SmoothPagedView
BubbleTextView icon = (BubbleTextView) child;
icon.clearPressedOrFocusedBackground();
} else if (child instanceof FolderIcon) {
- // Dismiss the folder cling if we haven't already
- mLauncher.getLauncherClings().markFolderClingDismissed();
+ // The folder cling isn't flexible enough to be shown in non-default workspace positions
+ // Also if they are dragging it a folder, we assume they don't need to see the cling.
+ mLauncher.markFolderClingDismissedIfNecessary();
}
if (child.getTag() == null || !(child.getTag() instanceof ItemInfo)) {
@@ -3066,6 +3067,10 @@ public class Workspace extends SmoothPagedView
// cell also contains a shortcut, then create a folder with the two shortcuts.
if (!mInScrollArea && createUserFolderIfNecessary(cell, container,
dropTargetLayout, mTargetCell, distance, false, d.dragView, null)) {
+ // The folder cling isn't flexible enough to be shown in non-default workspace
+ // positions. Also if they are creating a folder, we assume they don't need to
+ // see the cling.
+ mLauncher.markFolderClingDismissedIfNecessary();
return;
}
@@ -3965,6 +3970,10 @@ public class Workspace extends SmoothPagedView
d.postAnimationRunnable = exitSpringLoadedRunnable;
if (createUserFolderIfNecessary(view, container, cellLayout, mTargetCell, distance,
true, d.dragView, d.postAnimationRunnable)) {
+ // The folder cling isn't flexible enough to be shown in non-default workspace
+ // positions. Also if they are creating a folder, we assume they don't need to
+ // see the cling.
+ mLauncher.markFolderClingDismissedIfNecessary();
return;
}
if (addToExistingFolderIfNecessary(view, cellLayout, mTargetCell, distance, d,