diff --git a/headwolf/app/src/main/assets/config b/headwolf/app/src/main/assets/config index d78d6aa..6915cf7 100644 --- a/headwolf/app/src/main/assets/config +++ b/headwolf/app/src/main/assets/config @@ -1,6 +1,8 @@ remote_server=192.144.152.23 package_name=com.lateautumn4lin.headwolf +//快手项目 group_pdd.name=com.xunmeng.pinduoduo group_pdd.home=com.xunmeng.pinduoduo.ui.activity.HomeActivity +//pdd项目 group_kuaishou.name=com.smile.gifmaker group_kuaishou.home=com.yxcorp.gifshow.HomeActivity \ No newline at end of file diff --git a/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/commons/Response.java b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/commons/Response.java new file mode 100644 index 0000000..965c094 --- /dev/null +++ b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/commons/Response.java @@ -0,0 +1,25 @@ +package com.lateautumn4lin.headwolf.commons; +/* + * Response + * + * @author lateautumn4lin + * @github https://github.com/lateautumn4lin + * @date 2020/9/14 18:16 + */ + +import com.virjar.sekiro.api.SekiroResponse; + +public class Response implements Runnable { + private String data; + private SekiroResponse sekiroResponse; + + public Response(String Data, SekiroResponse sekiroResponse) { + this.data = Data; + this.sekiroResponse = sekiroResponse; + } + + @Override + public void run() { + sekiroResponse.send(data); + } +} diff --git a/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/entry/BaseEntry.java b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/entry/BaseEntry.java index 8f23b1a..b71a5c2 100644 --- a/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/entry/BaseEntry.java +++ b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/entry/BaseEntry.java @@ -18,6 +18,10 @@ import java.io.File; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import dalvik.system.PathClassLoader; import de.robv.android.xposed.IXposedHookLoadPackage; @@ -34,6 +38,8 @@ public class BaseEntry implements IXposedHookLoadPackage { private static List hookPackages = new ArrayList(); private final String handleHookClass = RealEntry.class.getName(); private final String handleHookMethod = "handleLoadPackage"; + private static BlockingQueue blockingQueue = new ArrayBlockingQueue<>(30); + public static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(50, 50, 1, TimeUnit.MINUTES, blockingQueue); static { hookPackages.add("com.smile.gifmaker"); diff --git a/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/handlers/KuaishouHandler.java b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/handlers/KuaishouHandler.java index bad187b..38b01d7 100644 --- a/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/handlers/KuaishouHandler.java +++ b/headwolf/app/src/main/java/com/lateautumn4lin/headwolf/handlers/KuaishouHandler.java @@ -8,6 +8,8 @@ package com.lateautumn4lin.headwolf.handlers; */ import com.google.gson.Gson; +import com.lateautumn4lin.headwolf.commons.Response; +import com.lateautumn4lin.headwolf.entry.BaseEntry; import com.virjar.sekiro.api.SekiroRequest; import com.virjar.sekiro.api.SekiroRequestHandler; import com.virjar.sekiro.api.SekiroResponse; @@ -18,7 +20,7 @@ import java.util.Map; /** * The type Kuaishou handler. */ -public class KuaishouHandler implements SekiroRequestHandler { +public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler { /** * Gets belong. * @@ -39,11 +41,23 @@ public class KuaishouHandler implements SekiroRequestHandler { @Override - public void handleRequest(SekiroRequest sekiroRequest, SekiroResponse sekiroResponse) { - Gson gson = new Gson(); - Map object = new HashMap(); + public void handleRequest(SekiroRequest sekiroRequest, final SekiroResponse sekiroResponse) { + final Gson gson = new Gson(); + final Map object = new HashMap(); String name = sekiroRequest.getString("name"); object.put("name", name); - sekiroResponse.send(gson.toJson(object)); +// 娴嬭瘯涓夌璇锋眰杩斿洖鏂瑰紡 娴嬭瘯鏂规 1000/s 鎬昏姹 50*1000 +// P1:闃诲杩斿洖 +// sekiroResponse.send(gson.toJson(object)); +// P2:鏂板缓绾跨▼杩斿洖 70/s锛屽搷搴1鍒嗛挓寮澶栵紝寤惰繜杩囬珮 +// new Thread(new Runnable() { +// @Override +// public void run() { +// sekiroResponse.send(gson.toJson(object)); +// } +// }); +// P3:绾跨▼姹犺繑鍥 1000/s锛屽搷搴1s宸﹀彸 + Runnable task = new Response(gson.toJson(object), sekiroResponse); + BaseEntry.threadPoolExecutor.submit(task); } }