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
diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java
index 97138ee..a2cce1a 100644
--- a/src/com/android/launcher3/LauncherClings.java
+++ b/src/com/android/launcher3/LauncherClings.java
@@ -315,12 +315,6 @@
         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 @@
         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();