Explorar o código

task ui refact

hanjing %!s(int64=6) %!d(string=hai) anos
pai
achega
2e1ae3f2fa

+ 3 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -243,6 +243,9 @@ public interface ApiService {
     @POST("app/accepted_task/auto_check/")
     Observable<BaseMessage> commitAutoTask(@Body JSONObject param);
 
+    @PUT("app/accepted_task/receive_award_video/{id}")
+    Observable<BaseMessage> receiveAwardVideo(@Path("id") int id);
+
     /**
      * 获取未查看的任务成功或失败的记录
      */

+ 68 - 12
app/src/main/java/com/sheep/gamegroup/model/entity/Release_task.java

@@ -90,6 +90,57 @@ public class Release_task implements Serializable, MultiItemEntity {
     private int is_appoint;// int(11) NOT NULL DEFAULT '0' COMMENT '是否指定任务 1:是 0:不指定'
     private String reward_type_name;//`orm:"-" description:"奖励方式" json:"reward_type_name"` 绵羊币或者其它
 
+    //----------------------
+    private int is_shop = 2;
+    private int video_award = 2;  //完成看视频
+    private double shop_amount = 0d;
+    private double video_amount = 0d;
+    private boolean auto_progress = false; //充值完成
+
+    public boolean isAuto_progress() {
+        return auto_progress;
+    }
+
+    public void setAuto_progress(boolean auto_progress) {
+        this.auto_progress = auto_progress;
+    }
+
+    public boolean isShop() {
+        return is_shop == 1;
+    }
+
+    public int getIs_shop() {
+        return is_shop;
+    }
+
+    public void setIs_shop(int is_shop) {
+        this.is_shop = is_shop;
+    }
+
+    public int getVideo_award() {
+        return video_award;
+    }
+
+    public void setVideo_award(int video_award) {
+        this.video_award = video_award;
+    }
+
+    public double getShop_amount() {
+        return shop_amount;
+    }
+
+    public void setShop_amount(double shop_amount) {
+        this.shop_amount = shop_amount;
+    }
+
+    public double getVideo_amount() {
+        return video_amount;
+    }
+
+    public void setVideo_amount(double video_amount) {
+        this.video_amount = video_amount;
+    }
+
     public void setReward_type_name(String reward_type_name) {
         this.reward_type_name = reward_type_name;
     }
@@ -366,12 +417,16 @@ public class Release_task implements Serializable, MultiItemEntity {
 
 
     public String getCashOrWelfare() {
-        switch (cash_task) {
-            case 2:
-                return "福利";
-            case 1:
-            default:
-                return "现金";
+        if(isShop()){
+            return "回报";
+        } else {
+            switch (cash_task) {
+                case 2:
+                    return "福利";
+                case 1:
+                default:
+                    return "现金";
+            }
         }
     }
 
@@ -472,6 +527,7 @@ public class Release_task implements Serializable, MultiItemEntity {
     public String getRewardMsg() {
         return String.format(Locale.CHINA, "+%s元%s", getBonusText(), getRewardTypeNameMsg());
     }
+
     /**
      * +5元
      *
@@ -507,7 +563,8 @@ public class Release_task implements Serializable, MultiItemEntity {
     public int getDifficulty() {
         return difficulty;
     }
-//`vip` int(11) NOT NULL DEFAULT '0' COMMENT '0:全部可接  1:vip专属',
+
+    //`vip` int(11) NOT NULL DEFAULT '0' COMMENT '0:全部可接  1:vip专属',
     private int vip;
 
     public void setVip(int vip) {
@@ -519,9 +576,6 @@ public class Release_task implements Serializable, MultiItemEntity {
     }
 
 
-
-
-
     //获取福利的展示内容
     public CharSequence getWelfareInfo() {
         return String.format(Locale.CHINA, "内容:%s", boon_content == null ? "" : boon_content);
@@ -531,10 +585,12 @@ public class Release_task implements Serializable, MultiItemEntity {
     public CharSequence getWelfareValue() {
         return new SpannableSb().append("价值:").append(String.format(Locale.CHINA, "¥%s", bonus), "#FD2D54").getSsb();
     }
+
     //获取福利剩余时间
     public CharSequence getRemainderTime() {
         return new SpannableSb().append("剩余时间:").append(TimeUtil.getDurationText2(Long.valueOf(deadline) - System.currentTimeMillis() / 1000L)).getSsb();
     }
+
     //获取福利剩余时间
     public CharSequence getRemainderTime2() {
         return new SpannableSb().append("有效期:").append(NumberFormatUtils.parseInteger(deadline, 0) > 0 ? TimeUtil.TimeStamp2Date(Long.valueOf(deadline), "yyyy-MM-dd") : "永久").getSsb();
@@ -544,12 +600,12 @@ public class Release_task implements Serializable, MultiItemEntity {
     public int getLevel() {
         return Math.max(difficulty, 1);
     }
-    public boolean isVipWelfare(){
+
+    public boolean isVipWelfare() {
         return vip == 1;
     }
 
 
-
     @Override
     public int getItemType() {//游戏详情中赏金任务与福利列表用到,只显示这两种类型
         return task.getTask_type() == 1020 ? 1020 : 1019;

+ 20 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -49,6 +49,26 @@ public class TaskEty implements Serializable, IDownload {
     private int app_id;
     private Applications application;
 
+    //-----------------
+    private String video_url;
+    private int benchmark; //4 显示游戏充值
+
+    public int getBenchmark() {
+        return benchmark;
+    }
+
+    public void setBenchmark(int benchmark) {
+        this.benchmark = benchmark;
+    }
+
+    public String getVideo_url() {
+        return video_url;
+    }
+
+    public void setVideo_url(String video_url) {
+        this.video_url = video_url;
+    }
+
     public void setApplication(Applications application) {
         this.application = application;
     }

+ 129 - 8
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -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();
+    }
 }

+ 12 - 2
app/src/main/res/drawable/rounder_e2f4fe_5.xml

@@ -1,4 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
 
-</selector>
+    <corners
+        android:topLeftRadius="5dp"
+        android:topRightRadius="5dp"
+        android:bottomLeftRadius="5dp"
+        android:bottomRightRadius="5dp"/>
+
+    <solid
+        android:color="@color/blue_E2F4FE"/>
+
+</shape>

+ 5 - 5
app/src/main/res/drawable/rounder_feeaed_10.xml

@@ -3,12 +3,12 @@
     android:shape="rectangle">
 
     <corners
-        android:topLeftRadius="5dp"
-        android:topRightRadius="5dp"
-        android:bottomLeftRadius="5dp"
-        android:bottomRightRadius="5dp"/>
+        android:topLeftRadius="10dp"
+        android:topRightRadius="10dp"
+        android:bottomLeftRadius="10dp"
+        android:bottomRightRadius="10dp"/>
 
     <solid
-        android:color="@color/blue_E2F4FE"/>
+        android:color="#feeaed"/>
 
 </shape>

+ 147 - 16
app/src/main/res/layout/task_detail_layout.xml

@@ -3,9 +3,9 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/bg"
     android:fitsSystemWindows="true"
-    android:orientation="vertical"
-    android:background="@color/bg">
+    android:orientation="vertical">
 
     <include
         android:id="@+id/empty_view"
@@ -14,16 +14,15 @@
         android:layout_height="match_parent"
         android:visibility="gone" />
 
-    <LinearLayout
+    <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        android:orientation="vertical">
+        android:background="@color/white">
 
         <android.support.v4.widget.NestedScrollView
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
+            android:layout_height="match_parent"
+            android:layout_above="@+id/bottom_btn_layout"
             android:scrollbars="none">
 
             <LinearLayout
@@ -106,15 +105,15 @@
                     android:id="@+id/detail_item_layout_1"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/content_padding_10"
-                    android:layout_marginTop="@dimen/content_padding_10"
-                    android:layout_marginRight="@dimen/content_padding_10"
                     android:layout_marginBottom="@dimen/content_padding_10">
 
                     <android.support.constraint.ConstraintLayout
                         android:id="@+id/item_layout"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/content_padding_10"
+                        android:layout_marginTop="@dimen/content_padding_10"
+                        android:layout_marginRight="@dimen/content_padding_10"
                         android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
                         android:padding="@dimen/content_padding_10">
 
@@ -149,9 +148,9 @@
                             android:layout_height="70dp"
                             android:layout_marginStart="@dimen/content_padding"
                             android:orientation="vertical"
-                            app:layout_constraintTop_toTopOf="@+id/icon_iv"
                             app:layout_constraintEnd_toStartOf="@+id/price_layout"
-                            app:layout_constraintStart_toEndOf="@+id/icon_iv">
+                            app:layout_constraintStart_toEndOf="@+id/icon_iv"
+                            app:layout_constraintTop_toTopOf="@+id/icon_iv">
 
                             <TextView
                                 android:id="@+id/name_tv"
@@ -230,14 +229,14 @@
                                 android:layout_gravity="center_horizontal"
                                 android:text="+1.5元"
                                 android:textColor="@color/txt_red"
-                                android:textSize="18sp" />
+                                android:textSize="17sp" />
 
                             <TextView
                                 android:id="@+id/item_money_vip_tv"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:layout_marginTop="5dp"
-                                android:layout_marginBottom="5dp"
+                                android:layout_marginTop="3dp"
+                                android:layout_marginBottom="3dp"
                                 android:gravity="center"
                                 android:minWidth="@dimen/find_bt_with"
                                 android:text="会员:+11元"
@@ -284,6 +283,8 @@
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_below="@+id/item_layout"
+                        android:layout_marginLeft="@dimen/content_padding_10"
+                        android:layout_marginRight="@dimen/content_padding_10"
                         android:background="@color/blue_E2F4FE"
                         android:orientation="horizontal">
 
@@ -383,6 +384,91 @@
                     </android.support.constraint.ConstraintLayout>
                 </RelativeLayout>
 
+                <LinearLayout
+                    android:id="@+id/task_point_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@color/white"
+                    android:orientation="vertical"
+                    android:padding="14dp">
+
+                    <LinearLayout
+                        android:id="@+id/about_merchandise_tile"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical">
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:text="商品抵扣"
+                                android:textColor="#333333"
+                                android:textSize="15sp" />
+
+                            <TextView
+                                android:id="@+id/most_discount_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/rounder_feeaed_10"
+                                android:paddingLeft="10dp"
+                                android:paddingTop="3dp"
+                                android:paddingRight="10dp"
+                                android:paddingBottom="3dp"
+                                android:text="最高抵扣"
+                                android:textColor="#f21245"
+                                android:textSize="12sp" />
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="14dp"
+                            android:background="@drawable/rounder_e2f4fe_5"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal"
+                            android:padding="8dp">
+
+                            <TextView
+                                android:id="@+id/watch_video_tag"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="观看教程"
+                                android:textColor="#666666"
+                                android:textSize="13sp" />
+
+                            <ImageView
+                                android:id="@+id/watch_video_ico"
+                                android:layout_width="14dp"
+                                android:layout_height="14dp"
+                                android:layout_marginLeft="4dp"
+                                android:src="@mipmap/icon_select" />
+
+                            <TextView
+                                android:id="@+id/recharge_game_tag"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="14dp"
+                                android:text="游戏充值"
+                                android:textColor="#666666"
+                                android:textSize="13sp" />
+
+                            <ImageView
+                                android:id="@+id/recharge_game_ico"
+                                android:layout_width="14dp"
+                                android:layout_height="14dp"
+                                android:layout_marginLeft="4dp"
+                                android:src="@mipmap/text_delete" />
+                        </LinearLayout>
+                    </LinearLayout>
+                </LinearLayout>
+
                 <com.sheep.gamegroup.util.MyListview
                     android:id="@+id/detail_task_recyclerview"
                     android:layout_width="match_parent"
@@ -470,6 +556,7 @@
             android:id="@+id/bottom_btn_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
             android:background="@color/background_light_gray"
             android:minHeight="?attr/actionBarSize"
             android:orientation="horizontal">
@@ -490,7 +577,51 @@
                 android:layout_weight="1"
                 android:text="上传截图" />
         </LinearLayout>
-    </LinearLayout>
+
+        <RelativeLayout
+            android:id="@+id/video_player_layer"
+            android:background="#90000000"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <TextView
+                android:id="@+id/ignore_video_btn"
+                android:text="跳过"
+                android:textColor="@color/white"
+                android:textSize="14sp"
+                android:layout_above="@+id/video_player_view"
+                android:layout_alignRight="@+id/video_player_view"
+                android:layout_marginBottom="16dp"
+                android:gravity="center"
+                android:background="@drawable/shape_white_20_solid_rectangle_15"
+                android:layout_width="54dp"
+                android:layout_height="30dp" />
+
+            <com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
+                android:id="@+id/video_player_view"
+                android:layout_width="match_parent"
+                android:layout_marginLeft="24dp"
+                android:layout_marginRight="24dp"
+                android:layout_height="120dp"
+                android:layout_centerInParent="true" />
+
+            <TextView
+                android:id="@+id/video_task_tip"
+                android:text="看完教程视频,立减元"
+                android:textColor="@color/white"
+                android:textSize="14sp"
+                android:layout_below="@+id/video_player_view"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="30dp"
+                android:gravity="center"
+                android:background="@drawable/shape_white_20_solid_rectangle_15"
+                android:paddingLeft="20dp"
+                android:paddingRight="20dp"
+                android:layout_width="wrap_content"
+                android:layout_height="30dp" />
+        </RelativeLayout>
+    </RelativeLayout>
 
 
 </LinearLayout>

+ 1 - 1
app/src/main/res/layout/withdrawal_layout.xml

@@ -101,7 +101,7 @@
                 android:layout_marginLeft="@dimen/content_padding"
                 android:layout_marginRight="@dimen/content_padding"
                 android:lineSpacingExtra="8dp"
-                android:text="注意:\n1. 新用户提现,提现不超过50元,可免提现手续费2次\n2. 由于微信升级,提现将不再免费,每次提现收取1.5%微信提现手续费"
+                android:text="注意:\n1. 新用户提现,提现不超过50元,可免提现手续费2次\n2. 由于微信升级,提现将不再免费,每次提现收取1.5%微信提现手续费\n3. 提现所产生的税费由个人承担,且由个人自行向税务部门申报和缴纳"
                 android:textColor="@color/txt_gray_929292"
                 android:textSize="@dimen/text_size_1"
                 android:layout_gravity="center_horizontal"/>