2019-07-01 14:27:22 +00:00
|
|
|
package eu.faircode.email;
|
|
|
|
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
import android.content.Intent;
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import androidx.fragment.app.DialogFragment;
|
|
|
|
import androidx.fragment.app.Fragment;
|
|
|
|
|
|
|
|
import static android.app.Activity.RESULT_CANCELED;
|
|
|
|
|
|
|
|
public class DialogFragmentEx extends DialogFragment {
|
2019-07-01 14:46:40 +00:00
|
|
|
private boolean once = false;
|
|
|
|
|
2019-07-01 14:27:22 +00:00
|
|
|
@Override
|
|
|
|
public void onDismiss(@NonNull DialogInterface dialog) {
|
|
|
|
super.onDismiss(dialog);
|
|
|
|
sendResult(RESULT_CANCELED);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void sendResult(int result) {
|
2019-07-01 14:46:40 +00:00
|
|
|
if (!once) {
|
|
|
|
once = true;
|
|
|
|
Fragment target = getTargetFragment();
|
|
|
|
Log.i("Dialog target=" + target + " result=" + result);
|
|
|
|
if (target != null) {
|
|
|
|
Intent data = new Intent();
|
|
|
|
data.putExtra("args", getArguments());
|
|
|
|
target.onActivityResult(getTargetRequestCode(), result, data);
|
|
|
|
}
|
2019-07-01 14:27:22 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|