Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,50 +1,18 @@
package tw.fatminmin.xposed.minminguard.blocker.adnetwork;

import android.view.View;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedHelpers.ClassNotFoundError;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
import tw.fatminmin.xposed.minminguard.blocker.ApiBlocking;
import tw.fatminmin.xposed.minminguard.blocker.Blocker;
import tw.fatminmin.xposed.minminguard.blocker.Util;
import tw.fatminmin.xposed.minminguard.blocker.ViewBlocking;

public class Og extends Blocker
{

private static final String BANNER = "com.og.wa.AdWebView";
private static final String BANNER_PREFIX = "com.og.wa";

//FIXME Use APIBlocking Please....... Use fields for classNames
public boolean handleLoadPackage(final String packageName, LoadPackageParam lpparam)
{
try
{
final Class<?> adView = XposedHelpers.findClass("com.og.wa.AdWebView", lpparam.classLoader);
final Class<?> webView = XposedHelpers.findClass("android.webkit.WebView", lpparam.classLoader);
XposedBridge.hookAllMethods(webView, "loadUrl", new XC_MethodHook()
{

@Override
protected void beforeHookedMethod(MethodHookParam param)
{
if (adView.isInstance(param.thisObject))
{
Util.log(packageName, "Detect og AdWebView loadUrl in " + packageName);
param.setResult(new Object());
ViewBlocking.removeAdView(packageName, (View) param.thisObject);
}
}
});
Util.log(packageName, packageName + " uses Og AdWebView");
}
catch (ClassNotFoundError e)
{
return false;
}

return true;
return ApiBlocking.removeBanner(packageName, BANNER, "loadUrl", lpparam);
}

@Override
Expand Down
Loading