X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/8981be0c716430d58ac00955c6b1db367e60efcd..97da4d5c8a771bffe239d9d10a237909a8b32574:/src/com/owncloud/android/ui/preview/PreviewImageFragment.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 7950ec98..6dd18658 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -74,11 +74,11 @@ public class PreviewImageFragment extends FileFragment { private ProgressBar mProgressWheel; public Bitmap mBitmap = null; - + private static final String TAG = PreviewImageFragment.class.getSimpleName(); private boolean mIgnoreFirstSavedState; - + private LoadBitmapTask mLoadBitmapTask = null; @@ -105,7 +105,7 @@ public class PreviewImageFragment extends FileFragment { return frag; } - + /** * Creates an empty fragment for image previews. @@ -119,8 +119,8 @@ public class PreviewImageFragment extends FileFragment { public PreviewImageFragment() { mIgnoreFirstSavedState = false; } - - + + /** * {@inheritDoc} */ @@ -135,14 +135,14 @@ public class PreviewImageFragment extends FileFragment { mIgnoreFirstSavedState = args.getBoolean(ARG_IGNORE_FIRST); setHasOptionsMenu(true); } - + /** * {@inheritDoc} */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View view = inflater.inflate(R.layout.preview_image_fragment, container, false); mImageView = (TouchImageViewCustom) view.findViewById(R.id.image); @@ -182,7 +182,7 @@ public class PreviewImageFragment extends FileFragment { throw new IllegalStateException("There is no local file to preview"); } } - + /** * {@inheritDoc} @@ -192,7 +192,7 @@ public class PreviewImageFragment extends FileFragment { super.onSaveInstanceState(outState); outState.putParcelable(PreviewImageFragment.EXTRA_FILE, getFile()); } - + @Override public void onStart() { @@ -203,8 +203,8 @@ public class PreviewImageFragment extends FileFragment { mLoadBitmapTask.execute(getFile().getStoragePath()); } } - - + + @Override public void onStop() { Log_OC.d(TAG, "onStop starts"); @@ -214,7 +214,7 @@ public class PreviewImageFragment extends FileFragment { } super.onStop(); } - + /** * {@inheritDoc} */ @@ -230,11 +230,11 @@ public class PreviewImageFragment extends FileFragment { @Override public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); - + if (mContainerActivity.getStorageManager() != null) { // Update the file setFile(mContainerActivity.getStorageManager().getFileById(getFile().getFileId())); - + FileMenuFilter mf = new FileMenuFilter( getFile(), mContainerActivity.getStorageManager().getAccount(), @@ -243,7 +243,7 @@ public class PreviewImageFragment extends FileFragment { ); mf.filter(menu); } - + // additional restriction for this fragment // TODO allow renaming in PreviewImageFragment MenuItem item = menu.findItem(R.id.action_rename_file); @@ -251,7 +251,7 @@ public class PreviewImageFragment extends FileFragment { item.setVisible(false); item.setEnabled(false); } - + // additional restriction for this fragment // TODO allow refresh file in PreviewImageFragment item = menu.findItem(R.id.action_sync_file); @@ -266,11 +266,17 @@ public class PreviewImageFragment extends FileFragment { item.setVisible(false); item.setEnabled(false); } - + + // additional restriction for this fragment + item = menu.findItem(R.id.action_copy); + if (item != null) { + item.setVisible(false); + item.setEnabled(false); + } + } - - + /** * {@inheritDoc} */ @@ -306,15 +312,22 @@ public class PreviewImageFragment extends FileFragment { mContainerActivity.getFileOperationsHelper().syncFile(getFile()); return true; } - + case R.id.action_favorite_file:{ + mContainerActivity.getFileOperationsHelper().toggleFavorite(getFile(), true); + return true; + } + case R.id.action_unfavorite_file:{ + mContainerActivity.getFileOperationsHelper().toggleFavorite(getFile(), false); + return true; + } default: return false; } } - + private void seeDetails() { - mContainerActivity.showDetails(getFile()); + mContainerActivity.showDetails(getFile()); } @@ -341,7 +354,7 @@ public class PreviewImageFragment extends FileFragment { super.onDestroy(); } - + /** * Opens the previewed image with an external application. */ @@ -349,8 +362,8 @@ public class PreviewImageFragment extends FileFragment { mContainerActivity.getFileOperationsHelper().openFile(getFile()); finish(); } - - + + private class LoadBitmapTask extends AsyncTask { /** @@ -369,7 +382,7 @@ public class PreviewImageFragment extends FileFragment { */ private final WeakReference mMessageViewRef; - + /** * Weak reference to the target {@link ProgressBar} shown while the load is in progress. * @@ -378,17 +391,17 @@ public class PreviewImageFragment extends FileFragment { */ private final WeakReference mProgressWheelRef; - + /** - * Error message to show when a load fails + * Error message to show when a load fails */ private int mErrorMessageId; - - + + /** * Constructor. - * - * @param imageView Target {@link ImageView} where the bitmap will be loaded into. + * + * @param imageView Target {@link ImageView} where the bitmap will be loaded into. */ public LoadBitmapTask(ImageViewCustom imageView, TextView messageView, ProgressBar progressWheel) { @@ -396,8 +409,8 @@ public class PreviewImageFragment extends FileFragment { mMessageViewRef = new WeakReference(messageView); mProgressWheelRef = new WeakReference(progressWheel); } - - + + @Override protected Bitmap doInBackground(String... params) { Bitmap result = null; @@ -447,18 +460,18 @@ public class PreviewImageFragment extends FileFragment { } catch (NoSuchFieldError e) { mErrorMessageId = R.string.common_error_unknown; - Log_OC.e(TAG, "Error from access to unexisting field despite protection; file " - + storagePath, e); - + Log_OC.e(TAG, "Error from access to unexisting field despite protection; file " + + storagePath, e); + } catch (Throwable t) { mErrorMessageId = R.string.common_error_unknown; Log_OC.e(TAG, "Unexpected error loading " + getFile().getStoragePath(), t); - + } - + return result; } - + @Override protected void onCancelled(Bitmap result) { if (result != null) { @@ -471,7 +484,8 @@ public class PreviewImageFragment extends FileFragment { hideProgressWheel(); if (result != null) { showLoadedImage(result); - } else { + } + else { showErrorMessage(); } if (result != null && mBitmap != result) { @@ -479,7 +493,7 @@ public class PreviewImageFragment extends FileFragment { result.recycle(); } } - + @SuppressLint("InlinedApi") private void showLoadedImage(Bitmap result) { final ImageViewCustom imageView = mImageViewRef.get(); @@ -496,7 +510,7 @@ public class PreviewImageFragment extends FileFragment { messageView.setVisibility(View.GONE); } // else , silently finish, the fragment was destroyed } - + private void showErrorMessage() { final ImageView imageView = mImageViewRef.get(); if (imageView != null) { @@ -510,14 +524,14 @@ public class PreviewImageFragment extends FileFragment { messageView.setVisibility(View.VISIBLE); } // else , silently finish, the fragment was destroyed } - + private void hideProgressWheel() { final ProgressBar progressWheel = mProgressWheelRef.get(); if (progressWheel != null) { progressWheel.setVisibility(View.GONE); } } - + } /** @@ -531,7 +545,7 @@ public class PreviewImageFragment extends FileFragment { return (file != null && file.isImage()); } - + /** * Finishes the preview */ @@ -539,7 +553,7 @@ public class PreviewImageFragment extends FileFragment { Activity container = getActivity(); container.finish(); } - + public TouchImageViewCustom getImageView() { return mImageView; }