Merge branch 'develop' into pull_down_refresh
authormasensio <masensio@solidgear.es>
Fri, 30 May 2014 12:16:33 +0000 (14:16 +0200)
committermasensio <masensio@solidgear.es>
Fri, 30 May 2014 12:16:33 +0000 (14:16 +0200)
39 files changed:
AndroidManifest.xml
oc_jb_workaround/AndroidManifest.xml
res/drawable-hdpi/file.png
res/drawable-hdpi/file_doc.png
res/drawable-hdpi/file_image.png
res/drawable-hdpi/file_movie.png
res/drawable-hdpi/file_pdf.png
res/drawable-hdpi/file_ppt.png [new file with mode: 0644]
res/drawable-hdpi/file_sound.png
res/drawable-hdpi/file_xls.png [new file with mode: 0644]
res/drawable-hdpi/file_zip.png
res/drawable-hdpi/ic_menu_archive.png
res/drawable-ldpi/file.png
res/drawable-ldpi/file_doc.png
res/drawable-ldpi/file_image.png
res/drawable-ldpi/file_movie.png
res/drawable-ldpi/file_pdf.png
res/drawable-ldpi/file_ppt.png [new file with mode: 0644]
res/drawable-ldpi/file_sound.png
res/drawable-ldpi/file_xls.png [new file with mode: 0644]
res/drawable-ldpi/file_zip.png
res/drawable-ldpi/ic_menu_archive.png
res/drawable-mdpi/file.png
res/drawable-mdpi/file_doc.png
res/drawable-mdpi/file_image.png
res/drawable-mdpi/file_movie.png
res/drawable-mdpi/file_pdf.png
res/drawable-mdpi/file_ppt.png [new file with mode: 0644]
res/drawable-mdpi/file_sound.png
res/drawable-mdpi/file_xls.png [new file with mode: 0644]
res/drawable-mdpi/file_zip.png
res/drawable-mdpi/ic_menu_archive.png
res/values/strings.xml
src/com/owncloud/android/ui/activity/FileActivity.java
src/com/owncloud/android/ui/activity/FileDisplayActivity.java
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/FileDetailFragment.java
src/com/owncloud/android/ui/preview/PreviewMediaFragment.java
src/com/owncloud/android/utils/DisplayUtils.java

index 48d5b0c..4cd20c0 100644 (file)
@@ -18,8 +18,8 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  -->
 <manifest package="com.owncloud.android"
-    android:versionCode="105005"
-    android:versionName="1.5.5" xmlns:android="http://schemas.android.com/apk/res/android">
+    android:versionCode="105006"
+    android:versionName="1.5.6" xmlns:android="http://schemas.android.com/apk/res/android">
 
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
index 640b6ab..0d6002a 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.owncloud.android.workaround.accounts"
-    android:versionCode="0100014"
-    android:versionName="1.0.14" >
+    android:versionCode="0100015"
+    android:versionName="1.0.15" >
 
     <uses-sdk
         android:minSdkVersion="16"
