package com.malcom.library.android.module.campaign;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
/**
* Created with IntelliJ IDEA.
* User: PedroDuran
* Date: 09/05/13
* Time: 12:50
* To change this template use File | Settings | File Templates.
*/
public class MCMCampaignBannerListener implements View.OnClickListener {
private Activity activity;
private MCMCampaignDTO campaign;
MCMCampaignBannerView.MCMCampaignBannerDelegate delegate;
public MCMCampaignBannerListener(Activity activity, MCMCampaignDTO campaignModel, MCMCampaignBannerView.MCMCampaignBannerDelegate delegate) {
this.activity = activity;
this.campaign = campaignModel;
this.delegate = delegate;
}
public void onClick(View view) {
// Notify delegate the click
if (delegate != null) {
delegate.bannerPressed(campaign);
}
if (campaign.getType() == MCMCampaignDTO.CampaignType.IN_APP_CROSS_SELLING) {
crossSellingClick();
}
if (campaign.getType() == MCMCampaignDTO.CampaignType.IN_APP_EXTERNAL_URL) {
externalURLClick();
}
// Send Click Hit event to Malcom
new MCMCampaignAsyncTasks.NotifyServer(activity.getApplicationContext()).execute(MCMCampaignDefines.ATTR_CLICK_HIT, campaign.getCampaignId());
}
private void crossSellingClick() {
// Open campaign app in PlayStore
try {
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + campaign.getPromotionIdentifier())));
} catch (android.content.ActivityNotFoundException anfe) {
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + campaign.getPromotionIdentifier())));
}
}
private void externalURLClick() {
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(campaign.getExternalPromotionURL())));
}
}