Explorar o código

[新增]游客盈激励视频接入

ZEKI %!s(int64=5) %!d(string=hai) anos
pai
achega
a15cfd7af4

+ 3 - 0
app/build.gradle

@@ -1,6 +1,8 @@
 apply plugin: 'com.android.application'
 apply plugin: 'com.jakewharton.butterknife'
 apply plugin: 'org.greenrobot.greendao'
+
+
 //apply plugin: 'com.didi.virtualapk.host'
 android {
     compileSdkVersion ANDROID_COMPILE_SDK_VERSION as int
@@ -120,6 +122,7 @@ android {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
+
 }
 
 repositories {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/greendao/download/SheepAd.java

@@ -9,7 +9,7 @@ import org.greenrobot.greendao.annotation.Property;
 public class SheepAd {
 
     //1:开屏广告
-    public final static int FORM_SPASH = 1;
+    public final static int FORM_SPLASH = 1;
     //2:弹窗广告
     public final static int FORM_POP = 2;
     //3:首页轮播广告

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/task/OldVideoTaskActivity.java

@@ -449,7 +449,7 @@ public class OldVideoTaskActivity extends BaseActivity {
         ApkUtils.installApk(this, ad.path);
     }
 
-    private void showAppConfirmDialog(String title, String btnText, ViewUtil.OnConfirDialogListener listener) {
+    private void showAppConfirmDialog(String title, String btnText, ViewUtil.OnConfirmDialogListener listener) {
         View rootView = View.inflate(this, R.layout.video_ad_confirm, null);
         ImageView app_logo_iv = rootView.findViewById(R.id.app_logo_iv);
         TextView app_name_tv = rootView.findViewById(R.id.app_name_tv);

+ 1 - 7
app/src/main/java/com/sheep/gamegroup/module/task/VideoTaskActivity.java

@@ -13,15 +13,11 @@ import android.view.WindowManager;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.module.task.fragments.FgtVideoTaskBase;
-import com.sheep.gamegroup.module.task.fragments.FgtVideoTaskDK;
 import com.sheep.gamegroup.module.task.fragments.FgtVideoTaskYKY;
 import com.sheep.gamegroup.module.task.fragments.FgtVideoTaskZK;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.G;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -53,9 +49,7 @@ public class VideoTaskActivity extends BaseActivity {
     @Override
     public void onCreate(Bundle b) {
         super.onCreate(b);
-        getWindow().addFlags(
-                WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
-                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_FULLSCREEN);
     }
 
     @Override

+ 63 - 50
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskBase.java

@@ -1,14 +1,19 @@
 package com.sheep.gamegroup.module.task.fragments;
 
+
+import android.app.Activity;
 import android.app.Dialog;
+import android.content.Intent;
+import android.util.Log;
+
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.gamegroup.util.GsonUtils;
 import com.sheep.gamegroup.util.LocationUtils;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
@@ -18,19 +23,21 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.functions.Consumer;
 import io.reactivex.schedulers.Schedulers;
 
 public abstract class FgtVideoTaskBase extends BaseFragment {
 
+    public static String KEY_RELEASE_TASK = "key_release_task";
+
     protected int releaseTaskId = -1;
     protected Release_task releaseTask;
     protected TaskAcceptedEty acceptedTask;
+    protected boolean goNext = false;
 
     //当前已观看视频数
     protected int watchCount = 0;
 
-    protected boolean goNext = false;
-
     public FgtVideoTaskBase setReleaseTaskId(int taskId) {
         releaseTaskId = taskId;
         return this;
@@ -41,19 +48,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
         return this;
     }
 
-    @Override
-    public boolean onBackPressed() {
-        Dialog dialog = ViewUtil.showConfirmDialog(getContext(),
-                "提示",
-                "你确定要放弃奖励吗?",
-                "放弃", "继续观看",
-                d -> giveUpTask(),
-                d -> LogUtil.logI("continue watch video"));
-        dialog.setCancelable(false);
-        dialog.show();
-        return false;
-    }
-
+    //放弃任务
     public void giveUpTask() {
         if (acceptedTask != null) {
             SheepApp.getInstance()
@@ -65,16 +60,21 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                     .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                         @Override
                         public void onError(BaseMessage baseMessage) {
+                                getActivity().finish();
                         }
 
                         @Override
                         public void onNext(BaseMessage baseMessage) {
+                            getActivity().finish();
                         }
                     });
+        } else {
+            getActivity().finish();
         }
-        getActivity().finish();
+
     }
 
+    //重新提交弹窗
     protected void resubmitAutoCheck() {
         Dialog dialog = ViewUtil.showConfirmDialog(getContext(),
                 "提示",
@@ -86,6 +86,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
         dialog.show();
     }
 
+    //提交任务
     protected void commitAutoTask() {
         JSONObject params = new JSONObject();
         String gps = LocationUtils.getInstance().getLongitudeLatitude();
@@ -102,19 +103,25 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                         CommonUtil.getInstance().updateAutoCheck(null);
                         //这里领取了奖励,要刷新用户信息
                         CommonUtil.getInstance().updateUserInfo(null);
-                        ViewUtil.showMsgDialog(getContext(),
-                                "奖励已完成,获得奖励" + releaseTask.getShowValue(DataUtil.getInstance().getUserEntity().isVIP()),
-                                "恭喜你", true);
+                        if(getActivity()!=null){
+                            AndroidSchedulers.mainThread().scheduleDirect(() -> {
+                                String releaseTaskJson = GsonUtils.getGlobalGson().toJson(releaseTask);
+                                Intent intent = getActivity().getIntent().putExtra(KEY_RELEASE_TASK,releaseTaskJson);
+                                getActivity().setResult(Activity.RESULT_OK,intent);
+                                getActivity().finish();
+                            });
+                        }
                     }
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        G.showToast(baseMessage);
+                        G.showToast(baseMessage.getMsg());
                         resubmitAutoCheck();
                     }
                 });
     }
 
+    //接收任务
     protected void acceptTask() {
         String device_id = DeviceUtil.getDeviceId(SheepApp.getInstance());
         UMConfigUtils.Event.TASK_ACCEPT.onEvent("device_id", device_id, "release_task_id", releaseTaskId);
@@ -137,6 +144,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                         } else {
                             hideProgress();
                             G.showToast(baseMessage.getErrorMsg());
+                            getActivity().finish();
                         }
                     }
 
@@ -149,6 +157,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 });
     }
 
