From 2dbc6072a72ab14cdfb5a1d14cbb09d2f4787a6c Mon Sep 17 00:00:00 2001 From: lateautumn4lin Date: Mon, 14 Sep 2020 19:04:03 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=AE=A1=E7=AE=97=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E9=83=A8=E5=88=86=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E8=AE=BE=E8=AE=A1=EF=BC=8C=E5=8A=A0=E5=BC=BA=E5=B9=B6?= =?UTF-8?q?=E5=8F=91=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- headwolf/app/src/main/assets/config | 2 ++ .../headwolf/commons/Response.java | 25 +++++++++++++++++++ .../headwolf/entry/BaseEntry.java | 6 +++++ .../headwolf/handlers/KuaishouHandler.java | 24 ++++++++++++++---- 4 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 headwolf/app/src/main/java/com/lateautumn4lin/headwolf/commons/Response.java 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); } }