Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3af56b60 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Remove duplicate calls to getSortedWidgetsAndShortcuts

b/19904873

Change-Id: I2e56bc0c7524caa2ef3c5fb00f35cb032cd1860b
parent 68fdeaad
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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();