From 430192a021137373b8d8691b198686771250ff9d Mon Sep 17 00:00:00 2001 From: solohsu Date: Wed, 30 Jan 2019 16:52:16 +0800 Subject: [PATCH] Fixes #46: hooking failed for methods with returned value type of double --- .../riru/xposed/dexmaker/DexMakerUtils.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Bridge/src/main/java/com/elderdrivers/riru/xposed/dexmaker/DexMakerUtils.java b/Bridge/src/main/java/com/elderdrivers/riru/xposed/dexmaker/DexMakerUtils.java index 661db358..472c8347 100644 --- a/Bridge/src/main/java/com/elderdrivers/riru/xposed/dexmaker/DexMakerUtils.java +++ b/Bridge/src/main/java/com/elderdrivers/riru/xposed/dexmaker/DexMakerUtils.java @@ -153,19 +153,21 @@ public class DexMakerUtils { Local voidObjLocal = code.newLocal(TypeId.get("Ljava/lang/Void;")); // backup need initialized locals - code.loadConstant(booleanLocal, Boolean.valueOf(false)); - code.loadConstant(byteLocal, Byte.valueOf("0")); - code.loadConstant(charLocal, Character.valueOf('\0')); - code.loadConstant(floatLocal, Float.valueOf(0)); + code.loadConstant(booleanLocal, false); + code.loadConstant(byteLocal, (byte) 0); + code.loadConstant(charLocal, '\0'); + code.loadConstant(doubleLocal,0.0); + code.loadConstant(floatLocal,0.0f); code.loadConstant(intLocal, 0); - code.loadConstant(longLocal, Long.valueOf(0)); - code.loadConstant(shortLocal, Short.valueOf("0")); + code.loadConstant(longLocal, 0L); + code.loadConstant(shortLocal, (short) 0); code.loadConstant(voidLocal, null); code.loadConstant(objectLocal, null); // all to null code.loadConstant(booleanObjLocal, null); code.loadConstant(byteObjLocal, null); code.loadConstant(charObjLocal, null); + code.loadConstant(doubleObjLocal, null); code.loadConstant(floatObjLocal, null); code.loadConstant(intObjLocal, null); code.loadConstant(longObjLocal, null);