aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java')
-rw-r--r--src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java b/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java
deleted file mode 100644
index e6993bfe5..000000000
--- a/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package eu.siacs.conversations.utils;
-
-
-import android.os.FileObserver;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Stack;
-
-/**
- * Copyright (C) 2012 Bartek Przybylski
- * Copyright (C) 2015 ownCloud Inc.
- * Copyright (C) 2016 Daniel Gultsch
- */
-
-public abstract class ConversationsFileObserver {
-
- private final String path;
- private final List<SingleFileObserver> mObservers = new ArrayList<>();
-
- public ConversationsFileObserver(String path) {
- this.path = path;
- }
-
- public synchronized void startWatching() {
- Stack<String> stack = new Stack<>();
- stack.push(path);
-
- while (!stack.empty()) {
- String parent = stack.pop();
- mObservers.add(new SingleFileObserver(parent, FileObserver.DELETE));
- final File path = new File(parent);
- final File[] files = path.listFiles();
- if (files == null) {
- continue;
- }
- for(File file : files) {
- if (file.isDirectory() && !file.getName().equals(".") && !file.getName().equals("..")) {
- stack.push(file.getPath());
- }
- }
- }
- for(FileObserver observer : mObservers) {
- observer.startWatching();
- }
- }
-
- public synchronized void stopWatching() {
- for(FileObserver observer : mObservers) {
- observer.stopWatching();
- }
- mObservers.clear();
- }
-
- abstract public void onEvent(int event, String path);
-
- private class SingleFileObserver extends FileObserver {
- private final String path;
-
- public SingleFileObserver(String path, int mask) {
- super(path, mask);
- this.path = path;
- }
-
- @Override
- public void onEvent(int event, String filename) {
- ConversationsFileObserver.this.onEvent(event, path+'/'+filename);
- }
-
- }
-}