服务异常死亡重新绑定(未测试), bind远程服务之后直接发送地图/灯光/车辆信息
1个文件已删除
3个文件已修改
59 ■■■■ 已修改文件
app/libs/tbs_sdk_thirdapp_v4.3.0.3_43903_sharewithdownloadwithfile_withoutGame_obfs_20200402_121309.jar 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lib/src/main/java/com/anyun/exam/lib/SvrManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/tbs_sdk_thirdapp_v4.3.0.3_43903_sharewithdownloadwithfile_withoutGame_obfs_20200402_121309.jar
Binary files differ
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -26,7 +26,6 @@
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.tencent.smtt.sdk.QbSdk;
import org.json.JSONException;
@@ -98,33 +97,20 @@
            //考试状态 ,一些初始状态,app一些状态应该先初始化一下
            initData();
//            QbSdk.initX5Environment(this,cb);
        }
    }
    QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
        @Override
        public void onViewInitFinished(boolean arg0) {
            MyLog.i(" QbSdk onViewInitFinished is " + arg0);
        }
        @Override
        public void onCoreInitFinished() {
            MyLog.i("x5内核onCoreInitFinished");
        }
    };
    private void preinitX5WebCore() {
        if (!QbSdk.isTbsCoreInited()) {
            // preinit只需要调用一次,如果已经完成了初始化,那么就直接构造view
            QbSdk.preInit(this, null);// 设置X5初始化完成的回调接口
            MyLog.i(" QbSdk isTbsCoreInited  " );
        }
    }
    private void initData() {
        CThreadPoolExecutor.runInBackground(()->{
            MyLog.i("开始初始化数据发送地图/车辆/mcu升级文件/考试状态");
                int type = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().getStartExamInt();
                ExamPlatformData.getInstance().setExamType(type);
            OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
            OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
            WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
        });
    }
@@ -159,9 +145,7 @@
        }
        switch (cmd) {
            case Constant.NDK_START:
                OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
                OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
                WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java
@@ -7,18 +7,13 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.anyun.exam.lib.MyLog;
import com.tencent.smtt.export.external.interfaces.SslError;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
import com.tencent.smtt.export.external.interfaces.WebResourceResponse;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -71,25 +66,7 @@
                webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webView.loadUrl(url);
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(url);
                return true;
            }
            @Override
            public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
                super.onReceivedHttpError(view, request, errorResponse);
                Log.i(TAG,errorResponse.getReasonPhrase());
            }
            @Override
            public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
                super.onReceivedSslError(webView, sslErrorHandler, sslError);
                sslErrorHandler.proceed();
            }
        });
        return webView;
    }
    public static void hookWebView() {
lib/src/main/java/com/anyun/exam/lib/SvrManager.java
@@ -23,6 +23,7 @@
    private static final String TAG = "SvrManager";
    private MyServiceConn conn;
    private Intent intent;
    private Context mContext;
    private IAYExamListener mCallback;
@@ -55,6 +56,8 @@
            }
            remoteInterface.asBinder().unlinkToDeath(mDeathRecipient,0);
            remoteInterface = null;
            MyLog.i("检测到远程服务异常死亡,重新绑定");
            bindRemoteService(mContext);
        }
    };
@@ -110,6 +113,7 @@
    }
    public void bindRemoteService(Context mContext){
        this.mContext = mContext;
        intent = new Intent(mContext,RemoteService.class);
        conn = new MyServiceConn();
        mContext.bindService(intent,conn, Context.BIND_AUTO_CREATE);