Pārlūkot izejas kodu

[修改]修改了修改密码界面返回验证码界面无限重发验证码的BUG

ZEKI 5 gadi atpakaļ
vecāks
revīzija
f7791038b3

+ 1 - 0
.idea/gradle.xml

@@ -25,6 +25,7 @@
           </set>
         </option>
         <option name="resolveModulePerSourceSet" value="false" />
+        <option name="useQualifiedModuleNames" value="true" />
       </GradleProjectSettings>
     </option>
   </component>

+ 2 - 0
app/build.gradle

@@ -166,6 +166,7 @@ dependencies {
         exclude group: 'com.android.support', module: 'recyclerview'
         exclude group: 'com.android.support', module: 'appcompat'
     }
+    implementation 'com.squareup.wire:wire-runtime:3.6.0'
     implementation 'com.squareup.okhttp3:okhttp:3.11.0'
     implementation 'org.greenrobot:eventbus:3.1.1'
 
@@ -175,6 +176,7 @@ dependencies {
     implementation 'com.tencent.bugly:crashreport_upgrade:1.3.5'
     implementation(name: 'alipaySdk-15.5.9', ext: 'aar')
     implementation(name: 'ad_dk_sdk', ext: 'aar')
+    implementation(name:'klevinSDK', ext:'aar')
 
     //其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
     implementation 'com.tencent.bugly:nativecrashreport:3.3.1'

BIN
app/libs/klevinSDK.aar


+ 4 - 1
app/proguard-rules.pro

@@ -184,7 +184,10 @@
 -keep class javax.** { *; }
 -keep class rx.** { *; }
 
-
+# klein
+-keep class com.tencent.tgpa.**{*;}
+-keep class com.tencent.klevin.**{*;}
+-keep class com.tencent.protocol.sspservice.**{*;}
 
 # Retrofit 2.X
 ## https://square.github.io/retrofit/ ##

+ 4 - 0
app/src/main/AndroidManifest.xml

@@ -76,6 +76,9 @@
     <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
     <uses-permission android:name="android.permission.READ_CALL_LOG" />
 
+    <!--华硕设备必须-->
+    <uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS" />
+
     <uses-feature android:name="android.hardware.camera" />
     <uses-feature android:name="android.hardware.camera.autofocus" />
 
@@ -91,6 +94,7 @@
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
         android:largeHeap="true"
+        android:hardwareAccelerated="true"
         android:persistent="true"
         android:supportsRtl="true"
         android:theme="@style/AppTheme"

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/module/login/fragments/Captcha4ForgetFgt.java

@@ -81,6 +81,7 @@ public class Captcha4ForgetFgt extends BaseFragment {
             public void onTextChanged(CharSequence s, int start, int before, int count) {
                 if (s != null && s.length() == 6) {
                     submitCaptcha();
+                    captchaBox.setText("");
                 }
             }
 

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/module/task/VideoTaskActivity.java

@@ -93,8 +93,10 @@ 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);
         } else {
             finish();

+ 0 - 8
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskBase.java

@@ -1,9 +1,6 @@
 package com.sheep.gamegroup.module.task.fragments;
 
 import android.app.Dialog;
-import android.text.TextUtils;
-
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Release_task;
@@ -14,17 +11,12 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
 import com.sheep.gamegroup.util.LocationUtils;
 import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.util.RxjavaCountDownTimer;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
-
-import java.util.Locale;
-import java.util.Map;
-
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 

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

@@ -1,12 +1,13 @@
 package com.sheep.gamegroup.module.task.fragments;
 
 import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.stmsdk.module.ad.StyleAdEntity;
 import com.tencent.tmsecure.dksdk.ad.DkAdManage;
 import com.tencent.tmsecure.dksdk.util.DkAppDownloadListener;
 
+/**
+ * 点客广告视频
+ */
 public class FgtVideoTaskDK extends FgtVideoTaskBase implements DkAppDownloadListener {
 
     private DkAdManage adManage;

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

@@ -29,6 +29,9 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
 import butterknife.BindView;
 import butterknife.OnClick;
 
+/**
+ * 掌酷广告视频
+ */
 public class FgtVideoTaskZK extends FgtVideoTaskBase {
 
     @BindView(R.id.video_player_view)

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

@@ -18,6 +18,7 @@ import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 
 import java.util.List;
+import java.util.function.Consumer;
 
 import butterknife.BindView;
 

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

@@ -13,6 +13,7 @@ import android.support.annotation.Nullable;
 import android.support.v4.app.ActivityCompat;
 import android.support.v4.content.ContextCompat;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
@@ -22,8 +23,6 @@ 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.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.skin.util.SkinUtil;
 import com.sheep.gamegroup.util.ApiJSONUtil;
 import com.sheep.gamegroup.util.CommonUtil;
@@ -32,16 +31,15 @@ import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.RxjavaCountDownTimer;
 import com.sheep.gamegroup.util.SysAppUtil;
-import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.activity.helper.AdHelper;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 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.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -50,6 +48,10 @@ import butterknife.OnClick;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 
+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;
+
 /**
  * Created by ljy on 2018/3/9.
  */
@@ -106,43 +108,92 @@ public class SplashAct extends BaseActivity {
         }
     }
 
+    private void handleResult(boolean isNewSmallSheep) {
+        DataUtil.getInstance().setIsNewSmallSheep(isNewSmallSheep);
+        if (SysAppUtil.isNewSmallSheep()) {//新版本只显示引导页面,不展示弹窗和开屏广告
+            initSelfAdvertisement(false);//只更新,不加载,下次加载上次的数据
+            sendHandlerMessages(2000);
+        } else {
+            ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPASH);
+            if (ad != null) {
+                //有自己的广告,先加载自己的广告,再拉取一次广告并保存
+                loadAdvertising();
+                initSelfAdvertisement(false);//只更新,不加载,下次加载上次的数据
+            } else {
+                //没有自己的广告,展示SDK的广告,并拉取一次广告并保存
+                initSdkAdvertising();
+                initSelfAdvertisement(false);
+            }
+        }
+    }
+
     private void init() {
         if (SysAppUtil.isNotSupport(this)) return;
         SheepApp.getInstance().getNetComponent().getApiService().checkUserFirst()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                .doOnNext(baseMessage -> {
+                    boolean isNewSmallSheep = baseMessage.getData(Boolean.class);
+                    handleResult(isNewSmallSheep);
+                })
+                .doOnError(throwable -> {
+                    //访问出错时,认为不是新设备
+                    handleResult(false);
+                }).subscribe();
+    }
+
+    /**
+     * 加载SDK的广告
+     */
+    private void initSdkAdvertising() {
+        //游可盈
+        int posId; //开屏广告ID
+        if (BuildConfig.FLAVOR.equals("sheep")) {
+            posId = 30112;
+        } else {
+            //posId = 30029;
+            posId = 30112;
+        }
+        String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}]}";
+        //"{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}]}";
+        KleinManager.getInstance().prepareAD(
+                getApplicationContext(),
+                data,
+                5000,
+                true,
+                new KleinResponseCallback() {
                     @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        boolean isNewSmallSheep = baseMessage.getData(Boolean.class);
-                        handleResult(isNewSmallSheep);
+                    public void onSuccess(int i) {
+                        if (BuildConfig.DEBUG)
+                            Log.d("!!!!!Success", String.valueOf(i));
                     }
 
                     @Override
-                    public void onError(BaseMessage baseMessage) {
-                        //访问出错时,认为不是新设备
-                        handleResult(false);
+                    public void onFail(int i) {
+                        if (BuildConfig.DEBUG)
+                            Log.d("!!!!!Fail", String.valueOf(i));
                     }
 
-                    private void handleResult(boolean isNewSmallSheep) {
-                        DataUtil.getInstance().setIsNewSmallSheep(isNewSmallSheep);
-                        if (SysAppUtil.isNewSmallSheep()) {//新版本只显示引导页面,不展示弹窗和开屏广告
-                            initAdvertisement(false);//只更新,不加载,下次加载上次的数据
-                            sendHandlerMessages(2000);
-                        } else {
-                            ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPASH);
-                            if (ad != null) {
-                                loadAdvertising();
-                                initAdvertisement(false);//只更新,不加载,下次加载上次的数据
-                            } else {
-                                initAdvertisement(true);
-                            }
+                    @Override
+                    public void onEvent(int i) {
+                        if (BuildConfig.DEBUG)
+                            Log.d("!!!!!Event", String.valueOf(i));
+                        switch (i) {
+                            case KLSplashAdEvent_AdPlayCompletion:
+                            case KLSplashAdEvent_AdShowFinish:
+                            case KLSplashAdEvent_AdSkip:
+                                sendHandlerMessages(0);
+                                break;
                         }
                     }
-                });
+                }
+        );
     }
 
