X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/bb455033763c2fb6bdbda5e1220fb1c820f176da..9060663f66a4c518bd428d4d68e035b64e24c26c:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index cb7ff054..1ab7c5ce 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -86,6 +86,7 @@ import com.owncloud.android.ui.fragment.FileDetailFragment; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.ui.fragment.OCFileListFragment; import com.owncloud.android.ui.preview.PreviewImageActivity; +import com.owncloud.android.ui.preview.PreviewImageFragment; import com.owncloud.android.ui.preview.PreviewMediaFragment; import com.owncloud.android.ui.preview.PreviewVideoActivity; @@ -216,12 +217,15 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa /// Check whether the 'main' OCFile handled by the Activity is contained in the current Account OCFile file = getFile(); + // get parent from path + String parentPath = ""; if (file != null) { if (file.isDown() && file.getLastSyncDateForProperties() == 0) { // upload in progress - right now, files are not inserted in the local cache until the upload is successful - if (mStorageManager.getFileById(file.getParentId()) == null) { - file = null; // not able to know the directory where the file is uploading - } + // get parent from path + parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName())); + if (mStorageManager.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 } @@ -254,11 +258,15 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private void setNavigationListWithFolder(OCFile file) { mDirectories.clear(); OCFile fileIt = file; + String parentPath; while(fileIt != null && fileIt.getFileName() != OCFile.ROOT_PATH) { if (fileIt.isFolder()) { mDirectories.add(fileIt.getFileName()); } - fileIt = mStorageManager.getFileById(fileIt.getParentId()); + //fileIt = mStorageManager.getFileById(fileIt.getParentId()); + // get parent from path + parentPath = fileIt.getRemotePath().substring(0, fileIt.getRemotePath().lastIndexOf(fileIt.getFileName())); + fileIt = mStorageManager.getFileByPath(parentPath); } mDirectories.add(OCFile.PATH_SEPARATOR); } @@ -880,7 +888,9 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa String accountName = intent.getStringExtra(FileSyncService.ACCOUNT_NAME); RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncService.SYNC_RESULT); - if (getAccount() != null && accountName.equals(getAccount().name)) { + if (getAccount() != null && accountName.equals(getAccount().name) + && mStorageManager != null + ) { String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); @@ -1437,7 +1447,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa if (file.isFolder()) { return file; } else if (mStorageManager != null) { - return mStorageManager.getFileById(file.getParentId()); + String parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName())); + return mStorageManager.getFileByPath(parentPath); } } return null;