Phone Cleaner v1.2.4 保活与拉活反编译代码册
Phone Cleaner v1.2.4 保活与拉活反编译代码册返回竞品库
报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。

宽表格和代码可左右滑动查看。

Phone Cleaner v1.2.4 保活与拉活反编译代码册#

精确包名:com.phone.cleaner.wafaApps;样本及资料日期:2026-10-28,Asia/Shanghai(北京时间)。六专题补充版。

S1=当前APK静态直接证据;S2=工具回读;S3=当前真机观察;I=推断;U=未验证。反编译不是原始源码,内置配置不是线上最终配置。发布状态单独记录于批次入口。

机制总图#

服务OuX2建立常驻ID103;一套Handler默认15秒周期调用注册的SltkD回调。初始化同时登记USER_PRESENT及安装/卸载事件,事件触发同一调度辅助器。另有JRH13一次性Work自登记链,最小延迟15000ms,执行后再次登记,并调用同一辅助器。[N2–N4]

USER_PRESENT的ZJX60S调用DwB(true),JRH13调用DwB(false),true可绕过辅助器自身的时间差检查,但不证明绕过业务通知门禁。Work的15秒是请求延迟,系统可延后执行;不是精确后台闹钟,也不是15秒发送通知。

按执行顺序读主链#

阶段 入口/下游 条件与状态说明 证据
产品身份 Manifest HOME + 默认桌面引导 + 桌面帮助 清理与Launcher共存;默认桌面实际选择仍未验证 N1
常驻 OuX2 → permission/channel → foreground103 成功/失败返回及超时停止分别处理 原A2/A3
周期检查 JRH13自登记 → 15秒辅助器 → 已注册回调 有调用不代表必发通知;不作为广告周期 N2–N4
事件检查 USER_PRESENT/包增删 → 同一调度辅助器 解锁强制检查与业务资格门禁是两层 N3/N4
通知路由 PendingPush/本地/FCM → 各ID → 中转页 五类通知分别解释来源样式与点击参数 N5/原A6–A22

调用关系与业务含义#

本包产品边界应扩展为“清理工具+桌面”。Manifest的af0s.F8V4声明MAIN/HOME/DEFAULT;J2s2/J9H提供默认桌面设置说明,P4Kqf/M197Q有桌面图标/小组件被重排及桌面广告的帮助文案。没有把它设为测试机默认桌面,桌面替换效果未验证。[N1]

清理侧至少分垃圾、深度、系统优化、病毒、Wi-Fi、通知管理、应用管理、截图和相似内容;还存在电池、便签/备忘、新闻/游戏中心等页面资源。其88个同包Activity包含工具、引导、内容和广告容器,不等于88项清理能力,不能把所有同包页面都归为清理功能。

文案如“PIN must be 4 digits”仅证明存在密码设置界面,不能直接外推为文件加密。广告容器和桌面内容页也须与真实扫描/删除分开。

通知现在分五类:常驻103、本地55、FCM57、通知清理58、安装/卸载59。55/58/59的来源条件改变Heads-up横幅RemoteViews,展开大视图字段另有绑定,不能叫总通知开关。

PendingPush存pushType及WatchPackage,WatchPackage携带应用名称/卸载标志,随后调安装卸载渲染;需要继续核候选优先级、事件入队与消耗条件,不能把存在模型当成本次已发生安装事件。FCM57的正文来自服务端data,资源字符串只覆盖本地模板。[N5]

控制流复核与广告调度边界#

来源XARGY → r49.kWK9 → 广告包装器的附加原生分支已闭合;空/google-play为false,其余来源可true,包含other/noapi。因此分组不是可靠的付费用户标签。

同包的Launcher帮助文案和桌面广告容器提示商业化范围超出清理过程。现有入口/场景映射仍需要继续沿工具枚举与桌面生命周期展开;没有从SDK目录数量推定实际出量,也没有将15秒调度器错写为广告展示频率。

代码保留混淆名与工具错误标记。A编号沿用已核证据,N编号为本轮新增回查;simple输出是独立指令阅读副本,不能用文件存在/退出码0替代方法语义核验。

原有代码锚点 A#

编号 证明内容 本地源位置 核验
A1 来源常量 jadx/sources/dfxb/NcEpC.java:136–175 已回读
A2 前台服务状态和ID103 jadx/sources/com/phone/cleaner/wafaApps/ke7/OuX2.java:19–107 已回读
A3 常驻渠道、布局和按钮 jadx/sources/efluwe/yMHQ.java:30–100 已回读
A4 USER_PRESENT节流Work jadx/sources/com/phone/cleaner/wafaApps/h3cys/Z294.java:18–36 已回读
A5 Worker方法为空业务成功 jadx/sources/com/phone/cleaner/wafaApps/helper/RemoteWorker.java:9–18 已回读
A6 FCM数据和必填门禁 jadx/sources/com/phone/cleaner/wafaApps/ke7/Kws1.java:64–159 已回读
A7 远端通知ID57和点击中转 jadx/sources/zfxgq/yR.java:114–146 已回读
A8 本地55、通知清理58;R8合并类包含业务代码 jadx/sources/com/applovin/impl/sdk/yMHQ.java:124–211 已回读
A9 两组本地模板引用 jadx/sources/kx/wzo.java:6–19 已回读
A10 通知清理提示门禁 jadx/sources/nar/MTds1.java:179–198 已回读
A11 500ms调度入口 jadx/sources/efluwe/iTm.java:16–29 已回读
A12 UsageStats实际查询调用 jadx/sources/amwf/Em4De2.java:247–284 已回读
A13 Application发起Referrer连接 jadx/sources/com/phone/cleaner/wafaApps/z3wxv/GZC9.java:168–177 已回读
A14 Referrer成功与noapi回退 jadx/sources/zfxgq/yR.java:474–503 已回读
A15 来源解析、回退及持久化 jadx/sources/com/phone/cleaner/wafaApps/ask1/T0.java:55–118 已回读
A16 来源控制的附加原生广告分支 jadx/sources/com/phone/cleaner/wafaApps/ask1/wzo.java:70–99 已回读
A17 安装卸载通知ID59与来源样式分支 jadx/sources/ft/Ac.java:125–181 已回读
A18 解锁Work继续触发调度辅助器 jadx/sources/com/phone/cleaner/wafaApps/h3cys/ZJX60S.java:21–31 已回读
A19 默认15秒回调及重排;非固定发送 jadx/sources/fhuzti/Ac.java:18–43 已回读
A20 安装/卸载文案资源 jadx/sources/kx/Tt.java:6–17 已回读
A21 来源标记的实际判定 jadx/sources/com/phone/cleaner/wafaApps/ask1/r49.java:277–282 已回读
A22 RemoteViews字段到横幅/展开视图的绑定 jadx/sources/io/vxZF.java:194–207 已回读