index 08f9937..71d7390 100644 (file)
Binary files a/res/drawable-hdpi/file.png and b/res/drawable-hdpi/file.png differ
index 068ed57..e9c2323 100644 (file)
Binary files a/res/drawable-hdpi/file_doc.png and b/res/drawable-hdpi/file_doc.png differ
index dc40bae..bdb2e65 100644 (file)
Binary files a/res/drawable-hdpi/file_image.png and b/res/drawable-hdpi/file_image.png differ
index 2acfaf8..e178cce 100644 (file)
Binary files a/res/drawable-hdpi/file_movie.png and b/res/drawable-hdpi/file_movie.png differ
index a4af281..85c8953 100644 (file)
Binary files a/res/drawable-hdpi/file_pdf.png and b/res/drawable-hdpi/file_pdf.png differ
diff --git a/res/drawable-hdpi/file_ppt.png b/res/drawable-hdpi/file_ppt.png
new file mode 100644 (file)
index 0000000..4fb809e
Binary files /dev/null and b/res/drawable-hdpi/file_ppt.png differ
index 33045af..30f5367 100644 (file)
Binary files a/res/drawable-hdpi/file_sound.png and b/res/drawable-hdpi/file_sound.png differ
diff --git a/res/drawable-hdpi/file_xls.png b/res/drawable-hdpi/file_xls.png
new file mode 100644 (file)
index 0000000..f6a2cc8
Binary files /dev/null and b/res/drawable-hdpi/file_xls.png differ
index 398f601..bffacb4 100644 (file)
Binary files a/res/drawable-hdpi/file_zip.png and b/res/drawable-hdpi/file_zip.png differ
index 0bdcac5..7d25b82 100644 (file)
Binary files a/res/drawable-hdpi/ic_menu_archive.png and b/res/drawable-hdpi/ic_menu_archive.png differ
index bbe560b..b669fdf 100644 (file)
Binary files a/res/drawable-ldpi/file.png and b/res/drawable-ldpi/file.png differ
index a407043..0ea07e3 100644 (file)
Binary files a/res/drawable-ldpi/file_doc.png and b/res/drawable-ldpi/file_doc.png differ
index b3af57c..1bf2015 100644 (file)
Binary files a/res/drawable-ldpi/file_image.png and b/res/drawable-ldpi/file_image.png differ
index 53bf0e7..e50c168 100644 (file)
Binary files a/res/drawable-ldpi/file_movie.png and b/res/drawable-ldpi/file_movie.png differ
index ded8249..a05afdd 100644 (file)
Binary files a/res/drawable-ldpi/file_pdf.png and b/res/drawable-ldpi/file_pdf.png differ
diff --git a/res/drawable-ldpi/file_ppt.png b/res/drawable-ldpi/file_ppt.png
new file mode 100644 (file)
index 0000000..11a9cc9
Binary files /dev/null and b/res/drawable-ldpi/file_ppt.png differ
index 6fc963f..26e5a5f 100644 (file)
Binary files a/res/drawable-ldpi/file_sound.png and b/res/drawable-ldpi/file_sound.png differ
diff --git a/res/drawable-ldpi/file_xls.png b/res/drawable-ldpi/file_xls.png
new file mode 100644 (file)
index 0000000..9855367
Binary files /dev/null and b/res/drawable-ldpi/file_xls.png differ
index 04340f4..88d0040 100644 (file)
Binary files a/res/drawable-ldpi/file_zip.png and b/res/drawable-ldpi/file_zip.png differ
index 7818537..e4d0ee5 100644 (file)
Binary files a/res/drawable-ldpi/ic_menu_archive.png and b/res/drawable-ldpi/ic_menu_archive.png differ
index 0a1ca52..5fa8505 100644 (file)
Binary files a/res/drawable-mdpi/file.png and b/res/drawable-mdpi/file.png differ
index 95651f8..2e7628a 100644 (file)
Binary files a/res/drawable-mdpi/file_doc.png and b/res/drawable-mdpi/file_doc.png differ
index 2b2fff4..eedd41f 100644 (file)
Binary files a/res/drawable-mdpi/file_image.png and b/res/drawable-mdpi/file_image.png differ
index 4c0254c..b37e98d 100644 (file)
Binary files a/res/drawable-mdpi/file_movie.png and b/res/drawable-mdpi/file_movie.png differ
index 306ad99..07aa238 100644 (file)
Binary files a/res/drawable-mdpi/file_pdf.png and b/res/drawable-mdpi/file_pdf.png differ
diff --git a/res/drawable-mdpi/file_ppt.png b/res/drawable-mdpi/file_ppt.png
new file mode 100644 (file)
index 0000000..db7d58d
Binary files /dev/null and b/res/drawable-mdpi/file_ppt.png differ
index 8789e5c..6b8b589 100644 (file)
Binary files a/res/drawable-mdpi/file_sound.png and b/res/drawable-mdpi/file_sound.png differ
diff --git a/res/drawable-mdpi/file_xls.png b/res/drawable-mdpi/file_xls.png
new file mode 100644 (file)
index 0000000..b0264d7
Binary files /dev/null and b/res/drawable-mdpi/file_xls.png differ
index 92647b8..61974b8 100644 (file)
Binary files a/res/drawable-mdpi/file_zip.png and b/res/drawable-mdpi/file_zip.png differ
index 2c50285..7f29fbc 100644 (file)
Binary files a/res/drawable-mdpi/ic_menu_archive.png and b/res/drawable-mdpi/ic_menu_archive.png differ
index ea584f0..3a1f97d 100644 (file)
        <string name="auth_unsupported_multiaccount">%1$s does not support multiple accounts</string>
        <string name="auth_fail_get_user_name">Your server is not returning a correct user id, please contact an administrator
        </string>
