projects
/
pub
/
Android
/
ownCloud.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0f7ea54
)
Changes from comments, FileUploader and FileDownloader implement OnAccountsUpdateListener
author
masensio
<masensio@solidgear.es>
Fri, 20 Feb 2015 09:51:18 +0000
(10:51 +0100)
committer
masensio
<masensio@solidgear.es>
Fri, 20 Feb 2015 09:51:18 +0000
(10:51 +0100)
src/com/owncloud/android/files/services/FileDownloader.java
patch
|
blob
|
blame
|
history
src/com/owncloud/android/files/services/FileUploader.java
patch
|
blob
|
blame
|
history
src/com/owncloud/android/files/services/IndexedForest.java
patch
|
blob
|
blame
|
history
src/com/owncloud/android/ui/activity/FileActivity.java
patch
|
blob
|
blame
|
history
diff --git
a/src/com/owncloud/android/files/services/FileDownloader.java
b/src/com/owncloud/android/files/services/FileDownloader.java
index
64eea6b
..
c76ab79
100644
(file)
--- a/
src/com/owncloud/android/files/services/FileDownloader.java
+++ b/
src/com/owncloud/android/files/services/FileDownloader.java
@@
-25,7
+25,6
@@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;
-import java.util.concurrent.ConcurrentMap;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountUtils;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountUtils;
@@
-51,7
+50,9
@@
import com.owncloud.android.ui.preview.PreviewImageFragment;
import com.owncloud.android.utils.ErrorMessageAdapter;
import android.accounts.Account;
import com.owncloud.android.utils.ErrorMessageAdapter;
import android.accounts.Account;
+import android.accounts.AccountManager;
import android.accounts.AccountsException;
import android.accounts.AccountsException;
+import android.accounts.OnAccountsUpdateListener;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
@@
-66,7
+67,8
@@
import android.os.Process;
import android.support.v4.app.NotificationCompat;
import android.util.Pair;
import android.support.v4.app.NotificationCompat;
import android.util.Pair;
-public class FileDownloader extends Service implements OnDatatransferProgressListener {
+public class FileDownloader extends Service
+ implements OnDatatransferProgressListener, OnAccountsUpdateListener {
public static final String EXTRA_ACCOUNT = "ACCOUNT";
public static final String EXTRA_FILE = "FILE";
public static final String EXTRA_ACCOUNT = "ACCOUNT";
public static final String EXTRA_FILE = "FILE";
@@
-118,6
+120,10
@@
public class FileDownloader extends Service implements OnDatatransferProgressLis
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper, this);
mBinder = new FileDownloaderBinder();
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper, this);
mBinder = new FileDownloaderBinder();
+
+ // add AccountsUpdatedListener
+ AccountManager am = AccountManager.get(getApplicationContext());
+ am.addOnAccountsUpdatedListener(this, null, false);
}
}
@@
-132,6
+138,11
@@
public class FileDownloader extends Service implements OnDatatransferProgressLis
mServiceLooper.quit();
mServiceLooper = null;
mNotificationManager = null;
mServiceLooper.quit();
mServiceLooper = null;
mNotificationManager = null;
+
+ // remove AccountsUpdatedListener
+ AccountManager am = AccountManager.get(getApplicationContext());
+ am.removeOnAccountsUpdatedListener(this);
+
super.onDestroy();
}
super.onDestroy();
}
@@
-224,6
+235,16
@@
public class FileDownloader extends Service implements OnDatatransferProgressLis
return false; // not accepting rebinding (default behaviour)
}
return false; // not accepting rebinding (default behaviour)
}
+ @Override
+ public void onAccountsUpdated(Account[] accounts) {
+ //review the current download and cancel it if its account doesn't exist
+ if (mCurrentDownload != null &&
+ !AccountUtils.exists(mCurrentDownload.getAccount(), getApplicationContext())) {
+ mCurrentDownload.cancel();
+ }
+ // The rest of downloads are cancelled when they try to start
+ }
+
/**
* Binder to let client components to perform operations on the queue of downloads.
/**
* Binder to let client components to perform operations on the queue of downloads.
@@
-667,7
+688,7
@@
public class FileDownloader extends Service implements OnDatatransferProgressLis
/**
* Remove downloads of an account
*
/**
* Remove downloads of an account
*
- * @param account
+ * @param account
Downloads account to remove
*/
private void cancelDownloadsForAccount(Account account) {
// Cancel pending downloads
*/
private void cancelDownloadsForAccount(Account account) {
// Cancel pending downloads
diff --git
a/src/com/owncloud/android/files/services/FileUploader.java
b/src/com/owncloud/android/files/services/FileUploader.java
index
d6ade1a
..
8a04be3
100644
(file)
--- a/
src/com/owncloud/android/files/services/FileUploader.java
+++ b/
src/com/owncloud/android/files/services/FileUploader.java
@@
-31,6
+31,7
@@
import java.util.concurrent.ConcurrentMap;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountsException;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountsException;
+import android.accounts.OnAccountsUpdateListener;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
@@
-56,7
+57,6
@@
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
import com.owncloud.android.lib.common.network.OnDatatransferProgressListener;
import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
import com.owncloud.android.lib.common.network.OnDatatransferProgressListener;
-import com.owncloud.android.lib.common.operations.OperationCancelledException;
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
@@
-77,8
+77,8
@@
import com.owncloud.android.utils.ErrorMessageAdapter;
import com.owncloud.android.utils.UriUtils;
import com.owncloud.android.utils.UriUtils;
-
-
public class FileUploader extends Service implements OnDatatransferProgress
Listener {
+public class FileUploader extends Service
+
implements OnDatatransferProgressListener, OnAccountsUpdate
Listener {
private static final String UPLOAD_FINISH_MESSAGE = "UPLOAD_FINISH";
public static final String EXTRA_UPLOAD_RESULT = "RESULT";
private static final String UPLOAD_FINISH_MESSAGE = "UPLOAD_FINISH";
public static final String EXTRA_UPLOAD_RESULT = "RESULT";
@@
-169,6
+169,10
@@
public class FileUploader extends Service implements OnDatatransferProgressListe
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper, this);
mBinder = new FileUploaderBinder();
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper, this);
mBinder = new FileUploaderBinder();
+
+ // add AccountsUpdatedListener
+ AccountManager am = AccountManager.get(getApplicationContext());
+ am.addOnAccountsUpdatedListener(this, null, false);
}
/**
}
/**
@@
-182,6
+186,11
@@
public class FileUploader extends Service implements OnDatatransferProgressListe
mServiceLooper.quit();
mServiceLooper = null;
mNotificationManager = null;
mServiceLooper.quit();
mServiceLooper = null;
mNotificationManager = null;
+
+ // remove AccountsUpdatedListener
+ AccountManager am = AccountManager.get(getApplicationContext());
+ am.removeOnAccountsUpdatedListener(this);
+
super.onDestroy();
}
super.onDestroy();
}
@@
-345,6
+354,16
@@
public class FileUploader extends Service implements OnDatatransferProgressListe
return false; // not accepting rebinding (default behaviour)
}
return false; // not accepting rebinding (default behaviour)
}
+ @Override
+ public void onAccountsUpdated(Account[] accounts) {
+ // Review current upload, and cancel it if its account doen't exist
+ if (mCurrentUpload != null &&
+ !AccountUtils.exists(mCurrentUpload.getAccount(), getApplicationContext())) {
+ mCurrentUpload.cancel();
+ }
+ // The rest of uploads are cancelled when they try to start
+ }
+
/**
* Binder to let client components to perform operations on the queue of
* uploads.
/**
* Binder to let client components to perform operations on the queue of
* uploads.
diff --git
a/src/com/owncloud/android/files/services/IndexedForest.java
b/src/com/owncloud/android/files/services/IndexedForest.java
index
1343a8c
..
c40cece
100644
(file)
--- a/
src/com/owncloud/android/files/services/IndexedForest.java
+++ b/
src/com/owncloud/android/files/services/IndexedForest.java
@@
-22,10
+22,8
@@
import android.util.Pair;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.lib.common.utils.Log_OC;
-import com.owncloud.android.operations.UploadFileOperation;
import java.io.File;
import java.io.File;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@@
-238,6
+236,4
@@
public class IndexedForest<V> {
return account.name + remotePath;
}
return account.name + remotePath;
}
-
-
}
}
diff --git
a/src/com/owncloud/android/ui/activity/FileActivity.java
b/src/com/owncloud/android/ui/activity/FileActivity.java
index
54efc6f
..
97c5606
100644
(file)
--- a/
src/com/owncloud/android/ui/activity/FileActivity.java
+++ b/
src/com/owncloud/android/ui/activity/FileActivity.java
@@
-23,7
+23,6
@@
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
-import android.accounts.OnAccountsUpdateListener;
import android.accounts.OperationCanceledException;
import android.content.ComponentName;
import android.content.Context;
import android.accounts.OperationCanceledException;
import android.content.ComponentName;
import android.content.Context;
@@
-57,7
+56,6
@@
import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.operations.CreateShareOperation;
import com.owncloud.android.operations.SynchronizeFolderOperation;
import com.owncloud.android.operations.UnshareLinkOperation;
import com.owncloud.android.operations.CreateShareOperation;
import com.owncloud.android.operations.SynchronizeFolderOperation;
import com.owncloud.android.operations.UnshareLinkOperation;
-
import com.owncloud.android.services.OperationsService;
import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
import com.owncloud.android.ui.dialog.LoadingDialog;
import com.owncloud.android.services.OperationsService;
import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
import com.owncloud.android.ui.dialog.LoadingDialog;
@@
-70,7
+68,7
@@
import com.owncloud.android.utils.ErrorMessageAdapter;
* @author David A. Velasco
*/
public class FileActivity extends SherlockFragmentActivity
* @author David A. Velasco
*/
public class FileActivity extends SherlockFragmentActivity
- implements OnRemoteOperationListener, ComponentsGetter
, OnAccountsUpdateListener
{
+ implements OnRemoteOperationListener, ComponentsGetter {
public static final String EXTRA_FILE = "com.owncloud.android.ui.activity.FILE";
public static final String EXTRA_ACCOUNT = "com.owncloud.android.ui.activity.ACCOUNT";
public static final String EXTRA_FILE = "com.owncloud.android.ui.activity.FILE";
public static final String EXTRA_ACCOUNT = "com.owncloud.android.ui.activity.ACCOUNT";
@@
-160,10
+158,6
@@
public class FileActivity extends SherlockFragmentActivity
bindService(new Intent(this, FileUploader.class), mUploadServiceConnection, Context.BIND_AUTO_CREATE);
}
bindService(new Intent(this, FileUploader.class), mUploadServiceConnection, Context.BIND_AUTO_CREATE);
}
- // add AccountsUpdatedListener
- AccountManager am = AccountManager.get(getApplicationContext());
- am.addOnAccountsUpdatedListener(this, null, false);
-
}
}
@@
-227,10
+221,6
@@
public class FileActivity extends SherlockFragmentActivity
mUploadServiceConnection = null;
}
mUploadServiceConnection = null;
}
- // remove AccountsUpdatedListener
- AccountManager am = AccountManager.get(getApplicationContext());
- am.removeOnAccountsUpdatedListener(this);
-
super.onDestroy();
}
super.onDestroy();
}
@@
-297,7
+287,6
@@
public class FileActivity extends SherlockFragmentActivity
this,
new AccountCreationCallback(),
null);
this,
new AccountCreationCallback(),
null);
- am.addOnAccountsUpdatedListener(this, null, true);
}
}
@@
-366,19
+355,6
@@
public class FileActivity extends SherlockFragmentActivity
return null;
}
return null;
}
- @Override
- public void onAccountsUpdated(Account[] accounts) {
- // detect a change in the list of accounts
- Log_OC.d(TAG, "onAccountsUpdated");
- if (mDownloaderBinder != null) {
- mDownloaderBinder.checkAccountOfCurrentDownload();
- }
- if (mUploaderBinder != null) {
- mUploaderBinder.checkAccountOfCurrentUpload();
- }
- }
-
-
/**
* Helper class handling a callback from the {@link AccountManager} after the creation of
* a new ownCloud {@link Account} finished, successfully or not.
/**
* Helper class handling a callback from the {@link AccountManager} after the creation of
* a new ownCloud {@link Account} finished, successfully or not.