public void addToSmartFreezeList(List<AppInfo> appInfos, boolean alsoAddToPkgSet, Consumer<AppInfo> onProgress, Consumer<Boolean> onComplete) {
        ContextExtKt.withThanos(getApplication(), thanosManager -> {
            disposables.add(Completable.fromRunnable(() -> {
                PackageSet packageSet = pkgSetId == null ? null : thanosManager.getPkgManager().getPackageSetById(pkgSetId, false, true);
                CollectionUtils.consumeRemaining(appInfos, appInfo -> {
                    onProgress.accept(appInfo);
                    thanosManager.getPkgManager().setPkgSmartFreezeEnabled(Pkg.fromAppInfo(appInfo), true);
                    if (alsoAddToPkgSet && packageSet != null && !packageSet.isPrebuilt()) {
                        thanosManager.getPkgManager().addToPackageSet(Pkg.fromAppInfo(appInfo), pkgSetId);
                    }
                    // Give system a rest
                    try {
                        Thread.sleep(200);
                    } catch (InterruptedException ignored) {
                    }
                });
            }).observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.io()).subscribe(() -> onComplete.accept(true)));
            return null;
        });
    }
Null means we load all pkgs
android/app/src/main/java/now/fortuitous/thanos/power/SmartFreezeAppsViewModel.java