import android.widget.Toast;
import com.owncloud.android.authentication.AccountAuthenticator;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.services.FileUploader;
private ArrayList<Parcelable> mStreamsToUpload;
private boolean mCreateDir;
private String mUploadPath;
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
private OCFile mFile;
private final static int DIALOG_NO_ACCOUNT = 0;
+++ /dev/null
-/* ownCloud Android client application
- * Copyright (C) 2012 Bartek Przybylski
- * Copyright (C) 2012-2013 ownCloud Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package com.owncloud.android.datamodel;
-
-import java.util.List;
-import java.util.Vector;
-
-public interface DataStorageManager {
-
- public static final int ROOT_PARENT_ID = 0;
-
- public OCFile getFileByPath(String path);
-
- public OCFile getFileById(long id);
-
- public boolean fileExists(String path);
-
- public boolean fileExists(long id);
-
- public boolean saveFile(OCFile file);
-
- public void saveFiles(List<OCFile> files);
-
- public Vector<OCFile> getDirectoryContent(OCFile f);
-
- public void removeFile(OCFile file, boolean removeLocalCopy);
-
- public void removeDirectory(OCFile dir, boolean removeDBData, boolean removeLocalContent);
-
- public void moveDirectory(OCFile dir, String newPath);
-
- public Vector<OCFile> getDirectoryImages(OCFile mParentFolder);
-
- public void calculateFolderSize(long id);
-
-}
import android.net.Uri;
import android.os.RemoteException;
-public class FileDataStorageManager implements DataStorageManager {
+public class FileDataStorageManager {
+
+ public static final int ROOT_PARENT_ID = 0;
private ContentResolver mContentResolver;
private ContentProviderClient mContentProvider;
mAccount = account;
}
- @Override
+
public OCFile getFileByPath(String path) {
Cursor c = getCursorForValue(ProviderTableMeta.FILE_PATH, path);
OCFile file = null;
private OCFile createRootDir() {
OCFile file = new OCFile(OCFile.PATH_SEPARATOR);
file.setMimetype("DIR");
- file.setParentId(DataStorageManager.ROOT_PARENT_ID);
+ file.setParentId(FileDataStorageManager.ROOT_PARENT_ID);
saveFile(file);
return file;
}
- @Override
public OCFile getFileById(long id) {
Cursor c = getCursorForValue(ProviderTableMeta._ID, String.valueOf(id));
OCFile file = null;
return file;
}
- @Override
public boolean fileExists(long id) {
return fileExists(ProviderTableMeta._ID, String.valueOf(id));
}
- @Override
public boolean fileExists(String path) {
return fileExists(ProviderTableMeta.FILE_PATH, path);
}
- @Override
public boolean saveFile(OCFile file) {
boolean overriden = false;
ContentValues cv = new ContentValues();
}
- @Override
public void saveFiles(List<OCFile> files) {
Iterator<OCFile> filesIt = files.iterator();
cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, file.getFileLength());
cv.put(ProviderTableMeta.FILE_CONTENT_TYPE, file.getMimetype());
cv.put(ProviderTableMeta.FILE_NAME, file.getFileName());
- if (file.getParentId() != DataStorageManager.ROOT_PARENT_ID)
+ if (file.getParentId() != FileDataStorageManager.ROOT_PARENT_ID)
cv.put(ProviderTableMeta.FILE_PARENT, file.getParentId());
cv.put(ProviderTableMeta.FILE_PATH, file.getRemotePath());
if (!file.isDirectory())
return mContentProvider;
}
- @Override
public Vector<OCFile> getDirectoryContent(OCFile f) {
if (f != null && f.isDirectory() && f.getFileId() != -1) {
return getDirectoryContent(f.getFileId());
return file;
}
- @Override
public void removeFile(OCFile file, boolean removeLocalCopy) {
Uri file_uri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, ""+file.getFileId());
if (getContentProvider() != null) {
}
}
- @Override
public void removeDirectory(OCFile dir, boolean removeDBData, boolean removeLocalContent) {
// TODO consider possible failures
if (dir != null && dir.isDirectory() && dir.getFileId() != -1) {
* TODO explore better (faster) implementations
* TODO throw exceptions up !
*/
- @Override
public void moveDirectory(OCFile dir, String newPath) {
// TODO check newPath
}
}
- @Override
public Vector<OCFile> getDirectoryImages(OCFile directory) {
Vector<OCFile> ret = new Vector<OCFile>();
if (directory != null) {
* Calculate and save the folderSize on DB
* @param id
*/
- @Override
public void calculateFolderSize(long id) {
long folderSize = 0;
OCFile file;
- while (parentId != DataStorageManager.ROOT_PARENT_ID) {
+ while (parentId != FileDataStorageManager.ROOT_PARENT_ID) {
// Update the size of the parent
calculateFolderSize(parentId);
import org.apache.jackrabbit.webdav.client.methods.MkColMethod;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import eu.alefzero.webdav.WebdavClient;
protected String mRemotePath;
protected boolean mCreateFullPath;
- protected DataStorageManager mStorageManager;
+ protected FileDataStorageManager mStorageManager;
/**
* Constructor
* @param createFullPath 'True' means that all the ancestor folders should be created if don't exist yet.
* @param storageManager Reference to the local database corresponding to the account where the file is contained.
*/
- public CreateFolderOperation(String remotePath, boolean createFullPath, DataStorageManager storageManager) {
+ public CreateFolderOperation(String remotePath, boolean createFullPath, FileDataStorageManager storageManager) {
mRemotePath = remotePath;
mCreateFullPath = createFullPath;
mStorageManager = storageManager;
import org.apache.jackrabbit.webdav.client.methods.DeleteMethod;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import eu.alefzero.webdav.WebdavClient;
OCFile mFileToRemove;
boolean mDeleteLocalCopy;
- DataStorageManager mDataStorageManager;
+ FileDataStorageManager mDataStorageManager;
/**
* @param deleteLocalCopy When 'true', and a local copy of the file exists, it is also removed.
* @param storageManager Reference to the local database corresponding to the account where the file is contained.
*/
- public RemoveFileOperation(OCFile fileToRemove, boolean deleteLocalCopy, DataStorageManager storageManager) {
+ public RemoveFileOperation(OCFile fileToRemove, boolean deleteLocalCopy, FileDataStorageManager storageManager) {
mFileToRemove = fileToRemove;
mDeleteLocalCopy = deleteLocalCopy;
mDataStorageManager = storageManager;
import android.accounts.Account;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.utils.FileStorageUtils;
private Account mAccount;
private String mNewName;
private String mNewRemotePath;
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
/**
* @param newName New name to set as the name of file.
* @param storageManager Reference to the local database corresponding to the account where the file is contained.
*/
- public RenameFileOperation(OCFile file, Account account, String newName, DataStorageManager storageManager) {
+ public RenameFileOperation(OCFile file, Account account, String newName, FileDataStorageManager storageManager) {
mFile = file;
mAccount = account;
mNewName = newName;
import android.content.Intent;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.services.FileDownloader;
import com.owncloud.android.files.services.FileUploader;
private OCFile mLocalFile;
private OCFile mServerFile;
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
private Account mAccount;
private boolean mSyncFileContents;
private boolean mLocalChangeAlreadyKnown;
public SynchronizeFileOperation(
OCFile localFile,
OCFile serverFile, // make this null to let the operation checks the server; added to reuse info from SynchronizeFolderOperation
- DataStorageManager storageManager,
+ FileDataStorageManager storageManager,
Account account,
boolean syncFileContents,
boolean localChangeAlreadyKnown,
import android.content.Intent;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.syncadapter.FileSyncService;
private boolean mUpdateFolderProperties;
/** Access to the local database */
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
/** Account where the file to synchronize belongs */
private Account mAccount;
long currentSyncTime,
boolean updateFolderProperties,
boolean syncFullAccount,
- DataStorageManager dataStorageManager,
+ FileDataStorageManager dataStorageManager,
Account account,
Context context ) {
mLocalFolder = folder;
\r
import com.owncloud.android.authentication.AccountUtils;\r
import com.owncloud.android.authentication.AccountUtils.AccountNotFoundException;\r
-import com.owncloud.android.datamodel.DataStorageManager;\r
+import com.owncloud.android.datamodel.FileDataStorageManager;\r
import com.owncloud.android.network.OwnCloudClientUtils;\r
\r
import android.accounts.Account;\r
private Account account;\r
private ContentProviderClient contentProvider;\r
//private Date lastUpdated;\r
- private DataStorageManager mStoreManager;\r
+ private FileDataStorageManager mStoreManager;\r
\r
private WebdavClient mClient = null;\r
\r
this.contentProvider = contentProvider;\r
}\r
\r
- public void setStorageManager(DataStorageManager storage_manager) {\r
+ public void setStorageManager(FileDataStorageManager storage_manager) {\r
mStoreManager = storage_manager;\r
}\r
\r
- public DataStorageManager getStorageManager() {\r
+ public FileDataStorageManager getStorageManager() {\r
return mStoreManager;\r
}\r
\r
package com.owncloud.android.ui.activity;
import com.owncloud.android.Log_OC;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.services.FileUploader;
finish();
} else {
/// Check whether the 'main' OCFile handled by the Activity is contained in the current Account
- DataStorageManager storageManager = new FileDataStorageManager(getAccount(), getContentResolver());
+ FileDataStorageManager storageManager = new FileDataStorageManager(getAccount(), getContentResolver());
file = storageManager.getFileByPath(file.getRemotePath()); // file = null if not in the current Account
if (file != null) {
setFile(file);
import com.owncloud.android.Log_OC;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountAuthenticator;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.services.FileDownloader;
private ArrayAdapter<String> mDirectories;
/** Access point to the cached database for the current ownCloud {@link Account} */
- private DataStorageManager mStorageManager = null;
+ private FileDataStorageManager mStorageManager = null;
private SyncBroadcastReceiver mSyncBroadcastReceiver;
private UploadFinishReceiver mUploadFinishReceiver;
* {@inheritDoc}
*/
@Override
- public DataStorageManager getStorageManager() {
+ public FileDataStorageManager getStorageManager() {
return mStorageManager;
}
import com.owncloud.android.DisplayUtils;\r
import com.owncloud.android.R;\r
import com.owncloud.android.authentication.AccountUtils;\r
-import com.owncloud.android.datamodel.DataStorageManager;\r
+import com.owncloud.android.datamodel.FileDataStorageManager;\r
import com.owncloud.android.datamodel.OCFile;\r
import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;\r
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;\r
private Context mContext;\r
private OCFile mFile = null;\r
private Vector<OCFile> mFiles = null;\r
- private DataStorageManager mStorageManager;\r
+ private FileDataStorageManager mStorageManager;\r
private Account mAccount;\r
private TransferServiceGetter mTransferServiceGetter;\r
//total size of a directory (recursive)\r
* @param directory New file to adapt. Can be NULL, meaning "no content to adapt".\r
* @param updatedStorageManager Optional updated storage manager; used to replace mStorageManager if is different (and not NULL)\r
*/\r
- public void swapDirectory(OCFile directory, DataStorageManager updatedStorageManager) {\r
+ public void swapDirectory(OCFile directory, FileDataStorageManager updatedStorageManager) {\r
mFile = directory;\r
if (updatedStorageManager != null && updatedStorageManager != mStorageManager) {\r
mStorageManager = updatedStorageManager;\r
import com.owncloud.android.Log_OC;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountUtils;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.FileHandler;
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
import com.owncloud.android.operations.OnRemoteOperationListener;
import com.owncloud.android.operations.RemoteOperation;
-import com.owncloud.android.operations.RemoteOperationResult;
import com.owncloud.android.operations.RemoveFileOperation;
import com.owncloud.android.operations.RenameFileOperation;
import com.owncloud.android.operations.SynchronizeFileOperation;
-import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.activity.TransferServiceGetter;
import com.owncloud.android.ui.adapter.FileListListAdapter;
int moveCount = 0;
if(mFile != null){
- DataStorageManager storageManager = mContainerActivity.getStorageManager();
+ FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
String parentPath = null;
if (mFile.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) {
* @param directory File to be listed
*/
public void listDirectory(OCFile directory) {
- DataStorageManager storageManager = mContainerActivity.getStorageManager();
+ FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
if (storageManager != null) {
// Check input parameters for null
/**
* Getter for the current DataStorageManager in the container activity
*/
- public DataStorageManager getStorageManager();
+ public FileDataStorageManager getStorageManager();
/**
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
import com.owncloud.android.authentication.AccountUtils;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.services.FileDownloader;
private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
private ViewPager mViewPager;
private PreviewImagePagerAdapter mPreviewImagePagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.ViewGroup;
-import com.owncloud.android.datamodel.DataStorageManager;
+import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.ui.fragment.FileFragment;
private Set<Object> mObsoleteFragments;
private Set<Integer> mObsoletePositions;
private Set<Integer> mDownloadErrors;
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
private Map<Integer, FileFragment> mCachedFragments;
* @param parentFolder Folder where images will be searched for.
* @param storageManager Bridge to database.
*/
- public PreviewImagePagerAdapter(FragmentManager fragmentManager, OCFile parentFolder, Account account, DataStorageManager storageManager) {
+ public PreviewImagePagerAdapter(FragmentManager fragmentManager, OCFile parentFolder, Account account, FileDataStorageManager storageManager) {
super(fragmentManager);
if (fragmentManager == null) {
import com.owncloud.android.Log_OC;
import com.owncloud.android.R;
-import com.owncloud.android.datamodel.DataStorageManager;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.authentication.AccountUtils;
import com.owncloud.android.authentication.AccountUtils.AccountNotFoundException;
private static final String TAG = PreviewVideoActivity.class.getSimpleName();
- private DataStorageManager mStorageManager;
+ private FileDataStorageManager mStorageManager;
private int mSavedPlaybackPosition; // in the unit time handled by MediaPlayer.getCurrentPosition()
private boolean mAutoplay; // when 'true', the playback starts immediately with the activity