Pārlūkot izejas kodu

[修改]是否开启Web新进程由后台配置

zeki 5 gadi atpakaļ
vecāks
revīzija
ee0fa79bf1

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

@@ -457,9 +457,17 @@
                 android:name="com.sheep.gamegroup.view.activity.ActWebX5"
                 android:configChanges="orientation|screenSize"
                 android:exported="true"
+                android:screenOrientation="portrait"
+                android:theme="@style/AppActionTheme"/>
+
+        <activity
+                android:name="com.sheep.gamegroup.view.activity.ActWebX5NewProcess"
+                android:configChanges="orientation|screenSize"
+                android:exported="true"
                 android:process=":webProcess"
                 android:screenOrientation="portrait"
                 android:theme="@style/AppActionTheme"/>
+
         <activity
                 android:name="com.sheep.gamegroup.view.activity.ActWebX5YF"
                 android:screenOrientation="portrait"

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/WebProcessConfigEntity.java

@@ -0,0 +1,16 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Web新进程配置实体类
+ */
+public class WebProcessConfigEntity {
+    boolean status;
+
+    public boolean isStatus() {
+        return status;
+    }
+
+    public void setStatus(boolean status) {
+        this.status = status;
+    }
+}

+ 0 - 6
app/src/main/java/com/sheep/gamegroup/module/home/fragment/FgtWrapper.java

@@ -1,17 +1,11 @@
 package com.sheep.gamegroup.module.home.fragment;
 
-import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
-
-import com.kfzs.duanduan.cardview.ScreenUtil;
 import com.sheep.gamegroup.model.entity.WebParams;
