Adding cancellation to uploads (WIP)
[pub/Android/ownCloud.git] / src / com / owncloud / android / Uploader.java
index 0505ac9..7b66149 100644 (file)
@@ -95,8 +95,9 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
         getWindow().requestFeature(Window.FEATURE_NO_TITLE);\r
         mParents = new Stack<String>();\r
         mParents.add("");\r
-        if (getIntent().hasExtra(Intent.EXTRA_STREAM)) {\r
-            prepareStreamsToUpload();\r
+        /*if (getIntent().hasExtra(Intent.EXTRA_STREAM)) {\r
+            prepareStreamsToUpload();*/\r
+        if (prepareStreamsToUpload()) {\r
             mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);\r
             Account[] accounts = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);\r
             if (accounts.length == 0) {\r
@@ -131,6 +132,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             builder.setMessage(R.string.uploader_wrn_no_account_text);\r
             builder.setCancelable(false);\r
             builder.setPositiveButton(R.string.uploader_wrn_no_account_setup_btn_text, new OnClickListener() {\r
+                @Override\r
                 public void onClick(DialogInterface dialog, int which) {\r
                     if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.ECLAIR_MR1) {\r
                         // using string value since in API7 this\r
@@ -153,6 +155,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
                 }\r
             });\r
             builder.setNegativeButton(R.string.uploader_wrn_no_account_quit_btn_text, new OnClickListener() {\r
+                @Override\r
                 public void onClick(DialogInterface dialog, int which) {\r
                     finish();\r
                 }\r
@@ -187,6 +190,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             }\r
             builder.setTitle(R.string.common_choose_account);\r
             builder.setItems(ac, new OnClickListener() {\r
+                @Override\r
                 public void onClick(DialogInterface dialog, int which) {\r
                     mAccount = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE)[which];\r
                     mStorageManager = new FileDataStorageManager(mAccount, getContentResolver());\r
@@ -195,6 +199,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             });\r
             builder.setCancelable(true);\r
             builder.setOnCancelListener(new OnCancelListener() {\r
+                @Override\r
                 public void onCancel(DialogInterface dialog) {\r
                     dialog.cancel();\r
                     finish();\r
@@ -207,6 +212,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             builder.setMessage(R.string.uploader_wrn_no_content_text);\r
             builder.setCancelable(false);\r
             builder.setNegativeButton(R.string.common_cancel, new OnClickListener() {\r
+                @Override\r
                 public void onClick(DialogInterface dialog, int which) {\r
                     finish();\r
                 }\r
@@ -226,6 +232,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             mDirname = dirname;\r
         }\r
 \r
+        @Override\r
         public void onClick(DialogInterface dialog, int which) {\r
             Uploader.this.mUploadPath = mPath + mDirname.getText().toString();\r
             Uploader.this.mCreateDir = true;\r
@@ -245,6 +252,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
         }\r
     }\r
 \r
+    @Override\r
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {\r
         // click on folder in the list\r
         Log.d(TAG, "on item click");\r
@@ -262,6 +270,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
         populateDirectoryList();\r
     }\r
 \r
+    @Override\r
     public void onClick(View v) {\r
         // click on button\r
         switch (v.getId()) {\r
@@ -370,16 +379,14 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
         }*/\r
     }\r
 \r
-    private void prepareStreamsToUpload() {\r
+    private boolean prepareStreamsToUpload() {\r
         if (getIntent().getAction().equals(Intent.ACTION_SEND)) {\r
             mStreamsToUpload = new ArrayList<Parcelable>();\r
             mStreamsToUpload.add(getIntent().getParcelableExtra(Intent.EXTRA_STREAM));\r
         } else if (getIntent().getAction().equals(Intent.ACTION_SEND_MULTIPLE)) {\r
             mStreamsToUpload = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM);\r
-        } else {\r
-            // unknow action inserted\r
-            throw new IllegalArgumentException("Unknown action given: " + getIntent().getAction());\r
         }\r
+        return (mStreamsToUpload != null && mStreamsToUpload.get(0) != null);\r
     }\r
 \r
     public void uploadFiles() {\r