-       <string name="auth_can_not_auth_against_server">Can not authenticate against this server</string>
+       <string name="auth_can_not_auth_against_server">Cannot authenticate against this server</string>
     
     <string name="fd_keep_in_sync">Keep file up to date</string>
     <string name="common_rename">Rename</string>
     <string name="common_remove">Remove</string>
-    <string name="confirmation_remove_alert">"Do you really want to remove %1$s ?"</string>
-    <string name="confirmation_remove_folder_alert">"Do you really want to remove %1$s and its contents ?"</string>
+    <string name="confirmation_remove_alert">"Do you really want to remove %1$s?"</string>
+    <string name="confirmation_remove_folder_alert">"Do you really want to remove %1$s and its contents?"</string>
     <string name="confirmation_remove_local">Local only</string>
     <string name="confirmation_remove_folder_local">Local contents only</string>
     <string name="confirmation_remove_remote">Remove from server</string>
     <string name="conflict_dont_upload">Don\'t upload</string>
     
     <string name="preview_image_description">Image preview</string>
-    <string name="preview_image_error_unknown_format">This image can not be shown</string>
+    <string name="preview_image_error_unknown_format">This image cannot be shown</string>
     
     <string name="error__upload__local_file_not_copied">%1$s could not be copied to %2$s local folder</string>
     <string name="actionbar_failed_instant_upload">Failed InstantUpload</string>
     <string name="failed_upload_headline_retryall_btn">retry all selected</string>
     <string name="failed_upload_headline_delete_all_btn">delete all  selected from uploadqueue</string>
     <string name="failed_upload_retry_text">retry to upload the image: </string>
-    <string name="failed_upload_load_more_images">Load more Picrures</string>
+    <string name="failed_upload_load_more_images">Load more Pictures</string>
     <string name="failed_upload_retry_do_nothing_text">do nothing you are not online for instant upload</string>
        <string name="failed_upload_failure_text">Failure Message: </string>
        <string name="failed_upload_quota_exceeded_text">Please check your server configuration,maybe your quota is exceeded.</string>
        <string name="copy_link">Copy link</string>
        <string name="clipboard_text_copied">Copied to clipboard</string>
 
-       <string name="error_cant_bind_to_operations_service">Critical error: can not perform operations</string>
+       <string name="error_cant_bind_to_operations_service">Critical error: cannot perform operations</string>
        
        <string name="network_error_socket_exception">An error occurred while connecting with the server.</string>
        <string name="network_error_socket_timeout_exception">An error occurred while waiting for the server, the operation couldn\'t have been done</string>
        <string name="network_error_connect_timeout_exception">An error occurred while waiting for the server, the operation couldn\'t have been done</string>
-       <string name="network_host_not_available">The operation couldn\'t be completed, server is unavaliable</string>
-       
+       <string name="network_host_not_available">The operation couldn\'t be completed, server is unavailable</string>
        
 </resources>