本轮补充代码锚点 N#

编号 证明内容 本地源位置 核验
N1 默认桌面/广告FAQ绑定资源 jadx/sources/com/phone/cleaner/wafaApps/wun14/P4Kqf.java:15–52 已回读
N2 15秒Work自登记与回调链 jadx/sources/com/phone/cleaner/wafaApps/h3cys/JRH13.java:30–68 已回读
N3 Handler初始化及解锁/包事件注册 jadx/sources/efluwe/RP.java:468–510 已回读
N4 强制/普通检查与重排 jadx/sources/fhuzti/Ac.java:18–43 已回读
N5 待发事件模型的边界 jadx/sources/com/phone/cleaner/wafaApps/helper/pushmanage/PendingPush.java:4–10 已回读

便于开发阅读的等价逻辑#

以下使用语义名称重述已核对控制流,不是竞品原始源码;它与A/N原位置配合阅读。尚未闭合的下游保留抽象调用,不填造执行结果。

// 周期辅助器;回调内部仍有自己的业务通知资格
fun check(force) {
  if (force || abs(nowMillis - lastCheck) >= periodMillis) {
    lastCheck = nowMillis
    registeredCallback?.accept(force)
    scheduleHandlerAgain(periodMillis)  // 默认15000ms
  }
}
onUserPresentWorker -> check(true)
onJRH13Worker -> check(false); enqueueNextWork(minDelay=15000ms)
// Work可被系统延后,不等于15秒精确执行或15秒发送通知

sourceFlag = source == "all" || (source.notEmpty && source != "google-play")
// 该标记参与附加原生广告和通知Heads-up布局,不是付费用户鉴定

一方后台与通知关键实现#

A1 · 来源常量#

位置:dfxb/NcEpC.java:136–175。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static final String DwB = "https://sites.google.com/view/cleaner-wafaapps/home";
    public static final String Z6 = "https://sites.google.com/view/terms-phone-cleaner/home";

    static {
        "https://www.trustlook.com/privacy-policy";
        n57Py = "https://wafaapps.xyz/ldd_rept/s/e/b?p=";
        yBq = "https://wafaapps.xyz/tr/s/loc/b";
        XkAhn = "https://wafaapps.xyz/tr/s/report/b";
        Vv84E9 = "https://www.google.com/search?q=";
        "market://details?id=";
        "https://play.google.com/store/apps/details?id=";
        VV = "com.android.vending";
        U4kWxy = "google-play";
        ZuKrJ4 = "noapi";
        AQMhcK = "other";
        Jc5Lb = "utm_source";
        PjoUBk = "gclid";
        Z7IM = "all";
        XJ = " DESC";
        W2BV = "screenshot";
        OR1LX6 = "copied_text";
        kEt = "yield_rate";
        Z2rB = "tab_interstitial_interval";
        Gye = "REMOTE_PUSH_ENTITY";
        eXZKj = "push_id";
        Q6L = "push_date";
        Khh = "title";
        r1 = "body";
        Rt4 = "img_url";
        kWK9 = "btn_text";
        ycULL = "btn_link";
        vvpI = "btn_type";
        yg = "top";
        Xiu9 = "PARAMS_BOOLEAN";
        n9 = "PARAMS_DIALOG";
        QvLSrq = "PARAMS_DIALOG_CONTENT";
        qNS1 = "PARAMS_DIALOG_BOOLEAN";
        Hw = "PARAMS_DIALOG_COLOR";
        ZV3aD = "PARAMS_CLEANER";
        MqhAP = "PARAMS_SCENARIO_NOTIFICATION";

A2 · 前台服务状态和ID103#

位置:com/phone/cleaner/wafaApps/ke7/OuX2.java:19–107。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void Z6() {
        String str = yMHQ.DwB;
        yMHQ ymhq = SZ9xH.DwB;
        Application applicationXkAhn = T0.XkAhn();
        ymhq.getClass();
        if (yMHQ.DwB(applicationXkAhn) != null) {
            ActivityManager activityManager = (ActivityManager) T0.XkAhn().getSystemService("activity");
            if (activityManager != null) {
                try {
                    Iterator<ActivityManager.RunningServiceInfo> it = activityManager.getRunningServices(Integer.MAX_VALUE).iterator();
                    while (it.hasNext()) {
                        if (OuX2.class.getName().equals(it.next().service.getClassName())) {
                            return;
                        }
                    }
                } catch (Throwable unused) {
                }
            }
            try {
                T0.XkAhn().startForegroundService(new Intent(T0.XkAhn(), (Class<?>) OuX2.class));
            } catch (Throwable unused2) {
            }
        }
    }

    public final boolean DwB() {
        if (this.Z6) {
            return true;
        }
        String str = yMHQ.DwB;
        SZ9xH.DwB.getClass();
        Notification notificationDwB = yMHQ.DwB(this);
        if (notificationDwB != null) {
            try {
                if (Build.VERSION.SDK_INT >= 34) {
                    startForeground(103, notificationDwB, 1);
                } else {
                    startForeground(103, notificationDwB, 1);
                }
                this.Z6 = true;
                return true;
            } catch (Throwable unused) {
            }
        }
        try {
            stopForeground(1);
            stopSelf();
            return false;
        } catch (Throwable unused2) {
            return false;
        }
    }

    @Override // android.app.Service
    public final IBinder onBind(Intent intent) {
        return null;
    }

    @Override // android.app.Service
    public final void onCreate() {
        super.onCreate();
        DwB();
    }

    @Override // android.app.Service
    public final void onDestroy() {
        try {
            stopForeground(1);
        } catch (Throwable unused) {
        }
        super.onDestroy();
    }

    @Override // android.app.Service
    public final int onStartCommand(Intent intent, int i, int i2) {
        return !DwB() ? 2 : 1;
    }

    public final void onTimeout(int i, int i2) {
        super.onTimeout(i, i2);
        if (i2 == 1) {
            try {
                stopForeground(1);
                stopSelf();
            } catch (Throwable unused) {
            }
        }
    }
}

A3 · 常驻渠道、布局和按钮#

