X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/532492bf9bb64d5ea4be2783c1399925ed9dd369..5fc7cd13e7e561ef528e12d2fa088b58e35e00d0:/src/com/owncloud/android/Uploader.java diff --git a/src/com/owncloud/android/Uploader.java b/src/com/owncloud/android/Uploader.java index d6e7a4ad..7b661496 100644 --- a/src/com/owncloud/android/Uploader.java +++ b/src/com/owncloud/android/Uploader.java @@ -30,6 +30,7 @@ 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; +import com.owncloud.android.network.OwnCloudClientUtils; import android.accounts.Account; import android.accounts.AccountManager; @@ -84,7 +85,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro private final static int DIALOG_WAITING = 1; private final static int DIALOG_NO_STREAM = 2; private final static int DIALOG_MULTIPLE_ACCOUNT = 3; - private final static int DIALOG_GET_DIRNAME = 4; + //private final static int DIALOG_GET_DIRNAME = 4; private final static int REQUEST_CODE_SETUP_ACCOUNT = 0; @@ -94,8 +95,9 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro getWindow().requestFeature(Window.FEATURE_NO_TITLE); mParents = new Stack(); mParents.add(""); - if (getIntent().hasExtra(Intent.EXTRA_STREAM)) { - prepareStreamsToUpload(); + /*if (getIntent().hasExtra(Intent.EXTRA_STREAM)) { + prepareStreamsToUpload();*/ + if (prepareStreamsToUpload()) { mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE); Account[] accounts = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); if (accounts.length == 0) { @@ -106,7 +108,6 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro showDialog(DIALOG_MULTIPLE_ACCOUNT); } else { mAccount = accounts[0]; - setContentView(R.layout.uploader_layout); mStorageManager = new FileDataStorageManager(mAccount, getContentResolver()); populateDirectoryList(); } @@ -131,6 +132,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro builder.setMessage(R.string.uploader_wrn_no_account_text); builder.setCancelable(false); builder.setPositiveButton(R.string.uploader_wrn_no_account_setup_btn_text, new OnClickListener() { + @Override public void onClick(DialogInterface dialog, int which) { if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.ECLAIR_MR1) { // using string value since in API7 this @@ -153,6 +155,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro } }); builder.setNegativeButton(R.string.uploader_wrn_no_account_quit_btn_text, new OnClickListener() { + @Override public void onClick(DialogInterface dialog, int which) { finish(); } @@ -187,6 +190,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro } builder.setTitle(R.string.common_choose_account); builder.setItems(ac, new OnClickListener() { + @Override public void onClick(DialogInterface dialog, int which) { mAccount = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE)[which]; mStorageManager = new FileDataStorageManager(mAccount, getContentResolver()); @@ -195,12 +199,25 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro }); builder.setCancelable(true); builder.setOnCancelListener(new OnCancelListener() { + @Override public void onCancel(DialogInterface dialog) { dialog.cancel(); finish(); } }); return builder.create(); + case DIALOG_NO_STREAM: + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setTitle(R.string.uploader_wrn_no_content_title); + builder.setMessage(R.string.uploader_wrn_no_content_text); + builder.setCancelable(false); + builder.setNegativeButton(R.string.common_cancel, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + return builder.create(); default: throw new IllegalArgumentException("Unknown dialog id: " + id); } @@ -215,6 +232,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro mDirname = dirname; } + @Override public void onClick(DialogInterface dialog, int which) { Uploader.this.mUploadPath = mPath + mDirname.getText().toString(); Uploader.this.mCreateDir = true; @@ -234,6 +252,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro } } + @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // click on folder in the list Log.d(TAG, "on item click"); @@ -251,6 +270,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro populateDirectoryList(); } + @Override public void onClick(View v) { // click on button switch (v.getId()) { @@ -263,9 +283,9 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro uploadFiles(); break; - case android.R.id.button1: // dynamic action for create aditional dir + /*case android.R.id.button1: // dynamic action for create aditional dir showDialog(DIALOG_GET_DIRNAME); - break; + break;*/ default: throw new IllegalArgumentException("Wrong element clicked"); } @@ -359,22 +379,19 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro }*/ } - private void prepareStreamsToUpload() { + private boolean prepareStreamsToUpload() { if (getIntent().getAction().equals(Intent.ACTION_SEND)) { mStreamsToUpload = new ArrayList(); mStreamsToUpload.add(getIntent().getParcelableExtra(Intent.EXTRA_STREAM)); } else if (getIntent().getAction().equals(Intent.ACTION_SEND_MULTIPLE)) { mStreamsToUpload = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM); - } else { - // unknow action inserted - throw new IllegalArgumentException("Unknown action given: " + getIntent().getAction()); } + return (mStreamsToUpload != null && mStreamsToUpload.get(0) != null); } public void uploadFiles() { try { - WebdavClient wdc = new WebdavClient(mAccount, getApplicationContext()); - wdc.allowSelfsignedCertificates(); + WebdavClient wdc = OwnCloudClientUtils.createOwnCloudClient(mAccount, getApplicationContext()); // create last directory in path if necessary if (mCreateDir) {