+ if (!mListenersInitialized) {
+ // We add special listeners for the MediaProvider
+ mListenersInitialized = true;
+ final Handler handler = mHandler;
+ final ContentObserver localObserver = new ContentObserver(handler) {
+ public void onChange(boolean selfChange) {
+ if (!LocalDataSource.sObserverActive) {
+ CacheService.senseDirty(context, null);
+ }
+ }
+ };
+ // Start listening perpetually.
+ Uri uriImages = Images.Media.EXTERNAL_CONTENT_URI;
+ Uri uriVideos = Video.Media.EXTERNAL_CONTENT_URI;
+ ContentResolver cr = context.getContentResolver();
+ cr.registerContentObserver(uriImages, false, localObserver);
+ cr.registerContentObserver(uriVideos, false, localObserver);
+ }