Przeglądaj źródła

添加可以本地配置服务器以及是否更新的机制,用以方便黄海自动化测试

zengjiebin 7 lat temu
rodzic
commit
78119db37b

+ 2 - 3
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -27,7 +27,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 import com.kfzs.duanduan.BaseCompatFragment;
 import com.kfzs.duanduan.event.BigEvent;
-import com.kfzs.duanduan.react.ReactUtil;
+import com.kfzs.duanduan.react.ConfigUtil;
 import com.kfzs.duanduan.react.SharedPreferences;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.di.components.DaggerSmallSheepComponent;
@@ -48,7 +48,6 @@ import com.sheep.gamegroup.model.entity.SlideshowEty;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
-import com.sheep.gamegroup.model.util.AutoTaskListUtil;
 import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.presenter.SmallSheepContract;
 import com.sheep.gamegroup.presenter.SmallSheepPresenter;
@@ -237,7 +236,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         }
         ViewUtil.setText(nameTv, userEntity.getNickname());
         ViewUtil.setText(sheepNumTv, String.format(Locale.CHINA, "绵羊号:%s", userEntity.getInvitation_code()));
-        if (ReactUtil.isSmallDebug()) {
+        if (ConfigUtil.isSmallDebug()) {
             sheepNumTv.append("\n邀请人:");
             sheepNumTv.append(userEntity.getParent_code());
         }

+ 75 - 0
app/src/main/java/com/kfzs/duanduan/react/ConfigUtil.java

@@ -0,0 +1,75 @@
+package com.kfzs.duanduan.react;
+
+import android.os.Environment;
+import android.text.TextUtils;
+
+import com.sheep.gamegroup.util.ListUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
+
+/**
+ * Created by realicing on 2018/1/7.
+ * realicing@sina.com
+ */
+
+public class ConfigUtil {
+    private static ConfigUtil instance = new ConfigUtil();
+    private ConfigUtil() {
+        File file = new File(DIR, "smallSheep.config");
+        isFileExists = file.exists();
+        if(isFileExists){
+            content = FileUtil.readLines(file);
+        }
+    }
+    public static ConfigUtil getInstance() {
+        if (instance == null) {
+            instance = new ConfigUtil();
+        }
+        return instance;
+    }
+    private boolean isFileExists;
+    private List<String> content;
+
+    public boolean isFileExists() {
+        return isFileExists;
+    }
+
+    /**
+     * 第一行  connectAddress的名字:sheep sheepfz sheeptest   developSheeptest
+     * 第二行  是否升级(1为要升级,2为不升级):1 2
+     * 第行
+     * @param position
+     * @return
+     */
+    public String getItem(int position){
+        return ListUtil.getItem(content, position);
+    }
+
+    /**
+     * 是否调用升级
+     * @return
+     */
+    public boolean isUpgrade() {
+        String item = getItem(1);
+        return TextUtils.equals(item, "1");
+    }
+    /**
+     * 是否进入rn调试模式
+     */
+    public static final boolean isSmallDebug() {
+        File sdDir = null;
+        boolean sdCardExist = Environment.getExternalStorageState()
+                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
+        if (sdCardExist) {
+            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
+        }
+        return sdDir != null && new File(sdDir, "smallSheep.debug").exists();
+    }
+
+}

+ 10 - 1
app/src/main/java/com/kfzs/duanduan/react/FileUtil.java

@@ -74,8 +74,17 @@ public class FileUtil {
             return null;
         }
 
+        File f = new File(sFileName);
+        return readLines(f);
+    }
+    /**
+     * 读取文件
+     *
+     * @param f
+     * @return
+     */
+    public static List<String> readLines(File f) {
         final List<String> list = new ArrayList<>();
-        final File f = new File(sFileName);
         if (!f.exists()) {
             return null;
         }

+ 0 - 136
app/src/main/java/com/kfzs/duanduan/react/ReactUtil.java

@@ -1,136 +0,0 @@
-package com.kfzs.duanduan.react;
-
-import android.os.Environment;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by realicing on 2018/1/7.
- * realicing@sina.com
- */
-
-public class ReactUtil {
-    /**
-     * 是否进入rn调试模式
-     */
-    public static final boolean isHasConnectConfig() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "smallSheep.config").exists();
-    }
-    /**
-     * 是否进入rn调试模式
-     */
-    public static final String getConectConfig() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return FileUtil.readFile(new File(sdDir, "smallSheep.config").getAbsolutePath());
-    }
-    /**
-     * 是否进入rn调试模式
-     */
-    public static final boolean isSmallDebug() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "smallSheep.debug").exists();
-    }
-    /**
-     * 是否进入rn调试模式
-     */
-    public static final boolean isRnDebug() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "duanduanReactNative.debug").exists();
-    }
-
-    /**
-     * 是否加载rn
-     */
-    public static final boolean isLoadRn() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "duanduanReactNative.load").exists();
-    }
-
-    /**
-     * 是否加载rn_BorrowPlay
-     */
-    public static final boolean isLoadRn_BorrowPlay() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "duanduanReactNative.load_bp").exists();
-    }
-
-    /**
-     * 是否包含用户名密码文件
-     */
-    public static final boolean isHasUserFile() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        return sdDir != null && new File(sdDir, "duanduan.zh").exists();
-    }
-
-    public static Map<String, String> MAP_PWD;
-
-    public static List<String> initArr() {
-        File sdDir = null;
-        boolean sdCardExist = Environment.getExternalStorageState()
-                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
-        if (sdCardExist) {
-            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
-        }
-        if (sdDir != null && new File(sdDir, "duanduan.zh").exists()) {
-            List<String> list = FileUtil.readLines(new File(sdDir, "duanduan.zh").getAbsolutePath());
-            if (list != null && !list.isEmpty()) {
-                List<String> arr = new ArrayList<>();
-                MAP_PWD = new HashMap<>(list.size());
-                int i = 0;
-                for (String line : list) {
-                    if (line.contains("\t")) {
-                        String[] items = line.split("\t");
-                        arr.add(items[0]);
-                        MAP_PWD.put(items[0], items[1]);
-                    }
-                    i++;
-                }
-                return arr;
-            }
-        }
-        return new ArrayList<>();
-    }
-
-
-
-}

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java

