package com.hkm.ezwebviewsample.Dialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.FragmentManager;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import com.hkm.ezwebviewsample.R;
import java.util.Calendar;
/**
* Created by hesk on 10/11/15.
*/
public class ExitDialog extends DialogFragment {
private static long last_tap = 0;
public static boolean Tap(FragmentManager manager, Runnable saverun) {
long timeNow = Calendar.getInstance().getTimeInMillis();
final int minDurationBetweenDoubleTap = 500;
if (last_tap != 0) {
if (timeNow - last_tap < minDurationBetweenDoubleTap) {
exitTrigger(manager);
onclickrun = saverun;
return true;
}
}
last_tap = timeNow;
return false;
}
private static Runnable onclickrun;
private static void exitTrigger(FragmentManager manager) {
ExitDialog.message().show(manager, "exitAlert");
}
private static Bundle getMessageBundle() {
Bundle h = new Bundle();
h.putInt("message", R.string.exit_alert);
return h;
}
private static ExitDialog message() {
ExitDialog e = new ExitDialog();
e.setArguments(getMessageBundle());
return e;
}
protected void onNoticedExitDialog(DialogInterface dialog, int id, String original_message) {
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final String exitmessage = getResources().getString(getArguments().getInt("message"));
builder.setMessage(exitmessage)
.setNegativeButton("Not yet", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
onNoticedExitDialog(dialog, id, exitmessage);
dialog.dismiss();
ExitDialog.onclickrun.run();
}
})
.setCancelable(false)
;
// Create the AlertDialog object and return it
return builder.create();
}
}