Przeglądaj źródła

[添加]Splash界面根据返回的广告类型展示SDK或自己的广告
[添加]视频广告页的类型判断增加游可盈以及优投的类型

zeki 5 lat temu
rodzic
commit
59fad8f9e0

+ 1 - 1
app/build.gradle

@@ -26,7 +26,7 @@ android {
         }
     }
     greendao {
-        schemaVersion 19
+        schemaVersion 20
         targetGenDir 'src/main/java'
     }
     signingConfigs {

+ 1 - 10
app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java

@@ -1,8 +1,5 @@
 package com.sheep.gamegroup.absBase;
 
-import android.app.Activity;
-import android.content.pm.ActivityInfo;
-import android.content.res.TypedArray;
 import android.graphics.Color;
 import android.os.Build;
 import android.os.Bundle;
@@ -14,7 +11,6 @@ import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
 import android.view.inputmethod.InputMethodManager;
-
 import com.r0adkll.slidr.Slidr;
 import com.r0adkll.slidr.model.SlidrConfig;
 import com.r0adkll.slidr.model.SlidrListener;
@@ -22,18 +18,13 @@ import com.r0adkll.slidr.model.SlidrPosition;
 import com.sheep.gamegroup.model.api.BackHandleInterface;
 import com.sheep.gamegroup.util.ActionUtil;
 import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.view.dialog.DialogLoading;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
-
 import org.greenrobot.eventbus.EventBus;
-
 import java.lang.reflect.Field;
-import java.lang.reflect.Method;
 import java.util.concurrent.TimeUnit;
-
 import butterknife.ButterKnife;
 import butterknife.Unbinder;
 import io.reactivex.Observable;
@@ -218,7 +209,7 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
                     .observeOn(AndroidSchedulers.mainThread())
                     .subscribe(new AbsObserver<Integer>() {
                         @Override
-                        public void onNext(Integer integer) {
+                        public void onNext(Integer i) {
                             doNextAction(action);
                         }
                     });

+ 17 - 17
app/src/main/java/com/sheep/gamegroup/greendao/download/DaoMaster.java

@@ -14,35 +14,35 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
 
 // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
 /**
- * Master of DAO (schema version 19): knows all DAOs.
+ * Master of DAO (schema version 20): knows all DAOs.
  */
 public class DaoMaster extends AbstractDaoMaster {
-    public static final int SCHEMA_VERSION = 19;
+    public static final int SCHEMA_VERSION = 20;
 
     /** Creates underlying database table using DAOs. */
     public static void createAllTables(Database db, boolean ifNotExists) {
-        AcceptTaskRecordDao.createTable(db, ifNotExists);
-        AccountDao.createTable(db, ifNotExists);
         AppdownloadBeanDao.createTable(db, ifNotExists);
+        SheepAdDao.createTable(db, ifNotExists);
         DownLoadInfoDao.createTable(db, ifNotExists);
+        SearchRecordDao.createTable(db, ifNotExists);
+        AccountDao.createTable(db, ifNotExists);
+        SdkLoginUserDao.createTable(db, ifNotExists);
         ProcessRecordDao.createTable(db, ifNotExists);
+        AcceptTaskRecordDao.createTable(db, ifNotExists);
         ScreenShotRecordDao.createTable(db, ifNotExists);
-        SdkLoginUserDao.createTable(db, ifNotExists);
-        SearchRecordDao.createTable(db, ifNotExists);
-        SheepAdDao.createTable(db, ifNotExists);
     }
 
     /** Drops underlying database table using DAOs. */
     public static void dropAllTables(Database db, boolean ifExists) {
-        AcceptTaskRecordDao.dropTable(db, ifExists);
-        AccountDao.dropTable(db, ifExists);
         AppdownloadBeanDao.dropTable(db, ifExists);
+        SheepAdDao.dropTable(db, ifExists);
         DownLoadInfoDao.dropTable(db, ifExists);
+        SearchRecordDao.dropTable(db, ifExists);
+        AccountDao.dropTable(db, ifExists);
+        SdkLoginUserDao.dropTable(db, ifExists);
         ProcessRecordDao.dropTable(db, ifExists);
+        AcceptTaskRecordDao.dropTable(db, ifExists);
         ScreenShotRecordDao.dropTable(db, ifExists);
-        SdkLoginUserDao.dropTable(db, ifExists);
-        SearchRecordDao.dropTable(db, ifExists);
-        SheepAdDao.dropTable(db, ifExists);
     }
 
     /**
@@ -61,15 +61,15 @@ public class DaoMaster extends AbstractDaoMaster {
 
     public DaoMaster(Database db) {
         super(db, SCHEMA_VERSION);
-        registerDaoClass(AcceptTaskRecordDao.class);
-        registerDaoClass(AccountDao.class);
         registerDaoClass(AppdownloadBeanDao.class);
+        registerDaoClass(SheepAdDao.class);
         registerDaoClass(DownLoadInfoDao.class);
+        registerDaoClass(SearchRecordDao.class);
+        registerDaoClass(AccountDao.class);
+        registerDaoClass(SdkLoginUserDao.class);
         registerDaoClass(ProcessRecordDao.class);
+        registerDaoClass(AcceptTaskRecordDao.class);
         registerDaoClass(ScreenShotRecordDao.class);
-        registerDaoClass(SdkLoginUserDao.class);
-        registerDaoClass(SearchRecordDao.class);
-        registerDaoClass(SheepAdDao.class);
     }
 
     public DaoSession newSession() {

+ 65 - 65
app/src/main/java/com/sheep/gamegroup/greendao/download/DaoSession.java

@@ -8,25 +8,25 @@ import org.greenrobot.greendao.database.Database;
 import org.greenrobot.greendao.identityscope.IdentityScopeType;
 import org.greenrobot.greendao.internal.DaoConfig;
 
-import com.sheep.gamegroup.greendao.download.AcceptTaskRecord;
-import com.sheep.gamegroup.greendao.download.Account;
 import com.sheep.gamegroup.greendao.download.AppdownloadBean;
+import com.sheep.gamegroup.greendao.download.SheepAd;
 import com.sheep.gamegroup.greendao.download.DownLoadInfo;
+import com.sheep.gamegroup.greendao.download.SearchRecord;
+import com.sheep.gamegroup.greendao.download.Account;
+import com.sheep.gamegroup.greendao.download.SdkLoginUser;
 import com.sheep.gamegroup.greendao.download.ProcessRecord;
+import com.sheep.gamegroup.greendao.download.AcceptTaskRecord;
 import com.sheep.gamegroup.greendao.download.ScreenShotRecord;
-import com.sheep.gamegroup.greendao.download.SdkLoginUser;
-import com.sheep.gamegroup.greendao.download.SearchRecord;
-import com.sheep.gamegroup.greendao.download.SheepAd;
 
-import com.sheep.gamegroup.greendao.download.AcceptTaskRecordDao;
-import com.sheep.gamegroup.greendao.download.AccountDao;
 import com.sheep.gamegroup.greendao.download.AppdownloadBeanDao;
+import com.sheep.gamegroup.greendao.download.SheepAdDao;
 import com.sheep.gamegroup.greendao.download.DownLoadInfoDao;
+import com.sheep.gamegroup.greendao.download.SearchRecordDao;
+import com.sheep.gamegroup.greendao.download.AccountDao;
+import com.sheep.gamegroup.greendao.download.SdkLoginUserDao;
 import com.sheep.gamegroup.greendao.download.ProcessRecordDao;
+import com.sheep.gamegroup.greendao.download.AcceptTaskRecordDao;
 import com.sheep.gamegroup.greendao.download.ScreenShotRecordDao;
-import com.sheep.gamegroup.greendao.download.SdkLoginUserDao;
-import com.sheep.gamegroup.greendao.download.SearchRecordDao;
-import com.sheep.gamegroup.greendao.download.SheepAdDao;
 
 // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
 
@@ -37,124 +37,124 @@ import com.sheep.gamegroup.greendao.download.SheepAdDao;
  */
 public class DaoSession extends AbstractDaoSession {
 
-    private final DaoConfig acceptTaskRecordDaoConfig;
-    private final DaoConfig accountDaoConfig;
     private final DaoConfig appdownloadBeanDaoConfig;
+    private final DaoConfig sheepAdDaoConfig;
     private final DaoConfig downLoadInfoDaoConfig;
+    private final DaoConfig searchRecordDaoConfig;
+    private final DaoConfig accountDaoConfig;
+    private final DaoConfig sdkLoginUserDaoConfig;
     private final DaoConfig processRecordDaoConfig;
+    private final DaoConfig acceptTaskRecordDaoConfig;
     private final DaoConfig screenShotRecordDaoConfig;
-    private final DaoConfig sdkLoginUserDaoConfig;
-    private final DaoConfig searchRecordDaoConfig;
-    private final DaoConfig sheepAdDaoConfig;
 
-    private final AcceptTaskRecordDao acceptTaskRecordDao;
-    private final AccountDao accountDao;
     private final AppdownloadBeanDao appdownloadBeanDao;
+    private final SheepAdDao sheepAdDao;
     private final DownLoadInfoDao downLoadInfoDao;
+    private final SearchRecordDao searchRecordDao;
+    private final AccountDao accountDao;
+    private final SdkLoginUserDao sdkLoginUserDao;
     private final ProcessRecordDao processRecordDao;
+    private final AcceptTaskRecordDao acceptTaskRecordDao;
     private final ScreenShotRecordDao screenShotRecordDao;
-    private final SdkLoginUserDao sdkLoginUserDao;
-    private final SearchRecordDao searchRecordDao;
-    private final SheepAdDao sheepAdDao;
 
     public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
             daoConfigMap) {
         super(db);
 
-        acceptTaskRecordDaoConfig = daoConfigMap.get(AcceptTaskRecordDao.class).clone();
-        acceptTaskRecordDaoConfig.initIdentityScope(type);
-
-        accountDaoConfig = daoConfigMap.get(AccountDao.class).clone();
-        accountDaoConfig.initIdentityScope(type);
-
         appdownloadBeanDaoConfig = daoConfigMap.get(AppdownloadBeanDao.class).clone();
         appdownloadBeanDaoConfig.initIdentityScope(type);
 
+        sheepAdDaoConfig = daoConfigMap.get(SheepAdDao.class).clone();
+        sheepAdDaoConfig.initIdentityScope(type);
+
         downLoadInfoDaoConfig = daoConfigMap.get(DownLoadInfoDao.class).clone();
         downLoadInfoDaoConfig.initIdentityScope(type);
 
-        processRecordDaoConfig = daoConfigMap.get(ProcessRecordDao.class).clone();
-        processRecordDaoConfig.initIdentityScope(type);
+        searchRecordDaoConfig = daoConfigMap.get(SearchRecordDao.class).clone();
+        searchRecordDaoConfig.initIdentityScope(type);
 
-        screenShotRecordDaoConfig = daoConfigMap.get(ScreenShotRecordDao.class).clone();
-        screenShotRecordDaoConfig.initIdentityScope(type);
+        accountDaoConfig = daoConfigMap.get(AccountDao.class).clone();
+        accountDaoConfig.initIdentityScope(type);
 
         sdkLoginUserDaoConfig = daoConfigMap.get(SdkLoginUserDao.class).clone();
         sdkLoginUserDaoConfig.initIdentityScope(type);
 
-        searchRecordDaoConfig = daoConfigMap.get(SearchRecordDao.class).clone();
-        searchRecordDaoConfig.initIdentityScope(type);
+        processRecordDaoConfig = daoConfigMap.get(ProcessRecordDao.class).clone();
+        processRecordDaoConfig.initIdentityScope(type);
 
-        sheepAdDaoConfig = daoConfigMap.get(SheepAdDao.class).clone();
-        sheepAdDaoConfig.initIdentityScope(type);
+        acceptTaskRecordDaoConfig = daoConfigMap.get(AcceptTaskRecordDao.class).clone();
+        acceptTaskRecordDaoConfig.initIdentityScope(type);
+
+        screenShotRecordDaoConfig = daoConfigMap.get(ScreenShotRecordDao.class).clone();
+        screenShotRecordDaoConfig.initIdentityScope(type);
 
-        acceptTaskRecordDao = new AcceptTaskRecordDao(acceptTaskRecordDaoConfig, this);
-        accountDao = new AccountDao(accountDaoConfig, this);
         appdownloadBeanDao = new AppdownloadBeanDao(appdownloadBeanDaoConfig, this);
+        sheepAdDao = new SheepAdDao(sheepAdDaoConfig, this);
         downLoadInfoDao = new DownLoadInfoDao(downLoadInfoDaoConfig, this);
+        searchRecordDao = new SearchRecordDao(searchRecordDaoConfig, this);
+        accountDao = new AccountDao(accountDaoConfig, this);
+        sdkLoginUserDao = new SdkLoginUserDao(sdkLoginUserDaoConfig, this);
         processRecordDao = new ProcessRecordDao(processRecordDaoConfig, this);
+        acceptTaskRecordDao = new AcceptTaskRecordDao(acceptTaskRecordDaoConfig, this);
         screenShotRecordDao = new ScreenShotRecordDao(screenShotRecordDaoConfig, this);
-        sdkLoginUserDao = new SdkLoginUserDao(sdkLoginUserDaoConfig, this);
-        searchRecordDao = new SearchRecordDao(searchRecordDaoConfig, this);
-        sheepAdDao = new SheepAdDao(sheepAdDaoConfig, this);
 
-        registerDao(AcceptTaskRecord.class, acceptTaskRecordDao);
-        registerDao(Account.class, accountDao);
         registerDao(AppdownloadBean.class, appdownloadBeanDao);
+        registerDao(SheepAd.class, sheepAdDao);
         registerDao(DownLoadInfo.class, downLoadInfoDao);
+        registerDao(SearchRecord.class, searchRecordDao);
+        registerDao(Account.class, accountDao);
+        registerDao(SdkLoginUser.class, sdkLoginUserDao);
         registerDao(ProcessRecord.class, processRecordDao);
+        registerDao(AcceptTaskRecord.class, acceptTaskRecordDao);
         registerDao(ScreenShotRecord.class, screenShotRecordDao);
-        registerDao(SdkLoginUser.class, sdkLoginUserDao);
-        registerDao(SearchRecord.class, searchRecordDao);
-        registerDao(SheepAd.class, sheepAdDao);
     }
     
     public void clear() {
-        acceptTaskRecordDaoConfig.clearIdentityScope();
-        accountDaoConfig.clearIdentityScope();
         appdownloadBeanDaoConfig.clearIdentityScope();
+        sheepAdDaoConfig.clearIdentityScope();
         downLoadInfoDaoConfig.clearIdentityScope();
+        searchRecordDaoConfig.clearIdentityScope();
+        accountDaoConfig.clearIdentityScope();
+        sdkLoginUserDaoConfig.clearIdentityScope();
         processRecordDaoConfig.clearIdentityScope();
+        acceptTaskRecordDaoConfig.clearIdentityScope();
         screenShotRecordDaoConfig.clearIdentityScope();
-        sdkLoginUserDaoConfig.clearIdentityScope();
-        searchRecordDaoConfig.clearIdentityScope();
-        sheepAdDaoConfig.clearIdentityScope();
-    }
-
-    public AcceptTaskRecordDao getAcceptTaskRecordDao() {
-        return acceptTaskRecordDao;
-    }
-
-    public AccountDao getAccountDao() {
-        return accountDao;
     }
 
     public AppdownloadBeanDao getAppdownloadBeanDao() {
         return appdownloadBeanDao;
     }
 
+    public SheepAdDao getSheepAdDao() {
+        return sheepAdDao;
+    }
+
     public DownLoadInfoDao getDownLoadInfoDao() {
         return downLoadInfoDao;
     }
 
-    public ProcessRecordDao getProcessRecordDao() {
-        return processRecordDao;
+    public SearchRecordDao getSearchRecordDao() {
+        return searchRecordDao;
     }
 
-    public ScreenShotRecordDao getScreenShotRecordDao() {
-        return screenShotRecordDao;
+    public AccountDao getAccountDao() {
+        return accountDao;
     }
 
     public SdkLoginUserDao getSdkLoginUserDao() {
         return sdkLoginUserDao;
     }
 
-    public SearchRecordDao getSearchRecordDao() {
-        return searchRecordDao;
+    public ProcessRecordDao getProcessRecordDao() {
+        return processRecordDao;
     }
 
-    public SheepAdDao getSheepAdDao() {
-        return sheepAdDao;
+    public AcceptTaskRecordDao getAcceptTaskRecordDao() {
+        return acceptTaskRecordDao;
+    }
+
+    public ScreenShotRecordDao getScreenShotRecordDao() {
+        return screenShotRecordDao;
     }
 
 }

+ 19 - 10
app/src/main/java/com/sheep/gamegroup/module/task/VideoTaskActivity.java

@@ -13,11 +13,13 @@ 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.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.G;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -87,16 +89,23 @@ public class VideoTaskActivity extends BaseActivity {
     }
 
     private FgtVideoTaskBase getFragment(Release_task releaseTask) {
-        if (releaseTask.getTask().getVideo_type() == 1) {
-            //掌酷
-            return new FgtVideoTaskZK().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
-        } else if (releaseTask.getTask().getVideo_type() == 2) {
-            //点客
-            //return new FgtVideoTaskDK().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
-            return new FgtVideoTaskYKY().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
-        } else {
-            finish();
-            return null;
+        switch (releaseTask.getTask().getVideo_type()) {
+            case 1:
+                //掌酷
+                return new FgtVideoTaskZK().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
+            case 2:
+                //点客
+                return new FgtVideoTaskDK().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
+            case 3:
+                //游可盈
+                return new FgtVideoTaskYKY().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
+            case 4:
+                //优投
+                return new FgtVideoTaskYKY().setReleaseTaskId(releaseTask.getId()).setReleaseTask(releaseTask);
+            default:
+                finish();
+                return null;
+
         }
     }
 

+ 4 - 5
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskBase.java

@@ -60,7 +60,7 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                     .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                         @Override
                         public void onError(BaseMessage baseMessage) {
-                                getActivity().finish();
+                            getActivity().finish();
                         }
 
                         @Override
@@ -103,12 +103,11 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                         CommonUtil.getInstance().updateAutoCheck(null);
                         //这里领取了奖励,要刷新用户信息
                         CommonUtil.getInstance().updateUserInfo(null);
-                        if(getActivity()!=null){
+                        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();
+                                Intent intent = getActivity().getIntent().putExtra(KEY_RELEASE_TASK, releaseTaskJson);
+                                getActivity().setResult(Activity.RESULT_OK, intent);
                             });
                         }
                     }

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskYKY.java

@@ -1,5 +1,6 @@
 package com.sheep.gamegroup.module.task.fragments;
 
+import android.app.Activity;
 import android.util.Log;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.PreferenceUtils;
@@ -7,6 +8,9 @@ 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 java.lang.ref.WeakReference;
+
 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;

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

@@ -18,11 +18,11 @@ import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.VideoView;
-
 import com.bumptech.glide.Glide;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.greendao.DDProviderHelper;
 import com.sheep.gamegroup.greendao.download.SheepAd;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.module.skin.util.SkinUtil;
 import com.sheep.gamegroup.util.ApiJSONUtil;
 import com.sheep.gamegroup.util.CommonUtil;
@@ -39,15 +39,15 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.tencent.klevin.KleinManager;
 import com.tencent.klevin.base.callback.KleinResponseCallback;
-
 import java.util.ArrayList;
 import java.util.List;
-
 import butterknife.BindView;
 import butterknife.OnClick;
+import io.reactivex.Observable;
+import io.reactivex.Observer;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
-
+import static com.sheep.gamegroup.view.activity.helper.AdHelper.*;
 import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdPlayCompletion;
 import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdShowFinish;
 import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdSkip;
@@ -96,57 +96,67 @@ public class SplashAct extends BaseActivity {
         if (!TextUtils.isEmpty(SpUtils.getToken(SheepApp.getInstance()))) {
             ApiJSONUtil.postUserDeviceLog();
         }
-        if (requestStoragePermission()) {
-            init();
-        }
-    }
-
-    @Override
-    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
-        if (requestStoragePermission()) {
+        if (requestPermissions()) {
             init();
         }
     }
 
-    private void handleResult(boolean isNewSmallSheep) {
-        DataUtil.getInstance().setIsNewSmallSheep(isNewSmallSheep);
-        if (SysAppUtil.isNewSmallSheep()) {//新版本只显示引导页面,不展示弹窗和开屏广告
-            fetchAdvertisement(false);//只更新,不加载,下次加载上次的数据
-            sendHandlerMessages(2000);
-        } else {
-            ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
-            if (ad != null) {
-                //有自己的广告,先加载自己的广告,再拉取一次广告并保存
-                loadAdvertising();
-                fetchAdvertisement(false);//只更新,不加载,下次加载上次的数据
-            } else {
-                //没有自己的广告,展示SDK的广告,并拉取一次广告并保存
-                initSdkAdvertising();
-                fetchAdvertisement(false);
-            }
-        }
-    }
-
     private void init() {
         if (SysAppUtil.isNotSupport(this)) return;
         SheepApp.getInstance().getNetComponent().getApiService().checkUserFirst()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
+                .onErrorResumeNext(new Observable<BaseMessage>() {
+                    @Override
+                    protected void subscribeActual(Observer<? super BaseMessage> observer) {
+                        //访问出错时,认为不是新设备
+                        BaseMessage defaultBaseMessage = new BaseMessage();
+                        defaultBaseMessage.setData(false);
+                        observer.onNext(defaultBaseMessage);
+                    }
+                })
                 .doOnNext(baseMessage -> {
+                    //是否为新设备
                     boolean isNewSmallSheep = baseMessage.getData(Boolean.class);
-                    handleResult(isNewSmallSheep);
+                    DataUtil.getInstance().setIsNewSmallSheep(isNewSmallSheep);
+                    if (SysAppUtil.isNewSmallSheep()) {//新版本只显示引导页面,不展示弹窗和开屏广告
+                        fetchAdvertisement(false);//只更新,不加载,下次加载上次的数据
+                        sendHandlerMessages(2000);
+                    } else {
+                        ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
+                        if (ad != null) {
+                            if (ad.getAd_type() == AD_TYPE_SHEEP) {
+                                //有自己的广告,展示自己的广告
+                                loadAdvertising();
+                            } else {
+                                //SDK的广告,展示SDK的广告,并拉取一次广告并保存
+                                initSdkAdvertising(ad.getAd_type());
+                            }
+                        }else{
+                            sendHandlerMessages(2000);
+                        }
+                        //拉一次广告,不加载,下次打开APP加载上次拉的数据
+                        fetchAdvertisement(false);
+                    }
                 })
-                .doOnError(throwable -> {
-                    //访问出错时,认为不是新设备
-                    handleResult(false);
-                }).subscribe();
+                .subscribe();
     }
 
     /**
      * 加载SDK的广告
      */
-    private void initSdkAdvertising() {
-        //游可盈
+    private void initSdkAdvertising(int adType) {
+        if (adType == AD_SPLASH_TYPE_YKY) {
+            //游可盈
+            initYKYAd();
+        } else if (adType == AD_SPLASH_TYPE_YT) {
+            //优投
+            initYTAd();
+        }
+    }
+
+    //加载游可盈广告
+    private void initYKYAd() {
         int posId; //开屏广告ID
         if (BuildConfig.FLAVOR.equals("sheep")) {
             posId = 30112;
@@ -190,27 +200,27 @@ public class SplashAct extends BaseActivity {
         );
     }
 
-    /**
-     * 从服务端拉取广告信息
-     */
-    private void fetchAdvertisement(boolean isLoad) {
+    //加载优投广告
+    private void initYTAd() {
+
+    }
+
+    //从服务端拉取广告信息
+    private void fetchAdvertisement(boolean shouldLoad) {
         CommonUtil.getInstance().refreshAds((ret, list) -> {
             if (ret) {
-                if (isLoad) {
+                if (shouldLoad) {
                     ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
                     loadAdvertising();
-                    if (ad == null) {
-                        sendHandlerMessages(2000);
-                    }
+                    if (ad == null) sendHandlerMessages(2000);
                 }
             } else {
-                if (isLoad) {
-                    sendHandlerMessages(2000);
-                }
+                if (shouldLoad) sendHandlerMessages(2000);
             }
         });
     }
 
+    //加载广告
     private void loadAdvertising() {
         if (this.isDestroyed()) return;
         if (!aded) {
@@ -270,16 +280,14 @@ public class SplashAct extends BaseActivity {
         }
     }
 
+    //处理事件
     Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
-            switch (msg.what) {
-                case 0:
-                    gotoNext();
-                    break;
+            if (msg.what == 0) {
+                gotoNext();
             }
-
         }
     };
 
@@ -298,31 +306,28 @@ public class SplashAct extends BaseActivity {
 
     @Override
     public void initListener() {
-
     }
 
     @Override
     public void initData() {
-
     }
 
-    @Override
-    protected void onResume() {
-        super.onResume();
-        if (splash_video_view != null)
-            splash_video_view.resume();
-        if (goLink) {
-            sendHandlerMessages(10);
+    private void sendHandlerMessages(int time) {
+        if (jumped) return;
+        try {
+            if (timer != null) {
+                timer.clear();
+                timer = null;
+            }
+            mHandler.removeMessages(0);
+            mHandler.sendEmptyMessageDelayed(0, time);
+            jumped = true;
+        } catch (Exception e) {
+            e.printStackTrace();
         }
     }
 
-    @Override
-    protected void onPause() {
-        super.onPause();
-        if (splash_video_view != null)
-            splash_video_view.pause();
-    }
-
+    //点击事件
     @OnClick({R.id.splash_skip, R.id.splash_image_view, R.id.splash_video_view})
     public void onViewClicked(View view) {
         switch (view.getId()) {
@@ -343,22 +348,54 @@ public class SplashAct extends BaseActivity {
         }
     }
 
-    private void sendHandlerMessages(int time) {
-        if (jumped) return;
-        try {
-            if (timer != null) {
-                timer.clear();
-                timer = null;
-            }
-            mHandler.removeMessages(0);
-            mHandler.sendEmptyMessageDelayed(0, time);
-            jumped = true;
-        } catch (Exception e) {
-            e.printStackTrace();
+    //请求权限
+    public boolean requestPermissions() {
+        List<String> permissions = new ArrayList<>();
+        boolean result = true;
+        if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
+                || ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+            permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);
+            permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
+            result = false;
+        }
+        if (permissions.size() > 0) {
+            String[] permissionArrays = new String[permissions.size()];
+            permissionArrays = permissions.toArray(permissionArrays);
+            ActivityCompat.requestPermissions(
+                    this,
+                    permissionArrays,
+                    1111
+            );
+        }
+        return result;
+    }
+
+    //权限获取后的回调
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        if (requestPermissions()) init();
+
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (splash_video_view != null)
+            splash_video_view.resume();
+        if (goLink) {
+            sendHandlerMessages(10);
         }
     }
 
     @Override
+    protected void onPause() {
+        super.onPause();
+        if (splash_video_view != null)
+            splash_video_view.pause();
+    }
+
+    @Override
     protected void onDestroy() {
         super.onDestroy();
         if (timer != null) {
@@ -372,23 +409,4 @@ public class SplashAct extends BaseActivity {
         }
     }
 
-    public boolean requestStoragePermission() {
-        List<String> permissions = new ArrayList<String>();
-        boolean result = true;
-        if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
-                || ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
-            permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);
-            permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
-            result = false;
-        }
-        if (permissions.size() > 0) {
-            String[] permissionArrays = new String[permissions.size()];
-            permissionArrays = permissions.toArray(permissionArrays);
-            ActivityCompat.requestPermissions(this,
-                    permissionArrays,
-                    1111);
-        }
-        return result;
-    }
 }

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

@@ -25,8 +25,8 @@ import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
 public class AdHelper {
 
     public static int AD_TYPE_SHEEP = 1; //广告类型:小绵羊平台自己的广告
-    public static int AD_TYPE_YKY = 2; //广告类型:游可盈的广告
-    public static int AD_TYPE_YT = 3; //广告类型:优投的广告
+    public static int AD_SPLASH_TYPE_YKY = 2; //广告类型:游可盈的广告
+    public static int AD_SPLASH_TYPE_YT = 3; //广告类型:优投的广告
 
     // 返回true 为apk下载
     public static boolean goAdLink(Context context, SheepAd advertising) {