android.os.FileObserver#stopWatching ( )源码实例Demo

下面列出了android.os.FileObserver#stopWatching ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Study_Android_Demo   文件: SettingsProvider.java
void onUserRemoved(int userHandle) {
    synchronized (this) {
        // the db file itself will be deleted automatically, but we need to tear down
        // our caches and other internal bookkeeping.
        FileObserver observer = sObserverInstances.get(userHandle);
        if (observer != null) {
            observer.stopWatching();
            sObserverInstances.delete(userHandle);
        }

        mOpenHelpers.delete(userHandle);
        sSystemCaches.delete(userHandle);
        sSecureCaches.delete(userHandle);
        sKnownMutationsInFlight.delete(userHandle);
        onProfilesChanged();
    }
}
 
源代码2 项目: document-viewer   文件: FileSystemScanner.java
public void stopObservers() {
    synchronized (observers) {
        for (final FileObserver o : observers.values()) {
            o.stopWatching();
        }
        observers.clear();
    }
}
 
源代码3 项目: mockgeofix   文件: OomAdjOverrider.java
public void stop() {
    for (FileObserver o : observers) {
        o.stopWatching();
    }
    observers.clear();
}
 
private synchronized void stopWatchingInternal() {
    for (FileObserver observer : mObservers) {
        observer.stopWatching();
    }
    mObservers.clear();
}
 
源代码5 项目: Conversations   文件: ConversationsFileObserver.java
private synchronized void stopWatchingInternal() {
    for(FileObserver observer : mObservers) {
        observer.stopWatching();
    }
    mObservers.clear();
}
 
源代码6 项目: document-viewer   文件: FileSystemScanner.java
void scanDir(final File dir) {
    // Checks if scan should be continued
    if (!inScan.get()) {
        return;
    }

    if (dir == null || !dir.isDirectory()) {
        return;
    }

    if (dir.getAbsolutePath().startsWith("/sys")) {
        LCTX.d("Skip system dir: " + dir);
        return;
    }

    try {
        final File cd = CacheManager.getCacheDir();
        if (cd != null && dir.getCanonicalPath().equals(cd.getCanonicalPath())) {
            LCTX.d("Skip file cache: " + dir);
            return;
        }
    } catch (final IOException ex) {
        ex.printStackTrace();
    }

    if (LCTX.isDebugEnabled()) {
        LCTX.d("Scan dir: " + dir);
    }

    // Retrieves file observer for scanning folder
    final FileObserver observer = getObserver(dir);
    // Stop watching
    observer.stopWatching();

    // Retrieves listener
    final Listener l = listeners.getListener();

    // Retrieves file list
    final File[] files = dir.listFiles((FilenameFilter) filter);
    // Sort file list
    if (LengthUtils.isNotEmpty(files)) {
        Arrays.sort(files, StringUtils.NFC);
    }
    // Call the file scan callback
    l.onFileScan(dir, files);

    // Retrieves files from current directory
    final File[] childDirs = dir.listFiles(DirectoryFilter.ALL);
    // Immediately starts folder watching
    getObserver(dir).startWatching();

    if (LengthUtils.isNotEmpty(childDirs)) {
        // Sort child dir list
        Arrays.sort(childDirs, StringUtils.NFC);
        // Add children for deep ordered scanning
        synchronized (this) {
            for (int i = childDirs.length - 1; i >= 0; i--) {
                this.paths.addFirst(childDirs[i]);
            }
        }
    }
}