index 0202522..6b8fa43 100644 (file)
@@ -447,6 +447,13 @@ implements OnRemoteOperationListener, ComponentsGetter {
                 )) {
             
             requestCredentialsUpdate();
+            
+            if (result.getCode() == ResultCode.UNAUTHORIZED) {
+                dismissLoadingDialog();
+                Toast t = Toast.makeText(this, ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), 
+                        Toast.LENGTH_LONG);
+                t.show();
+            }
 
         } else if (operation instanceof CreateShareOperation) {
             onCreateShareOperationFinish((CreateShareOperation) operation, result);
index ae38805..ee7d324 100644 (file)
@@ -181,11 +181,6 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         mRightFragmentContainer = findViewById(R.id.right_fragment_container);
         if (savedInstanceState == null) {
             createMinFragments();
-        } else {
-            Log_OC.d(TAG, "Init the secondFragment again");
-            if (mDualPane) {
-                initFragmentsWithFile();                
-            }
         }
 
         // Action bar setup
index 38ade7c..656e004 100644 (file)
@@ -113,7 +113,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
             fileName.setText(name);\r
             ImageView fileIcon = (ImageView) view.findViewById(R.id.imageView1);\r
-            fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype()));\r
+            fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
             ImageView localStateView = (ImageView) view.findViewById(R.id.imageView2);\r
             FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();\r
             FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();\r
index 76cee97..768275c 100644 (file)
@@ -330,7 +330,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
             
             // set file details
             setFilename(file.getFileName());
-            setFiletype(file.getMimetype());
+            setFiletype(file.getMimetype(), file.getFileName());
             setFilesize(file.getFileLength());
             if(ocVersionSupportsTimeCreated()){
                 setTimeCreated(file.getCreationTimestamp());
@@ -382,8 +382,9 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
     /**
      * Updates the MIME type in view
      * @param mimetype to set
+     * @param filename
      */
-    private void setFiletype(String mimetype) {
+    private void setFiletype(String mimetype, String filename) {
         TextView tv = (TextView) getView().findViewById(R.id.fdType);
         if (tv != null) {
             String printableMimetype = DisplayUtils.convertMIMEtoPrettyPrint(mimetype);;        
@@ -391,7 +392,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
         }
         ImageView iv = (ImageView) getView().findViewById(R.id.fdIcon);
         if (iv != null) {
-            iv.setImageResource(DisplayUtils.getResourceId(mimetype));
+            iv.setImageResource(DisplayUtils.getResourceId(mimetype, filename));
         }
     }
 
index 0697868..03cf250 100644 (file)
@@ -181,7 +181,8 @@ public class PreviewMediaFragment extends FileFragment implements
             }
             
         } else {
-            setFile((OCFile)savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE));
+            file = (OCFile)savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE);
+            setFile(file);
             mAccount = savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_ACCOUNT);
             mSavedPlaybackPosition = 
                     savedInstanceState.getInt(PreviewMediaFragment.EXTRA_PLAY_POSITION);
