From: Bartek Przybylski Date: Wed, 11 Jul 2012 18:24:50 +0000 (+0200) Subject: update local filename only when rename succeed X-Git-Tag: oc-android-1.4.3~287 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/f2b890ae53b5c0c44239504eb516df9f8c438236?ds=inline;hp=--cc update local filename only when rename succeed --- f2b890ae53b5c0c44239504eb516df9f8c438236 diff --git a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java index 42b7f45e..c94c27fa 100644 --- a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java +++ b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java @@ -113,7 +113,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setSupportProgressBarIndeterminateVisibility(false); - //Thread.setDefaultUncaughtExceptionHandler(new CrashHandler(getApplicationContext())); + Thread.setDefaultUncaughtExceptionHandler(new CrashHandler(getApplicationContext())); if(savedInstanceState != null) { mDirs = savedInstanceState.getStringArray(KEY_DIR_ARRAY); diff --git a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java index cf13ba37..9b410936 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java @@ -57,6 +57,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.preference.PreferenceActivity.Header; import android.util.Log; import android.view.Display; @@ -634,11 +635,9 @@ public class FileDetailFragment extends SherlockFragment implements newFile.setModificationTimestamp(mFile.getModificationTimestamp()); newFile.setParentId(mFile.getParentId()); newFile.setStoragePath(mFile.getStoragePath()); - fdsm.removeFile(mFile); - fdsm.saveFile(newFile); - new Thread(new RenameRunnable(mFile, newFile, mAccount)).start(); - mFile = newFile; - updateFileDetails(mFile, mAccount); + + new Thread(new RenameRunnable(mFile, newFile, mAccount, new Handler())).start(); + } } } @@ -652,11 +651,13 @@ public class FileDetailFragment extends SherlockFragment implements Account mAccount; OCFile mOld, mNew; + Handler mHandler; - public RenameRunnable(OCFile oldFile, OCFile newFile, Account account) { + public RenameRunnable(OCFile oldFile, OCFile newFile, Account account, Handler handler) { mOld = oldFile; mNew = newFile; mAccount = account; + mHandler = handler; } public void run() { @@ -667,13 +668,22 @@ public class FileDetailFragment extends SherlockFragment implements String webdav_path = AccountUtils.getWebdavPath(ocv); Log.d("ASD", ""+baseUrl + webdav_path + mOld.getRemotePath()); - Log.e("ASD", Uri.parse(baseUrl).getPath() == null ? "" : Uri.parse(baseUrl).getPath() + webdav_path + mNew.getRemotePath()); LocalMoveMethod move = new LocalMoveMethod(baseUrl + webdav_path + mOld.getRemotePath(), Uri.parse(baseUrl).getPath() == null ? "" : Uri.parse(baseUrl).getPath() + webdav_path + mNew.getRemotePath()); try { int status = wc.executeMethod(move); + if (move.succeeded()) { + FileDataStorageManager fdsm = new FileDataStorageManager(mAccount, getActivity().getContentResolver()); + fdsm.removeFile(mOld); + fdsm.saveFile(mNew); + mFile = mNew; + mHandler.post(new Runnable() { + @Override + public void run() { updateFileDetails(mFile, mAccount); } + }); + } Log.e("ASD", ""+move.getQueryString()); Log.d("move", "returned status " + status); } catch (HttpException e) {