package com.jdroid.android.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.utils.LoggerUtils;
import org.slf4j.Logger;
import java.util.List;
public class InstallReferrerReceiver extends BroadcastReceiver {
private static final Logger LOGGER = LoggerUtils.getLogger(InstallReferrerReceiver.class);
private static final String INSTALL_ACTION = "com.android.vending.INSTALL_REFERRER";
private List<BroadcastReceiver> receivers = Lists.newArrayList();
public InstallReferrerReceiver(List<BroadcastReceiver> receivers) {
this.receivers = receivers;
}
/**
* @see android.content.BroadcastReceiver#onReceive(android.content.Context, android.content.Intent)
*/
@Override
public void onReceive(Context context, Intent intent) {
try {
if (INSTALL_ACTION.equals(intent.getAction())) {
for (BroadcastReceiver each : receivers) {
try {
LOGGER.warn("Executing " + each.getClass().getSimpleName());
each.onReceive(context, intent);
} catch (Exception e) {
LOGGER.error("Error when executing " + each.getClass().getSimpleName(), e);
}
}
}
} catch (Exception e) {
LOGGER.error("Error when executing receivers", e);
}
}
}