位置:efluwe/yMHQ.java:30–100。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static Notification DwB(ContextWrapper contextWrapper) {
        NotificationManager notificationManager;
        try {
            if (GJh9.Z6() && (notificationManager = (NotificationManager) contextWrapper.getSystemService(NotificationManager.class)) != null) {
                String str = contextWrapper.getPackageName() + DwB;
                NotificationChannel notificationChannel = notificationManager.getNotificationChannel(str);
                if (notificationChannel == null) {
                    NotificationChannel notificationChannel2 = new NotificationChannel(str, contextWrapper.getString(R.string.app_name), 3);
                    notificationChannel2.setShowBadge(false);
                    notificationChannel2.setSound(null, null);
                    notificationChannel2.enableVibration(false);
                    notificationChannel2.enableLights(false);
                    notificationManager.createNotificationChannel(notificationChannel2);
                    notificationChannel = notificationManager.getNotificationChannel(str);
                    if (notificationChannel != null) {
                        if (notificationChannel.getImportance() != 0) {
                            return Z6(contextWrapper, str);
                        }
                    }
                }
            }
        } catch (Throwable unused) {
        }
        return null;
    }

    public static Notification Z6(Context context, String str) {
        try {
            RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.moyu3);
            Application applicationXkAhn = T0.XkAhn();
            SltkD sltkD = SltkD.JUNK_CLEANER;
            n57Py(applicationXkAhn, remoteViews, sltkD);
            SltkD sltkD2 = SltkD.APP_MANAGE;
            n57Py(applicationXkAhn, remoteViews, sltkD2);
            RemoteViews remoteViews2 = new RemoteViews(context.getPackageName(), R.layout.s40x);
            Application applicationXkAhn2 = T0.XkAhn();
            n57Py(applicationXkAhn2, remoteViews2, sltkD);
            n57Py(applicationXkAhn2, remoteViews2, sltkD2);
            ZCjby zCjby = new ZCjby(context, str);
            zCjby.vvpI.icon = R.mipmap.rh8;
            zCjby.n57Py(2, true);
            zCjby.n57Py(16, false);
            zCjby.yg = true;
            zCjby.AQMhcK = 0;
            zCjby.eXZKj = 1;
            zCjby.kEt = "service";
            zCjby.Q6L = remoteViews;
            zCjby.Khh = remoteViews2;
            zCjby.r1 = remoteViews;
            zCjby.yBq(new vxZF(8));
            Notification notificationDwB = zCjby.DwB();
            if (notificationDwB.getSmallIcon() == null) {
                return null;
            }
            if (notificationDwB.getSmallIcon().getResId() == 0) {
                return null;
            }
            return notificationDwB;
        } catch (Throwable unused) {
            return null;
        }
    }

    public static void n57Py(Application application, RemoteViews remoteViews, SltkD sltkD) {
        remoteViews.setTextViewText(sltkD.r1, S4V.Jc5Lb(sltkD.Z6));
        Intent intent = new Intent(application, (Class<?>) Uts70.class);
        intent.addFlags(67108864);
        intent.putExtra(dfxb.NcEpC.XYJ, sltkD);
        remoteViews.setOnClickPendingIntent(sltkD.Hw, PendingIntent.getActivity(application, Em4De2.DwB.U4kWxy(), intent, 201326592));
    }
}

A4 · USER_PRESENT节流Work#

