X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/5dc43aab3cc1243f9989dd6a0c7dd3350c3f709b..59fdac1d26c480f83072f02849c89caadf55ba6c:/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 7ea9f523..ee4a7b00 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -16,7 +16,6 @@ */ package com.owncloud.android.ui.preview; -import java.io.File; import java.util.ArrayList; import java.util.List; @@ -52,22 +51,23 @@ import android.widget.VideoView; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; +import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.media.MediaControlView; import com.owncloud.android.media.MediaService; import com.owncloud.android.media.MediaServiceBinder; -import com.owncloud.android.operations.OnRemoteOperationListener; -import com.owncloud.android.operations.RemoteOperation; -import com.owncloud.android.operations.RemoteOperationResult; +import com.owncloud.android.lib.network.webdav.WebdavUtils; +import com.owncloud.android.lib.operations.common.OnRemoteOperationListener; +import com.owncloud.android.lib.operations.common.RemoteOperation; +import com.owncloud.android.lib.operations.common.RemoteOperationResult; import com.owncloud.android.operations.RemoveFileOperation; +import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; import com.owncloud.android.ui.fragment.FileFragment; +import com.owncloud.android.utils.Log_OC; -import com.owncloud.android.Log_OC; -import com.owncloud.android.R; -import eu.alefzero.webdav.WebdavUtils; /** * This fragment shows a preview of a downloaded media file (audio or video). @@ -307,6 +307,10 @@ public class PreviewMediaFragment extends FileFragment implements @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { + case R.id.action_share_file: { + shareFileWithLink(); + return true; + } case R.id.action_open_file_with: { openFile(); return true; @@ -326,6 +330,14 @@ public class PreviewMediaFragment extends FileFragment implements } + private void shareFileWithLink() { + stopPreview(false); + FileActivity activity = (FileActivity)((FileFragment.ContainerActivity)getActivity()); + activity.getFileOperationsHelper().shareFileWithLink(getFile(), activity); + + } + + private void seeDetails() { stopPreview(false); ((FileFragment.ContainerActivity)getActivity()).showDetails(getFile()); @@ -477,8 +489,8 @@ public class PreviewMediaFragment extends FileFragment implements private void startFullScreenVideo() { Intent i = new Intent(getActivity(), PreviewVideoActivity.class); - i.putExtra(PreviewVideoActivity.EXTRA_ACCOUNT, mAccount); - i.putExtra(PreviewVideoActivity.EXTRA_FILE, getFile()); + i.putExtra(FileActivity.EXTRA_ACCOUNT, mAccount); + i.putExtra(FileActivity.EXTRA_FILE, getFile()); i.putExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, mVideoPreview.isPlaying()); mVideoPreview.pause(); i.putExtra(PreviewVideoActivity.EXTRA_START_POSITION, mVideoPreview.getCurrentPosition()); @@ -661,8 +673,7 @@ public class PreviewMediaFragment extends FileFragment implements mStorageManager); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); - boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity; - getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT); + ((FileDisplayActivity) getActivity()).showLoadingDialog(); } } @@ -672,16 +683,10 @@ public class PreviewMediaFragment extends FileFragment implements */ @Override public void onNeutral(String callerTag) { - // TODO this code should be made in a secondary thread, OCFile file = getFile(); - if (file.isDown()) { // checks it is still there - stopPreview(true); - File f = new File(file.getStoragePath()); - f.delete(); - file.setStoragePath(null); - mStorageManager.saveFile(file); - finish(); - } + stopPreview(true); + mStorageManager.removeFile(file, false, true); // TODO perform in background task / new thread + finish(); } /** @@ -716,9 +721,7 @@ public class PreviewMediaFragment extends FileFragment implements } private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) { - boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity; - getActivity().dismissDialog(FileDisplayActivity.DIALOG_SHORT_WAIT); - + ((FileDisplayActivity) getActivity()).dismissLoadingDialog(); if (result.isSuccess()) { Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG); msg.show();