package droidkit.app;
import android.content.Intent;
import android.net.Uri;
import android.os.Parcelable;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @author Daniel Serdyukov
*/
public final class ShareIntent {
private ShareIntent() {
}
@NonNull
public static Intent shareText(@NonNull String text) {
return share("text/*", text, null);
}
@NonNull
public static Intent shareImage(@NonNull List<Uri> attachments) {
return share("image/*", null, attachments);
}
@NonNull
public static Intent shareVideo(@NonNull List<Uri> attachments) {
return share("video/*", null, attachments);
}
@NonNull
public static Intent share(@Nullable String text, @NonNull List<Uri> attachments) {
return share("*/*", text, attachments);
}
@NonNull
private static Intent share(@NonNull String mime, @Nullable String text, @Nullable List<Uri> attachments) {
final Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType(mime);
if (!TextUtils.isEmpty(text)) {
intent.putExtra(Intent.EXTRA_TEXT, text);
}
if (attachments != null && !attachments.isEmpty()) {
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, new ArrayList<Parcelable>(attachments));
}
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
return intent;
}
}