修改礼包倒数领取规则

This commit is contained in:
kehaoyuan
2017-05-09 18:24:45 +08:00
parent a88c920ef0
commit ccca070dd2
10 changed files with 62 additions and 16 deletions

View File

@ -9,6 +9,7 @@ import com.gh.base.BaseDetailActivity;
import com.gh.common.util.*;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.adapter.LibaoDetailAdapter;
import com.gh.gamecenter.db.LibaoDao;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.entity.LibaoEntity;
import com.gh.gamecenter.eventbus.EBUISwitch;
@ -18,7 +19,10 @@ import retrofit2.HttpException;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
/**
* Created by khy on 2016/12/13.
@ -36,13 +40,21 @@ public class LibaoDetailActivity extends BaseDetailActivity implements LibaoDeta
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 0) {
long time = Utils.getTime(LibaoDetailActivity.this) - 5; // -5 防止获取服务器时间延迟发生的计算错误()
Calendar calendar = Calendar.getInstance();
Date date = new Date(time*1000);
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 24);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.MILLISECOND, 0);
long targetTime = calendar.getTimeInMillis() / 1000;
long delayedTime = (targetTime - Utils.getTime(LibaoDetailActivity.this)) * 1000;
long targetTime = calendar.getTimeInMillis();
long delayedTime = targetTime - time*1000;
Utils.log("=========delayedTime::" + delayedTime);
if (BuildConfig.DEBUG) {
toast("领取时间剩余: " + (delayedTime/1000) + "");
}
handler.sendEmptyMessageDelayed(1, delayedTime);
} else if (msg.what == 1) {
mLibaoEntity.setStatus(mLibaoEntity.getBeforeStatus());
@ -110,8 +122,13 @@ public class LibaoDetailActivity extends BaseDetailActivity implements LibaoDeta
getGameDigest();
String status = mLibaoEntity.getStatus();
if (mLibaoEntity.getRepeat() > 0 && (status.equals("linged") || status.equals("taoed"))) {
TokenUtils.getTime(LibaoDetailActivity.this);
handler.sendEmptyMessageDelayed(0, 5000);
LibaoDao libaoDao = new LibaoDao(this);
if (libaoDao.isCanLing(mLibaoEntity.getLibaoId(), this)) { // 再次检查重复重复领取条件,防止再礼包列表逗留时间过长,导致到了可领取时间
handler.sendEmptyMessage(1);
} else {
TokenUtils.getTime(LibaoDetailActivity.this);
handler.sendEmptyMessageDelayed(0, 5000);
}
}
}
}