Added support for sharing files:
authortobiasKaminsky <tobias@kaminsky.me>
Sun, 24 Nov 2013 09:00:04 +0000 (10:00 +0100)
committertobiasKaminsky <tobias@kaminsky.me>
Sun, 24 Nov 2013 09:00:04 +0000 (10:00 +0100)
- Long press on file list
- Add option on ImageViewer

res/menu/file_actions_menu.xml
res/values-de-rCH/strings.xml
res/values-de-rDE/strings.xml
res/values-de/strings.xml
res/values-en-rGB/strings.xml
res/values/strings.xml
res/values/styles.xml
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

index 1aa2823..c292dff 100644 (file)
@@ -27,5 +27,6 @@
        <item   android:id="@+id/action_rename_file"                    android:title="@string/common_rename"                           android:icon="@android:drawable/ic_menu_set_as"                                 android:orderInCategory="1" />
     <item      android:id="@+id/action_remove_file"                    android:title="@string/common_remove"                           android:icon="@android:drawable/ic_menu_delete"                                 android:orderInCategory="1" />
     <item      android:id="@+id/action_see_details"                    android:title="@string/actionbar_see_details"           android:icon="@android:drawable/ic_menu_info_details"                   android:orderInCategory="1" />
        <item   android:id="@+id/action_rename_file"                    android:title="@string/common_rename"                           android:icon="@android:drawable/ic_menu_set_as"                                 android:orderInCategory="1" />
     <item      android:id="@+id/action_remove_file"                    android:title="@string/common_remove"                           android:icon="@android:drawable/ic_menu_delete"                                 android:orderInCategory="1" />
     <item      android:id="@+id/action_see_details"                    android:title="@string/actionbar_see_details"           android:icon="@android:drawable/ic_menu_info_details"                   android:orderInCategory="1" />
+    <item      android:id="@+id/action_share_file"                             android:title="@string/actionbar_share_file"            android:icon="@android:drawable/ic_menu_info_details"                   android:orderInCategory="1" />
     
 </menu>
     
 </menu>
index 0d5cde2..619fca8 100644 (file)
@@ -10,6 +10,7 @@
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
+  <string name="actionbar_share_file">Teile Datei</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
index 1a8f2ca..22cd02f 100644 (file)
@@ -10,6 +10,7 @@
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
+  <string name="actionbar_share_file">Teile Datei</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
index 8478772..5fbc442 100644 (file)
@@ -10,6 +10,7 @@
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
   <string name="actionbar_mkdir">Ordner anlegen</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="actionbar_see_details">Details</string>
+  <string name="actionbar_share_file">Teile Datei</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
   <string name="prefs_category_general">Allgemein</string>
   <string name="prefs_category_more">Mehr</string>
   <string name="prefs_accounts">Konten</string>
index 8d062f3..e47efd9 100644 (file)
@@ -10,6 +10,7 @@
   <string name="actionbar_mkdir">Create directory</string>
   <string name="actionbar_settings">Settings</string>
   <string name="actionbar_see_details">Details</string>
   <string name="actionbar_mkdir">Create directory</string>
   <string name="actionbar_settings">Settings</string>
   <string name="actionbar_see_details">Details</string>
+  <string name="actionbar_share_file">Share</string>
   <string name="prefs_category_general">General</string>
   <string name="prefs_category_more">More</string>
   <string name="prefs_accounts">Accounts</string>
   <string name="prefs_category_general">General</string>
   <string name="prefs_category_more">More</string>
   <string name="prefs_accounts">Accounts</string>
index 05c7ecf..61d0448 100644 (file)
@@ -11,7 +11,7 @@
     <string name="actionbar_mkdir">Create directory</string>
     <string name="actionbar_settings">Settings</string>
     <string name="actionbar_see_details">Details</string>
     <string name="actionbar_mkdir">Create directory</string>
     <string name="actionbar_settings">Settings</string>
     <string name="actionbar_see_details">Details</string>
-    
+    <string name="actionbar_share_file">Share</string>
     <string name="prefs_category_general">General</string>
     <string name="prefs_category_more">More</string>
     <string name="prefs_accounts">Accounts</string>
     <string name="prefs_category_general">General</string>
     <string name="prefs_category_more">More</string>
     <string name="prefs_accounts">Accounts</string>
index 034ca5c..c65cbad 100644 (file)
@@ -59,7 +59,7 @@
        </style>
 
        <!-- Dialogs -->
        </style>
 
        <!-- Dialogs -->
-       <style name="Theme.ownCloud.Dialog" parent="style/Theme.Sherlock.Light.Dialog">
+       <style name="Theme.ownCloud.Dialog" parent="@android:style/Theme.Dialog">
        </style>
        
        <!-- PopDownMenu -->
        </style>
        
        <!-- PopDownMenu -->
index c75eedb..6da24cd 100644 (file)
@@ -43,9 +43,10 @@ import com.owncloud.android.ui.preview.PreviewImageFragment;
 import com.owncloud.android.ui.preview.PreviewMediaFragment;
 import com.owncloud.android.utils.Log_OC;
 
 import com.owncloud.android.ui.preview.PreviewMediaFragment;
 import com.owncloud.android.utils.Log_OC;
 
-
 import android.accounts.Account;
 import android.app.Activity;
 import android.accounts.Account;
 import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.view.ContextMenu;
 import android.os.Bundle;
 import android.os.Handler;
 import android.view.ContextMenu;
@@ -222,6 +223,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName
             toHide.add(R.id.action_cancel_upload);
             toHide.add(R.id.action_sync_file);
             toHide.add(R.id.action_see_details);
             toHide.add(R.id.action_cancel_upload);
             toHide.add(R.id.action_sync_file);
             toHide.add(R.id.action_see_details);
+            toHide.add(R.id.action_share_file);
             if (    mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) ||
                     mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile)           ) {
                 toDisable.add(R.id.action_rename_file);
             if (    mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) ||
                     mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile)           ) {
                 toDisable.add(R.id.action_rename_file);
@@ -345,6 +347,14 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName
                 ((FileFragment.ContainerActivity)getActivity()).showDetails(mTargetFile);
                 return true;
             }
                 ((FileFragment.ContainerActivity)getActivity()).showDetails(mTargetFile);
                 return true;
             }
+            case R.id.action_share_file: {
+                Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
+                // set MimeType
+                sharingIntent.setType(mTargetFile.getMimetype());
+                sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+mTargetFile.getStoragePath()));
+                startActivity(Intent.createChooser(sharingIntent, "Share via")); 
+                return true;
+            }
             default:
                 return super.onContextItemSelected(item); 
         }
             default:
                 return super.onContextItemSelected(item); 
         }
index ebc17c6..022120b 100644 (file)
@@ -260,11 +260,23 @@ public class PreviewImageFragment extends FileFragment implements   OnRemoteOper
                 seeDetails();
                 return true;
             }
                 seeDetails();
                 return true;
             }
+            case R.id.action_share_file: {
+                shareFile();
+                return true;
+            }
             
             default:
                 return false;
         }
     }
             
             default:
                 return false;
         }
     }
+    
+    private void shareFile(){
+        Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
+        // set MimeType
+        sharingIntent.setType(getFile().getMimetype());
+        sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+getFile().getStoragePath()));
+        startActivity(Intent.createChooser(sharingIntent, "Share via"));
+    }
 
     
     private void seeDetails() {
 
     
     private void seeDetails() {