package com.uservoice.uservoicesdk.dialog; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.webkit.WebView; import com.uservoice.uservoicesdk.R; import com.uservoice.uservoicesdk.activity.InstantAnswersActivity; import com.uservoice.uservoicesdk.babayaga.Babayaga; import com.uservoice.uservoicesdk.deflection.Deflection; import com.uservoice.uservoicesdk.model.Article; import com.uservoice.uservoicesdk.ui.InstantAnswersAdapter; import com.uservoice.uservoicesdk.ui.Utils; @SuppressLint({"ValidFragment", "NewApi"}) public class ArticleDialogFragment extends DialogFragmentBugfixed { private final Article article; private WebView webView; public ArticleDialogFragment(Article article) { this.article = article; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.uv_article_instant_answer_question); webView = new WebView(getActivity()); if (!Utils.isDarkTheme(getActivity())) { builder.setInverseBackgroundForced(true); } builder.setView(webView); Utils.displayArticle(webView, article, getActivity()); builder.setNegativeButton(R.string.uv_no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (getActivity() instanceof InstantAnswersActivity) { Deflection.trackDeflection("unhelpful", article); InstantAnswersActivity activity = (InstantAnswersActivity) getActivity(); InstantAnswersAdapter adapter = (InstantAnswersAdapter) activity.getListAdapter(); adapter.notHelpful(); } else { UnhelpfulDialogFragment dialogFragment = new UnhelpfulDialogFragment(); dialogFragment.show(getActivity().getSupportFragmentManager(), "UnhelpfulDialogFragment"); } } }); builder.setPositiveButton(R.string.uv_very_yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Babayaga.track(Babayaga.Event.VOTE_ARTICLE, article.getId()); if (getActivity() instanceof InstantAnswersActivity) { Deflection.trackDeflection("helpful", article); HelpfulDialogFragment helpfulDialog = new HelpfulDialogFragment(); helpfulDialog.show(getActivity().getSupportFragmentManager(), "HelpfulDialogFragment"); } } }); Babayaga.track(Babayaga.Event.VIEW_ARTICLE, article.getId()); return builder.create(); } @Override public void onDismiss(DialogInterface dialog) { webView.onPause(); webView.loadUrl("about:blank"); super.onDismiss(dialog); } }