@@ -1,7 +1,7 @@
 package com.sheep.gamegroup.util;
 
 
-import com.kfzs.duanduan.react.ReactUtil;
+import com.kfzs.duanduan.react.ConfigUtil;
 import com.kfzs.duanduan.react.SharedPreferences;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -125,8 +125,8 @@ public enum ConnectAddress {
 
     public ConnectAddress getDefultConnectAddress() {
         if(TestUtil.isTest()){
-            if(ReactUtil.isHasConnectConfig()) {
-                String flavor = ReactUtil.getConectConfig();
+            if(ConfigUtil.getInstance().isFileExists()) {
+                String flavor = ConfigUtil.getInstance().getItem(0);//第一行填写connectAddress的名字
                 try {
                     return ConnectAddress.valueOf(flavor);
                 } catch (IllegalArgumentException e) {

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -25,6 +25,7 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSON;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory;
+import com.kfzs.duanduan.react.ConfigUtil;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.model.entity.AppInfo;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -409,6 +410,11 @@ public class SysAppUtil {
      * @param action1 动作完成后的回调
      */
     public static void showVersionInfo(final Activity activity, final String ignoreMd5, final Action1<Integer> action1) {
+        if(!ConfigUtil.getInstance().isUpgrade()) {
+            if(action1 != null)
+                action1.call(0);
+            return;
+        }
         if(dialog != null){
             try {
                 if(dialog.isShowing()) {

+ 3 - 6
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -14,10 +14,9 @@ import android.view.View;
 import android.widget.ArrayAdapter;
 import android.widget.TextView;
 
-import com.alibaba.fastjson.JSONObject;
 import com.bumptech.glide.Glide;
 import com.kfzs.duanduan.ActMain;
-import com.kfzs.duanduan.react.ReactUtil;
+import com.kfzs.duanduan.react.ConfigUtil;
 import com.kfzs.duanduan.view.DialogStorageLow;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.CreditCard;
@@ -43,8 +42,6 @@ import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
 
-import org.afinal.simplecache.ACache;
-
 import java.io.File;
 import java.util.List;
 import java.util.Locale;
@@ -167,7 +164,7 @@ public class TestUtil {
     }
 
     public static void testChange(final Activity activity, TextView test_change) {
-        if (isTest() && !ReactUtil.isHasConnectConfig()) {
+        if (isTest() && !ConfigUtil.getInstance().isFileExists()) {
             test_change.setVisibility(View.VISIBLE);
             test_change.setText(SheepApp.getInstance().getConnectAddress().getName());
             test_change.setOnClickListener(new View.OnClickListener() {
@@ -189,7 +186,7 @@ public class TestUtil {
         }
     }
     public static void testChangeUser(final Activity activity, TextView test_change) {
-        if (isTest() && !ReactUtil.isHasConnectConfig()) {
+        if (isTest() && !ConfigUtil.getInstance().isFileExists()) {
 
             test_change.setVisibility(View.VISIBLE);
             test_change.setText("切换账号");

+ 4 - 4
app/src/main/java/com/sheep/gamegroup/util/UMConfigUtils.java

@@ -68,10 +68,10 @@ public class UMConfigUtils {
         SHEEP_CREDIT_CARD_PROGRESS_QUERY("信用卡任务列表界面 ->信用卡任务进度查询列表 -> 信用卡任务进度查询"),//5035
         TASK_START_APP("打开任务应用或游戏"),//5036
         TASK_INSTALL_APP("安装应用"),//5037
-        SHEEP_START("启动小绵羊"),//5038
-        SHEEP_RESUME("小绵羊进入前台"),//5039
-        SHEEP_PAUSE("小绵羊进入后台"),//5040
-        SHEEP_STOP("退出小绵羊"),//5041
+        SHEEP_CREATED("启动小绵羊"),//5038
+        SHEEP_STARTED("小绵羊进入前台"),//5039
+        SHEEP_STOPPED("小绵羊进入后台"),//5040
+        SHEEP_DESTROYED("退出小绵羊"),//5041
         PUNCH("点击打卡赚钱"),//5042
         PUNCH_SIGN_UP("点击报名"),//5043
         PUNCH_PUNCH("点击打卡"),//5044

+ 25 - 33
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -4,14 +4,10 @@ import android.app.Activity;
 import android.content.Context;
 import android.os.Bundle;
 import android.support.multidex.MultiDex;
-import android.util.DisplayMetrics;
 
 import com.kfzs.duanduan.ActMain;
-import com.kfzs.duanduan.event.BigEvent;
-import com.kfzs.duanduan.event.EventTypes;
+import com.kfzs.duanduan.react.ConfigUtil;
 import com.kfzs.duanduan.react.SharedPreferences;
-import com.mdad.sdk.mdsdk.AdManager;
-import com.mdad.sdk.mdsdk.AppDownloadListener;
 import com.sheep.gamegroup.di.components.DaggerNetComponent;
 import com.sheep.gamegroup.di.components.NetComponent;
 import com.sheep.gamegroup.di.modules.NetModule;
@@ -22,7 +18,6 @@ import com.sheep.gamegroup.util.ChannelContent;
 import com.sheep.gamegroup.util.ConnectAddress;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.util.PreferenceUtils;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.view.activity.LoginAct;
@@ -33,11 +28,6 @@ import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.tencent.bugly.Bugly;
 import com.tencent.bugly.beta.Beta;
 
-import org.afinal.simplecache.ACache;
-import org.greenrobot.eventbus.EventBus;
-
-import java.util.Locale;
-
 import rx.functions.Action1;
 
 /**
@@ -128,7 +118,7 @@ public class SheepApp extends BaseApplication {
     }
 
 
-    public int mActivityAount;
+    public int mActivityCount;//显示的activity的个数, 0个时代表暂停或退出应用,1个代表应用正显示在用户面前
     private boolean notStop = false;
     /**
      * Activity 生命周期监听,用于监控app前后台状态切换
@@ -148,46 +138,48 @@ public class SheepApp extends BaseApplication {
                 });
             }
 
-            if(mActivityAount == 0) {
-                Beta.autoDownloadOnWifi = !BuildConfig.DEBUG;
-                Bugly.init(getApplicationContext(), Config.BUGLY_APPID, BuildConfig.DEBUG);
+            if(mActivityCount == 0) {
+                if(ConfigUtil.getInstance().isUpgrade()) {
+                    Beta.autoDownloadOnWifi = !BuildConfig.DEBUG;
+                    Bugly.init(getApplicationContext(), Config.BUGLY_APPID, BuildConfig.DEBUG);
+                }
                 AppUsageManager.getInstance().needOpenLookAppUsageStatsPermisson(true);//尝试保存应用使用情况的数据
-                LogUtil.println("SheepApp SHEEP_START");
-                UMConfigUtils.Event.SHEEP_START.onEvent();
+                LogUtil.println("SheepApp onActivityCreated", mActivityCount);
+                UMConfigUtils.Event.SHEEP_CREATED.onEvent();
             }
         }
 
         @Override
         public void onActivityStarted(Activity activity) {
-            mActivityAount++;
-        }
-
-        @Override
-        public void onActivityResumed(Activity activity) {
+            mActivityCount++;
             UMConfigUtils.onPageStart(activity);
-            if (mActivityAount > 0) {
+            if (mActivityCount > 0) {
                 if(!notStop) {
                     notStop = true;
-                    LogUtil.println("SheepApp SHEEP_RESUME");
-                    UMConfigUtils.Event.SHEEP_RESUME.onEvent();
+                    LogUtil.println("SheepApp onActivityStarted", mActivityCount);
+                    UMConfigUtils.Event.SHEEP_STARTED.onEvent();
                 }
                 Jump2View.getInstance().startFloat(activity, false);
             }
         }
 
         @Override
+        public void onActivityResumed(Activity activity) {
+        }
+
+        @Override
         public void onActivityPaused(Activity activity) {
-            UMConfigUtils.onPageEnd(activity);
         }
 
         @Override
         public void onActivityStopped(Activity activity) {
-            mActivityAount--;
-            if (mActivityAount <= 0) {
+            mActivityCount--;
+            UMConfigUtils.onPageEnd(activity);
+            if (mActivityCount <= 0) {
                 if(notStop) {
                     notStop = false;
-                    LogUtil.println("SheepApp SHEEP_PAUSE");
-                    UMConfigUtils.Event.SHEEP_PAUSE.onEvent();
+                    LogUtil.println("SheepApp onActivityStopped", mActivityCount);
+                    UMConfigUtils.Event.SHEEP_STOPPED.onEvent();
                 }
                 Jump2View.getInstance().startFloat(activity, true);
             }
@@ -199,9 +191,9 @@ public class SheepApp extends BaseApplication {
 
         @Override
         public void onActivityDestroyed(Activity activity) {
-            if(mActivityAount == 0) {
-                LogUtil.println("SheepApp SHEEP_STOP");
-                UMConfigUtils.Event.SHEEP_STOP.onEvent();
+            if(mActivityCount == 0) {
+                LogUtil.println("SheepApp onActivityDestroyed", mActivityCount);
+                UMConfigUtils.Event.SHEEP_DESTROYED.onEvent();
             }
         }
     };