package eu.alefzero.owncloud.datamodel;
+import java.io.File;
+import java.util.Collections;
import java.util.Vector;
import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta;
cv.put(ProviderTableMeta.FILE_NAME, file.getFileName());
if (file.getParentId() != 0)
cv.put(ProviderTableMeta.FILE_PARENT, file.getParentId());
- cv.put(ProviderTableMeta.FILE_PATH, file.getPath());
+ cv.put(ProviderTableMeta.FILE_PATH, file.getRemotePath());
cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath());
cv.put(ProviderTableMeta.FILE_ACCOUNT_OWNER, mAccount.name);
+ cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE, file.getLastSyncDate());
- if (fileExists(file.getPath())) {
- OCFile tmpfile = getFileByPath(file.getPath());
+ if (fileExists(file.getRemotePath())) {
+ OCFile tmpfile = getFileByPath(file.getRemotePath());
file.setStoragePath(tmpfile.getStoragePath());
cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath());
file.setFileId(tmpfile.getFileId());
}
c.close();
+
+ Collections.sort(ret);
+
return ret;
}
return null;
.getColumnIndex(ProviderTableMeta.FILE_CREATION)));
file.setModificationTimestamp(c.getLong(c
.getColumnIndex(ProviderTableMeta.FILE_MODIFIED)));
+ file.setLastSyncDate(c.getLong(c
+ .getColumnIndex(ProviderTableMeta.FILE_LAST_SYNC_DATE)));
}
return file;
}
+
+ public void removeFile(OCFile file) {
+ Uri file_uri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, ""+file.getFileId());
+ if (getContentProvider() != null) {
+ try {
+ getContentProvider().delete(file_uri,
+ ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
+ new String[]{mAccount.name});
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
+ } else {
+ getContentResolver().delete(file_uri,
+ ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
+ new String[]{mAccount.name});
+ }
+ if (file.getStoragePath() != null) {
+ new File(file.getStoragePath()).delete();
+ }
+ }
}