Remove duplicate calls to getSortedWidgetsAndShortcuts

b/19904873

Change-Id: I2e56bc0c7524caa2ef3c5fb00f35cb032cd1860b
This commit is contained in:
Hyunyoung Song
2015-04-20 20:40:03 -07:00
parent 68fdeaadc6
commit 3af56b6052
2 changed files with 24 additions and 16 deletions
@@ -81,9 +81,7 @@ public class LauncherAppWidgetHost extends AppWidgetHost {
protected void onProvidersChanged() {
// Once we get the message that widget packages are updated, we need to rebind items
// in AppsCustomize accordingly.
mLauncher.bindPackagesUpdated(LauncherModel.getSortedWidgetsAndShortcuts(mLauncher,
true /* refresh */));
mLauncher.getModel().loadAndBindWidgetsAndShortcuts(mLauncher, mLauncher);
for (Runnable callback : mProviderChangeListeners) {
callback.run();
}
+23 -13
View File
@@ -39,6 +39,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Handler;
import android.os.HandlerThread;
@@ -3320,19 +3321,9 @@ public class LauncherModel extends BroadcastReceiver
}
});
}
final ArrayList<Object> widgetsAndShortcuts =
getSortedWidgetsAndShortcuts(context, true /* refresh */);
mHandler.post(new Runnable() {
@Override
public void run() {
Callbacks cb = getCallback();
if (callbacks == cb && cb != null) {
callbacks.bindPackagesUpdated(widgetsAndShortcuts);
}
}
});
if (Build.VERSION.SDK_INT < 17) {
loadAndBindWidgetsAndShortcuts(context, callbacks);
}
// Write all the logs to disk
mHandler.post(new Runnable() {
public void run() {
@@ -3381,6 +3372,25 @@ public class LauncherModel extends BroadcastReceiver
}
}
public void loadAndBindWidgetsAndShortcuts(final Context context, final Callbacks callbacks) {
runOnWorkerThread(new Runnable(){
@Override
public void run() {
final ArrayList<Object> list =
getSortedWidgetsAndShortcuts(context, true /* refresh */);
mHandler.post(new Runnable() {
@Override
public void run() {
Callbacks cb = getCallback();
if (callbacks == cb && cb != null) {
callbacks.bindPackagesUpdated(list);
}
}
});
}
});
}
// Returns a list of ResolveInfos/AppWidgetInfos in sorted order
public static ArrayList<Object> getSortedWidgetsAndShortcuts(Context context, boolean refresh) {
PackageManager packageManager = context.getPackageManager();