位置:com/phone/cleaner/wafaApps/h3cys/Z294.java:18–36。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    @Override // android.content.BroadcastReceiver
    public final void onReceive(Context context, Intent intent) {
        NRADpB nRADpB = null;
        if (Objects.equals(intent != null ? intent.getAction() : null, "android.intent.action.USER_PRESENT")) {
            long jCurrentTimeMillis = System.currentTimeMillis();
            AtomicLong atomicLong = DwB;
            if (Math.abs(jCurrentTimeMillis - atomicLong.get()) < WebViewScreenCapture.CACHE_TTL_MS) {
                return;
            }
            atomicLong.set(jCurrentTimeMillis);
            try {
                nRADpB = NRADpB.getInstance(context.getApplicationContext());
            } catch (Throwable unused) {
            }
            if (nRADpB == null) {
                return;
            }
            nRADpB.enqueueUniqueWork("[IDENTIFIER_REDACTED]", IpCfI.Z6, (MTds1) new mJYo(ZJX60S.class).n57Py());
        }

A5 · Worker方法为空业务成功#

位置:com/phone/cleaner/wafaApps/helper/RemoteWorker.java:9–18。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

public class RemoteWorker extends Worker {
    public RemoteWorker(Context context, WorkerParameters workerParameters) {
        super(context, workerParameters);
    }

    @Override // androidx.work.Worker
    public final zcx doWork() {
        return zcx.DwB();
    }
}

A6 · FCM数据和必填门禁#

位置:com/phone/cleaner/wafaApps/ke7/Kws1.java:64–159。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public final void yBq(ZHQw zHQw) {
        NRADpB nRADpB;
        NotificationManager notificationManager;
        Locale localeW2BV;
        if (!((IpCfI) zHQw.XJ()).isEmpty()) {
            try {
                nRADpB = NRADpB.getInstance(getApplicationContext());
            } catch (Throwable unused) {
                nRADpB = null;
            }
            if (nRADpB != null) {
                try {
                    nRADpB.beginWith((MTds1) new mJYo(RemoteWorker.class).n57Py()).enqueue();
                } catch (Throwable unused2) {
                }
            }
        }
        yR yRVar = efluwe.yR.DwB;
        yRVar.getClass();
        Object objXJ = zHQw.XJ();
        if (((IpCfI) objXJ).isEmpty() || !GJh9.Z6() || (notificationManager = (NotificationManager) getSystemService("notification")) == null) {
            return;
        }
        zcx zcxVar = new zcx();
        zcxVar.pushId = 0;
        zcxVar.pushDate = "";
        zcxVar.title = "";
        zcxVar.body = "";
        zcxVar.imgUrl = "";
        zcxVar.btnText = "";
        zcxVar.btnType = 0;
        zcxVar.btnLink = "";
        zcxVar.country = "";
        zcxVar.locale = "";
        try {
            localeW2BV = lTDG.W2BV(this);
        } catch (Throwable unused3) {
            localeW2BV = Locale.getDefault();
        }
        if (localeW2BV != null) {
            zcxVar.locale = localeW2BV.toString();
            zcxVar.country = localeW2BV.getCountry();
        }
        String str = NcEpC.eXZKj;
        SZ9xH sZ9xH = (SZ9xH) objXJ;
        if (sZ9xH.containsKey(str)) {
            try {
                String str2 = (String) sZ9xH.get(str);
                if (!TextUtils.isEmpty(str2)) {
                    zcxVar.pushId = Integer.parseInt(str2);
                }
            } catch (Throwable unused4) {
            }
        }
        String str3 = NcEpC.Q6L;
        if (sZ9xH.containsKey(str3)) {
            zcxVar.pushDate = (String) sZ9xH.get(str3);
        }
        String str4 = NcEpC.Khh;
        if (sZ9xH.containsKey(str4)) {
            zcxVar.title = (String) sZ9xH.get(str4);
        }
        String str5 = NcEpC.r1;
        if (sZ9xH.containsKey(str5)) {
            zcxVar.body = (String) sZ9xH.get(str5);
        }
        String str6 = NcEpC.Rt4;
        if (sZ9xH.containsKey(str6)) {
            zcxVar.imgUrl = (String) sZ9xH.get(str6);
        }
        String str7 = NcEpC.kWK9;
        if (sZ9xH.containsKey(str7)) {
            zcxVar.btnText = (String) sZ9xH.get(str7);
        }
        String str8 = NcEpC.ycULL;
        if (sZ9xH.containsKey(str8)) {
            zcxVar.btnLink = (String) sZ9xH.get(str8);
        }
        String str9 = NcEpC.vvpI;
        if (sZ9xH.containsKey(str9)) {
            try {
                String str10 = (String) sZ9xH.get(str9);
                if (!TextUtils.isEmpty(str10)) {
                    zcxVar.btnType = Integer.parseInt(str10);
                }
            } catch (Throwable unused5) {
            }
        }
        if (TextUtils.isEmpty(zcxVar.title) || TextUtils.isEmpty(zcxVar.body) || TextUtils.isEmpty(zcxVar.btnText)) {
            return;
        }
        if (Objects.equals(zcxVar.title, zcxVar.body)) {
            zcxVar.body = "";
        }
        com.bumptech.glide.RP rpXiu9 = iTm.DwB(this).MqhAP.n57Py(this).ZuKrJ4(Bitmap.class).DwB(com.bumptech.glide.ZHQw.o1Yg).Xiu9(zcxVar.imgUrl);
        rpXiu9.yg(new MVX(yRVar, this, notificationManager, zcxVar), rpXiu9);

A7 · 远端通知ID57和点击中转#

位置:zfxgq/yR.java:114–146。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void Xiu9(yR yRVar, Kws1 kws1, NotificationManager notificationManager, Bitmap bitmap, zcx zcxVar) {
        yRVar.getClass();
        try {
            kx.cCi9TH cci9th = TextUtils.isEmpty(zcxVar.body) ? kx.cCi9TH.ONLY_TITLE : kx.cCi9TH.HAS_DESC;
            RemoteViews remoteViews = new RemoteViews(kws1.getPackageName(), cci9th.Z6);
            yRVar.SHWl54(remoteViews, bitmap, zcxVar.title, zcxVar.body, zcxVar.btnText, zcxVar.btnType);
            RemoteViews remoteViews2 = new RemoteViews(kws1.getPackageName(), cci9th.r1);
            yRVar.SHWl54(remoteViews2, bitmap, zcxVar.title, zcxVar.body, zcxVar.btnText, zcxVar.btnType);
            RemoteViews remoteViews3 = new RemoteViews(kws1.getPackageName(), cci9th.Hw);
            yRVar.SHWl54(remoteViews3, bitmap, zcxVar.title, zcxVar.body, zcxVar.btnText, zcxVar.btnType);
            Intent intent = new Intent(kws1, (Class<?>) Zx7.class);
            intent.addFlags(67108864);
            intent.putExtra(dfxb.NcEpC.Gye, zcxVar);
            PendingIntent activity = PendingIntent.getActivity(kws1, efluwe.Em4De2.DwB.U4kWxy(), intent, 201326592);
            String str = kws1.getPackageName() + "_remote";
            if (notificationManager.getNotificationChannel(str) == null) {
                notificationManager.createNotificationChannel(new NotificationChannel(str, str, 4));
            }
            qxyxx.ZCjby zCjby = new qxyxx.ZCjby(kws1, str);
            Notification notification = zCjby.vvpI;
            notification.icon = R.mipmap.rh8;
            zCjby.n57Py(2, false);
            zCjby.n57Py(16, true);
            notification.contentView = remoteViews;
            zCjby.Q6L = remoteViews;
            zCjby.Khh = remoteViews2;
            zCjby.r1 = remoteViews3;
            zCjby.yBq(new qxyxx.vxZF(8));
            zCjby.VV = activity;
            notificationManager.notify(57, zCjby.DwB());
            XT.Vv84E9(dfxb.iTm.jQ4kB, zcxVar);
        } catch (Throwable unused) {
        }

A8 · 本地55、通知清理58;R8合并类包含业务代码#

位置:com/applovin/impl/sdk/yMHQ.java:124–211。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

            case 7:
                Application applicationXkAhn = T0.XkAhn();
                String str3 = applicationXkAhn.getPackageName() + "_3";
                RemoteViews remoteViews = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.gufky);
                MTds1.kWK9(remoteViews);
                RemoteViews remoteViews2 = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.k7);
                MTds1.kWK9(remoteViews2);
                RemoteViews remoteViews3 = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.cbw);
                MTds1.kWK9(remoteViews3);
                NotificationChannel notificationChannel = new NotificationChannel(str3, str3, 4);
                notificationChannel.setSound(null, null);
                notificationChannel.enableVibration(false);
                notificationChannel.enableLights(false);
                NotificationManager notificationManager2 = (NotificationManager) T0.XkAhn().getSystemService(NotificationManager.class);
                notificationManager2.createNotificationChannel(notificationChannel);
                Intent intent = new Intent(applicationXkAhn, (Class<?>) T352.class);
                intent.addFlags(67108864);
                PendingIntent activity = PendingIntent.getActivity(applicationXkAhn, efluwe.Em4De2.DwB.U4kWxy(), intent, 201326592);
                boolean zKWK9 = r49.kWK9();
                ZCjby zCjby = new ZCjby(applicationXkAhn, str3);
                zCjby.vvpI.icon = R.mipmap.rh8;
                zCjby.n57Py(2, false);
                zCjby.n57Py(16, true);
                zCjby.vvpI.contentView = remoteViews;
                zCjby.Q6L = remoteViews;
                zCjby.Khh = remoteViews2;
                if (zKWK9) {
                    remoteViews = remoteViews3;
                }
                zCjby.r1 = remoteViews;
                zCjby.yBq(new vxZF(8));
                zCjby.VV = activity;
                notificationManager2.notify(58, zCjby.DwB());
                androidx.work.cCi9TH.Jc5Lb(false);
                break;
            case 8:
                List listPjoUBk = r49.PjoUBk();
                ArrayList arrayList2 = new ArrayList();
                Iterator it = listPjoUBk.iterator();
                while (it.hasNext()) {
                    try {
                        arrayList2.add(kx.wzo.valueOf((String) it.next()));
                    } catch (Exception unused) {
                    }
                }
                ArrayList arrayList3 = new ArrayList(Arrays.asList(kx.wzo.values()));
                arrayList3.removeAll(arrayList2);
                if (arrayList3.isEmpty()) {
                    if (!arrayList2.isEmpty()) {
                        Collections.shuffle(arrayList2);
                        r49.Xiu9(null);
                    }
                    if (arrayList2.isEmpty()) {
                        kx.wzo wzoVar = (kx.wzo) arrayList2.get(0);
                        r49.Xiu9(wzoVar.name());
                        Application applicationXkAhn2 = T0.XkAhn();
                        if (applicationXkAhn2 != null && (notificationManager = (NotificationManager) applicationXkAhn2.getSystemService("notification")) != null) {
                            RemoteViews remoteViews4 = new RemoteViews(applicationXkAhn2.getPackageName(), R.layout.pjmj);
                            efluwe.vXMq7.Z6(remoteViews4, wzoVar);
                            RemoteViews remoteViews5 = new RemoteViews(applicationXkAhn2.getPackageName(), R.layout.a4sx);
                            efluwe.vXMq7.Z6(remoteViews5, wzoVar);
                            RemoteViews remoteViews6 = new RemoteViews(applicationXkAhn2.getPackageName(), R.layout.jcua);
                            efluwe.vXMq7.Z6(remoteViews6, wzoVar);
                            Intent intent2 = new Intent(applicationXkAhn2, (Class<?>) Iv6.class);
                            intent2.putExtra(dfxb.NcEpC.MqhAP, wzoVar);
                            intent2.addFlags(67108864);
                            PendingIntent activity2 = PendingIntent.getActivity(applicationXkAhn2, efluwe.Em4De2.DwB.U4kWxy(), intent2, 201326592);
                            String str4 = applicationXkAhn2.getPackageName() + "_local";
                            if (notificationManager.getNotificationChannel(str4) == null) {
                                notificationManager.createNotificationChannel(new NotificationChannel(str4, str4, 4));
                            }
                            boolean zKWK92 = r49.kWK9();
                            ZCjby zCjby2 = new ZCjby(applicationXkAhn2, str4);
                            zCjby2.vvpI.icon = R.mipmap.rh8;
                            zCjby2.n57Py(2, false);
                            zCjby2.n57Py(16, true);
                            zCjby2.vvpI.contentView = remoteViews4;
                            zCjby2.Q6L = remoteViews4;
                            zCjby2.Khh = remoteViews5;
                            if (zKWK92) {
                                remoteViews4 = remoteViews6;
                            }
                            zCjby2.r1 = remoteViews4;
                            zCjby2.yBq(new vxZF(8));
                            zCjby2.VV = activity2;
                            notificationManager.notify(55, zCjby2.DwB());
                            XT.yBq(dfxb.iTm.n9);
                            androidx.work.cCi9TH.Jc5Lb(false);

A9 · 两组本地模板引用#

位置:kx/wzo.java:6–19。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

public enum wzo {
    /* JADX INFO: Fake field, exist only in values array */
    TYPE_JUNK(R.string.ge, R.string.xetp, R.drawable.pcom),
    /* JADX INFO: Fake field, exist only in values array */
    TYPE_DEEP(R.string.s6e7h, R.string.mwie, R.drawable.bu5cm);

    public final int Hw;
    public final int Z6;
    public final int r1;

    wzo(int i, int i2, int i3) {
        this.Z6 = i;
        this.r1 = i2;
        this.Hw = i3;

A10 · 通知清理提示门禁#

位置:nar/MTds1.java:179–198。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void Khh() {
        if (GJh9.Z6()) {
            WeakHashMap weakHashMap = JH.SHWl54;
            if (Boolean.FALSE.equals(mHJDA4.DwB.MqhAP) || !S4V.XJ()) {
                return;
            }
            if (DwB == null) {
                HandlerThread handlerThread = new HandlerThread("NotificationHelper");
                DwB = handlerThread;
                handlerThread.start();
                Z6 = new Handler(DwB.getLooper());
            }
            Handler handler = Z6;
            if (handler == null) {
                return;
            }
            handler.post(new com.applovin.impl.sdk.yMHQ(7));
            K5mJiN.Z6.clear();
        }
    }

A11 · 500ms调度入口#

位置:efluwe/iTm.java:16–29。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    @Override // android.os.Handler.Callback
    public final boolean handleMessage(Message message) {
        if (message.what != 1024) {
            return true;
        }
        long jCurrentTimeMillis = System.currentTimeMillis();
        if (jCurrentTimeMillis - this.Hw >= 500) {
            this.Hw = jCurrentTimeMillis;
            this.r1.execute(new amwf.Em4De2(this, 28));
        }
        Handler handler = this.Z6;
        handler.removeCallbacksAndMessages(null);
        handler.sendEmptyMessageDelayed(1024, 500L);
        return true;

A12 · UsageStats实际查询调用#

位置:amwf/Em4De2.java:247–284。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

            case 28:
                efluwe.iTm itm2 = (efluwe.iTm) obj;
                if (GJh9.yBq() && GJh9.XkAhn() && r49.eXZKj()) {
                    if (!S4V.XJ()) {
                        yA.VV = "";
                        itm2.ZV3aD = null;
                        return;
                    }
                    if (GJh9.yBq()) {
                        if (T0.Z6 == null) {
                            synchronized (T0.class) {
                                try {
                                    if (T0.Z6 == null && (applicationXkAhn = T0.XkAhn()) != null) {
                                        T0.Z6 = (UsageStatsManager) applicationXkAhn.getSystemService("usagestats");
                                    }
                                } finally {
                                }
                            }
                        }
                        UsageStatsManager usageStatsManager = T0.Z6;
                        if (usageStatsManager != null) {
                            long jCurrentTimeMillis = System.currentTimeMillis();
                            long j = jCurrentTimeMillis - 300000;
                            try {
                                UsageEvents usageEventsQueryEvents = usageStatsManager.queryEvents(j, jCurrentTimeMillis);
                                if (usageEventsQueryEvents == null) {
                                    strVV = T0.VV(usageStatsManager, j, jCurrentTimeMillis);
                                } else {
                                    UsageEvents.Event event = new UsageEvents.Event();
                                    String str2 = null;
                                    Object[] objArr2 = false;
                                    while (usageEventsQueryEvents.hasNextEvent()) {
                                        usageEventsQueryEvents.getNextEvent(event);
                                        if (event.getEventType() == 1 && (packageName = event.getPackageName()) != null && !packageName.isEmpty()) {
                                            str2 = packageName;
                                        }
                                        objArr2 = true;
                                    }

A13 · Application发起Referrer连接#

位置:com/phone/cleaner/wafaApps/z3wxv/GZC9.java:168–177。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

            }
            com.phone.cleaner.wafaApps.third.metrics.Em4De2.DwB.n57Py = new kj.MVX(i3);
            if (TextUtils.isEmpty(r49.W2BV())) {
                try {
                    vmuhl.iTm itm = new vmuhl.iTm(this);
                    itm.n57Py(new yR(itm));
                } catch (Throwable unused7) {
                }
            }
            if (yA.Z7IM == null) {

A14 · Referrer成功与noapi回退#

位置:zfxgq/yR.java:474–503。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public void onInstallReferrerSetupFinished(int i) {
        vmuhl.iTm itm = (vmuhl.iTm) this.Z6;
        if (i == 0) {
            try {
                T0.DwB(((Bundle) itm.Z6().Z6).getString("install_referrer"));
                itm.DwB();
                return;
            } catch (Throwable unused) {
                return;
            }
        }
        if (i != 2) {
            return;
        }
        String str = dfxb.NcEpC.ZuKrJ4;
        List list = r49.DwB;
        wzo wzoVarDwB = wzo.DwB();
        String str2 = dfxb.NcEpC.VlOUo;
        wzoVarDwB.getClass();
        wzo.Khh(str2, str);
        XT.DwB.submit(new yL(str, 1));
        if (TextUtils.isEmpty(r49.W2BV())) {
            return;
        }
        if (r49.kWK9()) {
            XT.yBq(dfxb.iTm.VV);
        } else {
            XT.yBq(dfxb.iTm.U4kWxy);
        }
    }

A15 · 来源解析、回退及持久化#

位置:com/phone/cleaner/wafaApps/ask1/T0.java:55–118。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void DwB(String str) {
        String strDecode;
        AtomicReference atomicReference = new AtomicReference(str);
        try {
            if (TextUtils.isEmpty(str)) {
                strDecode = "";
            } else {
                try {
                    strDecode = URLDecoder.decode(str.replaceAll("%(?![0-9a-fA-F]{2})", "%25").replaceAll("\\+", "%2B"), "UTF-8");
                } catch (UnsupportedEncodingException unused) {
                    strDecode = null;
                }
            }
            atomicReference.set(strDecode);
        } catch (Throwable unused2) {
        }
        String str2 = (String) atomicReference.get();
        if (TextUtils.isEmpty(str2)) {
            return;
        }
        String str3 = (String) Z2rB(str2).get(dfxb.NcEpC.Jc5Lb);
        if (TextUtils.isEmpty(str3)) {
            String str4 = dfxb.NcEpC.PjoUBk;
            if (str2.startsWith(str4)) {
                str3 = str4;
            }
        }
        int i = 1;
        if (TextUtils.isEmpty(str3)) {
            String[] strArr = {str2};
            try {
                ArrayList arrayList = new ArrayList();
                Matcher matcher = Pattern.compile("\\\\u[0-9,a-f,A-F]{4}").matcher(strArr[0]);
                while (matcher.find()) {
                    arrayList.add(matcher.group());
                }
                for (int i2 = 0; i2 < arrayList.size(); i2++) {
                    strArr[0] = strArr[0].replace((CharSequence) arrayList.get(i2), String.valueOf((char) Integer.parseInt(((String) arrayList.get(i2)).substring(2, 6), 16)));
                }
            } catch (Throwable unused3) {
            }
            String str5 = strArr[0];
            if (!TextUtils.isEmpty(str5)) {
                str3 = (String) Z2rB(str5).get(dfxb.NcEpC.Jc5Lb);
            }
        }
        if (TextUtils.isEmpty(str3)) {
            str3 = dfxb.NcEpC.AQMhcK;
        }
        List list = r49.DwB;
        wzo wzoVarDwB = wzo.DwB();
        String str6 = dfxb.NcEpC.VlOUo;
        wzoVarDwB.getClass();
        wzo.Khh(str6, str3);
        XT.DwB.submit(new yL(str2, i));
        if (TextUtils.isEmpty(r49.W2BV())) {
            return;
        }
        if (r49.kWK9()) {
            XT.yBq(dfxb.iTm.VV);
        } else {
            XT.yBq(dfxb.iTm.U4kWxy);
        }
    }

A16 · 来源控制的附加原生广告分支#

位置:com/phone/cleaner/wafaApps/ask1/wzo.java:70–99。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void PjoUBk(androidx.lifecycle.YUmngi yUmngi, nprypw.Ac ac, ViewGroup viewGroup, boolean z, boolean z2, vul.yMHQ ymhq) {
        FragmentActivity fragmentActivity;
        if (z2) {
            if (z) {
                if (r49.kWK9()) {
                    int[] iArrZ6 = Z6();
                    Jc5Lb(yUmngi, new vul.SltkD("[IDENTIFIER_REDACTED]", iArrZ6[0], iArrZ6[1]), null, null, null);
                }
            } else if (r49.kWK9()) {
                yUmngi.getClass();
                int[] iArrZ62 = Z6();
                Jc5Lb(yUmngi, new vul.SltkD("[IDENTIFIER_REDACTED]", iArrZ62[0], iArrZ62[1]), null, null, null);
            }
        }
        vul.S4V s4v = new vul.S4V(yUmngi, ac, viewGroup, new GMUToP(ymhq, yUmngi, z2, z));
        s4v.PjoUBk = false;
        s4v.W2BV = false;
        s4v.OR1LX6 = false;
        androidx.lifecycle.YUmngi yUmngi2 = s4v.XkAhn;
        if (yUmngi2 == null || (fragmentActivity = s4v.ZuKrJ4) == null) {
            s4v.PjoUBk(null);
        } else {
            if (!vul.iTm.DwB(fragmentActivity)) {
                s4v.PjoUBk(vul.iTm.DwB);
                return;
            }
            nprypw.Ac ac2 = s4v.Vv84E9;
            s4v.Jc5Lb(ac2.Z6, new rzu.vXMq7(s4v, 7));
            vul.kqr9.DwB.XJ(yUmngi2, (String) ac2.n57Py, s4v);
        }

A17 · 安装卸载通知ID59与来源样式分支#

位置:ft/Ac.java:125–181。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void E5(String str, boolean z) {
        NotificationManager notificationManager;
        try {
            Application applicationXkAhn = T0.XkAhn();
            if (applicationXkAhn != null && com.phone.cleaner.wafaApps.ask1.GJh9.Z6() && (notificationManager = (NotificationManager) applicationXkAhn.getSystemService("notification")) != null) {
                Tt tt = z ? Tt.UNINSTALL : Tt.INSTALL;
                XT.yBq(z ? dfxb.iTm.MqhAP : dfxb.iTm.Hw);
                RemoteViews remoteViews = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.pjmj);
                ejrD64(remoteViews, tt, str);
                RemoteViews remoteViews2 = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.a4sx);
                ejrD64(remoteViews2, tt, str);
                RemoteViews remoteViews3 = new RemoteViews(applicationXkAhn.getPackageName(), R.layout.jcua);
                ejrD64(remoteViews3, tt, str);
                Intent intent = new Intent(applicationXkAhn, (Class<?>) MW9e.class);
                intent.putExtra(dfxb.NcEpC.a2d, z);
                intent.addFlags(67108864);
                PendingIntent activity = PendingIntent.getActivity(applicationXkAhn, Em4De2.DwB.U4kWxy(), intent, 201326592);
                String str2 = applicationXkAhn.getPackageName() + "watch";
                if (notificationManager.getNotificationChannel(str2) == null) {
                    notificationManager.createNotificationChannel(new NotificationChannel(str2, str2, 4));
                }
                boolean zKWK9 = r49.kWK9();
                ZCjby zCjby = new ZCjby(applicationXkAhn, str2);
                Notification notification = zCjby.vvpI;
                notification.icon = R.mipmap.rh8;
                zCjby.n57Py(2, false);
                zCjby.n57Py(16, true);
                notification.contentView = remoteViews;
                zCjby.Q6L = remoteViews;
                zCjby.Khh = remoteViews2;
                if (zKWK9) {
                    remoteViews = remoteViews3;
                }
                zCjby.r1 = remoteViews;
                zCjby.yBq(new vxZF(8));
                zCjby.VV = activity;
                notificationManager.notify(59, zCjby.DwB());
                androidx.work.cCi9TH.Jc5Lb(false);
            }
        } catch (Throwable unused) {
        }
    }

    private final void IpBP() {
    }

    private final void KsSH(float f) {
    }

    public static void ejrD64(RemoteViews remoteViews, Tt tt, String str) {
        int i = tt.Z6;
        int i2 = tt.r1;
        int i3 = tt.Hw;
        remoteViews.setTextViewText(R.id.sDUoUs, S4V.AQMhcK(R.color.c1hiwj, S4V.PjoUBk(i, str), str));
        remoteViews.setTextViewText(R.id.kDneUy, S4V.Jc5Lb(i2));
        remoteViews.setImageViewResource(R.id.vTf, i3);
    }

A18 · 解锁Work继续触发调度辅助器#

位置:com/phone/cleaner/wafaApps/h3cys/ZJX60S.java:21–31。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    @Override // androidx.work.Worker
    public final zcx doWork() {
        long jCurrentTimeMillis = System.currentTimeMillis();
        AtomicLong atomicLong = Z6;
        if (Math.abs(jCurrentTimeMillis - atomicLong.get()) < WebViewScreenCapture.CACHE_TTL_MS) {
            return zcx.DwB();
        }
        atomicLong.set(jCurrentTimeMillis);
        AtomicBoolean atomicBoolean = Ac.MqhAP;
        iTm.DwB.DwB(true);
        return zcx.DwB();

A19 · 默认15秒回调及重排;非固定发送#

位置:fhuzti/Ac.java:18–43。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public final void DwB(boolean z) {
        long jCurrentTimeMillis = System.currentTimeMillis();
        AtomicLong atomicLong = this.r1;
        if (z || Math.abs(jCurrentTimeMillis - atomicLong.get()) >= this.Hw) {
            atomicLong.set(jCurrentTimeMillis);
            SltkD sltkD = this.ZV3aD;
            if (sltkD != null) {
                sltkD.accept(Boolean.valueOf(z));
            }
            Z6();
        }
    }

    public final void Z6() {
        Handler handler = this.Z6;
        handler.removeMessages(1024);
        handler.removeCallbacksAndMessages(null);
        handler.sendEmptyMessageDelayed(1024, this.Hw);
    }

    @Override // android.os.Handler.Callback
    public final boolean handleMessage(Message message) {
        if (message.what == 1024) {
            DwB(false);
            Z6();
        }

A20 · 安装/卸载文案资源#

位置:kx/Tt.java:6–17。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

public enum Tt {
    INSTALL(R.string.sjyv, R.string.xetp, R.drawable.vpqoja),
    UNINSTALL(R.string.c3blt5, R.string.yw, R.drawable.plfz);

    public final int Hw;
    public final int Z6;
    public final int r1;

    Tt(int i, int i2, int i3) {
        this.Z6 = i;
        this.r1 = i2;
        this.Hw = i3;

A21 · 来源标记的实际判定#

位置:com/phone/cleaner/wafaApps/ask1/r49.java:277–282。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static boolean kWK9() {
        String strW2BV = W2BV();
        if (Objects.equals(strW2BV, dfxb.NcEpC.Z7IM)) {
            return true;
        }
        return (TextUtils.isEmpty(strW2BV) || Objects.equals(strW2BV, dfxb.NcEpC.U4kWxy)) ? false : true;

A22 · RemoteViews字段到横幅/展开视图的绑定#

位置:io/vxZF.java:194–207。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

        ((Notification.Builder) this.Hw).setExtras(zCjby.Z2rB);
        ((Notification.Builder) this.Hw).setRemoteInputHistory(null);
        RemoteViews remoteViews = zCjby.Q6L;
        if (remoteViews != null) {
            ((Notification.Builder) this.Hw).setCustomContentView(remoteViews);
        }
        RemoteViews remoteViews2 = zCjby.Khh;
        if (remoteViews2 != null) {
            ((Notification.Builder) this.Hw).setCustomBigContentView(remoteViews2);
        }
        RemoteViews remoteViews3 = zCjby.r1;
        if (remoteViews3 != null) {
            ((Notification.Builder) this.Hw).setCustomHeadsUpContentView(remoteViews3);
        }

本轮新增实现与修复片段#

N1 · 默认桌面/广告FAQ绑定资源#

位置:com/phone/cleaner/wafaApps/wun14/P4Kqf.java:15–52。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    @Override // com.phone.cleaner.wafaApps.base.BaseActivity
    public final void OR1LX6() {
        ViewBinding viewBinding = this.r1;
        if (viewBinding == null) {
            return;
        }
        ((Uvan4Binding) viewBinding).aO7Gf.setOnClickListener(new mJYo(this, 27));
        ((Uvan4Binding) this.r1).mnTjW7.getRoot().setOnClickListener(new NcEpC(this, 23));
        ((Uvan4Binding) this.r1).jlNk1.getRoot().setOnClickListener(new NcEpC(this, 24));
        ((Uvan4Binding) this.r1).c5rfB.getRoot().setOnClickListener(new NcEpC(this, 25));
        ((Uvan4Binding) this.r1).sY8m9.getRoot().setOnClickListener(new NcEpC(this, 26));
        ((Uvan4Binding) this.r1).y6Z.getRoot().setOnClickListener(new NcEpC(this, 27));
        ((Uvan4Binding) this.r1).o2Rsev.getRoot().setOnClickListener(new NcEpC(this, 28));
        ((Uvan4Binding) this.r1).g02B.getRoot().setOnClickListener(new NcEpC(this, 29));
        ((Uvan4Binding) this.r1).u9kI.getRoot().setOnClickListener(new kG8dcx(this, 0));
        ((Uvan4Binding) this.r1).dk064.getRoot().setOnClickListener(new kG8dcx(this, 1));
    }

    @Override // com.phone.cleaner.wafaApps.base.BaseActivity
    public final ViewBinding XJ() {
        return Uvan4Binding.inflate(getLayoutInflater());
    }

    @Override // com.phone.cleaner.wafaApps.base.BaseActivity
    public final void kEt() {
        ViewBinding viewBinding = this.r1;
        if (viewBinding == null) {
            return;
        }
        ((Uvan4Binding) viewBinding).mnTjW7.qe0.setText(getString(R.string.a5it));
        ((Uvan4Binding) this.r1).jlNk1.qe0.setText(getString(R.string.sf2y));
        ((Uvan4Binding) this.r1).c5rfB.qe0.setText(getString(R.string.d2aq));
        ((Uvan4Binding) this.r1).sY8m9.qe0.setText(getString(R.string.ftb5x));
        ((Uvan4Binding) this.r1).y6Z.qe0.setText(getString(R.string.vvy7b));
        ((Uvan4Binding) this.r1).o2Rsev.qe0.setText(getString(R.string.oy5q2));
        ((Uvan4Binding) this.r1).g02B.qe0.setText(getString(R.string.uz02));
        ((Uvan4Binding) this.r1).u9kI.qe0.setText(getString(R.string.j42h));
        ((Uvan4Binding) this.r1).dk064.qe0.setText(getString(R.string.u82fx7));

N2 · 15秒Work自登记与回调链#

位置:com/phone/cleaner/wafaApps/h3cys/JRH13.java:30–68。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public static void DwB() {
        NRADpB nRADpB;
        try {
            Application applicationXkAhn = T0.XkAhn();
            if (applicationXkAhn == null) {
                return;
            }
            try {
                nRADpB = NRADpB.getInstance(applicationXkAhn.getApplicationContext());
            } catch (Throwable unused) {
                nRADpB = null;
            }
            if (nRADpB == null) {
                return;
            }
            nRADpB.enqueueUniqueWork("[IDENTIFIER_REDACTED]", IpCfI.Z6, (MTds1) ((mJYo) new mJYo(JRH13.class).AQMhcK(15000L, TimeUnit.MILLISECONDS)).n57Py());
        } catch (Throwable unused2) {
        }
    }

    @Override // androidx.work.Worker
    public final zcx doWork() {
        long jCurrentTimeMillis;
        AtomicLong atomicLong;
        try {
            jCurrentTimeMillis = System.currentTimeMillis();
            atomicLong = Z6;
        } catch (Throwable unused) {
        }
        if (Math.abs(jCurrentTimeMillis - atomicLong.get()) < 15000) {
            SltkD sltkDDwB = zcx.DwB();
            DwB();
            return sltkDDwB;
        }
        atomicLong.set(jCurrentTimeMillis);
        AtomicBoolean atomicBoolean = Ac.MqhAP;
        iTm.DwB.DwB(false);
        DwB();
        return zcx.DwB();

N3 · Handler初始化及解锁/包事件注册#

位置:efluwe/RP.java:468–510。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

            case 9:
                zfxgq.yR yRVar = (zfxgq.yR) this.r1;
                final fhuzti.Ac ac6 = fhuzti.iTm.DwB;
                ac6.r1.set(System.currentTimeMillis());
                ac6.Hw = 15000L;
                ac6.ZV3aD = (ecjnwa.SltkD) yRVar.Z6;
                ac6.Z6();
                Application applicationXkAhn = T0.XkAhn();
                if (applicationXkAhn != null) {
                    try {
                        IntentFilter intentFilter2 = new IntentFilter();
                        intentFilter2.addAction("android.intent.action.USER_PRESENT");
                        yA.Rt4(applicationXkAhn, new Z294(), intentFilter2, 2);
                        break;
                    } catch (Throwable unused5) {
                    }
                    Runnable runnable = new Runnable() { // from class: fhuzti.NcEpC
                        @Override // java.lang.Runnable
                        public final void run() {
                            int i13 = i7;
                            Ac ac7 = ac6;
                            switch (i13) {
                                case 0:
                                    ac7.DwB(false);
                                    break;
                                case 1:
                                    ac7.DwB(false);
                                    break;
                                case 2:
                                    ac7.DwB(false);
                                    break;
                                default:
                                    ac7.DwB(false);
                                    break;
                            }
                        }
                    };
                    IntentFilter intentFilter3 = new IntentFilter();
                    intentFilter3.addAction("android.intent.action.PACKAGE_ADDED");
                    intentFilter3.addAction("android.intent.action.PACKAGE_REMOVED");
                    intentFilter3.addDataScheme("package");
                    try {
                        yA.Rt4(applicationXkAhn, new a4(runnable, i4), intentFilter3, 2);

N4 · 强制/普通检查与重排#

位置:fhuzti/Ac.java:18–43。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

    public final void DwB(boolean z) {
        long jCurrentTimeMillis = System.currentTimeMillis();
        AtomicLong atomicLong = this.r1;
        if (z || Math.abs(jCurrentTimeMillis - atomicLong.get()) >= this.Hw) {
            atomicLong.set(jCurrentTimeMillis);
            SltkD sltkD = this.ZV3aD;
            if (sltkD != null) {
                sltkD.accept(Boolean.valueOf(z));
            }
            Z6();
        }
    }

    public final void Z6() {
        Handler handler = this.Z6;
        handler.removeMessages(1024);
        handler.removeCallbacksAndMessages(null);
        handler.sendEmptyMessageDelayed(1024, this.Hw);
    }

    @Override // android.os.Handler.Callback
    public final boolean handleMessage(Message message) {
        if (message.what == 1024) {
            DwB(false);
            Z6();
        }

N5 · 待发事件模型的边界#

位置:com/phone/cleaner/wafaApps/helper/pushmanage/PendingPush.java:4–10。下列为这个范围的反编译阅读片段;复杂方法的其余部分仍须回到源文件,不能把片段称为完整原始源码。

public class PendingPush {
    public String pushType;
    public WatchPackage watchPackage;

    public PendingPush(String str, WatchPackage watchPackage) {
        this.pushType = str;
        this.watchPackage = watchPackage;

六专题导航#

专题 用途
产品功能与商业化分析 业务任务、页面、广告与来源链
权限与后台机制拆包报告 声明、调用、实际授权和功能边界
保活与拉活反编译代码册 机制图、主链步骤、代码片段与控制流修复
拉活通知规则与文案全量报告 触发、状态、频控、动作、候选和多语言全文
样本与证据索引 版本、split、签名、定位与证据范围
真机动态验证与后台存活报告 真实操作、后台矩阵、观察与未执行项
竞品拆包报告库 · 逆向结论按证据等级阅读