Show the details of a file when the status notification of a download in progress...
[pub/Android/ownCloud.git] / src / com / owncloud / android / files / OwnCloudFileObserver.java
1 package com.owncloud.android.files;
2
3 import com.owncloud.android.datamodel.FileDataStorageManager;
4 import com.owncloud.android.datamodel.OCFile;
5 import com.owncloud.android.files.services.FileUploader;
6
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;
12
13 public class OwnCloudFileObserver extends FileObserver {
14
15 public static int CHANGES_ONLY = CLOSE_WRITE | MOVED_FROM | MODIFY;
16
17 private static String TAG = "OwnCloudFileObserver";
18 private String mPath;
19 private int mMask;
20 FileDataStorageManager mStorage;
21 Account mOCAccount;
22 OCFile mFile;
23 static Context mContext;
24
25 public OwnCloudFileObserver(String path) {
26 this(path, ALL_EVENTS);
27 }
28
29 public OwnCloudFileObserver(String path, int mask) {
30 super(path, mask);
31 mPath = path;
32 mMask = mask;
33 }
34
35 public void setAccount(Account account) {
36 mOCAccount = account;
37 }
38
39 public void setStorageManager(FileDataStorageManager manager) {
40 mStorage = manager;
41 }
42
43 public void setOCFile(OCFile file) {
44 mFile = file;
45 }
46
47 public void setContext(Context context) {
48 mContext = context;
49 }
50
51 public String getPath() {
52 return mPath;
53 }
54
55 @Override
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 " +
60 mPath);
61 return;
62 }
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);
70 }
71
72 }