X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/ac836eddb76f9489d4ed643802f6c89b184a88c3..ec19a11a385ff21d3e85a94e618d48d8be9ef20d:/src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java diff --git a/src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java b/src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java index f4af7e19..2876f7b1 100644 --- a/src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java +++ b/src/com/owncloud/android/ui/dialog/ShareLinkToDialog.java @@ -42,10 +42,10 @@ import android.widget.TextView; import com.actionbarsherlock.app.SherlockDialogFragment; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.files.FileOperationsHelper; +import com.owncloud.android.lib.common.utils.Log_OC; +import com.owncloud.android.ui.activity.ComponentsGetter; import com.owncloud.android.ui.activity.CopyToClipboardActivity; import com.owncloud.android.ui.activity.FileActivity; -import com.owncloud.android.utils.Log_OC; /** * Dialog showing a list activities able to resolve a given Intent, @@ -111,48 +111,47 @@ 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); - - // 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 + ((ComponentsGetter)getSherlockActivity()).getFileOperationsHelper() + .shareFileWithLinkToApp(mFile, mIntent); + } + } + }) + .create(); + } class ActivityAdapter extends ArrayAdapter {