package co.smartreceipts.android.fragments;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.widget.Toast;
import co.smartreceipts.android.R;
import co.smartreceipts.android.imports.RequestCodes;
public class ImportPhotoPdfDialogFragment extends DialogFragment implements DialogInterface.OnClickListener {
public static final String TAG = ImportPhotoPdfDialogFragment.class.getSimpleName();
private final int WHICH_IMAGE = 0;
private final int WHICH_PDF = 1;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final String image = getString(R.string.image);
final String pdf = getString(R.string.pdf);
final CharSequence[] choices = new CharSequence[] {image, pdf};
builder.setItems(choices, this);
builder.setCancelable(true);
return builder.create();
}
@Override
public void onClick(DialogInterface dialogInterface, int which) {
// @see https://developer.android.com/guide/topics/providers/document-provider.html#client
// Use ACTION_GET_CONTENT instead of ACTION_OPEN_DOCUMENT as this is simply a read/import
try {
final Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
if (which == WHICH_IMAGE) {
intent.setType("image/*");
getParentFragment().startActivityForResult(intent, RequestCodes.IMPORT_GALLERY_IMAGE);
} else if (which == WHICH_PDF) {
intent.setType("application/pdf");
getParentFragment().startActivityForResult(intent, RequestCodes.IMPORT_GALLERY_PDF);
}
} catch (ActivityNotFoundException ex) {
Toast.makeText(getContext(), getString(R.string.error_no_file_intent_dialog_title), Toast.LENGTH_SHORT).show();
}
dismiss();
}
}