瀏覽代碼

OC-3196: Rewrite according to comments in PR#420

masensio 11 年之前
父節點
當前提交
517bde6aae

+ 34 - 40
src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java

@@ -111,51 +111,45 @@ public class ShareLinkToDialog  extends SherlockDialogFragment {
         Collections.sort(activities, new ResolveInfo.DisplayNameComparator(pm)); 
         mAdapter = new ActivityAdapter(getSherlockActivity(), pm, activities);
         
-       
+        return createSelector(sendAction);
         
-        if (sendAction) {
-        
-            return new AlertDialog.Builder(getSherlockActivity())
-                       .setTitle(R.string.activity_chooser_send_file_title)
-                       .setAdapter(mAdapter, new DialogInterface.OnClickListener() {
-                               @Override
-                               public void onClick(DialogInterface dialog, int which) {
-                                   // Add the information of the chosen activity to the intent to send 
-                                   ResolveInfo chosen = mAdapter.getItem(which);
-                                   ActivityInfo actInfo = chosen.activityInfo;
-                                   ComponentName name=new ComponentName(actInfo.applicationInfo.packageName, actInfo.name);
-                                   mIntent.setComponent(name);                               
-                                   
-                                   dialog.dismiss();    // explicitly added for Android 2.x devices
+    }
 
-                                   // Send the file
-                                   ((FileActivity)getSherlockActivity()).startActivity(mIntent);
-                                   
-                               }
-                           })
-                       .create();
+    private AlertDialog createSelector(final boolean sendAction) {
+    
+        int titleId;
+        if (sendAction) {
+            titleId = R.string.activity_chooser_send_file_title;
         } else {
-            return new AlertDialog.Builder(getSherlockActivity())
-                       .setTitle(R.string.activity_chooser_title)
-                       .setAdapter(mAdapter, new DialogInterface.OnClickListener() {
-                               @Override
-                               public void onClick(DialogInterface dialog, int which) {
-                                   // Add the information of the chosen activity to the intent to send 
-                                   ResolveInfo chosen = mAdapter.getItem(which);
-                                   ActivityInfo actInfo = chosen.activityInfo;
-                                   ComponentName name=new ComponentName(actInfo.applicationInfo.packageName, actInfo.name);
-                                   mIntent.setComponent(name);                               
-                            
-                                   // Create a new share resource
-                                   FileOperationsHelper foh = new FileOperationsHelper();
-                                   foh.shareFileWithLinkToApp(mFile, mIntent, (FileActivity)getSherlockActivity());
-                                   
-                               }
-                           })
-                       .create();
+            titleId = R.string.activity_chooser_title;
         }
-    }
+        
+        return new AlertDialog.Builder(getSherlockActivity())
+                    .setTitle(titleId)
+                    .setAdapter(mAdapter, new DialogInterface.OnClickListener() {
+                        @Override
+                        public void onClick(DialogInterface dialog, int which) {
+                            // Add the information of the chosen activity to the intent to send 
+                            ResolveInfo chosen = mAdapter.getItem(which);
+                            ActivityInfo actInfo = chosen.activityInfo;
+                            ComponentName name=new ComponentName(actInfo.applicationInfo.packageName, actInfo.name);
+                            mIntent.setComponent(name);                               
+
+                            if (sendAction) {
+                                dialog.dismiss();    // explicitly added for Android 2.x devices
 
+                                // Send the file
+                                ((FileActivity)getSherlockActivity()).startActivity(mIntent);
+
+                            } else {
+                                // Create a new share resource
+                                FileOperationsHelper foh = new FileOperationsHelper();
+                                foh.shareFileWithLinkToApp(mFile, mIntent, (FileActivity)getSherlockActivity());
+                            }
+                        }
+        })
+        .create();
+    }
     
     class ActivityAdapter extends ArrayAdapter<ResolveInfo> {
         

+ 9 - 6
src/com/owncloud/android/ui/fragment/FileDetailFragment.java

@@ -256,12 +256,15 @@ public class FileDetailFragment extends FileFragment implements
         // Send file
         item = menu.findItem(R.id.action_send_file);
         boolean sendEnabled = getString(R.string.send_files_to_other_apps).equalsIgnoreCase("on");
-        if (item != null  && sendEnabled) {
-            item.setVisible(true);
-            item.setEnabled(true);
-        } else {
-            item.setVisible(false);
-            item.setEnabled(false);
+        if (item != null) {
+            if (sendEnabled) {
+                item.setVisible(true);
+                item.setEnabled(true);
+            } else {
+                item.setVisible(false);
+                item.setEnabled(false);
+                
+            }
         }
     }