|
@@ -38,14 +38,12 @@ import android.content.res.Resources.NotFoundException;
|
|
|
import android.database.Cursor;
|
|
|
import android.net.Uri;
|
|
|
import android.os.Bundle;
|
|
|
-import android.os.Handler;
|
|
|
import android.os.IBinder;
|
|
|
import android.preference.PreferenceManager;
|
|
|
import android.provider.MediaStore;
|
|
|
import android.support.v4.app.Fragment;
|
|
|
-import android.support.v4.app.FragmentManager;
|
|
|
import android.support.v4.app.FragmentTransaction;
|
|
|
-import android.support.v4.content.LocalBroadcastManager;
|
|
|
+//import android.support.v4.content.LocalBroadcastManager;
|
|
|
import android.util.Log;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
@@ -61,7 +59,6 @@ import com.actionbarsherlock.view.MenuItem;
|
|
|
import com.actionbarsherlock.view.Window;
|
|
|
import com.owncloud.android.MainApp;
|
|
|
import com.owncloud.android.R;
|
|
|
-import com.owncloud.android.datamodel.FileDataStorageManager;
|
|
|
import com.owncloud.android.datamodel.OCFile;
|
|
|
import com.owncloud.android.files.services.FileDownloader;
|
|
|
import com.owncloud.android.files.services.FileObserverService;
|
|
@@ -70,11 +67,10 @@ import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
|
|
|
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
|
|
|
import com.owncloud.android.operations.CreateFolderOperation;
|
|
|
|
|
|
-import com.owncloud.android.lib.operations.common.OnRemoteOperationListener;
|
|
|
import com.owncloud.android.lib.operations.common.RemoteOperation;
|
|
|
import com.owncloud.android.lib.operations.common.RemoteOperationResult;
|
|
|
import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode;
|
|
|
-
|
|
|
+import com.owncloud.android.operations.CreateShareOperation;
|
|
|
import com.owncloud.android.operations.RemoveFileOperation;
|
|
|
import com.owncloud.android.operations.RenameFileOperation;
|
|
|
import com.owncloud.android.operations.SynchronizeFileOperation;
|
|
@@ -83,7 +79,6 @@ import com.owncloud.android.services.OperationsService;
|
|
|
import com.owncloud.android.syncadapter.FileSyncAdapter;
|
|
|
import com.owncloud.android.ui.dialog.EditNameDialog;
|
|
|
import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
|
|
|
-import com.owncloud.android.ui.dialog.LoadingDialog;
|
|
|
import com.owncloud.android.ui.dialog.SslValidatorDialog;
|
|
|
import com.owncloud.android.ui.dialog.SslValidatorDialog.OnSslValidatorListener;
|
|
|
import com.owncloud.android.ui.fragment.FileDetailFragment;
|
|
@@ -103,18 +98,15 @@ import com.owncloud.android.utils.Log_OC;
|
|
|
* @author David A. Velasco
|
|
|
*/
|
|
|
|
|
|
-public class FileDisplayActivity extends FileActivity implements
|
|
|
-OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, OnRemoteOperationListener, EditNameDialogListener {
|
|
|
+public class FileDisplayActivity extends HookActivity implements
|
|
|
+OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, EditNameDialogListener {
|
|
|
|
|
|
private ArrayAdapter<String> mDirectories;
|
|
|
|
|
|
- /** Access point to the cached database for the current ownCloud {@link Account} */
|
|
|
- private FileDataStorageManager mStorageManager = null;
|
|
|
-
|
|
|
private SyncBroadcastReceiver mSyncBroadcastReceiver;
|
|
|
private UploadFinishReceiver mUploadFinishReceiver;
|
|
|
private DownloadFinishReceiver mDownloadFinishReceiver;
|
|
|
- private OperationsServiceReceiver mOperationsServiceReceiver;
|
|
|
+ //private OperationsServiceReceiver mOperationsServiceReceiver;
|
|
|
private FileDownloaderBinder mDownloaderBinder = null;
|
|
|
private FileUploaderBinder mUploaderBinder = null;
|
|
|
private ServiceConnection mDownloadConnection = null, mUploadConnection = null;
|
|
@@ -133,8 +125,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
private static final int DIALOG_SSL_VALIDATOR = 2;
|
|
|
private static final int DIALOG_CERT_NOT_SAVED = 3;
|
|
|
|
|
|
- private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
|
|
|
-
|
|
|
public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS";
|
|
|
|
|
|
private static final int ACTION_SELECT_CONTENT_FROM_APPS = 1;
|
|
@@ -146,10 +136,9 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
private static final String TAG_SECOND_FRAGMENT = "SECOND_FRAGMENT";
|
|
|
|
|
|
private OCFile mWaitingToPreview;
|
|
|
- private Handler mHandler;
|
|
|
|
|
|
private boolean mSyncInProgress = false;
|
|
|
- private boolean mRefreshSharesInProgress = false;
|
|
|
+ //private boolean mRefreshSharesInProgress = false;
|
|
|
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
@@ -158,8 +147,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
|
|
|
super.onCreate(savedInstanceState); // this calls onAccountChanged() when ownCloud Account is valid
|
|
|
|
|
|
- mHandler = new Handler();
|
|
|
-
|
|
|
/// bindings to transference services
|
|
|
mUploadConnection = new ListServiceConnection();
|
|
|
mDownloadConnection = new ListServiceConnection();
|
|
@@ -182,12 +169,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if(savedInstanceState != null) {
|
|
|
mWaitingToPreview = (OCFile) savedInstanceState.getParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW);
|
|
|
mSyncInProgress = savedInstanceState.getBoolean(KEY_SYNC_IN_PROGRESS);
|
|
|
- mRefreshSharesInProgress = savedInstanceState.getBoolean(KEY_REFRESH_SHARES_IN_PROGRESS);
|
|
|
+ //mRefreshSharesInProgress = savedInstanceState.getBoolean(KEY_REFRESH_SHARES_IN_PROGRESS);
|
|
|
|
|
|
} else {
|
|
|
mWaitingToPreview = null;
|
|
|
mSyncInProgress = false;
|
|
|
- mRefreshSharesInProgress = false;
|
|
|
+ //mRefreshSharesInProgress = false;
|
|
|
}
|
|
|
|
|
|
/// USER INTERFACE
|
|
@@ -204,7 +191,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
// Action bar setup
|
|
|
mDirectories = new CustomArrayAdapter<String>(this, R.layout.sherlock_spinner_dropdown_item);
|
|
|
getSupportActionBar().setHomeButtonEnabled(true); // mandatory since Android ICS, according to the official documentation
|
|
|
- setSupportProgressBarIndeterminateVisibility(mSyncInProgress || mRefreshSharesInProgress); // always AFTER setContentView(...) ; to work around bug in its implementation
|
|
|
+ setSupportProgressBarIndeterminateVisibility(mSyncInProgress /*|| mRefreshSharesInProgress*/); // always AFTER setContentView(...) ; to work around bug in its implementation
|
|
|
|
|
|
Log_OC.d(TAG, "onCreate() end");
|
|
|
}
|
|
@@ -230,9 +217,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
*/
|
|
|
@Override
|
|
|
protected void onAccountSet(boolean stateWasRecovered) {
|
|
|
+ super.onAccountSet(stateWasRecovered);
|
|
|
if (getAccount() != null) {
|
|
|
- mStorageManager = new FileDataStorageManager(getAccount(), getContentResolver());
|
|
|
-
|
|
|
/// Check whether the 'main' OCFile handled by the Activity is contained in the current Account
|
|
|
OCFile file = getFile();
|
|
|
// get parent from path
|
|
@@ -242,15 +228,15 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
// upload in progress - right now, files are not inserted in the local cache until the upload is successful
|
|
|
// get parent from path
|
|
|
parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName()));
|
|
|
- if (mStorageManager.getFileByPath(parentPath) == null)
|
|
|
+ if (getStorageManager().getFileByPath(parentPath) == null)
|
|
|
file = null; // not able to know the directory where the file is uploading
|
|
|
} else {
|
|
|
- file = mStorageManager.getFileByPath(file.getRemotePath()); // currentDir = null if not in the current Account
|
|
|
+ file = getStorageManager().getFileByPath(file.getRemotePath()); // currentDir = null if not in the current Account
|
|
|
}
|
|
|
}
|
|
|
if (file == null) {
|
|
|
// fall back to root folder
|
|
|
- file = mStorageManager.getFileByPath(OCFile.ROOT_PATH); // never returns null
|
|
|
+ file = getStorageManager().getFileByPath(OCFile.ROOT_PATH); // never returns null
|
|
|
}
|
|
|
setFile(file);
|
|
|
setNavigationListWithFolder(file);
|
|
@@ -266,10 +252,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
updateFragmentsVisibility(!file.isFolder());
|
|
|
updateNavigationElementsInActionBar(file.isFolder() ? null : file);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- } else {
|
|
|
- Log_OC.wtf(TAG, "onAccountChanged was called with NULL account associated!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -282,10 +264,9 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if (fileIt.isFolder()) {
|
|
|
mDirectories.add(fileIt.getFileName());
|
|
|
}
|
|
|
- //fileIt = mStorageManager.getFileById(fileIt.getParentId());
|
|
|
// get parent from path
|
|
|
parentPath = fileIt.getRemotePath().substring(0, fileIt.getRemotePath().lastIndexOf(fileIt.getFileName()));
|
|
|
- fileIt = mStorageManager.getFileByPath(parentPath);
|
|
|
+ fileIt = getStorageManager().getFileByPath(parentPath);
|
|
|
}
|
|
|
mDirectories.add(OCFile.PATH_SEPARATOR);
|
|
|
}
|
|
@@ -447,12 +428,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
boolean detailsFragmentChanged = false;
|
|
|
if (waitedPreview) {
|
|
|
if (success) {
|
|
|
- mWaitingToPreview = mStorageManager.getFileById(mWaitingToPreview.getFileId()); // update the file from database, for the local storage path
|
|
|
+ mWaitingToPreview = getStorageManager().getFileById(mWaitingToPreview.getFileId()); // update the file from database, for the local storage path
|
|
|
if (PreviewMediaFragment.canBePreviewed(mWaitingToPreview)) {
|
|
|
startMediaPreview(mWaitingToPreview, 0, true);
|
|
|
detailsFragmentChanged = true;
|
|
|
} else {
|
|
|
- openFile(mWaitingToPreview);
|
|
|
+ getFileOperationsHelper().openFile(mWaitingToPreview, this);
|
|
|
}
|
|
|
}
|
|
|
mWaitingToPreview = null;
|
|
@@ -464,7 +445,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
MenuInflater inflater = getSherlock().getMenuInflater();
|
|
@@ -543,7 +523,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
targetPath = mDirectories.getItem(i) + OCFile.PATH_SEPARATOR + targetPath;
|
|
|
}
|
|
|
targetPath = OCFile.PATH_SEPARATOR + targetPath;
|
|
|
- OCFile targetFolder = mStorageManager.getFileByPath(targetPath);
|
|
|
+ OCFile targetFolder = getStorageManager().getFileByPath(targetPath);
|
|
|
if (targetFolder != null) {
|
|
|
browseTo(targetFolder);
|
|
|
}
|
|
@@ -551,7 +531,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
// the next operation triggers a new call to this method, but it's necessary to
|
|
|
// ensure that the name exposed in the action bar is the current directory when the
|
|
|
// user selected it in the navigation list
|
|
|
- getSupportActionBar().setSelectedNavigationItem(0);
|
|
|
+ if (getSupportActionBar().getNavigationMode() == ActionBar.NAVIGATION_MODE_LIST && itemPosition != 0)
|
|
|
+ getSupportActionBar().setSelectedNavigationItem(0);
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
@@ -677,7 +658,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
super.onSaveInstanceState(outState);
|
|
|
outState.putParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW, mWaitingToPreview);
|
|
|
outState.putBoolean(FileDisplayActivity.KEY_SYNC_IN_PROGRESS, mSyncInProgress);
|
|
|
- outState.putBoolean(FileDisplayActivity.KEY_REFRESH_SHARES_IN_PROGRESS, mRefreshSharesInProgress);
|
|
|
+ //outState.putBoolean(FileDisplayActivity.KEY_REFRESH_SHARES_IN_PROGRESS, mRefreshSharesInProgress);
|
|
|
|
|
|
Log_OC.d(TAG, "onSaveInstanceState() end");
|
|
|
}
|
|
@@ -692,12 +673,13 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
// Listen for sync messages
|
|
|
IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
|
|
|
syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
|
|
|
- syncIntentFilter.addAction(FileSyncAdapter.EVENT_FOLDER_SIZE_SYNCED);
|
|
|
- syncIntentFilter.addAction(FileSyncAdapter.EVENT_FOLDER_CONTENTS_SYNCED);
|
|
|
- syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED);
|
|
|
+ syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_SIZE_SYNCED);
|
|
|
+ syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
|
|
|
+ syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
|
|
|
+ syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
|
|
|
mSyncBroadcastReceiver = new SyncBroadcastReceiver();
|
|
|
- //registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
|
|
- LocalBroadcastManager.getInstance(this).registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
|
|
+ registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
|
|
+ //LocalBroadcastManager.getInstance(this).registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
|
|
|
|
|
// Listen for upload messages
|
|
|
IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.getUploadFinishMessage());
|
|
@@ -711,10 +693,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
registerReceiver(mDownloadFinishReceiver, downloadIntentFilter);
|
|
|
|
|
|
// Listen for messages from the OperationsService
|
|
|
+ /*
|
|
|
IntentFilter operationsIntentFilter = new IntentFilter(OperationsService.ACTION_OPERATION_ADDED);
|
|
|
operationsIntentFilter.addAction(OperationsService.ACTION_OPERATION_FINISHED);
|
|
|
mOperationsServiceReceiver = new OperationsServiceReceiver();
|
|
|
LocalBroadcastManager.getInstance(this).registerReceiver(mOperationsServiceReceiver, operationsIntentFilter);
|
|
|
+ */
|
|
|
|
|
|
Log_OC.d(TAG, "onResume() end");
|
|
|
}
|
|
@@ -725,8 +709,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
super.onPause();
|
|
|
Log_OC.e(TAG, "onPause() start");
|
|
|
if (mSyncBroadcastReceiver != null) {
|
|
|
- //unregisterReceiver(mSyncBroadcastReceiver);
|
|
|
- LocalBroadcastManager.getInstance(this).unregisterReceiver(mSyncBroadcastReceiver);
|
|
|
+ unregisterReceiver(mSyncBroadcastReceiver);
|
|
|
+ //LocalBroadcastManager.getInstance(this).unregisterReceiver(mSyncBroadcastReceiver);
|
|
|
mSyncBroadcastReceiver = null;
|
|
|
}
|
|
|
if (mUploadFinishReceiver != null) {
|
|
@@ -737,10 +721,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
unregisterReceiver(mDownloadFinishReceiver);
|
|
|
mDownloadFinishReceiver = null;
|
|
|
}
|
|
|
+ /*
|
|
|
if (mOperationsServiceReceiver != null) {
|
|
|
LocalBroadcastManager.getInstance(this).unregisterReceiver(mOperationsServiceReceiver);
|
|
|
mOperationsServiceReceiver = null;
|
|
|
}
|
|
|
+ */
|
|
|
Log_OC.d(TAG, "onPause() end");
|
|
|
}
|
|
|
|
|
@@ -836,30 +822,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * Show loading dialog
|
|
|
- */
|
|
|
- public void showLoadingDialog() {
|
|
|
- // Construct dialog
|
|
|
- LoadingDialog loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment));
|
|
|
- FragmentManager fm = getSupportFragmentManager();
|
|
|
- FragmentTransaction ft = fm.beginTransaction();
|
|
|
- loading.show(ft, DIALOG_WAIT_TAG);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Dismiss loading dialog
|
|
|
- */
|
|
|
- public void dismissLoadingDialog(){
|
|
|
- Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG);
|
|
|
- if (frag != null) {
|
|
|
- LoadingDialog loading = (LoadingDialog) frag;
|
|
|
- loading.dismiss();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* Translates a content URI of an image to a physical path
|
|
|
* on the disk
|
|
@@ -912,6 +874,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
|
|
|
((TextView) v).setTextColor(getResources().getColorStateList(
|
|
|
android.R.color.white));
|
|
|
+
|
|
|
+ fixRoot((TextView) v );
|
|
|
return v;
|
|
|
}
|
|
|
|
|
@@ -922,9 +886,16 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
((TextView) v).setTextColor(getResources().getColorStateList(
|
|
|
android.R.color.white));
|
|
|
|
|
|
+ fixRoot((TextView) v );
|
|
|
return v;
|
|
|
}
|
|
|
|
|
|
+ private void fixRoot(TextView v) {
|
|
|
+ if (v.getText().equals(OCFile.PATH_SEPARATOR)) {
|
|
|
+ v.setText(R.string.default_display_name_for_root_folder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private class SyncBroadcastReceiver extends BroadcastReceiver {
|
|
@@ -935,17 +906,20 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
String event = intent.getAction();
|
|
|
+ Log_OC.d(TAG, "Received broadcast " + event);
|
|
|
String accountName = intent.getStringExtra(FileSyncAdapter.EXTRA_ACCOUNT_NAME);
|
|
|
String synchFolderRemotePath = intent.getStringExtra(FileSyncAdapter.EXTRA_FOLDER_PATH);
|
|
|
RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncAdapter.EXTRA_RESULT);
|
|
|
- boolean sameAccount = (getAccount() != null && accountName.equals(getAccount().name) && mStorageManager != null);
|
|
|
+ boolean sameAccount = (getAccount() != null && accountName.equals(getAccount().name) && getStorageManager() != null);
|
|
|
|
|
|
if (sameAccount) {
|
|
|
|
|
|
- if (!FileSyncAdapter.EVENT_FULL_SYNC_START.equals(event)) {
|
|
|
+ if (FileSyncAdapter.EVENT_FULL_SYNC_START.equals(event)) {
|
|
|
+ mSyncInProgress = true;
|
|
|
|
|
|
- OCFile currentFile = (getFile() == null) ? null : mStorageManager.getFileByPath(getFile().getRemotePath());
|
|
|
- OCFile currentDir = (getCurrentDir() == null) ? null : mStorageManager.getFileByPath(getCurrentDir().getRemotePath());
|
|
|
+ } else {
|
|
|
+ OCFile currentFile = (getFile() == null) ? null : getStorageManager().getFileByPath(getFile().getRemotePath());
|
|
|
+ OCFile currentDir = (getCurrentDir() == null) ? null : getStorageManager().getFileByPath(getCurrentDir().getRemotePath());
|
|
|
|
|
|
if (currentDir == null) {
|
|
|
// current folder was removed from the server
|
|
@@ -971,22 +945,25 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
setFile(currentFile);
|
|
|
}
|
|
|
|
|
|
- mSyncInProgress = (!FileSyncAdapter.EVENT_FULL_SYNC_END.equals(event) &&
|
|
|
- !SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) &&
|
|
|
- (synchResult == null || synchResult.isSuccess())) ;
|
|
|
-
|
|
|
+ mSyncInProgress = (!FileSyncAdapter.EVENT_FULL_SYNC_END.equals(event) && !SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED.equals(event));
|
|
|
+
|
|
|
+ /*
|
|
|
if (synchResult != null &&
|
|
|
synchResult.isSuccess() &&
|
|
|
(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) ||
|
|
|
- FileSyncAdapter.EVENT_FOLDER_CONTENTS_SYNCED.equals(event)
|
|
|
- )
|
|
|
+ FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED.equals(event)
|
|
|
+ ) &&
|
|
|
+ !mRefreshSharesInProgress &&
|
|
|
+ getFileOperationsHelper().isSharedSupported(FileDisplayActivity.this)
|
|
|
) {
|
|
|
startGetShares();
|
|
|
}
|
|
|
+ */
|
|
|
|
|
|
}
|
|
|
- //removeStickyBroadcast(intent);
|
|
|
- setSupportProgressBarIndeterminateVisibility(mSyncInProgress || mRefreshSharesInProgress);
|
|
|
+ removeStickyBroadcast(intent);
|
|
|
+ Log_OC.d(TAG, "Setting progress visibility to " + mSyncInProgress);
|
|
|
+ setSupportProgressBarIndeterminateVisibility(mSyncInProgress /*|| mRefreshSharesInProgress*/);
|
|
|
}
|
|
|
|
|
|
if (synchResult != null) {
|
|
@@ -1069,12 +1046,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if (OperationsService.ACTION_OPERATION_ADDED.equals(intent.getAction())) {
|
|
|
|
|
|
} else if (OperationsService.ACTION_OPERATION_FINISHED.equals(intent.getAction())) {
|
|
|
- mRefreshSharesInProgress = false;
|
|
|
+ //mRefreshSharesInProgress = false;
|
|
|
|
|
|
Account account = intent.getParcelableExtra(OperationsService.EXTRA_ACCOUNT);
|
|
|
RemoteOperationResult getSharesResult = (RemoteOperationResult)intent.getSerializableExtra(OperationsService.EXTRA_RESULT);
|
|
|
if (getAccount() != null && account.name.equals(getAccount().name)
|
|
|
- && mStorageManager != null
|
|
|
+ && getStorageManager() != null
|
|
|
) {
|
|
|
refeshListOfFilesFragment();
|
|
|
}
|
|
@@ -1084,30 +1061,20 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
showDialog(DIALOG_SSL_VALIDATOR);
|
|
|
}
|
|
|
|
|
|
- setSupportProgressBarIndeterminateVisibility(mRefreshSharesInProgress || mSyncInProgress);
|
|
|
+ //setSupportProgressBarIndeterminateVisibility(mRefreshSharesInProgress || mSyncInProgress);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * {@inheritDoc}
|
|
|
- */
|
|
|
- @Override
|
|
|
- public FileDataStorageManager getStorageManager() {
|
|
|
- return mStorageManager;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
public void browseToRoot() {
|
|
|
OCFileListFragment listOfFiles = getListOfFilesFragment();
|
|
|
if (listOfFiles != null) { // should never be null, indeed
|
|
|
while (mDirectories.getCount() > 1) {
|
|
|
popDirname();
|
|
|
}
|
|
|
- OCFile root = mStorageManager.getFileByPath(OCFile.ROOT_PATH);
|
|
|
+ OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH);
|
|
|
listOfFiles.listDirectory(root);
|
|
|
setFile(listOfFiles.getCurrentFile());
|
|
|
startSyncFolderOperation(root);
|
|
@@ -1220,9 +1187,13 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if (chosenFile == null || mDualPane) {
|
|
|
// only list of files - set for browsing through folders
|
|
|
OCFile currentDir = getCurrentDir();
|
|
|
- actionBar.setDisplayHomeAsUpEnabled(currentDir != null && currentDir.getParentId() != 0);
|
|
|
- actionBar.setDisplayShowTitleEnabled(false);
|
|
|
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
|
|
|
+ boolean noRoot = (currentDir != null && currentDir.getParentId() != 0);
|
|
|
+ actionBar.setDisplayHomeAsUpEnabled(noRoot);
|
|
|
+ actionBar.setDisplayShowTitleEnabled(!noRoot);
|
|
|
+ if (!noRoot) {
|
|
|
+ actionBar.setTitle(getString(R.string.default_display_name_for_root_folder));
|
|
|
+ }
|
|
|
+ actionBar.setNavigationMode(!noRoot ? ActionBar.NAVIGATION_MODE_STANDARD : ActionBar.NAVIGATION_MODE_LIST);
|
|
|
actionBar.setListNavigationCallbacks(mDirectories, this); // assuming mDirectories is updated
|
|
|
|
|
|
} else {
|
|
@@ -1343,6 +1314,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
*/
|
|
|
@Override
|
|
|
public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationResult result) {
|
|
|
+ super.onRemoteOperationFinish(operation, result);
|
|
|
+
|
|
|
if (operation instanceof RemoveFileOperation) {
|
|
|
onRemoveFileOperationFinish((RemoveFileOperation)operation, result);
|
|
|
|
|
@@ -1354,10 +1327,21 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
|
|
|
} else if (operation instanceof CreateFolderOperation) {
|
|
|
onCreateFolderOperationFinish((CreateFolderOperation)operation, result);
|
|
|
+
|
|
|
+ } else if (operation instanceof CreateShareOperation) {
|
|
|
+ onCreateShareOperationFinish((CreateShareOperation) operation, result);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) {
|
|
|
+ if (result.isSuccess()) {
|
|
|
+ refeshListOfFilesFragment();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* Updates the view associated to the activity after the finish of an operation trying to remove a
|
|
|
* file.
|
|
@@ -1376,7 +1360,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if (second != null && removedFile.equals(second.getFile())) {
|
|
|
cleanSecondFragment();
|
|
|
}
|
|
|
- if (mStorageManager.getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
|
|
|
+ if (getStorageManager().getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
|
|
|
refeshListOfFilesFragment();
|
|
|
}
|
|
|
|
|
@@ -1435,7 +1419,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
((FileDetailFragment) details).updateFileDetails(renamedFile, getAccount());
|
|
|
}
|
|
|
}
|
|
|
- if (mStorageManager.getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
|
|
|
+ if (getStorageManager().getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
|
|
|
refeshListOfFilesFragment();
|
|
|
}
|
|
|
|
|
@@ -1511,11 +1495,11 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
|
|
|
// Create directory
|
|
|
path += newDirectoryName + OCFile.PATH_SEPARATOR;
|
|
|
- RemoteOperation operation = new CreateFolderOperation(path, false, mStorageManager);
|
|
|
+ RemoteOperation operation = new CreateFolderOperation(path, false, getStorageManager());
|
|
|
operation.execute( getAccount(),
|
|
|
FileDisplayActivity.this,
|
|
|
FileDisplayActivity.this,
|
|
|
- mHandler,
|
|
|
+ getHandler(),
|
|
|
FileDisplayActivity.this);
|
|
|
|
|
|
showLoadingDialog();
|
|
@@ -1540,9 +1524,9 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
if (file != null) {
|
|
|
if (file.isFolder()) {
|
|
|
return file;
|
|
|
- } else if (mStorageManager != null) {
|
|
|
+ } else if (getStorageManager() != null) {
|
|
|
String parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName()));
|
|
|
- return mStorageManager.getFileByPath(parentPath);
|
|
|
+ return getStorageManager().getFileByPath(parentPath);
|
|
|
}
|
|
|
}
|
|
|
return null;
|
|
@@ -1557,6 +1541,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
RemoteOperation synchFolderOp = new SynchronizeFolderOperation( folder,
|
|
|
currentSyncTime,
|
|
|
false,
|
|
|
+ getFileOperationsHelper().isSharedSupported(this),
|
|
|
getStorageManager(),
|
|
|
getAccount(),
|
|
|
getApplicationContext()
|
|
@@ -1566,7 +1551,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
setSupportProgressBarIndeterminateVisibility(true);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /*
|
|
|
private void startGetShares() {
|
|
|
// Get shared files/folders
|
|
|
Intent intent = new Intent(this, OperationsService.class);
|
|
@@ -1575,5 +1560,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa
|
|
|
|
|
|
mRefreshSharesInProgress = true;
|
|
|
}
|
|
|
-
|
|
|
+ */
|
|
|
+
|
|
|
}
|