package co.smartreceipts.android.rating; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import javax.inject.Inject; import co.smartreceipts.android.R; import co.smartreceipts.android.analytics.Analytics; import co.smartreceipts.android.analytics.events.Events; import co.smartreceipts.android.workers.EmailAssistant; import dagger.android.support.AndroidSupportInjection; /** * Dialog Fragment which asks if user wants to leave feedback */ public class FeedbackDialogFragment extends DialogFragment { @Inject Analytics analytics; @Override public void onAttach(Context context) { AndroidSupportInjection.inject(this); super.onAttach(context); } @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getContext()) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { analytics.record(Events.Ratings.UserAcceptedSendingFeedback); openEmailAssistant(); } }) .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { analytics.record(Events.Ratings.UserDeclinedSendingFeedback); dismiss(); } }) .setMessage(R.string.leave_feedback_text); return builder.create(); } private void openEmailAssistant() { final Intent intent = EmailAssistant.getEmailDeveloperIntent(getString(R.string.feedback, getString(R.string.sr_app_name))); startActivity(Intent.createChooser(intent, getResources().getString(R.string.send_email))); } }