package com.mappn.gfan.common.util;
import java.io.File;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
import com.mappn.gfan.Session;
import com.mappn.gfan.common.ApiAsyncTask.ApiRequestListener;
import com.mappn.gfan.common.MarketAPI;
import com.mappn.gfan.common.download.Constants;
import com.mappn.gfan.common.download.DownloadManager;
import com.mappn.gfan.common.vo.SplashInfo;
public class CheckSplashUpdateReceiver extends BroadcastReceiver implements ApiRequestListener {
private Context mContext;
@Override
public void onReceive(Context context, Intent intent) {
mContext = context;
MarketAPI.checkNewSplash(context, this);
}
@Override
public void onSuccess(int method, Object obj) {
SplashInfo upgrades = (SplashInfo) obj;
Session session = Session.get(mContext);
if (upgrades != null && !TextUtils.isEmpty(upgrades.url)) {
File oldSplash = new File(mContext.getCacheDir(), "splash.png");
if (oldSplash.exists()) {
oldSplash.delete();
}
DownloadManager dm = session.getDownloadManager();
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(upgrades.url));
request.setMimeType(Constants.MIMETYPE_IMAGE);
request.setDestination(DownloadManager.Impl.DESTINATION_CACHE_PARTITION);
request.setShowRunningNotification(false);
request.setTitle("splash.png");
long id = dm.enqueue(request);
session.setSplashId(id);
session.setSplashTime(upgrades.timestamp);
}
}
@Override
public void onError(int method, int statusCode) {
Utils.D("market error when check upgrade info " + statusCode);
}
}