-    private void initAdvertisement(boolean isLoad) {
+    /**
+     * 加载自己的广告
+     */
+    private void initSelfAdvertisement(boolean isLoad) {
         CommonUtil.getInstance().refreshAds((ret, list) -> {
             if (ret) {
                 if (isLoad) {
@@ -330,6 +381,7 @@ public class SplashAct extends BaseActivity {
         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;
         }

+ 63 - 6
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -1,14 +1,17 @@
 package com.sheep.jiuyan.samllsheep;
 
+import android.Manifest;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.StrictMode;
 import android.support.multidex.MultiDex;
 import android.support.multidex.MultiDexApplication;
+import android.support.v4.app.ActivityCompat;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 
@@ -21,6 +24,7 @@ import com.bumptech.glide.Glide;
 import com.bun.miitmdid.core.JLibrary;
 import com.danikula.videocache.HttpProxyCacheServer;
 //import com.didi.virtualapk.PluginManager;
+import com.google.gson.JsonParser;
 import com.kfzs.cfyl.share_library.util.ContextHolder;
 import com.liulishuo.okdownload.OkDownload;
 import com.liulishuo.okdownload.core.connection.DownloadUrlConnection;
@@ -68,6 +72,8 @@ import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.shuyu.gsyvideoplayer.player.PlayerFactory;
 import com.tencent.bugly.Bugly;
 import com.tencent.bugly.beta.Beta;
+import com.tencent.klevin.KleinManager;
+import com.tencent.klevin.base.callback.KleinResponseCallback;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.tencent.smtt.sdk.QbSdk;
@@ -220,7 +226,8 @@ public class SheepApp extends MultiDexApplication {
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            /**点客广告SDK接入*/
+
+            /*点客广告SDK接入*/
             TMSDKContext.setTMSDKLogEnable(BuildConfig.DEBUG);
             TMSDKContext.init(this, new AbsTMSConfig() {
                 @Override
@@ -228,6 +235,55 @@ public class SheepApp extends MultiDexApplication {
                     return "mazu.3g.qq.com";
                 }
             });
+
+            /*
+            * 正式环境
+                APPID:30008
+                开屏:30029
+                激励视频:30031
+
+            * 测试环境
+                小绵羊应用id:30051,
+                开屏广告位id:30112,
+                激励视频广告位id:30113
+            * */
+
+            /*游可赢广告SDK接入*/
+            int appId;
+            if (BuildConfig.FLAVOR.equals("sheep")) {
+                //正式服
+                //appId = 30051;
+                appId = 30051;
+            } else {
+                //测试服
+                appId = 30051;
+            }
+
+            KleinManager.getInstance().initKleinAdSDK(this,
+                    "{\"app_id\":" + appId + ",\"app_bundle\":\"abc.kfzs.com\",\"app_version\":\"6.3.1\",\"is_debug\":" + BuildConfig.DEBUG + "}",
+                    new KleinResponseCallback() {
+                        @Override
+                        public void onSuccess(int code) {
+                            if (BuildConfig.DEBUG)
+                                G.showToast("游可赢广告初始化:init onSuccess : " + code);
+                            //code:KLAdEvent_InitSuccess = 800; // 宿主初始化成功
+                        }
+
+                        @Override
+                        public void onFail(int code) {
+                            if (BuildConfig.DEBUG)
+                                G.showToast("游可赢广告初始化:init onSuccess : " + code);
+                            //code:KLAdEvent_InitError = 801; // 宿主初始化错误
+                        }
+
+                        @Override
+                        public void onEvent(int code) {
+                            // 初始化不会回调
+                            if (BuildConfig.DEBUG)
+                                G.showToast("游可赢广告事件:init onSuccess : " + code);
+                        }
+                    });
+
         }
     }
 
@@ -563,11 +619,11 @@ public class SheepApp extends MultiDexApplication {
                         || activity instanceof GameCertificationActivity
                         || activity instanceof RechargeAct
                         || activity instanceof FaceWithQRActivity
-                ||activity instanceof RealNameAuthenAct
-                ||activity instanceof ChangeTelAct
-                || activity instanceof ActPay
-                || activity instanceof RechargeResultAct
-                || activity instanceof AccountConsistenceAct) { // 可以是不用登录就存在的Act
+                        || activity instanceof RealNameAuthenAct
+                        || activity instanceof ChangeTelAct
+                        || activity instanceof ActPay
+                        || activity instanceof RechargeResultAct
+                        || activity instanceof AccountConsistenceAct) { // 可以是不用登录就存在的Act
                 } else {
                     LogUtil.println("onActivityResumed checkCopyText activity", activity.getClass().getSimpleName());
 
@@ -685,4 +741,5 @@ public class SheepApp extends MultiDexApplication {
         super.onTerminate();
     }
 
+
 }