1 /* ownCloud Android client application
2 * Copyright (C) 2012-2013 ownCloud Inc.
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2,
6 * as published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 package com
.owncloud
.android
.oc_framework_test_project
;
22 import com
.owncloud
.android
.oc_framework
.network
.webdav
.OwnCloudClientFactory
;
23 import com
.owncloud
.android
.oc_framework
.network
.webdav
.WebdavClient
;
24 import com
.owncloud
.android
.oc_framework
.operations
.RemoteFile
;
25 import com
.owncloud
.android
.oc_framework
.operations
.RemoteOperationResult
;
26 import com
.owncloud
.android
.oc_framework
.operations
.remote
.CreateRemoteFolderOperation
;
27 import com
.owncloud
.android
.oc_framework
.operations
.remote
.DownloadRemoteFileOperation
;
28 import com
.owncloud
.android
.oc_framework
.operations
.remote
.ReadRemoteFolderOperation
;
29 import com
.owncloud
.android
.oc_framework
.operations
.remote
.RemoveRemoteFileOperation
;
30 import com
.owncloud
.android
.oc_framework
.operations
.remote
.RenameRemoteFileOperation
;
32 import android
.net
.Uri
;
33 import android
.os
.Bundle
;
34 import android
.os
.Environment
;
35 import android
.app
.Activity
;
36 import android
.view
.Menu
;
39 * Activity to test OC framework
41 * @author David A. Velasco
43 public class TestActivity
extends Activity
{
45 // This account must exists on the simulator / device
46 private static final String mServerUri
= "https://beta.owncloud.com/owncloud/remote.php/webdav";
47 private static final String mUser
= "testandroid";
48 private static final String mPass
= "testandroid";
50 //private Account mAccount = null;
51 private WebdavClient mClient
;
54 protected void onCreate(Bundle savedInstanceState
) {
55 super.onCreate(savedInstanceState
);
56 setContentView(R
.layout
.activity_test
);
57 Uri uri
= Uri
.parse(mServerUri
);
58 mClient
= OwnCloudClientFactory
.createOwnCloudClient(uri
,getApplicationContext(), true
);
59 mClient
.setBasicCredentials(mUser
, mPass
);
63 public boolean onCreateOptionsMenu(Menu menu
) {
64 // Inflate the menu; this adds items to the action bar if it is present.
65 getMenuInflater().inflate(R
.menu
.test
, menu
);
70 * Access to the library method to Create a Folder
71 * @param remotePath Full path to the new directory to create in the remote server.
72 * @param createFullPath 'True' means that all the ancestor folders should be created if don't exist yet.
76 public RemoteOperationResult
createFolder(String remotePath
, boolean createFullPath
) {
78 CreateRemoteFolderOperation createOperation
= new CreateRemoteFolderOperation(remotePath
, createFullPath
);
79 RemoteOperationResult result
= createOperation
.execute(mClient
);
85 * Access to the library method to Rename a File or Folder
86 * @param oldName Old name of the file.
87 * @param oldRemotePath Old remote path of the file. For folders it starts and ends by "/"
88 * @param newName New name to set as the name of file.
89 * @param isFolder 'true' for folder and 'false' for files
94 public RemoteOperationResult
renameFile(String oldName
, String oldRemotePath
, String newName
, boolean isFolder
) {
96 RenameRemoteFileOperation renameOperation
= new RenameRemoteFileOperation(oldName
, oldRemotePath
, newName
, isFolder
);
97 RemoteOperationResult result
= renameOperation
.execute(mClient
);
103 * Access to the library method to Remove a File or Folder
105 * @param remotePath Remote path of the file or folder in the server.
108 public RemoteOperationResult
removeFile(String remotePath
) {
110 RemoveRemoteFileOperation removeOperation
= new RemoveRemoteFileOperation(remotePath
);
111 RemoteOperationResult result
= removeOperation
.execute(mClient
);
117 * Access to the library method to Read a Folder (PROPFIND DEPTH 1)
122 public RemoteOperationResult
readFile(String remotePath
) {
124 ReadRemoteFolderOperation readOperation
= new ReadRemoteFolderOperation(remotePath
);
125 RemoteOperationResult result
= readOperation
.execute(mClient
);
131 * Access to the library method to Download a File
136 public RemoteOperationResult
downloadFile(RemoteFile remoteFile
, String temporalFolder
) {
138 String path
= "/owncloud/tmp/" + temporalFolder
;
139 File sdCard
= Environment
.getExternalStorageDirectory();
140 File folder
= new File(sdCard
.getAbsolutePath() + "/" + path
);
143 DownloadRemoteFileOperation downloadOperation
= new DownloadRemoteFileOperation(remoteFile
, folder
.getAbsolutePath());
144 RemoteOperationResult result
= downloadOperation
.execute(mClient
);