From: David A. Velasco Date: Tue, 4 Feb 2014 13:43:36 +0000 (+0100) Subject: Merge branch 'develop' into share_link__new_share X-Git-Tag: oc-android-1.5.5~58^2~13 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/3eb043caf03305a7a4f4d8dc51d87a1e56b1c42a?hp=--cc Merge branch 'develop' into share_link__new_share --- 3eb043caf03305a7a4f4d8dc51d87a1e56b1c42a diff --cc src/com/owncloud/android/datamodel/FileDataStorageManager.java index 12390c3d,76e3e5c8..279229af --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@@ -1098,37 -1099,4 +1100,30 @@@ public class FileDataStorageManager } } + + + public void saveSharesDB(ArrayList shares) { - - if (shares.size() > 0) { - // Save share file - saveShares(shares); - - ArrayList sharedFiles = new ArrayList(); - - for (OCShare share : shares) { - // Get the path - String path = share.getPath(); - if (share.isDirectory()) { - path = path + FileUtils.PATH_SEPARATOR; - } - - // Update OCFile with data from share: ShareByLink ¿and publicLink? - OCFile file = getFileByPath(path); - if (file != null) { - if (share.getShareType().equals(ShareType.PUBLIC_LINK)) { - file.setShareByLink(true); - sharedFiles.add(file); - } - } - } - - if (sharedFiles.size() > 0) { - updateSharedFiles(sharedFiles); - } ++ saveShares(shares); ++ ++ ArrayList sharedFiles = new ArrayList(); ++ ++ for (OCShare share : shares) { ++ // Get the path ++ String path = share.getPath(); ++ if (share.isDirectory()) { ++ path = path + FileUtils.PATH_SEPARATOR; ++ } ++ ++ // Update OCFile with data from share: ShareByLink ¿and publicLink? ++ OCFile file = getFileByPath(path); ++ if (file != null) { ++ if (share.getShareType().equals(ShareType.PUBLIC_LINK)) { ++ file.setShareByLink(true); ++ sharedFiles.add(file); ++ } ++ } + } ++ ++ updateSharedFiles(sharedFiles); + } } diff --cc src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 692b5b03,3c856734..f04760c9 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@@ -912,55 -934,59 +918,60 @@@ OCFileListFragment.ContainerActivity, F */ @Override public void onReceive(Context context, Intent intent) { - boolean inProgress = intent.getBooleanExtra(FileSyncService.IN_PROGRESS, false); - String accountName = intent.getStringExtra(FileSyncService.ACCOUNT_NAME); - RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncService.SYNC_RESULT); + String event = intent.getAction(); + 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 (getAccount() != null && accountName.equals(getAccount().name) - && getStorageManager() != null) { + if (sameAccount) { - String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); - - 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 - Toast.makeText( FileDisplayActivity.this, - String.format(getString(R.string.sync_current_folder_was_removed), mDirectories.getItem(0)), - Toast.LENGTH_LONG) - .show(); - browseToRoot(); + if (!FileSyncAdapter.EVENT_FULL_SYNC_START.equals(event)) { - - OCFile currentFile = (getFile() == null) ? null : mStorageManager.getFileByPath(getFile().getRemotePath()); - OCFile currentDir = (getCurrentDir() == null) ? null : mStorageManager.getFileByPath(getCurrentDir().getRemotePath()); ++ 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 + Toast.makeText( FileDisplayActivity.this, + String.format(getString(R.string.sync_current_folder_was_removed), mDirectories.getItem(0)), + Toast.LENGTH_LONG) + .show(); + browseToRoot(); + + } else { + if (currentFile == null && !getFile().isFolder()) { + // currently selected file was removed in the server, and now we know it + cleanSecondFragment(); + currentFile = currentDir; + } - } else { - if (currentFile == null && !getFile().isFolder()) { - // currently selected file was removed in the server, and now we know it - cleanSecondFragment(); - currentFile = currentDir; - } - - if (synchFolderRemotePath != null && currentDir.getRemotePath().equals(synchFolderRemotePath)) { - OCFileListFragment fileListFragment = getListOfFilesFragment(); - if (fileListFragment != null) { - fileListFragment.listDirectory(currentDir); + if (synchFolderRemotePath != null && currentDir.getRemotePath().equals(synchFolderRemotePath)) { + OCFileListFragment fileListFragment = getListOfFilesFragment(); + if (fileListFragment != null) { + fileListFragment.listDirectory(currentDir); + } } + setFile(currentFile); } - setFile(currentFile); - } - - if (!mRefreshSharesInProgress) { - /// get the shared files - if (getFileOperationsHelper().isSharedSupported(FileDisplayActivity.this)) { + + mSyncInProgress = (!FileSyncAdapter.EVENT_FULL_SYNC_END.equals(event) && + !SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) && + (synchResult == null || synchResult.isSuccess())) ; + + if (synchResult != null && + synchResult.isSuccess() && + (SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) || + FileSyncAdapter.EVENT_FOLDER_CONTENTS_SYNCED.equals(event) - ) ++ ) && ++ !mRefreshSharesInProgress && ++ getFileOperationsHelper().isSharedSupported(FileDisplayActivity.this) + ) { startGetShares(); } - setSupportProgressBarIndeterminateVisibility(inProgress); - } else { - setSupportProgressBarIndeterminateVisibility(true); + } - - removeStickyBroadcast(intent); - mSyncInProgress = inProgress; - + //removeStickyBroadcast(intent); + setSupportProgressBarIndeterminateVisibility(mSyncInProgress || mRefreshSharesInProgress); } if (synchResult != null) { @@@ -1557,8 -1574,6 +1568,6 @@@ startService(intent); mRefreshSharesInProgress = true; - setSupportProgressBarIndeterminateVisibility(true); - } - + }