@@ -53,6 +53,7 @@ public class NewClipboardList extends BaseHC implements LoadInputMethodDex.OnInp
5353 private Gson mGson ;
5454 private static String mDataPath ;
5555 private boolean isNewMode = false ;
56+ private String content = null ;
5657
5758 private boolean isHooked ;
5859
@@ -127,7 +128,7 @@ private void newMethod(ClassLoader classLoader) {
127128 @ Override
128129 public void before () {
129130 Object clipboardContentModel = getArgs (2 );
130- String content = ContentModel .getContent (clipboardContentModel );
131+ content = ContentModel .getContent (clipboardContentModel );
131132 int type = ContentModel .getType (clipboardContentModel );
132133 // long time = ContentModel.getTime(clipboardContentModel);
133134 addClipboard (content , type , (Context ) getArgs (0 ));
@@ -197,18 +198,23 @@ public void before() {
197198 XposedHelpers .findAndHookMethod ("com.miui.inputmethod.MiuiClipboardManager" , classLoader , "buildClipboardModelDataType" , "com.miui.inputmethod.ClipboardContentModel" , new XC_MethodHook () {
198199 @ Override
199200 protected void beforeHookedMethod (MethodHookParam param ) throws Throwable {
200- final boolean [] isSkip = {false };
201+ String json = (String ) XposedHelpers .callMethod (param .args [0 ], "getContent" );
202+ if (TextUtils .isEmpty (json ) || json == null ) {
203+ param .setResult (null );
204+ XposedLogUtils .logW (TAG , lpparam .packageName , "Got null string, skip run. String = " + json );
205+ }
201206 XposedHelpers .findAndHookConstructor (JSONArray .class , String .class , new XC_MethodHook () {
202207 @ Override
203208 protected void beforeHookedMethod (MethodHookParam param ) throws Throwable {
204209 String json = (String ) param .args [0 ];
205210 if (TextUtils .isEmpty (json ) || json == null ) {
206- isSkip [0 ] = true ;
207- XposedLogUtils .logW (TAG , lpparam .packageName , "Got null string, skip run. String = " + param .args [0 ]);
211+ if (!TextUtils .isEmpty (content ) && content != null ) {
212+ param .args [0 ] = content ;
213+ XposedLogUtils .logW (TAG , lpparam .packageName , "Got null string, overwrite param. String = " + param .args [0 ]);
214+ }
208215 }
209216 }
210217 });
211- if (isSkip [0 ]) param .setResult (null );
212218 }
213219 });
214220
0 commit comments