diff options
author | Jeff Sharkey <jsharkey@android.com> | 2013-10-23 11:13:06 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-23 11:13:06 -0700 |
commit | 05f92b7c5810dfc4e96cd5dddff1f7f380739136 (patch) | |
tree | cc50a1ebf596d3103780abaa7aec9f85a5df6df1 /packages | |
parent | 75b96875bee961b12aed0f6e81369a4ecc6b26df (diff) | |
parent | 6599c12843fe3c82a5a02978afeb262eeb76f3f4 (diff) | |
download | frameworks_base-05f92b7c5810dfc4e96cd5dddff1f7f380739136.zip frameworks_base-05f92b7c5810dfc4e96cd5dddff1f7f380739136.tar.gz frameworks_base-05f92b7c5810dfc4e96cd5dddff1f7f380739136.tar.bz2 |
am 6599c128: am 871cb5d5: Merge "Update roots when data cleared, refresh UI." into klp-dev
* commit '6599c12843fe3c82a5a02978afeb262eeb76f3f4':
Update roots when data cleared, refresh UI.
Diffstat (limited to 'packages')
3 files changed, 11 insertions, 2 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsApplication.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsApplication.java index 6b46e3a..547e343 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsApplication.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsApplication.java @@ -75,6 +75,7 @@ public class DocumentsApplication extends Application { packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED); packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); + packageFilter.addAction(Intent.ACTION_PACKAGE_DATA_CLEARED); packageFilter.addDataScheme("package"); registerReceiver(mCacheReceiver, packageFilter); diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java index b98e1ee..f6b43c7 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java @@ -60,8 +60,8 @@ import java.util.concurrent.TimeUnit; public class RootsCache { private static final boolean LOGD = true; - // TODO: cache roots in local provider to avoid spinning up backends - // TODO: root updates should trigger UI refresh + public static final Uri sNotificationUri = Uri.parse( + "content://com.android.documentsui.roots/"); private final Context mContext; private final ContentObserver mObserver; @@ -201,6 +201,7 @@ public class RootsCache { mStoppedAuthorities = mTaskStoppedAuthorities; } mFirstLoad.countDown(); + resolver.notifyChange(sNotificationUri, null, false); return null; } diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsLoader.java b/packages/DocumentsUI/src/com/android/documentsui/RootsLoader.java index 7108971..8d37cdf 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsLoader.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsLoader.java @@ -25,6 +25,8 @@ import com.android.documentsui.model.RootInfo; import java.util.Collection; public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> { + private final ForceLoadContentObserver mObserver = new ForceLoadContentObserver(); + private final RootsCache mRoots; private final State mState; @@ -34,6 +36,9 @@ public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> { super(context); mRoots = roots; mState = state; + + getContext().getContentResolver() + .registerContentObserver(RootsCache.sNotificationUri, false, mObserver); } @Override @@ -77,5 +82,7 @@ public class RootsLoader extends AsyncTaskLoader<Collection<RootInfo>> { onStopLoading(); mResult = null; + + getContext().getContentResolver().unregisterContentObserver(mObserver); } } |