Merge branch 'fragments-ui' of ssh://git@gitorious.org/owncloud/android.git into...
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / Uploader.java
index b15cab9..94b43dd 100644 (file)
@@ -19,7 +19,6 @@ package eu.alefzero.owncloud;
 \r
 import java.io.File;\r
 import java.net.FileNameMap;\r
-import java.net.URI;\r
 import java.net.URLConnection;\r
 import java.util.ArrayList;\r
 import java.util.Stack;\r
@@ -277,9 +276,9 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
                                  null,\r
                                  null);\r
           mCursor.moveToFirst();\r
-          pathToUpload = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_PATH)) +\r
-                         mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)).replace(" ", "%20");\r
+          pathToUpload = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_PATH)).replace(" ", "%20");\r
         }\r
+        Log.d(TAG, "Uploading file to dir " + pathToUpload);\r
         \r
         showDialog(DIALOG_WAITING);\r
         mUploadThread = new Thread(new BackgroundUploader(pathToUpload, mStreamsToUpload, mHandler));\r
@@ -330,29 +329,38 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
     mUsername = mAccount.name.substring(0, mAccount.name.indexOf('@'));\r
     mPassword = mAccountManager.getPassword(mAccount);\r
     setContentView(R.layout.uploader_layout);\r
+    \r
     mCursor = managedQuery(ProviderMeta.ProviderTableMeta.CONTENT_URI,\r
                            null,\r
-                           ProviderTableMeta.FILE_CONTENT_TYPE+"=? AND " + ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",\r
-                           new String[]{"DIR", mAccount.name},\r
+                           ProviderTableMeta.FILE_NAME+"=? AND " +ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",\r
+                           new String[]{"/", mAccount.name},\r
                            null);\r
-\r
-    ListView lv = getListView();\r
-    lv.setOnItemClickListener(this);\r
-    SimpleCursorAdapter sca = new SimpleCursorAdapter(this,\r
-                                                      R.layout.uploader_list_item_layout,\r
-                                                      mCursor,\r
-                                                      new String[]{ProviderTableMeta.FILE_NAME},\r
-                                                      new int[]{R.id.textView1});\r
-    setListAdapter(sca);\r
-    Button btn = (Button) findViewById(R.id.uploader_choose_folder);\r
-    btn.setOnClickListener(this);\r
-    // insert create new directory for multiple items uploading\r
-    if (getIntent().getAction().equals(Intent.ACTION_SEND_MULTIPLE)) {\r
-      Button createDirBtn = new Button(this);\r
-      createDirBtn.setId(android.R.id.button1);\r
-      createDirBtn.setText(R.string.uploader_btn_create_dir_text);\r
-      createDirBtn.setOnClickListener(this);\r
-      ((LinearLayout)findViewById(R.id.linearLayout1)).addView(createDirBtn, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);\r
+    \r
+    if (mCursor.moveToFirst()) {\r
+      mCursor = managedQuery(ProviderMeta.ProviderTableMeta.CONTENT_URI,\r
+                             null,\r
+                             ProviderTableMeta.FILE_CONTENT_TYPE+"=? AND " + ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " +ProviderTableMeta.FILE_PARENT+"=?",\r
+                             new String[]{"DIR", mAccount.name, mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta._ID))},\r
+                             null);    \r
+  \r
+      ListView lv = getListView();\r
+      lv.setOnItemClickListener(this);\r
+      SimpleCursorAdapter sca = new SimpleCursorAdapter(this,\r
+                                                        R.layout.uploader_list_item_layout,\r
+                                                        mCursor,\r
+                                                        new String[]{ProviderTableMeta.FILE_NAME},\r
+                                                        new int[]{R.id.textView1});\r
+      setListAdapter(sca);\r
+      Button btn = (Button) findViewById(R.id.uploader_choose_folder);\r
+      btn.setOnClickListener(this);\r
+      // insert create new directory for multiple items uploading\r
+      if (getIntent().getAction().equals(Intent.ACTION_SEND_MULTIPLE)) {\r
+        Button createDirBtn = new Button(this);\r
+        createDirBtn.setId(android.R.id.button1);\r
+        createDirBtn.setText(R.string.uploader_btn_create_dir_text);\r
+        createDirBtn.setOnClickListener(this);\r
+        ((LinearLayout)findViewById(R.id.linearLayout1)).addView(createDirBtn, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);\r
+      }\r
     }\r
   }\r
   \r
@@ -438,6 +446,16 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
                 Uploader.this.onUploadComplete(false, "Error while uploading file: " + c.getString(c.getColumnIndex(Media.DISPLAY_NAME)));\r
               }\r
             });\r
+          } else {\r
+            mHandler.post(new Runnable() {\r
+              public void run() {\r
+                Uploader.this.PartialupdateUpload(c.getString(c.getColumnIndex(Media.DATA)),\r
+                    c.getString(c.getColumnIndex(Media.DISPLAY_NAME)),\r
+                    mUploadPath+"/"+c.getString(c.getColumnIndex(Media.DISPLAY_NAME)),\r
+                    c.getString(c.getColumnIndex(Media.MIME_TYPE)),\r
+                    c.getString(c.getColumnIndex(Media.SIZE)));\r
+              }\r
+            });\r
           }\r
         } else if (uri.getScheme().equals("file")) {\r
          final File file = new File(Uri.decode(uri.toString()).replace(uri.getScheme()+"://", ""));\r