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

Commit 05f92b7c authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android Git Automerger
Browse files

am 6599c128: am 871cb5d5: Merge "Update roots when data cleared, refresh UI." into klp-dev

* commit '6599c128':
  Update roots when data cleared, refresh UI.
parents 75b96875 6599c128
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -75,6 +75,7 @@ public class DocumentsApplication extends Application {
        packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_DATA_CLEARED);
        packageFilter.addDataScheme("package");
        packageFilter.addDataScheme("package");
        registerReceiver(mCacheReceiver, packageFilter);
        registerReceiver(mCacheReceiver, packageFilter);


+3 −2
Original line number Original line Diff line number Diff line
@@ -60,8 +60,8 @@ import java.util.concurrent.TimeUnit;
public class RootsCache {
public class RootsCache {
    private static final boolean LOGD = true;
    private static final boolean LOGD = true;


    // TODO: cache roots in local provider to avoid spinning up backends
    public static final Uri sNotificationUri = Uri.parse(
    // TODO: root updates should trigger UI refresh
            "content://com.android.documentsui.roots/");


    private final Context mContext;
    private final Context mContext;
    private final ContentObserver mObserver;
    private final ContentObserver mObserver;
@@ -201,6 +201,7 @@ public class RootsCache {
                mStoppedAuthorities = mTaskStoppedAuthorities;
                mStoppedAuthorities = mTaskStoppedAuthorities;
            }
            }
            mFirstLoad.countDown();
            mFirstLoad.countDown();
            resolver.notifyChange(sNotificationUri, null, false);
            return null;
            return null;
        }
        }


+7 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,8 @@ import com.android.documentsui.model.RootInfo;
import java.util.Collection;
import java.util.Collection;


public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> {
public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> {
    private final ForceLoadContentObserver mObserver = new ForceLoadContentObserver();

    private final RootsCache mRoots;
    private final RootsCache mRoots;
    private final State mState;
    private final State mState;


@@ -34,6 +36,9 @@ public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> {
        super(context);
        super(context);
        mRoots = roots;
        mRoots = roots;
        mState = state;
        mState = state;

        getContext().getContentResolver()
                .registerContentObserver(RootsCache.sNotificationUri, false, mObserver);
    }
    }


    @Override
    @Override
@@ -77,5 +82,7 @@ public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> {
        onStopLoading();
        onStopLoading();


        mResult = null;
        mResult = null;

        getContext().getContentResolver().unregisterContentObserver(mObserver);
    }
    }
}
}