index 680107b..682d2be 100644 (file)
@@ -63,14 +63,28 @@ public class DisplayUtils {
     private static final String TYPE_VIDEO = "video";\r
     \r
     private static final String SUBTYPE_PDF = "pdf";\r
-    private static final String[] SUBTYPES_DOCUMENT = { "msword", "mspowerpoint", "msexcel", \r
-                                                        "vnd.oasis.opendocument.presentation",\r
-                                                        "vnd.oasis.opendocument.spreadsheet",\r
-                                                        "vnd.oasis.opendocument.text"\r
+    private static final String[] SUBTYPES_DOCUMENT = { "msword",\r
+                                                        "vnd.openxmlformats-officedocument.wordprocessingml.document",\r
+                                                        "vnd.oasis.opendocument.text",\r
+                                                        "rtf"\r
                                                         };\r
     private static Set<String> SUBTYPES_DOCUMENT_SET = new HashSet<String>(Arrays.asList(SUBTYPES_DOCUMENT));\r
+    private static final String[] SUBTYPES_SPREADSHEET = { "msexcel",\r
+                                                           "vnd.openxmlformats-officedocument.spreadsheetml.sheet",\r
+                                                           "vnd.oasis.opendocument.spreadsheet"\r
+                                                           };\r
+    private static Set<String> SUBTYPES_SPREADSHEET_SET = new HashSet<String>(Arrays.asList(SUBTYPES_SPREADSHEET));\r
+    private static final String[] SUBTYPES_PRESENTATION = { "mspowerpoint",\r
+                                                            "vnd.openxmlformats-officedocument.presentationml.presentation",\r
+                                                            "vnd.oasis.opendocument.presentation"\r
+                                                            };\r
+    private static Set<String> SUBTYPES_PRESENTATION_SET = new HashSet<String>(Arrays.asList(SUBTYPES_PRESENTATION));\r
     private static final String[] SUBTYPES_COMPRESSED = {"x-tar", "x-gzip", "zip"};\r
     private static final Set<String> SUBTYPES_COMPRESSED_SET = new HashSet<String>(Arrays.asList(SUBTYPES_COMPRESSED));\r
+    private static final String SUBTYPE_OCTET_STREAM = "octet-stream";\r
+    private static final String EXTENSION_RAR = "rar";\r
+    private static final String EXTENSION_RTF = "rtf";\r
+    private static final String EXTENSION_3GP = "3gp";\r
     \r
     /**\r
      * Converts the file size in bytes to human readable output.\r
@@ -135,9 +149,10 @@ public class DisplayUtils {
      * known MIME type.\r
      * \r
      * @param mimetype      MIME type string.\r
+     * @param filename      name, with extension\r
      * @return              Resource identifier of an image resource.\r
      */\r
-    public static int getResourceId(String mimetype) {\r
+    public static int getResourceId(String mimetype, String filename) {\r
 \r
         if (mimetype == null || "DIR".equals(mimetype)) {\r
             return R.drawable.ic_menu_archive;\r
@@ -167,12 +182,28 @@ public class DisplayUtils {
                 } else if (SUBTYPES_DOCUMENT_SET.contains(subtype)) {\r
                     return R.drawable.file_doc;\r
 \r
+                } else if (SUBTYPES_SPREADSHEET_SET.contains(subtype)) {\r
+                    return R.drawable.file_xls;\r
+\r
+                } else if (SUBTYPES_PRESENTATION_SET.contains(subtype)) {\r
+                    return R.drawable.file_ppt;\r
+\r
                 } else if (SUBTYPES_COMPRESSED_SET.contains(subtype)) {\r
                     return R.drawable.file_zip;\r
-                }\r
-    \r
+                    \r
+                } else if (SUBTYPE_OCTET_STREAM.equals(subtype) ) {\r
+                    if (getExtension(filename).equalsIgnoreCase(EXTENSION_RAR)) {\r
+                        return R.drawable.file_zip;\r
+                        \r
+                    } else if (getExtension(filename).equalsIgnoreCase(EXTENSION_RTF)) {\r
+                        return R.drawable.file_doc;\r
+                        \r
+                    } else if (getExtension(filename).equalsIgnoreCase(EXTENSION_3GP)) {\r
+                        return R.drawable.file_movie;\r
+                        \r
+                    } \r
+                } \r
             }\r
-            // problems: RAR, RTF, 3GP are send as application/octet-stream from the server ; extension in the filename should be explicitly reviewed\r
         }\r
 \r
         // default icon\r
@@ -180,7 +211,12 @@ public class DisplayUtils {
     }\r
 \r
     \r
-\r
+    private static String getExtension(String filename) {\r
+        String extension = filename.substring(filename.lastIndexOf(".") + 1);\r
+        \r
+        return extension;\r
+    }\r
+    \r
     /**\r
      * Converts Unix time to human readable format\r
      * @param miliseconds that have passed since 01/01/1970\r