-import com.sheep.gamegroup.module.webview.fragment.FgtWeb;
-import com.sheep.gamegroup.module.webview.fragment.FgtWebX5;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
-import com.snail.antifake.jni.EmulatorDetectUtil;
 
 public class FgtWrapper extends BaseFragment {
 

+ 0 - 9
app/src/main/java/com/sheep/gamegroup/module/home/fragment/HomeWrapperFragment.java

@@ -1,25 +1,16 @@
 package com.sheep.gamegroup.module.home.fragment;
 
-import android.graphics.Color;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
 import android.view.View;
-
-import com.alibaba.fastjson.JSONObject;
 import com.kfzs.duanduan.cardview.ScreenUtil;
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.module.guide.NewbieGuideHelper;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.fragment.FgtFind;
-import com.sheep.gamegroup.view.fragment.FgtSmallSheep;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
-
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 

+ 9 - 90
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -91,94 +91,7 @@ import com.sheep.gamegroup.module.webview.fragment.FgtWebX5;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsCheckResq;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsResp;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
-import com.sheep.gamegroup.view.activity.ActApprenticeRedPacket;
-import com.sheep.gamegroup.view.activity.ActArticleComment;
-import com.sheep.gamegroup.view.activity.ActAudit;
-import com.sheep.gamegroup.view.activity.ActBindMobileRegister;
-import com.sheep.gamegroup.view.activity.ActCoinCenter;
-import com.sheep.gamegroup.view.activity.ActCommentGameApp;
-import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
-import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
-import com.sheep.gamegroup.view.activity.ActDownloadWelfareList;
-import com.sheep.gamegroup.view.activity.ActEntertainmentLuckDraw;
-import com.sheep.gamegroup.view.activity.ActEveryDayShare;
-import com.sheep.gamegroup.view.activity.ActExchangeCMCC;
-import com.sheep.gamegroup.view.activity.ActExchangeMall;
-import com.sheep.gamegroup.view.activity.ActFootprint;
-import com.sheep.gamegroup.view.activity.ActGameAccount;
-import com.sheep.gamegroup.view.activity.ActGameAgencyRecharge;
-import com.sheep.gamegroup.view.activity.ActGameCenter;
-import com.sheep.gamegroup.view.activity.ActGcGameAppDetail;
-import com.sheep.gamegroup.view.activity.ActGiftCenter;
-import com.sheep.gamegroup.view.activity.ActGiftDetail;
-import com.sheep.gamegroup.view.activity.ActGuide;
-import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
-import com.sheep.gamegroup.view.activity.ActGuideOnHook;
-import com.sheep.gamegroup.view.activity.ActImg;
-import com.sheep.gamegroup.view.activity.ActInputAndPickerImg;
-import com.sheep.gamegroup.view.activity.ActInvitation;
-import com.sheep.gamegroup.view.activity.ActLoadH5;
-import com.sheep.gamegroup.view.activity.ActMain;
-import com.sheep.gamegroup.view.activity.ActMiDong;
-import com.sheep.gamegroup.view.activity.ActModifyThird;
-import com.sheep.gamegroup.view.activity.ActMyFocus;
-import com.sheep.gamegroup.view.activity.ActMyMoney;
-import com.sheep.gamegroup.view.activity.ActMyWelfare;
-import com.sheep.gamegroup.view.activity.ActNewAboutUs;
-import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
-import com.sheep.gamegroup.view.activity.ActNotice;
-import com.sheep.gamegroup.view.activity.ActPay;
-import com.sheep.gamegroup.view.activity.ActPlayGameList;
-import com.sheep.gamegroup.view.activity.ActPlayGameRecommendList;
-import com.sheep.gamegroup.view.activity.ActPlayGameUserLikeList;
-import com.sheep.gamegroup.view.activity.ActPlayVideo;
-import com.sheep.gamegroup.view.activity.ActPublishArticle;
-import com.sheep.gamegroup.view.activity.ActSearchApp;
-import com.sheep.gamegroup.view.activity.ActSearchGame;
-import com.sheep.gamegroup.view.activity.ActSetting;
-import com.sheep.gamegroup.view.activity.ActSignCard;
-import com.sheep.gamegroup.view.activity.ActSignCardRecord;
-import com.sheep.gamegroup.view.activity.ActSysNfDetail;
-import com.sheep.gamegroup.view.activity.ActTest;
-import com.sheep.gamegroup.view.activity.ActUnderstandSheep;
-import com.sheep.gamegroup.view.activity.ActUserAppHome;
-import com.sheep.gamegroup.view.activity.ActUserCommentDetail;
-import com.sheep.gamegroup.view.activity.ActUserLabelList;
-import com.sheep.gamegroup.view.activity.ActUserNoviceGuidance;
-import com.sheep.gamegroup.view.activity.ActVideoComment;
-import com.sheep.gamegroup.view.activity.ActVideoDetail;
-import com.sheep.gamegroup.view.activity.ActWebX5;
-import com.sheep.gamegroup.view.activity.ActWebX5Single;
-import com.sheep.gamegroup.view.activity.ActXianWanWeb;
-import com.sheep.gamegroup.view.activity.ActXiaomiGame;
-import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
-import com.sheep.gamegroup.view.activity.BindOrChangeWeixinAct;
-import com.sheep.gamegroup.view.activity.ChangeTelAct;
-import com.sheep.gamegroup.view.activity.ChangeWxOrTelAct;
-import com.sheep.gamegroup.view.activity.CommitWxAct;
-import com.sheep.gamegroup.view.activity.CommitWxCodeAct;
-import com.sheep.gamegroup.view.activity.DialogToastAct;
-import com.sheep.gamegroup.view.activity.FeedbackAct;
-import com.sheep.gamegroup.view.activity.GameTaskOrderListAct;
-import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
-import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
-import com.sheep.gamegroup.view.activity.NewYearActMyMoney;
-import com.sheep.gamegroup.view.activity.PersonalCenterAct;
-import com.sheep.gamegroup.view.activity.PersonalInfoAct;
-import com.sheep.gamegroup.view.activity.RealNameAuthenAct;
-import com.sheep.gamegroup.view.activity.RechargeAct;
-import com.sheep.gamegroup.view.activity.RechargeQAct;
-import com.sheep.gamegroup.view.activity.RechargeResultAct;
-import com.sheep.gamegroup.view.activity.SignRankingsAct;
-import com.sheep.gamegroup.view.activity.TaskDetailAct;
-import com.sheep.gamegroup.view.activity.TaskDetailAddQQAct;
-import com.sheep.gamegroup.view.activity.TaskDetailCreditCardAct;
-import com.sheep.gamegroup.view.activity.TaskListAct;
-import com.sheep.gamegroup.view.activity.TryMakeMoneyact;
-import com.sheep.gamegroup.view.activity.WebviewAct;
-import com.sheep.gamegroup.view.activity.WithdrawalAct;
-import com.sheep.gamegroup.view.activity.WithdrawalListAct;
-import com.sheep.gamegroup.view.activity.WithdrawalResultAct;
+import com.sheep.gamegroup.view.activity.*;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTask1;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskRegisterSuccess;
 import com.sheep.gamegroup.view.fragment.FgtMainAudit;
@@ -528,6 +441,7 @@ public class Jump2View {
         context.startActivity(intent);
         UMConfigUtils.Event.SHEEP_TASK_TRY.onEvent();
     }
+
     /**
      * 跳到简单奖励
      *
@@ -771,7 +685,7 @@ public class Jump2View {
     public synchronized void goVideoTaskView(Context context, Integer id) {
         Intent intent = new Intent(context, VideoTaskActivity.class);
         intent.putExtra("task_id", id);
-        ((Activity)context).startActivityForResult(intent,REQUEST_CODE_GOT_REWARDS);
+        ((Activity) context).startActivityForResult(intent, REQUEST_CODE_GOT_REWARDS);
     }
 
     public synchronized void goWelfare(Context context, int taskId) {
@@ -1132,7 +1046,12 @@ public class Jump2View {
             goActPlayVideo(url, webParams.getTitle());
             return;
         }
-        Intent intent = new Intent(context, ActWebX5.class);
+        Intent intent;
+        if (SheepApp.getInstance().shouldOpenWebInNewProcess) {
+            intent = new Intent(context, ActWebX5NewProcess.class);
+        } else {
+            intent = new Intent(context, ActWebX5.class);
+        }
         intent.putExtra(WebParams.class.getSimpleName(), webParams);
         if (needNewTask) {
             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

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

@@ -90,8 +90,6 @@ public class ActMain extends BaseActYmPermissionCheck {
     RelativeLayout main_layout;
     @BindView(R.id.main_header)
     View main_header;
-    @BindView(R.id.iv_xxl)
-    ImageView ivXXL;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -105,12 +103,6 @@ public class ActMain extends BaseActYmPermissionCheck {
                 ActionUtil.getInstance().addNextAction(MiddleSchemeAct.SHOW_DIALOG_GAME_OR_GIFT_TASK, game_id);
             }
         }
-        ivXXL.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Jump2View.getInstance().goWeb(ActMain.this, "http://smallstation.9yan.io/block_puzzle/", "消消乐");
-            }
-        });
     }
 
     @Override

+ 0 - 4
app/src/main/java/com/sheep/gamegroup/view/activity/ActWebX5.java

@@ -5,17 +5,13 @@ import android.content.pm.ActivityInfo;
 import android.support.v4.app.Fragment;
 import android.text.TextUtils;
 import android.util.Log;
-
 import com.sheep.gamegroup.absBase.BaseContainerActivity;
 import com.sheep.gamegroup.model.api.IWeb;
 import com.sheep.gamegroup.model.entity.WebParams;
-import com.sheep.gamegroup.module.webview.fragment.FgtWeb;
-import com.sheep.gamegroup.module.webview.fragment.FgtWebX5;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
-import com.snail.antifake.jni.EmulatorDetectUtil;
 import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActWebX5NewProcess.java

@@ -0,0 +1,10 @@
+package com.sheep.gamegroup.view.activity;
+
+public class ActWebX5NewProcess extends ActWebX5{
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        //杀掉当前进程
+        android.os.Process.killProcess(android.os.Process.myPid());
+    }
+}

+ 23 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -30,6 +30,7 @@ import com.sheep.gamegroup.di.components.NetComponent;
 import com.sheep.gamegroup.di.modules.NetModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.ThirdAdsConfigEntity;
+import com.sheep.gamegroup.model.entity.WebProcessConfigEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.login.AccountConsistenceAct;
 import com.sheep.gamegroup.module.login.LoginAct;
@@ -74,7 +75,9 @@ import com.tencent.smtt.sdk.WebView;
 import com.umeng.commonsdk.UMConfigure;
 import com.umeng.socialize.PlatformConfig;
 import com.youmi.android.offer.YmConfig;
+import io.reactivex.ObservableSource;
 import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.functions.Function;
 import io.reactivex.schedulers.Schedulers;
 import org.xutils.x;
 
@@ -104,6 +107,7 @@ public class SheepApp extends MultiDexApplication {
     private boolean isInitMidong = false;
     private String gameCode;//游戏code
     private String gameId;//游戏id
+    public boolean shouldOpenWebInNewProcess;//Web是否需要在新进程打开
     private String gamePackgeName;
     private boolean gameFlag;
     private String wlan;
@@ -203,7 +207,7 @@ public class SheepApp extends MultiDexApplication {
     public void onCreate() {
 //        configStrictMode();
         super.onCreate();
-        //initWebViewDataDirectory(this);
+        initWebViewDataDirectory(this);
         if (AppUtil.isMainProcess(this) || AppUtil.isWebProcess(this)) {
             boolean isNotSupport = Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR1;
             ContextHolder.setContext(this);
@@ -229,7 +233,7 @@ public class SheepApp extends MultiDexApplication {
             RxJavaPlugins.setErrorHandler(throwable -> Log.e("RxThrowable", throwable.getMessage()));
 
         }
-        if(AppUtil.isMainProcess(this)){
+        if (AppUtil.isMainProcess(this)) {
             /*三方广告SDK接入,点客、游可盈、优投等*/
             initThirdAd();
         }
@@ -280,6 +284,23 @@ public class SheepApp extends MultiDexApplication {
                         initYTAd(thirdAdsConfigEntity.getYtConfig().getAppid(), thirdAdsConfigEntity.getYtConfig().getAd_id());
                     }
                 });
+
+        SheepApp.getInstance().getNetComponent().getApiService().commonConfig("should_open_in_new_process")
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(this) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg() + "");
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        WebProcessConfigEntity webProcessConfigEntity = baseMessage.getData(WebProcessConfigEntity.class);
+                        shouldOpenWebInNewProcess = webProcessConfigEntity.isStatus();
+                    }
+                });
+
     }
 
     //加载游可盈广告

+ 0 - 8
app/src/main/res/layout/act_bottom_bar.xml

@@ -7,14 +7,6 @@
                 android:clipChildren="false">
 
     <ImageView
-            android:id="@+id/iv_xxl"
-            android:layout_width="56dp"
-            android:layout_height="56dp"
-            android:elevation="2dp"
-            android:layout_margin="56dp"
-            android:src="@mipmap/sheep_logo"/>
-
-    <ImageView
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:adjustViewBounds="true"