break;\r
}\r
}\r
+ } else if (ocAccounts.length != 0) {\r
+ // we at least need to take first account as fallback\r
+ defaultAccount = ocAccounts[0];\r
}\r
\r
return defaultAccount;\r
cv.put(ProviderTableMeta.FILE_PATH, file.getPath());
cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath());
cv.put(ProviderTableMeta.FILE_ACCOUNT_OWNER, mAccount.name);
-
+
if (fileExists(file.getPath())) {
overriden = true;
if (getContentResolver() != null) {
}
}
} else {
+ Uri result_uri = null;
if (getContentResolver() != null) {
- getContentResolver().insert(ProviderTableMeta.CONTENT_URI_FILE, cv);
+ result_uri = getContentResolver().insert(ProviderTableMeta.CONTENT_URI_FILE, cv);
} else {
try {
- getContentProvider().insert(ProviderTableMeta.CONTENT_URI_FILE, cv);
+ result_uri = getContentProvider().insert(ProviderTableMeta.CONTENT_URI_FILE, cv);
} catch (RemoteException e) {
Log.e(TAG, "Fail to insert insert file to database " + e.getMessage());
}
}
+ if (result_uri != null) {
+ long new_id = Long.parseLong(result_uri.getPathSegments().get(1));
+ file.setFileId(new_id);
+ }
}
if (file.isDirectory() && file.needsUpdatingWhileSaving())
Uri req_uri = Uri.withAppendedPath(
ProviderTableMeta.CONTENT_URI_DIR, String.valueOf(f.getFileId()));
Cursor c = null;
+
if (getContentProvider() != null) {
try {
c = getContentProvider().query(req_uri, null, null, null, null);
c = getContentResolver().query(req_uri, null, null, null, null);
}
- if (c.moveToFirst())
+ if (c.moveToFirst()) {
do {
OCFile child = createFileInstance(c);
ret.add(child);
} while (c.moveToNext());
-
+ }
+
c.close();
return ret;
}
* @param path The remote path of the file
*/
public OCFile(String path) {
+ resetData();
update_while_saving_ = false;
path_ = path;
- resetData();
}
/**
Log.d(TAG, "No update for file/dir " + file.getFileName()\r
+ " is needed");\r
} else {\r
+ file = new OCFile(n.getProperty(NodeProperty.PATH));\r
Log.d(TAG, "File " + n.getProperty(NodeProperty.PATH)\r
+ " will be "\r
+ (file.fileExists() ? "updated" : "created"));\r
long create = n.getProperty(NodeProperty.CREATE_DATE) == null ? 0\r
: Long.parseLong(n\r
.getProperty(NodeProperty.CREATE_DATE));\r
- file = new OCFile(n.getProperty(NodeProperty.PATH));\r
+\r
file.setFileLength(len);\r
file.setCreationTimestamp(create);\r
file.setModificationTimestamp(mod);\r
import android.accounts.Account;\r
import android.content.Intent;\r
import android.os.Bundle;\r
+import android.util.Log;\r
import android.view.View;\r
import android.widget.AdapterView;\r
import eu.alefzero.owncloud.R;\r
\r
mAccount = AuthUtils.getCurrentOwnCloudAccount(getActivity());\r
populateFileList();\r
- // TODO: Remove this testing stuff\r
- //addContact(mAccount, "Bartek Przybylski", "czlowiek");\r
}\r
\r
@Override\r
i.putExtra("FILE_NAME", file.getFileName());\r
i.putExtra("FULL_PATH", file.getPath());\r
i.putExtra("FILE_ID", id_);\r
+ Log.e("ASD", mAccount+"");\r
i.putExtra("ACCOUNT", mAccount);\r
FileDetailFragment fd = (FileDetailFragment) getFragmentManager().findFragmentById(R.id.fileDetail);\r
if (fd != null) {\r
private void populateFileList() {\r
String s = "/";\r
for (String a : mDirNames)\r
- s+= a+"/";\r
+ s+= a + "/";\r
\r
mStorageManager = new FileDataStorageManager(mAccount, getActivity().getContentResolver());\r
- OCFile file = new OCFile(s);\r
+ OCFile file = mStorageManager.getFileByPath(s);\r
mFiles = mStorageManager.getDirectoryContent(file);\r
setListAdapter(new FileListListAdapter(file, mStorageManager, getActivity()));\r
}\r