package com.fsck.k9.activity.compose; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.support.annotation.IdRes; import android.view.LayoutInflater; import android.view.View; import com.fsck.k9.R; import com.fsck.k9.view.HighlightDialogFragment; public class PgpSignOnlyDialog extends HighlightDialogFragment { public static final String ARG_FIRST_TIME = "first_time"; public static PgpSignOnlyDialog newInstance(boolean firstTime, @IdRes int showcaseView) { PgpSignOnlyDialog dialog = new PgpSignOnlyDialog(); Bundle args = new Bundle(); args.putInt(ARG_FIRST_TIME, firstTime ? 1 : 0); args.putInt(ARG_HIGHLIGHT_VIEW, showcaseView); dialog.setArguments(args); return dialog; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Activity activity = getActivity(); @SuppressLint("InflateParams") View view = LayoutInflater.from(activity).inflate(R.layout.openpgp_sign_only_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setView(view); if (getArguments().getInt(ARG_FIRST_TIME) != 0) { builder.setPositiveButton(R.string.openpgp_sign_only_ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); } else { builder.setPositiveButton(R.string.openpgp_sign_only_disable, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Activity activity = getActivity(); if (activity == null) { return; } ((OnOpenPgpSignOnlyChangeListener) activity).onOpenPgpSignOnlyChange(false); dialog.dismiss(); } }); builder.setNegativeButton(R.string.openpgp_sign_only_keep_enabled, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); } return builder.create(); } public interface OnOpenPgpSignOnlyChangeListener { void onOpenPgpSignOnlyChange(boolean enabled); } }