From: David A. Velasco Date: Tue, 28 May 2013 11:11:57 +0000 (+0200) Subject: Non-previewable file is opened after successful donwload X-Git-Tag: oc-android-1.4.3~21^2~8 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/f767bf3f01e93c52f438d256b2af15b04abecf51?ds=inline Non-previewable file is opened after successful donwload --- diff --git a/res/menu/file_actions_menu.xml b/res/menu/file_actions_menu.xml index 5c25fed0..1aa2823e 100644 --- a/res/menu/file_actions_menu.xml +++ b/res/menu/file_actions_menu.xml @@ -19,7 +19,7 @@ --> - + diff --git a/res/values/strings.xml b/res/values/strings.xml index 2d6de4b6..b7a951a2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -20,6 +20,7 @@ Upload Content from other apps Files + Open with Create directory Search Settings @@ -81,7 +82,6 @@ Download Refresh Redownload - Open File was renamed to %1$s during upload Yes No diff --git a/src/com/owncloud/android/ui/activity/FileActivity.java b/src/com/owncloud/android/ui/activity/FileActivity.java index 4a0f4f8e..3b857a8f 100644 --- a/src/com/owncloud/android/ui/activity/FileActivity.java +++ b/src/com/owncloud/android/ui/activity/FileActivity.java @@ -31,6 +31,7 @@ import android.webkit.MimeTypeMap; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.owncloud.android.AccountUtils; import com.owncloud.android.Log_OC; +import com.owncloud.android.R; import com.owncloud.android.authentication.AccountAuthenticator; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.FileHandler; @@ -46,6 +47,7 @@ public abstract class FileActivity extends SherlockFragmentActivity implements F public static final String EXTRA_FILE = "com.owncloud.android.ui.activity.FILE"; public static final String EXTRA_ACCOUNT = "com.owncloud.android.ui.activity.ACCOUNT"; + public static final String EXTRA_WAITING_TO_PREVIEW = "com.owncloud.android.ui.activity.ACCOUNT"; public static final String TAG = FileActivity.class.getSimpleName(); @@ -249,9 +251,9 @@ public abstract class FileActivity extends SherlockFragmentActivity implements F Intent chooserIntent = null; if (intentForGuessedMimeType != null) { - chooserIntent = Intent.createChooser(intentForGuessedMimeType, null); + chooserIntent = Intent.createChooser(intentForGuessedMimeType, getString(R.string.actionbar_open_with)); } else { - chooserIntent = Intent.createChooser(intentForSavedMimeType, null); + chooserIntent = Intent.createChooser(intentForSavedMimeType, getString(R.string.actionbar_open_with)); } startActivity(chooserIntent); diff --git a/src/com/owncloud/android/ui/activity/FileDetailActivity.java b/src/com/owncloud/android/ui/activity/FileDetailActivity.java index 81e4fa9b..61d769aa 100644 --- a/src/com/owncloud/android/ui/activity/FileDetailActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDetailActivity.java @@ -204,6 +204,9 @@ public class FileDetailActivity extends FileActivity implements FileFragment.Con intent.putExtra(PreviewVideoActivity.EXTRA_START_POSITION, videoFragment.getPosition()); intent.putExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, videoFragment.isPlaying()); } + if (mWaitingToPreview) { + intent.putExtra(FileDisplayActivity.EXTRA_WAITING_TO_PREVIEW, mWaitingToPreview); + } } else { intent = new Intent(this, FileDetailActivity.class); @@ -460,6 +463,7 @@ public class FileDetailActivity extends FileActivity implements FileFragment.Con transaction.commit(); } else { detailsFragment.updateFileDetails(false, (success)); + openFile(getFile()); } mWaitingToPreview = false; diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index a6baf2f0..1c5cb380 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -213,17 +213,15 @@ public class FileDisplayActivity extends FileActivity implements if (mDualPane && getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG) == null) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if (mChosenFile != null) { - if (PreviewMediaFragment.canBePreviewed(mChosenFile)) { - if (mChosenFile.isDown()) { - int startPlaybackPosition = getIntent().getIntExtra(PreviewVideoActivity.EXTRA_START_POSITION, 0); - boolean autoplay = getIntent().getBooleanExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, true); - transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mChosenFile, getAccount(), startPlaybackPosition, autoplay), FileDetailFragment.FTAG); - } else { - transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + if (!mChosenFile.isDown()) { + transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + if (getIntent().getBooleanExtra(EXTRA_WAITING_TO_PREVIEW, false)) { mWaitingToPreview = mChosenFile; } - } else { - transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + } else if (PreviewMediaFragment.canBePreviewed(mChosenFile)) { + int startPlaybackPosition = getIntent().getIntExtra(PreviewVideoActivity.EXTRA_START_POSITION, 0); + boolean autoplay = getIntent().getBooleanExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, true); + transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mChosenFile, getAccount(), startPlaybackPosition, autoplay), FileDetailFragment.FTAG); } mChosenFile = null; @@ -833,8 +831,8 @@ public class FileDisplayActivity extends FileActivity implements transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mWaitingToPreview, getAccount(), 0, true), FileDetailFragment.FTAG); transaction.commit(); } else { - // file cannot be previewed detailsFragment.updateFileDetails(false, (success)); + openFile(mWaitingToPreview); } mWaitingToPreview = null;