From 08165eea0df3298e2ace34ff86068a8a8fcb7a78 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 6 Mar 2014 10:12:02 -0800 Subject: Disabling cling when the user moves the folder before launching it. (Bug 12963868) Change-Id: Iddcdf655c78b7240be123bd549f3d45794d02c83 --- src/com/android/launcher3/LauncherClings.java | 14 ++++++++++++++ src/com/android/launcher3/Workspace.java | 3 +++ 2 files changed, 17 insertions(+) (limited to 'src/com/android/launcher3') diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java index 00711fe4b..f996f1f45 100644 --- a/src/com/android/launcher3/LauncherClings.java +++ b/src/com/android/launcher3/LauncherClings.java @@ -314,6 +314,20 @@ class LauncherClings { } } + public static void synchonouslyMarkFirstRunClingDismissed(Context ctx) { + SharedPreferences prefs = ctx.getSharedPreferences( + LauncherAppState.getSharedPreferencesKey(), Context.MODE_PRIVATE); + SharedPreferences.Editor editor = prefs.edit(); + editor.putBoolean(LauncherClings.FIRST_RUN_CLING_DISMISSED_KEY, true); + 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); diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index ba3301d27..c4cc60462 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2766,6 +2766,9 @@ public class Workspace extends SmoothPagedView if (child instanceof BubbleTextView) { BubbleTextView icon = (BubbleTextView) child; icon.clearPressedOrFocusedBackground(); + } else if (child instanceof FolderIcon) { + // Dismiss the folder cling if we haven't already + mLauncher.getLauncherClings().markFolderClingDismissed(); } if (child.getTag() == null || !(child.getTag() instanceof ItemInfo)) { -- cgit v1.2.3