1 package com
.owncloud
.android
.files
;
3 import com
.owncloud
.android
.datamodel
.FileDataStorageManager
;
4 import com
.owncloud
.android
.datamodel
.OCFile
;
5 import com
.owncloud
.android
.files
.services
.FileUploader
;
7 import android
.accounts
.Account
;
8 import android
.content
.Context
;
9 import android
.content
.Intent
;
10 import android
.os
.FileObserver
;
11 import android
.util
.Log
;
13 public class OwnCloudFileObserver
extends FileObserver
{
15 public static int CHANGES_ONLY
= CLOSE_WRITE
| MOVED_FROM
| MODIFY
;
17 private static String TAG
= "OwnCloudFileObserver";
20 FileDataStorageManager mStorage
;
23 static Context mContext
;
25 public OwnCloudFileObserver(String path
) {
26 this(path
, ALL_EVENTS
);
29 public OwnCloudFileObserver(String path
, int mask
) {
35 public void setAccount(Account account
) {
39 public void setStorageManager(FileDataStorageManager manager
) {
43 public void setOCFile(OCFile file
) {
47 public void setContext(Context context
) {
51 public String
getPath() {
56 public void onEvent(int event
, String path
) {
57 if ((event
| mMask
) == 0) {
58 Log
.wtf(TAG
, "Incorrect event " + event
+ " sent for file " + path
+
59 " with registered for " + mMask
+ " and original path " +
63 Intent i
= new Intent(mContext
, FileUploader
.class);
64 i
.putExtra(FileUploader
.KEY_ACCOUNT
, mOCAccount
);
65 i
.putExtra(FileUploader
.KEY_REMOTE_FILE
, mFile
.getRemotePath());
66 i
.putExtra(FileUploader
.KEY_LOCAL_FILE
, mPath
);
67 i
.putExtra(FileUploader
.KEY_UPLOAD_TYPE
, FileUploader
.UPLOAD_SINGLE_FILE
);
68 i
.putExtra(FileUploader
.KEY_FORCE_OVERWRITE
, true
);
69 mContext
.startService(i
);