package com.ittianyu.pocenter.features.version;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
import com.allenliu.versionchecklib.AVersionService;
import com.google.gson.Gson;
import com.ittianyu.pocenter.BuildConfig;
import com.ittianyu.pocenter.R;
import com.ittianyu.pocenter.common.utils.UnsafeOkHttpUtils;
import com.zhy.http.okhttp.OkHttpUtils;
public class CheckVersionService extends AVersionService {
public static final String SHOW_LAST = "showLast";
private boolean showLast = false;
public CheckVersionService() {
OkHttpUtils.initClient(UnsafeOkHttpUtils.getClient());
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
showLast = intent.getBooleanExtra(SHOW_LAST, showLast);
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onResponses(AVersionService service, String response) {
Gson gson = new Gson();
VersionBean versionBean = gson.fromJson(response, VersionBean.class);
if (versionBean.versionCode > BuildConfig.VERSION_CODE) {
//传入下载地址,以及版本更新消息
service.showVersionDialog(versionBean.apkUrl, versionBean.changeLog);
} else {
if (showLast)
Toast.makeText(service.getApplicationContext(), R.string.tips_already_last_version, Toast.LENGTH_SHORT).show();
//由于是回调方法,当不进行版本升级时,需要手动关闭service。需要进行版本升级时,由库管理生命周期
stopSelf();
}
}
}