123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package com.epson.mobilephone.common;
- import android.app.AlertDialog;
- import android.app.Dialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.Uri;
- import android.os.Bundle;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.fragment.app.DialogFragment;
- import androidx.fragment.app.FragmentActivity;
- import epson.print.R;
- public class ReviewInvitationDialog extends DialogFragment {
- private static final String GOOGLE_PLAY_STORE_ID = "market://details?id=epson.print";
- private OnClickListener mOnClickListener;
- public interface OnClickListener {
- void invitationDialogClicked(boolean z);
- }
- public static ReviewInvitationDialog newInstance() {
- return new ReviewInvitationDialog();
- }
- @NonNull
- public Dialog onCreateDialog(@Nullable Bundle bundle) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setMessage(R.string.review_guidance_message).setPositiveButton(R.string.review_guidance_ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- startReview();
- doCallback(true);
- }
- }).setNegativeButton(R.string.review_guidance_cancel, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- doCallback(false);
- }
- });
- setCancelable(false);
- return builder.create();
- }
- private void startReview() {
- FragmentActivity activity = getActivity();
- if (activity != null) {
- PackageManager packageManager = activity.getPackageManager();
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.setData(Uri.parse(GOOGLE_PLAY_STORE_ID));
- if (intent.resolveActivity(packageManager) != null) {
- activity.startActivity(intent);
- }
- }
- }
- private void doCallback(boolean z) {
- mOnClickListener.invitationDialogClicked(z);
- }
- public void onAttach(Context context) {
- super.onAttach(context);
- try {
- mOnClickListener = (OnClickListener) context;
- } catch (ClassCastException unused) {
- throw new ClassCastException(context.toString() + " must implement ReviewInvitationDialog.OnClickListener");
- }
- }
- public void onDetach() {
- super.onDetach();
- mOnClickListener = null;
- }
- }
|