--- /dev/null
+package com.owncloud.android.oc_framework.sampleclient;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import com.owncloud.android.oc_framework.operations.RemoteFile;
+
+public class FilesArrayAdapter extends ArrayAdapter<RemoteFile> {
+
+ public FilesArrayAdapter(Context context, int resource) {
+ super(context, resource);
+ }
+
+ public View getView(int position, View convertView, ViewGroup parent) {
+ TextView textView = (TextView)super.getView(position, convertView, parent);
+ textView.setText(getItem(position).getRemotePath());
+ return textView;
+ }
+}
+
package com.owncloud.android.oc_framework.sampleclient;
+import java.util.List;
+
import com.owncloud.android.oc_framework.accounts.AccountUtils;
import com.owncloud.android.oc_framework.network.webdav.OwnCloudClientFactory;
import com.owncloud.android.oc_framework.network.webdav.WebdavClient;
import com.owncloud.android.oc_framework.operations.OnRemoteOperationListener;
+import com.owncloud.android.oc_framework.operations.RemoteFile;
import com.owncloud.android.oc_framework.operations.RemoteOperation;
import com.owncloud.android.oc_framework.operations.RemoteOperationResult;
import com.owncloud.android.oc_framework.operations.remote.ReadRemoteFolderOperation;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
+import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnRemoteOperationListener {
private Handler mHandler;
+ private WebdavClient mClient;
+
+ private FilesArrayAdapter mFilesAdapter;
+
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
+
mHandler = new Handler();
+
+ Uri serverUri = Uri.parse(getString(R.string.server_base_url) + AccountUtils.WEBDAV_PATH_4_0);
+ mClient = OwnCloudClientFactory.createOwnCloudClient(serverUri, this, true);
+ mClient.setBasicCredentials(getString(R.string.username), getString(R.string.password));
+
+ mFilesAdapter = new FilesArrayAdapter(this, R.layout.file_in_list);
+ ((ListView)findViewById(R.id.list_view)).setAdapter(mFilesAdapter);
}
public void onClickHandler(View button) {
private void startRefresh() {
RemoteOperation refreshOperation = new ReadRemoteFolderOperation(FileUtils.PATH_SEPARATOR);
- Uri serverUri = Uri.parse(getString(R.string.server_base_url) + AccountUtils.WEBDAV_PATH_4_0);
- WebdavClient client = OwnCloudClientFactory.createOwnCloudClient(serverUri, this, true);
- client.setBasicCredentials(getString(R.string.username), getString(R.string.password));
- refreshOperation.execute(client, this, mHandler);
+ refreshOperation.execute(mClient, this, mHandler);
}
private void startUpload() {
@Override
public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationResult result) {
- if (result.isSuccess()) {
- Toast.makeText(this, R.string.todo_operation_finished_in_success, Toast.LENGTH_SHORT).show();
- } else {
+ if (!result.isSuccess()) {
Toast.makeText(this, R.string.todo_operation_finished_in_fail, Toast.LENGTH_SHORT).show();
+
+ } else if (operation instanceof ReadRemoteFolderOperation) {
+ onSuccessfulRefresh((ReadRemoteFolderOperation)operation, result);
+
+ } else {
+ Toast.makeText(this, R.string.todo_operation_finished_in_success, Toast.LENGTH_SHORT).show();
}
}
-
+
+ private void onSuccessfulRefresh(ReadRemoteFolderOperation operation, RemoteOperationResult result) {
+ mFilesAdapter.clear();
+ List<RemoteFile> files = result.getData();
+ if (files != null && files.size() > 0) {
+ mFilesAdapter.addAll(files);
+ mFilesAdapter.remove(mFilesAdapter.getItem(0));
+ }
+ mFilesAdapter.notifyDataSetChanged();
+ }
+
}