From 9dfd36ede6585aeea7857113215c877309b70f1a Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Thu, 6 Nov 2014 15:56:56 -0800 Subject: Protected Apps: Delay Protected Apps changed reload till onResume Change-Id: I54724187c3ab168a3beb0791852a1c842bdbabf9 --- src/com/android/launcher3/Folder.java | 2 +- src/com/android/launcher3/FolderIcon.java | 2 +- src/com/android/launcher3/Launcher.java | 11 +++++++++++ src/com/android/launcher3/LauncherModel.java | 16 +++++++++++++--- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index 7d3fcba4d..ae67b974a 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -1314,7 +1314,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList if (finalChild != null) { mFolderIcon.performDestroyAnimation(finalChild, onCompleteRunnable); } else { - onCompleteRunnable.run(); + mLauncher.runOnUiThread(onCompleteRunnable); } mDestroyed = true; } diff --git a/src/com/android/launcher3/FolderIcon.java b/src/com/android/launcher3/FolderIcon.java index ef31bcf99..561ad0d10 100644 --- a/src/com/android/launcher3/FolderIcon.java +++ b/src/com/android/launcher3/FolderIcon.java @@ -696,7 +696,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { public void onAnimationEnd(Animator animation) { mAnimating = false; if (onCompleteRunnable != null) { - onCompleteRunnable.run(); + mLauncher.runOnUiThread(onCompleteRunnable); } } }); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 2ad14fbb4..2103c39cc 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -432,10 +432,21 @@ public class Launcher extends Activity return Log.isLoggable(propertyName, Log.VERBOSE); } + Runnable mUpdateDynamicGridRunnable = new Runnable() { + @Override + public void run() { + updateDynamicGrid(); + } + }; + private BroadcastReceiver protectedAppsChangedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // Update the workspace + if (waitUntilResume(mUpdateDynamicGridRunnable, true)) { + return; + } + updateDynamicGrid(); } }; diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index abd41b0bc..17c5ddd4f 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2710,17 +2710,27 @@ public class LauncherModel extends BroadcastReceiver int NN = shortcuts.size() - 1; for (int j = NN; j >= 0; j--) { - ShortcutInfo sci = shortcuts.get(j); + final ShortcutInfo sci = shortcuts.get(j); if (sci.intent != null && sci.intent.getComponent() != null) { if (!folder.hidden){ if (mHiddenApps.contains(sci.intent.getComponent())) { LauncherModel.deleteItemFromDatabase(mContext, sci); - folder.remove(sci); + Runnable r = new Runnable() { + public void run() { + folder.remove(sci); + } + }; + runOnMainThread(r, MAIN_THREAD_BINDING_RUNNABLE); } } else { if (!mHiddenApps.contains(sci.intent.getComponent())) { LauncherModel.deleteItemFromDatabase(mContext, sci); - folder.remove(sci); + Runnable r = new Runnable() { + public void run() { + folder.remove(sci); + } + }; + runOnMainThread(r, MAIN_THREAD_BINDING_RUNNABLE); } } -- cgit v1.2.3