Merge remote-tracking branch 'remotes/upstream/master' into beta
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / preview / PreviewImageFragment.java
index dc96b9f..1ef0377 100644 (file)
@@ -208,17 +208,29 @@ 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
+                    // 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 =
@@ -226,13 +238,13 @@ public class PreviewImageFragment extends FileFragment {
                                         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);
@@ -264,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());
     }
 
     /**
@@ -326,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: {
@@ -355,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;
@@ -367,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;
         }
@@ -377,7 +393,6 @@ public class PreviewImageFragment extends FileFragment {
         mContainerActivity.showDetails(getFile());
     }
 
-
     @Override
     public void onResume() {
         super.onResume();