From 5f0dfa61abe83bafaa32393b0d9d0edcd19dffb1 Mon Sep 17 00:00:00 2001 From: masensio Date: Thu, 11 Jul 2013 18:57:35 +0200 Subject: [PATCH] OC-673: Show folder size at a first sync --- .../android/datamodel/FileDataStorageManager.java | 17 ++++++++++++++--- .../owncloud/android/syncadapter/FileSyncAdapter.java | 4 +++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index d84eb2a0..6a2d538b 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -235,6 +235,12 @@ public class FileDataStorageManager implements DataStorageManager { if (fileExists(file.getRemotePath())) { OCFile oldFile = getFileByPath(file.getRemotePath()); file.setFileId(oldFile.getFileId()); + + if (file.isDirectory()) { + cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, oldFile.getFileLength()); + file.setFileLength(oldFile.getFileLength()); + } + operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI). withValues(cv). withSelection( ProviderTableMeta._ID + "=?", @@ -245,9 +251,14 @@ public class FileDataStorageManager implements DataStorageManager { OCFile oldFile = getFileById(file.getFileId()); if (file.getStoragePath() == null && oldFile.getStoragePath() != null) file.setStoragePath(oldFile.getStoragePath()); - if (!file.isDirectory()); - cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath()); - + + if (!file.isDirectory()) + cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath()); + else { + cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, oldFile.getFileLength()); + file.setFileLength(oldFile.getFileLength()); + } + operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI). withValues(cv). withSelection( ProviderTableMeta._ID + "=?", diff --git a/src/com/owncloud/android/syncadapter/FileSyncAdapter.java b/src/com/owncloud/android/syncadapter/FileSyncAdapter.java index 44fe4014..8653fe78 100644 --- a/src/com/owncloud/android/syncadapter/FileSyncAdapter.java +++ b/src/com/owncloud/android/syncadapter/FileSyncAdapter.java @@ -220,6 +220,8 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter { List children = synchFolderOp.getChildren(); fetchChildren(children); // beware of the 'hidden' recursion here! + sendStickyBroadcast(true, remotePath, null); + } else { if (result.getCode() == RemoteOperationResult.ResultCode.UNAUTHORIZED) { mSyncResult.stats.numAuthExceptions++; @@ -267,7 +269,7 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter { fetchData(newFile.getRemotePath(), newFile.getFileId()); // Update folder size on DB - getStorageManager().calculateFolderSize(newFile.getFileId()); + getStorageManager().calculateFolderSize(newFile.getFileId()); } } -- 2.11.0