package com.malcom.library.android.module.campaign;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.malcom.library.android.utils.MCMUtils;
/**
* Created by PedroDuran on 25/07/13.
*/
public class MCMCampaignHelper {
public interface RateMyAppDialogDelegate {
public void dialogRatePressed(MCMCampaignDTO campaignDTO);
public void dialogDisablePressed(MCMCampaignDTO campaignDTO);
public void dialogRemindMeLaterPressed(MCMCampaignDTO campaignDTO);
}
/**
* Method that creates an alert for rate my app campaign
* @param activity
* @param campaignDTO
* @param delegate
*/
protected static void showRateMyAppDialog(Activity activity, final MCMCampaignDTO campaignDTO, final RateMyAppDialogDelegate delegate) {
//Default strings
String title = MCMCampaignDefines.TITLE_DEFAULT;
String message = MCMCampaignDefines.MESSAGE_DEFAULT;
String rateButtonText = MCMCampaignDefines.RATE_BUTTON_DEFAULT;
String remindMeLaterButtonText = MCMCampaignDefines.REMIND_BUTTON_DEFAULT;
String disableButtonText = MCMCampaignDefines.DISABLE_BUTTON_DEFAULT;
int idTitle = activity.getResources().getIdentifier(MCMCampaignDefines.RATE_TITLE_ID, "string", activity.getPackageName());
int idMessage = activity.getResources().getIdentifier(MCMCampaignDefines.RATE_MESSAGE_ID, "string", activity.getPackageName());
int idRate = activity.getResources().getIdentifier(MCMCampaignDefines.RATE_BUTTON_ID, "string", activity.getPackageName());
int idRemind = activity.getResources().getIdentifier(MCMCampaignDefines.RATE_REMIND_ID, "string", activity.getPackageName());
int idDisable = activity.getResources().getIdentifier(MCMCampaignDefines.RATE_DISABLE_ID, "string", activity.getPackageName());
//Get the localized strings if exists
if (idTitle != 0) {
title = activity.getString(idTitle);
}
if (idMessage != 0) {
message = activity.getString(idMessage);
}
if (idRate != 0) {
rateButtonText = activity.getString(idRate);
}
if (idRemind != 0) {
remindMeLaterButtonText = activity.getString(idRemind);
}
if (idDisable != 0) {
disableButtonText = activity.getString(idDisable);
}
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
//Configure alert dialog
alertDialogBuilder
.setTitle(title)
.setMessage(message)
.setCancelable(true)
.setPositiveButton(rateButtonText, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
delegate.dialogRatePressed(campaignDTO);
dialog.dismiss();
}
})
.setNeutralButton(remindMeLaterButtonText, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
delegate.dialogRemindMeLaterPressed(campaignDTO);
dialog.dismiss();
}
})
.setNegativeButton(disableButtonText, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
delegate.dialogDisablePressed(campaignDTO);
dialog.dismiss();
}
});
//Create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
//Show it
alertDialog.show();
}
}