+    //给商城任务随机商品
     public void randomGoods() {
         SheepApp.getInstance()
                 .getNetComponent()
@@ -157,7 +166,6 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         hideProgress();
@@ -172,6 +180,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 });
     }
 
+    //加载接收的任务
     public void loadAcceptedTask() {
         CommonUtil.getInstance().getAcceptedTask(releaseTaskId, at -> {
             if (at == null) {
@@ -179,45 +188,49 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 return;
             }
             acceptedTask = at;
-            if (watchCount == 0) {
+            if (watchCount == 0)
                 loadAd();
-            } else {
-                Dialog dialog = ViewUtil.showConfirmDialog(getContext(),
-                        "提示",
-                        "你需要观看" + releaseTask.getTask().getVideo_num() + "个视频, 即可获得" +
-                                releaseTask.getShowValue(DataUtil.getInstance().getUserEntity().isVIP()),
-                        "放弃", "继续观看",
-                        d -> giveUpTask(),
-                        d -> loadAd());
-                dialog.setCancelable(false);
-                dialog.show();
-            }
+            else
+                VideoTaskDialogUtil.showContinueWatchWarningDialog(
+                        getContext(),
+                        releaseTask,
+                        d -> loadAd(),
+                        d -> giveUpTask()
+                );
         });
     }
 
