package com.piusvelte.sonet.fragment;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
/**
* Created by bemmanuel on 4/18/15.
*/
public abstract class BaseDialogFragment extends DialogFragment {
private static final String ARG_REQUEST_CODE = "request_code";
protected void setRequestCode(int requestCode) {
Bundle args = new Bundle();
args.putInt(ARG_REQUEST_CODE, requestCode);
setArguments(args);
}
protected void deliverResult(int resultCode) {
Bundle args = getArguments();
int requestCode = args.getInt(ARG_REQUEST_CODE);
Intent intent = new Intent()
.putExtras(args);
Fragment target = getTargetFragment();
if (target != null) {
target.onActivityResult(requestCode, resultCode, intent);
} else {
Fragment parent = getParentFragment();
if (parent != null) {
parent.onActivityResult(requestCode, resultCode, intent);
} else {
Activity activity = getActivity();
if (activity instanceof OnResultListener) {
((OnResultListener) activity).onResult(requestCode, resultCode, intent);
}
}
}
}
public interface OnResultListener {
void onResult(int requestCode, int resultCode, Intent data);
}
}