Java Code Examples for android.os.FileObserver#CLOSE_WRITE
The following examples show how to use
android.os.FileObserver#CLOSE_WRITE .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: EnvelopeFileObserver.java From sentry-android with MIT License | 6 votes |
@Override public void onEvent(int eventType, @Nullable String relativePath) { if (relativePath == null || eventType != FileObserver.CLOSE_WRITE) { return; } logger.log( SentryLevel.DEBUG, "onEvent fired for EnvelopeFileObserver with event type %d on path: %s for file %s.", eventType, this.rootPath, relativePath); // TODO: Only some event types should be pass through? final CachedEnvelopeHint hint = new CachedEnvelopeHint(flushTimeoutMillis, logger); envelopeSender.processEnvelopeFile(this.rootPath + File.separator + relativePath, hint); }
Example 2
Source File: MediaListenerService.java From proofmode with GNU General Public License v3.0 | 6 votes |
private void startWatching() { final String pathToWatch = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath(); observer = new RecursiveFileObserver(pathToWatch, FileObserver.CLOSE_WRITE| FileObserver.MOVED_TO) { // set up a file observer to watch this directory on sd card @Override public void onEvent(int event, final String mediaPath) { if (mediaPath != null && (!mediaPath.equals(".probe"))) { // check that it's not equal to .probe because thats created every time camera is launched new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { if (mediaPath.endsWith(".mp4")) handleNewVideo(mediaPath); } }); } } }; observer.startWatching(); }
Example 3
Source File: AbstractBrowserFragment.java From SimpleExplorer with GNU General Public License v3.0 | 6 votes |
@Override public void onEvent(int event, String path) { // this will automatically update the directory when an action like this // will be performed switch (event & FileObserver.ALL_EVENTS) { case FileObserver.CREATE: case FileObserver.CLOSE_WRITE: case FileObserver.MOVE_SELF: case FileObserver.MOVED_TO: case FileObserver.MOVED_FROM: case FileObserver.ATTRIB: case FileObserver.DELETE: case FileObserver.DELETE_SELF: sHandler.removeCallbacks(mLastRunnable); sHandler.post(mLastRunnable = new NavigateRunnable((AbstractBrowserActivity) getActivity(), path)); break; } }
Example 4
Source File: FolderObserver.java From Cirrus_depricated with GNU General Public License v2.0 | 5 votes |
/** * Receives and processes events about updates of the monitor folder and its children files. * * @param event Kind of event occurred. * @param path Relative path of the file referred by the event. */ @Override public void onEvent(int event, String path) { Log_OC.d(TAG, "Got event " + event + " on FOLDER " + mPath + " about " + ((path != null) ? path : "")); boolean shouldSynchronize = false; synchronized(mObservedChildren) { if (path != null && path.length() > 0 && mObservedChildren.containsKey(path)) { if ( ((event & FileObserver.MODIFY) != 0) || ((event & FileObserver.ATTRIB) != 0) || ((event & FileObserver.MOVED_TO) != 0) ) { if (!mObservedChildren.get(path)) { mObservedChildren.put(path, Boolean.valueOf(true)); } } if ((event & FileObserver.CLOSE_WRITE) != 0 && mObservedChildren.get(path)) { mObservedChildren.put(path, Boolean.valueOf(false)); shouldSynchronize = true; } } } if (shouldSynchronize) { startSyncOperation(path); } if ((event & IN_IGNORE) != 0 && (path == null || path.length() == 0)) { Log_OC.d(TAG, "Stopping the observance on " + mPath); } }
Example 5
Source File: SettingsProvider.java From Study_Android_Demo with Apache License 2.0 | 5 votes |
public SettingsFileObserver(int userHandle, String path) { super(path, FileObserver.CLOSE_WRITE | FileObserver.CREATE | FileObserver.DELETE | FileObserver.MOVED_TO | FileObserver.MODIFY); mUserHandle = userHandle; mPath = path; }
Example 6
Source File: RecordingActivity.java From Pix-Art-Messenger with GNU General Public License v3.0 | 5 votes |
private void setupFileObserver(File directory) { mFileObserver = new FileObserver(directory.getAbsolutePath()) { @Override public void onEvent(int event, String s) { if (s != null && s.equals(mOutputFile.getName()) && event == FileObserver.CLOSE_WRITE) { outputFileWrittenLatch.countDown(); } } }; mFileObserver.startWatching(); }
Example 7
Source File: RecordingActivity.java From Conversations with GNU General Public License v3.0 | 5 votes |
private void setupFileObserver(File directory) { mFileObserver = new FileObserver(directory.getAbsolutePath()) { @Override public void onEvent(int event, String s) { if (s != null && s.equals(mOutputFile.getName()) && event == FileObserver.CLOSE_WRITE) { outputFileWrittenLatch.countDown(); } } }; mFileObserver.startWatching(); }
Example 8
Source File: FileSystemScanner.java From document-viewer with GNU General Public License v3.0 | 5 votes |
public static String toString(final int event) { switch (event) { case FileObserver.ACCESS: return "ACCESS"; case FileObserver.MODIFY: return "MODIFY"; case FileObserver.ATTRIB: return "ATTRIB"; case FileObserver.CLOSE_WRITE: return "CLOSE_WRITE"; case FileObserver.CLOSE_NOWRITE: return "CLOSE_NOWRITE"; case FileObserver.OPEN: return "OPEN"; case FileObserver.MOVED_FROM: return "MOVED_FROM"; case FileObserver.MOVED_TO: return "MOVED_TO"; case FileObserver.CREATE: return "CREATE"; case FileObserver.DELETE: return "DELETE"; case FileObserver.DELETE_SELF: return "DELETE_SELF"; case FileObserver.MOVE_SELF: return "MOVE_SELF"; default: return "0x" + Integer.toHexString(event); } }
Example 9
Source File: Utils.java From ploggy with GNU General Public License v3.0 | 5 votes |
public FileInitializedObserver(File directory, String ... filenames) { // MOVED_TO is required for the Tor case where the Tor process creates <target>.tmp, // writes to that file, then renames to <target>. There's no CLOSE_WRITE event for <target>. super( directory.getAbsolutePath(), FileObserver.MOVED_TO | FileObserver.CLOSE_WRITE); mTargetFilenames = new ArrayList<String>(Arrays.asList(filenames)); mLatch = new CountDownLatch(mTargetFilenames.size()); }
Example 10
Source File: OfflineVideoManager.java From android-viewer-for-khan-academy with GNU General Public License v3.0 | 5 votes |
@Override public void onEvent(int event, final String path) { if (path == null) { return; } switch (event & FileObserver.ALL_EVENTS) { case FileObserver.CLOSE_WRITE: // Download complete, or paused when wifi is disconnected. Possibly reported more than once in a row. // Useful for noticing when a download has been paused. For completions, register a receiver for // DownloadManager.ACTION_DOWNLOAD_COMPLETE. break; case FileObserver.OPEN: // Called for both read and write modes. // Useful for noticing a download has been started or resumed. break; case FileObserver.DELETE: case FileObserver.MOVED_FROM: // This video is lost never to return. Remove it. handler.post(new Runnable() { @Override public void run() { DatabaseHelper helper = dataService.getHelper(); helper.removeDownloadFromDownloadManager(helper.getVideoForFilename(path)); } }); break; case FileObserver.MODIFY: // Called very frequently while a download is ongoing (~1 per ms). // This could be used to trigger a progress update, but that should probably be done less often than this. shouldPoll = true; break; } }
Example 11
Source File: DeviceSucker.java From CameraV with GNU General Public License v3.0 | 4 votes |
@Override public void onEvent(int event, String path) { String parse = null; switch(event) { case FileObserver.CREATE: parse = "file created"; break; case FileObserver.MODIFY: parse = "file modified"; break; case FileObserver.CLOSE_WRITE: parse = "file closed/writen"; break; case FileObserver.ACCESS: //parse = "file accessed"; break; case FileObserver.DELETE: parse = "file deleted"; break; case FileObserver.OPEN: //parse = "file opened"; break; case FileObserver.CLOSE_NOWRITE: //parse = "file closed/not writen"; break; case FileObserver.ATTRIB: parse = "file attribs changed"; break; } if(parse != null) { Logger.d(LOG, String.format("EVENT %d ON %s: %s", event, path, parse)); //lsof_r1(path); ILogPack logPack = new ILogPack(); logPack.put(Keys.FILE_EFFECTED, path); logPack.put(Keys.ACCESS_TYPE, parse); logPack.put(Keys.ACCESS_CODE, event); DeviceSucker.this.sendToBuffer(logPack); } }
Example 12
Source File: MainActivity.java From open-quartz with Apache License 2.0 | 4 votes |
/** * Process picture - from example GDK */ private void processPictureWhenReady(final String picturePath) { final File pictureFile = new File(picturePath); if (pictureFile.exists()) { // The picture is ready; process it. } else { // The file does not exist yet. Before starting the file observer, you // can update your UI to let the user know that the application is // waiting for the picture (for example, by displaying the thumbnail // image and a progress indicator). final File parentDirectory = pictureFile.getParentFile(); final FileObserver observer = new FileObserver(parentDirectory.getPath()) { // Protect against additional pending events after CLOSE_WRITE is // handled. private boolean isFileWritten; @Override public void onEvent(int event, String path) { if (!isFileWritten) { // For safety, make sure that the file that was created in // the directory is actually the one that we're expecting. final File affectedFile = new File(parentDirectory, path); isFileWritten = (event == FileObserver.CLOSE_WRITE && affectedFile.equals(pictureFile)); if (isFileWritten) { stopWatching(); // Now that the file is ready, recursively call // processPictureWhenReady again (on the UI thread). runOnUiThread(new Runnable() { @Override public void run() { processPictureWhenReady(picturePath); } }); } } } }; observer.startWatching(); } }