Merge branch 'master' of https://github.com/owncloud/android into video_thumbnail
authorAndy Scherzinger <info@andy-scherzinger.de>
Mon, 10 Aug 2015 14:02:02 +0000 (16:02 +0200)
committerAndy Scherzinger <info@andy-scherzinger.de>
Mon, 10 Aug 2015 14:02:02 +0000 (16:02 +0200)
1  2 
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@@ -30,9 -30,6 +30,9 @@@ import android.accounts.Account
  import android.content.Context;\r
  import android.content.SharedPreferences;\r
  import android.graphics.Bitmap;\r
 +import android.graphics.BitmapFactory;\r
 +import android.graphics.Canvas;\r
 +import android.graphics.Paint;\r
  import android.os.Build;\r
  import android.preference.PreferenceManager;\r
  import android.text.format.DateUtils;\r
@@@ -271,15 -268,14 +271,14 @@@ public class FileListListAdapter extend
                      }\r
  \r
                      // share with me icon\r
-                     if (!file.isFolder()) {\r
-                         ImageView sharedWithMeIconV = (ImageView)\r
-                                 view.findViewById(R.id.sharedWithMeIcon);\r
-                         sharedWithMeIconV.bringToFront();\r
-                         if (checkIfFileIsSharedWithMe(file)) {\r
-                             sharedWithMeIconV.setVisibility(View.VISIBLE);\r
-                         } else {\r
-                             sharedWithMeIconV.setVisibility(View.GONE);\r
-                         }\r
+                     ImageView sharedWithMeIconV = (ImageView)\r
+                             view.findViewById(R.id.sharedWithMeIcon);\r
+                     sharedWithMeIconV.bringToFront();\r
+                     if (checkIfFileIsSharedWithMe(file) &&\r
+                             (!file.isFolder() || !mGridMode)) {\r
+                         sharedWithMeIconV.setVisibility(View.VISIBLE);\r
+                     } else {\r
+                         sharedWithMeIconV.setVisibility(View.GONE);\r
                      }\r
  \r
                      break;\r
              \r
              // this if-else is needed even though favorite icon is visible by default\r
              // because android reuses views in listview\r
-             if (!file.keepInSync()) {\r
+             if (!file.isFavorite()) {\r
                  view.findViewById(R.id.favoriteIcon).setVisibility(View.GONE);\r
              } else {\r
                  view.findViewById(R.id.favoriteIcon).setVisibility(View.VISIBLE);\r
              \r
              // No Folder\r
              if (!file.isFolder()) {\r
 -                if (file.isImage() && file.getRemoteId() != null){\r
 +                if ((file.isImage() || file.isVideo()) && file.getRemoteId() != null){\r
                      // Thumbnail in Cache?\r
                      Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache(\r
                              String.valueOf(file.getRemoteId())\r
                              );\r
                      if (thumbnail != null && !file.needsUpdateThumbnail()){\r
 -                        fileIcon.setImageBitmap(thumbnail);\r
 +\r
 +                        if (file.isVideo()) {\r
 +                            Bitmap withOverlay = ThumbnailsCacheManager.addVideoOverlay(thumbnail);\r
 +                            fileIcon.setImageBitmap(withOverlay);\r
 +                        } else {\r
 +                            fileIcon.setImageBitmap(thumbnail);\r
 +                        }\r
                      } else {\r
                          // generate new Thumbnail\r
                          if (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)) {\r
                                              fileIcon, mStorageManager, mAccount\r
                                              );\r
                              if (thumbnail == null) {\r
 -                                thumbnail = ThumbnailsCacheManager.mDefaultImg;\r
 +//                                thumbnail = ThumbnailsCacheManager.mDefaultImg;\r
 +                                Integer id = DisplayUtils.getFileTypeIconId(file.getMimetype(),\r
 +                                        file.getFileName());\r
 +                                thumbnail = BitmapFactory.decodeResource(mContext.getResources(), id);\r
                              }\r
                              final ThumbnailsCacheManager.AsyncDrawable asyncDrawable =\r
                                      new ThumbnailsCacheManager.AsyncDrawable(\r
 -                                    mContext.getResources(), \r
 -                                    thumbnail, \r
 +                                    mContext.getResources(),\r
 +                                    thumbnail,\r
                                      task\r
                                      );\r
                              fileIcon.setImageDrawable(asyncDrawable);\r
@@@ -341,6 -341,14 +341,14 @@@ public class OCFileListFragment extend
                  getActivity().startActivityForResult(action, FileDisplayActivity.ACTION_MOVE_FILES);
                  return true;
              }
+             case R.id.action_favorite_file:{
+                 mContainerActivity.getFileOperationsHelper().toggleFavorite(mTargetFile, true);
+                 return true;
+             }
+             case R.id.action_unfavorite_file:{
+                 mContainerActivity.getFileOperationsHelper().toggleFavorite(mTargetFile, false);
+                 return true;
+             }
              default:
                  return super.onContextItemSelected(item); 
          }
                      foldersCount++;
                  } else {
                      filesCount++;
 -                    if (file.isImage()){
 +                    if (file.isImage() || file.isVideo()){
                          imagesCount++;
                      }
                  }
                  switchToGridView();
              } else {
                  switchToListView();
 +//                switchToGridView();
              }
          }
      }
  
      private String generateFooterText(int filesCount, int foldersCount) {
-         String output = "";
-         if (filesCount > 0){
-             if (filesCount == 1) {
-                 output = output + filesCount + " " + getResources().getString(R.string.file_list_file);
-             } else {
-                 output = output + filesCount + " " + getResources().getString(R.string.file_list_files);
+         String output;
+         if (filesCount <= 0) {
+             if (foldersCount <= 0) {
+                 output = "";
+             } else if (foldersCount == 1) {
+                 output = getResources().getString(R.string.file_list__footer__folder);
+             } else { // foldersCount > 1
+                 output = getResources().getString(R.string.file_list__footer__folders, foldersCount);
              }
-         }
-         if (foldersCount > 0 && filesCount > 0){
-             output = output + ", ";
-         }
-         if (foldersCount == 1) {
-             output = output + foldersCount + " " + getResources().getString(R.string.file_list_folder);
-         } else if (foldersCount > 1) {
-             output = output + foldersCount + " " + getResources().getString(R.string.file_list_folders);
-         }
  
+         } else if (filesCount == 1) {
+             if (foldersCount <= 0) {
+                 output = getResources().getString(R.string.file_list__footer__file);
+             } else if (foldersCount == 1) {
+                 output = getResources().getString(R.string.file_list__footer__file_and_folder);
+             } else { // foldersCount > 1
+                 output = getResources().getString(R.string.file_list__footer__file_and_folders, foldersCount);
+             }
+         } else {    // filesCount > 1
+             if (foldersCount <= 0) {
+                 output = getResources().getString(R.string.file_list__footer__files, filesCount);
+             } else if (foldersCount == 1) {
+                 output = getResources().getString(R.string.file_list__footer__files_and_folder, filesCount);
+             } else { // foldersCount > 1
+                 output = getResources().getString(
+                         R.string.file_list__footer__files_and_folders, filesCount, foldersCount
+                 );
+             }
+         }
          return output;
      }
  
  
      public void sortBySize(boolean descending) {
          mAdapter.setSortOrder(FileStorageUtils.SORT_SIZE, descending);
-     }  
-     
-    
+     }
      
  }