|
|
@@ -13,11 +13,13 @@ import android.widget.TextView;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.kfzs.duanduan.cardview.ScreenUtil;
|
|
|
import com.kfzs.duanduan.utils.ApkUtils;
|
|
|
import com.liulishuo.okdownload.DownloadTask;
|
|
|
import com.liulishuo.okdownload.OkDownload;
|
|
|
import com.liulishuo.okdownload.StatusUtil;
|
|
|
import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
|
|
|
+import com.sheep.gamegroup.absBase.AbsObserver;
|
|
|
import com.sheep.gamegroup.di.components.DaggerTaskDetailComponent;
|
|
|
import com.sheep.gamegroup.di.modules.TaskDetailModule;
|
|
|
import com.sheep.gamegroup.event.BigEvent;
|
|
|
@@ -77,10 +79,15 @@ import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.SpUtils;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
|
|
|
+import com.shuyu.gsyvideoplayer.GSYVideoManager;
|
|
|
+import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
|
|
|
+import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
|
|
|
+import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
|
|
|
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
|
|
|
import com.tencent.smtt.sdk.WebChromeClient;
|
|
|
import com.tencent.smtt.sdk.WebView;
|
|
|
import com.tencent.smtt.sdk.WebViewClient;
|
|
|
+import com.transitionseverywhere.extra.Scale;
|
|
|
|
|
|
import org.afinal.simplecache.ApiKey;
|
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
@@ -227,8 +234,29 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
private AdpTaskDetailChildListview adpTaskDetailChildListview;
|
|
|
private List<TaskChild> taskChildList = new ArrayList<>();
|
|
|
|
|
|
+ //------------------------
|
|
|
+ @BindView(R.id.video_player_view)
|
|
|
+ StandardGSYVideoPlayer videoPlayerView;
|
|
|
+ @BindView(R.id.about_merchandise_tile)
|
|
|
+ View about_merchandise_tile;
|
|
|
+ @BindView(R.id.most_discount_tv)
|
|
|
+ TextView most_discount_tv;
|
|
|
+ @BindView(R.id.watch_video_tag)
|
|
|
+ View watch_video_tag;
|
|
|
+ @BindView(R.id.watch_video_ico)
|
|
|
+ ImageView watch_video_ico;
|
|
|
+ @BindView(R.id.recharge_game_tag)
|
|
|
+ View recharge_game_tag;
|
|
|
+ @BindView(R.id.recharge_game_ico)
|
|
|
+ ImageView recharge_game_ico;
|
|
|
+ @BindView(R.id.video_player_layer)
|
|
|
+ View video_player_layer;
|
|
|
+ @BindView(R.id.video_task_tip)
|
|
|
+ TextView video_task_tip;
|
|
|
+
|
|
|
//是否需要在onResume中刷新页面
|
|
|
private boolean isFresh = false;
|
|
|
+ private boolean isDownloadImmeditely = false;
|
|
|
|
|
|
@Override
|
|
|
protected int getLayoutId() {
|
|
|
@@ -265,6 +293,11 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
AppUsageManager.getInstance().tryOpenLookAppUsageStatsPermission(false);
|
|
|
}
|
|
|
CommonUtil.getInstance().callActionWithUserInfo(userEntity -> ViewUtil.setVisibility(task_detail_pay_vip_tv, userEntity == null || !userEntity.isVIP()));
|
|
|
+ videoPlayerView.getBackButton().setVisibility(View.GONE);
|
|
|
+ int height = (ScreenUtil.getScreenWidth(this) - ScreenUtil.dip2px(this, 24) * 2) * 9 / 16;
|
|
|
+ if (videoPlayerView != null) {
|
|
|
+ videoPlayerView.getLayoutParams().height = height;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -353,6 +386,20 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
task_detail_reward.setVisibility(View.VISIBLE);
|
|
|
task_detail_cancel.setVisibility(View.GONE);
|
|
|
}
|
|
|
+ ViewUtil.setVisibility(priceTv, taskReleaseEty.isShop());
|
|
|
+ ViewUtil.setVisibility(item_money_vip_tv, !taskReleaseEty.isShop());
|
|
|
+ ViewUtil.setVisibility(task_detail_reward, !taskReleaseEty.isShop());
|
|
|
+ ViewUtil.setVisibility(about_merchandise_tile, taskReleaseEty.isShop());
|
|
|
+ ViewUtil.setText(most_discount_tv, "最高抵扣" + taskReleaseEty.getShop_amount() + "元");
|
|
|
+ ViewUtil.setVisibility(watch_video_tag, taskReleaseEty.getVideo_amount() > 0);
|
|
|
+ ViewUtil.setVisibility(watch_video_ico, taskReleaseEty.getVideo_amount() > 0);
|
|
|
+ ViewUtil.setVisibility(recharge_game_tag, taskEty.getBenchmark() == 4);
|
|
|
+ ViewUtil.setVisibility(recharge_game_ico, taskEty.getBenchmark() == 4);
|
|
|
+ ViewUtil.setImageRes(watch_video_ico, taskReleaseEty.getVideo_award() == 1 ? R.mipmap.icon_select : R.mipmap.text_delete);
|
|
|
+ ViewUtil.setImageRes(recharge_game_ico, taskReleaseEty.isAuto_progress() ? R.mipmap.icon_select : R.mipmap.text_delete);
|
|
|
+ if (taskReleaseEty.getVideo_amount() > 0) {
|
|
|
+ ViewUtil.setText(video_task_tip, "看完教程视频,立减" + taskReleaseEty.getVideo_amount() + "元");
|
|
|
+ }
|
|
|
updateBottom();
|
|
|
}
|
|
|
|
|
|
@@ -460,6 +507,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
if (gettaskAcceptedEty == null) {//无任务记录-->显示领取任务按钮
|
|
|
btnUpImag.setVisibility(View.GONE);//不显示第二按钮
|
|
|
btnTaskItem.setText(R.string.get_task);
|
|
|
+ // 自动领取任务
|
|
|
+ acceptedTask();
|
|
|
} else {//有任务记录
|
|
|
switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1004 小米游戏任务
|
|
|
case TASK_TYPE_H5://h5业务
|
|
|
@@ -618,7 +667,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
btnUpImag.setVisibility(View.GONE);
|
|
|
btnTaskItem.setText(R.string.get_task);
|
|
|
type = TASK_TYPE_INIT;
|
|
|
- } else if(taskReleaseEty != null && taskReleaseEty.isAppointTask()){
|
|
|
+ } else if (taskReleaseEty != null && taskReleaseEty.isAppointTask()) {
|
|
|
ViewUtil.setVisibility(btnUpImag, true);
|
|
|
ViewUtil.setTextId(btnUpImag, R.string.to_exchange);
|
|
|
} else {//不能上传截图则不显示第二按钮
|
|
|
@@ -639,7 +688,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
btnUpImag.setVisibility(View.GONE);
|
|
|
break;
|
|
|
default:
|
|
|
- if(taskReleaseEty != null && taskReleaseEty.isAppointTask() && gettaskAcceptedEty.isFinish()){
|
|
|
+ if (taskReleaseEty != null && taskReleaseEty.isAppointTask() && gettaskAcceptedEty.isFinish()) {
|
|
|
ViewUtil.setTextId(btnUpImag, R.string.to_exchange);
|
|
|
} else {
|
|
|
btnUpImag.setText("确认完成");//第二按钮不可点击且显示状态(sdk自动审核直接领取奖励)
|
|
|
@@ -749,6 +798,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
public void call(Object o) {
|
|
|
if (o instanceof Integer) {
|
|
|
type = (int) o;
|
|
|
+ if(type ==0 && isDownloadImmeditely){
|
|
|
+ onClickFirstBtn();
|
|
|
+ isDownloadImmeditely = false;
|
|
|
+ }
|
|
|
} else if (o instanceof String) {
|
|
|
btnTaskItem.setText((String) o);
|
|
|
} else if (o instanceof Boolean) {
|
|
|
@@ -800,11 +853,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
*/
|
|
|
private DownloadUtil downloadUtil;
|
|
|
|
|
|
- @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag, R.id.detail_share_friend_tv, R.id.task_detail_cancel,
|
|
|
- R.id.task_detail_pay_vip_tv, R.id.task_detail_vip_cl})
|
|
|
+ @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item,
|
|
|
+ R.id.btn_up_imag, R.id.detail_share_friend_tv, R.id.task_detail_cancel,
|
|
|
+ R.id.task_detail_pay_vip_tv, R.id.task_detail_vip_cl, R.id.ignore_video_btn,
|
|
|
+ R.id.video_player_layer})
|
|
|
public void onViewClicked(View view) {
|
|
|
try {
|
|
|
switch (view.getId()) {
|
|
|
+ case R.id.video_player_layer:
|
|
|
+ break;
|
|
|
case R.id.detail_task_tv://查看任务截图
|
|
|
lookScreenShot();
|
|
|
break;
|
|
|
@@ -835,7 +892,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
gettaskAcceptedEty = null;
|
|
|
taskReleaseEty = null;
|
|
|
CommonUtil.getInstance().updateAutoCheck(null);
|
|
|
- presenter.taskDesc(releaseTaskId);
|
|
|
+// presenter.taskDesc(releaseTaskId);
|
|
|
+ finish();
|
|
|
}
|
|
|
});
|
|
|
break;
|
|
|
@@ -845,6 +903,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
case R.id.task_detail_pay_vip_tv:
|
|
|
Jump2View.getInstance().gotoVip(this);
|
|
|
break;
|
|
|
+ case R.id.ignore_video_btn:
|
|
|
+ ViewUtil.setVisibility(video_player_layer, false);
|
|
|
+ GSYVideoManager.releaseAllVideos();
|
|
|
+ break;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
@@ -893,7 +955,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
} else {
|
|
|
accepteReceiveAward();
|
|
|
}
|
|
|
- } else if(taskReleaseEty != null && taskReleaseEty.isAppointTask() && gettaskAcceptedEty.isFinish()) {//定向任务已经完成时,可以去兑换
|
|
|
+ } else if (taskReleaseEty != null && taskReleaseEty.isAppointTask() && gettaskAcceptedEty.isFinish()) {//定向任务已经完成时,可以去兑换
|
|
|
Jump2View.getInstance().goAppointTaskList();
|
|
|
} else if (taskEty.isSdkAutoCommitTask()) {//sdk自动审核任务
|
|
|
try {
|
|
|
@@ -1436,9 +1498,13 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
taskReleaseEty.setIs_running(true);
|
|
|
taskReleaseEty.getTask().setRelease_task_id(taskReleaseEty.getId());
|
|
|
CommonUtil.getInstance().updateAutoCheck(taskReleaseEty.getTask());
|
|
|
-
|
|
|
getAcceptedTaskDetail(releaseTaskId);
|
|
|
-
|
|
|
+ if (!TextUtils.isEmpty(taskEty.getVideo_url())) {
|
|
|
+ startPlayVideo(taskEty.getVideo_url());
|
|
|
+ }
|
|
|
+ if (!TextUtils.isEmpty(taskEty.getPackage_names()) && !TextUtils.isEmpty(taskEty.getDownload_link())) {
|
|
|
+ isDownloadImmeditely = true;
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -1647,6 +1713,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
@Override
|
|
|
protected void onDestroy() {
|
|
|
super.onDestroy();
|
|
|
+ GSYVideoManager.releaseAllVideos();
|
|
|
EventBus.getDefault().unregister(this);
|
|
|
CommonUtil.getInstance().cancelAllTimers(CommonUtil.getInstance().timerHashMap);
|
|
|
}
|
|
|
@@ -1688,4 +1755,58 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void startPlayVideo(String url) {
|
|
|
+ ViewUtil.setVisibility(video_player_layer, !TextUtils.isEmpty(taskEty.getVideo_url()));
|
|
|
+ GSYVideoOptionBuilder gsyVideoOption = new GSYVideoOptionBuilder();
|
|
|
+ gsyVideoOption.setIsTouchWiget(false)
|
|
|
+ .setRotateViewAuto(true)
|
|
|
+ .setLockLand(true)
|
|
|
+ .setAutoFullWithSize(true)
|
|
|
+ .setShowFullAnimation(false)
|
|
|
+ .setUrl(url)
|
|
|
+ .setNeedLockFull(true)
|
|
|
+ .setCacheWithPlay(false)
|
|
|
+ .setVideoAllCallBack(new GSYSampleCallBack() {
|
|
|
+ @Override
|
|
|
+ public void onPrepared(String url, Object... objects) {
|
|
|
+ super.onPrepared(url, objects);
|
|
|
+ LogUtil.println("initPlay", "onPrepared", url, objects);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onAutoComplete(String url, Object... objects) {
|
|
|
+ super.onAutoComplete(url, objects);
|
|
|
+ LogUtil.println("initPlay", "onAutoComplete", url, objects);
|
|
|
+ if (gettaskAcceptedEty != null
|
|
|
+ && (gettaskAcceptedEty.getStatus() == 1
|
|
|
+ || gettaskAcceptedEty.getStatus() == 2)) {
|
|
|
+ SheepApp.getInstance().getNetComponent().getApiService()
|
|
|
+ .receiveAwardVideo(gettaskAcceptedEty.getId())
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ ViewUtil.setImageRes(watch_video_ico, R.mipmap.icon_select);
|
|
|
+ ViewUtil.setVisibility(video_player_layer, false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onPlayError(String url, Object... objects) {
|
|
|
+ super.onPlayError(url, objects);
|
|
|
+ long curPosition = GSYVideoManager.instance().getCurPlayerManager().getCurrentPosition();
|
|
|
+ LogUtil.println("initPlay", "onPlayError", url, curPosition);
|
|
|
+ }
|
|
|
+ }).build(videoPlayerView);
|
|
|
+ videoPlayerView.startPlayLogic();
|
|
|
+ }
|
|
|
}
|