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

Commit 13bd6342 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Fix issue with deferred start of the background loader." into oc-dev

parents 8d878426 62674a2f
Loading
Loading
Loading
Loading
+10 −4
Original line number Original line Diff line number Diff line
@@ -103,6 +103,7 @@ class BackgroundTaskLoader implements Runnable {
    Bitmap mDefaultThumbnail;
    Bitmap mDefaultThumbnail;
    BitmapDrawable mDefaultIcon;
    BitmapDrawable mDefaultIcon;


    boolean mStarted;
    boolean mCancelled;
    boolean mCancelled;
    boolean mWaitingOnLoadQueue;
    boolean mWaitingOnLoadQueue;


@@ -122,18 +123,23 @@ class BackgroundTaskLoader implements Runnable {
                android.os.Process.THREAD_PRIORITY_BACKGROUND);
                android.os.Process.THREAD_PRIORITY_BACKGROUND);
        mLoadThread.start();
        mLoadThread.start();
        mLoadThreadHandler = new Handler(mLoadThread.getLooper());
        mLoadThreadHandler = new Handler(mLoadThread.getLooper());
        mLoadThreadHandler.post(this);
    }
    }


    /** Restarts the loader thread */
    /** Restarts the loader thread */
    void start(Context context) {
    void start(Context context) {
        mContext = context;
        mContext = context;
        mCancelled = false;
        mCancelled = false;
        // Notify the load thread to start loading
        if (!mStarted) {
            // Start loading on the load thread
            mStarted = true;
            mLoadThreadHandler.post(this);
        } else {
            // Notify the load thread to start loading again
            synchronized (mLoadThread) {
            synchronized (mLoadThread) {
                mLoadThread.notifyAll();
                mLoadThread.notifyAll();
            }
            }
        }
        }
    }


    /** Requests the loader thread to stop after the current iteration */
    /** Requests the loader thread to stop after the current iteration */
    void stop() {
    void stop() {