-    protected void handleNext() {
+    //尝试获取奖励
+    protected void tryGetReward() {
         watchCount++;
-        if (watchCount >= releaseTask.getTask().getVideo_num()) {
+        if (watchCount >= releaseTask.getTask().getVideo_num())
             commitAutoTask();
-        } else {
-            Dialog dialog = ViewUtil.showConfirmDialog(getContext(),
-                    "提示",
-                    "你需要观看" + (releaseTask.getTask().getVideo_num() - watchCount) + "个视频, 即可获得" +
-                            releaseTask.getShowValue(DataUtil.getInstance().getUserEntity().isVIP()),
-                    "放弃", "继续观看",
-                    d -> giveUpTask(),
-                    d -> loadAd());
-            dialog.setCancelable(false);
-            dialog.show();
-        }
+        else
+            VideoTaskDialogUtil.showContinueWatchWarningDialog(
+                    getContext(),
+                    releaseTask,
+                    d -> loadAd(),
+                    d -> giveUpTask()
+            );
+    }
+
+
+    @Override
+    public boolean onBackPressed() {
+        VideoTaskDialogUtil.showGiveUpWarningDialog(
+                getContext(),
+                d -> LogUtil.logI("continue watch video"),
+                d -> giveUpTask()
+        );
+        return false;
     }
 
     @Override
-    public void onResume(){
+    public void onResume() {
         super.onResume();
-        if(goNext){
+        if (goNext) {
             goNext = false;
-            handleNext();
+            tryGetReward();
         }
     }
 

+ 102 - 18
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskYKY.java

@@ -1,15 +1,25 @@
 package com.sheep.gamegroup.module.task.fragments;
 
+import android.util.Log;
 import com.sheep.gamegroup.util.LogUtil;
-import com.stmsdk.module.ad.StyleAdEntity;
-import com.tencent.tmsecure.dksdk.ad.DkAdManage;
-import com.tencent.tmsecure.dksdk.util.DkAppDownloadListener;
+import com.sheep.gamegroup.util.PreferenceUtils;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.tencent.klevin.KleinManager;
+import com.tencent.klevin.base.callback.KleinResponseCallback;
+import com.tencent.klevin.util.AdUtils;
+import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdPlayCompletion;
+import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdSkip;
+import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_CreativeDownloadSuccess;
+import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_MeetTheRewardConditions;
 
 /**
  * 游可盈广告视频
  */
+
 public class FgtVideoTaskYKY extends FgtVideoTaskBase {
+    private static final String TAG = "游可盈视频广告页";
 
+    public static final String KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN = "key_has_pre_down_yky_video";
 
     @Override
     protected void initView() {
@@ -28,29 +38,104 @@ public class FgtVideoTaskYKY extends FgtVideoTaskBase {
 
     @Override
     protected void loadAd() {
-        preAd();
+        KleinManager.getInstance().setCurrentActivity(getActivity());
+        boolean hasPreDownVideo = PreferenceUtils.getPrefBoolean(getContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, false);
+        if (!hasPreDownVideo) {
+            showAd();
+            preAd(false);
+        } else {
+            preAd(true);
+        }
 
     }
 
-    private void preAd() {
-        int posid = 30113;
+    //是否领过奖了
+    boolean hasGetReward = false;
+
+    //预加载激励视频
+    private void preAd(boolean shouldShow) {
+        int posId = 30113;
         int duration = 0;
-        String data = "{\"placements\":[{\"pos_id\":" + posid + ",\"ad_count\":" + releaseTask.getRelease_num() + "}],\"ad_reward_trigger\":\"[]\", \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\": ${isAutoMute()} }";
-        /*data = data.replace("[]", if (TextUtils.isEmpty(mTrigger.text)) "5"
-        else mTrigger.text.toString())
-        KleinManager.getInstance() ?.loadEncourageAD(applicationContext, data, object:KleinResponseCallback {
-            override fun onFail(errorCode:Int){
-                Log.e(TAG, "onFail : $errorCode")
+        //String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":" + releaseTask.getTask().getVideo_num() + "}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
+        String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
+
+        KleinManager.getInstance().loadEncourageAD(SheepApp.getInstance().getApplicationContext(), data, new KleinResponseCallback() {
+
+            @Override
+            public void onSuccess(int i) {
+                Log.d(TAG, "onSuccess : " + i);
+                handleSuccess(i, shouldShow);
             }
 
-            override fun onSuccess(errorCode:Int){
-                Log.d(TAG, "onSuccess : $errorCode")
+            @Override
+            public void onFail(int i) {
+                Log.e(TAG, "onFail : " + i);
             }
 
-            override fun onEvent(code:Int){
-                Log.d(TAG, "onEvent : $code")
+            @Override
+            public void onEvent(int i) {
+                Log.d(TAG, "onEvent : " + i);
+                handleEvent(i);
             }
-        })*/
+        });
+
+    }
+
+
+    //播放激励视频
+    private void showAd() {
+        PreferenceUtils.setPrefBoolean(SheepApp.getInstance().getApplicationContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, false);
+        KleinManager.getInstance().showAD(getContext(), AdUtils.TYPE_AD_REWARD,
+                new KleinResponseCallback() {
+
+                    @Override
+                    public void onSuccess(int i) {
+                        Log.d(TAG, "onSuccess : " + i);
+                        handleSuccess(i, false);
+                    }
+
+                    @Override
+                    public void onFail(int i) {
+                        Log.e(TAG, "onFail : " + i);
+                    }
+
+                    @Override
+                    public void onEvent(int i) {
+                        Log.d(TAG, "onEvent : " + i);
+                        handleEvent(i);
+                    }
+                });
+    }
+
+    private void handleSuccess(int i, boolean shouldShow) {
+        if (i == KLSplashAdEvent_CreativeDownloadSuccess) {
+            //下载激励视频素材成功
+            PreferenceUtils.setPrefBoolean(SheepApp.getInstance().getApplicationContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, true);
+            if (shouldShow) showAd();
+        }
+    }
+
+    private void handleEvent(int i) {
+        switch (i) {
+            case KLSplashAdEvent_MeetTheRewardConditions:
+                //满足领奖条件,去领奖
+                hasGetReward = true;
+                break;
+            case KLSplashAdEvent_AdPlayCompletion:
+                //一个视频播放结束
+                tryGetReward();
+                break;
+            case KLSplashAdEvent_AdSkip:
+                //用户点击关闭了界面
+                if (!hasGetReward) {
+                    //未领奖,调用放弃任务接口
+                    giveUpTask();
+                } else {
+                    if (getActivity() != null)
+                        getActivity().finish();
+                }
+                break;
+        }
     }
 
     @Override
@@ -58,5 +143,4 @@ public class FgtVideoTaskYKY extends FgtVideoTaskBase {
         return 0;
     }
 
-
 }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskZK.java

@@ -196,7 +196,7 @@ public class FgtVideoTaskZK extends FgtVideoTaskBase {
                     public void onAutoComplete(String url, Object... objects) {
                         super.onAutoComplete(url, objects);
                         currentVideoAd.trigger(VideoAd.TYPE_VIDEO_END);
-                        handleNext();
+                        tryGetReward();
                     }
 
                     @Override
@@ -241,7 +241,7 @@ public class FgtVideoTaskZK extends FgtVideoTaskBase {
         ApkUtils.installApk(getContext(), ad.path);
     }
 
-    private void showAppConfirmDialog(String title, String btnText, ViewUtil.OnConfirDialogListener listener) {
+    private void showAppConfirmDialog(String title, String btnText, ViewUtil.OnConfirmDialogListener listener) {
         View rootView = View.inflate(getContext(), R.layout.video_ad_confirm, null);
         ImageView app_logo_iv = rootView.findViewById(R.id.app_logo_iv);
         TextView app_name_tv = rootView.findViewById(R.id.app_name_tv);

+ 61 - 0
app/src/main/java/com/sheep/gamegroup/module/task/fragments/VideoTaskDialogUtil.java

@@ -0,0 +1,61 @@
+package com.sheep.gamegroup.module.task.fragments;
+
+import android.app.Dialog;
+import android.content.Context;
+
+import com.sheep.gamegroup.model.entity.Release_task;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+
+/**
+ * 视频任务弹窗工具类
+ */
+public class VideoTaskDialogUtil {
+
+    //弹窗:已获取奖励
+    public static void showRewardsGotDialog(Context context, Release_task releaseTask) {
+        ViewUtil.showMsgDialog(
+                context,
+                "奖励已完成,获得奖励" + releaseTask.getShowValue(DataUtil.getInstance().getUserEntity().isVIP()),
+                "恭喜你",
+                false);
+    }
+
+    //弹窗:需继续观看的警告
+    public static void showContinueWatchWarningDialog(
+            Context context,
+            Release_task releaseTask,
+            ViewUtil.OnConfirmDialogListener onConfirmDialogListener,
+            ViewUtil.OnConfirmDialogListener onCancelDialogListener
+    ) {
+        Dialog dialog = ViewUtil.showConfirmDialog(
+                context,
+                "提示",
+                "你需要观看" + releaseTask.getTask().getVideo_num() + "个视频, 即可获得" +
+                        releaseTask.getShowValue(DataUtil.getInstance().getUserEntity().isVIP()),
+                "放弃",
+                "继续观看",
+                onCancelDialogListener,
+                onConfirmDialogListener);
+        dialog.setCancelable(false);
+        dialog.show();
+    }
+
+    //弹窗:放弃警告
+    public static void showGiveUpWarningDialog(
+            Context context,
+            ViewUtil.OnConfirmDialogListener onConfirmDialogListener,
+            ViewUtil.OnConfirmDialogListener onCancelDialogListener
+    ) {
+        Dialog dialog = ViewUtil.showConfirmDialog(
+                context,
+                "提示",
+                "你确定要放弃奖励吗?",
+                "放弃", "继续观看",
+                onCancelDialogListener,
+                onConfirmDialogListener);
+        dialog.setCancelable(false);
+        dialog.show();
+    }
+
+}

+ 0 - 2
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1358,9 +1358,7 @@ public class CommonUtil {
                         if (taskAcceptedEty != null) {
                             action.call(taskAcceptedEty);
                         }
-
                     }
-
                     @Override
                     public void onError(BaseMessage baseMessage) {
                         action.call(null);

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/util/Constant.java

@@ -10,4 +10,6 @@ public class Constant {
     public final static int INTENT_SHOW_QRCODE = 1007;
     public final static int INTENT_REAL_NAME = 1008;
     public final static int INTENT_BIND_MOBILE = 1009;
+    //已获得奖励的RequestCode
+    public static int REQUEST_CODE_GOT_REWARDS = 1110;
 }

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/util/GsonUtils.java

@@ -0,0 +1,13 @@
+package com.sheep.gamegroup.util;
+
+import com.google.gson.Gson;
+
+public class GsonUtils {
+    private static Gson globalGson;
+
+    public static Gson getGlobalGson() {
+        if (globalGson == null)
+            globalGson = new Gson();
+        return globalGson;
+    }
+}

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -230,6 +230,7 @@ import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_VIDEO_AD;
 import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_WELFARE;
 import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.AUTO_DOWNLOAD;
 import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.KEY_HAS_WELFARE;
+import static com.sheep.gamegroup.util.Constant.REQUEST_CODE_GOT_REWARDS;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.ASK_MAKE_MONEY_INVITATION;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_ITEM;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_DOWNLOAD_WELFARE_LIST;
@@ -770,7 +771,7 @@ public class Jump2View {
     public synchronized void goVideoTaskView(Context context, Integer id) {
         Intent intent = new Intent(context, VideoTaskActivity.class);
         intent.putExtra("task_id", id);
-        context.startActivity(intent);
+        ((Activity)context).startActivityForResult(intent,REQUEST_CODE_GOT_REWARDS);
     }
 
     public synchronized void goWelfare(Context context, int taskId) {

+ 11 - 16
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -21,7 +21,6 @@ import android.provider.MediaStore;
 import android.support.annotation.LayoutRes;
 import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
-import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentActivity;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.widget.GridLayoutManager;
@@ -60,7 +59,6 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.RequestBuilder;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.DecodeFormat;
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
 import com.bumptech.glide.load.engine.GlideException;
 import com.bumptech.glide.request.RequestListener;
 import com.bumptech.glide.request.RequestOptions;
@@ -79,7 +77,6 @@ import com.sheep.gamegroup.dateview.DateUtil;
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.event.EventTypes;
 import com.sheep.gamegroup.greendao.download.SheepAd;
-import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Applications;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.CommendTask;
@@ -131,10 +128,8 @@ import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
 import com.umeng.socialize.media.UMWeb;
-
 import org.afinal.simplecache.ACache;
 import org.greenrobot.eventbus.EventBus;
-
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
@@ -1415,7 +1410,7 @@ public class ViewUtil {
             , View content
             , String cancelText
             , String confirmString
-            , OnConfirDialogListener confirmListener) {
+            , OnConfirmDialogListener confirmListener) {
         return showConfirmDialog(mContext, title, content, cancelText, confirmString, null, confirmListener);
     }
 
@@ -1424,8 +1419,8 @@ public class ViewUtil {
             , String content
             , String cancelText
             , String confirmString
-            , OnConfirDialogListener cancelListener
-            , OnConfirDialogListener confirmListener) {
+            , OnConfirmDialogListener cancelListener
+            , OnConfirmDialogListener confirmListener) {
         TextView contentView = new TextView(mContext);
         contentView.setText(content);
         contentView.setTextSize(15f);
@@ -1443,8 +1438,8 @@ public class ViewUtil {
             , View content
             , String cancelText
             , String confirmString
-            , OnConfirDialogListener cancelListener
-            , OnConfirDialogListener confirmListener) {
+            , OnConfirmDialogListener cancelListener
+            , OnConfirmDialogListener confirmListener) {
         View container = View.inflate(mContext, R.layout.dialog_confirm, null);
         final AlertDialog dialog = new AlertDialog.Builder(mContext, mContext instanceof Activity ? R.style.MyDialogActivityTheme : R.style.AppTheme_Dialog_Alert)
                 .setView(container)
@@ -1458,14 +1453,14 @@ public class ViewUtil {
         cancelBtn.setOnClickListener((v) -> {
             dialog.dismiss();
             if (cancelListener != null) {
-                cancelListener.onActin(dialog);
+                cancelListener.onAction(dialog);
             }
         });
         TextView confirmBtn = container.findViewById(R.id.confirm_btn);
         confirmBtn.setText(confirmString);
         confirmBtn.setOnClickListener((v) -> {
             dialog.dismiss();
-            confirmListener.onActin(dialog);
+            confirmListener.onAction(dialog);
         });
         return dialog;
     }
@@ -1476,7 +1471,7 @@ public class ViewUtil {
             , String cancelText
             , String confirmString
             , boolean isDismiss
-            , OnConfirDialogListener confirmListener) {
+            , OnConfirmDialogListener confirmListener) {
         View container = View.inflate(mContext, R.layout.dialog_confirm, null);
         final AlertDialog dialog = new AlertDialog.Builder(mContext, mContext instanceof Activity ? R.style.MyDialogActivityTheme : R.style.AppTheme_Dialog_Alert)
                 .setView(container)
@@ -1496,13 +1491,13 @@ public class ViewUtil {
             if (isDismiss) {
                 dialog.dismiss();
             }
-            confirmListener.onActin(dialog);
+            confirmListener.onAction(dialog);
         });
         return dialog;
     }
 
-    public interface OnConfirDialogListener {
-        void onActin(Dialog d);
+    public interface OnConfirmDialogListener {
+        void onAction(Dialog d);
     }
 
     public static AlertDialog showUpgradeDialog(Context mContext, final DialogConfig dialogConfig) {

+ 8 - 22
app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java

@@ -1,26 +1,19 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.content.Intent;
-import android.graphics.Color;
 import android.graphics.drawable.Drawable;
-import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
 import android.text.TextUtils;
-import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.View;
-import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
-
-import com.airbnb.lottie.LottieAnimationView;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.kfzs.duanduan.cardview.ScreenUtil;
 import com.kfzs.duanduan.utils.StatusBarUtils;
@@ -30,24 +23,22 @@ import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.event.EventTypes;
 import com.sheep.gamegroup.greendao.download.DownLoadInfo;
 import com.sheep.gamegroup.helper.DownloadHelper;
-import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Container;
-import com.sheep.gamegroup.model.entity.Lp;
+import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.entity.UserEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.model.util.ShowRedDot;
 import com.sheep.gamegroup.module.home.fragment.FgtMainHeader;
-import com.sheep.gamegroup.module.home.fragment.FgtWrapper;
 import com.sheep.gamegroup.module.qrcode.QRCodeCaptureHelper;
+import com.sheep.gamegroup.module.task.fragments.VideoTaskDialogUtil;
 import com.sheep.gamegroup.util.ActionUtil;
 import com.sheep.gamegroup.util.ChannelContent;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Constant;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.DownloadUtil;
+import com.sheep.gamegroup.util.GsonUtils;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MainTab;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
@@ -64,31 +55,23 @@ import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.youmi.android.offer.BaseActYmPermissionCheck;
-
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
-
 import java.io.File;
-import java.io.InputStream;
 import java.lang.ref.WeakReference;
-import java.lang.reflect.Field;
-import java.net.InetSocketAddress;
-import java.net.URL;
-import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.TimeUnit;
-
 import butterknife.BindView;
 import io.reactivex.Observable;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
-import okhttp3.Route;
 import rx.functions.Action1;
-
 import static android.content.Intent.ACTION_PACKAGE_ADDED;
 import static android.content.Intent.ACTION_PACKAGE_REMOVED;
+import static com.sheep.gamegroup.module.task.fragments.FgtVideoTaskBase.KEY_RELEASE_TASK;
+import static com.sheep.gamegroup.util.Constant.REQUEST_CODE_GOT_REWARDS;
 import static com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST;
 
 
@@ -613,6 +596,9 @@ public class ActMain extends BaseActYmPermissionCheck {
                         finish();
                     }
                 });
+            } else if (requestCode == REQUEST_CODE_GOT_REWARDS) {
+                Release_task releaseTask = GsonUtils.getGlobalGson().fromJson(intent.getStringExtra(KEY_RELEASE_TASK), Release_task.class);
+                VideoTaskDialogUtil.showRewardsGotDialog(ActMain.this, releaseTask);
             }
         }
     }

+ 0 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ChangeTelAct.java

@@ -9,7 +9,6 @@ import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
-
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerChangePhoneComponent;

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -114,7 +114,7 @@ public class SplashAct extends BaseActivity {
             initSelfAdvertisement(false);//只更新,不加载,下次加载上次的数据
             sendHandlerMessages(2000);
         } else {
-            ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPASH);
+            ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
             if (ad != null) {
                 //有自己的广告,先加载自己的广告,再拉取一次广告并保存
                 loadAdvertising();
@@ -197,7 +197,7 @@ public class SplashAct extends BaseActivity {
         CommonUtil.getInstance().refreshAds((ret, list) -> {
             if (ret) {
                 if (isLoad) {
-                    ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPASH);
+                    ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
                     loadAdvertising();
                     if (ad == null) {
                         sendHandlerMessages(2000);

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/NewbieTaskAdp.java

@@ -52,6 +52,7 @@ public class NewbieTaskAdp extends BaseAdapter {
         return this;
     }
 
+
     @Override
     public int getCount() {
         return etyList.size();

+ 15 - 9
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/G.java

@@ -29,6 +29,8 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import java.io.File;
 import java.lang.reflect.Method;
 
+import io.reactivex.android.schedulers.AndroidSchedulers;
+
 
 /**
  * Created by Dlg on 2015/6/17.
@@ -94,21 +96,25 @@ public class G {
     }
 
     public static void showToast(String msg) {
-        showToast(msg, Toast.LENGTH_SHORT);
+        AndroidSchedulers.mainThread().scheduleDirect(() -> showToast(msg, Toast.LENGTH_SHORT));
     }
 
     public static void showToast(int resId) {
-        showToast(SheepApp.getInstance().getString(resId), Toast.LENGTH_SHORT);
+        AndroidSchedulers.mainThread().scheduleDirect(() -> showToast(SheepApp.getInstance().getString(resId), Toast.LENGTH_SHORT));
+
     }
 
     public static void showToast(BaseMessage baseMessage) {
-        if (TextUtils.isEmpty(baseMessage.getMsg())) {
-            G.showToast(R.string.unknown_error);
-        } else if (baseMessage.getCode() == 404 || baseMessage.getCode() == 503) {
-            G.shortToast("错误: " + baseMessage.getCode());
-        } else {
-            G.showToast(baseMessage.getMsg() + "[" + baseMessage.getCode() + "]");
-        }
+        AndroidSchedulers.mainThread().scheduleDirect(() -> {
+            if (TextUtils.isEmpty(baseMessage.getMsg())) {
+                G.showToast(R.string.unknown_error);
+            } else if (baseMessage.getCode() == 404 || baseMessage.getCode() == 503) {
+                G.shortToast("错误: " + baseMessage.getCode());
+            } else {
+                G.showToast(baseMessage.getMsg() + "[" + baseMessage.getCode() + "]");
+            }
+        });
+
     }
 
     public static void showToast(Throwable throwable) {