package mobi.acpm.inspeckage.hooks; import android.content.ClipData; import android.content.ClipboardManager; import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.callbacks.XC_LoadPackage; import static de.robv.android.xposed.XposedHelpers.findAndHookMethod; /** * Created by acpm on 25/11/15. */ public class ClipboardHook extends XC_MethodHook { public static final String TAG = "Inspeckage_Clipboard:"; public static void initAllHooks(final XC_LoadPackage.LoadPackageParam loadPackageParam) { findAndHookMethod(ClipboardManager.class, "setPrimaryClip", ClipData.class, new XC_MethodHook() { protected void beforeHookedMethod(MethodHookParam param) throws Throwable { ClipData cd = (ClipData) param.args[0]; StringBuilder sb = new StringBuilder(); if (cd != null && cd.getItemCount() > 0) { for (int i = 0; i < cd.getItemCount(); i++) { ClipData.Item item = cd.getItemAt(i); sb.append(item.getText()); } } XposedBridge.log(MiscHook.TAG + "Copied to the clipboard: " + sb.toString() + ""); } }); } }