private ContentResolver mContentResolver;
private ContentProviderClient mContentProvider;
private Account mAccount;
-
+
private static String TAG = "FileDataStorageManager";
-
+
public FileDataStorageManager(Account account, ContentResolver cr) {
mContentProvider = null;
mContentResolver = cr;
file = createFileInstance(c);
}
c.close();
+ if (file == null && OCFile.PATH_SEPARATOR.equals(path)) {
+ return createRootDir(); // root should always exist
+ }
return file;
}
+
+ private OCFile createRootDir() {
+ OCFile file = new OCFile(OCFile.PATH_SEPARATOR);
+ file.setMimetype("DIR");
+ file.setParentId(DataStorageManager.ROOT_PARENT_ID);
+ saveFile(file);
+ return file;
+ }
+
@Override
public OCFile getFileById(long id) {
Cursor c = getCursorForValue(ProviderTableMeta._ID, String.valueOf(id));
boolean overriden = false;
ContentValues cv = new ContentValues();
cv.put(ProviderTableMeta.FILE_MODIFIED, file.getModificationTimestamp());
+ cv.put(ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA, file.getModificationTimestampAtLastSyncForData());
cv.put(ProviderTableMeta.FILE_CREATION, file.getCreationTimestamp());
cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, file.getFileLength());
cv.put(ProviderTableMeta.FILE_CONTENT_TYPE, file.getMimetype());
file = filesIt.next();
ContentValues cv = new ContentValues();
cv.put(ProviderTableMeta.FILE_MODIFIED, file.getModificationTimestamp());
+ cv.put(ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA, file.getModificationTimestampAtLastSyncForData());
cv.put(ProviderTableMeta.FILE_CREATION, file.getCreationTimestamp());
cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, file.getFileLength());
cv.put(ProviderTableMeta.FILE_CONTENT_TYPE, file.getMimetype());
.getColumnIndex(ProviderTableMeta.FILE_CREATION)));
file.setModificationTimestamp(c.getLong(c
.getColumnIndex(ProviderTableMeta.FILE_MODIFIED)));
+ file.setModificationTimestampAtLastSyncForData(c.getLong(c
+ .getColumnIndex(ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA)));
file.setLastSyncDateForProperties(c.getLong(c
.getColumnIndex(ProviderTableMeta.FILE_LAST_SYNC_DATE)));
file.setLastSyncDateForData(c.getLong(c.
}
}
}
- if (removeDBData) {
- removeFile(dir, true);
- }
+ }
+ if (removeDBData) {
+ removeFile(dir, true);
}
}
}