|
|
@@ -24,7 +24,6 @@ import com.sheep.gamegroup.util.DataKey;
|
|
|
import com.sheep.gamegroup.util.DataUtil;
|
|
|
import com.sheep.gamegroup.util.Jump2View;
|
|
|
import com.sheep.gamegroup.util.ListUtil;
|
|
|
-import com.sheep.gamegroup.util.LogUtil;
|
|
|
import com.sheep.gamegroup.util.TimeUtil;
|
|
|
import com.sheep.gamegroup.util.ViewUtil;
|
|
|
import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
|
|
|
@@ -76,10 +75,10 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
// ImageView sheep_sign_egg;//中奖的球
|
|
|
@BindView(R.id.sheep_sign_egg_msg)
|
|
|
TextView sheep_sign_egg_msg;//中奖的球的文本
|
|
|
- @BindView(R.id.sign_guajiangqu)
|
|
|
- RelativeLayout signGuajiang;
|
|
|
+ @BindView(R.id.sign_gua_jiang_qu)
|
|
|
+ RelativeLayout signGuaJiang;
|
|
|
/* 是否有漏签 */
|
|
|
- private boolean attech = false;
|
|
|
+ private boolean hasMissSign = false;
|
|
|
|
|
|
@Override
|
|
|
protected int onLayout() {
|
|
|
@@ -172,7 +171,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
public void onNext(BaseMessage baseMessage) {
|
|
|
rechargeLogEntity = baseMessage.getData(RechargeLogEntity.class);
|
|
|
isFinishInitLastScratch = true;
|
|
|
- updateGignGuajiang();
|
|
|
+ updateSignGuaJiang();
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -199,7 +198,9 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- private List<UserSign> userSignList;
|
|
|
+ //签到记录列表
|
|
|
+ private List<UserSign> userSignList = ListUtil.emptyList();
|
|
|
+ //最后一次签到记录
|
|
|
private UserSign lastUserSign;
|
|
|
|
|
|
private void initSigns() {
|
|
|
@@ -211,8 +212,9 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
public void onNext(BaseMessage baseMessage) {
|
|
|
List<UserSign> data = baseMessage.getDataList(UserSign.class);
|
|
|
if (data != null) {
|
|
|
- userSignList = data;
|
|
|
- ViewUtil.setText(signInfoText, String.format(Locale.CHINA, "已签到%d天,连续%d天打卡可参与刮奖", data.size(), SIGN_PERIOD));
|
|
|
+ userSignList.clear();
|
|
|
+ ListUtil.addAll(userSignList, data);
|
|
|
+ ViewUtil.setText(signInfoText, String.format(Locale.CHINA, "已签到%d天,连续%d天签到可参与刮奖", data.size(), SIGN_PERIOD));
|
|
|
int max = 0;
|
|
|
lastUserSign = null;
|
|
|
/* 遍历最大签到周期 */
|
|
|
@@ -231,16 +233,13 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
}
|
|
|
}
|
|
|
/* 判断是否有漏签 */
|
|
|
- if (max > data.size()) {
|
|
|
- attech = true;
|
|
|
- signNowBut.setText("复活补签");
|
|
|
- } else {//没有漏签就设置今日签到状态
|
|
|
- //设置今日签到状态
|
|
|
- boolean isSignToday = lastUserSign != null && lastUserSign.isToday();
|
|
|
- ViewUtil.setText(signNowBut, isSignToday ? "已签到" : "签到");
|
|
|
-// ViewUtil.setEnabled(signNowBut, !isSignToday);
|
|
|
- }
|
|
|
- updateGignGuajiang();
|
|
|
+ hasMissSign = max > userSignList.size();
|
|
|
+ //设置今日签到状态
|
|
|
+ boolean isSignToday = lastUserSign != null && lastUserSign.isToday();
|
|
|
+ ViewUtil.setText(signNowBut, isSignToday ? "已签到" : "签到");
|
|
|
+ if(canSignInSupplement())//今日已经签到,并且有漏签、且今日没有进行补签,就设置复活补签
|
|
|
+ ViewUtil.setText(signNowBut, "复活补签");
|
|
|
+ updateSignGuaJiang();
|
|
|
} else {
|
|
|
G.showToast(R.string.service_data_error);
|
|
|
}
|
|
|
@@ -251,66 +250,13 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
G.showToast(baseMessage);
|
|
|
}
|
|
|
});
|
|
|
-// Network.api().getSigns()
|
|
|
-// .compose(Scheduler.apply(this.<SignsBean>bindUntilEvent(ActivityEvent.DESTROY)))
|
|
|
-// .subscribe(new Observer<SignsBean>() {
|
|
|
-// @Override
|
|
|
-// public void onSubscribe(Disposable d) {
|
|
|
-// }
|
|
|
-//
|
|
|
-// @SuppressLint("SetTextI18n")
|
|
|
-// @Override
|
|
|
-// public void onNext(SignsBean signsBean) {
|
|
|
-// List<SignsBean.DataBean> data = signsBean.getData();
|
|
|
-// signInfoText.setText("已签到" + data.size() + "天,连续6天打卡可参与刮奖");
|
|
|
-// int max = 0;
|
|
|
-// /* 遍历最大签到周期 */
|
|
|
-// for (SignsBean.DataBean bean : data) {
|
|
|
-// if (max == 0) {
|
|
|
-// max = bean.getDay();
|
|
|
-// } else {
|
|
|
-// max = Math.max(max, bean.getDay());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// /* 判断是否有漏签 */
|
|
|
-// if (max > data.size()) {
|
|
|
-// attech = true;
|
|
|
-// signNowBut.setText("复活补签");
|
|
|
-// /* 设置从第一天到最后一天的状态为未签到 */
|
|
|
-// for (int i = 0; i < max - 1; i++) {
|
|
|
-// UserSign dataBean = data.get(i);
|
|
|
-// TextView childAt = (TextView) signDayList.getChildAt(dataBean.getDay() - 1);
|
|
|
-// childAt.setBackground(getResources().getDrawable(R.drawable.shape_sign_bg_select));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// /* 设置已签到的天数状态 */
|
|
|
-// for (int i = 0; i < data.size(); i++) {
|
|
|
-// SignsBean.DataBean dataBean = data.get(i);
|
|
|
-// TextView childAt = (TextView) signDayList.getChildAt(dataBean.getDay() - 1);
|
|
|
-// childAt.setBackground(getResources().getDrawable(R.drawable.shape_sign_bg_select));
|
|
|
-// if (dataBean.getDay() == 6) {
|
|
|
-// childAt.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, null, getResources().getDrawable(R.drawable.giftbox_open));
|
|
|
-// } else {
|
|
|
-// childAt.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, null, getResources().getDrawable(R.drawable.qiandao));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onError(Throwable e) {
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onComplete() {
|
|
|
-// }
|
|
|
-// });
|
|
|
}
|
|
|
|
|
|
//更新刮奖显示状态
|
|
|
- private void updateGignGuajiang() {
|
|
|
+ private void updateSignGuaJiang() {
|
|
|
if(isFinishInitLastScratch && ListUtil.size(userSignList) == SIGN_PERIOD && (rechargeLogEntity == null || !rechargeLogEntity.isToday())){
|
|
|
//一个周期完成且今日没有刮奖时,可以进行刮奖
|
|
|
- ViewUtil.setVisibility(signGuajiang, true);
|
|
|
+ ViewUtil.setVisibility(signGuaJiang, true);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -320,7 +266,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
/**
|
|
|
* 补签
|
|
|
*/
|
|
|
- private void attechSign() {
|
|
|
+ private void signInSupplement() {
|
|
|
UserSign willUserSign;
|
|
|
if (ListUtil.isEmpty(userSignList)) {
|
|
|
willUserSign = new UserSign();
|
|
|
@@ -345,7 +291,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
.subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
@Override
|
|
|
public void onNext(BaseMessage baseMessage) {
|
|
|
- attech = false;
|
|
|
+ hasMissSign = false;
|
|
|
signNowBut.setText("签到");
|
|
|
// 重新请求签到状态接口
|
|
|
initSigns();
|
|
|
@@ -356,32 +302,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
G.showToast(baseMessage);
|
|
|
}
|
|
|
});
|
|
|
-// Network.api().signInSupplement()
|
|
|
-// .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
|
|
|
-// .subscribe(new Observer<SignDay>() {
|
|
|
-// @Override
|
|
|
-// public void onSubscribe(Disposable d) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onNext(SignDay signDay) {
|
|
|
-// attech = false;
|
|
|
-// signNowBut.setText("签到");
|
|
|
-// // 重新请求签到状态接口
|
|
|
-// initSigns();
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onError(Throwable e) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onComplete() {
|
|
|
-//
|
|
|
-// }
|
|
|
-// });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -398,12 +318,10 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
if (sheepSignResult.isSign()){
|
|
|
tryShowSignResultAndTask("签到成功", sheepSignResult.getAmount());
|
|
|
} else {
|
|
|
- eggsView.setStop(false);
|
|
|
aEggGoOut(NumberFormatUtils.retainMost2(sheepSignResult.getAmount()), new Action1<Animation>(){
|
|
|
|
|
|
@Override
|
|
|
public void call(Animation animation) {
|
|
|
- signNowBut.setText("已签到");
|
|
|
tryShowSignResultAndTask("签到成功", sheepSignResult.getAmount());
|
|
|
}
|
|
|
});
|
|
|
@@ -417,33 +335,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
// makeAndShowWindow("已签到", signDay.getData());
|
|
|
}
|
|
|
});
|
|
|
-// Network.api().signEveryDay()
|
|
|
-// .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
|
|
|
-// .subscribe(new Observer<SignDay>() {
|
|
|
-// @Override
|
|
|
-// public void onSubscribe(Disposable d) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onNext(SignDay signDay) {
|
|
|
-// signNowBut.setText("已签到");
|
|
|
-// signNowBut.setClickable(false);
|
|
|
-// signNowBut.setFocusable(false);
|
|
|
-// makeAndShowWindow("已签到", signDay.getData());
|
|
|
-// initSigns();
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onError(Throwable e) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onComplete() {
|
|
|
-//
|
|
|
-// }
|
|
|
-// });
|
|
|
}
|
|
|
|
|
|
private void showSignResultAndTask(final String title, final double money, RobTask robTask) {
|
|
|
@@ -475,45 +366,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-// /**
|
|
|
-// * 创建并显示窗口
|
|
|
-// */
|
|
|
-// @SuppressLint({"InflateParams", "SetTextI18n"})
|
|
|
-// private void makeAndShowWindow(String title, double money) {
|
|
|
-// final View dialog = LayoutInflater.from(this).inflate(R.layout.sign_ok_dialog, null);
|
|
|
-// ((TextView) dialog.findViewById(R.id.sign_window_title)).setText(title);
|
|
|
-// ((TextView) dialog.findViewById(R.id.sign_money_number)).setText("+" + money);
|
|
|
-// dialog.findViewById(R.id.sign_window_next).setOnClickListener(new View.OnClickListener() {
|
|
|
-// @Override
|
|
|
-// public void onClick(View v) {
|
|
|
-// // 换一个
|
|
|
-// }
|
|
|
-// });
|
|
|
-// dialog.findViewById(R.id.sign_window_share).setOnClickListener(new View.OnClickListener() {
|
|
|
-// @Override
|
|
|
-// public void onClick(View v) {
|
|
|
-// ((ViewGroup) getWindow().getDecorView()).removeView(dialog);
|
|
|
-// UMWeb web = new UMWeb("下载链接");
|
|
|
-// web.setTitle(getString(R.string.app_name));
|
|
|
-// web.setThumb(new UMImage(SignActivity.this, R.drawable.icon));
|
|
|
-// web.setDescription("任务详情");
|
|
|
-// new ShareAction(SignActivity.this)
|
|
|
-// .withMedia(web)
|
|
|
-// .setDisplayList(SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN, SHARE_MEDIA.QZONE, SHARE_MEDIA.WEIXIN_CIRCLE)
|
|
|
-// .setCallback(SignActivity.this)
|
|
|
-// .open();
|
|
|
-// }
|
|
|
-// });
|
|
|
-// dialog.findViewById(R.id.close_but).setOnClickListener(new View.OnClickListener() {
|
|
|
-// @Override
|
|
|
-// public void onClick(View v) {
|
|
|
-// ((ViewGroup) getWindow().getDecorView()).removeView(dialog);
|
|
|
-// }
|
|
|
-// });
|
|
|
-// ((ViewGroup) getWindow().getDecorView()).addView(dialog);
|
|
|
-// }
|
|
|
-
|
|
|
@OnClick(R.id.back_but)
|
|
|
public void onBackButClicked() {
|
|
|
finish();
|
|
|
@@ -526,17 +378,26 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
|
|
|
@OnClick(R.id.sign_now_but)
|
|
|
public void onSignNowButClicked() {
|
|
|
- if (attech && lastUserSign != null && lastUserSign.isToday()) {//有漏签并且今日已经签到,才能进行最近的补签
|
|
|
- CommonUtil.getInstance().tryShowShareDialog(new Action1<View>() {
|
|
|
- @Override
|
|
|
- public void call(View view) {
|
|
|
- ViewUtil.setText((TextView) view.findViewById(R.id.ask_share_title), "邀请获得复活机会");
|
|
|
- }
|
|
|
- }, this);
|
|
|
+ if (canSignInSupplement()) {
|
|
|
+ //该操作前提是lastUserSign是今天的数据,且没有进行过补签
|
|
|
+ if(lastUserSign.signShared()){//可以进行补签且进行过分享操作,可以直接补签
|
|
|
+ signInSupplement();
|
|
|
+ } else {
|
|
|
+ CommonUtil.getInstance().tryShowShareDialog(new Action1<View>() {
|
|
|
+ @Override
|
|
|
+ public void call(View view) {
|
|
|
+ ViewUtil.setText((TextView) view.findViewById(R.id.ask_share_title), "邀请获得复活机会");
|
|
|
+ }
|
|
|
+ }, this);
|
|
|
+ }
|
|
|
} else {
|
|
|
signNow();
|
|
|
}
|
|
|
}
|
|
|
+ //判断 是否可以补签
|
|
|
+ private boolean canSignInSupplement(){
|
|
|
+ return hasMissSign && lastUserSign != null && lastUserSign.isToday() && !lastUserSign.signSupplemented();//有漏签并且今日已经签到、今日没有进行过补签,才能进行最近的补签
|
|
|
+ }
|
|
|
|
|
|
@OnClick(R.id.go_to_pack_but)
|
|
|
public void onGoToPackButClicked() {
|
|
|
@@ -546,8 +407,8 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
//默认最小奖励
|
|
|
public static final float DEFAULT_FLOAT = 0.01f;
|
|
|
|
|
|
- @OnClick(R.id.sign_guajiangqu)
|
|
|
- public void onSignGuajiangquClicked() {
|
|
|
+ @OnClick(R.id.sign_gua_jiang_qu)
|
|
|
+ public void onSignGuaJiangquClicked() {
|
|
|
SheepApp.getInstance().getNetComponent().getApiService().postUserSignScratchCard()
|
|
|
.subscribeOn(Schedulers.io())
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
@@ -555,7 +416,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
@Override
|
|
|
public void onNext(BaseMessage baseMessage) {
|
|
|
SheepSignResult sheepSignResult = baseMessage.getData(SheepSignResult.class);
|
|
|
- signGuajiang.setVisibility(View.GONE);
|
|
|
+ signGuaJiang.setVisibility(View.GONE);
|
|
|
tryShowSignResultAndTask("刮奖成功", sheepSignResult.getAmount());
|
|
|
}
|
|
|
|
|
|
@@ -564,30 +425,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
G.showToast(baseMessage);
|
|
|
}
|
|
|
});
|
|
|
-// Network.api().signScratchCard()
|
|
|
-// .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
|
|
|
-// .subscribe(new Observer<SignDay>() {
|
|
|
-// @Override
|
|
|
-// public void onSubscribe(Disposable d) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onNext(SignDay signDay) {
|
|
|
-// signGuajiang.setVisibility(View.GONE);
|
|
|
-// makeAndShowWindow("刮奖成功", signDay.getData());
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onError(Throwable e) {
|
|
|
-//
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onComplete() {
|
|
|
-//
|
|
|
-// }
|
|
|
-// });
|
|
|
}
|
|
|
|
|
|
@OnClick(R.id.go_to_yaoqing)
|
|
|
@@ -597,26 +434,40 @@ public class SignActivity extends BaseActivity implements UMShareListener {
|
|
|
|
|
|
@Override
|
|
|
public void onStart(SHARE_MEDIA share_media) {
|
|
|
- LogUtil.println("SignActivity", "share", "onStart", share_media.getName());
|
|
|
+// LogUtil.println("SignActivity", "share", "onStart", share_media.getName());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onResult(SHARE_MEDIA share_media) {
|
|
|
- LogUtil.println("SignActivity", "share", "onResult", share_media.getName());
|
|
|
- if (attech)
|
|
|
- attechSign();
|
|
|
+// LogUtil.println("SignActivity", "share", "onResult", share_media.getName());
|
|
|
+ SheepApp.getInstance().getNetComponent().getApiService().postUserSignShare()
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ if (canSignInSupplement())
|
|
|
+ signInSupplement();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ if (canSignInSupplement())
|
|
|
+ G.showToast(baseMessage);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
|
|
|
String msg = throwable.getMessage();
|
|
|
G.showToast(msg != null && msg.contains("没有安装应用") ? "没有安装应用" : msg);
|
|
|
- LogUtil.println("SignActivity", "share", "onError", share_media.getName(), throwable.getMessage());
|
|
|
+// LogUtil.println("SignActivity", "share", "onError", share_media.getName(), throwable.getMessage());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onCancel(SHARE_MEDIA share_media) {
|
|
|
- LogUtil.println("SignActivity", "share", "onCancel", share_media.getName());
|
|
|
+// LogUtil.println("SignActivity", "share", "onCancel", share_media.getName());
|
|
|
}
|
|
|
|
|
|
@Override
|