X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/563e6cbdad4dc183f95e18fb254e4a97efbb9a26..a99a28cc61d48eca63803c3d661ea1be14f99aec:/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 c45f76cf..1ef0377e 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -71,6 +71,7 @@ public class PreviewImageFragment extends FileFragment { private static final String ARG_FILE = "FILE"; private static final String ARG_IGNORE_FIRST = "IGNORE_FIRST"; + private static final String ARG_SHOW_RESIZED_IMAGE = "SHOW_RESIZED_IMAGE"; private TouchImageViewCustom mImageView; private TextView mMessageView; @@ -108,6 +109,7 @@ public class PreviewImageFragment extends FileFragment { Bundle args = new Bundle(); args.putParcelable(ARG_FILE, imageFile); args.putBoolean(ARG_IGNORE_FIRST, ignoreFirstSavedState); + args.putBoolean(ARG_SHOW_RESIZED_IMAGE, showResizedImage); frag.setArguments(args); return frag; } @@ -140,6 +142,7 @@ public class PreviewImageFragment extends FileFragment { // not right now mIgnoreFirstSavedState = args.getBoolean(ARG_IGNORE_FIRST); + mShowResizedImage = args.getBoolean(ARG_SHOW_RESIZED_IMAGE); setHasOptionsMenu(true); } @@ -205,30 +208,43 @@ public class PreviewImageFragment extends FileFragment { mImageView.setTag(getFile().getFileId()); if (mShowResizedImage){ - Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache( - String.valueOf("r" + getFile().getRemoteId()) - ); + Bitmap resizedImage = ThumbnailsCacheManager.getBitmapFromDiskCache( + String.valueOf("r" + getFile().getRemoteId())); - if (thumbnail != null && !getFile().needsUpdateThumbnail()){ + if (resizedImage != null && !getFile().needsUpdateThumbnail()){ mProgressWheel.setVisibility(View.GONE); - mImageView.setImageBitmap(thumbnail); + mImageView.setImageBitmap(resizedImage); mImageView.setVisibility(View.VISIBLE); - mBitmap = thumbnail; + mBitmap = resizedImage; } else { - // generate new Thumbnail - if (ThumbnailsCacheManager.cancelPotentialWork(getFile(), mImageView)) { + // show thumbnail while loading resized image + Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache( + String.valueOf("t" + getFile().getRemoteId())); + + if (thumbnail != null){ + mImageView.setImageBitmap(thumbnail); + mProgressWheel.setVisibility(View.VISIBLE); + mImageView.setVisibility(View.VISIBLE); + mBitmap = thumbnail; + } else { + thumbnail = ThumbnailsCacheManager.mDefaultImg; + } + + // generate new resized image + if (ThumbnailsCacheManager.cancelPotentialWork(getFile(), mImageView) && + mContainerActivity.getStorageManager() != null) { final ThumbnailsCacheManager.ThumbnailGenerationTask task = new ThumbnailsCacheManager.ThumbnailGenerationTask( mImageView, mContainerActivity.getStorageManager(), mContainerActivity.getStorageManager().getAccount(), mProgressWheel); - if (thumbnail == null) { - thumbnail = ThumbnailsCacheManager.mDefaultImg; + if (resizedImage == null) { + resizedImage = thumbnail; } final ThumbnailsCacheManager.AsyncDrawable asyncDrawable = new ThumbnailsCacheManager.AsyncDrawable( MainApp.getAppContext().getResources(), - thumbnail, + resizedImage, task ); mImageView.setImageDrawable(asyncDrawable); @@ -260,6 +276,9 @@ public class PreviewImageFragment extends FileFragment { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.file_actions_menu, menu); + +// MenuItem item = menu.findItem(R.id.action_set_as_wallpaper); +// item.setVisible(getFile().isDown()); } /** @@ -322,11 +341,7 @@ public class PreviewImageFragment extends FileFragment { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_share_file: { - mContainerActivity.getFileOperationsHelper().shareFileWithLink(getFile()); - return true; - } - case R.id.action_unshare_file: { - mContainerActivity.getFileOperationsHelper().unshareFileWithLink(getFile()); + mContainerActivity.getFileOperationsHelper().showShareFile(getFile()); return true; } case R.id.action_open_file_with: { @@ -351,6 +366,7 @@ public class PreviewImageFragment extends FileFragment { return true; } } + case R.id.action_download_file: case R.id.action_sync_file: { mContainerActivity.getFileOperationsHelper().syncFile(getFile()); return true; @@ -363,6 +379,10 @@ public class PreviewImageFragment extends FileFragment { mContainerActivity.getFileOperationsHelper().toggleFavorite(getFile(), false); return true; } + case R.id.action_set_as_wallpaper:{ + mContainerActivity.getFileOperationsHelper().setPictureAs(getFile()); + return true; + } default: return false; } @@ -373,7 +393,6 @@ public class PreviewImageFragment extends FileFragment { mContainerActivity.showDetails(getFile()); } - @Override public void onResume() { super.onResume();