diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2015-05-04 18:17:35 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2015-05-04 18:17:35 -0700 |
commit | 227239e7c05d26c4098980b991d3472077c01ccb (patch) | |
tree | 0456def401520f8b07350a2dcbfe916fb3faa502 /src/com/android/launcher3/LauncherModel.java | |
parent | 80068f518c858babf75cb6f5bf076875dc0cc481 (diff) | |
download | android_packages_apps_Trebuchet-227239e7c05d26c4098980b991d3472077c01ccb.tar.gz android_packages_apps_Trebuchet-227239e7c05d26c4098980b991d3472077c01ccb.tar.bz2 android_packages_apps_Trebuchet-227239e7c05d26c4098980b991d3472077c01ccb.zip |
update widgets model when package is updated
Fixing a bug where onProviderChanged is called before Package update.
And icon loaded on the widget tray is the default icon.
Change-Id: I4ffea846d057920fd894537432ac5881642bc570
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 7fdd52327..f283c2f31 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2867,7 +2867,7 @@ public class LauncherModel extends BroadcastReceiver final Callbacks callbacks = tryGetCallbacks(oldCallbacks); if (callbacks != null) { callbacks.bindAllApplications(added); - loadAndBindWidgetsAndShortcuts(mContext,callbacks); + loadAndBindWidgetsAndShortcuts(mContext, callbacks, true /* refresh */); if (DEBUG_LOADERS) { Log.d(TAG, "bound " + added.size() + " apps in " + (SystemClock.uptimeMillis() - bindTime) + "ms"); @@ -3228,9 +3228,10 @@ public class LauncherModel extends BroadcastReceiver } }); } - if (Build.VERSION.SDK_INT < 17) { - loadAndBindWidgetsAndShortcuts(context, callbacks); - } + + // onProvidersChanged method (API >= 17) already refreshed the widget list + loadAndBindWidgetsAndShortcuts(context, callbacks, Build.VERSION.SDK_INT < 17); + // Write all the logs to disk mHandler.post(new Runnable() { public void run() { @@ -3279,11 +3280,12 @@ public class LauncherModel extends BroadcastReceiver } } - public void loadAndBindWidgetsAndShortcuts(final Context context, final Callbacks callbacks) { + public void loadAndBindWidgetsAndShortcuts(final Context context, final Callbacks callbacks, + final boolean refresh) { runOnWorkerThread(new Runnable(){ @Override public void run() { - final ArrayList<Object> list = getWidgetsAndShortcuts(context, true /* refresh */); + final ArrayList<Object> list = getWidgetsAndShortcuts(context, refresh); mHandler.post(new Runnable() { @Override public void run() { |