AdGuard v3.6.45版本的 MD5 值为:ce30a13dcef92cf942973fffcc6d20fb
以下内容为反编译后的 g.java 源代码,内容仅作参考
package com.adguard.android.service;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.Build;
import android.provider.Settings;
import com.adguard.android.R;
import com.adguard.android.events.PremiumStatusChangeListener;
import com.adguard.android.events.model.Event;
import com.adguard.android.filtering.api.UserscriptMeta;
import com.adguard.android.filtering.commons.DeviceName;
import com.adguard.android.model.AppConfiguration;
import com.adguard.android.model.enums.Theme;
import com.adguard.android.model.events.EventsAction;
import com.adguard.android.model.events.EventsCategory;
import com.adguard.android.model.filters.FilterGroup;
import com.adguard.corelibs.CoreLibs;
import com.adguard.dnslibs.proxy.BuildConfig;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
public class g implements f {
private static final org.slf4j.c f302a = org.slf4j.d.a(g.class);
private final Context b;
private final PreferencesService c;
private final ad d;
public g(Context context, PreferencesService preferencesService, ad adVar) {
f302a.info("Creating ApplicationService instance for {}", context);
this.b = context;
this.c = preferencesService;
this.d = adVar;
}
private void a(boolean z, Date date, String str, boolean z2, boolean z3) {
f302a.info("Set premium preferences to premium={} trial={} expiration={}", Boolean.valueOf(z), Boolean.valueOf(z2), date);
boolean d = d();
boolean e = e();
this.c.d(str);
this.c.f(z);
this.c.a(date);
this.c.j(z2);
if (d != z) {
if (z) {
this.c.n(false);
c cVar = com.adguard.android.b.a(this.b).e;
if (com.adguard.kit.compatibility.a.g() && cVar.b("pref.vpn.android10.mitigate")) {
com.adguard.android.b.a(this.b).w.a(true);
}
}
com.adguard.android.b.a(this.b).g.k();
}
v vVar = com.adguard.android.b.a(this.b).t;
if (!z3) {
vVar.a(z2, date);
}
if (!z2 && !z) {
vVar.a(com.adguard.android.a.p.d(this.b));
}
if (z2 && !e) {
vVar.b(R.l.trial_activated_toast);
}
PremiumStatusChangeListener.a aVar = new PremiumStatusChangeListener.a(d, e, z, z2, date, str);
com.adguard.android.b.a(this.b).E.a(new Event<>(EventsCategory.PREMIUM_STATUS, EventsAction.CHANGED, "premium_status_changed", z2 ? "trial" : z ? "premium" : "free"));
com.adguard.android.events.b.a().a(aVar);
}
@Override
public final com.adguard.android.api.dto.f a(String str, String str2, String str3) {
return com.adguard.android.api.b.c().a(b(), com.adguard.android.a.p.c(this.b), str, str2, str3, this.c.u(), this.c.v(), DeviceName.getFriendlyDeviceName());
}
@Override
public final AppConfiguration a() {
com.adguard.android.b a2 = com.adguard.android.b.a(this.b);
m mVar = a2.b;
j jVar = a2.c;
aq aqVar = a2.D;
c cVar = a2.e;
p pVar = a2.j;
v vVar = a2.t;
com.adguard.android.dns.service.a aVar = a2.w;
ai aiVar = a2.B;
AppConfiguration appConfiguration = new AppConfiguration();
appConfiguration.setApplicationId(b());
appConfiguration.setVersionName(com.adguard.android.a.p.c(this.b));
appConfiguration.setVersionTitle(com.adguard.android.a.a().k());
appConfiguration.setDnsLibsVersion(BuildConfig.VERSION_NAME);
appConfiguration.setKitLibVersion("2.0.74.3");
appConfiguration.setEventsLibVersion("1.1.1");
appConfiguration.setIconType(vVar.d());
appConfiguration.setDeviceName(DeviceName.getDeviceInformation());
String str = Build.VERSION.RELEASE;
int i = Build.VERSION.SDK_INT;
appConfiguration.setAndroidVersion(str + " (sdk=" + i + ")");
appConfiguration.setKernelVersion(System.getProperty("os.version"));
CoreLibs.Versions coreLibsVersions = CoreLibs.getCoreLibsVersions();
appConfiguration.setCoreLibsVersion(coreLibsVersions.core);
appConfiguration.setScriptletsLibraryVersion(coreLibsVersions.scriptletsLibrary);
appConfiguration.setUserScriptWrapperVersion(coreLibsVersions.userScriptWrapper);
appConfiguration.setContentScriptVersion(coreLibsVersions.contentScript);
appConfiguration.setStealthScriptVersion(coreLibsVersions.stealthScript);
appConfiguration.setEnvironment(com.adguard.android.a.a().j());
appConfiguration.setPremium(d());
appConfiguration.setTrial(this.c.A());
appConfiguration.setAutoStartEnabled(this.c.a());
appConfiguration.setShowUsefulAds(mVar.r());
appConfiguration.setFiltersAutoUpdateEnabled(this.c.b());
appConfiguration.setEnabledFilterNames(mVar.u());
appConfiguration.setCustomFiltersEnabled(mVar.b(FilterGroup.CUSTOM));
appConfiguration.setBrowsingSecurityEnabled(this.d.b());
appConfiguration.setSendAnonymousStatistics(this.d.a());
appConfiguration.setFilterAppsTraffic(f());
appConfiguration.setWhitelist(mVar.c());
appConfiguration.setDisabledWhitelistRules(mVar.p());
appConfiguration.setUserfilter(mVar.f());
appConfiguration.setDisabledRules(mVar.j());
appConfiguration.setProxyMode(this.c.r());
appConfiguration.setProxySetupManualMode(this.c.s());
appConfiguration.setProxyPort(this.c.q());
appConfiguration.setCurrentWifiProxyConfiguration(new com.adguard.android.model.g(System.getProperty("http.proxyHost"), NumberUtils.toInt(System.getProperty("http.proxyPort")), System.getProperty("http.nonProxyHosts"), System.getProperty("http.proxyUser"), System.getProperty("http.proxyPassword")).toString());
appConfiguration.setFilteringQuality(this.c.x());
appConfiguration.setUpdateChannel(this.c.F());
appConfiguration.setDnsEnabled(aVar.h());
appConfiguration.setDnsBlocking(aVar.i());
appConfiguration.setDnsUserfilter(jVar.f());
appConfiguration.setDisabledDnsRules(jVar.j());
com.adguard.android.model.dns.f f = aVar.f();
if (f != null) {
appConfiguration.setDnsUpstreamSettings(f.toString());
}
List<com.adguard.android.model.filters.b> b = jVar.b();
if (CollectionUtils.isNotEmpty(b)) {
ArrayList arrayList = new ArrayList();
for (com.adguard.android.model.filters.b bVar : b) {
if (bVar.isEnabled()) {
arrayList.add(String.format(Locale.US, "Name: %s; Id: %d; Subscription URL: %s", bVar.getName(), Integer.valueOf(bVar.getFilterId()), bVar.getSubscriptionUrl()));
}
}
if (!arrayList.isEmpty()) {
appConfiguration.setEnabledDnsFilters(arrayList);
}
}
appConfiguration.setUserscriptsEnabled(aqVar.d());
List<com.adguard.android.filtering.api.l> b2 = aqVar.b();
if (CollectionUtils.isNotEmpty(b2)) {
ArrayList arrayList2 = new ArrayList();
for (com.adguard.android.filtering.api.l lVar : b2) {
UserscriptMeta meta = lVar.getMeta();
if (meta != null) {
arrayList2.add(String.format(Locale.US, "Name: %s; Version: %s; Subscription URL: %s", meta.getName(), meta.getVersion(), meta.getUrlForUpdate()));
}
}
if (!arrayList2.isEmpty()) {
appConfiguration.setUserscriptsEnabledList(arrayList2);
}
}
w wVar = a2.v;
appConfiguration.setOutboundProxyEnabled(wVar.a());
ArrayList arrayList3 = new ArrayList();
List<com.adguard.android.filtering.api.e> g = wVar.g();
if (g != null) {
for (com.adguard.android.filtering.api.e eVar : g) {
arrayList3.add(eVar.toString());
}
}
appConfiguration.setOutboundProxyList(arrayList3);
appConfiguration.setStealthModeEnabled(aiVar.a());
if (aiVar.a()) {
appConfiguration.setStealthModeConfiguration(aiVar.b());
}
appConfiguration.setAdvancedPreferences(cVar.a());
appConfiguration.setAutomationEnabled(this.c.aq());
appConfiguration.setEventsEnabled(this.c.ao());
appConfiguration.setInstallerPackage(com.adguard.android.a.p.a(this.b));
appConfiguration.setSourceApk(com.adguard.android.a.p.b(this.b));
com.adguard.android.filtering.api.h c = pVar.c(false);
appConfiguration.setSslMitmConfiguration(c == null ? null : c.toString());
List<PackageInfo> installedPackages = this.b.getPackageManager().getInstalledPackages(128);
ArrayList arrayList4 = new ArrayList();
for (PackageInfo packageInfo : installedPackages) {
StringBuilder sb = new StringBuilder();
sb.append(packageInfo.packageName);
sb.append(";version=");
sb.append(packageInfo.versionName);
sb.append(";system=");
if ((packageInfo.applicationInfo.flags & 1) != 0) {
sb.append("true");
} else {
sb.append("false");
}
arrayList4.add(sb.toString());
}
appConfiguration.setInstalledPackages(arrayList4);
return appConfiguration;
}
@Override
public final void a(Theme theme) {
this.c.a(theme);
this.b.getApplicationContext().setTheme(com.adguard.android.ui.utils.g.a(theme).getResId());
}
@Override
public final void a(String str) {
if (str == null) {
f302a.warn("Trying to set null language");
return;
}
Locale a2 = com.adguard.android.a.n.a(this.b.getResources().getConfiguration());
f302a.info("Setting language {}, System language is {}, from resources {}", str, com.adguard.android.a.n.a(com.adguard.android.a.n.a()), a2);
com.adguard.android.a.n.b(this.b, str);
com.adguard.android.b.a(this.b).g.a(true);
this.c.f(str);
}
@Override
public final void a(boolean z) {
this.c.y(z);
com.adguard.android.b.a(this.b).E.a(z);
}
@Override
public final void a(boolean z, Date date) {
a(z, date, null, true);
}
@Override
public final void a(boolean z, Date date, String str, boolean z2) {
a(z, date, str, false, z2);
if (z) {
com.adguard.android.b.a(this.b).t.b();
}
}
@Override
public final String b() {
String string = Settings.Secure.getString(this.b.getContentResolver(), "android_id");
return string != null ? string : "Android";
}
@Override
public final void b(boolean z, Date date) {
a(z, date, null, z, false);
}
@Override
public final String c() {
return com.adguard.android.a.p.c(this.b);
}
@Override
public final boolean d() {
return this.c.m();
}
@Override
public final boolean e() {
return this.c.A();
}
@Override
public final boolean f() {
return d() && this.c.n();
}
@Override
public final com.adguard.android.api.dto.f g() {
return a(this.c.p(), null, null);
}
@Override
public final void h() {
a(this.c.w());
}
@Override
public final boolean i() {
if (!com.adguard.android.filtering.filter.f.a()) {
f302a.info("Device is not idle");
return false;
} else if (!com.adguard.commons.e.c.a()) {
f302a.info("Internet is not available.");
return false;
} else if (!this.c.c() || com.adguard.android.filtering.commons.d.d(this.b)) {
return true;
} else {
f302a.info("Updates permitted over Wi-Fi only, but now Wi-Fi is not available.");
return false;
}
}
}