summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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,