package cl.monsoon.s1next.view.dialog; import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; import cl.monsoon.s1next.R; import cl.monsoon.s1next.data.User; import cl.monsoon.s1next.view.activity.LoginActivity; /** * A dialog shows login prompt. */ public final class LoginPromptDialogFragment extends DialogFragment { private static final String TAG = LoginPromptDialogFragment.class.getName(); /** * Show {@link LoginPromptDialogFragment} if user hasn't logged in. * * @return {@code true} if we need to show dialog, {@code false} otherwise. */ public static boolean showLoginPromptDialogIfNeeded(FragmentActivity fragmentActivity, User user) { if (!user.isLogged()) { new LoginPromptDialogFragment().show(fragmentActivity.getSupportFragmentManager(), LoginPromptDialogFragment.TAG); return true; } return false; } @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getContext()) .setMessage(R.string.dialog_message_login_prompt) .setPositiveButton(R.string.action_login, (dialog, which) -> LoginActivity.startLoginActivityForResultMessage(getActivity())) .setNegativeButton(android.R.string.cancel, null) .create(); } }